Upload
gregoriohdd
View
217
Download
0
Embed Size (px)
Citation preview
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 1/14
“INTRODUCCIÓN A LA
ESCRITURA DE
PROGRAMAS EN
VISUAL PROLOG”
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 2/14
ESTRUCTURA DE UNPROGRAMA EN VP
Un programa en Visual Prolog consta de cuatro secciones: domains!" predicates!" !goal! # !clauses!$ Ca%e aclarar &uetodas estas son pala%ras reser'adas # &ue toda otra pala%ramenos las 'aria%les de%en escri%irse en min
() DOMA*NS +dominio): A&u, se de-nen los o%.etos # los tiposde datos correspondientes &ue usaremos en las de-nicionesposteriores:
domains
o%.eto / tipo de dato
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 3/14
ESTRUCTURA DE UN PROGRAMA EN VP +DOMA*NS)
Domains
persona / s#m%ol 0persona! es un o%.eto de tipo s#m%ol$
Tipos de datos : E1isten cinco tipos prede-nidos :
a) s#m%ol : 2a# dos tipos de s,m%olos :($ Una secuencia de letras" n3meros o caracteres de su%ra#ado en la cual la
primera letra es min3scula$ E.$ tiene4lindos4o.os$
5$ Una secuencia de caracteres encerrados por comillas do%les +) usada en el
caso &ue el s,m%olo contenga espacios o no comience con min3sculas$ E.$ :
Una persona es tra%a.adora!$
%) c6ar : Acepta cual&uier car7cter" se representa encerrado entre comillas simples +8) #
consta de un solo car7cter" por e.emplo 8A9" 859" 89$
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 4/14
ESTRUCTURA DE UN PROGRAMA EN VP +DOMA*NS)
c) integer : Acepta n3meros enteros en el rango de ;<5=>? al <5=>=$
d) real : Acepta n3meros reales" pueden contener signo" punto decimal # 'arios
d,gitos decimales$ Tam%i@n pueden tener una parte e1ponencial" pudiendo a%arcar
n3meros desde (e;<B= a (e<B?" por e.emplo : 5=B" ;5BBB" ?>$5" ; ?$5e;
5B< o ; ?(($5>?$
e) string : Acepta una secuencia de caracteres encerrados entre comillas do%les +)" por
e.emplo : esto tam%i@n es un string!$ a diFerencia entre el tipo s#m%ol en 5" # los
strings es la Forma de representacin interna de cada uno$ El almacenamiento de los
s,m%olos est7 implementado de tal manera &ue su %3s&ueda en las ta%las de memoria
es m7s r7pida$ Adem7s" los s,m%olos" tienen pro%lemas para 6acer inserciones en
tiempo de e.ecucin$ Su uso estar7 determinado por el tipo de aplicacin &ue se
realice$
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 5/14
ESTRUCTURA DE UN PROGRAMA EN VP +PRED*CATES)
PRED*CATES +predicados): En esta seccin se de-nen como ser7n las relaciones
entre los o%.etos del dominio +domains) # el 'alor &ue se les asignar7 en las cl7usulas
+clauses)$
predicates
sa%e +persona)
A&u, especi-camos &ue el predicado sa%e! tiene un argumento: persona!" &ue a su
'eH en el dominio est7 declarado como s#m%ol!$
inteligente +persona)
tra%a.a +persona)
En este e.emplo 6emos de-nido un o%.eto como s,m%olo # luego lo relacionamos con
el predicado sa%e!$ Tam%i@n podemos de-nir un predicado solo con relacionar tipos
prede-nidos" como por e.emplo :
predicates
Factorial +integer" real) Esto 6ace &ue la relacin Factorial! se esta%leHca entre 5
o%.etos" uno de tipo entero # otro de tipo real$
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 6/14
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 7/14
ESTRUCTURA DE UNPROGRAMA EN VP +GOA)
GOA +meta u o%.eti'o a %uscar): En esta seccin es donde seindica e1pl,citamente cu7l es el el o%.eti'o del programa
Tra%a.a +J) and Krite +a persona &ue tra%a.a es!" J) and n(
A&u, 'emos &ue 6a# algunos predicados &ue nosotros node-nimos" como ser Krite! # n(!$ Am%os pertenecen a los
llamados predicados prede-nidos # son propios del lengua.eVP$
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 8/14
PRED*CADOS LR*TE N
Krite 6ace lo mismo &ue id@ntica instruccin en Pascal o elprint! de AS*C :
*mprime un te1to en la pantalla$
nl imprime solamente una secuencia de -n de l,nea$ El propsito de todo el con.unto es e'aluar tra%a.a +J)! eimprimir el resultado de ello con el mensa.e entre comillas$
as respuestas se dar7n a tra'@s de la 'entana de di7logos ose de%er7 armar una interFaH diFerente$
SO
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 9/14
USO DEACTRA*NG
CORTESa estructura &ue VP Prolog mane.a m7s naturalmente es el 7r%ol$
as relaciones # sus argumentos se tratan como 7r%oles" de%ido a &ue es unaestructura su-cientemente poderosa para representar
inFormaciones comple.as" organiHadas .er7r&uicamente # de mane.o sencillo" tantoalge%raico como desde un punto de 'ista inForm7tico$
Si representamos en Forma de 7r%ol un e.emplo %7sico como:
es4padre4de+pa%lo".uan) &ue indica &ue Pablo es padre de Juan"
tendr,amos algo como:
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 10/14
E CONTRO EN EVPPor control se entiende la Forma en &ue el lengua.e %usca las
respuestas a las cl7usulas o%.eti'os$ En VP" el control respeta dosnormas:
($ Orden de metas$ Escoger la meta del e1tremo iH&uierdo$
5$ Orden de reglas$ Seleccionar la primera regla aplica%le$
Qu@ signi-ca esto a primera de las normas nos indica &ue" cuandola cl7usula o%.eti'o o goal posee m7s de una regla unidas porcon.unciones+#) o dis#unciones+#)" @stas se toman de iH&uierda aderec6a para ser resueltas de a una" mediante la aplicacin de reglas$
Entonces" si 'ol'emos al e.emplo del men3 de un restaurante" pararesol'er:
:; comida +E"P"D)" pescado+P)$
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 11/14
E CONTRO EN EVP +5)
VP toma en primer lugar la meta del e1tremo iH&uierdo +&uees comida +E"P"D)) # la resuel'e" para tomar luego la segundade iH&uierda a derec6a +&ue es pescado+P)) # resol'erla" # as,sucesi'amente 6asta terminar con todas las su%metas de lacl7usula o%.eti'o$
a segunda de las normas enunciadas m7s arri%a &uiere decir
&ue" para resol'er cada una de las su%metas" @stas sonremplaHadas por todas # cada una de las reglas de la %ase dedatos &ue las satisFagan" teniendo en cuenta el orden en &ueest7n escritas$
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 12/14
D*AGRAMA DE UNS*STEMA EJPERTO
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 13/14
ESCR**R SU PR*MERPROGRAMA
8/16/2019 Ayuda Semana 2-Sistemas Expertos
http://slidepdf.com/reader/full/ayuda-semana-2-sistemas-expertos 14/14
REV*SAR AS ACT*V*DADES DE *RO DE CURSO