Documente Academic
Documente Profesional
Documente Cultură
ProgramaciónLógica
o Revisiónhistórica,
ideascentrales,
Prolog.
o Aspectoscentralesde un lenguajede programación
lógica.
. Rasgosdistintivos
de Prologrespectode otroslenguajes
de
programación.
Instrucclón #1 1 Fó¡uula #1
Inetrueción #Z 7 Fó¡su1a #2 I
t a a
1
v I
InstrueeLón #^ -l Fórnula #n
, I
groP
1
I Teoreun I
o Desarrollo
de implementaciones de Prologa partirde la de Warren
eficientes
. Normalizaciónde Prolog:ISO95
. Prologcomolenguajede proposito
general:Prologpuroe impuro.
. Constraint
LogicProgramming,
PARLOG,Datalog,...
Conocimiento
a representar:
1. Todos los hombres son mortales.
2. Sócrateses un hombre.
A deducir:
Sócrateses mortal.
Representación
PROLOG: Representación
LPl:
hombre(socrat.es) . Ha
?- mortaf (socrates) . F Ma
Conocimiento
a representar:
1. El Sol es una estrella.
2. Mercurio orbita en torno al Sol.
3. Venus orbita en torno al Sol.
4. La Luna orbita en torno a la Tierra.
5. La Tierra orbita en torno al Sol.
6. Marte orbita en torno al Sol.
7. Fobos orbita en torno a Marte.
8. Deimos orbita en torno a Marte.
9. Son planetasaquelloscuerposque orbitan en torno a una estrella.
10. Todo cuerpo que orbita en torno a un planeta es un satélite.
11. Pertenecena un sistemasolar la estrellamisma y todo cuerpo que
orbite en torno a otro que pertenezca.
Representación
PROLOG: Representación
LPl:
1. e s t r e l - 1 a ( s o l -) 1. Ea (a SoI )
2. o r b i t a ( m e r c u r i o , s o l _ ). 2. Oba (b Mercurio )
3. orbita (venus,sol-) 3. Oca (c Venus )
4. orbita (luna, tierra) 4. Ode (o Luna )
5. orbita (tierra, sol) o 5. Oea (e Tierra )
6. orbita (marte, soI) 6. Ofa (f Marte )
1. orbita (fobos, marte) 1. Ogf (s fobos )
B. o r b i t a ( d e i m o s ,m a r t e ) . B. Ohf (h deimos )
:
10' sar"::ilt!i", 10. V*y (Oxy s, Py-> Sx)
r, ,
planeta (Y) .
1 1 . p e r t e n e c e ( X ,X ) : - 11. Vx (Ex
estrel-la (X)
Conocimientoa representar:
Representación
Prolog: Representación
LPl:
3 . s u m a( N / 0 , N ) : - 3. Vx (Nx
numero(N) .
4 . s u m a( N , s ( M ), s ( J ) ) : - 4. Vxyz (Sxyz
s u m a( N , M , J )
? - n u m e r o( X ) ?- suma(s(0),s(0),X)
X _ 0 X_ s(s(0))
X_ s(0) -> yes.
s ( s( o )
T.:- ? - s u m a ( s( 0 ) , X , s ( s ( 0 ) ) )
X _ s (0)
?* n u m er o ( 2 ) . yes.
no,
?- suma(X,Yrs(0))
X _ s ( 0 ) ,Y _ 0
X_ 0, Y _ s(0) ->
no.
?- hombre(socrates) . -> I
hombre(socrates)
{ }
yes. I->T
Dadala teoría(programa)
T:
mortal(socrates)->
I
que T u { C } F I -> I
ha sido demostrado
LuegoT l- -C
-( mortal(socrates)->
tr )
n -¡
mortal(socrates)
mortal(socrates)
nt
moftal(socrates)
ConsrnrrEs
Nombran (objetos)
individuos de la teorfa:
L2 marte ' A l - ej a n d r o I g l e s i a s l
Venlnates
Tomancomovalorcualquierexpresión:
X Val-or A1
En general, siendo'f'unsímbolo
funcional y siendot.,...q
n-ádico
términos,la expresión:
f(t.|,...,tn)
es un término.
Fórmulascompuestas
a partirde fórmulasatómicassegúnel esquema:
Reates
Ar^...AAh->B
B:-A',...,,\.
hermano (X, Y) : - padre (Z,X'), padre (Zry) .
Hecnos
I->B
planeta (t j-erra) . divisibl-e (N, 1) . casados (bill-, hilary) .
Oa¿envos
ArA...AAh->tr
En general,siendo'p'unsímbolopredicativon-ádicoy siendot1...q
términos,la expresión:
P(tr,...'il)
es unafórmulaatómica.Convieneincluirtambiencomofórmulas
atómicaslos signosf y !, que recibensiemprelos valoresverdadero
falso respectivamente.
Unificación
DosfórmulasatómicasA y B unificansi y sólosi hay unasustitución
0 tal que (A)0es idénticaa (B)0.
Ejemplos:
p(x) unificaconp(a)bajo0 = { xla } : (p(X))O
es idéntico
a (p(a))O.
p(a)no unificaconp(b)
p(X,a)unificaconp(b,Y)bajo0 = { )(/b,Ylal
p(X)unificaconp(Y)bajo0 = { XAr}
b a j o 0 ' = t Xf )
bajo0" = { Xla,Y/a}
bajo0"' = { X/c,Y/b}
Unicaregladeductivaempleadaen unademostración
/ computación.
En su
formageneralestablece:
casospafticulares
son:
I->B B,^Bz^...AB,',',->[
(B)0= (B1)0
(BrA...B,n)0->tr
r->B 81->tr
(B)0= (81)0
r->n
yes. r->n
P : tierra
T - vP ( planeta(P) -> n )
l-
T lP-( planeta(P) -> r )
l-
T l- lP( planeta(P),..-fi )
T l- 3P planeta(P)
L . 2 ? - o r b i E , a ( l u n d , Z t ) , p e r t , e n e c . e( Z t , s o 1 )
sustltución ¿ (Xtl luna , Ytf sol)
t
.'.t .'.
L . 2 2z ?- pert,enece(tierra,sol )--r
p"'A#ii, li' :;;iñrrl'm'
i pertenece(X,Y):-
L . 2 2.L: ?- E.ierra = sol ! orbita(X,2),pertenece(Z,Y).
i
fracago de !.2.2.L . . . . . ' .- . - " " :"..' ¿o¡¡rror
II
t.2 2.2:?-orbit'a(Eierra,Zz|,pert'enece(Zz,so1)€
gustituclón ¿.{XzltÍerra , Ytl eol }
L . 2 2.2.L ?- orbiE,a(tierra,Zz )
s u s t l t u c i ó a ¿{ Z t l ¡ o 1 }
L , 2 2 . 2 . 2 ?- p e r t e n e c e ( s o l , s o 1 ) - - - - r
l' sol = sol
t .
L . 2 2 . 2 . 2 . L ?- e s t , r e l l a ( s o 1)
eugtltucióu: ( )
l- estrella (sol )
sí l- o r b i t , a ( t i e r r a ,
s o l ) y l - p e r t " r r " " " ( s o 1, s o l )
entonces l- pert,enece (Eierra, sol )
si ¡- o r b i t , a ( I u n a , t i e r r a ) y l - p e r E e n e c e( i i e r r a , s o l )
entonces l- pert,enece ( Iuna, sol )
Control
n u m e r o ( 0 ). s u m a ( N r O r N: -)
n u m e r o( N )
n u m e r o( s ( N ) ) : - s u m a( N , s ( M ), s ( J ) ) : -
numero(N) . s u m a( N , M , J )
?- suma(X,Y,s(0)).
guma(x,Y, Z)
. Convenciones
arr¡ba/abajo
e izquierda/derecha.
. Busquedaen profundidad
(extensión)
por la izquierda.
o Backtraking
Una computaciónfinalizacuando:
S i P u { G } F t r e n t o n c e sl -P- G .
S ¡P u { G } tr entonces
P -Q.
No dándose1 ni 2, la computación
prosigueindefinidamente.
Validezy Completud
Aplicadaa cláusulas
de Horn,la Reglade Resolución producesiemprey
únicamenteresultadoscorrectos,por lo que es una reglaválida.
Además,todo objetivológicamente
deduciblede un programalógicopuede
serfoaplicandola Reglade Resolución,
por lo que es una reglacompleta.
Limitaciones
r [llecanismode controldel árbolde prueba.
. Uso del procedimiento
de corte.
e \legación.
. ffectos lateralesno cancelables
bajobacktraking.
o Qarenciade aritmética
multiuso.