Introducción

Idea de programación simbólica:

Manejar símbolos, asignar símbolos a objetos y manipularlos

Contraste con otros lenguajes de programación que se concentran en el cálculo numérico (no implica que no puedan hacerse cosas numéricas / simbólicas con lenguajes simbólicos / numéricos, solo que es más difícil)

E.g., las reglas usadas en SE se pueden ver como manipulaciones simbólicas

Lenguajes más usados en IA: Lisp y Prolog

Las computadoras también son objeto de estudio científico.

Al igual que la lógica requieren de una forma precisa y de proposiciones explícitas para expresar nuestras metas y suposiciones.

Sin embargo, mientras la lógica se ha desarrollado con el pensamiento humano como única consideración externa, el desarrollo de la máquina ha estado gobernado desde el principio por restricciones de tecnología e ingeniería.

Aunque las computadoreas fueron diseñadas para ser usadas por el hombre, sus dificultades en su construcción ha sido tan dominante, que el lenguaje para expresar problemas y decirles como hacer las cosas fue diseñado desde la perspectiva de la ingeniería de la computadora.

Esto empezó a solucionarse con lenguajes de más alto nivel, y las dificultades empezaron a ser en la inhabilidad del humano para programar.

Idealmente deberíamos de poder expresarnos en forma más natural...

... la lógica (que ha estado en el proceso del pensamiento humano desde hace mucho tiempo) ha sido un buen candidato para ésto.

``En lugar de hacer que el hombre se adapte/dependa de las máquinas, la máquina debería de hacer las instrucciones que son fáciles de dar por el hombre''

En su forma más pura sugiere que solo se le de conocimiento y suposiciones del problema en forma de axiomas lógicos y se ejecuta tratando de probar metas.

Programa = conjunto de axiomas
Computación = prueba de metas

emorales 2012-05-03