¿Qué es una duda?

Responder
Avatar de Usuario
Tachikomaia
Mensajes: 15846
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

¿Qué es una duda?

Mensaje por Tachikomaia »

Pueden ver esto que está relacionado:
https://foro.elhacker.net/programacion_ ... 202.0.html

Mirando cosas que escribí hace tiempo, recordé que había empezado a contar las variables de las dudas o problemas, de un modo más o menos sencillo. Creo que toda duda o problema tiene variables, me refiero a que son estructuras cuyos elementos y formas varían según la duda o problema.

Tal vez estoy equivocado, y escucho ideas alternativas pero más bien lo que estoy queriendo es que me ayuden a ver mejor esas variables, comprender mejor qué es una duda en ese sentido.

Supongamos que un niño sólo sabe contar hasta 10, y se pregunta qué números van después, esa es una duda: ... > 10: true, significa que hay que colocar algo en los ..., tal que la expresión al ser evaluada resulte true. Parece que esta duda, que es una de las más sencillas, tiene 4 variables:
1- Un elemento que debe definirse.
2- Un símbolo comparador definido.
3- Un número.
4- El resultado de una evaluación.
Pero hay 4 más: En cuanto a si esas cosas son conocidas o no. En este caso sí, pero un problema podría ser así:
Asigna un número en los ... tal que se cumpla la condición, en que X es una incógnita: ... > X: true
Eso implica que en cierta medida debes adivinar X, pero no es la cuestión. Esto en la práctica sería algo como "En este tarro hay cierta cantidad de monedas. La persona que diga la cantidad más parecida, pero mayor, se las lleva". Pero el problema no es necesario que pueda existir en la práctica, si puede ser planteado por una computadora y es válido entonces... es un problema, válido, yo que sé. Asi, un problema como: ... X Y: Z es posible, todo es una incógnita salvo lo que debe definirse.

¿Y si fuese ... ... X: Y? Hay 2 cosas a definir, no deja de ser un problema, o duda: ¿Qué 2 elementos encajarían en esa expresión con incógnitas?

¿Y si fuese ... ... ...: ...? Parece una duda tonta pero sí es una duda: ¿Qué elementos habría que poner ahí para formar una expresión? De hecho no cualquiera sirve, no sirve poner por ejemplo: > 9 false: 1

Pero, en relación con el link que puse, yo quisiera que las dudas a plantear fuesen útiles de resolver, y eso de definir cosas en una expresión totalmente indefinida no parece algo útil de hacer. Estaba haciendo un programa que definía cosas asi para que las expresiones se cumplan y lo intentaba hacer más complejo, pero me pareció inútil. Es como que, por más que complique esos problemas, poniendo más incógnitas, haciendo más largas las expresiones y agregando cosas a definir, los problemas que se resuelven son siempre del mismo tipo, inútiles. ¿Cómo avanzo?

Por otro lado, hay problemas que no son tanto sobre definir algo, sino sobre ordenar, que es definir un orden sí, pero estructuralmente es otra cosa, no es una expresión en que debe ponerse un número y ya.
Son problemas poco útiles, o básicos, de resolver también, pero meh, debo tenerlos en cuenta ¿no?
Son algo como:
Lista:
Variable1
Variable2
... < ...: true
Ese sería el más simple, digo. La diferencia con los otros es que no se puede poner cualquier cosa en los ..., sino 1 de las variables de la lista, y sin repetir. Si fuesen más elementos, es así:
Lista:
Elementos.
Lista ordenada:
...
...
etc

El orden que se quiere podría ser inverso, sí, o podría ser que se quiera que estén totalmente sin orden.

No veo mucha diferencia entre duda y problema, por cierto.

Y al parecer otra cosa esencial en eso es que hay algo desconocido a definir, que encajar en otra cosa.

Bueno, yo me pregunto qué tan correcta es mi perspectiva y cómo la amplío porque algo se me está escapando porque como dije no es cuestión de aumentar lo que debe definirse, las incógnitas y lo que debe ordenarse, porque hacerlo no me saca de hacer cosas poco útiles.

Entiendo que las dudas pueden implicar datos. Pero, como han visto, he descrito las dudas, aunque sencillas, de una forma más o menos matemática, clara ¿no? U orientada a programación. Quiero pasar, poco a poco, a los siguientes niveles de complejidad, ver dudas más complejas, pero planteadas más o menos como las planteé, o mejor. ¿Cómo es eso?

¿Qué otro tipo de dudas hay? No sé si tiene sentido preguntar eso, pero en las dudas que puse hay que definir algunas cosas una y otra vez hasta que sirva, en teoría se pueden resolver asignando 1 vez, una o varias cosas.
En otro tipo de dudas que analicé, en esencia es lo mismo pero es un poco distinto, cosas como: Echar tarros de agua a un tarro más grande hasta llenarlo, dar golpes a un enemigo hasta vencerlo, etc. Es lo mismo porque son muchas acciones a definir, pero no es lo mismo porque la situación va cambiando.

Hace tiempo hacía una lista de ciertas variables, aunque algunas relacionadas con cómo resolver el problema no con el problema en sí, la pongo pero pareciera como si en esto yo no avanzara, que todo lo que logro en esto es inútil:
- Cantidad inicial de variables tipo Entero de la Situación.
- Mínima cantidad de variables tipo Entero de la Situación.
- Máxima cantidad de variables tipo Entero de la Situación.
- Posibles cantidades de variables tipo Entero de la Situación.
- Cantidad inicial de variables tipo Decimal de la Situación.
- Mínima cantidad de variables tipo Decimal de la Situación.
- Máxima cantidad de variables tipo Decimal de la Situación.
- Posibles cantidades de variables tipo Decimal de la Situación.
- Cantidad inicial de variables tipo Texto de la Situación.
- Mínima cantidad de variables tipo Texto de la Situación.
- Máxima cantidad de variables tipo Texto de la Situación.
- Posibles cantidades de variables tipo Texto de la Situación.
- Cant inicial de rangos de valores de las vars de la Situación.
- Mínima cant de rangos de valores de las vars de la Situación.
- Máxima cant de rangos de valores de las vars de la Situación.
- Posibles cants de rangos de valores de las vars de la Sit.
- Mínimo rango inicial de valores de las vars de la Situación.
- Máximo rango inicial de valores de las vars de la Situación.
- Mínimo rango de valores de las variables de la Situación.
- Máximo rango de valores de las variables de la Situación.
20

- Cantidad inicial de partes tipo Entero del Candidato.
- Mínima cantidad de partes tipo Entero del Candidato.
- Máxima cantidad de partes tipo Entero del Candidato.
- Posibles cantidades de partes tipo Entero del Candidato.
- Cantidad inicial de partes tipo Decimal del Candidato.
- Mínima cantidad de partes tipo Decimal del Candidato.
- Máxima cantidad de partes tipo Decimal del Candidato.
- Posibles cantidades de partes tipo Decimal del Candidato.
- Cantidad inicial de partes tipo Texto del Candidato.
- Mínima cantidad de partes tipo Texto del Candidato.
- Máxima cantidad de partes tipo Texto del Candidato.
- Posibles cantidades de partes tipo Texto del Candidato.
- Cant inicial de rangos de valores de las partes del Candidato.
- Mínima cant de rangos de valores de las partes del Candidato.
- Máxima cant de rangos de valores de las partes del Candidato.
- Posibles cants de rangos de valores de las partes del Cand.
- Mínimo rango inicial de valores de las partes del Candidato.
- Máximo rango inicial de valores de las partes del Candidato.
- Mínimo rango de valores de las partes del Candidato.
- Máximo rango de valores de las partes del Candidato.
20

- Modo en que varían las partes del Candidatos.
1

Cosas que pueden agregarse (en algunos casos ya está agregado):
Cantidad inicial de
Complejidad inicial de
Posibles mínima cantidad de
Posibles máxima cantidad de
Máximo mínimo de
Mínimo máximo de
Posibles cantidades de

Cosas que tenía de antes:
- Cantidad inicial de Conds a chequear antes de aplicar al Cand.
- Mínima cantidad de Conds a chequear antes de aplicar al Cand.
- Máxima cantidad de Conds a chequear antes de aplicar al Cand.
- Posibles cantidades de Conds a chequear antes de aplicar al C.

- Mínima complejidad de las Condiciones de la aplicación del C.
- Máxima complejidad de las Condiciones de la aplicación del C.
- Posibles cants de complejs d las Conds q los Cands deben cmplr.
6

- Mínima cantidad de modificaciones al aplicar al Candidato.
- Máxima cantidad de modificaciones al aplicar al Candidato.
- Posibles cantidades de modificaciones al aplicar el Candidato.
- Mínima complejidad de las modificaciones al aplicar al Cand.
- Máxima complejidad de las modificaciones al aplicar al Cand.
- Posibles cantidades de complejidades de mods al aplic al Cand.
6

- Mínima cantidad de conds a chequear antes de aplicar Efectos.
- Máxima cantidad de conds a chequear antes de aplicar Efectos.
- Posibles cantidades de conds a chequear antes de aplicar Efs.
3

- Mínima cantidad de Efectos.
- Máxima cantidad de Efectos.
- Posibles cantidades de Efectos.
- Mínima complejidad de los Efectos.
- Máxima complejidad de los Efectos.
- Posibles cantidades de complejidades de los Efectos.
6

- Complejidad del Azar (0 es que no hay).
1

- Rivales que deben aprender (si sus situaciones son distintas).
1

- Mínima cantid de Aplicaciones requeridas para resolver la duda.
1

- Complejidad de las Pistas (0 es que no hay).
1

- Mínima cantidad de Condiciones que los Cands deben cumplir.
- Máxima cantidad de Condiciones que los Cands deben cumplir.
- Posibles cantidades de Condiciones que los Cands deben cumplir.
- Mínima complejidad de las Conds que los Cands deben cumplir.
- Máxima complejidad de las Conds que los Cands deben cumplir.
- Posibles cants de complejs d las Conds q los Cands deben cmplr.
6

Si algo es desconocido está dentro de que es complejo.
Le envío un mensaje a Nil a ver si aparece, él parecía saber más que yo de estos temas.
Imagen
Avatar de Usuario
Dr. Manhattan
Mensajes: 330
Registrado: 10 Abr 2011, 16:04
Contactar:

Re: ¿Qué es una duda?

Mensaje por Dr. Manhattan »

Reflexionando sobre tu planteamiento

Primero, me gustaría destacar que tu análisis se centra en la idea de que todo problema o duda puede descomponerse en variables o incógnitas que deben ser resueltas o definidas para llegar a una solución. Esto es correcto y es un enfoque que se utiliza en diversas disciplinas, desde la resolución de problemas matemáticos hasta la programación.

Sin embargo, has notado que simplemente aumentar la cantidad de incógnitas o complejidad aparente no necesariamente lleva a problemas más útiles o significativos. Esto es porque la utilidad o relevancia de un problema no está necesariamente en su complejidad, sino en su contexto y en las habilidades que desarrolla o los conocimientos que aporta.

Ampliando la perspectiva
  1. Tipos de Problemas: Existen diferentes tipos de problemas que no se limitan a la definición de variables o la comparación directa de valores:
    1. Problemas de optimización: Aquí no solo defines variables, sino que buscas la mejor solución posible dadas ciertas restricciones. Ejemplo: "¿Cuál es la mejor ruta para visitar varias ciudades, minimizando la distancia total recorrida?".
    2. Problemas de diseño: Estos implican la creación de algo nuevo dentro de un conjunto de restricciones o condiciones.
    3. Problemas de interpretación: Estos requieren comprender un conjunto de datos o información y extraer conclusiones significativas.
    4. Problemas heurísticos: No siempre hay una solución clara, y se requiere de aproximaciones o soluciones "buenas" pero no perfectas.
  2. Complejidad del problema: La complejidad de un problema no solo depende del número de incógnitas, sino de la interrelación entre ellas y las restricciones que se imponen. Un problema puede ser sencillo en términos de número de variables, pero altamente complejo en su resolución debido a las interacciones entre estas.
  3. Contexto y Aplicación: Un problema o duda se vuelve útil cuando se sitúa en un contexto relevante, ya sea práctico (resolver un problema del mundo real) o teórico (desarrollar una mejor comprensión de un concepto). Esto es clave para que el problema no solo sea una estructura matemática, sino que tenga una aplicación o significado.
  4. Dinámica del Problema: Como mencionas, en algunos problemas, la situación cambia con cada paso que se da. Este es un aspecto crítico en problemas más avanzados, como en la programación dinámica, teoría de juegos o problemas de simulación, donde las decisiones afectan el estado futuro del sistema.
  5. Abstracción y Generalización: Una forma de avanzar es empezar a ver patrones en los problemas que has resuelto y abstraer esos patrones para aplicarlos en otros contextos. Esto no solo hace que los problemas sean más interesantes, sino que también te permite desarrollar herramientas generales para resolver una clase de problemas.
  6. Problemas de Conocimiento Incompleto: Como en los ejemplos que diste sobre adivinar X o definir elementos en una expresión, muchas veces no tienes toda la información disponible. Esto introduce un elemento de incertidumbre y requiere la elaboración de estrategias basadas en la probabilidad, estadística, o el uso de heurísticas.
Ejemplos para expandir el enfoque
  1. Problema de Ruta Óptima (Traveling Salesman Problem):
    1. Variables: Conjunto de ciudades, distancias entre ellas.
    2. Incógnitas: El orden óptimo para visitar cada ciudad.
    3. Restricciones: Minimizar la distancia total.
    Este problema es simple en su planteamiento pero altamente complejo en su resolución.
  2. Problema de Simulación (Juego de la Vida de Conway):
    1. Variables: Estados de las células (vivas o muertas).
    2. Incógnitas: Qué patrón se forma después de ciertos pasos.
    3. Dinámica: Cada estado cambia según reglas simples pero con resultados impredecibles.
  3. Problemas con Estrategia Adaptativa:
    En estos, como en los juegos o situaciones de decisión (ajedrez, por ejemplo), la solución no es fija y depende de la acción del "oponente" o del entorno, lo que añade una capa de complejidad considerable.
Conclusión

Tu enfoque actual es sólido, pero puede ser expandido explorando problemas que implican más que definir variables o establecer órdenes simples. Considera involucrar elementos como la optimización, el diseño, la interpretación de datos, y la resolución adaptativa o heurística. A medida que te enfrentas a estos nuevos tipos de problemas, tu perspectiva sobre lo que constituye una duda o problema útil y significativo también se expandirá, dándote nuevas herramientas y enfoques para resolverlos.
Spoiler: show
Imagen
Es indicativo de una mente bien formada el ser capaz de analizar una idea sin aceptarla ni rechazarla.
Avatar de Usuario
Tachikomaia
Mensajes: 15846
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: ¿Qué es una duda?

Mensaje por Tachikomaia »

Dr. Manhattan escribió: 03 Sep 2024, 22:31Problemas de optimización: Aquí no solo defines variables, sino que buscas la mejor solución posible dadas ciertas restricciones. Ejemplo: "¿Cuál es la mejor ruta para visitar varias ciudades, minimizando la distancia total recorrida?".
Lo pensaré, pero ese problema en particular lo han estudiado muchos, no siento que me vaya a llevar a algo distinto.
Problemas de diseño: Estos implican la creación de algo nuevo dentro de un conjunto de restricciones o condiciones.
Buscaré ejemplos ¿cuales se te ocurren?
Problemas de interpretación: Estos requieren comprender un conjunto de datos o información y extraer conclusiones significativas.
No le veo mucho sentido... Sí es bueno que la máquina pueda interpretar bien lo que se le dice, pero en mi caso prefiero aprender a decirle las cosas de modo que las entienda. Si se le dicen cosas de modo ambiguo, confuso, etc, es problema de quien se las dice y no tengo interés en resolver geroglíficos, aquí he visto usuarios que los hacen, ya intenté resolverlos pero ya no le veo sentido.
No siempre hay una solución clara, y se requiere de aproximaciones o soluciones "buenas" pero no perfectas.
Cierto, aunque es cuestión de cambiar en el programa el objetivo a cumplir. No, en algunos casos es crear un sistema de evaluación de cuan buena es la situación a la que se llega, pero eso me parece subjetivo...
Un problema o duda se vuelve útil cuando se sitúa en un contexto relevante, ya sea práctico (resolver un problema del mundo real)
Bien, pero los reales suelen ser difíciles de resolver, implican muchas variables, muchas veces desconocidas. Por ejemplo mi tía quiere viajar pero no me ha dicho de ir a un cibercafé para ver sitios que le interesen, así que estoy como un idiota dedicando tiempo a tomar fotos de sitios de Internet para mostrarle, lo cual cuesta si son a color. ¿Qué pasa en su cererbro que no es capaz de entender que es mejor que vaya a un cibercafé si tanto le interesa cómo se llama el lago de un sitio o a dónde va cierto bus de cierto sitio? ¿cómo se le hace entender?
o teórico (desarrollar una mejor comprensión de un concepto).
¿Ejemplo?
Abstracción y Generalización: Una forma de avanzar es empezar a ver patrones en los problemas que has resuelto y abstraer esos patrones para aplicarlos en otros contextos. Esto no solo hace que los problemas sean más interesantes, sino que también te permite desarrollar herramientas generales para resolver una clase de problemas.
Había olvidado eso, pero lo que sirve para uno no necesariamente sirve para otro. Además si los problemas son poco útiles de resolver entonces tampoco parece útil encontrar la solución para todos, no sé, quiero usar fuerza bruta. Tampoco es fácil indicar cuales son las posibles soluciones generales...
Problema de Ruta Óptima (Traveling Salesman Problem):
  1. Variables: Conjunto de ciudades, distancias entre ellas.
  2. Incógnitas: El orden óptimo para visitar cada ciudad.
  3. Restricciones: Minimizar la distancia total.
Este problema es simple en su planteamiento pero altamente complejo en su resolución.
Creo que es más complejo, hay rutas, no es que haya una ruta entre cada ciudad, no es que desde cada una se pueda ir a cualquier otra, sino el problema parece fácil de resolver. Voy a consultar por las dudas.
Los que me interesan en este sentido son los de evitar obstáculos, como usan las IA en videojuegos, por ejemplo en Age of Empires los soldados deben buscar el modo más rápido de llegar a donde se les indique, y entre medio puede haber árboles, agua, etc.
Problema de Simulación (Juego de la Vida de Conway):
  1. Variables: Estados de las células (vivas o muertas).
  2. Incógnitas: Qué patrón se forma después de ciertos pasos.
  3. Dinámica: Cada estado cambia según reglas simples pero con resultados impredecibles.
No le veo sentido... Si tiene azar, no se puede prever. Si no, es simplemente ver qué pasa, para preever habría que elaborar algo matemático, no sé de eso, es medio como: ¿Cual es el número X en la serie de Fibonacci?
Problemas con Estrategia Adaptativa:
En estos, como en los juegos o situaciones de decisión (ajedrez, por ejemplo), la solución no es fija y depende de la acción del "oponente" o del entorno, lo que añade una capa de complejidad considerable.
Los tengo en mente pero por motivos que no entiendo no he llegado a ese grado de complejidad.
Imagen
Avatar de Usuario
Tachikomaia
Mensajes: 15846
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: ¿Qué es una duda?

Mensaje por Tachikomaia »

Imagen
Responder