Tema 01. Fundamentos de la Inteligencia Artifcial
Fuente: Fuen te: http://borr http://borrowbits.com/2012/03/inteligencia-artifcial-mito-oowbits.com/2012/03/inteligencia-artifcial-mito-orealidad/
Bienvenida Estimados estudiantes ¡bienenidos! a la primera semana del curso" donde abordaremos los conceptos b#sicos de la inteligencia artifcial" su historia $ aplicaciones en sectores industriales $ empresariales. %rataremos % rataremos el test de %uring %uring &ue permite determinar en &u' momento una m#&uina ad&uiere la categor(a de comportamiento inteligente. )lan )l an %ur uring ing es co cons nsid ider erad ado o el pa padr dre e de la in inte teli lige genc ncia ia art artif ifci cial al.. )simismo presentaremos la estructura de los sistemas basados en conoci con ocimie miento nto.. *o *oss con conten tenido idoss se com complem plement entan an con int inter eresa esante ntess lect le ctur uras as"" a ali lios osos os i ide deos os"" p# p#gi gina nass in inte tera ract cti ias as e im impo port rtan ante tess actiidades de ealuaci+n &ue conducen a la metacognici+n $ a la comprobaci+n de los aprendi,aes logrados. ¡Empecemos!
Introducción al tema
Fuente: Fu ente: http://psmheuristica.webnode.com. http://psmheuristica.webnode.com.e/clasifcacion-metodose/clasifcacion-metodosheuristicos/sistema-basados-en-el-conocimiento-sbc/ El estudio de la inteligencia artifcial se inicia ormalmente en la década de los años 50, $ desde entonces sus t'cnicas han sido
util utili, i,ad adas as $ apli aplica cada dass en die diersa rsass #rea #reass comu comune ness al desem desempe peo o cotidiano de las personas" a$udando" reempla,ando" simulando las accion iones o decisiones tomadas por indiiduos con ciertas caracter(sticas en particular. particular. La Intelige gen ncia Artifcial basada en las ciencias de la comp co mput utac ació ión n se co comp mple leme ment nta a co con n la fs fsio iolo logí gía a y fl flos oso oía ía,, reun re unie iend ndo o a ari rios os ca camp mpos os !r !rob obót ótic ica, a, si sist stem emas as e" e"pe pert rtos os,, sistemas siste mas intel inteligent igentes es entre otro otros#, s#, todos los cuales tienen en
comn com n la cr crea eaci ci+n +n de m m#& #&ui uina nas s &u &ue e pu pued eden en en pr prim imer er lu luga garr comportarse $ posteriormente pensar tal $ como lo hacen los humano hum anos. s. *a ide idea a de con constru struir ir una m#& m#&uin uina" a" &ue pue pueda da eec eecuta utarr tareas &ue parecen necesitar de la inteligencia humana para llearse a cabo es un atractio. *as tareas &ue han sido estudiadas desde este punto de ista inclu$en uegos" traducci+n de idiomas" diagn+stico" rob+tica" suministro de asesor(a eperta en diersos temas.
)un&ue no eiste una defnici+n nica" se entiende sus #reas de aplicaci+n &ue las amos conociendo a tra's de su historia $ los legados legados deados deados por los inestigadores inestigadores de la disciplina. *os temas de la inteligencia artifcial son relatiamente nueos $ en permanente eoluci+n por lo &ue es necesario ubicar el conteto en el &ue se desa desarrrolla ollan n las las apli aplica caci cio ones nes $ la tecno ecnolo log( g(a a util utili, i,ad ada" a" sin sin las las comp comput utad ador oras as actu actual ales es no hubi hubier era a sido sido posib posible le el aan aance ce de la disciplina. 4or esta ra,+n en esta sesi+n estudiamos los conceptos generales de la inteligencia artifcial" su historia" aplicaciones $ tests para erifcar cuan cu ando do un una a m#& #&u uin ina a ti tien ene e co com mpo port rtam amie ient nto o in inte teli lige gen nte te.. Es 5undamen enttal comprender los contenido doss propuest sto os para
posteri post erior orme ment nte e en en5r 5ren enta tarr co con n ' 'it ito o lo loss te tema mass de la lass sig sigui uien ente tess sesiones. Los si Los sist stem emas as ba basa sado dos s en co cono noci cimie mient nto o int inten enta tan n re reso sol ler er problemas comple$os imitando el comportamiento de un e"perto en el dominio del problema " por lo &ue se re&uiere de
una estructura &ue permita representar el conocimiento $ su posterior tratamiento en 5orma declaratia" tomando decisiones en 5unci+n del estado del entorno" eerciendo control sobre el mismo. 4or esta ra,+n en esta semana estudiamos la estructura de los sistemas basados en conoci con ocimie miento nto"" hac hacien iendo do 'n5 'n5asi asiss en un es& es&uem uema a par partic ticula ularr $ mu$ desarrollado a la 5echa conocido como sistemas epertos.
)prendi,aes esperados Conozcamos ahora las capacidades y actitudes a desarrollar en este primer tema:
Capacidades •
6onoce la defnici+n de 7nteligencia )rtifcial.
•
8i5erencia entre sistemas operacionales $ sistemas inteligentes.
•
7dentifca las aplicaciones en la industria $ en las empresas de diersos sectores.
•
)plica el %est de %uring para reconocer una m#&uina inteligente.
•
6onoce la defnici+n de los sistemas basados en conocimientos.
•
7dentifca la Estructura de los sistemas basados en conocimientos.
Actitudes •
8emuestra tolerancia $ respeto ante la opini+n de sus compaeros en el debate de un 5oro.
•
)sume responsabilidad en el cumplimiento de las actiidades.
•
9econoce 9econo ce los conceptos de la inteligencia artifcial.
•
alora la historia de la inteligencia artifcial.
•
9econoce la estructura de los sistemas basados en 9econoce conocimiento
;arco conceptual Analiza el marco conceptual del tema *a inteligencia artifcial es relatiamente nuea
e desarroll+ gracias a la tecnolog(a computacional $ actualmente se aplica pr#cticamente en todos los campos del &uehacer humano. ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
1.1 Presentación de la Inteligencia Artifcial
Fuente: http://despiertaal5uturo.blogspot.com/201C/11/inteligenciaartifcial-puede-etinguir.html *a historia del ser humano se ha isto rodeada de creaciones e innoaciones tecnol+gicas &ue an desde el inento de herramientas para la agricultura $ uso de la rueda &ue le permit(an ahorro de es5uer,o en la reali,aci+n de tareas 5(sicas hasta el desarrollo de herramientas computacionales &ue apo$an el procesamiento de in5ormaci+n" mu$ til en la gesti+n de las empresas. En este proceso de innoaciones aparece la necesidad de procesar conocimiento humano en un computador &ue apo$e en la toma de decisiones &ue re&uieran cierto grado de inteligencia. *a inteligencia artifcial es una rama del conocimiento humano de reciente aparici+n <5ue 5ormali,ada a mediados del siglo pasado= con respecto a otras #reas como la matem#ticas" la 5(sica $ la &u(mica &ue tiene arios siglos de tratamiento $ estudio. *a idea es conertir al computador en una herramienta de procesamiento de conocimientos" para ello se re&uieren reali,ar un conunto de tareas" tales como" el reconocimiento e interpretaci+n de im#genes" el reconocimiento e interpretaci+n del lenguae natural" el tratamiento de in5ormaci+n para elaborar diagn+sticos $ pron+sticos" la deducci+n de teoremas" la participaci+n en uegos electr+nicos" entre otras. *a aparici+n de las modernas computadoras hace posible t'cnicamente la implementaci+n de tareas como la isi+n artifcial" tratamiento del lenguae natural 5undamentales para el
procesamiento del conocimiento" en este sentido presentamos en nuestro curso la teor(a $ pr#ctica relacionada a la implementaci+n de sistemas basados en conocimiento.
Eno!ues de la inteligencia artifcial *os estudios en 7nteligencia artifcial se orientan bao dos en5o&ues di5erentes.
Fuente: http://www-5ormal.stan5ord.edu/mc/personal.html. McCarthy El Eno!ue Tecnológico %c&art'y y %ins(y, del %I) promueen un en5o&ue tecnol+gico
&ue permita desarrollar una tecnolog(a capa, de suministrar al ordenador capacidades de razonamiento o discernimiento similares" o aparentemente similares a las de la inteligencia humana. Este en5o&ue es eminentemente pr#ctico $ se centra en los resultados obtenidos" en la utilidad" # no tanto en el m$todo . Este en5o&ue inclu$e a los %istemas E&pertos. Eno!ue 'rientado A (a Investigación )elativa *ecanismos +e Inteligencia ,umana
A (os
Dewell $ >imon" de la 6arnegie ;ellon niersit$ proponen un en5o&ue orientado a la inestigaci+n relatia a los mecanismos de inteligencia humana" &ue emplea el ordenador como herramienta de simulaci+n para la alidaci+n de teor(as. En este sentido proponen la creaci+n de un sistema artifcial &ue sea capa, de reali,ar los procesos cognitios humanos. 8esde este punto de ista no es tan importante la utilidad del sistema creado <&u' hace=" como lo es m'todo empleado
+efnición de inteligencia artifcial
Fuente: http://ba$carsubol212C.blogspot.com/2012/03/con5erenciade-darmouth.html . Darmouth El t'rmino inteligencia artifcial 5ue propuesto en la con5erencia de 8arthmouth en 1GH" sin embargo es complicado encontrar una sola defnici+n &ue satis5aga a todos los grupos de inestigadores a niel mundial. El problema se presenta cuando nos re5erimos a comportamiento inteligente o ra,onamiento inteligente" por eemplo" un programa de computador &ue uega aedre, 5rente a un maestro" podemos afrmar &ue el programa acta inteligentemente pero ra,ona inteligentementeB" en realidad lo &ue hace es implementar algoritmos de bs&ueda de soluciones en un espacio determinado $ selecciona la propuesta m#s cercana al obetio" mientras &ue el maestro ademas de actuar con inteligencia aplica ra,onamiento cuando selecciona la meor ugada en 5unci+n de la iabilidad de unas cuantas posibilidades optimi,ando la bs&ueda de soluciones. En este sentido podemos partir &ue la 7) busca implementar m#&uinas con comportamiento inteligente 5rente a un problema determinado" por lo tanto no constitu$e un obetio el m'todo o 5orma de ra,onamiento. En esta defnici+n no est#n incluidos los problemas &ue se resuelen de 5orma eacta con algoritmos bien defnidos" pues en ellos no se eidencia ningn comportamiento inteligente sino m#s bien la aplicaci+n mec#nica de una secuencia de pasos o etapas. *os problemas &ue estamos inclu$endo en la defnici+n son a&uellos &ue en5renta el ser humano para los &ue no eisten algoritmos conocidos $ para su soluci+n se utili,an m#s bien un conunto de reglas o criterios denominadas heur(sticas.
*a dierencia entre los algoritmos y las 'eurísticas es &ue los algoritmos siempre llean a la misma soluci+n" mientras &ue las heur(sticas no garanti,a &ue nos llee a la soluci+n correcta" ademas pueden eistir muchas heur(sticas aplicables a determinado problema" con lo &ue la selecci+n de cual&uiera de ellas a5ecta los resultados. 4odemos entonces identifcar un conunto de problemas realmente compleos &ue re&uieren inteligencia $ originalidad para su soluci+n" tales como descubrir nueos teoremas matem#ticos" diagnosticar en5ermedades como lo har(a un m'dico" componer msica como lo har(a Ieethoen o comprender una epresi+n en lenguae natural como el espaol o el ingl's. 4ara reali,ar estas tareas no eisten algoritmos espec(fcos sin embargo la gente tradicionalmente aplica heur(sticas" incluso a eces" sin darse cuenta" $ en muchos casos" las reali,an sin saber realmente c+mo las hacen ni &u' pasos siguen en todos los casos" por mucha introspecci+n a la &ue se sometan" solamente las eecutan. 4odemos entonces 5ormular una defnición de IA para nuestro curso: *a 7) es la rama de la ciencia de la computaci+n &ue estudia la resoluci+n de problemas no algor(tmicos mediante el uso de cual&uier t'cnica de computaci+n disponible" sin tener en cuenta la 5orma de ra,onamiento sub$acente a los m'todos &ue se apli&uen para lograr esa resoluci+n. >in embargo aun&ue esta defnici+n sea aceptable para un curso uniersitario presentamos un conunto de alternatias: •
•
•
•
•
El arte de crear m#&uinas con capacidad de reali,ar 5unciones &ue reali,adas por personas re&uieren de inteligencia. tubblefeld" 13=. n campo de estudio &ue se en5oca a la eplicaci+n $ emulaci+n de la conducta inteligente en 5unci+n de procesos computacionales <>chalKoL" 10=. 8isciplina &ue se dedica a la construcci+n de programas in5orm#ticos capaces de reali,ar trabaos inteligentes. >us
obetios b#sicos son dos: <1= estudiar el comportamiento inteligente de las personas humanas" $ <2= hacer programas de ordenador inteligentes capaces de imitar el comportamiento humano <8uda $ >hortliLe=. •
El arte de construir m#&uinas capaces de hacer cosas &ue re&uerir(an inteligencia en el caso de &ue 5ueran hechas por seres humanos <;arin ;insK$=.
En ista de las diersas posiciones respecto a la defnici+n de la 7) se ha propuesto una clasifcaci+n de las mismas:
4ropuesta por
Mn5asis en
6riterio
6harial $ ;c8ermot
pensamiento
7nteligencia ideal" o racionalidad
9ich $ Jnight
comportamiento
7nteligencia humana
Estableciendo el siguiente cuadrante de relaciones: 7nteligencia humana
9acionalidad
>istemas &ue piensan >istemas &ue como humanos. racionalmente.
)azonamient Enfoque cognoscitivo. o
Enfoque lógico.
>istemas &ue actan >istemas &ue como humanos. racionalmente.
Comportamie Enfoque nto Turing
“test
piensan
de Enfoque de inteligentes.
actan agentes
Es coneniente mencionar &ue en todos los casos asumimos &ue se logra la inteligencia artifcial con el uso de la ciencia de la computaci+n apo$ada en las tecnolog(as de la in5ormaci+n $ las comunicaciones. En la pr#ctica la 7) se implementa con las computadoras &ue son los dispositios de procesamiento de in5ormaci+n m#s compleos $ potentes &ue ha desarrollado el ser humano" $ la actiidad intelectual es en esencia un proceso de manipulaci+n $ an#lisis de in5ormaci+n. *a 7nteligencia )rtifcial es multidisciplinaria $ se apo$a en los conceptos $ t'cnicas de otras disciplinas" tales como: la 7n5orm#tica" la 7ngenier(a" la >ociolog(a" la 6iencia del 6omportamiento" la 4sicolog(a 6ognoscitia" la 7nestigaci+n ?peratia" la Econom(a" la %eor(a Neneral de >istemas" etc. *aradigmas de la inteligencia artifcial+ •
!rocesamiento
sim"ólico:
pro"lemas
de
naturaleza
no
num#rica. •
$%squeda heur&stica: hacer trata"le la comple'idad del proceso.
•
(istemas e)pertos: visión conductista* funcional.
•
(istemas
"asados
en
conocimiento:
visión
cognoscitiva*
estructural. •
+gentes
inteligentes:
“personalidad
“sociedades
de
componentes
con
Oreas de estudio de la inteligencia artifcial
Fuente: http://cio.com.m/inteligencia-artifcial-como-puede-serusada-por-las-empresas/ %'(-CI' +E P)'B(E*A% E /EE)A(. Estudia los sistemas capaces de hallar m'todos para solucionar problemas de cierto grado de compleidad. PE)CEPCI'. Estudia sistemas capaces de reaccionar al entorno $ actuar sobre el" se usan sensores $ para captar las ariables del mundo eterior $ actuadores para modifcar el entorno. 7nclu$e sistemas de isi+n artifcial" reconocimiento de 5ormas" etc. C'*P)E%I' +E (E/-AE AT-)A(. Estudia sistemas &ue interpretan el lenguae natural $ permiten la interacci+n entre humanos $ m#&uinas mediante lenguaes no estructurados. AP)E+IAE" +E*'%T)ACI' +E TE')E*A%" -E/'%. Estudia t'cnicas de aprendi,ae &ue permitan a una m#&uina captar in5ormaci+n del mundo eterior $ generar sus propios aprendi,aes" asimismo puede reconocer 5ormas $ s(mbolos matem#ticos con el obetio de demostrar teoremas. %ambi'n se trabaa con la teor(a de uegos de manera &ue las m#&uinas se comporten inteligentemente" por eemplo en el uego de aedre,. %radicionalmente se han estudiado escenarios &ue re&uieren deducci+n como son los casos del granero" la gallina" el perro $ el ma(," los misioneros $ los can(bales" etc. %I%TE*A% E2PE)T'%. >on sistemas capaces de tomar decisiones en base a in5ormaci+n almacenada adecuadamente" la misma &ue es tratada por un motor de in5erencias. Eemplos de estos sistemas son: el diagn+stico m'dico" la ingenier(a &u(mica" la eploraci+n geol+gica" el diseo de computadoras entre otros. (E/-AE% +E (A ITE(I/ECIA A)TIFICIA(. 4ara desarrollar aplicaciones en 7nteligencia artifcial se usan lenguaes como 4rolog 4 'n9? 8espu's de haber obserado detenidamente el ideo responde a las siguientes preguntas: Pregunta de Elección *@ltiple (a inteligencia artifcial se evidencia en el comportamiento de;
*as computadoras
El so5tware
*os programas
*a tecnolog(a
(os ro:ots
En el (deo se eidencia el comportamiento inteligente mostrado por los robots. Pregunta de %elección *@ltiple Al:erto %aneliu precisa !ue los ro:ots de:en Encontrar la soluci+n +ptima a los problemas.
Aprender a resolver los pro:lemas
>er programados para resoler problemas espec(fcos.
Adaptarse al entorno.
%rabaar en red de computadoras.
>egn >an5eliu los robots deben aprender a resoler problemas" adapt#ndose al entorno" Pregunta de Elección *@ltiple 1. -n ro:ot capaz de conversar se denomina6 7nterlocutor.
6onersacional.
6hateador.
C7at:ot.
6hatting
El ro:ot capaz de conversar se denomina c7at:ot
1.2 Eoluci+n hist+rica
Fuente: http://www.ruther5ordournal.org/article0C0101.html. ,osen"latt
*os primeros inestigadores reali,aban sus trabaos :asados en el modelo de *cCulloc7 # durante los aos 0 se logra el Perceptrón de )osen:latt" un sistema isual de reconocimiento de patrones. +urante los aos =0 Alan e9ell # ,er:ert %imon trabaan la demostraci+n de teoremas $ el aedre, con a$uda de computadoras usan un programa denominado /P% /eneral Pro:lem %olver6 solucionador general de pro:lemasD. Mste era un sistema en el &ue el usuario defn(a un entorno en 5unci+n de una serie de obetos $ los operadores &ue se pod(an aplicar sobre ellos. Este programa era capa, de trabaar con las torres de Sanoi" as( como con criptoaritm'tica $ otros problemas similares" operando" claro est#" con microcosmos 5ormali,ados &ue representaban los par#metros dentro de los cuales se pod(an resoler problemas. Lo ue no podía 'acer el -*. era resoler problemas ni del mundo real, ni médicos ni tomar decisiones importantes. El -*. mane$aba a partir de sus propios reglas 'eurísticas
descubrimientos= &ue la conduc(an hasta el destino deseado mediante el m$todo del ensa#o # el error.
Ta en los años /0" un e&uipo de inestigadores dirigido por Edard 1eigenbaum comen,+ a elaborar un pro$ecto para resoler problemas de la ida cotidiana o &ue se centrara" al menos" en problemas m#s concretos. )s( es como nació el primer sistema e"perto denominado 2endral " un int'rprete de espectrograma de masa construido en 1HU" luego en 34/ aparece %ycin capa, de diagnosticar trastornos en la sangre y recetar la correspondiente medicación" todo un logro en a&uella 'poca &ue incluso 5ueron utili,ados en hospitales an Francisco" EE=. *uego en los años 60" se desarrollaron lenguaes especiales para utilizar con la Inteligencia Artifcial" tales como LI.* y *78L8-. Es en esta 'poca cuando se desarrollan sistemas epertos m#s refnados" como por el eemplo el E97I.:8. Este programa perecciona su propio cuerpo autom;ticamente" por inducci+n.
de
reglas
'eurísticas
%eg@n ac?son
Perodo Ao s
,itos • •
&l;sico
-/0 1 -2/
• •
•
• •
• • •
7om;nt -2/ 1 ico -34/
• • • • •
• •
-4/ %odern 1 a la fech o a
•
•
Nestaci+n <;c6ollucK $ 4itts" >hannon" %uring=. 7nicio - reuni+n de 8armouth 6ollege en 1GH <;insK$" ;c6arth$=. 9edes neuronales" rob+tica <>haKe$=. Is&ueda en un espacio de estados" Seur(sticas" *7>4. 9esoledor general de problemas " Dewell" >imon=. Vuegos" prueba de teoremas. *imitaciones de pura bs&ueda" eplosi+n combinatoria. 9epresentaci+n general del conocimiento. 9edes sem#nticas S89*= istemas epertos" >istemas basados en conocimiento. 9egreso de redes neuronales
%eg@n )ussell # orvig
7ussell y =orig proponen los siguientes períodos
Perodo /estación
Ao s 1C3 1GH
Entusiasm o# 1G2 grandes e&pectativ 1H as
,itos •
• •
•
•
•
•
+osis de realidad
1HH 1UC •
%istemas :asados en conocimie nto
1H 1U
•
•
1PH
•
;c6ullocK $ 4itts" Sebb" >hannon" %uring";insK$ $ Edmonds" 8armouth 6ollege" ;c6arth$=" Dewell $ >imon" %he *ogic %heorist. >amuel Z 6hecKers" ;c6arth$. *isp" time sharing" 4rogramas con sentido comn. En 1H3 ;c6arth$ 5ue a >tan5ord >97" >haKe$" etc. ;insK$" Eans" >tudent" Qalt," Qinston" Qinograd" etc. %rabao en 9D: Sebb" Qidrow" 9osenblatt >imon predec(a &ue en 10 aos se tendr(a una m#&uina inteligente. 4redicciones similares en traducci+n autom#tica $ aedre,. %eor(a de D4-completness. Eperimentos en machine eolution S89* >hanK
)egreso de Z a la redes 5ech neuronales a
•
de los >E. 6ambio gradual hacia los t'cnicos $ leos de los rudos
Biograas
Alan e9ell Sio de pro5esor de radiolog(a de la uniersidad de >tan5ord se cri+ en >an Francisco $ se gradu+ en >tan5ord" despu's de graduarse pas+ un ao en 4rinceton" pero decidi+ &ue no era un matem#tico $ opt+ por trabaar para la 9)D8 6orporation en un pro$ecto sobre el modelado de un centro regional de de5ensa a'rea. Dewell conoci+ a >imon" con el &ue comparti+ su afnidad acerca de la 7.). < 5uente: +ircenter.net = El problema cient(fco le elige" usted no lo elige. ;i estilo es ocuparse de un solo problema" a saber" la naturale,a de la mente humana. Mse es el problema &ue he cuidado a tra's de mi carrera cient(fca" $ ser# de esta manera hasta el fnal. Alan )llen Dewell conduo una ida mu$ productia $ eitosa e9ell como in5orm#tico. )&u( est# algo de la heur(stica &ue 1GH"1GG utili,+: HD Saga lo &ue usted ame" &uiera a lo &u' usted hace. 4ersona de gran energ(a $ entusiasmo incre(bles &ue sol(a decir esto. )$ude a otros a encontrar un estado similar" no importa c+mo de di5erente puedan ser sus opciones . 4uesto &ue 'l era 5eli, $ seguro en lo &ue 'l hac(a" )llen se imbu(a sobre lo &ue hac(a la gente" $ podr(a a$udarle a
menudo a 'l hacer buenas opciones. Do se preocupe de lo intr(nseco o lo elegante &ue usted es o cual&uier persona es. Dunca le i sentirse amena,ado por la brillante, de otra persona u o5endido por su carencia de ella. Ml u,g+ solamente el 5uncionamiento. >ea intelectualmente 5uerte" uni5ormemente para todo el mundo. )llen era intelectual incluso al cr(tico m#s resistente &ue ten(a siempre. )l principio" no pens' &ue se austara con su actitud de apo$o. 4ero entonces reconoc( algo &ue no era personalR 'l aplic+ est#ndares resistentes as( mismo. >ea cuidadoso sobre lo &ue usted a$a a hacer" $ despu's realmente h#galo. Ml acord+ hacer solamente algunas de las cosas de las &ue le pregunt'" $a &ue le a$udar(a siempre con algo &ue cre(a &ue era importante. 6uando hacia algo" no hab(a duda sobre su niel del es5uer,o. 112 herborne 130: ;uerte de su amigo 6hristopher ;orcom 131-3C: Estudiante en JingYs 6ollege" uniersidad de 6ambridge. 132-3G: ;ec#nicos del &u#ntum de los estudios" probabilidad" l+gica 13G: Elegido6ompaero de JingYs 6ollege" 6ambridge 13H: *a m#&uina de %uring: En nmeros computables... 13H-3P: En *a niersidad 8e 4rinceton. 4h.8. *+gica" #lgebra" teor(a del nmero 13P-3: uelta a 6ambridge. 7nestiga el problema alem#n de la ci5ra. 13-C0: 7dea el Iombe" m#&uina para el desci5ramiento de Enigma. 13-C2: 8esci5ra el c+digo alem#n Enigma 1C3-CG: 4rincipal consultor de )nglo-)mericano. )lan %uring 7ntroducci+n al elemento electr+nico 1CG: *aboratorio F(sico Dacional" *ondres 1CH: 8iseo del ordenador alidado 5ormalmente 1CU-CP: 4rogramaci+n" redes neuronales $ perspectias de la inteligencia artifcial 1CP: niersidad de ;anchester 1C %rabao sobre la programaci+n $ el primer uso serio en el mundo de un ordenador 1G0: 8ocumento flos+fco sobre inteligencia de la m#&uina: el test de %uring 1G1:F9>. elegido 4aper en la teor(a no lineal del morphogenesis 1G2: )rrestado como homoseual" p'rdida de la
habilitaci+n 1G3-GC: %rabao inacabado en biolog(a $ 5(sica 1GC ociet$. %rabaa en la teor(a de aut+matas 1GG El presidente Eisenhower le nombre comisionado de la > )tomic Energ$ 1GU El P de 5ebrero muere de c#ncer en Qashington 8.6 <.>.)=. 6omo un honor especial se dedica un olumen completo del $ulletin of the +merican Mathematical (ociety a su ida $ obra. Sasta 1CG la ar&uitectura 5(sica de todo ordenador ser(an a la par de programa en el plano m#s estricto" $ por lo tanto los cometidos de estas m#&uinas eran inamoibles" a menos &ue los ingenieros se atreiesen a cambiar las coneiones" esto adem#s de ser una tarea ardua $ en ocasiones casi imposible" era sumamente costoso. Vohn on Deumann sugiri+ en 1CG una alternatia hacia una ar&uitectura m#s ers#til. Dacido en Iudapest en 103" Deumann a o5recido a la
,er:ert %imon 1G1= K H001D
humanidad muchas $ mu$ ariadas aportaciones cient(fcas" como la teor(a de los uegos" teor(a de los aut+matas" c#lculo de la propagaci+n de las ondas de cho&ue" ensa$o sobre la matem#tica de la teor(a cu#ntica" etc. *a ar&uitectura de on Deumann 5ue adoptada por todos los ordenadores desde la >egunda Nuerra ;undial" dicha ar&uitectura hace una di5erenciaci+n del ordenador en dos partes" &ue son las siguientes: 64 <nidad 6entral de 4rocesamiento=: &ue opera sobre los datos &ue ha$ &ue manipular. ;E;?97): es a&u( donde est#n guardados los datos. *as m#&uinas con ar&uitectura on Deumann operan al comp#s de ciclos defnidos con precisi+n: - %oma de la memoria la 1\ instrucci+n. - %oma de otra parte de la memoria el dato sobre el &ue ha$ &ue operar. - Eecuta la operaci+n. - %oma de la memoria la siguiente instrucci+n imon &ue por a&uel entonces <1GG= ten(a 3H aos" se 5orm+ como pol(tico cient(fco" comen,+ inestigando sobre la administraci+n municipal. En 1CP particip+ en la administraci+n pblica en el 4lan ;arshall" despu's de la segunda guerra mundial. 4oco despu's traba+ en la 5undaci+n de la Nraduate >chool o5 7ndustrial )dministration WEscuela de )dministraci+n 7ndustrial para 4ostgraduadosX" organi,aci+n perteneciente a la 6anegie ;ellon. ) Serbert >imon le 5ascinaba la 5orma con la &ue las personas toman decisiones" $ sus ideas prosperaron hacia el estudio del 5uncionamiento de la mente humana" hasta el punto de desarrollar una teor(a &ue trataba de eplicar c+mo las personas e instituciones toman decisiones" tesis a la &ue llam+ %eor(a de la racionalidad limitada. 7nestigador en 4sicolog(a humana &ue empe,+ utili,ando los s(mbolos para la resoluci+n de problemas" hablados $ escritos" aprender e inentar. *os ltimos CG aos" la psicolog(a cognitia ha construido $ testeado modelos emp(ricos de esos procesos como los &ue ellos utili,aron para resoler desde simples tareas a las m#s complicadas. *os modelos toman su 5orma de los
programas computari,ados &ue simulan el comportamiento humano. 4ro5esor de institutoR pro5esor de ling](stica" teor(a ling](stica" sintais" sem#ntica" floso5(a del lenguae $ &ue recientemente ha publicado el libro El archio de Doam 6homsK$ Pu:licaciones # li:ros6 *inguistic 7n&uir$ ;onograph 13" 6ambridge: ;7% 4ress" 1PH. Jnowledge o5 *anguage: 7ts Dature" ?rigin" and se. Dew TorK: 4raeger 4ublishers" 1PH. *anguage and 4roblems o5 Jnowledge: %he ;anagua *ectures" 6ambridge: ;7% 4ress" 1PU. *anguage in a 4s$chological >etting. >ophia *inguistica QorKing 4apers in *inguistics" Do. 22" >ophia niersit$" %oK$o" 1PU. Neneratie Nrammar: 7ts Iasis" 8eelopment and 4rospects. >tudies in English *inguistics and *iterature" >pecial 7ssue" J$oto niersit$ o5 Foreign >tudies" 1PP. >ome Dotes on Econom$ o5 8eriation and 9epresentation. 7n 7. *aKa and ). ;ahaan tructure. ;7% QorKing C7oms?# 4apers in *inguistics" 10" C3-UC" 1P. 9eprinted in 1GHLKD 9obert Freidin tudies in *inguistics >eries Do. 20" C1U-CGC" 6ambridge: ;7% 4ress" 11. ?n the Dature" se and )c&uisition o5 *anguage. Q. *$can cience: 4roblems and ;$steries. 7n ). Jasher pring 12. *anguage and 7nterpretation: 4hilosophical 9e^ections and Empirical 7n&uir$. 7n Vohn Earman cience. IerKele$: niersit$ o5 6ali5ornia 4ress" 12. ) ;inimalist 4rogram 5or *inguistic %heor$. 7n J. Sale and >.V. Je$ser $lain Iromberger. 1-G2" 6ambridge ;): ;7% 4ress" 13. *anguage and %hought. QaKefeld" 97: ;o$er Iell" 13. techow" Q. >terne5eld
and %. ennemann $nta: )n 7nternational SandbooK o5 6ontemporar$ 9esearch. G0H-GH" Ierline and Dew TorK: Qalter de Nru$ter" 13. Iare 4hrase >tructure. 6ambridge: ;7%Q4*" Vanuar$ 1C. 9eprinted in ?tero Festschri5t. Neorgetown niersit$ 4ress tud$ o5 *anguage and ;ind. 7nternational Vournal o5 4hilosophical >tudies" 2" >eptember 1C tud$ o5 *anguage and ;ind. 7nternational Vournal o5 4hilosophical >tudies" 2" >eptember 1C hannon se gradu+ en ;ichigan $ 5ue a ;7% donde escribi+ una tesis sobre el uso del )lgebra de Ioole para anali,ar $ optimi,ar el intercambio en los Claude circuitos. Estuo en %el'5onos Iell en 1C1 como El9ood matem#tico inestigador $ permaneci+ all( hasta 1U2. %7annon 4ublic+ ) ;athematical %heor$ o5 6ommunication en 1G1=K el diario de Iell >$stem %echnical Vournal <1CP=. >u H001D trabao 5und+ el sueto de la teor(a de in5ormaci+n $ propuso un modelo es&uem#tico lineal de sistemas de comunicaciones. 6re+ un m'todo para el an#lisis de secuencias de t'rminos de error en una seal para encontrar su ariedad heredada" llegando a disear una ariedad de sistemas de control. En 1G2 gener+ un eperimento &ue ilustraba las capacidades de los rel's tele5+nicos. >hannon 5ue premiado con la ;edalla Dacional de 6iencias en 1HH. ;arin ;insK$ ha hecho multitud de contribuciones a la 7nteligencia )rtifcial" psicolog(a cognitia" matem#ticas" ling](stica computacional" rob+tica $ +ptica. En aos recientes ha trabaado como e5e en la capacidad de las m#&uinas para el raciocinio. >us concepci+n de la estructura humana intelectual $ las 5unciones 5ueron presentadas en la %he >ociet$ o5 ;ind <1PU=" el cual es tambi'n el t(tulo de uno de los cursos en el ;7%. 9ecibi+ el I) $ 4h8 en matem#ticas por Sarard $ 4rinceton. En 1G1 constru$+ el >D)96" el primero simulador de redes neuronales. >us otras inenciones inclu$en manos mec#nicas $ otros peri5'ricos de robots" el con5ocal scanning microscope" el ;use" sinteti,ador para ariaciones de msica .4apert=. ;iembro del D)>" D)E $ D)> *arvin )rgentina" ha recibido el premio %uring )6;" el Jilliam *ins?# 1 ;7%" el 4ri,e apon's" el 7V6)7 9esearch Ecellent $ el GHKD 9anK 4ri,e. Pu:licaciones # li:ros: )lien 7ntelligence
Qh$ 4eople %hinK 6omputers 6anYt $mbolic s. 6onnectionist ociet$ o5 ;ind e licenci+ en matem#ticas en 1CP" despu's march+ a 4rinceton para llear a cabo sus estudios de postgrado. Fue desde all( donde estudi+ a on Deumann" sobretodo su teor(a de los aut+matas" $ traba+ con 6laude >hannon editando una colecci+n de art(culos sobre el tema. El erano de o7n 1GG" lo pas+ en 7I; 5ue all( donde comprendi+ &ue las *cCart7# computadoras digitales o5rec(an la maraillosa 1GHK posibilidad de construir inteligencias artifciales" $endo H011D m#s leos &ue los meros estudios abstractos &ue le epon(an las ;#&uinas de %uring $ la %eor(a de los )ut+matas de on Deumann. Sasta los H0 traba+ en la inestigaci+n de temas relacionados con la 7.). arropado por el t(tulo de pro5esor a$udante. Fue a partir de 1H0 cuando se de+ el pelo largo $ se moi+ en moimientos contraculturales. *uch+ contra el posible mal uso de la in5ormaci+n de los bancos de datos" $ en los U0 busco a su erdadero $o practicando con su segunda muer paracaidismo $ escalada. ;as en 1P0" despu's de la muerte de su muer
,ur:ert +re#us 1GHGKD
desde su creaci+n. El $ su hermano >tuart asistieron en 1H1 a una con5erencia de Serbert >imon acerca de un modelo psicol+gico de memoria a corto pla,o ideado por este. 8espu's de una mesa redonda" los hermanos 8re$5us aadieron en el libro de actas una nota de discusi+n digna del meor lenguae diplom#tico ) los implacables pro5etas del ordenador omnipresente_ les 5alta un atributo 5undamental del cerebro humano: unas cuantas neuronas no comprometidas. %res aos despu's" en 1HC Surbert 8re$5us 5ue contratado por la 9)D8 6orporation para ealuar la iabilidad de la 7.). desde el punto de ista flos+fco. 6omo con5es+ m#s tarde 4aul )rmer" &ue 5ue &uien contrat+ a Surbert si hubiera sabido de sus anteriores publicaciones en contra de la 7.). no lo habr(a contratado. El in5orme escrito por Surbert result+ una proocaci+n para la comunidad cient(fca de la 7.)." empe,ando por el t(tulo *a al&uimia $ la inteligencia artifcial. *os partidarios de la 7.). &ue la de5end(an desde la 9)D8 intentaron impedir su publicaci+n" por&ue_el hecho de &ue 8re$5us 5uese consultor de la 9)D8 le conced(a credibilidad!. En el in5orme de 8re$5us <*a al&uimia de la 7.).=" este recurre a argumentos flos+fcos para negar la iabilidad de la 7.)." todo ello 5ormulado con la diplomacia &ue le caracteri,a en asuntos de esta (ndole. 8icho art(culo 5ue el m#s endido de todos los di5undidos por la 9)D8" cosa &ue a esta misma no le hi,o nada de gracia. >e$mour 4aper" a su e," respondi+ a *a al&uimia $ la inteligencia artifcial con un in5orme titulado *a inteligencia de Surbert *. 8re$5us: un manoo de 5alacias. 4ero no solo eso" sino &ue 4aper ret+ a 8re$5us a ugar una partida de aedre, contra ;acSacK ocial en la niersidad de 6ornell en 1G0 $ en 1GH obtuo el doctorado en 4sicopatolog(a Eperimental por la misma uniersidad. El 4erceptr+n se cre+ por primera e, como una simulaci+n en un 7I; U0C" $ en 1GP" 9osenblatt entreg+ su pro$ecto a la prensa" este hecho encendi+ la ira de la comunidad cient(fca de 7.)." otro inestigador &ue hab(a cometido el grae error de dearse llear por Fran? los ^ashes de las c#maras. )osen:lat En un art(culo publicado por 9osenblatt en la mism(sima t 1GHLK >cience" solo el t(tulo hace preer el disgusto de los 1G1D cient(fcos `` 4erceptr+n: @n sustituto de los cerebros humanosB *a erdad es &ue el 4erceptr+n 5ue una buena idea" $ es posible &ue los problemas &ue obtuo 5uesen proocados m#s &ue nada por el eagerado entusiasmo de su creador. El 4erceptr+n supon(a la uni+n entre el 4andemonium de >el5ridge $ las neuronas de ;c6ulloch $ 4itts. ;#s tarde" en 1H" ;arin ;insK$ $ >e$mour 4aper escribieron un libro llamado 4erceptrones" en donde defn(an a estros como caminos sin salida. %ambi'n es erdad &ue ahondaron en ellos $ sacaron conclusiones mu$ curiosas e interesantes" pero dado &ue ambos son dos personalidades de peso en el mundo de la 7.)." en cuanto se public+ el libro" todas las inestigaciones acerca de 4erceptrones se parali,aron $ anularon. FranK 9osenblatt" &ue segn se rumoreaba estaba $a algo cansado de los 4erceptrones su5ri+ un accidente $ se ahog+ naegando.
%istemas desarrollados
Fuente: http://www.monografas.com/trabaosHC/inteligencia-artifcialinestigacion-sistemas-computo/inteligencia-artifcial-inestigacionsistemas-computo2.shtml •
N4> - Dewell" >haw $ >imon
•
4erceptron - ;insK$ $ 4apert 6heKers - ). >amuel
•
;)6>T;) ); - 8. *enat
•
E*7) - Qeisenbaum
•
>haKe$ - >97
•
>S89* - Qinogard
•
;T67D - E. >hortliLe
•
4rospector - 8uda" Sart
•
Searsa$ 77 - Erman" Sa$es-9oth" *esser" 9edd$
•
6T6 - 8. *enat" 9. Nuha
•
4EN)>> - hace reseras de transporte por tel'5ono Wue et al. CX
•
•
•
•
•
;)9E* - sistema eperto en tiempo real &ue manea la in5ormaci+n de o$ager $ a$uda a diagnosticar 5allas W>chwuttKe 2X >istema de diagn+stico de medicina interna con capacidad de eplicar sus ra,ones a los epertos WSecKerman 1X D)*)I - eh(culo aut+nomo &ue iae en 5orma autom#tica de un etremo a otro de E) W4omerlau 3X >istema de isi+n &ue monitorea el tr#fco en 4aris $ reconoce accidentes con los cuales llama a sericios de emergencia WJoller CX 8EE4 I*E - m#&uina paralela &ue uega aedre, $ primera en derrotar al campe+n mundial W7I; UX
%istemas desarrollados detallesD
E(IA
6asi cada publicaci+n 5amosa en la 7) menciona el programa E*7) &ue 5ue escrito a fnales de los sesenta por el pro5esor Voseph Qei,enbaum de ;assachusetts 7nstitute o5 %echnolog$ <;7%=. El programa 5ue diseado como una a$uda al an#lisis del lenguae $ el pro5esor V. Q. *o llamo as( en honor a la muchacha &ue aparece en la obra de N. I. >haw" &ue comen,+ como una endedora calleera de ^ores $ su ida se trans5orm+ cuando el pro5esor de dicci+n le enseo a hablar un correcto ingl's" &uien asumi+ esta tarea como parte de una apuesta. n elemento mu$ importante del mensae de >haw era &ue aun&ue Eli,a continuaba siendo la misma persona" con las misma irtudes $ de5ectos antes $ despu's de su trans5ormaci+n" la gente la e(a de un manera de5erente" como una seorita bien estida $ con un acento culto" en contraste con la desastrada endedora de ^ores &ue hablaba de una 5orma ulgar. 4odemos obtener la moralea de esta historia $ obserar &ue aun&ue un programa sea mu$ compleo la computadora sigue siendo una acumulaci+n inanimada de dispositios electr+nicos $ &ue" aun&ue algunos de los resultados puedan ser sorprendentes la ma&uina es capa, de eecutar nicamente las tareas para las cuales 5ue eactamente programada $ nada m#s.
*a especiali,aci+n de en cual&uier actiidad re&uiere un gran conocimiento de asociado. El proceso para poder practicar una cierta actiidad depende de la asimilaci+n de este conocimiento. n conunto de hechos constitu$en una gran parte del conocimiento b#sico sobre un tema" pero son igualmente importantes la destre,a &ue se puede ad&uirir con la eperiencia" las ideas generales en algunos casos acerca de lo &ue es una buena pr#ctica $ el arte de tomar un decisi+n acertada bas#ndose en in5ormaci+n incompleta. Esto resulta tan importante para el aprendi,ae de cual&uier materia o para &ue el estudiante de cual&uier ciencia ad&uiera los aspectos sutiles del *NCI tema" como aprender las premisas b#sicas. En la creaci+n de un sistema eperto ha$ una parte bastante inmediata de codifcaci+n de los hechos conocidos sobre un temaR la parte m#s di5(cil" conocida como modeli,aci+n de la maestr(a" consiste en la 5ormulaci+n $ aplicaci+n de reglas
etra(das de la eperiencia &ue se posee en el tema. En cual&uiera de los casos el sistema est# constituido por una base de conocimientos &ue proporcionan los hechos $ un motor de in5erencia para desarrollar las deducciones l+gicas $ tomar decisiones chortcliLe en 1UH es un sistema &ue diagnostica en5ermedades in5ecciosas" en particular in5ecciones sangu(neas. ;T67D lo usan m'dicos en pr#cticas para obtener a$uda en sus diagn+sticos" a su e, el sistema se actuali,a con los hechos $ reglas de in5erencia &ue proporcionan los especialistas. 8ED89)* es un programa eperto de an#lisis &u(mico $ se ha aplicado con mucho 'ito en muchos lugares del mundo. 8ED89)* soluciona un problema de ingenier(a &u(mica en tres 5ases. En primer lugar" el programa infere cual&uier posible restricci+n sobre la soluci+n bas#ndose en el conocimiento &ue posee en su base de datos. ) continuaci+n permite a los usuarios aadir cual&uier otro tipo de restricci+n $ fnalmente genera $ comprueba una +E+) lista de posibles soluciones" &ue imprime en orden de A( pre5erencia. 8ED89)* se escribi+ originalmente en *74>" pero ha sido reprogramado para ser usado en arias m#&uinas di5erentes de entre las &ue se destaca la implementaci+n reali,ada sobre un 484-10 en Edimburgo. Este programa basado en la estrategia de planifcar" generar $ comprobar se usa en las uniersidades $ en las industrias de Estados nidos $ en Europa $ representa una de las aplicaciones pr#cticas de la 7) &ue m#s 'ito ha conseguido de entre las desarrolladas hasta la 5echa.
1.J %istemas computacionales # sistemas inteligentes *a eoluci+n de millones de aos ha permitido &ue los seres humanos logren reali,ar tareas consideradas como inteligentes. 4osteriormente el hombre crea las computadoras &ue permiten el procesamiento de datos en base al modelo on Deuman"" posteriormente se crean las redes de computadoras para el tratamiento secuencial de la in5ormaci+n" a estos sistemas los denominamos sistemas computacionales" cuando estos sistemas pueden reali,ar tareas tal como si tuieran comportamiento humano" las denominamos sistemas inteligentes. *os sistemas computacionales han ariado desde el tratamiento de archios istemas inteligentes=.
Fuente: Elaboraci+n propia El obetio de los sistemas inteligentes
memori,aci+n" ra,onamiento $ comunicaci+n de sus decisiones tal como lo har(a un eperto en cual&uier disciplina del &uehacer humano.
1.O Aplicaciones en las industrias # en las empresas *as lineas tradicionales de inestigaci+n en 7) inclu$en el ra,onamiento l+gico" la traducci+n autom#tica $ comprensi+n del lenguae natural" la rob+tica $ automati,aci+n" la isi+n artifcial $" especialmente" las t'cnicas de aprendi,ae $ de ingenier(a del conocimiento. Estas dos ltimas ramas son las m#s directamente aplicables al campo de la industria $ las fnan,as pues" desde el punto de ista de los negocios" lo &ue interesa es construir sistemas &ue incorporen conocimiento $" de esta manera" siran de a$uda a los procesos de toma de decisiones en el #mbito de la gesti+n empresarial. 8esde un punto de ista amplio las aplicaciones de la 7) actualmente se dirigen a resoler problemas en empresas industriales" disciplinas m'dicas" diseo de ingenier(a" etc. En el #mbito espec(fco del )n#lisis 6ontable" segn Ions+n 4onte $ >ierra ;olina la 7nteligencia )rtifcial constitu$e una de las l(neas de actuaci+n 5utura m#s prometedoras" con posibilidades de aplicaci+n tanto en el #mbito de la inestigaci+n como en el diseo de sistemas de in5ormaci+n inteligentes* &ue no solamente proporcionen datos al decisor sino &ue recomienden el meor curso de actuaci+n a seguir. Eiste un gran nmero de aplicaciones eitosas de sistemas epertos. )lgunos eemplos de empresas &ue los utili,an son: )merican Epress" 6itibanK" ;anu5acturers Sanoer %rust" Tamaichi >ecurities $ Dational Qestminister IanK" &ue los han empleado para e5ectuar ealuaci+n de pr'stamos personales" maneo de inersiones" $ para predicciones de mercados fnancieros. *a empresa cali5orniana 6ountr$wide Funding usa un gigantesco sistema eperto para ealuar sus hipotecas. El obetio de la empresa era desarrollar un sistema inteligente capa, de ealuar hasta G0"000 aplicaciones mensuales de una 5orma m#s efciente &ue la utili,ada tradicionalmente. )un&ue inicialmente se ealuaron otras t'cnicas" tales como las redes neuronales" se opt+ por los sistemas epertos debido a su capacidad de eplicar la 5orma en &ue se llega a una cierta decisi+n. %radicionalmente" el proceso de ealuaci+n de hipotecas es e5ectuado por personal altamente califcado &ue anali,a hasta unos 1G0 elementos para tomar su decisi+n" inclu$endo la solencia del cliente $ el alor de la propiedad. En promedio" el proceso de ealuaci+n manual toma unos G0 minutos. El sistema eperto &ue 6ountr$wide Funding usa ahora" llamado 6*E>" tiene unas 1"000 reglas $ re&uiere de entre 1 $ 2 minutos para procesar una aplicaci+n. El sistema aprueba autom#ticamente el GG de las aplicaciones $ desaprueba todas a&uellas &ue un humano recha,ar(a. >i el sistema recomienda &ue se rechace una aplicaci+n" la decisi+n
fnal la debe tomar un ealuador humano" &uien erifca el proceso &ue sigui+ el programa para tomar esa decisi+n. *a empresa aseguradora 6ontinental 6anada ha desarrollado un sistema eperto para ealuar aplicaciones de seguros para autom+iles de una 5orma efciente. Este sistema contiene cientos de reglas deriadas de epertos humanos en p+li,as de seguros. 4or eemplo" ha$ reglas espec(fcas para asignar un riesgo m#s alto a a&uellos casos en &ue el cliente sea oen <$ por tanto ineperto= $ cuando se tengan eh(culos m#s ieos <$ por ende m#s propensos a 5allas mec#nicas=. El sistema procesa todas las aplicaciones $ actia ciertas alertas cuando se detectan posibles problemas. En estos casos" la decisi+n fnal &ueda a cargo nueamente de un eperto humano. 6ontinental 6anada afrma &ue este sistema eperto reduo los gastos administratios de la empresa en un GG" incrementado las ganancias en un 30. 4resentamos a continuaci+n una lista no eclu$ente de aplicaciones en el campo empresarial $ fnanciero: AFI <)n#lisis Financiero de Ialances=: 9eali,a un an#lisis de los estados fnancieros. Estudia" para dos aos consecutios" los Ialances $ 6uentas de 9esultados" la ;emoria" el Estado de ?rigen $ )plicaci+n de Fondos" con5ecciona cuadros $ calcula ratios de tesorer(a" endeudamiento" rentabilidad econ+mica $ fnanciera" etc. %ambi'n presenta un in5orme del diagn+stico de la situaci+n de la empresa" indicando una serie de recomendaciones para su meora. AI+E < +ssistance 6nformatis#e au Diagnostic d7Entreprise =. )$uda en el diagn+stico de empresas reali,ado por la 6entral de Ialances del Ianco de Francia. *a base de reglas est# 5ormada por dos blo&ues: un blo&ue fnanciero" calculado sobre la estructura del an#lisis de las empresas por la 6entral de Ialances" $ un blo&ue econ+mico" centrado en la competitiidad" crecimiento $ estrategia. El sistema elabora un in5orme estudiando la posici+n de la empresa" sus potencialidades" sus resultados $ su estrategia. %EF <(ysteme E)pert 5i"en=. 4roporciona a los bancos priados un an#lisis de solencia de las compa(as &ue 'stos soliciten. El diagn+stico inclu$e una lista de debilidades $ de materias sobre las &ue se re&uiere una inestigaci+n m#s pro5unda. Este sistema est# pensado para ser utili,ado cuando se necesita in5ormaci+n r#pida sobre una empresa en concreto" pues se puede acceder on line <(a tele teto=" pero tambi'n proporciona in5ormaci+n detallada si se trata de operaciones importantes" como por eemplo pr'stamos de gran cuant(a. A(FE2 <)le$ Financial 6ommunit$ 6lub" Seli >o5tware 6onsultants $ Epert >$stems 7nternational=. Es un pro$ecto de construcci+n de sistemas epertos patrocinado por el )le$ Financial 6ommunit$ 6lub.
El obetio de este pro$ecto es crear sistemas epertos capaces de asesorar sobre la salud fnanciera de una compa(a" as( como desarrollar bases de conocimiento $ herramientas apropiadas para la construcci+n de estos sistemas. 4roporciona un in5orme sobre la salud fnanciera de la compa(a" apo$ado con gr#fcos" preisiones de entas" ratios" an#lisis de sensibilidad" etc. AA(N%I% CE)/ Finance. 6lasifca 5uncionalmente el Ialance $ la 6uenta de 4'rdidas $ Nanancias" calcula los ^uos econ+mico fnancieros"la rentabilidad" el potencial de crecimiento" la gesti+n del actio econ+mico" la solencia" la estructura fnanciera" etc.
AIBA( <)n#lisis 7nteligente de Ialances= E97%E* )$uda a los analistas fnancieros a ealuar la gesti+n comercial $ fnanciera de la empresa. 9eali,a un an#lisis patrimonial" fnanciero $ econ+mico de la situaci+n de la empresa" tanto desde un punto de ista est#tico como din#mico. 6onsta de dos m+dulos: el primero reali,a el c#lculo de ratios" gr#fcos" etc. $ el segundo establece las conclusiones $ presenta un in5orme de la compa(a" resaltando los puntos 5uertes $ d'biles. FIE2 Jerschberg $ 8icKinson )sesora en el an#lisis de los estados fnancieros de las empresas pertenecientes a la industria de enta al por ma$or de petr+leo. El sistema calcula los ratios fnancieros partiendo de los datos obtenidos de la 6uenta de 4'rdidas $ Nanancias $ del Ialance. FIE2PE)T 8 FIE2P)' E2PE)TEA* >ire de apo$o en el an#lisis de estados contables $ en la producci+n de in5ormes fnancieros. El sistema utili,a los m#s recientes aances en el an#lisis de estados fnancieros desarrollados por el 8epartamento de Finan,as del Centre d7Enseignement (up#rieur des +8aires <6E>)= de Francia $ reali,a un triple trabao: an#lisis de la rentabilidad de la empresa" an#lisis de su estrategia fnanciera $ an#lisis de los riesgos inherentes a su eplotaci+n. 4osteriormente emite un in5orme sobre la gesti+n fnanciera de la empresa" indicando los puntos 5uertes $ d'biles $ las sugerencias para su meora. F%A <5inancial (tatement +nalyzer = )rthur )ndersen 6o. 9eali,a la reisi+n anal(tica de los estados fnancieros de una empresa. El sistema e5ecta un an#lisis de ratios usando las cuentas e in5ormes anuales &ue las sociedades americanas tienen &ue presentar a la >E6 <(ecurities and E)change Commision - 6omisi+n del ;ercado de alores=. )dem#s se incorporan t'cnicas de procesamiento del lenguae natural para anali,ar los tetos de los documentos contables. P)FACEE2PE)T < !rogiciel d7E)pertise 5inanci9re en d7+nalyse pour la Cr#ation d7Entreprises= ')+I*E/A Es un sistema eperto de preisi+n fnanciera. 4artiendo de los datos generados por un m+dulo anterior
p#ginas con los datos" apreciaciones $ sugerencias del sistema eperto en tres cap(tulos: eplotaci+n" balance $ tesorer(a.
%A/E Ianco Iilbao i,ca$a $ >ema Nroup >$stem. 9eali,a el an#lisis fnanciero $ de gesti+n de empresas. )nali,a los estados fnancieros $ los datos cualitatios de las empresas $ emite un in5orme sobre la calidad fnanciera $ de gesti+n. %N*E+E Fredouet Es un sistema de diagn+stico de empresa multidisciplinar compuesto por tres m+dulos: ur(dico" econ+mico $ fnanciero. El m+dulo de diagn+stico ur(dico anali,a la pol(tica patrimonial" contractual $ social de la empresa" el m+dulo econ+mico trata de los aspectos estrat'gicos de la situaci+n de la empresa" $ el m+dulo fnanciero anali,a la actiidad de las entas $ del sector productio" la rentabilidad $ la estructura fnanciera a largo $ a corto pla,o. 5ET-)E E2PE)T E2PE)TEA* E5ecta un diagn+stico fnanciero de la empresa. 9eali,a el an#lisis de la rentabilidad" de las estrategias fnancieras $ del riesgo. Emite un in5orme sobre la gesti+n de la empresa $ los planes de acci+n a emprender por parte de la direcci+n. C'*PA%% IanK o5 >cotland )sesora sobre la concesi+n de pr'stamos. )dem#s de un m+dulo conencional &ue anali,a las cuentas de las empresas solicitantes" incorpora otros tres destinados a tratar in5ormaci+n de tipo cualitatio sobre la iabilidad" seguridad $ credenciales de la empresa solicitante" respectiamente. QABA( %roms >parebanK
1. El test de Turing )lan %uring postul+ en 1H0 &ue una m#&uina presenta comportamiento inteligente si un obserador es incapa, de distinguir" para un problema determinado"entre las sucesias respuestas proporcionadas por la m#&uina $ un ser humano" la propuesta 5ue publicada en el art(culo 6omputing machine and intelligence. na persona <[= se encuentra en una habitaci+n mientras &ue en otra habitaci+n se encuentra otra persona <$= $ una m#&uina <;= &ue se supone inteligente" la persona [ tiene comunicaci+n tanto la persona T $ la m#&uina ; a tra's de una inter5ace. *a persona [ 5ormula preguntas &ue son contestadas por la persona T $ la m#&uina ;. En el momento &ue la persona [ no puede distinguir las respuestas de la persona T $ de la m#&uina ;" se dice &ue la m#&uina ; tiene un comportamiento inteligente.
Fuente: Elaboraci+n propia En Vunio del 200G cuando se reali,a un concurso organi,ado por la 9eal >ociet$ recordando el H0 aniersario de la muerte de %uring" una m#&uina conocida como bot conersacional Eugene Noostman pasa con 'ito el test de %uring logrando conencer al 33 de un urado &ue ten(a el comportamiento de un adolescente de 13 aos.
Pro:lemas cl4sicos
Fuente: https://deista.wordpress.com/2010/0G/0/uego-matematicolas-torres-de-hanoi/ En los cursos uniersitarios se han propuesto un conunto de problemas denominados cl#sicos tales como: *as D reinas" *as torres de Sanoi" *os misioneros $ los can(bales." El problema de los baldes" El problema del agente iaero" El problema del granero" etc. 4lanteamos resoler el 4roblema de los baldes
En la siguiente tabla se obseran acciones &ue conducen a una soluci+n: =>mero
Acción
&ondiciones para su aplicación
1
*lenar el balde de P El balde de P gal. no est# lleno gal.
2
*lenar el balde de H El balde de H gal. no est# lleno gal.
3
8escargue el balde de El balde de P gal. no est# ac(o P gal.
C
8escargue el balde de El balde de H gal. no est# ac(o H gal
G
ac(e el balde de P gal. El balde de H gal. no est# lleno $ el de P en el de H gal. gal. no est# ac(o. El contenido conunto es ` H gal.
H
ac(e el balde de H gal. El balde de P gal. no est# lleno $ el de H en el de P gal. gal. no est# ac(o. El contenido conunto es ` P gal
U
*lene el balde de P gal. El balde de P gal. no est# lleno $ el de H con el de H gal. gal. no est# ac(o. El contenido conunto es P gal
P
*lene el balde de H gal. El balde de H gal. no est# lleno $ el de P con el de P gal. gal. no est# ac(o. El contenido conunto es P gal
1.H 7ntroducci+n a los sistemas basados en conociminento Dormalmente cuando se presenta un tema lo primero &ue hacemos es defnirlo $ luego reali,amos ampliaciones" proponemos es&uemas" eemplos" etc. para enri&uecer las defniciones" sin embargo en este caso iniciamos proponiendo un conunto de t'rminos &ue en conunto dan 5orma a los sistemas basados en conocimiento. *as personas tenemos dominio sobre ciertos aspectos del conocimiento &ue nos permite resoler problemas en un determinado campo o disciplina. 4or eemplo" el pro5esional m'dico resuele problemas de salud" el pro5esor trata el problema de aprendi,ae" en este sentido" a la persona &ue demuestra los conocimientos para resoler determinado tipo de problemas la denominamos e&perto. Este eperto proporciona el conocimiento inicial necesario al sistema artifcial para tomar decisiones. 6uando se desarrollan los sistemas tradicionales" se escriben programas &ue son una secuencia de instrucciones de procesamiento a tra's de los cuales determinado usuario representa el conocimiento $ adem#s defne c+mo interacciona con el conocimiento preio para reali,ar actiidades de toma de decisiones. >in embargo en los sistemas :asados en conocimientos" el usuario a &uien denominamos eperto defne el conocimiento $ el sistema lo integra directamente en la eplicaci+n pertinente" la programaci+n no se hace directamente sobre el conocimiento" sino m#s bien se programan algoritmos de in5erencia a los &ue denominamos motor de in5erencias &ue permiten tratar el conocimiento desde una base de datos. ) partir de la d'cada del U0 se inicia el estudio de la ingeniera del conocimiento" &ue comprende el diseo $ construcci+n de sistemas basados en conocimiento. Dormalmente la programaci+n tradicional se ha desarrollado a tra's de la ingenier(a de so5tware. 4ara tratar temas del conocimiento usando tecnolog(as computacionales se re&uiere un nueo en5o&ue por cuanto: 1. El conocimiento humano es impreciso" incierto" tolerante.
incompleto"
inconsistente"
2. El ra,onamiento $ respuesta proporcionado por las personas no siempre es el mismo $ muchas eces no se puede precisar. 3. El conocimiento es eolutio por lo &ue implica procesos de retroalimentaci+n $ de aprendi,ae.
C. *os m'todos tradicionales de desarrollo de so5tware no son aplicables al tratamiento del conocimiento. G. *os pro$ectos de desarrollo re&uieren la participaci+n del eperto en los pro$ectos de desarrollo. 4odemos plantear dos paradigmas &ue orienten el estudio en nuestro curso" el primero proporciona una orientaci+n estructural-cognoscitia $ el segundo 5ormula una orientaci+n 5uncional-conductista. *os sistemas basados en conocimiento se desarrollan con una orientaci+n cognoscitia $ se caracteri,an por la capacidad de saber o conocer sobre un tipo de problemas" m#s &ue capacidades intelectias generales. >epara el conocimiento codifcado en la m#&uina
) partir del segundo paradigma
En la siguiente fgura se muestran las relaciones entre los paradigmas planteados.
)plicaciones de los sistemas basados en conocimiento •
•
•
•
•
>istemas de diagn+stico de 5allos $ sugerencia de medidas correctoras. ;onitori,aci+n $ control de procesos 5(sicos para la detecci+n temprana de anomal(as en tiempo real. >istemas de apo$o en la planifcaci+n articulando coherentemente obetios compleos e interrelacionados $ las acciones &ue optimicen el logro de los mismos teniendo en cuenta las dependencias $ restricciones eistentes. >istemas de confguraci+n de m#&uinas" seleccionando componentes de un conunto en 5unci+n de 5uncionalidades $ restricciones de operaci+n $ compatibilidad. >istema de apo$o a la gesti+n del conocimiento poniendo a disponibilidad de los usuarios el conocimiento re&uerido en 5unci+n de sus intereses con acciones de recomendaci+n $ de a$uda.
1.U Estructura de los sistemas basados en conocimiento En la siguiente fgura presentamos una primera ersi+n de un sistema basado en conocimiento
*a interaz de usuario permite la interacci+n entre el sistema $ el usuario" en la actualidad se implementan inter5aces gr#fcas" reconocimientos de patrones" interpretaci+n de lenguae natural. 8e igual manera laad!uisición del conocimiento permite interactuar al eperto con el ingeniero del conocimiento $ el sistema usando tambi'n inter5aces emulando comportamiento humano. El sistema contiene un conunto de t'cnicas $ algoritmos para implementar el motor de inerencias &ue da tratamiento a la in5ormaci+n contenida en la base de conocimientos para 5ormular soluciones $ elgenerador de e&plicaciones &ue presenta en 5orma ordenada la ustifcaci+n de las respuestas en base a los conocimientos anali,ados" los mismos &ue se implementan en reglas" macros # 7ec7os. En la memoria de tra:ao se almacenan ariables &ue permiten la implementaci+n de los algoritmos $ m+dulos del sistema. 4lanteamos ahora una segunda ersi+n de sistema basado en conocimientos defniendo sus re&uisitos: •
9esoluci+n de problemas a partir de in5ormaci+n simb+lica.
•
9esoluci+n mediante ra,onamiento $ m'todos heur(sticos.
•
6apacidad de eplicar sus conclusiones.
•
>istema interactio
•
6apacidad de adaptaci+n al entorno.
4ara desarrollar un sistema basado en conocimientos con los re&uisitos anteriormente planteados proponemos los siguientes m+dulos: •
;+dulo de ra,onamiento. o
)lmacenamiento del conocimiento.
o
so e interpretaci+n del conocimiento.
o
)lmacenamiento del estado del conocimiento.
•
;+dulo de ustifcaci+n e inspecci+n de la soluci+n.
•
7nter5a, de interacci+n.
•
;+dulo de )prendi,ae
)ctiidades de an#lisis $ comprensi+n 6+mo hemos comentado no eiste una defnici+n uniersal de la inteligencia artifcial" sin embargo podemos epresar un concepto &ue nos permita defnir los obetios $ metodolog(as usadas durante nuestro curso" asimismo te initamos a responder algunas preguntas sobre la estructura de un sistema basado en conocimientos.
1. @4uedes proponer un concepto de la inteligencia artifcialB 2. @Au' obetios crees &ue debe tener la inteligencia artifcialB 3. @) &ui'n se denomina el padre de la inteligencia artifcialB C. @6u#l es el componente &ue trata la in5ormaci+n contenida en una base de conocimientosB G. @Eiste algn niel de interacci+n entre un sistema basado en conocimientos $ el hombreB H. @6u#les son los componentes de una base de conocimientosB
%e initamos a isuali,ar los siguientes ideos •
•
•
Sistoria de la inteligencia https://www.$outube.com/watchBiQH,seHh0 El test de T0aH[wwh3w ;#&uina
logra
artifcial:
turing: https://www.$outube.com/watchB aprobar
el
test
de
%uring:
>>>.youtu"e.com?>atch;v@TAuszBAATc
8espu's de haber obserado detenidamente los ideos responde a las siguientes preguntas:
-na neuroma de *cCulloc?KPitts tiene6 )+n.
>angre.
*eucocitos.
8endritas.
6'lulas madre.
6uerpo.
>inapsis.
*a neurona artifcial propuesta por ;c6ullocK-4itts contiene )+n" dendritas" cuerpo $ sinapsis.
El test de Turing permite medir6 *a capacidad de razonamiento de una m4!uina.
*a capacidad de comportamiento humano de una m#&uina.
*a posibilidad de una m#&uina para conertirse en ser humano
*a capacidad de programaci+n &ue tenga una m#&uina.
*a capacidad eolutia de una m#&uina.
El test de Turing permite conocer la comportamiento 7umano de una m4!uina.
capacidad
Cómo se llama el primer ro:ot !ue supera el test de Turing; )rturito.
9obocop.
Ioris.
Eugenne.
de
)simo.
En Vunio del 201G cuando se reali,a un concurso organi,ado por la 9eal >ociet$ recordando el H0 aniersario de la muerte de %uring" una m#&uina conocida como bot conersacional Eugene /oostman logra pasar el test de %uring.
Bi:liograa 1. Iourcier" 8. 7nteligencia artifcial $ derecho. 8isponible en la Iiblioteca de la >>. 2. 9ussell $ Doring <200C=. 7nteligencia artifcial: n en5o&ue moderno. 4earson Education >.). 2da edici+n. Espaa. 8isponible en la Iiblioteca de la >>. 3. 8elgado" ). 7nteligencia artifcial $ minirobots. 8isponible en la Iiblioteca de la >>. C. Escolano" F. 7nteligencia artifcial" modelos"t'cnicas $ #reas de aplicaci+n.. 8isponible en la Iiblioteca de la >>. G. Dilsson" D. 7nteligencia artifcial: na nuea s(ntesis. 8isponible en la Iiblioteca de la >>. H. 4aare," ;. 7nteligencia artifcial e ingenier(a del conocimiento. 8isponible en la Iiblioteca de la >>. U. 4alma" V. 7nteligencia artifcial. 8isponible en la Iiblioteca de la >>. P. 4once" 4. 7nteligencia artifcial con aplicaciones en ingenier(a. 8isponible en la Iiblioteca de la >>. . >istemas basados en conocimientos. http://www.wolnm.org/apa/articulos/>istemasIa sados6onocimiento.pd5Btarget
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento 16 (a inteligencia artifcial" ,acia donde nos lleva;
-)(: http://www.comoes.unam.m/numeros/articulo/2/lainteligencia-artifcial-hacia-donde-nos-llea Breve descripción6 El documento presenta un an#lisis sobre la capacidad de inteligencia artifcial &ue pueden ad&uirir las m#&uinas" inclu$e una entreista al 8r. 7smael Espino,a del *aboratorio de 6ibern'tica de la D); &ui'n anali,a la tendencia en la disciplina $ el impacto en las personas. ___________________________________ _________.____.. •
+ocumento H6 El uturo de la inteligencia artifcial # la ci:ern$tica
-)(: https://www.bbaopenmind.com/articulo/el-5uturo-de-lainteligencia-artifcial-$-la-cibernetica/B5ullscreentrue Breve descripción6 El autor Jein QarwicK" 4ro5esor de cibern'tica de la niersidad de 9eading" anali,a los c$borg &ue son seres humanos &ue han recibido implantes de componentes electr+nicos para reali,ar tareas propias de los humanos" por eemplo isi+n" audici+n" locomoci+n" etc.
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
•
•
•
•
•
•
Do eiste una defnici+n nica de la inteligencia artifcial. 4ara nuestros fnes de aprendi,ae la 7) busca reali,ar programas de computador &ue eidencien un comportamiento humano para resoler determinados problemas. ) partir de la d'cada del G0 se inicia 5ormalmente la historia de la 7). Eisten arias posturas de di5erentes autores para clasifcar los hitos hist+ricos de la 7). >e reconocen autores &ue han apo$ado el desarrollo de la 7) a %uring" ;insK$" ;c6arth$" 9ossenblant" entre otros. 8espu's de H0 aos una computadora logra pasar satis5actoriamente el test de %uring. Eisten aplicaciones confables de la 7) en diersas empresas para tomar decisiones. *os sistemas basados en conocimientos presentan estructuras bien defnidas" por lo &ue pueden ser programados en computadores. *os sistemas epertos" generan soluciones $ son capaces de aprender" ustifcar sus resultados e interactuar con seres humanos.
*etacognición *as siguientes preguntas te a$udar#n a re^eionar sobre tus propios aprendi,aes" es un eercicio recomendado pata ra,onar e identifcar nuestro es5uer,o intelectual" la fnalidad es guiar nuestras acciones $ procesos mentales. @8e la tem#tica abordada &ue te llam+ m#s la atenci+nB @6onsideras &ue aprendiste con los temas abordadosB @%uiste difcultad solucionasteB
con
algn
tema
@Au' acciones reali,aste para aprenderB
o
actiidadB
@6+mo lo
Tema 0H. conocimiento
)epresentación
del
Fuente: http://lanegai.blogspot.com/ Bienvenida Estimados estudiantes ¡bienenidos! a la segunda semana del curso" donde abordaremos la representaci+n del conocimiento basado en reglas" aplicaremos la l+gica de predicados $ conoceremos el lenguae 4rolog para el tratamiento de reglas. 8urante esta semana trabaaremos con el 78E %urbo 4rolog &ue nos permite trabaar en 5orma sencilla introduci'ndonos al mundo de la programaci+n declaratia.. *os contenidos se complementan con interesantes lecturas" aliosos (deos" p#ginas interactias e importantes actiidades de ealuaci+n &ue conducen a la metacognici+n $ a la comprobaci+n de los aprendi,aes logrados. ¡6ontinuemos!
Introducción al tema
Fuente: http://psmheuristica.webnode.com.e/clasifcacion-metodosheuristicos/sistema-basados-en-el-conocimiento-sbc/ *a representaci+n de conocimiento es el punto de partida cuando tratamos de disear soluciones &ue re&uieren cierto grado de inteligencia con el uso de computadoras. *os sistemas operatios actuales permiten eecutar programas basados en algoritmos $ con ellos podemos implementar aplicaciones in5orm#ticas. El uso de la l+gica de predicados cambia el paradigma de la programaci+n algor(tmica hacia la programaci+n declaratia" concentr#ndonos en los datos $ la defnici+n de reglas" sobre las cuales reali,amos in5erencias para lograr soluciones relacionadas con el conocimiento &ue podemos etraer de la in5ormaci+n o datos. >e ha diseado un lenguae &ue nos permite implementar el re&uerimiento del p#rra5o anterior conocido como 4rolog <4rogramaci+n l+gica= $ se basa en el paradigma de la programaci+n declaratia &ue consiste precisamente declarar hechos o datos" defnir reglas &ue los relaciona $ el motor de in5erencias de 4rolog produce resultados. Esta nuea 5orma de programar es sencilla" pero es necesario un ambiente en el cual se a(sle los obetos computacionales para tratar obetos de in5ormaci+n durante el proceso de aprendi,ae" por esta ra,+n presentaremos un 78E tradicional conocido como %urbo 4rolog" el cu#l no sire para reali,ar soluciones pro5esionales en la actualidad" sin embargo" nos permite ingresar al mundo de la programaci+n declaratia" posteriormente presentaremos 78Es modernos $ isuales. 8urante esta semana conoceremos la estructura b#sica de un programa 4rolog $ los conceptos de tratamiento de ariables $ el procesamiento de reglas. *a recursiidad es un concepto
ampliamente utili,ado en 4rolog" por esta ra,+n dedicamos un (tem espec(fco para desarrollar algunos predicados. 6uando terminemos esta sesi+n de aprendi,ae estaremos en condiciones de implementar sistemas basados en conocimiento usando reglas de producci+n.
)prendi,aes esperados ?cultar Conozcamos ahora las capacidades y actitudes a desarrollar en este primer tema:
Capacidades ?cultar •
•
•
6onoce la l+gica aplicable a la representaci+n del conocimiento 7dentifca los patrones basados en reglas para representar conocimiento. 8escarga e instala el 78E %9I? 49?*?N para iniciar el estudio del lenguae 49?*?N
Actitudes ?cultar •
•
•
8emuestra puntualidad $ perseerancia en la asistencia de las tutor(as programadas. 9econoce los conceptos conocimientos.
de
los
sistemas
basados
en
alora las opiniones de los dem#s $ las recoge para 5ortalecer sus conocimientos.
;arco conceptual Analiza el marco conceptual del tema Estimado estudiante te initamos a participar actiamente de las actiidades de aprendi,ae relacionadas con la representaci+n del conocimiento &ue nos permitir# conocer la l+gica de predicados $ su tratamiento con el lenguae 4rolog" asimismo conoceremos un nueo paradigma conocido como programaci+n declaratia concentrando nuestra atenci+n en los datos &ue son procesados con reglas bien defnidas" conoceremos el concepto de ariables ligadas $ aprenderemos a usar la recursiidad. ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
H.1 (ógica
Fuente: https://poiritem.wordpress.com/200/11/1H/H-C-2-agentesinteligentes-$-la-naturale,a-de-su-entorno/ El mundo &ue nos rodea est# 5ormado por un conunto de o:etos con propiedades particulares &ue se relacionan entre s( $ &ue los di5erencian uno a otro" generando lo &ue llamamos conocimiento. Estas relaciones se epresan en lenguae natural hablado o escrito utili,ando oraciones &ue el ser humano interpreta de acuerdo a 5ormas de ra,onamiento &ue an son motio de estudio por parte de los especialistas en ramas como la psicolog(a" sociolog(a" etc. *a concepci+n moderna de la 7) permite defnir al agente inteligente como un ente &ue posee conocimiento $ puede razonar sobre las acciones a reali,ar 5rente a cierto impulso o cambio en el mundo &ue lo rodea. En t'rminos generales la 7nteligencia )rtifcial <7)= busca &ue un computador se comporte 5rente a determinadas situaciones como lo har(a un ser humano. En t'rminos espec(fcos intentamos representar el conocimiento humano en un computador $ partir de ello generar 5ormas de ra,onamiento para resoler problemas &ue re&uieran cierto grado de inteligencia. 9especto al primer punto los lenguaes naturales est#n orientados 5undamentalmente para cumplir fnes de comunicaci+n entre seres humanos por lo &ue utili,ar 'stos para representar conocimiento en un computador resulta una tarea mu$ complicada $ probablemente por el momento 5uera de es&uema. 4or ello recurrimos a un
5ormalismo conocido como lógica computacional diidido en dos partes: lógica proposicional $ lógica de predicados. %odo lenguae tiene una sinta&is $ una sem4ntica. *a sintais est# re5erida a la representaci+n de oraciones $ defne los patrones 5(sicos de escritura de la oraciones" mientras &ue la sem#ntica epresa el signifcado de las oraciones buscando relaciones #lidas entre los obetos en 5unci+n del mundo &ue los rodea conocido como dominio. *a lógica proposicional" tambi'n conocida como l+gica booleana" representa sint#cticamente oraciones at+micas con proposiciones simples 4" A" 9 " etc" las cuales en determinado momento pueden tener uno $ solo uno de los alores erdadero o 5also pero no ambos. >e generan oraciones compuestas utili,ando conectores l+gicos: conunci+n<$=" dis$unci+ni...entonces=" $ otros. *a sem#ntica est# representada en las tablas de erdad $ aplicando reglas se hacen inerencias lógicas o inerencias ormales. >in embargo presenta una gran limitaci+n pues es independiente de los datos. *a lógica de predicados m#s complea &ue la anterior presenta una meor alternatia para representar conocimiento. 4ermite tratar proposiciones 5acilitando el uso de ariables $ 5unciones de ariables. 9epresenta sint#cticamente predicados $ datos indiiduales. En 5orma espec(fca predicadodato1" datoH" ....D $ en 5orma general predicadolista de argumentosD. Esta 5orma sint#ctica constitu$e una proposici+n por lo tanto son aplicables las reglas de la l+gica proposicional. En un sentido general la lógica de predicados de primer orden permite el tratamiento $ cuantifcaci+n de ariables indiiduales. ) manera de eemplos: Vuan es hombre .....................se denota ............ hombre<Vuan=. 4edro es padre padre<4edro"Vuan=.
de
Vuan
..........se
denota
............
8esde el punto de ista de razonamiento" el computador debe eecutar un proceso de bs&ueda de soluciones en base a oraciones preias llamadas premisas. )l proceso de relacionar mediante la implicaci+n a un conunto de premisas para llegar a una conclusi+n se le denomina deducción o inerencia lógica. *a in5erencia l+gica se implementa mediante la demostraci+n de teoremas" programaci+n l+gica" l+gica no monot+nica" l+gicas multiealuadas $ di5usas.
H.H %istemas :asados en reglas
Fuente: http://www.up5.edu/hipertetnet/numero-2/linguistica.html
na regla es una proposici+n l+gica &ue relaciona dos o m#s obetos $ &ue est# 5ormada por dos partes" la premisa i
>i el sem#5oro est# en roo" detengo el coche.
•
>i tengo dinero sufciente podemos comprar la re5rigeradora.
•
>i est# lloiendo usamos el paraguas.
n sistema basado en conocimientos" epresado en su 5orma m#s sencilla est# 5ormado por un conunto de reglas" un conunto de datos aplicados a las reglas $ un motor de in5erencias &ue obtiene conclusiones aplicando la l+gica cl#sica >i ...
H.J )elaciones" 7ec7os # reglas %omando como re5erencia lo comentado en el (tem anterior relacionamos los 5ormalismos para representar conocimiento en epresiones de lenguae natural utili,ando relaciones entre o:etos: *as siguientes epresiones representan relaciones: E&presión Vuan es 4edro
padre
':etos de Vuan" 4edro
)elación padre
*uis est# casado con *uis" )na )na
est# casado
;iguel est# ;iguel" F(sica matriculado en F(sica
matriculado
El pro5esor Narc(a 4ro5esor dicta ;atem#tica ;atem#tica )na practica Karate
)na" Karate
Narc(a" dicta
practica
sando un lenguae simb+lico podemos epresar estas relaciones de la siguiente manera $ representan hechos erdaderos o datos: padre<Vuan"4edro=. matrimonio<*uis")na=. deporte5aorito<Jarate" )na=. *as 5ormas de ra,onamiento en l+gica est#n constituidas por la conunci+n de arias premisas $ una conclusi+n" a manera de eemplo: %i Vuan est# casado con *uisa # Vuan es padre de 4edro entonces *uisa es madre de 4edro.
Esta 5orma de ra,onamiento se conoce como regla de producción $ la podemos epresar: madre<;"S=:- matrimonio<4";=" padre<4"S=. *as letras con ma$scula representan ariables $ se lee: % es madre de ? si * est# casado con % # * es padre de ?.
H.O El lenguae Prolog
Fuente: http://sofalenguaesprogra.blogspot.com/
49?*?N trata las ariables en 5orma mu$ particular" hagamos algunas precisiones preliminares al respecto: •
•
•
•
•
Eiste un proceso &ue llamaremos empareamiento de epresiones &ue consiste en comparar biun(ocamente los componentes de dos epresiones en cada una de sus partes componentes. na ariable &ue no an no ha recibido alor alguno se llama varia:le li:re. na ariable &ue ha recibido algn alor se llama varia:le ligada.
)nalicemos desde la +ptica de la l+gica proposicional" supongamos &ue tenemos las proposiciones 61" 62" 63" 6C $ 6G a las &ue denominaremos cl#usulas: 61 :- 62" 63" 6C" 6G. En t'rminos del lenguae de la l+gica se dice &ue: •
•
C1 es una conclusi+n verdadera si se cumple &ue 62 # 63 # 6C # 6G son premisas verdaderas. C1 es una conclusi+n alsa si por lo menos una de las premisas 62 o 63 o 6C o 6G es 5alsa.
Epresemos desde otro punto de ista lo mencionado anteriormente relacionando las cl#usulas con predicados de lenguae natural: - 61 *uis es hermano de 4edro. - 62 Vuan es padre de *uis. - 63 Vuan es padre de 4edro. - 6C )na es madre de 4edro. - 6G )na es madre de *uis. Escribiendo epresiones en 5orma clausular tendremos: 6onsideramos erdaderos los siguientes 7ec7os: *uis es hermano de 4edro. Vuan es padre de *uis. Vuan es padre de 4edro. )na es madre de *uis. )na es madre de 4edro. 4lanteamos la orma de razonamiento: ) es hermano de I >i: 4 es padre de ) $
4 es padre de I $ ; es madre de ) $ ; es madre de I. Formulamos la siguiente pregunta o:etivo: *uis es hermano de 4edro B Saciendo un an#lisis de eecuci+n decimos: 1. El obetio es determinar si (uis es 7ermano de Pedro. Esto e&uiale a decir A es 7ermano de B. A se liga con (uis $ B se liga con Pedro. 2. 6on este obetio entramos a la 5orma de ra,onamiento $ tomamos la primera premisa P es padre de (uis. Iuscando en los hechos encontramos uan es Padre de Pedro por lo tanto P se liga con uan" decimos &ue 'sta premisa es erdadera $ continuamos con la segunda. 3. P es padre de B. En el obetio B ue ligada con Pedro $ en la primera premisa 4 5ue ligada con Vuan" por lo tanto buscamos el hecho uan es padre de Pedro determinando &ue es erdadera por lo &ue continuamos con la tercera premisa. C. * es madre de A. En el obetio A ue ligada con (uis" sin embargo ; an no ha sido ligada $ se dice &ue ; es una ariable libre. En 'ste caso buscamos en los hechos el primer alor &ue pueda ligar con ;. )s( tenemos &ue Ana es madre de (uis permite ligar A con Ana haci'ndose erdadera por lo &ue continuamos con la cuarta premisa. G. ; es madre de I. En el obetio B ue ligada con Pedro $ en la tercera premisa * ue ligada con Ana" por lo tanto buscamos el hecho Ana es madre de Pedro determinando &ue es erdadera. )s( mismo no ha$ m#s premisas &ue buscar. H. Sabiendo determinado &ue todas las premisas de la 5orma de ra,onamiento son erdaderas concluimos &ue la obetio (uis es 7ermano de Pedro es erdadero U. En el caso &ue una premisa hubiera sido 5alsa" no se contina con la siguiente $ se dice &ue el obetio es 5also.
P. *os hechos" el obetio $ las premisas reciben el nombre de cl#usulas" d debe comprender &ue los hechos constitu$en cl#usulas at+micas mientras &ue un obetio constitu$e una cl#usula compuesta por otras cl#usulas las &ue a su e, pueden ser at+micas o compuestas" as( sucesiamente dando 5orma a un programa completo. . En 'ste primer eemplo podemos obserar &ue 49?*?N reali,a :@s!ueda de soluciones a preguntas obetio &ue a partir de ahora llamaremos goal. Es muy importante entender este procedimiento pues representa la forma de e'ecución de programas escritos en !,F* no e"isten estructuras de control de @u$o como I1, 28, 187, ?ILE, 7E*EA) * etc.
4robemos ahora con la siguiente 5orma: 6onsideramos erdaderos los siguientes 7ec7os: Vuan es padre de *uis. Vuan es padre de 4edro. )na es madre de *uis. )na es madre de 4edro. 4lanteamos la orma de razonamiento: ) es hermano de I >i 4 es padre de ) $ 4 es padre de I $ ; es madre de ) $ ; es madre de I. Formulamos la siguiente pregunta o:etivo: *uis es hermano de )ngel B
Iasados en el procedimiento de an#lisis decimos:
1. El obetio es determinar si (uis es 7ermano de Angel. Esto e&uiale a decir A es 7ermano de B. A se liga con (uis $ B se liga con Angel. 2. 6on este obetio entramos a la 5orma de ra,onamiento $ tomamos la primera premisa P es padre de (uis. Iuscando en los hechos encontramos uan es Padre de Pedro por lo tanto P se liga con uan" decimos &ue 'sta premisa es erdadera $ continuamos con la segunda. 3. P es padre de B. En el obetio B ue ligada con Angel $ en la primera premisa P ue ligada con uan" por lo tanto buscamos el hecho uan es padre de Angel determinando &ue no eiste por lo tanto es 5also $ no continuamos. C. Sabiendo determinado &ue una de las premisas de la 5orma de ra,onamiento ha 5allado
H. Estructura de un tratamiento de varia:les.
programa"
Fuente: http://ia-israel.blogspot.com/201C0H01archie.html
7niciamos el estudio del lenguae 49?*?N" para ello presentamos en esta sesi+n un 78E sencillo conocido como %9I? 49?*?N $ denominaremos %4rolog. n
programa
en
%4rolog
tiene
tres
componentes
b#sicos:
predicates, clauses y goal+ *redicates permite declarar las reglas $ el tipo de ariables &ue
procesan.
Clauses implementa la l+gica de las reglas. /oal conduce la eecuci+n del programa.
%ipos de datos En %4rolog eisten tipos de datos est#ndar predefnidos: •
•
•
%T)I/...........>ecuencia comillas" inclu$e el espacio.
de
caracteres
encerrados
entre
%N*B'(.........>ecuencia de caracteres" no inclu$e el espacio. >e inicia con letra minscula. 49?*?N acepta tipo s$mbol con el mismo 5ormato sint#ctico del tipo string. C,A)..............Dormalmente es un caracter encerrado entre ap+stro5os. >in embargo eisten caracteres especiales:
RS.........donde D es un nmero &ue corresponde al caracter )>677 RSn..........>alto de linea RSt...........%abulador •
•
•
ITE/E)........Dmero entero comprendido entre -23UHP hasta 32UHU inclusie )EA(...............Dmero real comprendido entre /-1e-30U hasta /1e30P FI(E.................4ermite trabaar con datos almacenados en archios tanto de entrada como de salida.
;ostramos algunos eemplos de tipos de datos: %T)I/.................. hola" jesta es una cadena" [T" 1123" [1$2 %N*B'(................ hola" estaesunacadena" esta es una cadena" [T" 1123" [1$2 C,A)...................... jak" j1k" j[k ITE/E)................ 12" 13C" -3C" 0 )EA( ......................12.3C" 23C.GH" 23C" ?bsere &ue los tipo string $ s$mbol son semeantes. *a di5erencia radica en &ue los tipo de dato s$mbol son almacenados en una tabla
de s(mbolos de acceso r#pido proporcionando entaa de tiempo en los procesos de bs&ueda" sin embargo es lento al momento de insertarlos en la tabla. *a decisi+n de usar string o s$mbol depende del programador. En nuestro caso usaremos 5recuentemente el tipo string.
6onstantes 1. *as constantes en %4rolog tienen la misma concepci+n &ue en otros lenguaes" $ representan datos en s( mismos. 2. Eemplos de constantes: UuanV....... constante tipo string HJO ........... constante tipo integer
Estructura elemental de un programa TProlog En esta primera aproimaci+n a un programa %4rolog indicaremos &ue est# 5ormado por tres blo&ues: predicates" clauses # goal. En realidad un programa 49?*?N tiene m#s componentes pero por el momento trabaaremos con 'stos tres. )simismo temporalmente codifcaremos dentro del programa 5uente los blo&ues predicates $ clauses" mientras &ue el blo&ue goal lo haremos a tra's de la entana de dialogo del ambiente %9I? 49?*?N" a la cual accederemos con la opci+n 9D del men principal de %9I? 49?*?N. 4ara codifcar los blo&ues predicates $ clauses &ue constitu$en el programa 5uente utili,amos la entana de edici+n" despu's de seleccionar la opci+n E87% del men principal de %9I? 49?*?N. predicates ... clauses ... goal ... El programa se inicia inocando la primera cl#usula del goal" luego la segunda $ as( sucesiamente cada una de las cl#usulas &ue constitu$en el blo&ue goal. Estas a su e, inocan cl#usulas implementadas en el blo&ue clauses. ;ientras las cl#usulas sean erdaderas la eecuci+n del programa contina. 6uando alguna cl#usula 5alla
En 'sta declaraci+n de predicado los argumentos tienen un atributo adicional &ue indica si contienen alores de entrada o de salida eclusiamente o de entrada/salida a la e, segn el conteto. 6uando se trata de predicados declarados por el usuario es responsabilidad conocer si el argumento ser# de entrada o de salida. 6uando se trata de predicados predefnidos por 49?*?N" se adunta en la documentaci+n de a$uda la clae de entrada/salida &ue corresponde al predicado. >e utili,a un 5ormato mu$ simple" por eemplo:
El uso de los par'ntesis.
•
string signifca tipo de dato cadena
•
integer signifca tipo de dato entero
•
*os tipos de datos est#n separados por el caracter coma j"k
•
)l terminar la declaraci+n de cada predicado no se ha escrito punto fnal.
Dormalmente se espera &ue los predicados tengan &ue er directamente con la soluci+n de un problema" sin embargo" para e5ectos de completar el programa de computador tales como iniciali,ar ariables al inicio del programa o almacenar in5ormaci+n en disco al fnali,ar el mismo" o eecutar procedimientos de control de mens" etc" el usuario declara predicados
inicio" men" opcion
•
•
Do se han usado los par'ntesis" ni se han declarado tipos de datos en los predicados inicio" menu" programa $ fn. >e han usado los par'ntesis $ ni se ha declarado tipo de datos en el predicado opcion. >e mantiene la regla &ue al terminar la declaraci+n de cada predicado no se ha escrito punto fnal.
*a codifcaci+n de cl#usulas at+micas >)D"blanco")N1G2H"1"PU=. ?bsere: •
El uso de los par'ntesis.
•
*os datos tipo string se codifcan entre comillas.
•
•
•
*os datos tipo integer se codifcan como tales. *os datos est#n separados por el caracter coma j"k $ se codifcan de acuerdo al tipo declarado. )l terminar la codifcaci+n de cada cl#usula se ha escrito punto fnal.
*a codifcaci+n de cl#usulas compuestas
66 constitu$e la cl#usula obetio $
•
61" 62" 63 $ 6n constitu$en cl#usulas componentes.
Eemplo: clauses hermano<)"I=:- seo<)"masculino=" padre<4")=" padre<4"I=" madre<;")=" madre<;"I=" ) ` I. ?bsere: •
El uso de los par'ntesis
•
El uso de ariables: )" I" 4" ;.
•
El uso de la constante masculino.
•
El uso del s(mbolo dos puntos gui+n R6K &ue se lee V%IV.
•
•
•
•
El uso del s(mbolo coma R" &ue se lee UNV" despu's de cada cl#usula. permite separar los datos entre s(. *os datos se codifcan de acuerdo al tipo declarado $ est#n separados por coma. )l terminar la codifcaci+n de la cl#usula compuesta se ha escrito punto fnal.
4ara e5ectos de programaci+n se pueden implementar cl#usulas
4redicados etral+gicos %4rolog defne una serie de predicados estandard para complementar las tareas propias del computador" tales como" limpiar pantalla" leer e imprimir datos" etc. En 'ste cap(tulo presentamos algunos de estos predicados: --------------------------------------------------------------------------------------------------------------------4redicado: Q97%E >intais : write<*ista de argumentos= ............. intais: readln<[= ............. D hace &ue el programa detenga su eecuci+n hasta &ue se presione `enter. En 'ste caso se dice &ue &ue el argumento corresponde a una varia:le anónima.
--------------------------------------------------------------------------------------------------------------------4redicado: 9E)87D% >intais : readint<[= ............. i la cadena le(da no corresponde con la sintais del tipo integer se produce una 5alla. --------------------------------------------------------------------------------------------------------------------4redicado: 9E)89E)* >intais : readreal<[= ............. i la cadena le(da no corresponde con la sintais del tipo real se produce una 5alla. ---------------------------------------------------------------------------------------------------------------------
4redicado: 9E)86S)9 >intais : readchar<[= ............. intais : clearwindow Funci+n : *impia la entana actia. --------------------------------------------------------------------------------------------------------------------4redicado: ;)JEQ7D8?Q >intais : maKewindow
4ro5 .......... integer ...... Dmero de flas de la entana )ncho ....... integer ...... Dmero de columnas de la entana Funci+n 1 : 6rea una entana con los par#metros de entrada. Funci+n 2 : *iga los alores de la entana actia con las ariables presentadas como argumentos. ) continuaci+n se presenta la tabla de atributos de color. 6?*?9 8E 4)D%)**) 6?*?9 8E* 6)9)6%E9 Degro ................................ 0 Degro ................. 0 ),ul ................................... 1H ),ul .................... 1 erde ................................ 32 erde ................. 2 6$an .................................. CP 6$an ................... 3 9oo .................................. HC 9oo ................... C ;agenta ............................ P0 ;agenta ............. G ;arr+n ............................. H ;arr+n ............... H Ilanco .............................. 112 Ilanco ............... U Nre$ .................................. P ),ul encendido ................ 2C erde encendido .............. C0 9oo encendido ............... U2 ;agenta encendido ......... PP )marillo ........................... 10C Ilanco alta intensidad ..... 120 •
>e pueden conseguir combinaciones de atributos sumando el alor de atributo de caracter mas atributo de color de pantalla.
•
4ara asignar atributo de encendido/apagado sucesio agregue 12P al resultado anterior
--------------------------------------------------------------------------------------------------------------------4redicado: IEE4 >intais : beep Funci+n : Nenera la emisi+n de un sonido corto a tra's del parlante de computador. --------------------------------------------------------------------------------------------------------------------4redicado: D* >intais : nl Funci+n : Nenera un salto de linea" ubican el cursor al inicio de la siguiente linea.
Tratamiento de varia:les en TProlog 1. 4or el momento" es coneniente codifcar un programa utili,ando letras minsculas" a menos &ue se indi&ue lo contrario. 2. *os nombres de ariables o identifcadores en 49?*?N se codifcan con por lo menos la primera letra en ma$scula. Eemplos: 6ontador" >uma" Sio" )" ;" 9espuesta" etc. 3. En %4rolog no eiste el concepto de asignaci+n de alor a una ariable" lo &ue en otros lenguaes de programaci+n se denomina operaci+n de asignaci+n. En %4rolog corresponde a un enunciado l+gico $ en el caso &ue la ariable de la i,&uierda no est' ligada" se resuele la epresi+n de la derecha $ se liga la ariable de la i,&uierda. C. >e dice &ue una ariable es li:re no ligadaD cuando no se ha logrado emparear alor alguno G. >e dice &ue una ariable est# ligada cuando se ha logrado emparear un alor de acuerdo al tipo de dato declarado. H. na ariable ligada no se puede emparear dos eces" dentro de la misma cl#usula. Eercicio: predicates deportee pueden presentar los siguientes obetios
•
deporte<)"I=................................. ) ligado con Vuan" I ligado con basKetball. deporte<Vuan"6=........................ 6 ligado con basKetball.
•
deporte<8"basKetball=.............. 8 ligado con Vuan.
•
deporte<4edro"E=...................... E no ligado.
•
deporte
2. En los siguientes eemplos se presenta otra 5orma de ligar ariables con su respectia interpretaci+n: •
[1 G ............... [1 ligado con G.......................... tipo integer
•
[2 6arlos.... [2 ligado con 6arlos............. tipo string
•
[3 j3k .............. [3 ligado con j3k....................... tipo char
•
[C C.G ............ [C ligado con C.G .................... tipo real
)97)I*E> )D?D7;)> )lgunas eces no se re&uiere el alor de un argumento en cierta cl#usula" 49?*?N proee de un concepto de ariable an+nima" &ue se denota por el caracter subra$ado $ al momento de leer el predicado se ignora el alor del argumento re5erenciado. ) manera de eemplo" supongamos &ue tenemos el predicado alumno: alumnoeo" %alla" 4eso= $ en cierta cl#usula solo interesa el nombre $ el peso" podemos inocar la siguiente cl#usula: alumno)*78) E>%)D8)98 *os predicados estandard para entrada/salida son read $ write descritos anteriormente. eamos un eemplo simple. 4rograma &ue lee una cadena relacionada con cierto alor:
predicates leec
H.= )ecursividad
Fuente: http://www.mundonet.es/control-de-^uo-estructurasiteratias-eercicio-3.htmlB4gEntrega10.htm
*a recursiidad es una t'cnica de programaci+n mu$ importante para &uienes trabaan en 49?*?N. >i d. escucha por primera e, 'ste t'rmino" le recomiendo leer detenidamente 'ste cap(tulo" en caso contrario" si d. $a conoce el concepto le recomiendo leer los programas codifcados en 49?*?N $ pasar al siguiente cap(tulo. 8esde el punto de ista conceptual decimos &ue una defnición es recursiva cuando se :asa en ella misma" mientras &ue desde el punto de ista de la programaci+n la 5orma m#s conocida de recursiidad es cuando un procedimiento o unción se invoca a s mismo. %ambi'n eiste recursiidad cuando la declaración de un tipo de datos se 7ace en :ase a s misma. 6+mo podemos defnir algo sobre s( mismoB. eamos un eemplo. 7maginemos un pro5esor de cierto curso de dibuo 5rente a una pi,arra $ decide dibuarse el mismo $ la pi,arra en la pi,arra del aula. Aue ocurri+B 8entro de la pi,arra real del aula aparece un rect#ngulo &ue es la pi,arra recursia $ en ella incluido el dibuo del pro5esor. >i repetimos la eperiencia arias eces tendremos cada e, una nuea pi,arra dentro de otra. Eso ocurre m#s o menos en los procesos recursios. 6+mo entendemos la recursiidad B 9ecordemos en primera instancia como se conciben en implementan los procesos no recursios &ue en 'ste cap(tulo denominaremos iteratios. El 5actorial de un nmero puede ser epresado en 5orma iterativa. 4or eemplo: 5actorial<0= 1 5actorial<1= 1 5actorial<2= 1 2 2 5actorial<3= 1 2 3 H 5actorial
*a implementaci+n de 'sta 5+rmula en un lenguae de computador con F?9 es mu$ simple. 4or eemplo para calcular el 5actorial de P tendremos: n P" 5actorial 1" F?9 i 2 to n 8? 5actorial i 5actorial . Esta implementaci+n realmente lo &ue est# desarrollando es una secuencia del siguiente tipo: 5actorial<0= 1 5actorial<1= 1 5actorial<0= 5actorial<2= 2 5actorial<1= 2 5actorial<3= 3 5actorial<2= H 5actorialE" QS7*E" 9E4E)% ... D%7*" etc. 7mprimir los primeros 20 elementos de un arreglo notas se consigue con la implementaci+n del siguiente c+digo 4ascal:
F?9 i 1 %? 20 8? writeln
opcion ;7ED%9)> opcion ` fn 7D767? cuerpo del menuX *EE9
FD67?D 5actorial7 n 0 ED%?D6E> 5actorial 1. >7 n 0 ED%?D6E> 5actorial n 5actorial7 opcion ` fn ED%?D6E> menu F7D 8esde otro punto de ista cuando se trabaa con asignaci+n din#mica de memoria es mu$ importante el tratamiento de punteros $ las implementaciones se basan en procesos recursios. *a defnici+n de estructuras de datos tipo listas o #rboles re&uiere declaraciones recursias $ sus procesos son implementados tambi'n recursiamente. El siguiente c+digo declara recursiamente la estructura lista de nmeros: DE?%74?
listanumeros 9EN7>%9? 7D767? dato
Aue sucede cuando un procedimiento se inoca a s( mismoB ?curre eactamente lo mismo &ue cuando un procedimiento inoca a otro. >e interrumpe el procedimiento &ue hace la llamada" las ariables locales $ la direcci+n de retorno se almacenan en una pila $ se pasa el control al procedimiento inocado" cuando 'ste ltimo termina su eecuci+n se retira de la pila la direcci+n de retorno $ las ariables locales continuando normalmente el procedimiento inicial. *a situaci+n se complica cuando se inoca muchas eces un procedimiento $ es posible &ue se sobrecargue la pila ocasionando problemas de memoria &ue de acuerdo al tipo de compilador $ al lenguae tendr# di5erentes repercusiones. En toda codifcaci+n recursia es importante distinguir dos partes. *a primera es a&uella en la &ue el procedimiento se inoca a s( mismo 7 n 0 ED%?D6E> 5actorial n 5actorial7 opcion ` fn ED%?D6E> menu= $ la segunda es a&uella en la &ue se indica el punto en el cual se termina de auto inocar el procedimiento
4or&u' es importante la recursiidad para los programadores en 49?*?NB 9ecordemos &ue en 49?*?N no es posible ligar una ariable dos eces dentro de la misma cl#usula por lo tanto estas epresiones son erradas: [ [ 1 5actorial i 5actorial 4ara implementar en 49?*?N estas epresiones es necesario utili,ar una ariable libre &ue reciba el alor de la anterior incrementado: [D [ 1 6 FactorialD 7 Factorial 8esde otro punto de ista recordemos &ue 49?*?N no tiene predefnidas las estructuras de control de ^uo F?9" 8?" 6)>E" QS7*E" 9E4E)% ... D%7*" etc. Esto es ra,onable por cuanto la concepci+n de 49?*?N no es precisamente el procesamiento algor(tmico. 6+mo podemos escribir c+digo recursio 49?*?N a partir de una 5+rmulaB En erdad &ue escribir cl#usulas recursias para un principiante siempre resulta una tarea complea" pero si 'ste es su caso no se preocupe" le aseguro &ue luego de ad&uirir cierta pericia encontrar# en la recursiidad un 5orma mu$ poderosa $ elegante de resoler problemas en cual&uier lenguae. 4ara ello planteamos un m'todo de aproimaciones &ue nos permitir# a partir de la 5+rmula llegar a los predicados $ luego casi en 5orma inmediata escribir el c+digo 49?*?N. saremos a manera de eemplo la defnici+n matem#tica recursia del 5actorial: 5actorial<0= 1 5actorial
2. *a epresi+n actorial de K1D es inconsistente por lo &ue debe ser re5ormulada como: 5actorial de i por el s(mbolo :- $ los conectores $ por comas " consiguiendo en 5orma inmediata la codifcaci+n
49?*?N. El predicado 5actorial de D es F sugiere la 5orma actorial"FD . 8e acuerdo con el predicado anterior tendremos el siguiente c+digo 49?*?N: predicates 5actorial
na cl#usula es recursia cuando se inoca a ella misma.
•
*os procesos recursios son contrarios a los procesos iteratios.
•
*os procesos recursios re&uieren grandes cantidades de memoria.
)ctiidades de an#lisis $ comprensi+n Preguntas de reXe&ión. 6+mo hemos comentado no eiste una defnici+n uniersal de la inteligencia artifcial" sin embargo podemos epresar un concepto &ue nos permita defnir los obetios $ metodolog(as usadas durante nuestro curso" asimismo te initamos a responder algunas preguntas sobre la estructura de un sistema basado en conocimientos. 1. @4uedes proponer un concepto de la inteligencia artifcialB 2. @Au' obetios crees &ue debe tener la inteligencia artifcialB 3. @) &ui'n se denomina el padre de la inteligencia artifcialB C. @6u#l es el componente &ue trata la in5ormaci+n contenida en una base de conocimientosB G. @Eiste algn niel de interacci+n entre un sistema basado en conocimientos $ el hombreB H. @6u#les son los componentes de una base de conocimientosB )etroalimentación 1. na defnici+n 5ue presentada en el documento: la 7) es la rama de la ciencia de la computaci+n &ue estudia la resoluci+n de problemas no algor(tmicos mediante el uso de cual&uier t'cnica de computaci+n disponible" sin tener en cuenta la 5orma de ra,onamiento sub$acente a los m'todos &ue se apli&uen para lograr esa resoluci+n. 2. >e proponen los siguientes obetios de la inteligencia artifcial:
G. %odo sistema basado en conocimiento tiene una inter5a,
Actividad de an4lisis # comprensón. %e initamos a isuali,ar los siguientes ideos •
•
•
Sistoria de la inteligencia https://www.$outube.com/watchBiQH,seHh0 El test de T0aH[wwh3w ;#&uina
logra
turing: aprobar
artifcial:
https://www.$outube.com/watchB el
test
de
%uring:
>>>.youtu"e.com?>atch;v@TAuszBAATc
8espu's de haber obserado detenidamente los (deos responde a las siguientes preguntas: Pregunta -na neuroma de *cCulloc?KPitts tiene6 )+n.
>angre.
*eucocitos.
8endritas.
6uerpo.
6'lulas madre.
>inapsis.
7etroalimentación
*a neurona artifcial propuesta por ;c6ullocK-4itts contiene )+n" dendritas" cuerpo $ sinapsis. El test de Turing permite medir6 *a capacidad de razonamiento de una m4!uina.
*a capacidad de comportamiento humano de una m#&uina.
*a posibilidad de una m#&uina para conertirse en ser humano
*a capacidad de programaci+n &ue tenga una m#&uina.
*a capacidad eolutia de una m#&uina.
7etroalimentación
El test de Turing permite conocer la comportamiento 7umano de una m4!uina.
capacidad
de
Cómo se llama el primer ro:ot !ue supera el test de Turing; )rturito.
9obocop.
Ioris.
Eugenne.
)simo.
7etroalimentación
En Vunio del 201G cuando se reali,a un concurso organi,ado por la 9eal >ociet$ recordando el H0 aniersario de la muerte de %uring" una m#&uina conocida como bot conersacional Eugene -oostman logra pasar el test de %uring.
Bi:liograa 1. Iourcier" 8. 7nteligencia artifcial $ derecho. 8isponible en la Iiblioteca de la >>. 2. 9ussell $ Doring <200C=. 7nteligencia artifcial: n en5o&ue moderno. 4earson Education >.). 2da edici+n. Espaa. 8isponible en la Iiblioteca de la >>. 3. 8elgado" ). 7nteligencia artifcial $ minirobots. 8isponible en la Iiblioteca de la >>. C. Escolano" F. 7nteligencia artifcial" modelos"t'cnicas $ #reas de aplicaci+n.. 8isponible en la Iiblioteca de la >>. G. Dilsson" D. 7nteligencia artifcial: na nuea s(ntesis. 8isponible en la Iiblioteca de la >>. H. 4aare," ;. 7nteligencia artifcial e ingenier(a del conocimiento. 8isponible en la Iiblioteca de la >>. U. 4alma" V. 7nteligencia artifcial. 8isponible en la Iiblioteca de la >>. P. 4once" 4. 7nteligencia artifcial con aplicaciones en ingenier(a. 8isponible en la Iiblioteca de la >>. . >istemas basados en conocimientos. http://www.wolnm.org/apa/articulos/>istemasIasados6onocim iento.pd5Btarget
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento 16 (a inteligencia artifcial" ,acia donde nos lleva;
-)(: http://www.comoes.unam.m/numeros/articulo/2/lainteligencia-artifcial-hacia-donde-nos-llea Breve descripción6 El documento presenta un an#lisis sobre la capacidad de inteligencia artifcial &ue pueden ad&uirir las m#&uinas" inclu$e una entreista al 8r. 7smael Espino,a del *aboratorio de 6ibern'tica de la D); &ui'n anali,a la tendencia en la disciplina $ el impacto en las personas. ___________________________________ _________.____.. •
+ocumento H6 El uturo de la inteligencia artifcial # la ci:ern$tica
-)(: https://www.bbaopenmind.com/articulo/el-5uturo-de-lainteligencia-artifcial-$-la-cibernetica/B5ullscreentrue Breve descripción6 El autor Jein QarwicK" 4ro5esor de cibern'tica de la niersidad de 9eading" anali,a los c$borg &ue son seres humanos &ue han recibido implantes de componentes electr+nicos para reali,ar tareas propias de los humanos" por eemplo isi+n" audici+n" locomoci+n" etc.
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
•
•
•
•
•
•
Do eiste una defnici+n nica de la inteligencia artifcial. 4ara nuestros fnes de aprendi,ae la 7) busca reali,ar programas de computador &ue eidencien un comportamiento humano para resoler determinados problemas. ) partir de la d'cada del G0 se inicia 5ormalmente la historia de la 7). Eisten arias posturas de di5erentes autores para clasifcar los hitos hist+ricos de la 7). >e reconocen autores &ue han apo$ado el desarrollo de la 7) a %uring" ;insK$" ;c6arth$" 9ossenblant" entre otros. 8espu's de H0 aos una computadora satis5actoriamente el test de %uring.
logra
pasar
Eisten aplicaciones confables de la 7) en diersas empresas para tomar decisiones. *os sistemas basados en conocimientos presentan estructuras bien defnidas" por lo &ue pueden ser programados en computadores. *os sistemas epertos" generan soluciones $ son capaces de aprender" ustifcar sus resultados e interactuar con seres humanos.
*etacognición *as siguientes preguntas te a$udar#n a re^eionar sobre tus propios aprendi,aes" es un eercicio recomendado pata ra,onar e identifcar nuestro es5uer,o intelectual" la fnalidad es guiar nuestras acciones $ procesos mentales. @8e la tem#tica abordada &ue te llam+ m#s la atenci+nB @6onsideras &ue aprendiste con los temas abordadosB @%uiste difcultad solucionasteB
con
algn
tema
@Au' acciones reali,aste para aprenderB
o
actiidadB
@6+mo lo
Tema 0J. Continuando con Prolog
Fuente:http://www.desarrolloweb.com/articulos/1GU3.php Bienvenida Estimados estudiantes ¡bienenidos! a la tercera semana del curso" donde continuaremos estudiando el lenguae 4rolog. 8urante esta semana trabaaremos con dos 78Es adicionales" usaremos >Q7-4rolog en sus dos ersiones teto $ gr#fcos $ el 78E isual 4rolog en su ersi+n comunitaria. Esta semana conoceremos las rutas para buscar" descargar e instalar los 78Es e implementamos eemplos de programaci+n en 4rolog &ue nos permitir#n conocer el tratamiento de ariables $ la recursiidad. *os contenidos se complementan con interesantes lecturas" aliosos ideos" p#ginas interactias e importantes actiidades de ealuaci+n &ue conducen a la metacognici+n $ a la comprobaci+n de los aprendi,aes logrados. ¡)ancemos en conocimiento!
el
interesante
mundo
del
tratamiento
del
Introducción al tema
Fuente: Fuente:http://www.swi-prolog.org/gtrace.html *a programaci+n en 4rolog es conocida como declaratia por&ue solo se re&uiere declarar hechos o datos considerados erdaderos $ reglas &ue relacionan estos" el motor de in5erencias de 4rolog permite obtener conclusiones re5eridas a las reglas en 5orma autom#tica" no se re&uiere programar algoritmos de bs&ueda. *a sesi+n anterior tuimos la oportunidad de escribir programas en %urbo 4rolog" durante esta semana trabaaremos con >Q7-4rolog $ con isual 4rolog" dos 78Es de distribuci+n gratuita" sobre los cuales podemos escribir nuestros programas en 4rolog. En 7nternet eisten numerosas re5erencias a tutoriales $ manuales relacionados con la descarga" instalaci+n $ eecuci+n de los 78Es mencionados. En nuestro caso mostraremos las rutas de descarga desde las p#ginas ofciales $ los m'todos de instalaci+n $ eecuci+n del primer programa conocido como hola mundo. *uego desarrollaremos programas &ue nos permitan comprender la programaci+n 4rolog &ue se di5erencia de la programaci+n algor(tmica. En los programas &ue abordaremos intentaremos proporcionar las bases para el procesamiento de la in5ormaci+n conirti'ndola en conocimiento. ) manera de eemplo proporcionaremos datos sobre los miembros de cierta 5amilia" luego incluiremos reglas &ue declaren las relaciones entre ellos tales como padre" madre" hermano" abuelo" etc" $ consultaremos a 4rolog sobre las relaciones 5amiliares declaradas
anteriormente. 4odemos seguir este es&uema para tratar cual&uier sistema de conocimientos" por eemplo" la 5amilia de productos de un almac'n" in5ormaci+n de en5ermedades $ s(ntomas para hacer diagn+stico m'dico" los componentes de una computadora para reali,ar confguraciones" los h#bitos $ costumbres de compra de cierto grupo de personas para generar o5ertas comerciales" los perfles de pro5esionales para cubrir puestos de trabao" etc. >Q7-4rolog es un so5tware de libre disposici+n de la niersidad de )msterdam disponible en http://www.swi-prolog.org/ est# basado en la sintais de Edimburgo" tradicionalmente 5ue interpretado pero ahora se puede compilar $ tiene abundante in5ormaci+n" tutoriales $ manuales de re5erencia. 6orre sobre una ariedad de m#&uinas con >.? Qindows" *inu. isual 4rolog es un lenguae de programaci+n potente &ue combina las meores caracter(sticas de los paradigmas de programaci+n l+gica" 5uncional $ orientadas a obetos de una manera consistente $ elegante. 6on isual 4rolog se pueden crear aplicaciones para las plata5ormas ;icroso5t Qindows 32/HC. Es compatible con las soluciones cliente-seridor $ patrones ;6. isual 4rolog es especialmente adecuado para tratar con conocimientos compleos.
)prendi,aes esperados Conozcamos ahora las capacidades y actitudes a desarrollar en este tercer tema:
Capacidades •
•
•
6onoce el procedimiento para descargar e instalar so5tware de programaci+n en 49?*?N. 6onoce $ utili,a el 78E >Q7-4rolog para el procesamiento de reglas combinando inter5aces gr#fcas. 6onoce $ utili,a el 78E isual 4rolog para desarrollar aplicaciones combinando el procesamiento del conocimiento con inter5aces isuales.
Actitudes •
alora la problem#tica para representar conocimiento.
•
9econoce un problema a tra's de acciones $ alternatias.
•
•
•
)sume responsabilidad en el cumplimiento de las actiidades programadas. )sume una posici+n pro actia respecto a las t'cnicas de representaci+n del conocimiento. alora la tecnolog(a isual para la implementaci+n de pro$ectos basados en conocimiento.
;arco conceptual Analiza el marco conceptual del tema ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
J.1 +escarga e instalación de %3IK Prolog.
Fuente: Fuent e: http://www http://www.swi-prolog.org/do .swi-prolog.org/download/stable wnload/stable
>Q7-4rolog es un 78E gratuito para desarrollar aplicaciones escritas en leng lengua uae e 4rolog olog.. Es utili tili,a ,ad do ampli mpliam amen ente te en la educ educac aci+ i+n" n" inestigaci+n $ en el mundo empresarial. 8esarrollado desde 1PU. >e descarga desde su p#gina inicial: http://www.swiprolog.org/download/stable selecc seleccion ionand ando o el sistem sistema a operat operatio io de nuestra m#&uina. El archio descargado tiene etensi+n .ee" luego se eecuta $ se ingresa la siguiente in5ormaci+n: 9uta de instalaci+n: C6SProgram FilesSs9ipl Etension 5or 4rolog fles: pl >tart menu program group: %3IKProlog >e sugiere descargar el manual de re5erencia original: http://www.swiprolog.org/download/stable/doc/>Q7-4 prolog.org/download/stable/doc/>Q7-4rolog-H.H.H.pd5 rolog-H.H.H.pd5
Eecutando el primer programa ?cultar >Q7-4rolog trae por de5ecto un programa denominado li?es.pl disponible en la carpeta C6SProgram FilesSs9iplSdemo con el siguiente contenido: 8emo coming 5rom http://clwww.esse.ac.uK/course/*NG1/2http://clwww.esse.ac.uK/course/*NG1/25acts/inde1P.html 4lease load this fle into >Q7-4rolog >amYs liKes and disliKes in 5ood 6onsidering the 5ollowing will gie some practice in thinKing about bacKtracKing. B- liKes
liKesugerimos los siguientes pasos para eecutar un programa con >Q74rolog: 1. 6rea 6rearr una una carp carpet eta a C6SprogramasP(
2. 8irigirse a la ruta del programa C6SProgram FilesSs9iplSdemo $ copiar el archio li?es.pl a la carpeta C6SprogramasP( 3. Sacer doble clic en el archio copiado" aparece la entana de >Q7-4rolog. C. En el prompt 1 ;K digitamos li?essam" 2D. 4rolog responde6 2 < da7 G. 4resionamos %7it Y Z $ 4rolog sigue respondiendo. H. El proceso termina cuando aparece el prompt H ; K 6ontinuamos reali,ando indiidualmente las siguientes consultas en 5orma sucesia: B- liKese sugiere anali,ar el comportamiento de las reglas cuando se reali,a el bacKtracKing de las reglas $ empareamiento de las ariables. 8e lo epuesto hasta el momento podemos deducir. 1. *os programas 5uente para Q>7-4rolog tienen etensi+n .pl 2. El c+digo 5uente se puede escribir en cual&uier procesador de tetos Q74rolog. C. Es necesario conocer los conceptos de bacKtracKing $ empareamiento.
Escri:iendo programas con %3IKProlog. 4ara escribir programas presentamos un primer m'todo &ue consiste en usar un procesador de tetos Q7-4rolog. 6reamos un archio teto denominado p01.pl en la carpeta C6SprogramasP( con el siguiente contenido: 8eclaraci+n hechos
de
hombreQ7-4rolog.
el
archio
creado
se
inoca
En el prompt 1 ;K podemos reali,ar consultas digitando por eemplo: 7om:real:ertoD. >Q7-4rolog contesta con true indicando &ue es un dato erdadero. >i digitamos 7om:reluisD. >Q7-4rolog responde 5alse indicando &ue no es #lido segn los datos proporcionados al programa. 6reamos ahora un segundo programa al &ue denominaremos p0H.pl con el siguiente contenido: hombre
hombre
matrimonio<)?"))=. 9eali,amos las consultas $ anali,amos las respuestas proporcionadas por >Q7-4rolog: •
matrimonio<uan" [=.
•
abuelo<["T=.
•
madre<)"I=.
•
hermana<4" A=.
3.2 Nr#fcos en >Q7-4rolog. >Q7-4rolog.
Fuente:http://www.swi-prolog.org/pacK Fuente:http://www .swi-prolog.org/pacKages/pce/serNuide/secages/pce/serNuide/secC.1.html >Q7-4rolog permite la declaraci+n de clausulas &ue representan datos o hechos Q7-4rolog permite disear inter5aces gr#fcas para nuestros programas usando la librer(a [46E. 4roponemos el siguiente procedimiento" a manera de eemplo: 1. Eecutamo Eecutamoss >Q7-4rolo >Q7-4rolog" g" aparece aparece el prompt prompt 1 ;K 2. 7noca 7nocamos mos la la libre librer(a r(a pce: pce: use>moduleli:rar#pceDD use>moduleli:rar#pceDD.. 3. 6ream 6reamos os un obeto obeto:: ne9[demo" dialogM+emo 3indo9MDD. 3indo9MDD . C. )gregamos atributos al appendte&t>itemnameDDD.. appendte&t>itemnameDDD
obeto:
send[demo"
G. ;ostramos el obeto: send[demo send[demo"" openD. openD. <>e <>e obse obser ra a la entana del di#logo=. H. *eemos *eemos los alor alores es del displa$ displa$ $ los mostramo mostramos: s: get[demo" displa#" +D. +D .
get[displa#" get[displa#" size" %izeD" %izeD" get%ize" 9idt7" 3D" 3D " get%ize" 7eig7t" ,D. U. *eemos *eemos $ mostramos mostramos el alor alor digitad digitado: o: get[demo" mem:ernameD" Te&tItemD" getTe&tItem" selection" Te&tD. Semos logrado generar obetos gr#fcos para combinarlos con las regl reglas as impl implem emen enta tada dass en nuest nuestro ross prog progra rama mas" s" a part partir ir de ahor ahora a sugerimos seguir la documentaci+n ofcial de >Q7-4rolog reali,ando las siguientes actiidades: 1. 8escargar la gu(a de usuario ofcial: http://www.swiprolog.org/download/pce/doc/userguide/userguide.pd5 2. 7mplementar los eemplos: http://www.swiprolog.org/pacKages/pce/eamples.html 3. 9esolamos los siguientes eercicios: http://www.swiprolog.org/download/pce/doc/coursenotes/coursenotes.pd5 4rop 4ropon onem emos os impl implem emen enta tarr un prog progra rama ma &ue &ue gene genere re una una inter inter5a 5a,, mostrando un teto $ dos botones" uno de )ceptar $ otro de 6ancelar" luego se indica el bot+n &ue el usuario pulsar#. 4resen 4resentam tamos os un segund segundo o m'todo m'todo de escrib escribir ir progr programa amass esta esta e, usando el editor de >Q7-4rolog. >Q7-4rolog. 1. Eecutamo Eecutamoss >Q7-4rolo >Q7-4rolog" g" aparece aparece el prompt prompt 1 ;K 2. 7noca 7nocamos mos el editor editor:: emacs. 3. )par )parec ece e la ent entan ana a del del edit edito or $ escr escrib ibim imo os el sig siguien uientte programa. pregunta<4reg"9esp= :new<8" dialog
send<8" append" labelQ7-4 >Q7-4rolo rolog. g. U. 9eali,amos consultas. En el prompt preguntaestas>de>acuerdo" ND.
1
;K ;K digitamos:
P. ?bserar ?bserar los los mensaes mensaes en >Q7-4 >Q7-4rolo rolog. g. Actividad de an4lisis # comprensión >e solicita anali,ar e interpretar el signifcado de las clausulas de programa $ comentar su 5uncionamiento. )etroalimentación 1. pregunta<4reg"9 pregunta<4reg"9esp= esp= :- ..... 8eclaraci+n de la clausula pregunta. pregunta. 2. new< new<8" 8" dial dialog og
C. send<8" append" button
J.J +escarga e instalación de 5isual Prolog.
Fuente: Fuente: http://1.bp.blogspot.com/8JG?5b52D7/%a%),,n7g7/)))))))))p/wI>8,o,$nw/s1H00/486 isual4rolog.png isual 4rolog puede ser descargado desde un enlace en su p#gina ofcia of cial: l: http://www.isual-prolog.com/ http://www.isual-prolog.com/ descargamos la ltima ersi+n de isual 4rolog 4ersonal Edition. El archio descargado tiene etensi+n .msi" simplemente hacemos doble clic $ se inicia el proceso de instalaci+n.
3.C 8esarrollo de aplicaciones con isual 4rolog. 7niciamos el trabao con isual reali,ando el tradicional Sello word" para ello te initamos a seguir este enlace: http://www.isualprolog.com/ideo/SelloQorld/ aun&ue la eplicaci+n est# en ingles" la descripci+n en pantalla es sufcientemente clara para comprender el procedimiento. )hora &ue conocemos el ambiente de isual 4rolog procederemos a escribir un programa. El obetio es consultar datos relacionados con el parentesco estableciendo relaciones de hio" padre $ abuelo. 4roponemos el siguiente procedimiento: 1. 7ngresamos a isual 4rolog. 2. 6reamos un pro$ecto: 4roect / Dew" ingresamos: 1. 4roect Dame: 4ro$01 2. 4roect Jind: 6onsole application 3. Sacemos doble clic en main.pro $ reempla,amos el c+digo por el siguiente: implement main open core domains seo 5emenino<=R masculino<=. class 5acts persona : eo=. hio :
hio<4edro"Vudith=. hio<Vuan"4edro=. hio<Flor"Vuan=. class predicates 5ather :
Actividad de an4lisis # comprensión >e solicita anali,ar e interpretar el signifcado de las clausulas de programa $ comentar su 5uncionamiento.
7mplementando el concepto de recursiidad.
Fuente: http://www.latrinchera.org/5oros/content.phpBC1U-Sistorias;atem63)1ticas-7-;atem63)1ticas-apocal63)8pticas
*a t'cnica del bacKtracKing se implementa en isual 4rolog a tra's de la recursiidad" mostramos la aplicaci+n con un eemplo tradicional relacionado con el uego de las torres de Sanoi.
>e dispone de tres torres con determinado nmero de discos de di5erentes di#metros. El punto inicial del uego consiste en colocar sobre una torre todos los discos" los de ma$or di#metro abao $ sobre ellos los de menor tamao" no est# permitido colocar un disco de ma$or tamao sobre otro de menor tamao. El obetio es pasar todos los discos a otra torres $ &ueden como el estado inicial" utili,ando la tercera torre como temporal.
*a soluci+n en 4rolog usando recursiidad resulta una tarea sencilla $ con c+digo reducido. 4resentamos a continuaci+n un eemplo.
Sanoi<0"""=. hanoi
hanoi">">D. 7mplementamos este programa en isual 4rolog siguiendo el proceso del eemplo anterior. 6reamos un pro$ecto" cambiamos el c+digo de main.pro por el siguiente c+digo" construimos el pro$ecto $ lo eecutamos. class h1 predicates hanoi :
moere solicita anali,ar e interpretar el signifcado de las clausulas de programa $ comentar su 5uncionamiento. 4robar cambiando el nmero de discos 71667anoiD.
)plicaciones en entornos isuales. 7mplementaremos ahora un pro$ecto en modo gr#fco
1. Eecutamos el 78E isual 4rolog. 2. 6reamos un pro$ecto" asignando un nombre $ un #mbito
3. Eliminamos los botones $ nos &uedamos solamente de Cancel a &uien cambiamos el nombre por %alir. C. )gregamos obetos al 5ormulario: 1. Eti&ueta: Climas. 2. Eti&ueta: (ugares. 3. Eti&ueta: )utas. C. 6aa de lista: l:climas. G. 6aa de lista: l:lugares. H. Iot+n: Consultar" :tconsultar.
U. Duestro 5ormulario &ueda de la siguiente manera.
G. 6uando se eecuta el programa isual 4rolog proporciona opciones de men. <:uild 8 E&ecute=
H. Eliminamos las opciones de menu $ creamos una nuea denominada Consulta. <)rchio Tas?*enu.nmu= U. 8espu's de eliminar la opciones de menu en el 5ormulario debemos eliminar su c+digo correspondiente en el archio tas?9indo9.pro.
P. El 5ormulario de5ault tambi'n presenta un menu denominado Qindow" para ocultarlo debemos modifcar la linea mdiPropert# 6 :oolean< true. por esta mdiPropert# 6 :oolean < alse. en el archio tas?9indo9.pro . Duestro 5ormulario &ueda de la siguiente manera.
C. 7mplementamos la 5uncionalidad de la aplicaci+n how &ue debes modifcar predicates
on>how : window::show*istener. clauses on>how< 8ource" 8ata=: lbclimas:add<Frio=" lbclimas:add<%emplado=" lbclimas:add<6#lido=" lblugares:add<;useos=" lblugares:add<4la$as=" lblugares:add<9uinas=. C. )gregamos el eento clic sobre el obeto bot+n 6onsultar. ource= button:: de5ault)ction: lbrutasctl:clear)ll<=" lbclimasctl:get)ll>elected<6limas" =" lblugaresctl:get)ll>elected<*ugares " =" W6lima X6limas" W*ugar X*ugares" codigo<6lima" *ugar" 6odruta=" ruta<6odruta" 6iudades=" imprimir<6iudades=" !. onIconsultar6licK< >ource= button:: de5ault)ction: pi6ommon8ialogs::note<;ensae" Do ha$resultados=" !.
G. 7mplementamos la l+gica 4rolog. Este c+digo lo agregamos en el archio 5ormulario.pro a continuaci+n de la codifcaci+n del eento onBconsultaC?ic? .
domains ciudadesstring. 5acts codigo :
predicates imprimir :
H. Duestra
aplicaci+n
&ueda
fnalmente.
U. >e selecciona un tipo de clima" luego un tipo de lugar" presionamos 6?D>*%)9 $ la aplicaci+n nos muestra una ruta adecuada. 6omo comentamos al inicio" el prop+sito no es desarrollar un sistema eperto" sino mas bien es mostrar la programaci+n combinada de 4rolog con obetos isuales. ;encionamos &ue la re5erencia para este eemplo se ha tomado de https://www.$outube.com/watchBl&N;IrCNh>o
Actividad de an4lisis # comprensión 8espu's de haber implementado los programas en los 78Es >Q74rolog $ isual 4ro*og responde a las siguientes preguntas: 1. El uego las torres de ,anoi se implementa en Prolog usando6 Sechos" reglas $ procedimientos
9ecursiidad
7teraciones
4redicados etral+gicos
4rogramando algoritmos
7etroalimentación
*a soluci+n al problema de las torres de Sanoi se implementa con recursiidad. El I+E %3IKProlog 8i5erencia entre hechos $ reglas
Do di5erencia entre hechos $ reglas.
8efne predicados inclusios
8efne clausulas con bacKtracKing
8efne algoritmos in5erenciales
7etroalimentación
El 78E >Q7-4rolog no di5erencia entre hechos $ reglas
5isual Prolog es6 >emeante a >Q7-4rolog
7nnoaci+n a %urbo 4rolog
7mplementa su motor con aa.
8iseado para soluciones en consola
8iseado para soluciones gr#fcas
7etroalimentación
E5ectiamente isual 4rolog constitu$e una innoaci+n a %urbo 4rolog. Est# diseado para soluciones en consola. Est# diseado tambi'n para soluciones gr#fcas.
Bi:liograa 1. Escrig" 4acheco" %oledo. El lenguae de programaci+n 4rolog. niersidad Vaume 7 de 6astell+n. 8isponible en: http://mural.u.es/miuanlo/4racticas49?*?N.pd5 2. Dilson" ;alu,$nsKi. *ogic" 4rogamming and 4rolog. ?pen*ibra. 8isponible en: http://www.etnasso5t.com/biblioteca/logicprogramming-and-prolog-2ed/ 3. *. >terling and E. >hapiro. %he )rt o5 4rolog. %he ;7% 4ress" 6ambridge" ;ass." second edition" 1C. C. Q.F. 6locKsin and 6.>. ;ellish. 4rogamming in 4rolog. >pringererlag" Ierlin" 5ourth edition" 1C. G. 7. IratKo. 4rolog 4rogramming 5or )rtifcial 7ntelligence. )ddisonQesle$" 9eading" ;assachusetts" third edition" 2001. H. 9. ?kJee5e. %he 6ra5t o5 4rolog. %he ;7% 4ress" 6ambridge" ;)" 10. U. Eemplo completo en 4rolog: http://www.uhu.es/niees.paon/pprogramacion/practicas/isual prolog/isualprolog.html P. Eemplos de la p#gina ofcial de isual 4rolog: http://www.isualprolog.com/ip/eample/ . 6onstrucci+n de un Editor inteligente: prolog.com/ideo/7ntelli>peed/de5ault.htm
http://www.isual-
10. 6onstrucci+n de 5ormularios: prolog.com/ideo/Form8emo/de5ault.htm
http://www.isual-
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento 16 A Beginners /uide to 5isual Prolog
-)(: http://wiKi.isual-prolog.com/inde.phpB title)IeginnersNuidetoisual4rolog Breve descripción6 *a Nu(a para principiantes de isual 4rolog es un libro completo escrito por %homas Q. de Ioer. El libro contiene material" &ue se utili,a con permiso epreso de los autores. *a ersi+n actual del libro est# dedicado a isual 4rolog U.2 . El libro es una introducci+n" signifca &ue est# dirigido a a&uellos &ue saben mu$ poco acerca de la programaci+n. ___________________________________ _________.____.. •
+ocumento H6 5isual Prolog or T#ros
-)(: http://wiKi.isual-prolog.com/inde.phpB titleisual4rolog5or%$ros Breve descripción6 El documento isual 4rolog para %$ros es un completo libro escrito por Eduardo 6osta. Es un buen punto de partida para el estudio isual 4rolog" se recomienda a los maestros para la educaci+n. *a ltima edici+n del libro es isual 4rolog U.3 para %$ros . El libro inclu$e un nmero de eemplos &ue ilustran di5erentes caracter(sticas de isual 4rolog .
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
•
•
*os 78Es 5acilitan la programaci+n de 4rolog. 6ada 78E tiene su propia estructura para la construcci+n de programas" sin embargo mantienen el mismo es&uema de bs&ueda de soluciones a tra's del bacKtracKing $ el empareamiento de ariables. >Q7-4rolog permite trabaar directamente en consola $ con su etensi+n [46E se constru$en inter5aces gr#fcas. isual 4rolog aun&ue un poco mas complicado e debe tener cuidado durante el proceso de aprendi,ae" separando las clausulas &ue implementan las 5uncionalidades computacionales de las 5uncionalidades de procesamiento l+gico.
*etacognición *as siguientes preguntas te a$udar#n a re^eionar sobre tus propios aprendi,aes" es un eercicio recomendado pata ra,onar e identifcar nuestro es5uer,o intelectual" la fnalidad es guiar nuestras acciones $ procesos mentales. @8e la tem#tica abordada &ue te llam+ l lam+ m#s la atenci+nB @6onsideras &ue aprendiste con los temas abordadosB @%uiste @%u ste difcultad solucionasteB
con
algn
tema
@Au' acciones reali,aste para aprenderB
o
actiidadB
@6+mo lo
Tema 0O. Tratamiento de cadenas # listas
Fuente Fuen te http://smartcomputing http://smartcomputing.gerardorossel.org/r .gerardorossel.org/reglaseglasrecursias.asp Bienvenida Estimados estudiantes ¡bienenidos! a la cuarta semana del curso" donde donde contin continuar uaremo emoss estudi estudiand ando o el lengua lenguae e 4rolo 4rolog. g. 8urant 8urante e esta esta sema semana na trab traba aar arem emos os con con cade cadena nass $ list listas as &ue &ue son son estr estruc uctu tura rass din#micas $ permiten procesar datos en memoria relacionados con epresiones del lenguae natural. *os seres humanos organi,amos la in5ormaci+n $ el posterior conocimiento en 5orma de cadenas $ listas. 9ecord ecordemo emoss alguno algunoss escena escenario rios" s" cuando cuando organ organi,a i,amos mos una festa festa elaboramos la lista de initados $ los nombres de las personas se almacena en 5orma de cadenas de caracteres" cuando hacemos un tour elaboramos la lista de lugares isitados" cuando terminamos una carrera pro5esional hemos acumulado una lista de cursos. 4or esta ra,+n es mu$ importante en sistemas basados en conocimiento el tratamiento de cadenas $ listas. *os contenidos se complementan con inte interresan esante tess lect lectur uras as"" ali alios osos os (de (deos os"" p#gi p#gina nass inte intera ract cti ias as e importa rtantes actiidades de ealuaci+n i+n &ue conducen a la metacognici+n $ a la comprobaci+n de los aprendi,aes logrados. ¡6ontinuemos programando en 4rolog!
Introducción al tema
Fuente Fu ente http://slidepla$er http://slidepla$er.es/slide/1PU2P2/ .es/slide/1PU2P2/ *as cadenas en 4rolog son un tipo de datos conocidos como string 677 encerrada entre comillas. El tratamiento de cadenas es mu$ importante por&ue permite anali,ar pala palabr bras as en busc busca a de dete determ rmina inada dass cara caract cter( er(st stic icas as"" por por eemp eemplo lo conocer el contenido del primer caracter o en todo caso erifcar si la pala palabr bra a cont contie iene ne dete determ rmin inad ados os cara caract cter eres es"" es posi posibl ble e cont contar ar el nume numerro de palab alabra rass en un tet teto o o en un arch archi io o" etc. etc. Est Estas caracter(stic caracter(sticas as de 4rolog 4rolog son interesant interesantes es al momento momento de programa programarr aplicaciones con interpretaci+n del lenguae natural. 4rol 4rolog og prop propor orcio ciona na un con conun unto to de clau clausu sula lass para para trab traba aar ar con con cadenas" podemos as( implementar un conunto de operaciones tales como como la conc concat aten enac aci+ i+n n de cade cadena nass &ue &ue es la uni+ uni+n n o suma suma de cadenas" podemos unir dos cadenas para 5ormar una tercera cadena. 4odemos separar una cadena en tramas mas pe&ueas" etc. *as cadenas son un tipo de listas. 4or otro lado las listas en 4rolog son un tipo tipo de dato datoss encer encerrad rados os entr entre e conc concre rete tess W X" &ue &ue cont contie iene nen n un conunto de datos relacionados con determinado tipo de datos" por eemplo" podemos tener una lista de nmeros impares W1"3" G" U"X" o una lista de cadenas &ue representan nombres de personas WVuan" 4edr 4edro o" )na" )na" *uis *uisaX aX.. *as listas listas tambi' tambi'n n son conoci conocidas das como como arreglos din#micos en otros lenguaes de programaci+n" por lo tanto las listas son ideales para el tratamiento de pilas" colas $ #rboles conceptos importantes para el tratamiento de datos en memoria. 4rolo 4rolog g repr represe esenta nta listas listas en 5orma 5orma gen'ri gen'rica ca preci precisan sando do su cabe,a cabe,a
conunto de datos o reali,ar operaciones computacionales como por eemplo imprimir en pantalla un conunto de datos o llenar con datos un caa caa de list listas as.. El trat tratam amie ient nto o de cade cadena nass $ list listas as est# est# mu$ mu$ di5und di5undido ido en aplica aplicacio ciones nes ra,on ra,onabl ables es de la intelig inteligenc encia ia artifci artifcial al $ utili,a intensiamente el concepto de recursiidad.
)prendi,aes esperados Conozcamo Conozcamos s ahora las capacidade capacidades s y actitudes actitudes a desarrollar desarrollar en este cuarto tema:
Capacidades •
•
7dentifca $ utili,a t'cnicas de procesamiento de cadenas. )nali,a el contenido de una cadena como in5ormaci+n b#sica del tratamiento del conocimiento.
•
7dentifca $ utili,a t'cnicas de procesamiento de listas.
•
6onoce las operaciones b#sicas de programaci+n sobre listas.
•
impl implem emen enta ta la crea creaci ci+n +n de list listas as"" agr agrega" ega" busc busca a $ elim elimin ina a elementos en una lista.
Actitudes •
•
•
8emue 8emu estra stra toler oleran anci cia a $ respe espetto ante ante la opin opini+ i+n n de sus sus compaeros en el debate de un 5oro. alor alora a los los comp compon onen ente tess $ estr estrat ateg egia iass de prog progra rama maci ci+n +n de sistemas basados en reglas. )sume responsabilidad en el cumplimiento de las actiidades.
;arco conceptual ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
O.1 Tratamiento de cadenas.
http://ia-israel.blogspot.com/201C/0H/prolog-sintais-$-signifcado-delos.html 49?*?N 5ue diseado 5undamentalmente para permitir la representaci+n $ tratamiento de conocimiento" en tal sentido" el tratamiento del lenguae es un obetio permanente $ en el caso de lenguae escrito" el tratamiento de tetos uega un papel importante. *as cadenas de caracteres constitu$en un tipo de datos denominado >tring $mbol= $ son un conunto de caracteres )>677. Eemplos de cadenas: Dombre Vuan. 6iudad >an Vuan de ;ira^ores. Fecha 2G de Enero del 2"0C0. ;esestranscurridosdesdelaultimacompra23. En los eemplos anteriores los caracteres entre comillas corresponden a cadenas de caracteres" en nuestro caso las denominamos simplemente cadenas.
O.H Tratamiento de los caracteres de una cadena. El lenguae 4rolog o5rece un conunto predefnido de predicados &ue permiten el tratamiento de cadenas" a continuaci+n mostramos los predicados $ eemplos: 49E876)8?> >%)D8)9 4)9) E* %9)%);7ED%? 8E 6)8ED)> 49E876)8 >7D%)[7> ? 5rontchar
FD67?D
5rontchar
char" Fcarac es el primer caracter de 6ad. F6arac" 9est es el resto de caracteres
6ad es la uni+n de F6arac con
F4al es la primera palabra de 6ad. F4al" 9est es el resto de caracteres
6ad es la uni+n de F4al con
concat
string" 6ad3 es la uni+n de 6ad1 $ 6ad2
concat<6ad1" 6ad3=
6ad2"
strlen
strlen
*ong es la longitud de 6ad
strlen<6ad" *ong=
isname
6l#usula erdadera cuando 6ad es un string
5rontstr
Eemplos 1. 4rograma &ue lee una cadena e imprime un caracter por linea: predicates leer
61"
write<61=" nl" imprimir<96=. goal leer<6=" imprimir<6=. 2. 4rograma &ue lee una cadena e imprime un toKen por linea. >ugerencia: en el programa anterior reemplace la cl#usula 5rontchar<6"61"96= por la cl#usula 5ronttoKen<6"61"96=. 3. 9ealice la impresi+n de las cadenas solicitadas en los eemplos anteriores en sentido inerso. >ugerencia: reemplace la cl#usula imprimir por el siguiente c+digo: imprimir<=. imprimir<6=:-5rontchar<6" 61" 96=" imprimir<96=" write<61=" nl.
O.J Concatenación.
Fuente: http://ra$mundo$ca,a.com/la-5uncion-concatenar-en-ecel/ *a concatenaci+n es una operaci+n &ue consiste en unir dos o mas cadenas para 5ormar una sola. )lgunos lenguaes usan el operador " en 4rolog se usa el predicado 6?D6)%. Eemplos: <*a implementaci+n de estos eemplos depende del 78E utili,ado" el estudiante debe adecuar el c+digo correspondiente= 1. 4rograma &ue genera un saludo Sola ;ario a partir de dos cadenas Sola $ ;ario presentadas directamente. saludo:concat<Sola" ;ario" 6ad=" write<6ad=. 2. 4rograma &ue genera un saludo Sola ;ario a partir de dos cadenas Sola $ ;ario declaradas preiamente. 6adena01 Sola. 6adena02 ;ario. saludo<6adena01" 6adena02=:concat<6adena01" 6adena02" 6adena03=" write<6adena03=.
Tipos de datos declarados por el usuario6 domains *os tipos de datos gen'ricos e puede codifcar de la siguiente manera: domains persona string predicates padre
domains
numero integer
nombre string
cuadrado integer
predicates cuad
deporte string predicates persona
El uso de domains es importante $ necesario para el tratamiento de listas &ue eremos a continuaci+n.
C.C %ratamiento de listas.
Fuente: http://ia-israel.blogspot.com/201C0H01archie.html *as listas son estructuras de datos din#micas. 4ueden aumentar o disminuir el nmero de sus elementos" tienen el mismo tipo de elementos $ pueden ser tan compleas como se re&uieran. *a lista sin elementos eiste $ recibe el nombre de lista ac(a.
Eemplos6 •
*a lista de initados a una festa.
•
*a lista de alumnos inscritos en un curso
•
*a lista de nmeros enteros: 3 G P U 1 2 10
•
*a lista de deportes: 5ootball" basKetball" Karate" ole$ball
•
*a lista de nombres de personas: Vuan" 4edro" )na" *uisa" ;iguel
En 49?*?N los elementos de una lista se escriben entre corchetes W X $ tiene dos componentes:
•
*a cabe,a &ue es el primer elemento
•
El resto de elementos <%ail= de la lista
)s( tenemos &ue una lista se denota de la siguiente manera:
WS %X
8onde S representa la cabe,a $ % representa el resto de elementos.
Eemplos de listas:
•
•
•
W X........................................lista ac(a. numeros
Actividad de an4lisis # comprensión
>e solicita anali,ar e interpretar el signifcado de las clausulas de programa $ comentar su 5uncionamiento.
O. 'peraciones so:re listas6 Agregar" :uscar" eliminar elementos.
Fuente: http://ia-israel.blogspot.com/201C0H01archie.html ) continuaci+n se muestra la 5orma de declarar listas: domains listanum integer
listacad string
predicates numeros
El asterisco <= se lee lista de
•
integer se lee lista de enteros
•
string se lee lista de cadenas
•
listanum es el nueo tipo lista de enteros
•
•
•
•
listacad es el nueo tipo lista de cadenas numeros es un predicado con un argumento de tipo listanum
)nalicemos el siguiente c+digo: domains listanum integer
predicates numeros
C. 7noca la cl#usula nmeros<)=...................................................liga la ariable ) con la lista W1"3"G"U""X. G. 7noca la cl#usula nmeros
'peraciones :4sicas en listas
Fuente: http://ia-israel.blogspot.com/201C0H01archie.html 8efnimos las siguientes operaciones b#sicas: 1. )gregar un elemento al inicio de la lista. 2. )gregar un elemento al fnal de la lista. 3. )gregar un elemento a la lista de acuerdo a una relaci+n de orden. C. erifcar si un elemento pertenece a la lista. G. Eliminar un elemento de la lista. H. ?rdenar los elementos de la lista. U. 7mprimir los elementos de la lista. *os siguientes programas presentan en 5orma aislada la implementaci+n de las operaciones b#sicas 1. )gregar un elemento al inicio de la lista:
domains listanum integer predicates agrega1=" write<*ista>=" readln<=. 2. )grega un elemento al fnal de la lista: domains listanum integer predicates agrega2
WS%>X=:agrega2=. goal write<entre un nmero: =" readint<8D=" agrega2<8D" W1"3"G"U"X="*ista>=" write<*ista>=" readln<=. 3. )gregar un elemento a la lista de acuerdo a una relaci+n de orden: domains listanum integer predicates agord
=" readint<8D=" agrega1<8D" W1"3"G"U"X="*ista>=" write<*ista>=" readln<=. C. erifcar si un elemento pertenece a la lista: domains listanum integer predicates miembro
domains listanum integer predicates elimina =. write<*ista>=" readln<=. H. ?rdena los elementos de una lista: domains listanum integer predicates agord
clauses agord
clauses imprime
)ctiidades Actividad de programación tili,ando el c+digo de los eemplos anteriores se solicita implementar las siguientes operaciones etendidas sobre listas" utili,ando cual&uiera de los 78E presentado en el curso: 1. 8eoler el primer elemento de la lista......................primel"*= G. 8eoler el predecesor de un elemento de la lista....predel
(as cadenas son un tipo de datos6 7nteger
>tring
alues
4redicates
Encadenados
7etroalimentación
*as cadenas son tipo de datos string 677=.
(as listas se declaran con el sm:olo6
W X <6orchetes=
Do es necesario declararlas
7etroalimentación
*as listas se declaran usando el s(mbolo asterisco. Eem nombre ... se lee lista de nombres (as listas son estructuras6 Est#ticas
8in#micas
9ecursias
)lgor(tmicas
Eclu$entes
7etroalimentación
*as listas son estructuras din#micas $ su procesamiento se reali,a en memoria.
Bi:liograa 1. 1. Escrig" 4acheco" %oledo. El lenguae de programaci+n 4rolog. niersidad Vaume 7 de 6astell+n. 8isponible en: http://mural.u.es/miuanlo/4racticas49?*?N.pd5 2. Dilson" ;alu,$nsKi. *ogic" 4rogamming and 4rolog. ?pen*ibra. 8isponible en: http://www.etnasso5t.com/biblioteca/logic-programmingand-prolog-2ed/ 3. *. >terling and E. >hapiro. %he )rt o5 4rolog. %he ;7% 4ress" 6ambridge" ;ass." second edition" 1C. C. Q.F. 6locKsin and 6.>. ;ellish. 4rogamming in 4rolog. >pringer-erlag" Ierlin" 5ourth edition" 1C. G. 7. IratKo. 4rolog 4rogramming 5or )rtifcial 7ntelligence. )ddison-Qesle$" 9eading" ;assachusetts" third edition" 2001. H. 9. ?kJee5e. %he 6ra5t o5 4rolog. %he ;7% 4ress" 6ambridge" ;)" 10.
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento 16 Inteligencia artifcial e&plicada
-)(: http://smartcomputing.gerardorossel.org/reglas-recursias.asp Breve descripción6 Este sitio est# dedicado a todos los temas de 6nteligencia Computacional o 6nteligencia +rtiGcial. Encontraran tambi'n un libro
+ocumento H6 Programación con listas
-)(6 7ttp688999.lcc.uma.es8]pacog8apuntes8pd8CuadPracH.pd Breve descripción6 El documento presenta teor(a $ pr#ctica del procesamiento de listas en 4rolog. 6ontiene defniciones $ eercicios resueltos $ propuestos con aplicaciones pr#cticas.
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
4rolog permite el tratamiento de cadenas de caracteres para el tratamiento de tetos o palabras. 4rolog permite el tratamiento de estructuras din#micas conocidas como listas $ podemos defnir nuestros propios tipos de datos para procesar cual&uier tipo de conocimiento. *as operaciones defnidas sobre cadenas $ listas son bastante conocidas $ nos permiten resoler problemas mas compleos.
*etacognición *as siguientes preguntas te a$udar#n a re^eionar sobre tus propios aprendi,aes" es un eercicio recomendado pata ra,onar e identifcar nuestro es5uer,o intelectual" la fnalidad es guiar nuestras acciones $ procesos mentales. @8e la tem#tica abordada &ue te llam+ m#s la atenci+nB @6onsideras &ue aprendiste con los temas abordadosB @%uiste difcultad con algn tema o actiidadB @6+mo lo solucionasteB @Au' acciones reali,aste para aprenderB
Tema 0. Fundamentos de los sistemas e&pertos.
Fuente: Elaboraci+n propia Bienvenida Estimados estudiantes ¡bienenidos! a la &uinta semana del curso" donde presentaremos conceptos de los sistemas epertos en el entorno de los sistemas basados en conocimiento" conoceremos la taonom(a $ estructura de los sistemas epertos. En el an#lisis $ diseo de sistemas es importante contar con un es&uema metodol+gico para orientar nuestro trabao por lo &ue abordaremos una metodolog(a de amplia aceptaci+n para desarrollar sistemas epertos denominada 6ommonJads" se ha seleccionada esta metodolog(a por&ue su aplicaci+n es adecuada con los 78Es presentados en sesiones anteriores" logrando productos de diseo moderno. *os contenidos se complementan con interesantes lecturas" aliosos ideos" p#ginas interactias e importantes actiidades de ealuaci+n &ue conducen a la metacognici+n $ a la comprobaci+n de los aprendi,aes logrados. ¡6ono,camos $ utilicemos la metodolog(a 6ommonJads para desarrollar sistemas epertos!
Introducción al tema
Fuente:http://www.casaestudioigeno.cl/pag-in/i/33H *os sistemas epertos son programas de computadora &ue resuelen tareas tal como las reali,ar(a un eperto humano" tratan de imitar el comportamiento humano utili,ando in5ormaci+n &ue le es proporcionado $ generando una opini+n sobre un tema espec(fco. El estudio $ generaci+n de sistemas epertos han permitido confgurar una estructura caracteri,ada por contemplar las di5erentes etapas de gesti+n del conocimiento: ad&uisici+n" tratamiento $ uso. El ra,onamiento para producir resultados a las consultas de los usuarios son reali,ados por un motor de in5erencias &ue relaciona hechos o datos con reglas de producci+n. *os sistemas epertos son capaces de mostrar una tra,a de los elementos de ra,onamiento utili,ados $ es posible &ue logren aprendi,ae sobre las decisiones anteriores" meorando el niel de ra,onamiento. *os sistemas epertos tienen una amplia taonom(a orientada por las di5erentes aplicaciones $/o los di5erentes criterios de diseo $ uso por la 5orma de almacenar conocimiento" por la naturale,a de la tarea a reali,ar" por la interacci+n del usuario" por la limitaci+n de tiempo para tomar decisiones" por la ariabilidad temporal del conocimiento" por la naturale,a del conocimiento almacenado" por la certe,a de la in5ormaci+n. El desarrollo de sistemas epertos comprende etapas de an#lisis" diseo $ construcci+n del programa para ello usaremos la metodolog(a 6ommonJads &ue permite modelar el conocimiento en un lenguae independiente de la plata5orma de construcci+n del producto in5orm#tico. Esta metodolog(a propone el uso de 5ormularios para cada uno de sus componentes de manera &ue 5acilita el traslado a cual&uier sistema computacional. *a metodolog(a 6ommonJads propone tres nieles" el niel de conteto" el niel de concepto $ el niel de implementaci+n" durante esta semana estudiaremos el niel de conteto &ue inclu$e tres modelos" el modelo de organi,aci+n &ue responde a la pregunta @para &u' desarrollamos un sistema epertoB" el modelo de tareas &ue responde a la pregunta @&u' se debe implementarB $ el modelo de agentes &ue responde a la pregunta @&ui'n participa en el sistema epertoB.
)prendi,aes esperados Conozcamos ahora las capacidades y actitudes a desarrollar en este quinto tema:
Capacidades •
6onoce la defnici+n de los sistemas Epertos.
•
7dentifca la )r&uitectura $ taonom(a de un sistema Eperto.
•
•
•
6onoce el espacio de soluciones &ue proporcionan los sistemas epertos. 6onoce la metodolog(a 6ommonKads para representar el conocimiento. )plica la metodolog(a para representar conocimiento $ utili,a el lenguae 4rolog para la implementaci+n de la aplicaci+n.
Actitudes •
•
•
8emuestra puntualidad $ perseerancia en la asistencia de las tutor(as programadas. 9econoce la taonom(a de un >istema Eperto. alora las opiniones de los dem#s $ las recoge para 5ortalecer sus conocimientos.
;arco conceptual ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
.1 +efnición de %istemas E&pertos
Fuente: http://carlosesti.blogspot.com/ *os sistemas epertos 5ueron el primer logro de la inteligencia artifcial resoliendo problemas a tra's del conocimiento $ raciocinio tal como lo har(a un ser humano. n sistema eperto es un programa de computadora &ue resuele tareas tal como las reali,ar(a un eperto humano" se puede decir &ue imita el comportamiento humano utili,ando in5ormaci+n &ue le es proporcionado $ generando una opini+n sobre un tema espec(fco. %iene la caracter(stica de ser interactio" contiene reglas &ue les permiten tomar decisiones conocidas como bases de conocimientos" en concreto la tarea de un sistema eperto es aconsear a un usuario respecto a un tema espec(fco. n sistema eperto rene las siguientes caracter(sticas: %iene amplio conocimiento espec(fco del #rea de especiali,aci+n. )plica t'cnicas de bs&ueda. >oporta an#lisis heur(stico. Es din#mico pues sus hechos $ reglas est#n suetos a constante reisi+n $ es capa, de in5erir nueos conocimientos a partir de los $a eistentes. 6apacidad de procesamiento de s(mbolos. %iene in5erencia deductia siendo capa, de eplicar su propio ra,onamiento. *a base de conocimientos es independiente del motor de in5erencias. Es generalmente declaratio. •
• • •
• •
•
•
)un&ue no eiste una nica defnici+n para los sistemas epertos presentamos algunas propuestas: 6ongreso mundial de la 7) Feigembaum: n programa de computador inteligente &ue usa el conocimiento $ procedimientos de
in5erencia para resoler problemas &ue son los sufcientemente di5(ciles como para re&uerir la interenci+n de un eperto humano para su resoluci+n. )sociaci+n )rgentina de inteligencia artifcial: n >E es un sistema in5orm#tico &ue simula los procesos de aprendi,ae" memori,aci+n" ra,onamiento" comunicaci+n $ acci+n de un eperto humano en una determinada rama de la ciencia" suministrando" de esta 5orma" un consultor &ue puede sustituirle con unas ciertas garant(as de 'ito.
.H Ar!uitectura de un sistema E&perto 7niciamos esta secci+n presentando una sencilla ar&uitectura de un sistema basado en conocimientos:
Fuente: Elaboraci+n propia *a base de conocimientos es una estructura de datos &ue contiene una gran cantidad de in5ormaci+n sobre un tema espec(fco" es generada por un eperto. Esta base de conocimientos est# 5ormada por: •
•
?betos $ sus relaciones. 6asos particulares o ecepciones $ di5erentes estrategias de resoluci+n con sus condiciones de aplicaci+n. <metaconocimiento Z 5orma generar conocimiento en base a conocimiento=
En nuestro caso podemos decir" usando una terminolog(a 4rolog" &ue la base de conocimientos est# constituida por la reglas de producci+n" en el caso de isual 4rolog se referen a las clauses generadas por predicates. *a base de hechos est# re5erida a los datos considerados erdaderos al momento de eecutar la aplicaci+n. En nuestro caso" refri'ndonos a isual 4rolog diremos &ue son las clauses generadas por 5acts. %anto la base de hechos como la base de conocimientos pueden estar declaradas en el programa 4rolog o ser mantenidas eternamente en un archio &ue se agrega al programa con la clausula consult. El motor de in5erencias es el ncleo del sistema eperto constru$endo los ra,onamientos" es el encargado de eecutar las in5erencias durante el proceso de resoluci+n. En el caso de 4rolog" proporciona por de5ault un motor &ue se encarga de detectar los conocimientos e puede implementar con 5ormatos defnidos o se puede defnir un lenguae de consultas basado en lenguae natural. El m+dulo de eplicaciones reali,a una tra,a de las conclusiones parciales conseguidas en el m'todo de ra,onamiento" permite alidar la coherencia de los hechos $ las reglas ustifcando sus respuestas. El m+dulo de ad&uisici+n del conocimiento permite a los epertos ingresar el conocimiento a tra's de 5ormatos predefnidos o usando el lenguae natural" a las personas &ue reali,an esta tarea se les llama cognim#ticos o ingenieros del conocimiento.
.J Ta&onoma de los %istemas E&pertos *os sistemas epertos se pueden clasifcar de acuerdo a la siguiente tabla: 6*)>E
4or la 5orma almacenar conocimiento
de
%74?
8E>697467?7D
Iasados en reglas
)lmacenan el conocimiento en 5orma de hechos $ reglas.
Iasados probabilidades
;itos
4or la naturale,a de la tarea a reali,ar 8iagn+stico clasifcaci+n
)lmacenan conocimiento en hechos $ dependencias probabil(sticas.
el en sus
)lmacenan el conocimiento en hechos $ reglas &ue contienen probabilidades. >e conocen las posibles soluciones $ se trata de clasifcarlas o o diagnosticarlas de acuerdo a una serie de datos $ reglas almacenadas.
;onitori,aci+n
>e anali,a el comportamiento de un sistema en bs&ueda de posibles 5allos.
8iseo
>e busca construcci+n de
la la
soluci+n a un problema &ue en principio es desconocida" a partir d hechos $ restricciones a satis5acer.
4redicci+n
>e estudia el comportamiento de un sistema tratando de predecir su comportamiento en el 5uturo cercano.
)po$o
*a tarea del sistema es aconsear al usuario.
4or la interacci+n del 6ontrol usuario
El sistema toma decisiones $ actu# sobre su entorno sin participaci+n humana.
6ritica
El sistema anali,a" ealu# $ critica las decisiones de una persona.
%iempo ilimitado
Emplean conocimiento casual &ue busca las ra(ces de un problema $a ocurrido $ cuto resultado no se re&uiere de inmediato.
%iempo limitado
>istemas de tiempo real &ue monitori,an o controlan dispositios tomando decisiones en 5orma inmediata.
4or la limitaci+n de tiempo para tomar decisiones
Est#ticos
*a base de conocimiento nos ar(a durante el proceso de decisi+n.
8in#micos
*a base de datos se mantiene din#micamente en 5unci+n de las decisiones tomadas.
4or la ariabilidad temporal del conocimiento
Iasado eperiencia 4or la naturale,a del conocimiento almacenado
>e basan en las eperiencias de un en eperto a tra's de los hechos sin establecer una relaci+n de de causalidad claramente defnida.
*as relaciones de Iasado en relaciones causalidad est#n causa-e5ecto per5ectamente defnidas.
6ompleta o per5ecta
>e cuenta con todos los datos $ reglas para tomar la decisi+n.
7mper5ecta
Do se cuenta con todos los datos" las datos son di5usos" se cuenta con terminolog(a ambigua.
4or la certe,a de la in5ormaci+n
G.C *as aplicaciones de los >istemas Epertos *os sistemas epertos o5recen a$udan en casos como los siguientes:
•
•
Eitar 5allos en labores rutinarias compleas. )mpliar de 5orma m#s r#pida el conocimiento de los especialistas.
•
8iagnosticar 5allos con ma$or rapide,.
•
6onseguir tareas de planifcaci+n m#s compleas $ consistentes.
*as aplicaciones de los sistemas epertos han incursionado en #reas de medicina" geolog(a" &u(mica" econom(a" ingenier(a ciil" etc.
En el siguiente cuadro podemos obserar di5erentes aplicaciones de los sistemas epertos: 6ategor(a
%ipo de problema
sos
7nterpretaci 8educir situaciones a partir )n#lisis de im#genes" +n de datos obserados reconocimiento del habla" inersiones fnancieras. 4redicci+n
7n5erir posibles 4redicci+n meteorol+gica" consecuencias a partir de preisi+n del tr#fco" una situaci+n. eoluci+n de la bolsa.
8iagn+stico 8educir 5allos a partir de 8iagn+stico sus e5ectos. detecci+n de e&uipos. 8iseo
6onfgurar
obetos
bao 8iseo
de
m'dico" 5allos de
circuitos"
ciertas especifcaciones. 4lanifcaci+ 8esarrollar planes n llegar a unas metas.
edifcios" autom+iles" etc.
para 4rogramaci+n de pro$ectos e inersiones" planifcaci+n militar.
;onitori,aci 6ontrolar situaciones 6ontrol de +n o donde ha$ planes nucleares $ superisi+n ulnerables. &u(micas.
centrales 5actor(as
8epuraci+n 4rescribir remedios para 8esarrollo de so5tware $ 5uncionamientos err+neos. circuitos electr+nicos. 9eparaci+n E5ectuar lo necesario para 9eparar sistemas hacer una correcci+n. in5orm#ticos" autom+iles" etc. 7nstrucci+n 8iagn+stico" depuraci+n $ 6orrecci+n correcci+n de una ensean,a. conducta.
de
errores"
6ontrol
;antener un sistema por Estrategia militar" control un camino preiamente de tr#fco a'reo. tra,ado. 7nterpreta" predice $ superisa su conducta.
Ensean,a
9ecoger el conocimiento $ )prendi,ae mostrarlo. eperiencia.
. 5entaas de los %istemas E&pertos
de
Fuente: http://cristianarrobo.blogspot.com/20110301archie.html *os sistemas epertos presentan entaas 5rente a los epertos humanos: 1. )sesor(a. *os >>EE apo$an a personas con poco conocimiento en la soluci+n de problemas &ue re&uieren conocimiento especiali,ado. 2. 8isponibilidad. *os >>EE pueden operar ininterrumpidamente las 2C horas del d(a durante todo el ao. 3. Estabilidad emocional. *os >>EE pueden operar sin inter5erencias emocionales caracter(sticas de un ser humano" por lo tanto sus decisiones ser#n obetias. C. 4ortabilidad. *os >>EE pueden operar en di5erentes plata5ormas $ en di5erentes idiomas. G. Estandari,aci+n. *os >>EE mantienen un alto grado de estabilidad $ pueden ser adaptados a est#ndares internacionales. H. Facilidad de mantenimiento. *os lenguaes modernos permiten mecanismos de actuali,aci+n del so5tware proporcionando en todo momento una alta integraci+n tecnol+gica. U. Eistencia. *os >>EE pueden "perdurar en el tiempo $ crecer indefnidamente. P. 6ompatibilidad. *os >>EE pueden ser consultados por di5erentes usuarios $/o plata5ormas tecnol+gicas.
. 6ompleidad. *os >>EE pueden trabaar con alto grado de compleidad relacionando ariables &ue para un ser humano son di5(ciles de mantener. El uso de sistemas epertos es aconseable cuando: •
•
•
*os epertos humanos son escasos. Eisten situaci+n demasiado compleas en las &ue subetiidad humana puede llear a errores de percepci+n.
la
6uando el olumen de datos es mu$ eleado para tomar decisiones.
.= *etodologa Common?ads. 6ommonJ)8> es una metodolog(a aplicable al an#lisis $ la construcci+n de >istemas Iasados en 6onocimiento" la cual est# orientada hacia la reali,aci+n de actiidades de modelado" donde se desarrollan un conunto de modelos &ue permiten epresar di5erentes perspectias de la situaci+n &ue se est# anali,ando. Esta metodolog(a o5rece teor(as" m'todos $ t'cnicas cient(fcas para representar el conocimiento $ modelar los procesos mentales" as( como acercarse a los contenidos de conocimientos de las personas. 4rincipios de la metodolog(a 6ommonKads: 1. *a ingenier(a del conocimiento consiste en la construcci+n de modelos &ue 5ormali,an di5erentes aspectos del conocimiento humano. 2. El modelado de la estructura del conocimiento se ha de reali,ar de 5orma independiente a la implementaci+n. 3. El conocimiento tiene una estructura interna en la &ue se pueden distinguir tipos de conocimiento $ tareas espec(fcas. *a metodolog(a 6ommonKads se basa en los siguientes 5undamentos te+ricos: 1. *a construcci+n de un sistema basado en conocimiento se basa en la construcci+n de arios modelos &ue 5ormali,an una parte concreta del proceso. 2. El nmero $ niel de desarrollo de cada modelo depende del conteto de la aplicaci+n. 3. El desarrollo de estos modelos se reali,a en tres nieles: an#lisis del conteto" 5ormali,aci+n abstracta e implementaci+n. C. El desarrollo de cada 5ase depende del resultado obtenido en la 5ase anterior. Ias#ndonos en las premisas de los principios $ los 5undamentos te+ricos presentamos un es&uema de los componentes de la metodolog(a 6ommonKads.
Fuente: Elaboraci+n propia 8escribimos cada uno de los modelos: •
;odelo de organi,aci+n: o
o
o
o
•
9eali,a un an#lisis de la organi,aci+n con el obetio de identifcar los problemas $ las posibilidades de incorporaci+n de >I6s. *os aspectos de la organi,aci+n son tan importantes por&ue" al igual &ue el resto de los sistemas de in5ormaci+n" 'stos s+lo tendr#n 'ito si se integran adecuadamente en su conteto. Dormalmente" el >I6 acta como una agente cooperando con otros agentes e termina delimitando obetios" estrategias" 5actores eternos" etc. En este modelo se debe tener presente todo lo relatio a la gestión del conocimiento
;odelo de tareas:
o
o
o
o
o
•
>i el an#lisis de iabilidad resulta positio el siguiente paso es determinar las tares releantes $ los agentes &ue las reali,ar#n. Hna tarea representa un o"'etivo desea"le con unas entradas y salidas "ien estructuradas que requiere y proporciona conocimiento y se realiza por agentes seg%n unos criterios de rendimiento y calidad.
En la especifcaci+n de la estructura de la tarea se pueden utili,ar diagramas de clases de ;*. Es importante establecer el control temporal de la tarea. 4ara ello se utili,an los diagramas de estado
;odelo de agentes: o
o
•
8escribe las tareas &ue se reali,an o deben reali,arse en el conteto de la organi,aci+n donde se an a utili,ar >I6s.
8escribe las capacidades" pre5erencias $ permisos de los agentes &ue reali,an las tareas. 8etermina los roles $ las competencias de los actores &ue participan en la reali,aci+n de la tarea. Es coneniente utili,ar los diagramas de casos de ;* para describir su participaci+n. Este modelo establece la cooperaci+n entre agentes
;odelo de conocimiento: o
o
o
4roporciona una descripci+n independiente de la implementaci+n del conocimiento inolucrado en las tareas. Especifca el conocimiento $ los re&uerimientos de ra,onamiento del sistema. %iene tres partes denominadas categor&as del conocimiento. *a primera se denomina conocimiento del dominio $ especifca conocimiento $ tipos de in5ormaci+n concretos &ue se usaran en la aplicaci+n. 9epresenta la parte est#tica. 4or e." en una aplicaci+n de diagn+stico m'dico contendr(a defniciones de en5ermedades" s(ntomas $ pruebas releantes" as( como de las relaciones entre
estas. Es comparable a un modelo de datos o modelo de obetos en ingenier(a del so5tware. o
4uede estar constituido por dos tipos de elementos:
Esquema del dominio: son como los esquemas conceptuales de las modernas bases de datos" en
este caso constitu$en la ontolog(a de las clases $ entidades del dominio. En un sistema de medicina contendr(a defniciones generales de en5ermedades" s(ntomas" etc.
$ase de conocimiento: constitu$e la instanciaci+n
del anterior. 4or eemplo" concretando las patolog(as $ s(ntomas del c#ncer de mama.
o
•
*a segunda componente se refere al conocimiento de inferencia. *as in5erencias son blo&ues < "uilding "locIs= &ue representan el ltimo niel en la descomposici+n 5uncional del sistema. 4or eemplo" en un sistema de diagn+stico podr(a darse la in5erencia veriGcar para identifcar pruebas &ue siran para determinar si una en5ermedad es la causa de un s(ntoma. Finalmente se distingue el conocimiento de tarea. 8escribe los obetios $ las aplicaciones posibles" as( como su descomposici+n en subtareas $" fnalmente" in5erencias. *a especifcaci+n de estas tareas en m+dulos reusables denominados tipos de tarea es lo &ue se conoce en la bibliogra5(a del campo como 4>;s" pro"lem solving methods. *a particularidad de 6ommonJads es &ue 'stos est#n especifcados para una tarea concreta. )l igual &ue en la ma$or(a de las descomposiciones eistentes se distinguen dos tipos b#sicos de tareas" las de an#lisis $ las de s&ntesis.
Es importante recordar &ue la potencialidad de este planteamiento reside en &ue en la especifcaci+n de las tareas no ha$ conocimiento del dominio espec(fco. En todo caso" se establecen suposiciones sobre la naturale,a del conocimiento del dominio.
;odelo de comunicaci+n: o
8escribe las transacciones entre los agentes &ue reali,an las tareas.
o
•
>e concretan los procesos de comunicaci+n entre los agentes en un 5ormato independiente de la implementaci+n" como el modelo del conocimiento.
;odelo de diseo: o
8escribe la estructura del >I6 a desarrollar.
o
>e trata de disear el sistema sin modifcar el modelo.
o
o
o
4ermite el paso del niel de conocimiento al niel simb+lico" mediante t'cnicas $ paradigmas de la inteligencia artifcial. 6onsidera restricciones eternas <elocidad" programas" e&uipos" etc.=. El modelo de diseo proporciona las especifcaciones t'cnicas del sistema en lo re5erido a: m+dulos de so5tware" plata5orma de implementaci+n" ar&uitectura $ los elementos de representaci+n $ de c#lculo necesarios para llear a cabo las 5unciones establecidas en el modelo del conocimiento $ de comunicaci+n. 6oniene aclarar &ue el ocabulario utili,ado en la especifcaci+n de este modelo es radicalmente di5erente al anterior $ muchos de sus t'rminos proienen del campo de la ingenier(a del so5tware.
*a implementaci+n de los modelos se reali,a a tra's de: •
•
•
4lantillas: ;odelos predefnidos por 6ommonJ)8>
En esta sesi+n de aprendi,ae desarrollamos el niel de conteto" en la siguiente sesi+n desarrollamos el niel de concepto.
,oas de tra:ao del 'rganización. 0 7oasD
*odelo
de
?betios del ;odelo de ?rgani,aci+n: •
•
•
7dentifcar las #reas de la organi,aci+n &ue presentan problemas o posibles oportunidades de meora. 4roponer soluciones potenciales. %omar decisiones sobre la iabilidad econ+mica $ t'cnica del pro$ecto
Soa de trabao '*K1: 4roblemas $ oportunidades de meora ?betio
)n#lisis del conteto de la organi,aci+n
4roblemas $ Enumerar los problemas $ posibilidades de meora oportunidades &ue han podido ser obserados 6onteto 7ndicar las caracter(sticas claes de la organi,aci+n" organi,acional situar los problemas $ posibilidades de meora dentro de la perspectia adecuada. )lgunas de estas caracter(sticas son: misi+n" isi+n $ obetios de la organi,aci+nR 5actores eternos con los &ue tiene &ue tratar la organi,aci+nR $ estrategia de la organi,aci+n >oluciones
*istar las posibles soluciones para los problemas $ posibilidades percibidas dentro del conteto de la organi,aci+n
Soa de trabao '*KH: )spectos ariables ?betio
8escripci+n del #rea de inter's de la organi,aci+n
Nr#fco de la parte de la organi,aci+n obeto de an#lisis en t'rminos de departamentos" grupos" unidades" etc.
4rocesos
8iagrama de los procesos &ue se llean a cabo. >e detallar#n en la hoa de trabao '*KJ
4ersonal
7dentifcaci+n $ enumeraci+n de los miembros de la planilla implicados en los procesos
9ecursos
8escripci+n de los recursos utili,ados por los procesos: sistemas de in5ormaci+n" e&uipamiento" material" eperiencia social o interpersonal" tecnolog(a" etc.
6onocimient 7dentifcaci+n $ enumeraci+n de los actios de o conocimiento. >e detallar#n en la hoa de trabao '*KO 6ultura potencial
$ ;odus operandi no epl(citos" inclu$endo 5ormas de trabaar" de comunicarse" relaciones 5ormales e in5ormales" etc.
Soa de trabao '*KJ: 8escomposici+n de los procesos ?betio
8escribir en detalle el proceso obeto de meora
7dentifcador Dmero de tarea Dombre
Dombre de la tarea como parte de los procesos descritos en '*KH
9eali,ada
)gente humano o so5tware encargado de la tarea
por
perteneciente al personal o a los recursos descritos en '*KH
*ugar
*ocali,aci+n de la tarea en la estructura descrita en '*KH
9ecurso de Dombre de los recursos de conocimiento descritos 6onocimient en '*KH o 7ntensia en >i o Do conocimient o 7mportancia Nrado de importancia de la tarea en los procesos descritos en '*KH" usando un criterio predefnido Soa de trabao ?;C: )ctios de conocimiento ?betio
isi+n preliminar de los actios de conocimiento inolucrados en el proceso obeto de meora
9ecurso de Dombre del recurso de conocimiento enumerado en conocimient '*KH 8 '*KJ o 4ertenece a )gente humano o so5tware poseedor del recurso de conocimiento perteneciente al personal o a los recursos descritos en '*KH 8 '*KJ sado en
*ista de tareas &ue utili,an el recurso de conocimiento" utili,ando los identifcadores asignados en '*KJ
@so
@>e utili,a el recurso en 5orma correctaB
correctoB @*ugar correctoB
@>e utili,a el recurso en el lugar correctoB
@;omento correctoB
@>e utili,a el recurso en el momento correctoB
@6alidad correctaB
@%iene el recurso la calidad correctaB
Soa de trabao '*K: )n#lisis de iabilidad ?betio
7dentifcar las implicaciones clae de la in5ormaci+n recogida en los 5ormularios anteriores
iabilidad Ienefcios" alor aadido" coste esperado" cambios en la empresari organi,aci+n" etc. al iabilidad %'cnicas $ m'todos actuales" criterios de 'ito" etc. t'cnica iabilidad 8isponibilidad de del implantaci+n" etc. pro$ecto
los
recursos"
compromiso
de
)cciones 4lan de actuaci+nR #rea de actuaci+nR soluci+n elegidaR propuesta resultados" costes $ benefcios esperadosR proceso de s implantaci+n
,oas de tra:ao del *odelo de Tareas. 0H 7oasD ?betio del ;odelo de %areas: •
8escripci+n detallada de las tareas $ de los elementos de conocimiento dentro del proceso en el &ue se implementar# el >I6" dependiendo del an#lisis de iabilidad de la 5ase anterior.
Soa de trabao T*K1: )n#lisis de tareas ?betio
8escripci+n detallada de los problemas
%area
7dentifcador $ nombre de la tarea <'*KJ=
?rgani,aci+n
4roceso del &ue esta tarea 5orma parte" $ parte de la organi,aci+n donde se desarrolla <'*KJ=
?betio alor
$ ?betio de la tarea $ el alor &ue aade al proceso del &ue 5orma parte
8ependencia $ Enumeraci+n de tareas precedentes &ue ^uos proporcionan la entrada $ de las tareas &ue utili,an el resultado de 'sta ?betos manipulados %iempo control
)gentes
8escripci+n de los obetos de entrada" de salida e internos utili,ados en la tarea $ Frecuencia $ duraci+n de la tarea" precondiciones $ postcondiciones de la tarea" restricciones &ue se deben cumplir durante su eecuci+n )gentes responsables de desarrollar la tarea <'*KH 8 '*KJ=
6onocimiento $ capacidad
6apacidades necesarias para el desarrollo de la tarea <'*KO=" los elementos de conocimiento se describen en T*KH
9ecursos
>e describen $ cuantifcan los recursos re&ueridos por la tarea" refnamiento de '*KH
6alidad efciencia
$ ;edidas utili,adas por la organi,aci+n determinar la eecuci+n eitosa de la tarea
para
Soa de trabao T*KH: Elemento de conocimiento ?betio
)n#lisis de los cuellos de botella del conocimiento
Dombre
Elemento de conocimiento enumerado en '*KJ
4ose(do por
)gente poseedor del conocimiento indicado en '*KO
sado en
Dombre e identifcador de las tareas en la &ue se usa este conocimiento indicado en '*KJ
8ominio
8ominio mas amplio en el &ue se encuentra el conocimiento" especialidad" disciplina" rama de la ciencia o ingenier(a"etc.
Daturale,a
4ara cada caracter(stica indicar s( o no" $ si un cuello de botella <5uente de problemas= &ue debe ser meorado: •
Formal" riguroso
•
Emp(rico" cuantitatio
•
Seur(stico" sentido comn
•
Especiali,ado" espec(fco del dominio
•
Iasado en la eperiencia
•
Iasado en la acci+n
•
7ncompleto
•
7ncierto" puede ser incorrecto
•
6ambia con rapide,
•
8i5(cil de erifcar
•
Forma
%#cito" di5(cil de trans5erir
4ara cada caracter(stica indicar s( o no" $ si un cuello de botella <5uente de problemas= &ue debe ser meorado: •
;ental
•
4apel
•
Electr+nica
•
Sabilidades
•
otros
8isponibilidad 4ara cada caracter(stica indicar s( o no" $ si un cuello de botella <5uente de problemas= &ue debe ser meorado: •
*imitaciones en tiempo
•
*imitaciones en espacio
•
*imitaciones de acceso
•
*imitaciones de calidad
•
*imitaciones de 5orma
Tipologa de tareas En la metodolog(a 6ommonKads se ha defnido un cat#logo de tareas agrupadas por tipos: %74?*?Nq) 8E %)9E)> )nal(ticas
>int'ticas
El sistema
Entrada: 9e&uisitos del sistema a construir.
>alida: )lguna caracteri,aci+n del sistema. >alida: 8escripci+n del sistema construido. *as tareas est#n predefnidas en el modelo de acuerdo a la siguiente tabla: %ipo/%area
Entrada
>alida
Analtica
':servacio Caracteriz Conocimient Caracters nes del ación del o ticas sistema sistema
6lasifcaci+n 6aracter(stica 6lase s del obeto obeto
8iagnosis
6onocimiento 6aracter(sti cas
del )sociaciones El conunto de clases 6laseest# caracter(stica predefnido
>(ntomas/Au 6ategor(a eas del 5allo
;odelo de comportamie nto del sistema
El 5ormato de salida es ariable
causal" estado" component e= $ depende del uso &ue se a$a a hacer aloraci+n
8escripci+n del caso
6lase de 6riterios" decisi+n normas
>e reali,an en un momento concreto
;onitori,aci 8atos +n sistema
del 6lase de 6omportamie El sistema discrepancia nto normal eoluciona del sistema en el tiempo. *a tarea se eecuta repetidame nte
4redicci+n
8atos sistema
del Estado del ;odelo de sistema comportamie nto del sistema
%int$tica
)e!uisitos
Estructura Elementos" del restriccione sistema s" preerencia s
8iseo
9e&uisitos
8escripci+n 6omponentes 4uede
El estado del salida consiste en una descripci+n del sistema en algn punto temporal 5uturo Es preciso generar la descripció n del sistema
del arte5acto
8iseo de 9e&uisitos confguracio nes
)signaci+n
" incluir el restricciones" diseo pre5erencias creatio de component es
8escripci+n 6omponentes >ubtipo de del " estructura diseo en el arte5acto de diseo" &ue todos restricciones" los pre5erencias component es ienen predefnido s
8os )signaci+n 9estricciones *a conuntos de del conunto $ asignaci+n obetos. 1 sobre el pre5erencias no tiene conunto 2 por&ue ser 9e&uisitos de uno a uno
4lanifcaci+n ;etas" re&uisitos
4lan acci+n
4rogramaci+ )ctiidades n de trabao" recursos" ranuras de tiempo" re&uisitos
*as 9estricciones" >e actiidades pre5erencias distingue la se asignaci+n distribu$en en su en las orientaci+n ranuras de temporal tiempo de los recursos
;odelado
;odelo
9e&uisitos
de )cciones" *as restricciones" acciones se pre5erencias ordenan
Elementos de 4odr(a modelado" incluir plantillas de s(ntesis
modelo
creatia
,oa de tra:ao del *odelo de Agentes. 01 7oaD ?betio del ;odelo de )gentes: •
)n#lisis de impacto $ meoras desde el punto de ista de los agentes &ue reali,an las tareas.
Soa de trabao A*K1: )gentes ?betio
8escripci+n de los agentes &ue desarrollan las tareas
Dombre
Dombre del agente
?rgani,aci+n
4osici+n del agente dentro de la organi,aci+n" inclu$endo su tipo
7mplicado en
%areas en las &ue est# implicado
>e con
comunica Dombres de otros agentes
6onocimiento
Elementos de conocimiento &ue el agente posee
?tras competencias
*ista del resto de competencias re&ueridas o presentes en el agente
9esponsabilidad 9esponsabilidades del agente durante la eecuci+n es $ de la tarea" as( como sus restricciones de autoridad restricciones respecto a las normas legales o pro5esionales" etc.
,oa de tra:ao )esumen. 01 7oaD •
>e elabora una e, terminados los modelos de tareas $ agentes.
Soa de trabao 'TAK1: 8ocumento sobre impacto $ meora 7mpacto $ 8escribir el impacto $ cambios &ue el >I6 traer# a cambios en la la organi,aci+n" compar#ndola con la estructura organi,aci+n actual 7mpacto cambios tareas agentes
$ 8escribir el impacto $ cambios &ue el >I6 en introducir# en los agentes $ tareas" compar#ndolos $ con la situaci+n actual. 7ndicando los cambios •
En la estructura de las tareas
•
En los recursos necesarios
•
En los criterios de calidad
•
En los agentes implicados
•
En las posiciones de los agentes implicados
•
En el conocimiento $ capacidad re&ueridos
•
En los canales de comunicaci+n
)ctitudes $ )nali,ar c+mo reaccionar#n a los cambios compromisos introducidos los indiiduos $ el personal cualifcado inolucrado )cciones propuestas
)cuerdos de gesti+n $ toma de decisiones •
•
;eoras: @6u#les recomendadosB
son
los
cambios
;edidas adicionales: @Au' medidas ha$ &ue
tomar para 5acilitar dichos cambiosB •
•
•
>e con
)cciones del pro$ecto: @6u#l es la siguiente acci+n a reali,ar dentro del pro$ecto respecto al >I6B 9esultados" costes $ benefcios esperados <'*K= En caso de cambios en la organi,aci+n" @en &u' condiciones es adecuado reconsiderar las acciones tomadasB
comunica Dombres de otros agentes
6onocimiento
Elementos de conocimiento &ue el agente posee
?tras competencias
*ista del resto de competencias re&ueridas o presentes en el agente
9esponsabilida 9esponsabilidades del agente durante la eecuci+n des $ de la tarea" as( como sus restricciones de autoridad restricciones respecto a las normas legales o pro5esionales" etc.
;apa de trabao para el niel de conteto
Bi:liograa 1. 1. Escrig" 4acheco" %oledo. El lenguae de programaci+n 4rolog. niersidad Vaume 7 de 6astell+n. 8isponible en: http://mural.u.es/miuanlo/4racticas49?*?N.pd5 2. Dilson" ;alu,$nsKi. *ogic" 4rogamming and 4rolog. ?pen*ibra. 8isponible en: http://www.etnasso5t.com/biblioteca/logic-programmingand-prolog-2ed/ 3. *. >terling and E. >hapiro. %he )rt o5 4rolog. %he ;7% 4ress" 6ambridge" ;ass." second edition" 1C. C. Q.F. 6locKsin and 6.>. ;ellish. 4rogamming in 4rolog. >pringer-erlag" Ierlin" 5ourth edition" 1C. G. 7. IratKo. 4rolog 4rogramming 5or )rtifcial 7ntelligence. )ddison-Qesle$" 9eading" ;assachusetts" third edition" 2001. H. 9. ?kJee5e. %he 6ra5t o5 4rolog. %he ;7% 4ress" 6ambridge" ;)" 10.
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento 16 +e Inteligencia Artifcial" %istemas E&pertos" )o:ótica" Procesamiento de (enguae atural e Ingeniera del Conocimiento
-)(: http://www.tendencias21.net/iartifcial/8e-7nteligencia-)rtifcial>istemas-Epertos-9obotica-4rocesamiento-de-*enguae-Datural-e7ngenieria-del-6onocimientoa3.html Breve descripción6 El autor del documento reali,a un an#lisis critico de la inteligencia artifcial" se 5ormula preguntas respecto a los sistemas epertos $ la rob+tica. Do intenta trans5erir conocimiento" lo &ue trata es cuestionar los conceptos de a inteligencia artifcial inclu$endo a los sistemas epertos haciendo re5erencias hist+ricas. ___________________________________ _________.____.. •
+ocumento H6 *etodologa CommonQads en el desarrollo de sistemas e&pertos
-)(67ttp688pu:licaciones.uci.cu8inde&.p7p8%C8article8vie98L=L8 LJ Breve descripción6 En este documento el autor presenta la metodolog(a 6ommonJads en 5orma calara $ concreta" usando el recurso did#ctico mapas conceptuales para cada uno de los modelos. 6omenta otras metodolog(as de desarrollo de sistemas epertos.
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
•
Es di5(cil 5ormular una defnici+n nica de los sistemas epertos" sin embargo podemos concluir &ue los sistemas epertos buscan imitar el comportamiento humano en determinado campos de estudio. *a taonom(a de los sistemas epertos permite comprender los di5erentes escenarios sobre los &ue podemos construir aplicaciones de los sistemas epertos. *a ar&uitectura de los sistemas epertos es un re5erente para su desarrollo en 5unci+n de los m+dulos propuestos" haciendo 'n5asis en el m+dulo de ad&uisici+n del conocimiento" el motor de in5erencias" la base de conocimientos" el m+dulo de eplicaciones $ el m+dulo de consultas del usuario. )un&ue eisten arias metodolog(as para desarrollar sistemas epertos" en este curso proponemos el uso de 6ommonJads" adecuando la programaci+n en los 78Es >Q7-4rolog $ isual 4rolog.
*etacognición *as siguientes preguntas te a$udar#n a re^eionar sobre tus propios aprendi,aes" es un eercicio recomendado pata ra,onar e identifcar nuestro es5uer,o intelectual" la fnalidad es guiar nuestras acciones $ procesos mentales. @8e la tem#tica abordada &ue te llam+ m#s la atenci+nB @6onsideras &ue aprendiste con los temas abordadosB @%uiste difcultad solucionasteB
con
algn
tema
@Au' acciones reali,aste para aprenderB
o
actiidadB
@6+mo lo
Tema 0=. Ad!uisición del conocimiento
Fuente: http://www.up5.edu/hipertetnet/numero-2/linguistica.html Bienvenida Estimados estudiantes ¡bienenidos! a la seta semana del curso" donde presentaremos los m'todos $ t'cnicas para ad&uirir el conocimiento. *a gesti+n del conocimiento es el tema central de nuestro curso $ buscamos t'cnicas &ue permitan el procesamiento del conocimiento en medios in5orm#ticos. *a sesi+n anterior presentamos la metodolog(a 6ommonJads para modelar sistemas epertos $ tratamos el niel de conteto" es momento de tratar ahora el niel de concepto &ue contiene el modelo del conocimiento $ el de comunicaci+n. Sacemos 'n5asis en el modelo de conocimiento &ue nos permitir# escribir programas $ desarrollar aplicaciones en lenguae 4rolog. *os contenidos se complementan con interesantes lecturas" aliosos ideos" p#ginas interactias e importantes actiidades de ealuaci+n &ue conducen a la metacognici+n $ a la comprobaci+n de los aprendi,aes logrados. ¡ 6ontinuemos con el interesante estudio de tratamiento del conocimiento!
Introducción al tema
Fuente: commonKads
http://es.slideshare.net/uni5c$ssistemas/metodologa-
El desarrollo de sistemas epertos re&uiere captar el conocimiento de personas especiali,adas para llearlo a 5ormatos $ estructuras &ue permitan su tratamiento en medios computacionales. %rataremos este aspecto en dos etapas" la primera nos permitir# conocer $ utili,ar t'cnicas para captar el conocimiento de los epertos Q7-4rolog $ isual 4rolog=. 4or supuesto &ue eisten arias metodolog(as para representar el conocimiento ad&uirido" sin embargo para e5ectos de nuestro curso" tomando conocimiento de la metodolog(a 6ommonJads podemos construir es&uemas mentales del conocimiento $ trans5erirlos a otros lenguaes de tipo general o espec(fcos a di5erentes plata5ormas de desarrollo.
En 5orma concreta durante esta sesi+n presentaremos una defnici+n inicial del conocimiento $ &ue tipo de conocimiento podemos procesar en computadores" luego reisamos una metodolog(a b#sica e intuitia &ue nos permita desarrollar sistemas epertos. Finalmente presentamos el lenguae 6;* &ue nos permitir# epresar las reglas de producci+n re&ueridas en 4rolog.
)prendi,aes esperados Conozcamos ahora las capacidades y actitudes a desarrollar en este se)to tema:
Capacidades •
•
•
6onoce la problem#tica en ad&uisici+n del conocimiento. 7dentifca los tipos de conocimiento &ue pueden ser tratados con tecnolog(as. 6onoce las di5erentes metodolog(as para captar conocimiento con el apo$o de las tecnolog(as.
Actitudes •
•
•
alora las t'cnicas artifciales para ad&uirir conocimiento.. )sume responsabilidad en el cumplimiento de las actiidades programadas. )sume una posici+n proactia respecto al uso de metodolog(as para la ad&uisici+n de los conocimientos en escenarios tecnol+gicos.
;arco conceptual ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
=.1 (a pro:lem4tica en la ad!uisición del conocimiento.
Fuente: http://menteerrabunda.blogspot.com/2010/01/sistemasinteligentes.html 4ara en5ocar el problema de la ad&uisici+n del conocimiento nos 5ormulamos tres preguntas: 1. @Au' es un conocimientoB 2. @6+mo ad&uiere el hombre los conocimientosB 3. @6+mo podemos trans5erir los conocimientos a un computadorB n conocimiento es la capacidad ad&uirida de hacer algo" sin embargo no basta con estar in5ormado" haber le(do o estudiado un tema para decir &ue se poseen conocimientos con respeto a ese tema" lo importante es su aplicaci+n. En 5orma resumida podemos afrmar &ue el conocimiento se ad&uiere a tra's de un proceso &ue tiene tres etapas sucesias per5ectamente defnidas: 1. 9ecepci+n $ comprensi+n de la in5ormaci+n. 2. Eperimentaci+n con los conceptos recibidos" erifcando su aplicaci+n en casos reales. 3. )ptitud para gestionar el conocimiento ad&uirido aplic#ndolo en nueas situaciones. *a trans5erencia de conocimientos al computador es un problema compleo" sin embargo se iene estudiando en el campo de la inteligencia artifcial m'todos pertinentes al almacenamiento de
in5ormaci+n $ conocimientos" tratamiento de los datos $ sus relaciones &ue constitu$en la base del ra,onamiento autom#tico. En nuestro curso delimitamos la ad&uisici+n del conocimiento como el proceso de recolecci+n de in5ormaci+n a partir de cual&uier 5uente
•
•
•
•
•
El conocimiento se ad&uiere mediante la interacci+n directa con el eperto. El conocimiento di5undido entre los cient(fcos se encuentra en el niel t#cito
•
6uando un eperto se en5renta a nueas situaciones aplica principios generales $ procesos deductios m'todos &ue proporcionan enlaces causales entre arias etapas de un a sucesi+n de sub-problemas. El eperto aplica principios &ue conoce pero no puede eplicar
=.H Tipos de conocimiento.
Fuente: http://cibertareas.com/tipos-de-conocimiento-introduccion-lasciencias-sociales.html Eisten di5erentes tipos de conocimiento $ cada autor los defne en 5unci+n de los usos &ue le a a dar" en nuestro caso" para e5ectos del desarrollo de sistemas epertos proponemos los siguientes tipos de conocimiento. •
6onocimiento conceptual. o
o
•
6onocimiento clasifcatorio. 8istingue entre conceptos similares.
6onocimiento procedimental. o
o
•
6onocimiento de conceptos" hechos o ideas. 8escriben las principales entidades $ relaciones del dominio.
6onocimiento de procedimientos rutinarios. Formado por t'cnicas est#ndar $ procedimientos de trabao. Seur(sticas. >on reglas pr#cticas utili,adas para reali,ar tareas. Facilitan la implementaci+n de reglas de producci+n <5rente a la situaci+n ) reali,amos la acci+n I=.
6onocimiento sem#ntico.
o
•
Est# re5erido a saber $ eplicar el signifcado $ sentido del 5uncionamiento de ciertos lenguaes propios de cada negocio o proceso" relacionando las caracter(sticas estructurales $ su signifcado.
6onocimiento epis+dico. o
Es el conocimiento &ue" intuitiamente" todos sabemos" &ue ad&uirimos $ recordamos: el de &u' pas+ en la situaci+n concreta de aprendi,ae $ cu#ndo 'sta tuo lugar.
=.J *$todos conocimiento.
:4sicos
para
captar
Fuente: http://or5allahuert.blogspot.com/ El conocimiento tal como lo concebimos actualmente implica un proceso progresio $ gradual desarrollado por el hombre para aprehender su mundo $ reali,arse como indiiduo. Esta concepci+n es demasiada amplia para trabaar en nuestro curso" mas bien debemos limitarla al conocimiento ad&uirido por el ser humano para resoler tareas espec(fcas &ue re&uieren cierto grado de conocimiento. %al es el caso de las denominadas pro5esiones &ue re&uieren estudios espec(fcos a determinadas #reas del &uehacer humano. En este sentido para llear el conocimiento humano a medios computari,ados &ue puedan eercer algn tipo de ra,onamiento autom#tico es necesario utili,ar m'todos $ t'cnicas espec(fcas" esta tarea resulta complea por cuanto el temas se encuentra an en estudio" sin embargo se ha defnido a la ontolog(a en t'rminos computacionales como un entendimiento comn $ compartido de un dominio &ue puede comunicarse entre cient(fcos $ sistemas computacionaleses por lo tanto es un recurso artifcial creado por el hombre para conceptuali,ar algn tipo de conocimiento en un modelo abstracto en el &ue se identifcan conceptos releantes $ las relaciones entre sus actores independiente de las plata5ormas computacionales re&ueridas para su implementaci+n.. En esta sesi+n de aprendi,ae presentamos inicialmente un m'todo b#sico &ue se implementa con las siguientes 5ases: identifcaci+n" conceptuali,aci+n" 5ormali,aci+n" implementaci+n $ pruebas. 4osteriormente presentamos una metodolog(a de car#cter general denominada 6ommonJads &ue permite modelar el conocimiento en determinado tema para luego ser implementado en cual&uier plata5orma tecnol+gica.
T$cnicas para ad!uirir conocimiento. 4ara e5ectos de nuestro curso denominamos ad&uisici+n de conocimiento al proceso de recoger los datos e in5ormaci+n &ue necesitamos para construir un sistema basado en conocimientos. En la siguiente tabla mostramos algunas t'cnicas para ad&uisici+n de conocimientos. %ipo conocimiento
)ctiidad
%'cnica
8eclaratio
Is&ueda de Entreistas heur(sticas generales estructuradas
4rocedimental
Is&ueda de rutinas $ Entreistas procedimientos estructuradas
>em#ntico
Is&ueda conceptos ocabulario
no
de ?bseraci+n directa $ )n#lisis de tareas
Seur(sticas $ Emparrillado procedimientos de toma de decisiones 6lasifcaciones %ra,ado del proceso de ra,onamiento Epis+dico
Is&ueda de >imulaciones heur(sticas anal+gicas de soluci+n de problemas >eguimiento protocolos
de
*$todo :4sico conocimiento.
para
ad!uirir
*a ad&uisici+n del conocimiento para construir sistemas epertos se puede reali,ar siguiendo este es&uema &ue presenta una secuencia de 5ases: F)>E
49?86%?
%9)I)V) 6?D
7dentifcaci+n
9e&uerimientos.
4roblemas" caracter(sticas.
6onceptuali,aci+n
6onceptos
6onceptos &ue representan el conocimiento
Formali,aci+n
Estructura
?rgani,aci+n del conocimiento" espacio de bs&ueda
7mplementaci+n
9eglas
6onstrucci+n de reglas &ue representan el conocimiento
4rueba
*ista de coteo
erifcaci+n de la ad&uisici+n del conocimiento
4rocedimientos de las 5ases de ad&uisici+n del conocimiento: 1. 7dentifcaci+n: 1. 8efnir el problema con los siguientes re&uisitos: 1. Do debe ser triial e re&uiere de 5uentes de conocimiento. 3. 4roblema compleo. 2. Is&ueda de 5uentes de in5ormaci+n: 1. Epertos humanos en el dominio del problema. 2. *ibros $ manuales &ue traten el problema $ t'cnicas de resoluci+n. 3. Eemplos de casos resueltos. 3. 8efnici+n de datos $ criterios &ue determinan la soluci+n <4rimera descripci+n del problema=: 1. ?betios. 2. ;otiaciones. 3. Estrategias de resoluci+n $ ustifcaci+n. C. Fuentes de conocimiento. G. %ipos de tareas re&ueridas 2. Formali,aci+n. 1. 8efnir es&uemas de ra,onamiento para modelar la resoluci+n del problema. 2. 8efnir el espacio de bs&ueda de soluciones $ tipo de bs&ueda a reali,ar.
3. 8efnir la certidumbre $ completud de la in5ormaci+n representada en datos o hechos erdaderos. C. El obetio es desarrollar un modelo 5ormal &ue permita ra,onar a un programa de computador. 3. 7mplementaci+n. 1. 7dentifcaci+n de algoritmos de resoluci+n del problema. 2. 8efnici+n de las estructuras representaci+n del conocimiento.
de
datos
3. 4ueden aparecer incoherencias &ue retroalimentaci+n de las 5ases anteriores.
para
la
re&uieran
C. 4rueba. 1. >elecci+n de casos resueltos representatios. 2. Elaborar una lista de coteo para erifcar el 5uncionamiento del sistema aplicado a los casos representatios. 3. En 5unci+n de los resultados" se deben corregir las incoherencias de las 5ases anteriores.
=.O Presentación de metodologas para ad!uirir conocimiento.
Fuente: http://cmapspublic3.ihmc.us/rid1*D%19UJ*-V1N1*1IF*/principal.cmap Eisten arias metodolog(as para ad&uirir $ representar el conocimiento tales como ;)>E" N)7)" 6?;;?DJ)8>" 7DNED7)>" ;E>>)NE entre otras. 4or consideraciones de tiempo $ practicidad se ha seleccionado utili,ar 6?;;?DJads en nuestro curso. Es coneniente reisar in5ormaci+n relacionada a las otras metodolog(as. *a metodolog(a 6ommonJads presentada en el curso sugiere construir el modelo de conocimientos en 5orma clara $ precisa &ue permite la construcci+n de sistemas epertos en este sentido presentamos un resumen $ en 5orma secuencial este proceso siguiendo la sintais del lenguae 6;* <6onceptual ;odelling *anguage= propuesto por la misma metodolog(a. 8ebemos mencionar &ue para comprender esta metodolog(a se re&uiere cierta eperiencia el el uso de otras metodolog(as $ lenguaes de modelado de la ingenier(a de so5tware" pues en el #mbito del curso no est# contemplado el estudio detalle de metodolog(as de desarrollo.
6onocimiento del dominio. •
•
•
6onocimiento e in5ormaci+n est#ticos releantes del dominio. E&uialente al modelo de datos e defnen dos componentes: o
Es&uema del dominio.
8eclara la estructura est#tica de la in5ormaci+n. E&uiale al modelo de datos. >e defne a tra's de los constructos del dominio. Formado por:
6onceptos.
%ipos de datos est#ndar o declarados por el usuario. 6orresponden a las caracter(sticas de los conceptos.
9elaciones.
E&uiale a defnir clases pero sin m'todos.
)tributos.
8eclaran entidades" obetos o instancias del dominio con estructura de in5ormaci+n semeantes.
E&uialen a las asociaciones E-9 en modelos relaciones o ?-? en modelos de obetos.
%ipos de reglas.
o
7ntroduce el concepto de epresiones l+gicas. Do tiene e&uialente en la ingenier(a de so5tware tradicional
Iase de conocimiento.
7mplementa el es&uema del dominio. 6ontiene instancias de los tipos especifcados en el es&uema de dominios. E&uiale a una base de datos.
+eclaración del conocimiento +eclaración del conocimiento del dominio. El conocimiento del dominio en C*( +'*AIKQ'3(E+/E identifcador+QZ 8W +escripción del es!uemasD del dominio W8 +'*AIK%C,E*A identifcador+% Especifcación de conceptos Especifcación de relaciones Especifcación de atri:utos Especifcación de reglas 8W +escripción de lasD :asesD de conocimiento W8 Q'3(E+/EKBA%E indentifcadorQB 'currencias de o:etos del es!uema E+ +'*AIKQ'3(E+/E identifcador+QZ +eclaración del es!uema del dominio. El es!uema del dominio en C*( con especifcaciones defnidas en el mismo es!uema +'*AIK%C,E*A identifcadorZ
Especifcación de conceptos Especifcación de relaciones Especifcación de atri:utos Especifcación de reglas E+ +'*AIK%C,E*A identifcadorZ El es!uema del dominio en C*( con especifcaciones importadas de otros es!uemas *odularización # reutilizaciónD +'*AIK%C,E*A identifcadorZ -%E% componentes>de>ordenador ... E+ identifcadorZ
+'*AIK%C,E*A
El es&uema del dominio en 6;* con algunas especifcaciones importadas de otros es&uemas <;odulari,aci+n $ reutili,aci+n= 8?;)7D->6SE;) identifcadorR >E> memoria" cpu componentesdeordenador
F9?;
... ED8 8?;)7D->6SE;) identifcadorR
+eclaraciones de conceptos. 6onceptos en 6;* 6?D6E4% clienteR 8E>6974%7?D: 8atos personales del clienteR )%%97I%E>: nombre: >%97DNR domicilio: >%97DNR edad: D)%9)*R ... )[7?;>: edad 1PR ED8 6?D6E4% clienteR 6onceptos en 6;* 6?D6E4% marcadorcombustibl eR 8E>6974%7?D: 8ispositio &ue muestra el niel disponible de combustibleR )%%97I%E>: marca: alormarcadorR ED8 6?D6E4% marcadorcombustibl eR
6?D6E4% tan&uecombustibleR 8E>6974%7?D: 9ecipiente de combustibleR )%%97I%E>: niel:lleno" medio" ac(o ED8 6?D6E4% tan&ue combustibleR
)*E-%T4E alormarcador )*E-*7>% normal" bao" cero %T4E ?987D)*R ED8 )*E-%T4E alor marcador
+eclaración de relaciones +eclaración de relaciones de especialización8generalización Verar&u(as de conceptos en 6;* 6?D6E4% ordenadorR 6?D6E4% port#tilR 6?D6E4% sobremesaR 8E>6974%7?D: 8E>6974%7?D: 8E>6974%7?D: ?rdenador ?rdenador personal ?rdenador personal personalR port#tilR foR >4E9-%T4E-?F: >I-%T4E-?F: >I-%T4E-?F: port#til" ordenadorR ordenadorR sobremesaR )%%97I%E>: ED8 6?D6E4% port#tilR >E;)D%76>: peso: F*?)%R 87>V?7D%: TE>R autonom(a: F*?)% 6?;4*E%E: TE>R ED8 6?D6E4% )%%97I%E>: port#tilR marca: >%97DNR modelo: >%97DNR ED8 6?D6E4% ordenadorR +eclaración de relaciones de agregación todo 8 parteD 9elaciones de agregaci+n en 6;* 6?D6E4% ordenadorR 6?D6E4% memoriaR 6?D6E4% cpuR 8E>6974%7?D: 8E>6974%7?D: 8E>6974%7?D: ?rdenador ;+dulo de memoria unidad central de personalR 9);R procesamientoR S)>-4)9%>: cpu" 4)9%-?F: ordenador 4)9%-?F: ordenador memoria. )%%97I%E>: )%%97I%E>: )%%97I%E>: tipo: >%97DNR marca: >%97DNR marca: >%97DNR capacidad: D)%9)*R modelo: >%97DNR modelo: >%97DNR elocidad: D)%9)*R elocidad: D)%9)*R ED8 6?D6E4% ED8 6?D6E4% ED8 6?D6E4% cpuR port#tilR memoriaR +eclaración de relaciones 9elaciones en 6;* 9E*)%7?D entaR )9N;ED%>: ordenadorR 6)987D)*7%T 0-1R clienteR 6)987D)*7%T )DTR comercialR 6)987D)*7%T )DTR
)%%97I%E>: 5echa-de-enta: 8)%ER ED8 9E*)%7?D entaR
+eclaración de relaciones :inarias 9elaciones binarias en 6;* 9E*)%7?D comprado-porR 7DE9>E: comprarR )9N;ED%-1: ordenadorR 6)987D)*7%T 0-1R )9N;ED%-2: clienteR 6)987D)*7%T )DTR W9EF*E[7E >T;;E%976 %9)D>7%7EX ED8 9E*)%7?D comprado-porR
+eclaración de tipos de reglas +eclaración de tipos de reglas Esta construcci+n re&uiere una eplicaci+n preia. ?betio: 6alifcar la disponibilidad crediticia de una persona en 5unci+n del sueldo &ue percibe 4remisas: 1. %enemos un concepto persona con atributos nombre $ sueldo 2. %enemos un concepto pr'stamo con atributos cantidad e intereses. 6onunto de reglas: •
•
91: >i persona.sueldo ` 1000 entonces la persona califca para pr'stamo.cantidad ` 200. 92: >i persona.sueldo ` 2000 entonces la persona califca para pr'stamo.cantidad ` G00.
8enominamos califcarprestamo al conunto de reglas. 8enominamos califca a la relaci+n entre persona $ pr'stamo. *a declaraci+n de tipo de regla es gen'rica epresando una relaci+n l+gica para tomar decisiones. %ipos de reglas en 6;* 9*E-%T4E califcarprestamoR 8E>6974%7?D: 6alifca la cantidad a prestar a una persona )D%E6E8ED%: persona.sueldoR 6?D>EAED%: prestamo.cantidadrR 6?DDE6%7?D->T;I?* califcaR
ED8 califcarprestamoR
9*E-%T4E
+eclaración de :ases de datos +eclaración de :ases de conocimiento Iase de conocimiento en 6;* JD?Q*E8NE-I)>E conocimientoprestamosR >E>: / tipo de regla F9?; es&uema / / regla califcarprestamo es&uema prestamoconsumo
defnida
en
califcarprestamo F9?; prestamoconsumoR E[49E>>7?D>: / declaraci+n de las reglas / persona.sueldo ` 1000 prestamo.cantidad ` 200R
6)*7F76)
persona.sueldo ` 2000 prestamo.cantidad ` G00R
6)*7F76)
ED8 conocimientoprestamoR
JD?Q*E8NE-I)>E
+eclaración de inerencias 6onocimiento sobre in5erencias en 6;* 7DFE9ED6E-JD?Q*E8NE identifcadorR 8escripci+n de in5erencias" roles de conocimiento $ 5unciones de trans5erenciaR ED8 7DFE9ED6E-JD?Q*E8NE identifcadorR 7n5erencia $ roles de conocimiento en 6;* 7DFE9ED67) abstraerR ?4E9)%7?D-%T4E: )I>%9)6% 9?*E>: 7D4% casoR ?%4% caso-abstraidoR >%)%76 conocimiento-abstracci+nR >4E67F76)%7?D: Nenera una trans5ormaci+n en los datos de entrada &ue produce una descripci+n m#s cualifcada de un casoR ED8 7DFE9ED6E abstraerR 7n5erencia $ roles de conocimiento en 6;* 7DFE9ED67) diagnosticarR ?4E9)%7?D-%T4E: 6?E9 9?*E>:
7D4% 5alloR ?%4% hip+tesisR >%)%76 modelo-causalR >4E67F76)%7?D: Nenera el situaciones
conunto
de
todas
las
&ue pueden causar el 5allo introducido como entradaR ED8 7DFE9ED6E diagnosticarR Inerencias en C*( JD?Q*E8NE-9?*E casoR %T4E: 8TD);76R 8?;)7D-;)447DN: solicitudR ED8 JD?Q*E8NE-9?*E casoR JD?Q*E8NE-9?*E caso-abstraidoR %T4E: 8TD);76R 8?;)7D-;)447DN: solicitudR ED8 JD?Q*E8NE-9?*E caso-abstraidoR JD?Q*E8NE-9?*E conocimiento-abstracci+nR %T4E: >%)%76R 8?;)7D-;)447DN: abstracciones computadorR ED8
F9?;
JD?Q*E8NE-9?*E
asesoramientoconocimiento-
abstracci+nR 7n5erencias en 6;* %9)D>FE9-FD6%7?D obtenerR %T4E: ?I%)7D 9?*E>: 7D4% halla,go-esperadoR ?%4% halla,go-obseradoR ED8 %9)D>FE9-FD6%7?D obtenerR
Conocimiento so:re las tareas Conocimiento so:re las tareas •
9esponde al @Au'B $ @6+moB.
•
Est# orientado a la meta: o
o
•
)sesorar sobre hipotecario.
el
otorgamiento
de
un
pr'stamo
8escribe estrategias para lograr las metas. o
•
8iseo de un campo deportio.
Neneralmente tienen una estructura er#r&uica:
%areas Z ;'todos Z >ubtareas. o
%iene dos componentes:
%)>J <*a tarea=.
8efne el obetio del proceso de ra,onamiento &ue se est# intentando modelar en 5unci+n de las entradas $ las salidas. *os datos de la tarea son independientes del dominio
%)>J-;E%S?8 <;'todo de la tarea=.
8efne la estrategia &ue se debe seguir:
Especifcaci+n de su descomposici+n.
%areas.
7n5erencias.
Funciones de trans5erencia
Especifcaci+n del control
7ndependiente del dominio.
6onocimiento sobre tareas en 6;* %)>J-JD?Q*E8NE identifcadorR 8escripci+n de tareas $ m'todos de tareasR ED8 %)>J-JD?Q*E8NE identifcadorR %areas en 6;* %)>J decidir-casoR N?)*: )plicar criterios al caso para tomar una decisi+n en 5unci+n de sus aloresR 9?*E>: 7D4%: caso-abstraidoR criterios-especifcosR ?%4%: decisi+nR ED8 %)>J decidir-casoR ;'todos de las tareas en 6;* %)>J-;E%S?8 metodo-decidir-casoR 9E)*7E>: decidir-casoR 8E6?;4?>7%7?D: W%)>J>: ...X 7DFE9ED6E>: especifcar" seleccionar" ealuar" encaarR
%9)D>FE9-FD6%7?D>: obtenerR 9?*E>: 7D%E9;E87)%E: criterios: el conunto de criterios a ealuarR criterio: un criterio de asesoramientoR alor: alor de un criterio de asesoramientoR resultados: criterios seleccionados unto con sus aloresR 6?D%9?*->%96%9E: 8escripci+n en pseudoc+digo del proceso a reali,ar en t'rminos de las subtareas" in5erencias $ 5unciones de trans5erencia ED8 %)>J-;E%S?8 metodo-decidir-casoR
)ctiidad de an#lisis $ comprensi+n 8espu's de haber tratado los contenidos sobre la ad&uisici+n del conocimiento responde a las siguientes preguntas:
%e dice !ue una persona tiene conocimiento cuando ?btiene la nota m#s alta del #ula
?5rece una con5erencia sobre un tema
*ee sobre un tema
)plica lo aprendido.
8iscute sobre determinado tema
7etroalimentación
na persona tiene conocimiento cuando aplica lo aprendido" no basta solo con leer o estudiar.
%on tipos de conocimiento presentados en nuestro curso6
6ient(fco
7nteligente
6onceptual
7ntuitio
4rocedimental
7etroalimentación
En nuestro curso hemos presentado dos tipos de conocimiento: conceptual $ procedimental.
El nivel de concepto de la metodologa CommonQads tiene los modelos6 CommonQads6 6onocimiento
?rgani,aci+n
6omunicaci+n
7mplementaci+n
8iseo
7etroalimentación
El niel de concepto de la metodolog(a 6ommonJads tiene los modelos de conocimiento $ de comunicaci+n.
Bi:liograa 1. )lonso" )R Nuiarro" IR *o,ano" )R 4alma" VR %abeada" ;V. 7ngenier(a del conocimiento. )spectos metodol+gicos. 4earson/4rentice ma$. ;adrid 200C. 2. )newierden" ). )." 8e Soog" 9." an 8e Ielde" Q. T Qielinga" I. V. <1P=. Engineering o5 Jnowledge. %he 6ommonJ)8> ;ethodolog$. ;7% 4ress" 1. 3. 6ommonJ)8> %echnical 9eports. http://6ommonJ)8>.ua.nl C. N+me," ). $ otros: 7ngenier(a del 6onocimiento. 6entro de Estudios 9am+n )reces. ;adrid" 1P. G. Sarmon" 4 T Jing" 8.: >istemas Epertos. 8(a, de >antos" 1PP. H. Dilsson" D. V.: 7nteligencia )rtifcial. n nueo en5o&ue. ;cNrawSill. ;adrid" 2000. U. 4alma" V.R ;art(n" F. $ ;ar(n" 9. 7ngenier(a del conocimiento. 8e la etracci+n al modelado del conocimiento. 9eista 7beroamericana de 7nteligencia )rtifcial. D\ 11. 2001 P. 9ich: 7nteligencia )rtifcial. ;cNraw-Sill. 1G. . 9ational >o5tware 6orporation <1U=. nifed ;odelling *anguage. Dotation Nuide. ersion 1.1.9*: http://www.rational.com. 10. 9odr(gue," ).R Sern#nde," 6.R 4l#cido" 6. 7ngenier(a del 6onocimiento. niersidad de *as 4almas de Nran 6anaria" 1C. 11. >chreiber" ). %." )KKermans" V. ;." >chreiber" N." Qielinga" I.V. $ IreuKer" V.)" editors <13=. 12. J)8>: ) 4rincipled )pproach to Jnowledge-Iased >$stem 8eelopment. )cademic 4ress. 13. 7>ID 0-12-H20C0-U.
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento 16 El conocimiento. iveles # tipos de conocimiento.
-)(: 7ttp688999.9e:dianoia.com8moderna8loc?e8loc?e>fl>conoc.7t m Breve descripción6 El autor presenta la floso5(a de *ocKe &uien plantea &ue el conocimiento es la percepci+n del acuerdo o desacuerdo de dos ideas. >ugerimos la lectura del documento para problemati,ar el tipo de conocimiento &ue puedes ser procesado en un computador $ comprender la problem#tica &ue esto implica. ___________________________________ _________.____.. •
+ocumento H6 *etodologas de agentes.
-)(6 7ttp688metodologiadeagentes.galeon.com8enlaces11010H1.7t ml Breve descripción6 El documento digital presenta arias metodolog(as de agentes inteligentes" entre ellas: 6ommonJads" ;)>E $ N)7). *os agentes inteligentes constitu$en un paso adelante en el estudio de la inteligencia artifcial $ deber(a ser parte de los conocimientos pro5esionales de nuestros egresados. 4roponemos esta lectura para &ue el estudiante tenga una idea mas general de las tendencias en inteligencia artifcial.
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
•
•
•
*a defnici+n del conocimiento tiene di5erentes escenarios en 5unci+n del uso &ue se le a a dar. En todo caso &ueda claro &ue con el conocimiento somos capaces de reali,ar alguna tarea inteligente. *a primera tarea para nosotros es ad&uirir $ 5ormali,ar el conocimiento de los epertos o de las 5uentes de in5ormaci+n" luego debemos pasarla a 5ormatos compatibles en un computador para su procesamiento" logrando el tan ansiado ra,onamiento autom#tico. Eisten t'cnica para captar el conocimiento de acuerdo a los di5erentes tipos defnidos. Es posible 5ormali,ar conocimiento independiente de la plata5orma de desarrollo utili,ando el lenguae 6;* propuesto por 6ommonJads en el niel conceptual" espec(fcamente para su modelo de conocimiento. )un&ue la metodolog(a 6ommonJads parece ser demasiado amplia" es necesario comprender &ue debemos tratar sus componentes en 5unci+n del problema &ue &ueremos resoler" adaptando la a nuestras necesidades.
*etacognición *as siguientes preguntas te a$udar#n a re^eionar sobre tus propios aprendi,aes" es un eercicio recomendado pata ra,onar e identifcar nuestro es5uer,o intelectual" la fnalidad es guiar nuestras acciones $ procesos mentales. @8e la tem#tica abordada &ue te llam+ m#s la atenci+nB @6onsideras &ue aprendiste con los temas abordadosB @%uiste difcultad solucionasteB
con
algn
tema
@Au' acciones reali,aste para aprenderB
o
actiidadB
@6+mo lo
Tema 0. Presentación de aplicaciones
Fuente:https://geeKoerdose.fles.wordpress.com/2012/0U/wumpusworld.gi5 Bienvenida Estimados estudiantes ¡bienenidos! a la s'ptima $ ltima semana del curso" donde presentaremos diersas aplicaciones de sistemas basados en conocimiento" el obetio de esta sesi+n es 5amiliari,arse con casos resueltos &ue permitan consolidar los aprendi,aes ad&uiridos durante el desarrollo del curso. Es probable &ue las soluciones sean presentadas en di5erentes plata5ormas tecnol+gicas $ constitu$en un ecelente laboratorio para trans5ormar sus especifcaciones del conocimiento a la sintais propuesta por el lenguae 6;* $ posteriormente desarrollar soluciones usando alguno de los 78Es propuestos en el curso. ¡ Estudiando casos 5ortalecemos nuestros aprendi,aes!
Introducción al tema
Fuente: http://www.educagratis.org/moodle/course/iew.phpBidCP *a pr#ctica $ eperimentaci+n 5ortalece los aprendi,aes ad&uiridos durante las sesiones de un curso" 6omo ustedes pueden comprender el desarrollo de sistemas basados en conocimientos es una tarea complea &ue demanda un es5uer,o grande en recursos $ tiempo. 8urante el desarrollo de nuestro curso hemos proporcionado conceptos" t'cnicas $ metodolog(as" herramientas de desarrollo" lenguaes de modelamiento $ construcci+n. )hora ha llegado el momento de anali,ar aplicaciones &ue nos permitan 5ortalecer los aprendi,aes" para ello presentamos a ustedes un conunto de pro$ectos desarrollados con diersas tecnolog(as $ metodolog(as" esperamos &ue puedan ser comprendidas $ anali,adas en su conteto. Estamos usando soluciones $ pro$ectos tomandos directamente de 7nternet" algunos son presentados en cursos" otros en libros" blogs o directamente de la p#gina de los autores" en todos los casos" lo hacemos con fnes did#cticos $ con el #nimo de despertar en el estudiante el a5#n de bs&ueda en tan importante espacio &ue nos brinda la tecnolog(a. 4resentamos casos conocidos como por eemplo el mundo de wumpus" el problema de las n reinas" el uego sudoKu" dom+tica: la iienda inteligente" aplicaciones en educaci+n" aplicaciones de control" entre otros. *a metodolog(a &ue seguimos es presentar el caso" mostrar documentos &ue tratan el caso
eperimentaci+n $ prueba" para luego emprender con alto grado de aptitud la soluci+n de casos de su entorno pro5esional.
)prendi,aes esperados Conozcamos ahora las capacidades y actitudes a desarrollar en este s#ptimo tema:
Capacidades •
•
•
8efne $ disea aplicaciones &ue re&uieren conocimientos. )plica las t'cnicas de los sistemas basados en conocimiento para proponer soluciones tecnol+gicas modernas. 4ropone alternatias de soluci+n a problemas actuales con tecnolog(as adecuadas.
Actitudes •
•
•
8emuestra tolerancia $ respeto ante la opini+n de sus compaeros en el debate de un 5oro. )sume responsabilidad en el cumplimiento de las actiidades programadas. alora la problem#tica del conocimiento $ la posibilidad de 5ormular soluciones con tecnolog(as in5orm#ticas.
;arco conceptual ?bsera detenidamente el siguiente es&uema" en el encontrar#s de un ista,o de manera sinteti,ada los principales concepto de la tem#tica &ue abordaremos. @Au' conceptos o categor(as te llaman la atenci+nB
U.1 El mundo de wumpus.
Fuente: http://erilobi.com/wumpusgame/prett$4hoto El mundo de umpus es una cuea &ue est# compuesta por habitaciones conectadas mediante pasillos. Escondido en algn lugar de la cuea est# el >umpus* una bestia &ue se come a cual&uiera &ue entre en su habitaci+n. El >umpus puede ser d erribado por la ^echa de un agente" $ 'ste s+lo dispone de una. )lgunas habitaciones contienen ho$os sin 5ondo &ue atrapan a a&uel &ue deambula por dichas habitaciones umpus que es demasiado grande para caer en ellos=. El nico premio de iir en este entorno es la posibilidad de encontrar una olla de oro. )un&ue el mundo de >umpus pertenece m#s al #mbito de los uegos por computador" es un entorno per5ecto para ealuar los agentes inteligentes. ;ichael Nenesereth 5ue el primero &ue lo propuso.
Actividad de an4lisis" diseo # programación. Este caso est# propuesto en libro de 9usell <er enlace en lecturas recomendadas= $ aun&ue est# orientado a ser resuelto como agente inteligente es un buen caso para modelar un sistema eperto basado en la metodolog(a 6ommonJads $ reali,ar la programaci+n en 4rolog. >ugerimos isitar el siguiente enlace e implementar el caso propuesto. https://github.com/rlegendi/wumpus-prolog/
U.2 )plicaciones ldicas.
Fuente: http://en.wiKipedia.org/wiKi/>udoKu na de las aplicaciones mas conocidas de la inteligencia artifcial est# re5erida a la soluci+n de uegos en el computador. El cap(tulo H del libro de 9usell trata con mucho detalle este tema. 8urante el estudio de la inteligencia artifcial se han planteado uegos cl#sicos como las n reinas" sudoKu" tres en ra$a" las torres de Sanoi" entre otros. El lenguae 4rolog es adecuado para resoler estos problemas" a continuaci+n presentamos un conunto de enlaces a c+digo en 4rolog. Pro:lema de las Kreinas http://www.logic.at/prolog/&ueens/&ueens.html http://blog.andinadigital.com/2012/0/23/demostracion-de-problemade-las-n-reinas-en-swi-prolog-programacion-logica/ uego %udo?u6 http://www.isualprolog.com/ip/eample/userEample/sudoKu6umming/sudoKu6um ming.htm
Actividad de an4lisis # diseo # programación. 4roponemos al estudiante descargar el c+digo desde los enlaces presentados" eecutar los programas segn el 78E utili,ado" anali,ar su eecuci+n" isuali,ar $ comprender el c+digo 5uente. )plicando un
proceso de reingenier(a modelar el caso siguiendo la metodolog(a 6ommonJads.
U.3 *a iienda inteligente.
Fuente: http://www.cedom.es/sobre-domotica/&ue-es-domotica 6onstruir una iienda inteligente 5ue un sueo de muchos estudiosos de la inteligencia artifcial $ podemos afrmar &ue en la actualidad se han logrado aances impresionantes a tra's del campo conocido como dom+tica.
*a dom+tica segn la )sociaci+n espaola de dom+tica e inm+tica es el conunto de tecnolog(as aplicadas al control $ la automati,aci+n inteligente de la iienda" &ue permite una gesti+n efciente del uso de la energ(a" &ue aporta seguridad $ con5ort" adem#s de comunicaci+n entre el usuario $ el sistema.
4resentamos esta caso por&ue nos permite mostrar una etensi+n tecnol+gica a las propuestas de soluci+n de la inteligencia artifcial" nos re5erimos a los sistemas de control implementados con microcontroladores
+omótica6 •
http://www.cedom.es/sobre-domotica/&ue-es-domotica
•
https://www.casadomo.com/
+omótica con Arduino6 •
http://5orum.arduino.cc/inde.phpBtopic223U23.0
•
http://domotica-arduino.es/es/
•
http://es.opendomo.org/arduino
U.C 7mplementaci+n de electr+nica digital.
Fuente: http://www.tourdigital.net/>imulador%%*conEscenarios.htm *a electr+nica digital implementa soluciones del mundo real basadas en chips
*o interesante de este caso radica en &ue podemos plantear problemas &ue re&uieran soluciones basadas en "los estado de arales entrada $ generan actuaciones sobre ariables de salida. Encontramos casos de control dom+tico" control de un eh(culo" control de sem#5oros" control de riego tecnifcado" etc.
Actividad de an4lisis # diseo Este caso genera un amplio conunto de problemas" sin embargo proponemos un desarrollo incremental:
1. 6reamos reglas para cada una de las puertas l+gicas <)nd" ?r" Dot= 2. 7mplementamos predicados para ealuar 5unciones l+gicas &ue contienen las puertas l+gicas defnidas en el (tem anterior.
*a siguiente actiidad es opcional $ plantea un problema con cierto grado de compleidad" consiste en determinar 5allas en circuitos digitales. >e sugiere seguir el enlace http://ssdi.di.5ct.unl.pt/plr/enunciado/trab1.html aun&ue est# escrito en portugu's se entienden los gr#fcos" en todo caso recuerden &ue ahora contamos con ecelentes traductores en l(nea" de manera &ue el idioma $a no es barrera para nuestro estudio.
)plicando reingenier(a modelar la soluci+n usando 6ommonJads. 4ara complementar puedes isitar este enlace http://www.oldemarrodrigue,.com/$ahoositeadmin/assets/docs/4rog ramacion49?*?N>trawIerr$2.223100300.pd5 en el &ue encontrar#s un eemplo de simulaci+n de compuertas l+gicas en 4rolog.
U.G )gentes inteligentes.
Fuente: http://www Fuente: http://www.monografas.com/trabaosUC/agent .monografas.com/trabaosUC/agentes-inteligenteses-inteligentespaso-inteligencia-artifcial/agentes-inteligentes-paso-inteligenciaartifcial2.shtml *os agen agente tess inte inteli lige gent ntes es son son el sigu siguie ient nte e paso paso a los los sist sistem emas as epertos. )un&ue nuestro curso no 5ue planteado para trabaar con agentes inteligentes no &uisi'ramos dear pasar la oportunidad de presentarlos $ proponer algunos casos $ herramientas de trabao con ellos. Actividad de programación de agentes 4roponemos leer la documentaci+n ofcial de V)8E
•
•
>istemas inteligentes en la educaci+n: una reisi+n de las l(neas de inestigaci+n $ aplicaciones actuales: http://www.u.es/reliee/10n1/reliee10n11.htm 7nteligencia artifcial aplicada http://t01nocturno.blogspot.com/
a
la
educaci+n:
>istem >istemas as eper epertos tos en el proce proceso so de ensea ensean, n,a-a a-apr prend endi,a i,ae: e: http://www.progmat.uaem.m:P0P0/olGnum1/olGnum1artC.pd 5
. El uturo se materializa en nuestra creatividad.
Fuente: http://www.emiliosileraa,&ue,.com/blog/2013/0H http://www .emiliosileraa,&ue,.com/blog/2013/0H/10/62)1el/10/62)1el5uturo-62IFpodremos-disenarlo-nosotros/ 6omo hemos isto en los eemplos anteriores anteriores no eisten l(mites para el desarrollo de los sistemas basados en conocimientos" podemos desarrollar aplicaciones en pr#cticamente todas las actiidades del ser humano. 9ecom ecomen enda damo moss al estu estudi dian ante te elab elabor orar ar una una list lista a de enla enlace cess de aplicaciones de la inteligencia artifcial en los l os di5erentes campos" tales como contabilidad" medicina" fnan,as" ingenier(a" etc. •
•
•
•
sos $ aplicaciones de la inteligencia artifcial: http://www.u http://www .u.m/cienciahombre/r .m/cienciahombre/reistae/ol1Unum3/articulos/i eistae/ol1Unum3/articulos/i nteligencia/ )plicaciones pr#cticas de la inteligencia http://www.daidam.com/docu/aplic-ia/
artifcial:
)rtifcial intelligence. )n illustratie oeriew: http://www.gitsin5ormatica.com/ar http://www .gitsin5ormatica.com/areas20de20aplicacion eas20de20aplicacion 20de20la20ia.pd5 )pli )plica caci cion ones es de la inte inteli lig genci encia a art artifci ifcial al en la ;ed ;edicin icina: a: perspectias $ problemas: http://scielo.sld.cu/scielo.phpB pid>102C-C3G200P000G0000Gscriptsciarttet
)ctiidad de an#lisis $ comprensi+n 8espu' 8esp u'ss de habe haberr trat tratad ado o los los cont conten enid idos os sobr sobre e las las apli aplica cacio cione ness responde a las siguientes preguntas:
(a domótica permite automatizar6 8omos de seguridad.
F#bricas.
6ircuitos el'ctricos
iiendas
>istemas epertos.
7etroalimentación
*a dom+tica permite automati,ar iiendas.
(os agentes inteligentes6 Fueron Fueron primeros &ue los sistemas epertos.
>on sistemas epertos.
6onstitu$en el siguiente paso de los sistemas epertos.
%oda(a no eisten en inteligencia artifcial.
>e encuentran disponibles en hardware.
7etroalimentación
*os agentes inteligentes constitu$en el siguiente paso de los sistemas epertos.
Para nuestro curso el mundo de 9umpus ue presentado en el li:ro de6 4rolog
6*7>4
9ussell
Jernighan
Iriceo
7etroalimentación
El mundo de wumpus 5ue presentado en el libro de 9ussell.
Bi:liograa 1. )lonso" )R Nuiarro" IR *o,ano" )R 4alma" VR %abeada" ;V. 7ngenier(a del conocimiento. )spectos metodol+gicos. 4earson/4rentice ma$. ;adrid 200C. 2. )newierden" ). )." 8e Soog" 9." an 8e Ielde" Q. T Qielinga" I. V. <1P=. Engineering o5 Jnowledge. %he 6ommonJ)8> ;ethodolog$. ;7% 4ress" 1. 3. 6ommonJ)8> %echnical 9eports. http://6ommonJ)8>.ua.nl C. N+me," ). $ otros: 7ngenier(a del 6onocimiento. 6entro de Estudios 9am+n )reces. ;adrid" 1P. G. Sarmon" 4 T Jing" 8.: >istemas Epertos. 8(a, de >antos" 1PP. H. Dilsson" D. V.: 7nteligencia )rtifcial. n nueo en5o&ue. ;cNrawSill. ;adrid" 2000. U. 4alma" V.R ;art(n" F. $ ;ar(n" 9. 7ngenier(a del conocimiento. 8e la etracci+n al modelado del conocimiento. 9eista 7beroamericana de 7nteligencia )rtifcial. D\ 11. 2001 P. 9ich: 7nteligencia )rtifcial. ;cNraw-Sill. 1G. . 9ational >o5tware 6orporation <1U=. nifed ;odelling *anguage. Dotation Nuide. ersion 1.1.9*: http://www.rational.com. 10. 9odr(gue," ).R Sern#nde," 6.R 4l#cido" 6. 7ngenier(a del 6onocimiento. niersidad de *as 4almas de Nran 6anaria" 1C. 11. >chreiber" ). %." )KKermans" V. ;." >chreiber" N." Qielinga" I.V. $ IreuKer" V.)" editors <13=. 12. J)8>: ) 4rincipled )pproach to Jnowledge-Iased >$stem 8eelopment. )cademic 4ress. 13. 7>ID 0-12-H20C0-U.
*ecturas recomendadas Para sa:er m4s 4onemos a tu disposici+n $ te initamos a reisar dos interesantes documentos &ue te a$udaran a re5or,ar $ ampliar los temas &ue hemos estudiado. •
+ocumento moderno.
16
Inteligencia
artifcial6
-n
eno!ue
-)(:7ttp688iarp.cic.ipn.m&8]7calvo8Inteligencia>Artifcial>fles8I nteligencia^H0Artifcial"^H0-n^H0Eno!ue^H0*oderno^H0K ^H0%tuart^H0.^H0)ussell"^H0Peter^H0orvig^H0K ^H0Prentice^H0,all^H0^HLocr"^H0caps^H01K11^HG.pd Breve descripción6 Este libro contiene una descripci+n de sistemas epertos $ presenta el siguiente paso &ue son los agentes inteligentes. Es de lectura obligatoria para todo estudiante de inteligencia artifcial" sistemas basados en conocimiento" sistemas epertos" agentes inteligentes. ___________________________________ _________.____.. •
+ocumento H6 Curso de sistemas e&pertos.
-)(6 id
7ttp688999.educagratis.org8moodle8course8vie9.p7p;
Breve descripción6 El enlace nos conduce a un curso de sistemas epertos en el el autor pone a disposici+n material de aprendi,ae $ muestra arios lenguaes de programaci+n como *7>4" VE>>" 49?*?N. 4one a disposici+n el libro de castillo &ue en su parte fnal inclu$e casos de sistemas probabil(sticos.
6onclusiones de la sesi+n 8urante esta semana de aprendi,ae hemos comprendido &ue: •
•
•
•
•
>e pueden desarrollar aplicaciones de sistemas epertos en todos los campos del &uehacer humano. Es posible modelar las soluciones de sistemas basados en conocimientos utili,ando la metodolog(a 6ommonJads. 6onfrmamos la efcacia de 4rolog para implementar soluciones basadas en conocimiento. Eisten otras metodolog(as de desarrollo de los sistemas epertos. )dem#s de 4rolog" eisten otros lenguaes para programar sistemas epertos" tales como *7>4" 6*74" VE>> $ otros.