Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# Tema1

680

Published on

Published in: Education
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total Views
680
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
0
0
Likes
1
Embeds 0
No embeds

No notes for slide

### Transcript

• 1. Inteligencia Artificial 1 Tema 1. Lenguaje PROLOG: Conceptos . ÍNDICE1 Introducción.......................................................................................................................................22 Bases del lenguaje PROLOG............................................................................................................2 2.1 Metodología declarativa frente a metodología imperativa........................................................................2 2.2 Ventajas e inconvenientes.......................................................................................................................33 Definición de Hechos, Metas y Predicados en PROLOG...............................................................3 3.1 Construcción de Bases de Conocimientos en PROLOG.........................................................................6 3.2 Consultas sobre la Base de Conocimientos.............................................................................................8 3.3 Ejemplos.................................................................................................................................................114 Definición y funcionamiento de la Máquina PROLOG.................................................................16 4.1 Unificación..............................................................................................................................................17 4.2 Backtracking...........................................................................................................................................175 Bibliografía.......................................................................................................................................20Ing. M. Sc. Pilar Urrutia U. Página 1 de 20
• 2. Inteligencia Artificial 1 Tema 1. Lenguaje PROLOG: Conceptos . TEMA1. Lenguaje PROLOG: Conceptos1 Introducción. PROLOG constituye la primera realización práctica de un concepto de programaciónorientado más a modelar la forma de entender un tipo de problemas que a la forma concreta decalcular las soluciones de esos problemas. Esto quiere decir que se debe realizar un esfuerzo para modelar formalmente los enunciadosque definen los problemas en lugar de aportar los pasos concretos que resuelven dicho problema. Por ejemplo, si se nos plantea el problema de resolver el factorial de un número, podemosmodelar el enunciado como: factorial(1)=0 y factorial(N)=N*factorial(N-1), en lugar deespecificar de forma imperativa los pasos individuales que resuelven el factorial a través deasignaciones y operaciones. Por tanto, para entender la programación lógica, lo que necesitamos es adaptar nuestrolenguaje a un lenguaje matemático más formal que nos permita expresar nuestros enunciados demanera que puedan ser resueltos de modo general, automáticamente. La máquina PROLOG, como se verá más adelante, no es más que un demostradorautomático de teoremas. Por tanto, nosotros debemos expresar nuestro problema en forma depremisas y teoremas para que la máquina PROLOG pueda demostrarlos y, por tanto, aportarnoslas soluciones que buscamos. Evidentemente, para comprender las bases de la programación lógica es necesario tener unosconocimientos mínimos de la lógica matemática que se aplica y se utiliza en estos casos.2 Bases del lenguaje PROLOG.2.1 Metodología declarativa frente a metodología imperativa. Podemos especificar más las diferencias, pero al final, todas se resumen en la que acabamosde enunciar: • Los lenguajes declarativos no se basan en la máquina Von Newman sino en modelos matemáticos. • Los lenguajes declarativos, en contra de lo que hacen los imperativos, intentan ser referencialmente transparentes, es decir, la misma expresión siempre da los mismos resultados.Ing. M. Sc. Pilar Urrutia U. Página 2 de 20