Temas Selectos de IA 3
-
Upload
saidzamora -
Category
Documents
-
view
34 -
download
0
description
Transcript of Temas Selectos de IA 3
![Page 1: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/1.jpg)
Temas Selectos de IAPROLOG
M.C Said Zamora
![Page 2: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/2.jpg)
Lenguajes lógicos
• Utilizan constructores lógicos para establecer relaciones.
• Átomos.
![Page 3: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/3.jpg)
PROLOG
• Hechos
• Reglas
• Base de conocimiento.
• Búsquedas.
![Page 4: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/4.jpg)
Base de conocimiento
• mujer(ana).
• mujer(juany).
• mujer(yolanda).
• tocaguitarra(juany).
• fiesta.
![Page 5: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/5.jpg)
Búsquedas
• ?- mujer(ana).
• ?- mujer(genoveva).
• ?- party.
![Page 6: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/6.jpg)
Creación de reglas.
• feliz(yolanda).
• escuchamusica(ana).
• escuchamusica(yolanda):- feliz(yolanda).
![Page 7: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/7.jpg)
Búsquedas
• ?- mujer(X).
![Page 8: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/8.jpg)
Base de conocimiento
• gusta(vicente,ana).
• gusta(marsellus,ana).
• gusta(calabaza,conejodechocolate).
• gusta(conejodechocolate,calabaza).
• celos(X,Y):- gusta(X,Z), gusta(Y,Z).
![Page 9: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/9.jpg)
Archivos .pl
• ?- [kb2].
• ?- ['c:/Documents and Settings/…/Prolog/kb2.pl'].
• ?- listing.
![Page 10: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/10.jpg)
Átomos
• String de caracteres.
• Secuencia arbitraria de caracteres entre comillas simples
• ’ &^%&#@$ &* ’
• String de caracteres especiales
• @= ====> ; :-
![Page 11: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/11.jpg)
Números
• Enteros
• Flotantes
![Page 12: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/12.jpg)
Variables
• X , Y , Variable , _variables , X_526 , Lista , Lista24
![Page 13: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/13.jpg)
Actividad
• vINCENT• Footmassage• variable23• Variable2000• big_kahuna_burger• ’big kahuna burger’• big kahuna burger• ’Jules’• _Jules• ’_Jules’
![Page 14: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/14.jpg)
Unificación
• Dos términos se unifican si son el mismo átomo
• ?- =(mia,mia).
• ?- =(mia,vincent).
![Page 15: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/15.jpg)
Términos complejos
• Se construyen a partir de constantes, números y variables.
• Son llamados estructuras.
• Es una función seguido de sus argumentos.
![Page 16: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/16.jpg)
Términos complejos
• canta(juany)
• busca(X,padre(padre(padre(ana))))
![Page 17: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/17.jpg)
Aridad
• Número de argumentos que posee un termino complejo.
• mujer(ana)
![Page 18: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/18.jpg)
Predicado
• gusta(vincent,mia)
• gusta(vincent,marsellus,mia)
• gusta/2
• gusta/3
![Page 19: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/19.jpg)
Unificación de términos complejos
• Pertenecen al mismo funtor.
• Tienen la misma aridad.
• Sus argumentos pueden ser unificados.
• Las variables deben ser compatibles.
![Page 20: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/20.jpg)
• ?- 2 = 2.
• yes
• ?- mia = vincent.
• No
• ?- 'mia' = mia.
• yes
![Page 21: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/21.jpg)
• ?- '2' = 2.
• no
• ?- mia = X.
• X = mia
• yes
![Page 22: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/22.jpg)
• ?- k(s(g),Y) = k(X,t(k)).
• X = s(g)
• Y = t(k)
![Page 23: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/23.jpg)
• ?- father(X) = X.
• X = father(father(father(father(father(father• (father(father(father(father(father(father• (father(father(father(father(father(father• (father(father(father(father(father(father• (father(father(father(father(father(father
• X = father(father(father(father(...))))))))• yes
![Page 24: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/24.jpg)
Recursividad
• digiere(X,Y) :- hacomido(X,Y).
• digiere(X,Y) :-
• hacomido(X,Z),
• digiere(Z,Y).
• hacomido(mosquito,sangre(cacerolo)).
• hacomido(rana,mosquito).
• hacomido(hacomido,rana).
![Page 25: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/25.jpg)
Significado Declarativo y Procedimental
• Lo que dice, lo que significa como declaraciones lógicas.
• Si X digiere a Y, Prolog puede utilizar esta regla para preguntar si X se ha comido a Y.
![Page 26: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/26.jpg)
• ?- digiere(hacomido,mosquito).
• ?- hacomido(hacomido,mosquito).
• Al unificar caimán con X y mosquito con Y
• ?- hacomido(hacomido,Z),
• digiere(Z,mosquito).
![Page 27: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/27.jpg)
• ?- hacomido(caiman,Z).
• ?- digiere(Z,mosquito).
• ?- hacomido(caiman,rana).
• ?- digiere(rana,mosquito).
• ?- hacomido(rana,mosquito).
![Page 28: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/28.jpg)
Árbol genealógico
• hijo(anne,bridget).
• hijo(bridget,caroline).
• hijo(caroline,donna).
• hijo(donna,emily).
• descendiente(X,Y) :- hijo(X,Y).
• descendiente(X,Y) :- hijo(X,Z),
• descendiente(Z,Y).
![Page 29: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/29.jpg)
Listas
• [mia, vincent, jules, yolanda]
• [mia, ladron(honey_bunny), X, 2, mia]
• []
• [mia, [vincent, jules], [butch, novia(butch)]]
• [[], muerto(z), [2, [b, c]], [], Z, [2, [b, c]]]
![Page 30: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/30.jpg)
Listas
• ?- [Head|Tail] = [mia, vincent, jules, yolanda].
• Head = mia
• Tail = [vincent,jules,yolanda]
• yes
• ?- [X|Y] = [[], dead(z), [2, [b, c]], [], Z].
• X = []
• Y = [dead(z),[2,[b,c]],[],_7800]
• Z = _7800
• yes
![Page 31: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/31.jpg)
Aritmética
• 6 + 2 = 8 8 is 6+2.
• 6 ∗ 2 = 12 12 is 6*2.
• 6 − 2 = 4 4 is 6-2.
• 6 − 8 = − 2 -2 is 6-8.
• 6 ÷ 2 = 3 3 is 6/2.
• 7 ÷ 2 = 3 3 is 7/2.
![Page 32: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/32.jpg)
Aritmética y variables
• ?- 8 is 6+2.
• yes
• ?- 12 is 6*2.
• yes
• ?- X is 6*2.
• X = 12
• ?- R is mod(7,2).
• R = 1
![Page 33: Temas Selectos de IA 3](https://reader034.fdocuments.ec/reader034/viewer/2022042821/563db7aa550346aa9a8cdf95/html5/thumbnails/33.jpg)
Predicado aritmético
• sumatresyduplica(X,Y) :- Y is (X+3)*2.
• ?- sumatresyduplica(1,X).
• X = 8