La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Prolog Se orienta a la solución de problemas que pueden ser expresados en forma de objetos y relaciones. La programación en Prolog consta de: Hechos.

Presentaciones similares


Presentación del tema: "Prolog Se orienta a la solución de problemas que pueden ser expresados en forma de objetos y relaciones. La programación en Prolog consta de: Hechos."— Transcripción de la presentación:

1 Prolog Se orienta a la solución de problemas que pueden ser expresados en forma de objetos y relaciones. La programación en Prolog consta de: Hechos. Reglas. Preguntas (consultas). La idea es extraer información mediante consultas realizadas sobre una base de conocimiento. Hechos corresponden a situaciones (relaciones/predicados) acerca de objetos. nombre de un hecho y objetos deben comenzar con minúscula. Los hechos terminan con un punto (.)

2 Los hechos son incondicionalmente verdaderos
Ejemplo: mujer(karina). karina es una mujer hermano(ricardo,paula). ricardo es hermano de paula padre(juan,andrea). juan es el padre de andrea. Los hechos son incondicionalmente verdaderos Reglas Son utilizadas para representar que un hecho depende de otros hechos. Las reglas son sentencias condicionales.

3 Ejemplo: considerando la siguiente base de conocimiento.
hombre(alberto). hombre(gustavo). mujer(alicia). padres(gustavo,victoria,alberto). padres(alicia,victoria,alberto). y se define la regla: hermana_de(X,Y) :- mujer(X), padres(X,M,P), padres(Y,M,P). conclusión premisas Esta regla se lee como: “X es hermana de Y, si X es mujer y los padres de X son M y P y los padres de Y son M y P.”

4 Luego, si se realiza la siguiente consulta:
?-hermana_de(alicia,gustavo). lo que sucede es: (1) la consulta se “parea” con la conclusión de la regla, X es instanciada con el valor “alicia” e Y con el valor “gustavo”. (2) se busca satisfacer c/u de las premisas. (3) la primera es mujer(alicia) OK! (4) busca un calce para padres(alicia,M,P), lo cual calza con padres(alicia,victoria,alberto). Ahora M es “victoria” y P es “alberto” (5) ahora se busca satisfacer la premisa padres(gustavo,victoria,alberto) OK! (6) ya que todas la premisas son satisfeccha la respuesta es si

5 Consultas cuando se realiza una consulta Prolog buscará si existe alguna regla o bien un hecho que calce con la pregunta. En el caso de la pregunta anterior X, Y, M y P son variables. Una variable permite representar un objeto del cual no se conoce su valor. Sin embargo Prolog puede entregar todos los valores posibles que se conocen para ese objeto. Las variables se escriben con mayúscula. Cuando Prolog responde no, el significado es “no se puede derivar el hecho a partir de la base de conocimiento”.

6 Es la forma en que Prolog busca las soluciones.
Backtracking Es la forma en que Prolog busca las soluciones. Prolog intenta satisfacer las premisas desde izquierda a derecha. Cuando una premisa no puede ser satisfecha se realiza un retroceso (bactracking) hacia la premisa anterior rehaciéndola. Considere la siguiente base de conocimiento: sevende(vestido). sevende(sombrero). sevende(zapato). gusta(jaime,zapato). gusta(maria,vestido). gusta(maria,sombrero). bueno(sombrero). compra(X,Y) :- sevende(Y),gusta(X,Y),bueno(Y). y la consulta: ?-compra(Z,U).

7 La regla queda: compra(Z,U):-sevende(U),gusta(Z,U),bueno(U). (1) la primera premisa se particulariza con el hecho sevende(vestido). y la regla queda: compra(Z,vestido):-sevende(vestido),gusta(Z,vestido),bueno(vestido). (2) la próxima premisa es: gusta(Z,vestido). la cual se particulariza con gusta(maria,vestido). ahora la regla queda: compra(maria,vestido):-sevende(vestido),gusta(maria,vestido),bueno(vestido). (3) el hecho bueno(vestido). fracasa lo cual no significa que la pregunta no tenga respuesta.

8 (4) debido a lo anterior se retrocede a la premisa gusta(Z,vestido)
(4) debido a lo anterior se retrocede a la premisa gusta(Z,vestido). la cual también fracasa. (5) es necesario retroceder a : sevende(U), lo cual se particulariza con sevende(sombrero). Luego, la regla se reescribe como: compra(Z,sombrero):-sevende(sombrero),gusta(Z,sombrero),bueno(sombrero). ahora, gusta(maria,sombrero). y bueno(sombrero). son satisfechas. Por lo tanto la respuesta es: Z=maria U=sombrero


Descargar ppt "Prolog Se orienta a la solución de problemas que pueden ser expresados en forma de objetos y relaciones. La programación en Prolog consta de: Hechos."

Presentaciones similares


Anuncios Google