En un sentido personal, creo que un algoritmo no se inventa, se descubre. Si hay un problema hay una solución. Más correctamente puede haber muchas soluciones. Al igual que la física, la química y otras ciencias. El algoritmo no es más que una solución paso a paso a un problema. En casos muy raros, no existe una solución a un problema.
Siento que el “enfoque” es importante para obtener una solución. La única razón por la que no hay una solución a una pregunta es porque nadie ha pensado en un enfoque particular antes. Al igual que la prueba de primitividad AKS aquí.
Respondiendo la pregunta directamente. Puede usar el método más común, la fuerza bruta o el método de prueba y golpe para ver si el algoritmo obtiene la respuesta correcta como la del problema de satisfacción booleana. O puede utilizar algunos enfoques como codicioso, programación dinámica, aleatorización, aproximación, etc. Ver fuente Introducción a los algoritmos | La prensa del MIT. O puede crear un enfoque completamente nuevo que podría no serle útil pero que ayudará a otros a llegar a sus soluciones. Pero la parte más importante es no crear un algoritmo, sino obtener una mejor complejidad, esa es una historia diferente.
Piensa diferente de los demás para crear algo nuevo.
- ¿Esto ilustra el problema de detención?
- ¿De qué manera el trabajo de Turing en las máquinas de Turing realmente influyó significativamente en el desarrollo histórico de la tecnología informática?
- En el problema del vendedor ambulante, ¿puede el vendedor regresar al nodo inicial?
- ¿Cuáles son algunos de los conceptos más interesantes de las matemáticas?
- ¿Cuál es la diferencia entre el cerebro humano y las supercomputadoras?