Intro 1:
Cuando uds tienen un problema (o duda) ¿qué método usan para resolverl@? Si la respuesta es "depende del problema o duda", entonces les pregunto cómo determinan eso, o sea, deben de tener una especie de diagrama de flujo con el cual determinar qué "tipo" de problema es y qué "tipo" de solución van a usar ¿Cómo es dicho diagrama? No tiene por qué ser una respuesta exacta, igual me puede ayudar.
Intro 2:
Quisiera saber si uds tienen alguna clasificación hecha o más o menos hecha, o si conocen alguna/s, gracias. Yo tenía una pero hace un par de meses dejé de verle sentido, y ahora tras pensarlo bastante he ideado otra pero siento que podría ser demasiado simple. Se las cuento.
--------------------------------------------------------------------------------------------------------
Mi clasificación actual:
(pueden opinar sobre ella y/o usarla de base o recordatorio para decir las vuestras).
Nota: Por ahora sólo me interesan problemas en que se conozcan las variables (la solución podría no conocerse, es una excepción) y que no haya azar.
1- Solucionables con 1 acción.
Simplemente se describe la situación, 1era acción a usar, (1) se usa, si resuelve el problema ya está, sino se varía la acción, si es necesario se resetea la situación, y se repite el proceso desde (1).
Pseudocódigo:
Descripción de la situación.
1era acción a usar.
(1)
Usar acción
Si resuelve el problema...
___Fin
sino...
___Variar acción.
Si es necesario resetear la situación...
___Resetearla.
Ir a (1).
Ejemplo: Encontrar número entero, primo y simétrico de más de 2 cifras.
Nota: Una acción no puede ser generar una lista. Sí puede ser agregarle elementos a una, por ejemplo, pero lo otro no por lo que digo aquí:
http://sofosagora.net/filosofia-gene...ble-t6356.html
"Ahora, supongamos que los 2 números a resumir pudieran ser cualquiera.
En tal caso, hacer un resumen es imposible ¿no?"
Si los números fuesen limitados se podría, pero igual parece que no conviene (ver siguiente tipo).
Se aplica en todo tipo de problema.
Nota2: La variedad de acciones podría ser limitada. En dicho caso, antes de variarla hay que ver si quedan opciones.
Se aplica en todo tipo...
Nota3: El resto de los tipos de problemas no son solucionables en una acción.
2- Toda acción útil es reconocible aunque no logre el objetivo final.
El método de solución es muy parecido al anterior.
Pseudocódigo:
Descripción de la situación.
1era acción a usar.
(1)
Usar acción
Si es útil...
___Agregarla en la lista.
___Si el problema está resuelto...
______Fin (y mostrar lista).
___sino si hay que resetear la acción...
______Se reseta la acción
___Ir a (1).
sino...
___Variar acción.
Si es necesario volver a la situación anterior...
___Volver.
Ir a (1).
Ejemplo: Generar lista de números enteros, primos y simétricos de hasta 3 cifras.
Cada acción útil llevaría a agregar un número en la lista. No confundir la lista de acciones útiles con la lista que se quiere generar, pero generalmente son iguales.
3- Ninguna acción útil es reconocible si no logra el objetivo final.
Ninguna situación destinada a falla es reconocible (sólo se reconocen las fallas en sí) si no se prueba cada posible acción en todas las posibles consecuencias.
Creo que el 2ndo punto ocurre cuando la descripción de lo que se quiere lograr es pobre, pero que es normal que así sea. El proceso de solución no lo recuerdo tanto como para decirlo en pseudocódigo y no quiero, sólo diré que graba cómo llega a cada situación y cuando logra el objetivo se fija y dice cómo llegó. Quizá es el mismo proceso que el backtracking, no sé.
Existen otros que serian las variaciones faltantes de los 2 puntos que mencioné:
Reconocibilidad de acciones útiiles: Siempre/a veces/nunca.
Reconocibilidad de situaciones destinadas a falla: Siempre/a veces/nunca.
...pero, creo que siempre encajan en el tipo 2 o 3 con pequeñas diferencias.