Prolog

Páginas: 26 (6422 palabras) Publicado: 21 de octubre de 2012
Prolog

1 Programación lógica
1.1 Multiplicación y retroceso
1.2 Representación de base de datos o conocimientos en prolog
1.3 Inducción matemática
1.3.1 Algoritmos básicos de lista (inserción eliminación obtención búsqueda y recorrido)
1.3.2 Algoritmos de ordenación
1.4 Algoritmos sobre arboles y grafos
1.4.1 Arboles binarios no balanceados y balanceados
1.4.2 Recorridos sobrearboles (prefijo infijo postfijo)
1.4.3 Recorridos sobre grafos
1.4.4 Algoritmo de krustal, djisktra, primm ,otros.
1.5 Introducción a la inteligencia artificial historia y evolución
1.5.1 Representación de problemas con grafos
1.5.2 Problema del agente viajero
1.5.3 Heuristicas (hill climbing, best frist)
1.6 Lista de operadores en prolog
1.6.1 Solución de ecuaciones algebraicas
1.7 ArbolesSLD
1.8 Introducción a los sistemas expertos (historia y evolución)

Programación lógica

Prolog es un lenguaje de programación diseñado para representar y utilizar el conocimiento que se tiene sobre un determinado dominio. Los programas en Prolog responden preguntas sobre el tema del cual tienen conocimiento.

Forma parte de lo que se conoce como programación declarativa. Enlenguajes tradicionales se indica cómo resolver un problema, en la programación lógica se establecen hechos reales y reglas para así no saber cómo resolver el problema, sino que hacer para resolverlo.

La popularidad de este lenguaje se debe a su capacidad de deducción y además es un lenguaje fácil de usar por su semántica y sintaxis. Sólo busca relaciones entre los objetos creados, lasvariables y las listas, que son su
Estructura básica.

Los lenguajes de la 4° generación son imperativos (reciben órdenes), ejemplos: Pascal, C. Los lenguajes de la 5° generación son funcionales o declarativos, ejemplos: Lisp, Prolog. Prolog es una abreviatura de "Programming in Logic".
En 1972 Colmovaur lo escribió en Fortran en una máquina IBM. Posteriormente en Edimburgo se escribió en códigode máquina en una PDP.
>Valioso(oro).
Valioso es un predicado, Oro es el elemento (constantes en minúsculas).
>Valioso.
Este predicado no tiene elementos, tiene aridad 0.
>Valioso(plata).
>Valioso(bronce).
"La plata es valioso", "el bronce es valioso". Todos estos predicados se escriben en un "programa" de Prolog.
Tras"correr" el programa, se pueden hacer estas consultas:
?- Valioso(oro). ¿Es valioso el oro? Esta es una meta
Yes Si, es la respuesta

?- Valioso(X.). X es una variable, por ello va en mayúscula
X=oro; Esta es una respuesta. Al agregar el punto y coma se le
X=plata; está pidiendo otra respuesta quesatisface la meta
X=bronce;
no Cuando ya no encuentra más respuestas responde con "no".
Programa
En el programa se ponen marcas acerca de los predicados que ya han servido de respuesta. Al resatisfacer la meta, las marcas se acumulan. Al solicitar una meta nueva las marcas se "olvidan". A este mecanismo se le conoce como algoritmo de Robinson.
Ejemplos:>Le_gusta(juan,maria). A Juan le gusta María
>Le_gusta(pedro,carla).
>Le_gusta(jorge,maria). A estos predicados (de aridad 2) también se les conoce como hechos.

?- Le_gusta(X,maria). Meta: ¿A quién le gusta María?
X=juan;
X=jorge;
no?- Le_gusta(X,Y). Responde con todas las combinaciones.

le_gusta_por(juan,maria,ojos grandes). A Juan le gusta María por sus grandes ojos.
Tiene Aridad 3.
Programa
:-
Es el equivalente a un "if":
>Valioso(bronce).
>Valioso(X):-X=oro. Si X=oro entonces X es valioso.
>Valioso(plata)....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • prologo
  • Prologo
  • Prologo
  • Prólogo
  • prologo
  • Prólogo
  • prologar
  • Prologo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS