Un ejemplo es Superopt, una herramienta que genera “la secuencia de instrucciones más corta para una función determinada”. Por supuesto, la longitud de la secuencia que puede generar es bastante pequeña.
Del mismo modo, puede usar la programación genética (consulte, por ejemplo, Una guía de campo para la programación genética) para generar código, dado como entrada una forma de probar la salida y decir qué tan cerca está de su resultado deseado. Los resultados pueden ser mixtos, pero esto se acerca mucho a “escribir los casos de prueba y generar automáticamente el código”. La programación genética también se puede utilizar para el diseño de circuitos, donde ha mostrado algunos éxitos.
Se puede usar un lenguaje completo que no sea de Turing llamado Tracery para generar texto, incluidos gráficos SVG, y se usa para muchos bots de Twitter. Usé Tracery para generar la salida de Tracery para Mark’s MetaArtbot, un artbot que genera artbots.
- ¿Habrá diferentes algoritmos para implementar la inserción y eliminación de una estructura de datos como b árboles?
- Además del algoritmo de tallado de costura, ¿qué otros algoritmos se pueden usar para Image Resizer?
- ¿Cómo debo comenzar a aprender estructuras de datos y algoritmos? ¿Cuáles son algunos buenos libros, cursos en línea e idiomas preferidos?
- Además de la programación competitiva, ¿cómo aprender algoritmos?
- ¿Dónde es útil el conocimiento de las estructuras de datos en Swift?
Por lo general, uno también incluye compiladores y traducción automática de programas en esta categoría, a pesar de que generan “el mismo” algoritmo que la entrada. Pero esta traducción puede ser difícil de entender para un humano, por ejemplo, compilar código MATLAB en un FPGA.