¿Cuáles son los beneficios de un lenguaje de programación funcional cuando se usa en inteligencia artificial?

Desde mi experiencia, el uso de la programación funcional le permite preocuparse por lo que está haciendo, no por cómo lo va a hacer. Los lenguajes de programación imperatice de bajo nivel (C, C ++, Ada, etc.) son excelentes para cuando sabes lo que estás haciendo y estás tratando de hacerlo funcionar bien y realmente rápido. Preocuparse por las pérdidas de memoria o hacer la matriz del tamaño adecuado lo está distrayendo de resolver sus problemas.
Además, las características del lenguaje como los átomos permiten que los datos se pasen de una manera simple y fácil, sin tener que declarar cosas como enumeraciones y tal primero.
Las listas, la característica más importante en un lenguaje llamado Lisp ( Lis t P rocessing) permiten hacer las cosas de una manera que los lenguajes imperativos no permiten.
Por ejemplo, cuando estaba haciendo una IA de juego de Damas en Racket sin usar árboles de juego, pasé los movimientos disponibles en una lista de sintaxis ((espacio actual) (1) (2) (3) (4)). El espacio actual es solo las coordenadas del espacio actual, es decir. la posición inicial del verificador, es decir. (2 3). Sin embargo, 1-4 son listas de la misma sintaxis ((xy) _ _ _ _). Esto puede sonar confuso, pero déjame simplificarlo. Usé una lista recursiva para pasar los movimientos disponibles a diferentes funciones. Los lenguajes de programación como C ++ o Java requerirán que haga una declaración de clase larga antes de poder usar la lista y luego tendrá que preocuparse por las copias superficiales y profundas a medida que avanza por el programa.
Los lenguajes imperativos son excelentes para hacer los cálculos de potencia. Sin embargo, cuando el propósito, la función y la velocidad de implementación son importantes, use lenguajes de programación funcionales.

La respuesta corta es que Lisps (Common Lisp, Racket, and Scheme) son excelentes para la IA porque te permiten trabajar de manera rápida y efectiva en el problema utilizando un poderoso conjunto de herramientas y no preocuparte por lo esencial.

More Interesting

¿Cuándo habrá un software de IA de asistente virtual personal asequible y de calidad que trabaje de manera interactiva conmigo para ser mi maestro de tareas para maximizar mi productividad y felicidad?

Automation / AI Robotics tomará lentamente el trabajo. ¿No representará un peligro para la existencia humana?

¿Sería posible desarrollar un sistema avanzado de PNL (procesamiento del lenguaje natural) sin lograr una IA fuerte primero?

Si creamos 1000 robots verdaderamente pensantes y los dejamos en otro planeta y los revisamos después de 50 años, ¿qué veremos?

¿Cómo fue su viaje al construir su base de conocimiento de aprendizaje automático?

Cómo clasificar si un artículo de noticias es falso o real utilizando el aprendizaje automático

¿Es el aprendizaje profundo un puente entre la lógica inductiva y deductiva?

¿En qué momento se debe otorgar derechos básicos a una forma de vida, natural o artificial? ¿Cuál es la pregunta de umbral para determinar este punto?

Quiero construir un robot. ¿Cómo conecto el hardware con el software?

¿Qué sucederá desde un punto de vista científico si dejamos que la IA altere el genoma humano?

¿Cuáles son las escuelas de posgrado más asequibles para la inteligencia artificial?

¿La IA necesitará humanos para siempre para tener un propósito, incluso cuando ocurra la singularidad?

¿Una distribución de red neuronal en el espacio físico tiene alguna ventaja de procesamiento?

A partir de abril de 2017, ¿a qué distancia están los mejores chatbots de la IA en la película 'Her'?

¿Qué tan bueno es TensorFlow como una biblioteca de aprendizaje profundo y qué otras bibliotecas se deben tener en cuenta?