Programa mis teorías de AGI en Haskell. ¿Por qué?
Los lemas de algunos lenguajes de programación son: “C está diseñado para un alto rendimiento”. “Java está diseñado para aplicaciones multiplataforma”. “Lisp está diseñado para la metaprogramación”. El lema de Haskell es: “Haskell está diseñado para problemas difíciles”. Los sistemas de IA son problemas difíciles.
Me gusta Haskell debido a su pureza, velocidad relativamente buena, falta de errores, paralelismo, concurrencia múltiple segura, sistema de tipo rico, tipos de datos algebraicos generalizados (GADT), facilidades de metaprogramación, lenguajes específicos de dominio (DSL) y matemáticas abstractas. Además, ghci es bueno. La pureza funcional y el fuerte tipeo estático de Haskell garantizan que nuestro código AI funcionará de maravilla en la primera ejecución, a menos que tengamos algún error lógico o matemático en nuestro modelo matemático de inteligencia artificial.
- ¿Podemos usar un algoritmo genético para desarrollar un modelo de la neocorteza y luego dejar que esto aprenda sobre su entorno y se vuelva inteligente?
- ¿Por qué Alemania no crea empleados con inteligencia artificial para reemplazar a los inmigrantes?
- ¿Cuál es la forma más fácil de entender BFS en Inteligencia Artificial? Con ejemplo.
- ¿Por qué se llama así el aprendizaje residual profundo?
- ¿Te gustan los robots?
Además, los sistemas modernos de IA se basan en redes altamente multidimensionales que aprenden patrones, autoorganizan el conocimiento y aprovechan la experiencia en tiempo real. Eso crea muchos problemas de concurrencia múltiple que son un verdadero dolor de cabeza para depurar en lenguajes de programación imperativos con estado.
En Haskell, en su lugar, definimos las estructuras de datos y los estados evolucionan a través de asignaciones de direcciones de memoria anteriores a diferentes direcciones de memoria. De esa manera, los problemas de concurrencia simplemente no existen. El estado evoluciona de una variable a una variable diferente. No hay direcciones de memoria compartida como C o Java.
Hoy en día, los sistemas de inteligencia artificial DEBEN ser adaptativos, metaprogramables, versátiles y capaces de aprender de big data. Tales características solo se logran mediante redes con estado, entrelazadas y holísticas. Los sistemas de inteligencia artificial DEBEN tratar y aprender de sistemas complejos. Cuando los sistemas y sus datos son complejos, se vuelven difíciles de depurar y, por lo tanto, necesitamos programar en lenguajes de programación puramente funcionales como Haskell que prometen producir código elegante que funcione la primera vez que se ejecute. Esta pregunta surge:
¿Cómo programar redes AI (gráficas) con estado y entrelazadas en lenguajes de programación sin estado y modulares como Haskell (árboles)?
https://www.facebook.com/notes/j…