Está en la página 1de 76

ING.

HERNAN PATRICIO VARGAS NOLIVOS

UTM

ENFOQUE PRACTICO DE LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS


I. INTRODUCCIN

Los sistemas basados en conocimiento (SBC) son una expresin de la Inteligencia Artificial (IA). Su forma de analizar los problemas para dar soluciones a travs de la computadora, difiere mucho de los sistemas informticos convencionales, debido a un factor muy importante: Inteligencia. La IA es una rama de la Ciencia de la Computacin que se encarga de estudiar las formas de modelar el comportamiento humano en una computadora. Se encarga de hacer de las computadoras; herramientas que simulen la inteligencia humana. La IA, en su dedicacin a crear modelos de conocimientos que sean absorbidos por las computadoras; no solo ha ayudado a la inteligencia de las computadoras; sino tambin, ha hecho significativos aportes al estudio de la inteligencia humana. Una de las aplicaciones fundamentales de la IA est en los Sistemas Expertos, donde coinciden el conocimiento acumulado por los hombres y las tcnicas de IA en un sistema capaz de ensear y aprender.

Consideraciones Generales
INTELIGENCIA.Es la capacidad que tienen los seres humanos de adquirir el conocimiento y aplicarlo, es la capacidad de pensar y razonar. INTELIGENCIA ARTIFICIAL.En 1956 en el Congreso de Dartmouth (E.U.) se plantea que: La Inteligencia Artificial son los mtodos, tcnicas e intentos que pretenden simular en la computadora el intelecto humano. Elaine Rich: ... Es el estudio de como hacer que las computadoras hagan cosas para las que, hasta el momento las personas son mejores... Patrick Winston: ... Es el estudio de las computadoras que permiten percibir, razonar y actuar... Se puede resumir indicando que La Inteligencia Artificial es una rama de la ciencia de la computacin que permite crear programas y equipamiento tcnico para imitar el comportamiento humano

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM Objetivos de la IA
INGENIERIL Resolver problemas reales aportando los conceptos de cmo representar el conocimiento y utilizarlo. Hacer que las computadoras sean ms inteligentes creando programas que simulan algunas funciones de la mente humana. CIENTIFICO Ayudar al estudio de la inteligencia aportando ideas acerca de las formas de representacin del conocimiento y su uso (Ciencia del Conocimiento).

Breve resea histrica de la Inteligencia Artificial

En 1956 se utiliza por primera vez el trmino de I.A para expresar las potencialidades de la computadora (Conferencia de Dartmouth). De 1955 a 1960 se demuestra la posibilidad de programar aperturas de ajedrez. En 1957 John McCarthy crea el lenguaje LISP que es un lenguaje propio de I.A. En 1965 a 1969 se lleva a cabo el proyecto RENDRAL que es el primer Sistema Experto, el cual determinaba la estructura molecular a partir de la densidad espectral y ensayos magnticos moleculares. En 1966 se crea el sistema MACSYMA (segundo Sistema Experto) que ayudaba a resolver problemas matemticos, algebraicos, de integrales vectoriales, de inecuaciones, de series. De 1967 a 1969 se exponen las posibilidades de los sistemas expertos en los congresos de I.A. de los EEUU, en el cual se expone el proyecto MYCIN que determina el ente probable de una infeccin sangunea y prescribe el tratamiento. De 1970 a 1974 Alain Colmeraver, crea el lenguaje PROLOG (Programacin Lgica). En 1972 se crea el sistema SHRDLU (Sistema de Compresin de Lenguaje Natural Interactivo para mover bloques con un brazo mecnico). En 1975 Se crea el sistema PARRY (Simulacin de un Paranoico). En 1975 a 1980 se crea el sistema ELISA (Simulacin de un Psicoterapeuta). A partir de los 90 comienza a divulgarse el desarrollo de las tcnicas de Realidad Virtual como nueva forma de comunicacin hombre - mquina.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM CONOCIMIENTO

La parte fundamental de cualquier sistema que utiliza Inteligencia Artificial es el Conocimiento. Los sistemas con Inteligencia Artificial adquieren el conocimiento a partir de la Educacin o de la Experiencia. La computadora obtiene el conocimiento, de forma general, a partir de uno o varios expertos humanos en determinada rama del saber. El conocimiento est formado por hechos, conceptos, teoras, relaciones y procedimientos. Es informacin que ha sido organizada y analizada para ser formalizada para su utilizacin en la solucin de problemas y en la toma de decisiones. El proceso de obtencin del conocimiento para ser utilizado en sistemas inteligentes, es conocido como ciencia del conocimiento, es un proceso sumamente complicado y de gran repercusin en el resultado final del sistema. El conocimiento obtenido, queda expresado formalmente en Modelos de Representacin del Conocimiento. Cada modelo tiene un uso especfico segn el tipo de problema que se quiere representar.

PARTES DE UN SISTEMA DE INTELIGENCIA ARTIFICIAL


La Base de Conocimiento est formada por Hechos y Relaciones. La Mquina de Inferencias tiene los procedimientos y reglas para trabajar con la base del conocimiento.

A partir de la creacin de la Base de Conocimiento, la computadora est en condiciones de utilizar las tcnicas de Inteligencia Artificial para pensar y razonar.

LA INTELIGENCIA ARTIFICIAL vs. LA COMPUTACION TRADICIONAL

En un programa convencional se le dice a la computadora cmo resolver el problema. En un programa de Inteligencia Artificial se le dice a la computadora qu problema resolver.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

Los programas convencionales estn basados en algoritmos definidos paso a paso. Los programas de a Inteligencia Artificial estn basados en la representacin y manipulacin de smbolos. Un smbolo es una letra, palabra o nmero utilizado para representar objetos, procesos y sus relaciones.

Mtodos de razonamiento artificial

El razonamiento en general se refiere a diferentes clases de actividades, entre ellas extraer conclusiones desde un conjunto de hechos, diagnosticar posibles causas para alguna situacin, analizar y organizar datos, etc. En el desarrollo de un proceso de razonamiento particular intervienen al menos tres elementos relacionados: el conocimiento sobre el dominio de aplicacin, un mtodo para procesar este conocimiento, y ciertas observaciones vinculadas con el objeto de razonamiento.

En los SBC se utilizan de forma general dos tipos de razonamientos Razonamiento funcional: Permite sintetizar los problemas a partir de la configuracin , dado un conjunto de componentes cada uno con sus propias caractersticas funcionales; de un producto nuevo, que tiene determinadas caractersticas funcionales derivadas de los componentes que lo conforman. Razonamiento con incertidumbre: Este razonamiento denota un proceso de razonamiento en el que alguno de estos elementos no es totalmente preciso, o sea, el razonamiento se realiza sobre la base de una informacin parcial y por lo tanto los resultados de este son sugeridos pero no asegurados por las premisas del mismo. Existen otras formas ms avanzadas de razonamiento que sern abordadas en el segundo mdulo de IA

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM Test de Turin

Identificar cun inteligente es un programa de IA, es una meta muy complicada, de hecho; determinar cun inteligente es una persona, resulta una tarea muy difcil debido a que existen demasiados parmetros subjetivos y por si fuera poco, el cerebro humano sigue siendo una gran interrogacin. A lo largo de los estudios relacionados con la IA, se han desarrollados algunos test o pruebas para determinar si un programa o una computadora es inteligente o no. Entre ellos se encuentra el test de Turin que se puede describir de la siguiente manera: Una computadora conecta a un operador y a una mquina con Inteligencia Artificial. En la computadora hay un operador emitiendo preguntas constantemente sin saber de qu maquina proviene la respuesta. Si al final del test el operador piensa que las respuestas que obtuvo venan de un ser humano, se dice entonces que la mquina con Inteligencia Artificial es inteligente. Todos los test tienen una efectividad limitada ya que es muy difcil calificar o cualificar la inteligencia.

Campos de Aplicacin de la Inteligencia Artificial


La aplicacin de la IA se analiza desde dos puntos de vista:

TEORICO En la Sicologa Cognitiva Lingstica (simulacin del Ser Humano) Filosofa PRACTICO

En el plano prctico, la IA se puede utilizar para la obtencin de soluciones de problemas de cualquier tipo :

Econmico. Robtica. Enseanza. Lenguaje Natural.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Procesamiento de seales e imgenes. Sistemas Expertos.

Ventajas y desventajas de la IA
Es necesario diferenciar de manera clara lo referente a Inteligencia Artificial y lo que podemos llamar simulacin del ser humano. En trminos grosos se puede catalogar de inteligentes a msicos, cientficos, artistas, tcnicos e incluso deportistas y artistas. particulares:

Estas son algunas reflexiones

Del ser humano se afirma su inteligencia porque posee intuicin, inspiracin, capacidad de organizar cadenas lgicas de pensamiento, sentimientos, memoria, imaginacin o creatividad, razn, conciencia y expresin lingstica. Consenso de atributos comunes de actividad inteligente: Habilidad para resolver problemas nuevos, lucidez, planificacin, facilidad para adquirir nuevos conocimientos, abstraccin, adaptacin, etc. La alta inteligencia del ser humano, parece ms bien una casualidad en la evolucin; ya que hay especies que han sobrevivido 10000 veces ms tiempo que el hombre sin apenas cerebro. La prdida de facultades, tratadas mdicamente, como trastornos del lenguaje y memoria; son una pauta para esclarecer qu es la inteligencia. He comprendido que la inteligencia no se mide slo por la suma de conocimientos, la caracterstica fundamental de un hombre inteligente es su capacidad de comprender y ayudar a los dems [E. Evtushenko] El conocimiento es un recurso especficamente humano. No se encuentra en los libros, los libros contienen informacin. Conocimiento es la capacidad humana de aplicar la informacin a su trabajo o desempeo especficos; eso nicamente lo logra el ser humano con su inteligencia o la habilidad de sus manos. [Peter Drucker]. Unos pocos heterodoxos opinan que la imaginacin, la intuicin y dems facultades superiores relacionadas con la conciencia se explican con la fsica cuntica. Segn Roger Penrose (Universidad de Oxford) la base fsica de los fenmenos conscientes como el razonamiento o la imaginacin estn en unas estructuras subcelulares llamadas microtbulos, pequeos cilindros de 25 nanmetros formados por filamentos de la protena tubulina y rellenas de agua. Se percat que los microtbulos conducen muy bien las vibraciones fsicas a lo largo de s y que son capaces de transmitir la misma onda al de al lado y as sucesivamente, de modo que toda una red de microtbulos puede vibrar en sincrona y portarse como una red informtica. Hameroff piensa que la red de microtbulos de cada neurona es en realidad un diminuto sistema

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
computacional; lo que significa que el cerebro aloja en su interior unos 100.000 ordenadores, tantos como clulas, interconectados por 100 billones de conexiones, conocidas como sinapsis. La Inteligencia Artificial tiene innegables ventajas que ayudarn al ser humano en el desarrollo socioeconmico, cintfico - tcnico, cultural, etc. Son sus desventajas, las que deben estudiarse con cuidado para preveer las consecuencias negativas que puede tener una irresponsable aplicacin de la IA, sin asumirla como parte del desarrollo gradual del intelecto humano y el desarrollo cientfico- tcnico de la sociedad. En lo fundamental se puede analizar las desventajas a travs de los factores:

Trabajo

Al igual que todo avance tecnolgico, la IA promover que los elementos que no adquirieron habilidades para el nuevo esquema social, sucumban en la bsqueda laboral, los fenmenos cclicos de desocupacin, recesin, depresin sern ms notorios que en pocas actuales. Ms an; la tendencia podra ser una creciente merma de la participacin humana; los efectos socioeconmicos bsicos son fciles de predecir: desocupacin, falta de recursos financieros, acumulacin de bienes y servicio, etc.

VIDA

El perfeccionar sistemas, por ejemplo en medicina, que permitan restaurar, reponer rganos atrofiados puede dejar de ser una quimera, un continuo alargamiento de la supervivencia humana suele traer aparejados problemas de hiperpoblacin, restricciones de natalidad A ms de las secuelas socio econmico.

LIBERTAD

Como un concepto tradicional de poder realizar diversas actividades a criterio propio debern ser revisadas, a fin de procurar que un esquema de equilibrio matemtico monitoreado por ordenadores o sistemas inteligentes no se vea alterado. Si bien el humano es un ente moldeable que se asimila a diversos espectros de vivencia, siempre quedarn rezagos de inconformidad, que tambin tienden de manera cclica a ser de carcter general. CREATIVIDAD

Quedarn espacios suficientes para valorar la creatividad humana?.

CRITERIOS PARA EL EXITO


CRITERIOS PARA EL EXITO EN UNA APLICACION DE INTELIGENCIA ARTIFICIAL

.Debe existir una tarea bien definida. .Debe existir un procedimiento ya instrumentado que ejecute la tarea. .Debe existir un conjunto de regularidades y restricciones identificables a partir de las cuales el procedimiento instrumentado se pueda ejecutar.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
PREGUNTAS ADICIONALES PARA EL EXITO

.Resuelve la aplicacin un problema real?. .Crea la aplicacin una nueva oportunidad?.

II.

Lenguajes de programacin de la I.A.

El lenguaje LISP (LISt Processing) se considera el lenguaje declarativo ms antiguo, fue diseado por John McCarthy en el Massachusetts Institute of Technology (MIT) alrededor del ao 1960. El lenguaje LISP en su forma pura es netamente un lenguaje aplicativo, la nica estructura de control es la aplicacin de funciones a argumentos; y un programa LISP no es ms que una expresin construida a partir de la aplicacin de funciones. El LISP fue el primer lenguaje donde el programa se consider un objeto, en l se trata el proceso de evaluar funciones como un modelo computacional, y la estructura de datos lista como un medio para representar programas expresados como funciones; no hace diferenciacin entre dato e instruccion. Esto es especialmente significativo debido a que los programas pueden ser generados y modificados dinmicamente. Es oportuno sealar que este lenguaje ha sido frecuentemente mal calificado como lenguaje para el procesamiento de listas, cuando en realidad la lista es la forma utilizada en el lenguaje para representar y procesar las instrucciones y los datos.

Uso actual del lenguaje LISP

El LISP es el segundo entre los lenguajes de programacin ms viejos y con un empleo extenso actualmente, el primero es el lenguaje FORTRAN. Este lenguaje es usado en la mayora de los casos como una herramienta de investigacin. Es utilizado como una herramienta para la implementacin de sistemas en Inteligencia Artificial (IA), para sistemas de manipulacin de frmulas, anlisis y generacin de programas, prueba de teoremas, etc. El lenguaje LISP ha constituido un medio para desarrollar e implementar nuevos lenguajes que son orientados a problemas particulares; esta posibilidad se basa en la flexibilidad lingistica del mismo para tomar un concepto especfico y representarlo en l, produciendo un nuevo lenguaje dirigido a una aplicacin (como son los casos de los lenguajes Planner, Conniver y QA4). Para algunos especialistas la IA surgi cuando McCarthy y el grupo de IA del MIT crearon el lenguaje LISP, siendo considerado el primer lenguaje para IA. Esencialmente hasta los aos 80 el lenguaje LISP fue el usado como lenguaje de implementacin para las tareas de IA en E.U., mientras que el Prolog lo fue en Europa. Existe el criterio de que el interes por la IA ha crecido simbiticamente con el crecimiento de la capacidad de memoria de las microcomputadoras y la disponibilidad de implementaciones de LISP que lo hacen suficientemente poderoso para resolver problemas reales. Al inicio el LISP prcticamente slo atrajo la atencin de los laboratorios de IA,

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
actualmente es un gran negocio tanto la comercializacin de sus traductores como las aplicaciones de IA basadas en l.

Otro elemento interesante sobre el LISP y que habla de sus posibilidades de empleo, fue la creacin en 1979 en el MIT de una pastilla con las funciones bsicas de este lenguaje por hardware, lo cual constituy la base para la construccin de una lnea especfica de computadoras: las mquinas Lisp.

Lenguajes de Programacin: PROLOG

El lenguaje Prolog (acronismo de PROgramacin LGica) se cre en la dcada del 70 por Alain Colmerouer y sus colaboradores de la Facultad de Ciencias en Marsella, Francia. El objetivo original de los creadores fue integrar el principio de resolucin de Robinson en un lenguaje de programacin. Este principio brinda una regla de inferencia para la prueba mecnica de teoremas en lugar de las mltiples reglas que los lgicos proponan. Esta idea en el diseo del lenguaje le da la capacidad de hacer que una computadora simule el proceso del pensamiento haciendo deducciones a partir de informacin dada en forma lgica. La idea inicial del diseo se bas en una teora del lenguaje y la Lgica Matemtica, pero la estrecha relacin con la lgica se converta en algo pesado cuando se implementaba Prolog sobre una computadora, debido a esto se pusieron ms restricciones prcticas y el resultado final fue un lenguaje sin trabas, independiente de detalles que slo se necesitan en lgica. Prolog utiliza rboles como su estructura bsica. En un programa Prolog cada rbol es un hecho o un tomo de conocimiento y la naturaleza bidimensional de los rboles contribuye a la potencia de expresin del lenguaje. Prolog es un lenguaje de Programacin Lgica en el sentido que sus sentencias se interpretan como sentencias lgicas.

Definicin sintctica simple

Un programa Prolog es un conjunto de clusulas que declaran, en forma lgica, el conocimiento sobre un determinado problema. Estas clusulas se definen como hechos (elementos que se dan por verdaderos) y reglas que expresan las condiciones que se tienen que cumplir para probar un determinado objetivo. Las reglas son una generalizacin de los hechos y expresan las relaciones entre ellos. El lenguaje es especialmente til para resolver problemas donde se trabaja con objetos y relaciones entre ellos. Como ejemplo de lo que se esta discutiendo se presenta en la figura un rbol de relacin entre algunas de las personas que trabajan en una facultad.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Bello Marilyn Miriam Decano J' Dpto

Mateo

Daniel

Mercedes

Horta

Profesores

En este rbol se establecen relaciones de subordinacin, el nivel 2 deja claro quienes son los jefes de departamentos. Se pueden sacar varias relaciones del rbol presentado, por ejemplo el hecho, "Mateo est subordinado a Marilyn" se expresa como: subordinado(mateo, marilyn). Los nombres se escriben en minsculas por un problema sintctico. En este caso subordinado es el nombre (o functor) de la relacin (tambin se conoce como el predicado) y marilyn y mateo son sus argumentos. Un programa Prolog est compuesto por un conjunto de clusulas. Entonces para establecer las relaciones de subordinacin descritas en el rbol, se escribir el conjunto de clusulas que siguen, las cuales expresan las relaciones establecidas en el rbol precedente. subordinado(marilyn, bello). subordinado(miriam ,bello). subordinado(mateo, marilyn). subordinado(daniel ,marilyn). subordinado(mercedes, miriam). subordinado(horta ,miriam). Una vez escrito un programa como este pueden realizarse varias preguntas acerca de la relacin subordinado. Tomando el signo de interrogacin (?-) como el prompt del interprete Prolog, se puede comenzar a interrogar al lenguaje.

Figura II.1: Ejemplo de relacin de subordinacin.

.- Es Mateo subordinado de Marilyn ? ?-subordinado(mateo ,marilyn). yes ?-

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
1. En este caso la pregunta con la relacin subordinado se hace con sus argumentos acotados (tienen valores). El lenguaje hace una bsqueda en su memoria de trabajo y encuentra la relacin buscada, debe observarse que el orden en esta relacin es totalmente aleatorio pero una vez establecido se tiene que respetar, o sea la clusula subordinado establece en este caso que mateo es subordinado de marilyn y no lo contrario. 2. Miriam tiene algn subordinado que se llame Antonio?

?-subordinado(antonio, miriam). no ?-

Debido a que no existe nada en el programa que establezca una relacin entre miriam y antonio se recibe una respuesta negativa, en todos los casos se devuelve el prompt para avisar que Prolog esta listo para recibir una nueva pregunta. 3. Marilyn es subordinado de Daniel? ?-subordinado(marilyn ,daniel). no ? En este caso la respuesta vuelve a ser negativa ya que lo que se establece en el programa es lo contrario. 4. Dgame alguien que sea subordinado de Marilyn? ?-subordinado(X, marilyn). X <- mateo ?En este caso el primer argumento de subordinado va acotado por lo que la bsqueda se realiza sobre aquellas clusulas que tengan su primer argumento acotado con el valor bello, el segundo argumento va sin acotar, entonces la variable X tomara valor de acuerdo a la clusula en que se realice la bsqueda, cuando esta sea posible (se analizaran los casos mas adelante). 5. Si se deseara obtener todos los subordinados de Marilyn, se har la misma pregunta anterior, pero para cada respuesta se pedir una solucin alternativa utilizando el operador or que se escribe con punto y coma(;). ?-subordinado(X, marilyn). X <- mateo; X <- daniel;

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
no En este caso el usuario despus de cada respuesta tecleo ";" entonces Prolog interpreta esto como "..bscame otra solucin..", para resolver ese problema a la variable acotada X se le quita el valor que tena y se hace otra bsqueda pero ahora sin tomar en cuenta la clusula utilizada antes. 6. Encontrar X y Y tal que Y es el jefe de X ?-subordinado(X,Y). X <- bello Y <- marilyn 7. Si se desean todos los X y Y que satisfacen la relacin anterior se puede hacer uso del or. ?-subordinado(X,Y). X <- bello Y <- marilyn; X <- bello Y <- miriam; X <- marilyn Y <- mateo; X <- marilyn Y <- daniel; X <- miriam Y <- mercedes; X <- miriam Y <- horta; no ?Reglas Anteriormente se vio cmo se pueden expresar en PROLOG las afirmaciones a travs de hechos. Un hecho es una afirmacin de que algo es verdadero. Romeo am a Julieta En PROLOG, como base de conocimientos se escribe:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
amo(romeo, julieta). A este hecho, se le puede hacer varias preguntas en el modo de preguntas a la base de conocimiento:

Am Romeo a Julieta?

?- amo(romeo,julieta). Respuesta: YES

Quin am a Julieta?

?- amo(X,julieta). Respuesta: X = romeo

A quin am Romeo?

?- amo(romeo,X). Respuesta: X = julieta Para alternar entre el modo de diseo de la Base de Conocimientos y el modo de Preguntas, se utiliza el comando, Alt+S El modo de preguntas permite que la mquina de inferencia de PROLOG responda a preguntas hechas a la base de conocimientos. En la base de conocimientos se escriben hechos y reglas. Etimolgicamente la palabra regla proviene del latn regola. Entre las diferentes definiciones de regla se encuentran:

Una regla seala o prescribe la manera de obrar Es la razn que debe servir de medida y a la que se deben ajustar las acciones que resulten correctas Norma constante e invariable de las cosas, nacida de la causa primera o de sus propias cualidades y condiciones. Ley universal que comprende lo sustancial que debe observar algo Establecimiento de las relaciones existentes entre las diversas variables que intervienen en un fenmeno

En PROLOG, las reglas constituyen una generalizacin de los hechos aumentando la capacidad de expresin y representacin de ideas del lenguaje.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Ejemplo: Se desea expresar en una base de conocimientos todas las personas a las que estima Mara. Esto podra representarse mediante hechos de la siguiente forma: estima(maria,juan). estima(maria,pedro). estima(maria,luis). estima(maria,mateo). La base de conocimientos podra crecer mucho segn la cantidad de personas a las que estima Mara. Sin embargo, si se sabe que Mara estima a aquellas personas que son de sexo masculino y le guste bailar, entonces se puede escribir la siguiente regla: estima(maria,X) :- hombre(X), gusta(X,bailar). Esta regla se interpreta: Estima Mara a una personal X si y solo si esa persona X es hombre y a esa persona X le gusta bailar. El smbolo (:-) se interpreta como si y solo si. El operador (,) se interpreta como y(AND). Ejercicio 1: Escriba la siguiente BC en el modo de diseo de la BC: hombre(pedro). hombre(juan). hombre(jose). gusta(pedro,bailar). gusta(juan,comer). gusta(jose,bailar). estima(maria,X) :- hombre(X), gusta(X,bailar). D el comando Alt+S para pasar al modo de pregunta y realice las siguientes preguntas: 1. Qu le gusta a Pedro? ?- gusta(pedro,X). 2. A quin le gusta comer?

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
?- gusta(X,comer). 3. Estima Mara a Pedro? ?- estima(maria,pedro). 4. A quin estima Mara? ?- estima(maria,X).

Para lograr resatisfacer la pregunta hecha, es decir; que la mquina de inferencia proporcione nuevas respuestas a la misma pregunta, se escribe (;) despus de cada respuesta. Ejecute el programa paso a paso con la opcin Alt +D, T y observe cmo se accesa la BC. Elabore nuevas preguntas a su BC.

Ejercicio 2 (Estudio Individual): Escriba una BC que permita identificar a determinado animal. Utilice los predicados es y tiene. Predicados para definir los miembros de una familia: Concepto de hermano: X es hermano de Y Si X es hombre y Los padres de X son los padres de Y En PROLOG: hermano(X,Y):- hombre(X), padres(Z,X), padres(Z,Y). Concepto de primo: X es primo de Y Si

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
X es hombre y X es hijo de un hermano del padre de Y En PROLOG: primo(X,Y):- hombre(X), padres(Z,X), hermano(Z,H), padre(H,Y). Observe que este predicado utiliza el predicado hermano, elaborado anteriormente. Concepto de hijo: X es hijo de Y Si X es hombre y Y es la madre de X O Y es el padre de X

En PROLOG: hijo(X,Y):- hombre(X), (madre(Y,X) ; padre(Y,X)). Observe que el operador (;) se interpreta como o (OR). Concepto de abuelo: X es abuelo de Y Si X es padre de Z y Z es padre de Y En PROLOG:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
abuelo(X,Y):- padre(X,Z), padre(Z,Y). Concepto de bisabuelo: X es bisabuelo de Y Si X es padre de Z y Z es abuelo de Y En PROLOG: bisabuelo(X,Y):- padre(X,Z), abuelo(Z,Y). Observe que el predicado bisabuelo utiliza el predicado abuelo. Nota: Para poder utilizar todos los predicados anteriores, es necesario que en la BC estn los hechos necesarios. Por ejemplo: padre(juan,pedro). padre(pedro,maria). abuelo(X,Y):padre(X,Z),

padre(Z,Y). A la pregunta: Quin es abuelo de quin?: ?- abuelo(X,Y). PROLOG responde: X = juan Y = maria Trabajo extraclase: Elabore una BC que permita representar su rbol genealgico a partir de sus bisabuelos. Incluya los conceptos de :

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Primo por parte de padre Primo por parte de madre To Concepto de que una pareja puede procrear. Tenga en cuenta todas las condiciones, tanto naturales como sociales.

La BC debe contener al menos diez reglas, la cantidad de hechos es de su eleccin. Para probar el conocimiento de su BC, realice todas las preguntas posibles y compruebe que se cumplan los parentescos de su rbol genealgico. Los trminos en PROLOG se clasifican en tomos, variables y estructuras. Los tomos son los nombres de predicados, operadores y argumentos de los predicados, y siempre se escriben en minscula como se vio anteriormente. Las variables permiten diversificar el resultado de las preguntas y generalizar las reglas y se escriben siempre con letra inicial mayscula. Las estructuras son la tercera clase de trminos en PROLOG. Una estructura es una coleccin de objetos llamados componentes. Operadores Aritmticos + adicin - sustraccin * multiplicacin / divisin // divisin entera mod mdulo A la pregunta: ?- X=1+6. PROLOG responde: X=1+6 El operador = realiza la operacin de emparejamiento y no obliga a realizar la operacin aritmtica. Operador IS

Operadores y Estructuras

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Permite realizar la asignacin. ?- X is 1+6. PROLOG responde: X=7 El formato general para las operaciones aritmticas es: Objeto_simple is expresin_aritmtica Operadores de relacin Al igual que el operador is, los operadores de relacin obligan a la evaluacin. Estos son: >, >, >=,<= =:= =\= igualdad diferencia

Diferencia entre los operadores de emparejamiento: X=Y produce ajuste de los objetos X y Y y no hay evaluacin aritmtica

X=:=Y produce evaluacin aritmtica y no instancia las variables Ejemplo: ?- 5+A = B+1. A=1 B=5 ?- 5+1=:=5+1. YES ?- 5+1=4+2. NO Estudio Individual: Buscar en la ayuda de PROLOG, los operadores lgicos y estudiar los operadores aritmticos y de relacin. Estructuras

Una estructura se escribe mediante la especificacin de su functor y sus componentes.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

Los componentes se encierran entre parntesis y se separan por comas. El functor especifica el nombre de la estructura.

Ejemplo: posee(maria,libro(demian)). La estructura en este hecho es libro(demian). Si se desea especificar el autor del libro que posee Mara: posee(maria,libro(demian,herman_hesse)). Dentro del hecho correspondiente al predicado posee, est la estructura libro, siendo libro el functor de la estructura. Esta a su vez, posee dos componentes: demian y herman_hesse. La estructura libro acta como un onjeto que forma parte de una relacin. Si se desea aclarar an ms: posee(maria,libro(demian,autor(herman_hesse))). En este caso, la estructura libro contiene a la estructura autor y se interpreta el hecho como: Posee Mara el libro Demian del autor Herman Hesse Las estructuras participan en el proceso pregunta/respuesta usando variables. Ejemplo: Si en la BC est el hecho: posee(maria,libro(demian,autor(herman_hesse))). Para realizar la pregunta: Qu libro posee Mara del autor Herman Hesse? ?- posee(maria,libro(X, autor(herman_hesse))). PROLOG responde: X = Demian Observe que cuando se utiliza estructuras en un hecho o regla, para hacer la pregunta se escribe el nombre de la estructura, segn sea el sentido de la pregunta. Tambin podra preguntar: Qu posee Mara?

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
?- posee(maria, X). PROLOG responde: X = libro(X, autor(herman_hesse)) La variable X se instancia con la estructura, incluso con la estructura anidada. Utilizando variables annimas: Se podra preguntar: Alguien tiene un libro cuyo autor es Herman Hesse? ?- posee(_,libro(_,autor(herman_hesse))). PROLOG responde: YES Las estructuras pueden formar parte de las reglas: Una persona tiene mi edad si naci en 1969 tiene_mi_edad(X):- nacio(X,fecha(_,_,1969). Esta regla utiliza la estructura fecha que incluye variables annimas, ya que el da y el mes son irrelevantes para lo que se quiere expresar. Ejercicio: Escriba la siguiente BC: nacio(juan, fecha(2,8,1978). nacio(pedro, fecha(10,4,1969). tiene_mi_edad(X):- nacio(X,fecha(_,_,1969). Realice las siguientes preguntas: Cundo naci Juan? Tiene Pedro mi edad? Quin tiene mi edad? Ejemplo de utilizacin de estructuras para representar circuitos elctricos Circuito serie:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
R1 R2

serie(r1,r2). Circuito paralelo:

R1

R2

paralelo(r1,r2). Serie-paralelo:
R1 R2 R3 R4

serie(r1,serie(r4,paralelo(r2,r3))). Tarea extraclase:


Elabore una BC que represente a un circuito utilizando estructuras. Elabore al menos tres reglas para determinar clculos de valores tales como, impedancia de entrada, voltaje de salida, corriente por una resistencia, etc. Traer el dibujo del circuito seleccionado, para el da de la evaluacin.

Listas Una lista es una estructura de datos muy utilizada en programacin simblica. El trabajo con listas en PROLOG permite aumentar la potencialidad del lenguaje. Frecuentemente, los predicados con listas son recursivos. Una lista es una secuencia ordenada de elementos clasificados que puede tener cualquier longitud. Las listas pueden utilizarse para representar conjuntos, pero existen diferencias importantes:

En un conjunto el orden de los elementos no es relevante. En un conjunto no se repiten elementos.

A pesar de esto, la mayora de las operaciones de conjunto, se pueden implementar utilizando listas. Listas en PROLOG

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
En PROLOG una lista se representa entre corchetes, con sus elementos separados por coma. [ana, juan, pedro] Los elementos de una lista, pueden ser:

constantes variables estructuras listas

La lista vaca se representa: [] La lista es adems un concepto recursivo. Consta de cabeza y cola. Donde la cola, es a su vez otra lista. El primer elemento de una lista es la cabaza de la lista. Lista = [a,b,c] Lista puede escribirse tambin como: [a|b,c] [a,b|c] [a,b,c|[ ]] Todas las listas se representan internamente como rboles binarios. . a b c Unificacin de dos listas Esta es la forma en que el intrprete de PROLOG asocia dos listas: Lista1 [X,Y,Z] [a] [[tiene,el,leopardo]|Y] Operaciones con listas Lista2 [juan,ana,maria] [X|Y] [X|[un,abrigo]] Unificacin X=juan Y=ama Z=maria X=a Y=[ ] X=[tiene,el,leopardo] Y[un,abrigo] . . []

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
La operacin de pertenencia se llamar miembro. Permite determinar si un elemento pertenece o no a una lista. El predicado miembro se utiliza como: Es el elemento X miembro de la lista L? En PROLOG sera: ?- miembro(c,[a,b,c]). YES Diseo del predicado miembro El predicado se disea segn el siguiente algoritmo: 1. Si el elemento X est en la cabeza de la lista L XITO 2. Sino buscar elemento en la cola 3. Chequear nuevamente la cabeza de la cola 4. Si se llega a lista vaca FALLO El predicado miembro se disea para que el objetivo o pregunta miembro (X,L) sea cierto si X es un miembro de la lista L. De lo contrario es falso. 1. X es miembro de la lista L si est en la cabeza de la lista L. 2. X es miembro de la lista L si es miembro de la cola. En PROLOG sera: miembro(X,[ X|_ ]). miembro(X,[ _ |Cola]):-miembro(X,Cola). Estas dos clusulas conforman el predicado miembro. Observe que la segunda clusula contiene la recursividad al invocar al propio predicado miembro. La condicin de parada de la recursividad est en la primera clusula, porque la lista se va descabezando hasta encontrar al elemento buscado o hasta que la lista est vaca. Ejercicio 1 Elabore una BC utilizando listas que represente con hechos las asignaturas que cursan los estudiantes. Elabore una regla utilizando el predicado miembro para determinar que determinado estudiante es de Sistemas si estudia Prolog. Respuesta Escribir en el modo de diseo de la BC:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
cursa(juan,[fisica, matematica,electronica]). cursa(maria,[fisica, matematica,prolog]). cursa(pedro,[fisica, matematica,prolog]). miembro(X,[ X|_ ]). miembro(X,[ _ |Cola]):-miembro(X,Cola). sistemas(X):-cussa(X,L), miembro(prolog,L). Ahora se puede preguntar: Quin estudia Sistemas? ?- sistemas(X). PROLOG responde: X = maria Sise intenta resatisfacer la respuesta se presiona ; PROLOG responde: X = pedro; NO Ejercicio 2 Dado el siguiente esquema que representa la relacin de progenitor:
Juan Pedro Ivn Luis Ana Jos Luisa Mara Elisa Mario

Elabore una BC donde se exprese utilizando listas, la relacin de progenitor del esquema Respuesta: progenitor(juan, [pedro, ana]). progenitor(maria, [ ana, jose, elisa, mario]). progenitor(pedro, [ivan]). progenitor(ivan, [luis]).

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
progenitor(jose, [luisa]). progenitor(ana, []). progenitor(elisa, []). progenitor(mario, []). progenitor(luis, []). progenitor(luisa, []). a) En el modo de pregunta a la BC, elabore las siguientes preguntas: 1. Quin no tiene hijos? ?- progenitor(X,[]). 2. Quin tiene un solo hijo? ?- progenitor(X,[_]). 3. Quin tiene al menos un hijo? ?- progenitor(X,[_|_]). 4. Quin tiene exactamente dos hijos? ?- progenitor(X,[_,_]). 5. Cul es el primer hijo de Mara? ?- progenitor(maria,[X|_]). 6. Quin tiene al menos dos hijos? ?- progenitor(X,[_,_|_]). Operaciones con listas

Concatenacin Adicin Eliminacin Sublista

Concatenacin de elementos Esta operacin permite concatenar dos listas L1 y L2 dando como resultado la lista L3, que contiene L2 a continuacin de L1. El predicado se disea segn el algoritmo:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
1. Si la lista L1 est vaca, entonces L2 y L3 son iguales a la lista L. 2. Si la lista L1 no es vaca, entonces tiene cabeza y cola de la siguiente manera: X L1
[X|L1] L3

L2

L3

[X|L3]

En PROLOG esta concatenacin se expresa: concatenar([],L,L). concatenar([X|L1],L2,[X|L3]):-concatenar(L1,L2,L3). Escriba el predicado en su BC y haga las siguientes preguntas: ?- concatenar([a,b,c],[d,e,f],L). PROLOG responde: L = [a,b,c,d,e,f] El predicado concatenas, puede responder cuntas alternativas existen para formar una lista dada: ?- concatenar(L1, L2, [es, la, paz]). Esta pregunta se interpreta como: Cules son las combinaciones posibles de las listas L1 y L2 para que la lista resultante sea [es, la, paz]? PROLOG responde: L1 = [] L2 = [es, la, paz] ; L1 = [es] L2 = [la, paz]; L1 = [es, la] L2 = [paz];

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
L1 = [es, la, paz] L2 = []; NO Este predicado tambin puede utilizarse para conocer una de las listas de que dieron lugar a la lista resultante: ?- concatenar([el, respeto, al, derecho, ajeno] , L2 , [el, respeto, al, derecho, ajeno, es, la, paz]). L2 = [es, la, paz] Adicin de un elemento Este predicado es muy sencillo y permite adicionar un elemento en la cabeza de la lista: adicionar(X,L,[X|L]). Se interpreta como: Si se adiciona X en una lista L, se obtiene X en la cabeza y L en la cola de la lista. Ejercicio 1 Escriba el predicado adicionar en su BC y haga la siguiente pregunta: ?- adicionar(keep, [the, faith], X). X = [keep, the, faith] Eliminar un elemento Eliminar un elemento de una lista se define como: Eliminar el elemento X de la lista L y se obtiene la lista L1 El predicado se define segn el algoritmo: 1. Si el elemento X es la cabeza de la lista L, entonces la lista resultante es la cola 2. Si X pertenece a la cola de la lista, entonces eliminar X de la cola En PROLOG sera: eliminar(X, [X|Cola],Cola). eliminar(X,[ Y |Cola],[ Y |Cola1]):-eliminar(X,Cola,Cola1).

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Cada alternativa de ejecucin del predicado elimina una sola ocurrencia de X en la lista L. Ejercicio 1 Escriba el predicado eliminar el su BC y realice las siguientes preguntas: a) b) Sublista Este predicado permite determinar si una lista es sublista de otra lista. ?- eliminar(c,[a,b,c],L). ?- eliminar(c,L,[1,2,3]).

S es sublista de L si: 1. L se puede descomponer en L1 y L2 2. L2 se pude descomponer en S y L3

L1

S
L2

L3

El predicado sera, utilizando el predicado concatenar: Sublista(S,L):-concatenar(L1,L2,L), concatenar(S,L3,L2). Ejercicio 1 El predicado concatenar puede utilizarse para encontrar todas las sublistas de una lista dada. ?- sublista(S,[a,b,c]). Ejercicios prcticos para el examen final a defenderse de forma individual 1. que:

Elabore un predicado para determinar el ltimo de una lista teniendo en cuanta X es el ltimo elemento de una lista que tiene a X como nico elemento

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

X es el ltimo elemento de una lista que tiene cabeza y cola si X es el ltimo de la cola Elabore el predicado miembro utilizando el predicado eliminar Elabore el predicado adicionar utilizando el predicado eliminar

2. 3. 4. 5. 6.

Elabore un predicado que permita dividir una lista en dos alternando sus elementos Elabore un predicado que permita clasificar nmeros en positivos cero o negativo (no se utiliza listas). Elabore un predicado que obtenga la suma de los elementos de una lista sabiendo que: 1. La suma S es cero si la lista est vaca 2. La suma de una lista con E1 en la cabeza y L en la cola es S si S1 es la suma de los elementos de la cola y S es S1 + E1

7. 1. 2.

Elabore un predicado que obtenga el factorial de un nmero sabiendo que: Factorial de cero es 1 F es factorial de N si N > 0, Na es N-1, factorial de Na es F1 y F es F1 * N

8.

Elabore un predicado que obtenga la cantidad de elementos de una lista sabiendo que: 1. 2. cantidad de elementos de una lista vaca es cero Cantidad de elementos de una lista que tiene cabeza y cola es cantidad de elementos de la cola +1 Elabore un predicado que obtenga el promedio de valores almacenados en una lista.

9.

10. Elabore un predicado que permita saber si una lista est ordenada ascendentemente sabiendo que: 1. una lista que tiene un solo elemento est ordenada 2. una lista con X,Y en la cabeza y C en la cola est ordenada si X<Y y est ordenada la lista con Y en la cabeza y C en la cola. 11. 12. Elabore un predicado que permita hallar la interseccin de dos conjuntos. Elabore un predicado que permita hallar la diferencia entre dos conjuntos.

13. Elabore una Base de Conocimiento que permita calificarlo a usted como persona. Utilice al menos cinco reglas de listas y utilice estructuras en alguna regla. En dicha base puede calificarse como estudiante segn sus notas y acumulado, como ser

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
humano segn su comportamiento, quines son sus amigos, qu hacen sus familiares, en qu orden de prioridades estn sus intereses personales, etc.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

III.

MODELOS DE REPRESENTACION DEL CONOCIMIENTO

Lgica Razonamiento deductivo Razonamiento inductivo Lgica proposicional Lgica de predicados Introduccin a la resolucin de problemas

Para introducir el conocimiento en la computadora se debe crear un modelo del conocimiento. Ese modelo, ser convertido en los smbolos necesarios para que quede completamente representado. La IA cuenta con un conjunto de modelos de representacin del conocimiento, que han sido utilizado por los desarrolladores de software inteligente para crear sus aplicaciones.

Lgica
Es la forma ms vieja del conocimiento. Formaliza el pensamiento intuitivo de la persona y estudia los procesos de razonamiento y los sistemas de reglas y procedimientos que intervienen en l. La lgica se considera como una subdivisin de la filosofa y tiene sus orgenes en la Grecia antigua. Cualquier razonamiento lgico (sistema lgico) se basa en el siguiente esquema: Esquema del razonamiento

Hay dos formas bsicas de razonamiento que son:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

Razonamiento Deductivo Razonamiento Inductivo

Ambos son utilizados para llegar a inferencias a partir de premisas.

RAZONAMIENTO DEDUCTIVO
Va de lo general a lo particular, se utilizan premisas generales para obtener inferencias (conclusiones) especficas. Tiene tres partes importantes que son: Premisa Mayor: Premisa Menor: Conclusin: Ej. Cuando Hay ftbol no hay clases. Ej. Maana hay ftbol. Ej. Maana no hay clases.

En el razonamiento deductivo la conclusin es Verdadera, Si y solo Si las premisas son verdaderas.

RAZONAMIENTO INDUCTIVO
Se utiliza un nmero determinado de hechos o premisas particulares para obtener una conclusin general, es decir, va de lo particular a lo general. Premisa 1: Ej. La falla en los diodos causa fallas en los equipos electrnicos. Premisa 2: Ej. La falla en transistores causa fallas en los equipos electrnicos. Premisa 3: Ej. La falla en los circuitos integrados causa fallas en los equipos electrnicos. Conclusin: Ej. La falla en los dispositivos semi-conductores es la causa fundamental en la falla de los equipos electrnicos. En el razonamiento Inductivo la conclusin no es absoluta porque puede cambiar si se adicionan nuevas premisas es decir, existe un grado de incertidumbre que depende del nmero de premisas utilizadas. Existen dos formas bsicas de llevar la lgica a la computacin que son:

1. Lgica Proposicional 2. Lgica de Predicados.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM LOGICA PROPOSICIONAL


La lgica proposicional se basa en el razonamiento a partir de proposiciones o sentencias que pueden ser verdaderas o falsas. A partir de la veracidad o falsedad de las proposiciones se pueden derivar nuevas proposiciones o inferencias y su veracidad o falsedad se determina a travs de las reglas. Para determinar si una proposicin es verdadera o false se utilizan las reglas. Premisa A: Hay clases de Lunes a Viernes. Premisa B: Hoy es Martes. Conclusin C: Hoy hay clases.

Estas son proposiciones simples, las proposiciones simples se combinan a travs de los operadores lgicos para formar proposiciones compuestas ( And, Or, Not, implica, equivalente, etc. ). Al igual que en el lgebra Booleana se utilizan las tcnicas de Anlisis, Diseo y Simplificacin de los circuitos lgicos. Los operadores lgicos son utiliados para modificar las proposiciones y derivar otras nuevas. Ejemplo: A = Est lloviendo NOT A = No est lloviendo Operaciones lgicas: NOT AND OR (implicacin) C es verdadera si A es falsa o B es verdadera La lgica proposicional tiene un uso limitado en la Inteligencia Artificial, debido a que las proposiciones son V o F y esto causa una representacin limitada del conocimiento.

LOGICA DE PREDICADOS
Se utiliza en los lenguajes de Inteligencia Artificial como por Ej. PROLOG.

En la lgica de predicados una proposicin o premisa se divide en dos partes:

El predicado.

Es el acierto.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Argumento del predicado. Son objetos o sustantivos. El predicado se identifica con el verbo de la proposicin o premisa. Ejemplo: 1. La computadora est en el laboratorio est es el predicado. Computadora, Laboratorio son los objetos 2. Juan ama a Mara ama es el predicado. Juan y Mara son los objetos. Las proposiciones anteriores se convierten predicados de PROLOG de la siguiente forma: esta(computadora, laboratorio) ama(juan, maria) VARIABLES EN LA LOGICA DE PREDICADOS En la proposicin ama (juan, mara) se puede utilizar ama (X, Y) y la proposicin es verdadera para cualquier nombre sustituido en las variables. Ejemplo: X = Juan Y = Mara Z = Ramn Ama (X, Y) and not ama (Z, Y) not ama (X, Z) Si Juan ama a Mara y Ramn no ama a Mara entonces Juan no ama a Ramn. CUANTIFICADORES UNIVERSALES Son smbolos que permiten establecer el rango o alcance de las variables en una expresin lgica. (x) [Es de Ambato (x) Es ecuatoriano (x) Para todo x si, x es de Ambato, implica que es ecuatoriano.

ING. HERNAN PATRICIO VARGAS NOLIVOS

(x) [fruta (x) and roja (x)]

UTM

Existe un ente x tal que si x es una fruta, es roja.

Los cuantificadores permiten determinar cundo una proposicin es verdadera, bajo determinadas condiciones. Las expresiones lgicas formadas por cuantificadores ( ,), variables (x, y), predicados y operadores se conoce como frmulas bien formadas (wff: Well Formed Formula ).

INTRODUCCIN A RESOLUCIN DE PROBLEMAS A TRAVS DE UN EJEMPLO


DILEMA: En la orilla de un ro se encuentran un campesino (c) con un ganso (g), un zorro (z), un saco de trigo (t) y se dispone de una barca para cruzar el ro. Sin embargo no puede quedar slo el ganso y zorro pues el segundo devora al primero, tampoco ganso y trigo por igual razn. La barca slo permite viaje de 2 elementos. SITUACIN INICIAL: Orilla Izquierda [C+g+z+t] Orilla derecha [ ]

Estudio Individual: Busque una forma de resolver el problema

Formas de representacin del conocimiento


Redes Semnticas

Solucin al problema del campesino, zorra, trigo, ganso

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Existen 24 arreglos posibles, de los cuales nicamente son 10 posibles vlidos. Como una explicacin del problema del Campesino, zorra, trigo y ganso se representa el esquema de arriba. Es una buena representacin debido a que las situaciones permitidas quedan claramente definidas y se eliminan los detalles irrelevantes. En este diagrama se puede representar por medio de nodos que contienen los elementos C, Z, G,T. Tambin se puede representar utilizando enlaces. Por cada par ordenado de nodos, existe un enlace para cada viaje permitido as: A travs de este ejemplo se manifiesta que la representacin de Nodos y Enlaces es una buena solucin al problema planteado.

CRITERIOS PARA EVALUAR UNA BUENA REPRESENTACION. 1. Los objetivos y restricciones importantes deben estar explcitamente. 2. Expresar la forma en que un objeto o relacin influye sobre otro objeto o relacin. 3. Agrupar los objetos y relaciones. 4. Eliminar los detalles irrelevantes. 5. Garantizar que se entienda lo que se quiere representar. 6. Todo cuanto se desee expresar debe formar parte de la representacin. 7. La representacin debe ser concisa. 8. El almacenamiento y recuperacin de la informacin deben ser rpidos. PARTES FUNDAMENTALES DE UNA REPRESENTACION.1. Lxico.- Son los smbolos permitidos en el vocabulario de la representacin. 2. Parte Estructural.- Son las restricciones sobre la forma en que puedan ordenarse los smbolos. 3. Parte Operativa.- Son los procedimientos de acceso, para crear descripciones, modificarlas y responder a preguntas.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
4. Parte Semntica.- Es la forma de asociar el significado de las descripciones. En el ejemplo anterior: Lxico: A travs del lxico se establece que hay nodos y enlaces Parte estructural: Los enlaces conectan a pares de nodos Parte semntica: Los nodos son los arreglos de Campesino, Zorra, Trigo y Ganso y los enlaces significan los cruces del ro. Parte operativa: No se especifica en la representacin porque los procedimientos de acceso estn en nuestro cerebro. Ejemplo de red semntica donde el objeto central es Pedro. En esta red, se observan, adems de los nodos y enlaces; las etiquetas de enlace, que establecen las relaciones entre los nodos.

CARACTERISTICAS GENERALES DE LAS REDES SEMANTICAS.1. Su lxico implica la existencia de nodos, enlaces y etiquetas de enlace. 2. Segn su estructura cada enlace conecta un nodo codo con un nodo cabeza. 3. Segn su Semntica los nodos y enlaces representan las entidades especficas. 4. Requieren constructores para construir un nodo y un enlace. 5. Requieren lectores para listar todos los enlaces que salen de un nodo. 6. Requieren lectores para listar todos los enlaces que llegan a un nodo.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
7. Dado un enlace debe producir un nodo cola. 8. Dado un enlace debe producir un nodo cabeza. 9. Dado un enlace debe producir una etiqueta de enlace. Una vez construda la red se le puede hacer preguntas. A travs de las redes semnticas se puede representar la herencia. Un nodo puede heredar las caractersticas de cualquier otro nodo. Ej. Pedro es de la raza humana?. S, porque ese nodo est conectado con el recorrido del nodo de la raza humana. La propiedad de las redes semnticas, como la herencia, posibilita hacer deducciones a partir de la informacin que ellas contienen. La cantidad de detalles que involucra una red semntica depende de si el problema es general o especfico (particular). Estudio Individual: Elabore una estructura para los nodos de una red semntica y elabore un algoritmo para crear enlaces entre los nodos de la red semntica. Disee algunas preguntas a su red que donde adems, se involucre la herencia.

MODELOS DE REPRESENTACION DEL CONOCIMIENTO


LISTAS ARBOLES MARCOS O FRAMES GUIONES O SCRIPTS

LISTAS Una lista es un conjunto de elementos relacionados. Las listas se usan generalmente en Inteligencia Artificial para representar conocimientos jerrquicos. Los objetos en la lista estn agrupados o categorizados de acuerdo a una relacin o rango. Tambin pueden crearse jerarquas de listas si se combinan convenientemente. Ej.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
ARBOLES.Un rbol es una estructura que expresa una jerarqua. Es una forma de ilustracin de listas o cualquier otra forma de conocimiento jerrquico. Ej.

FRAMES o MARCOS.Un frame es un bloque de conocimientos sobre un objeto particular, evento o situacin. El frame describe a los objetos con un alto nivel de detalle, conteniendo varios atributos o caractersticas del objeto o situacin. El frame se utiliza para representar el conocimiento basado en caractersticas y experiencias bien conocidas del objeto en cuestin. El proceso de razonamiento en los frames se basa en la bsqueda de la confirmacin de varias expectativas. En los frames es fcil hacer inferencias de nuevos objetos, eventos y situaciones, debido a que ellas proporcionan una base del conocimiento creada a partir de experiencias previas.

El conocimiento en un frame est organizado en Slots o ranuras que contienen caractersticas y atributos y pueden interpretarse como una representacin de categoras o subcategoras.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Muchos sistemas de Inteligencia Artificial se basan en una coleccin de frames enlazados convenientemente, como por ejemplo:

Cuando se utiliza una estructura jerrquica de FRAMES, un FRAME puede heredar las caractersticas o propiedades de otro FRAME. GUIONES o SCRIPT.Un SCRIPT es similar al FRAME pero en vez de describir un objeto o evento, describe una secuencia de eventos, el GUION es utilizado para un contexto particular. Para describir una secuencia de eventos el script usa una serie de tracks o pistas que contienen informacin sobre objetos y acciones involucradas en el evento. Los script contienen condiciones de entrada, apoyos, papeles, escenas. CONDICIONES DE ENTRADAS.Describe situaciones que deben ser satisfechas antes de que el evento ocurra. LOS APOYOS.Son objetos utilizados en la secuencia de eventos. PAPELES O ROLES.Se refiere a la funcin de determinado objeto en el guin. ESCENAS.Describe la secuencia real de eventos que ocurren. TRACK o PISTAS.Se refiere a variaciones que pueden ocurrir en un guin. Ej.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

PROBLEMAS QUE PUEDEN REPRESENTARSE CON LISTAS. Bsicamente todos aquellos problemas relacionados con registros de informacin que mantienen una secuencia u organizacin categrica. Se ha demostrado que como mtodo de prediccin barato y eficiente, es dable emplear las listas. PROBLEMAS QUE PUEDEN REPRESENTARSE CON ARBOLES. Manejo de datos o estructuras lgicas con niveles de dependencia y/o subordinacin. Por ejemplo para reescribir la estructura de una organizacin (empresarial, educativa, religiosa o militar). Es una extensin de las listas, se puede asumir que es un sistema de listas con jerarquas. Entre los casos reales en los que se ha aplicado rboles e Inteligencia artificial se encuentran:

Diseo de equipo de plataforma petrolera, en el que es paso importante el separar el gas del petrleo. Disear un controlador de vuelo

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
PROBLEMAS QUE PUEDEN REPRESENTARSE CON FRAMES o MARCOS. Estructura similar a la de una red semntica compleja. Tpicamente un frame describe una clase de objeto, y a travs de sus ranuras (slots) describe aspectos adicionales o de detalle del objeto. Frames que tienen relacin entre s, pueden ser reunidos o agrupados y formar un Sistema de Frames. En el reconocimiento de objetos, en su descripcin, en necesario tener algunas vistas del mismo, a fin de poder determinar de manera racionalizada cual es la estructura real del objeto, cada vista se considerar un frame; se requiere en consecuencia un sistema de frames:

Cada vista representa un frame. PROBLEMAS QUE PUEDEN REPRESENTARSE CON GUIONES o SCRIPTS. Un guin es una estructura que describe una secuencia estereotipada de eventos en un contexto particular. Podemos asumir que un script es un conjunto de ranuras o slots. Su utilidad bsica est dada en las aplicaciones de prediccin razonada, para determinar qu evento ocurrir luego de darse determinadas condiciones de operacin. Por ejemplo, si Usted tiene dinero, tiene sed, est cerca a un bar, tiene tiempo disponible, dinero... se puede predecir que si entra al bar, luego de refrescarse saldr con ms nimos y menos dinero. En consecuencia si se puede representa un problema de prediccin con guiones, es dable entender que tambin se puede describir con esta herramienta una estrategia; lo que se considerara otro tipo de problemas a resolver. De manera similar podemos emplear los scripts para representar situaciones relacionadas con la descripcin de acciones a realizarse en una estructura organizacional, sea o no sea estructurada jerrquicamente. Estudio Individual: Definir problemas que puedan representarse mediante listas, rboles, frames y guiones.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

IV. REGLAS DE PRODUCCION


Introduccin a las reglas de produccin Sistemas de deduccin Encadenamiento progresivo Encadenamiento regresivo

INTRODUCCIN
Una de las formas ms populares que hay de representacin del conocimiento son las reglas de produccin. Los sistemas de resolucin de problemas basados en reglas constan de las siguientes partes:
Antecedente Premisa Situacin Consecuente Conclusin Accin Sistemas de Deduccin Sistemas de Reaccin

DESARROLLO Las reglas utilizadas tanto en los sistemas de deduccin como de reaccin se interpretan como SI ENTONCES Ejemplo: IF <antecedente> THEN <consecuente>

Las reglas de produccin son una de las formas ms flexibles de representacin del conocimiento debido a que son fciles de crear y entender y su formato es compatible con la forma en que nuestro cerebro almacena y procesa el conocimiento. La forma general de expresar los sistemas de produccin basadas en reglas de produccin es la siguiente: Rn Si Si1 Si2 . . Sin entonces entonces 1 entonces 2

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
. . entonces m Una declaracin de que algo es verdadero se llama afirmacin Ejemplo: Los estudiantes estudian Sistemas en la UTM Los hechos y afirmaciones son sutilmente diferentes. 1. Un hecho es algo que se sabe verdadero o falso. Cuando se utiliza un hecho se sabe su veracidad. 2. Una afirmacin es una declaracin de que algo es un hecho. El conjunto de afirmaciones se conoce como memoria de trabajo, y est formada por afirmaciones.

SISTEMA DE DEDUCCIN
Las reglas forman una base del conocimiento que se puede convertir en un sistema de deduccin. Un sistema de deduccin consiste en una base del conocimiento, una memoria de trabajo (afirmaciones) y un mecanismo de inferencia, que contiene nuevas afirmaciones y nuevas conclusiones. En los sistemas de deduccin y reaccin se utiliza el encadenamiento progresivo que es el proceso de moverse de los patrones SI a los patrones ENTONCES utilizando los patrones SI para identificar situaciones que permitan deducir una nueva conclusin o la realizacin de una accin.

ENCADENAMIENTO PROGRESIVO
1. Si un patrn SI concuerda con una afirmacin en la memoria de trabajo se dice que el antecedente SI se satisface. 2. Cuando se satisfacen todos los patrones SI de una regla se dice que la regla se ha accionado. 3. Cuando una regla accionada establece una nueva afirmacin o realiza una accin, se dice que la regla est disparada. En los sistemas de deduccin generalmente todas las reglas accionadas se disparan.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
En los sistemas de reaccin, cuando se acciona ms de una regla debe existir un mecanismo de resolucin de conflictos para definir cul regla de dispara. SISTEMA DE DEDUCCIN PARA IDENTIFICAR ANIMALES TALES COMO: Tigre, onza, cebra, jirafa, pingino, avestruz. R1 Si entonces ... R8 Si x x entonces ... R11 Si x x x x x entonces Memoria de Trabajo Se cuenta con la siguiente memoria de trabajo: Animal Animal Animal Animal Animal Animal Tiene pelo rumia tiene patas largas tiene cuello largo es de color leonado tiene manchas obscuras x es un ungulado tiene patas largas tiene cuello largo es de color leonado tiene manchas oscuras es una jirafa x es mamfero rumia es un ungulado x x Tiene pelo es mamfero

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Grfico

ALGORITMO PARA ENCADENAMIENTO PROGRESIVO 1. Repetir 1.1 Para cada Regla 1.1.1. Comprobar cada antecedente mediante pariamiento con afirmaciones. 1.1.2. Si se corroboran todos los antecedentes, hacer valer el consecuente. 1.1.3. Repetir el procedimiento para todos los pariamientos y alternativas de substitucin. Hasta que ninguna regla produzca una nueva afirmacin

ENCADENAMIENTO REGRESIVO
En un sistema basado en reglas se puede formar una hiptesis y usar las reglas de antecedente consecuente para ir hacia atrs en direccin a las afirmaciones que hacen verdadera la hiptesis. Ejemplo: Hiptesis : R1 Si entonces ... Animal es una Onza. x x tiene pelo es un mamfero

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
R5 si x x entonces x es un mamfero come carne es carnvoro

R6

si

x x x x

es un mamfero tiene dientes agudos tiene garras tiene ojos que miran hacia adelante es carnvoro

entonces ... R9 si

x x x

es carnvoro es de color leonado tiene manchas obscuras es una Onza.

entonces Grfico

ALGORITMO PARA ENCADENAMIENTO REGRESIVO 1. Repetir 1. 1 Repetir

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
1.1.1. Para cada regla cuyo consecuente coincida con la hiptesis. 1.1.1.1. Comprobar cada antecedente mediante el pareamiento con afirmaciones mediante encadenamiento regresivo a travs de otra regla creando nuevas hiptesis. Verificar todas las alternativas de pareamiento o substitucin. Si todos los antecedentes de las reglas son comprobados, la regla es verdadera.

1.1.1.2. 1.1.1.3.

Hasta la ltima hiptesis Hasta que se hayan intentado todas las hiptesis y ninguna se haya podido comprobar. COMO DETERMINAR ENCADENAMIENTO PROGRESIVO O REGRESIVO 1. Si el nmero de formas de llegar a la conclusin es grande pero el nmero de conclusiones que tiene probabilidades de obtener es pequeo, se utiliza el encadenamiento progresivo. 2. Si desea conocer si una de las muchas conclusiones es verdadera se usa el encadenamiento regresivo. 3. Si se cuenta con todos los hechos que se pueden obtener y se desea todo lo que se concluye de tales hechos se utiliza el encadenamiento progresivo. Estudio Individual: Disee una memoria de trabajo y un conjunto de reglas y utilice encadenamientos progresivo o regresivo para obtener conclusiones o confirmar una hiptesis. Elabore el programa correspondiente.

SISTEMAS DE REACCION
En los sistemas de reaccin la parte SI especifica las condiciones que se debe satisfacer mientras que la parte ENTONCES significa una accin a realizar. La accin puede ser: 1. Agregar una nueva afirmacin. 2. Eliminar una afirmacin existente 3. Ejecutar algn procedimiento. Sistema para empacar comestibles en una tienda.- Se utiliza un sistema de reaccin basado en reglas que decide dnde debe ir cada producto. Los pasos a seguir son los siguientes:

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
1. Verificar la Orden: Analizar lo seleccionado por el cliente y verificar si se puede sugerir algn producto. 2. Empacar productos Grandes: Se colocan primero las botellas. 3. Empacar productos Medianos: Ubicar los productos congelados en bolsas especiales. 4. Empacar productos Pequeos En el sistema se necesita de una memoria de funcionamiento que contiene las afirmaciones sobre los productos que se van a empacar. MEMORIA DE FUNCIONAMIENTO Producto Pan Yogur Cereal Helado Papas Fritas Pepsi Tipo de Empaque Bolsa Plstica Vaso Caja de Cartn Envase de Cartn Bolsa Plstica Botella Tamao Medio Pequeo Grande Medio Medio Grande Congelados? No No No Si No No

Para conocer el estado actual del sistema se cuenta con las siguientes afirmaciones: 1. Paso: Verificar la orden 2. Bolsa1: Bolsa en uso 3. Pan se va a empacar 4. Yogurt se va a empacar 5. Cereal se va a empacar 6. Helado se va a empacar 7. Papar fritas se va a empacar El sistema cuenta con una base de reglas donde cada regla comprueba el nombre del paso. R1 Si el Paso es verificar orden. papas fritas se va ha empacar No se va ha empacar pepsi

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Entonces Preguntar a cliente si desea botella Pepsi R2 si Entonces el paso no es verificar orden el paso es empacar productos grandes.

Paso es verificar orden.

La primera accin de la parte entonces, implica eliminar una afirmacin de la memoria de funcionamiento, de esta forma R2 puede escribirse tambin como: R2 si eliminar aadir el paso es verificar la orden el paso es verificar orden el paso es empacar productos grandes.

A este mtodo de resolucin de conflicto para determinar qu regla se dispara, se conoce como ordenamiento de reglas que consiste en: 1. Las reglas estn ordenadas en una lista. 2. La primera regla que se acciona es la que se dispara. R3 si el paso es empacar productos grandes el producto es una botella la bolsa tiene menos de 6 productos grandes. eliminar aadir se va ha empacar un producto grande el producto grande est en la bolsa de turno.

R4

si

el paso es empacar productos grandes la bolsa tiene menos de 6 productos grandes

eliminar aadir

se va ha empacar un producto grande el producto grande est en la bolsa de turno

En la regla R3 la tercera situacin implica conteo, y esa es una puerta para el uso de los lenguajes de propsito general. R3 est antes que R4 para garantizar que las botellas se empaquen primero por ser ms pesadas

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

Solo se aaden productos grandes cuando la bolsa tiene menos de 6 productos, de lo contrario se utiliza la regla 5 (R5) R5 si el paso es empacar productos grandes est disponible bolsa vaca eliminar aadir la Bolsa en turno, es la bolsa en turno la bolsa vaca, es la bolsa en turno

R6

si eliminar aadir

el paso es empacar productos grandes el paso es empacar productos grandes el paso es empacar productos medianos.

SIMULACION DEL RESULTADO

1.

Verificacin de la Orden.-

Como contiene papas fritas y no contiene pepsi se dispara R1 sugiriendo llevar una botella de pepsi. 2. 3. 4. Si el cliente acepta, se dispara R2 que implica cambiar de paso para empacar productos grandes. Se dispara R3 para poner el producto grande (pepsi) en la bolsa en turno. Al empacar pepsi, el nico producto grande que queda es la caja de cereal, disparndose R4 La memoria de funcionamiento quedara de la siguiente manera: 1. 2. 3. El paso es empacar los productos medianos. La bolsa 1 contiene pepsi y cereal. El pan, yogur, helado, papas fritas se van ha empacar en la bolsa 2

Los sistemas de deduccin con encadenamiento pregresivo, no necesitan estrategias de resolucin de conflictos debido a que es lgico que se disparen todas las reglas accionadas, pero en los sistemas de reaccin, cuando ms de una regla est accionada, se requiere de una estrategia para la resolucin de conflictos que decida qu regla se debe disparar. ESTRATEGIAS DE RESOLUCION DE CONFLICTOS EN LOS SISTEMAS DE REACCION.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
1. 2. 3. Ordenamiento de reglas: Ordenar las reglas en una lista de prioridades y usar la regla accionada de mayor prioridad. Lmite de Contexto: Separar las reglas en grupo de los cuales slo algunos se encuentran activos en cualquier momento. Ordenamiento por Especificidad: Siempre que las condiciones de una regla accionada sean un subconjunto de otra regla accionada usar la regla del subconjunto porque contiene situaciones ms especficas. Ordenamiento de los Datos: Ordenar las afirmaciones en una lista de prioridades. Usar la regla accionada cuya condicin coincide con la afirmacin de mayor prioridad. Ordenamiento por Tamao: Usar la regla accionada con la lista de condiciones ms larga. Ordenamiento por novedad: Utilice la regla menos recientemente usada.

4.

5. 6.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

V.

REPRESENTACION DE LA INCERTIDUMBRE

Los sistemas de representacin del conocimiento estudiados se basan en hechos o premisas que son verdaderos o falsos. En los problemas del mundo real, existe una buena dosis de incertidumbre, en muchos casos no es posible decidir si un hecho, premisa o conclusin es 100% verdadero o falso. Para trabajar con ambigedades o incertidumbres se usan diferentes tcnicas como la Probabilidad y la Estadstica. Un mtodo de trabajo con incertidumbre es el uso de la probabilidad y la estadstica convencional. Ejemplo: Dada una cantidad suficiente de datos, se halla el promedio, desviacin estndar, media, desviacin tpica etc., estos indicadores derivados de los datos originales aportan conocimiento adicional para ayudar a la toma de decisiones. La probabilidad estndar no es ms que la razn del nmero de veces que una accin particular puede ocurrir para un nmero de intentos dado. En muchos casos de representacin del conocimiento la probabilidad para cada condicin o accin puede ser conocida o estimada. Ejemplo: Si entonces el cielo est nublado va ha llover ( P = 60% )

FACTOR DE CERTIDUMBRE
Es un nmero que indica qu tan cierto o falso es algo. En los sistemas expertos el factor de certidumbre se utiliza para tomar decisiones en situaciones de incertidumbre. Un factor de certidumbre (FC) es un nmero que indica cmo decidir si un hecho particular es verdadero o falso. Basndose en experiencias o evidencias disponibles se escoge un factor de certidumbre que indica qu se entiende como un nivel de veracidad. Un rango tpico de F.C. es de -1 a 1, donde -1 indica la certidumbre (informacin), de que el hecho es falso, 1 indica la certidumbre (informacin) de que el hecho es verdadero y 0 indica que la certidumbre (informacin) es desconocida (incertidumbre). Ejemplo: FC

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Si el paciente tiene erupcin en el abdomen paciente tiene fiebre entonces paciente tiene Sarampin (FC = 0,3 %)

Consulta Individual: Qu diferencia existe entre el uso de la probabilidad y el factor de certidumbre.

DIFERENCIAS ENTRE PROBABILIDAD Y FACTOR DE CERTIDUMBRE.


PROBABILIDAD.Si todos los sucesos o resultados son posibles o equiprobables, se afirma que la probabilidad de un acontecimiento es la relacin (razn) de nmero de casos favorables dividido para el nmero de casos posibles. La probabilidad de un evento (que suceda o resulte) es la proporcin de veces que el evento sucedera en una serie prolongada de experimentos repetidos. Histricamente en situaciones de incertidumbre es necesario tener una gua de comportamiento, para este efecto se desarrollo las definiciones de posible o probable. Con singular aplicacin en los juegos de azar. Ejemplo: En un paquete convencional de naipes o barajas, queremos saber que probabilidad tiene de obtener un AS

Nmero total de cartas Nmero total de Ases Probabilidad (AS) =

52 4

4 / 52 = 0.0769231 7.69 %

Que en trminos porcentuales se lee:

Podemos esperar que en 100 extracciones de cartas, con reposicin, obtendremos en 7 u 8 ocasiones el AS. Otra interpretacin sera que de la extraccin de una carta en 100 juegos de naipe, obtendremos 7 u 8 Ases.

Cuando los sucesos son independientes debe recordarse que el azar no tiene memoria. Asimismo, en muchos sistemas la resolucin de problemas tiene un objetivo que consiste en reunir evidencias sobre la evolucin del sistema y modificar su comportamiento sobre esta base.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
La modelacin estadstica de este comportamiento constituye el teorema de Bayes, con su concepto de probabilidad condicionada: P(H/E) Dado: P(Hi/E): probabilidad de que la hiptesis Hi sea cierta dada la evidencia E P(E/Hi): probabilidad de que se observe evidencia E dada la hiptesis Hi como verdadera P(Hi): probabilidad a priori de que la hiptesis y sea cierta, independiente de cualquier evidencia, se conoce como probabilidades previas o a priori k: nmero total de posibles hiptesis P(Hi / E) = { P(E/Hi).P(Hi) } / {

n =1

( P(E/Hn).P(Hn))}

La probabilidad de la hiptesis (H) dado que se observa la evidencia (E). Las estadsticas Bayesianas se consideran una base importante para sistemas que razonan bajo incertidumbre. Por ejemplo se tiene inters en examinar las evidencias geolgicas de un sitio, para determinar la bondad o no de realizar una excavacin y obtener un determinado mineral. Si se conocen las probabilidades previas de aparicin de cada uno de los minerales y tambin se conocen las probabilidades de que si un mineral aparece, entonces se observen determinadas caractersticas fsicas. Entonces, es dable emplear el teorema de Bayes para calcular a partir de las evidencias que se renan, las probabilidades de que aparescan los diversos minerales. Lo que se aplica en el programa PROSPECTOR, empleado en la localizacin de depsitos minerales que incluyen cobre y uranio.

Sin embargo, dado que la complejidad de las situaciones reales es amplia, el tamao del conjunto de probabilidades combinadas que se necesitan para calcular la funcin de Bayes crece como una funcin de la forma 2n Lo que torna inaplicable el teorema de Bayes (tiempo grande de clculo, espacio de probabilidades numerosa, problema de adquisicin del conocimiento inabarcable) CERTIDUMBRE.Definida tambin como certeza o conocimiento claro y seguro de alguna cosa. Conviccin subjetiva de la verdad de una proposicin basada en que la causa de la misma excluye toda otra probabilidad. Cuando uno conoce precisamente lo que ha ocurrido y lo que ocurrir. Por lo general la certidumbre est signada por una memoria, por ejemplo si conocemos que un dado tiene sesgo hacia el lado del nmero 4, al realizar lanzamientos del mismo diremos con seguridad que el nmero a obtenerse ser el 6.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
INCERTIDUMBRE Duda, desconocimiento FACTOR DE CERTEZA y SISTEMAS BASADOS EN REGLAS.La aplicacin del teorema de Bayes en sentido estricto o puro no es prctica, por lo que se han desarrollado mecanismos que combinan los principios generales de Bayes pero agregndoles variantes que complementen la correspondencia entre varias causas conocidas y la posibilidad de determinar la afirmacin de una hiptesis. Este enfoque surgi con el desarrollo del sistema MYCIN, el cual trata de recomendar terapias adecuadas para infecciones bacterianas. El sistema interacta con el mdico en la adquisicin de los datos clnicos necesarios. El sistema se basa en el uso de razonamiento probabilstico, en MYCIN la mayor parte del conocimiento sobre diagnstico se da en forma de un conjunto de reglas; donde a cada regla se le asocia un FACTOR DE CERTEZA, que representa una medida sobre la evidencia que existe de que la conclusin sea el consecuente de la regla, en el caso de que se describa el antecedente de la misma. Una regla de MYCIN tpica se parece a: SI. (1) la cepa del microorganismo es gram positivo, y (2) la morfologa del organismo es coco, y (3) los organismos crecen en forma arracimada, entonces hay buena probabilidad (0.7) de que el organismo sea un staphilococcus El factor de certeza, CF/h,ese define con dos componentes:

MB(h, e). Una medida (entre 0 y 1) de la creencia de que la hiptesis h proporciona la evidencia e. MB da una medida sobre hasta que punto la evidencia soporta la hiptesis. Es cero (0) si la evidencia no soporta la hiptesis.

MD(h, e). Una medida (entre 0 y 1) de la incredulidad de que la hiptesis h proporciona la evidencia e. MD da una medida sobre hasta que punto la evidencia soporta la negacin de la hiptesis. Es cero (0) si la evidencia soporta la hiptesis. A partir de estas se define el factor de certeza como: CF(h, e) = MB(h, e) - MD(h, e)

En cada regla basta un nico nmero para definir tanto el valor de MB como el de MD, y por lo tanto de CF, ya que cada regla se corresponde con una parte de la evidencia, y cada parte de la evidencia o bien soporta o bien niega una hiptesis pero nunca ambas cosas. Los factores de certeza de las reglas les proporcionan los expertos que las escriben.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
DIFERENCIAS.El factor de certidumbre tiende a eliminar la casustica, para llegar a definiciones crebles La probabilidad es factible de modelar y de sustentar para futuras situaciones. Bajo determinadas circunstancias podemos acercarnos a niveles de certidumbre, basados en la experiencia acumulada en condiciones estandarizadas. Al tener modelos probabilsticos, es factible extender las estimaciones de estos modelos a diversos problemas vinculados con el mundo real. La determinacin de los pesos o ponderaciones a asignar a cada regla cumplida en el Factor de Certidumbre tiende a ser errneo bajo determinadas condiciones, una combinacin adecuada de las reglas debe prever errores de secuencia.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

VI. RESOLUCION DE PROBLEMAS


Espacios de estados

GENERALIDADES
Para elaborar un sistema que resuelva un problema es necesario realizar las siguientes acciones. 1. Definir el Problema con presicin incluyendo especificaciones sobre las condiciones iniciales y las situaciones finales que son aceptadas como soluciones del problema. 2. Analizar el problema tomando el cuenta las caractersticas que influyen sobre la conveniencia o no de utilizar las diversas tcnicas de resolucin de problemas. 3. Elegir y aplicar la tcnica ms conveniente para resolver el problema. Ejemplo N 1: Problema del juego del Ajedrez. Para construir un programa para jugar ajedrez se debe: 1. Especificar la posicin inicial en el tablero. 2. Especificar las reglas que definen los movimientos legales y las posiciones en el tablero que representan una victoria, tanto para negras como para blancas. 3. Hacer explcitos los objetivos de hacer movimientos legales y ganar la partida.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
DESCRIPCION DEL PROBLEMA Para describir este problema se utiliza una matriz de 8 por 8, donde cada posicin contiene un smbolo que representa una pieza, es la posicin inicial en una partida de ajedrez. OBJETIVO DEL PROBLEMA Se define como cualquier posicin en el tablero, en la que el contrario no puede realizar ningn movimiento legal y el Rey que se encuentra amenazado. Los movimientos legales se definen como un conjunto de reglas compuestas por 2 partes. La parte izquierda se utiliza como patrn para contraponerlo a la situacin actual. La parte derecha describe el cambio que se debe producir para realizar el movimiento.

Al utilizar reglas de ste tipo es necesario escribir un nmero muy grande de ellas, debido a que existen 10120 posibles posiciones en el tablero. Esto tiene 3 dificultades prcticas: 1. No existe una persona que pueda suministrar el conjunto completo de reglas. 2. Hay una alta probabilidad de aparicin de errores. 3. Es muy difcil para un programador manipular todas estas reglas (datos). Esto quiere decir que las reglas deben ser expresadas de una forma ms general, entonces: Pen blanco

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
casilla (e, 2) y casilla (e, 3) vaca y casilla (e, 4) vaca Este problema ha sido definido como un problema de movimientos ha travs de un espacio de estados ESPACIOS DE ESTADOS Es el conjunto de estados posibles en un programa. La representacin como espacios de estados es la base de la mayora de los problemas de Inteligencia Artificial. CARACTERISTICAS 1. Permite la definicin formal del problema debido a que crea la necesidad de obtener alguna situacin deseada buscando un conjunto de operaciones permitidas. Permite definir la resolucin de un problema como una combinacin de reglas que definen el movimiento en el espacio. Intenta encontrar una ruta desde el estado actual hasta el estado objetivo. de casilla ( e,2 ) a casilla ( e,4 ) mover pen blanco

2. 3.

EJEMPLO N 2 JARRAS DE AGUA Se tienen 2 Jarras de Agua, una con capacidad de 4 litros y la otra con capacidad de 3 litros, ninguna tiene marca de medicin, se tiene una bomba que permite llenar las jarras de agua y se puede verter al piso el contenido de las jarras. OBJETIVO.Lograr tener exactamente 2 litros de agua en la jarra de 4 litros. Para este problema el espacio de estado se puede representar como un par ordenado (x, y), donde x es el nmero de litros en la jarra de 4 y en el nmero de litros en la jarra de 3. x = 0,1,2,3,4 El estado inicial E.I (0, 0) y = 0,1,2,3

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
El estado final (Objetivo) E.O (2, n) REGLAS.1. 2. 3. 4. 5. 6. 7. 8. 9. Si x < 4 Si y < 3 Si x > 0 Si y > 0 Si x>0 entonces(4, y) entonces(x, 3) entonces(x - d, y) entonces(x, y - d) entonces(0, y) entonces(x, 0) Llenar la jarra de 4 litros. Llenar la jarra de 3 litros. Vaciar un poco la jarra de 4 litros. Vaciar un poco la jarra de 3 litros. Vace la jarra de 4 litros al piso. Vace la jarra de 3 litros al piso.

Si y > 0

Si x + y > 4 y>0 entonces (4,( y + x - 4 )) Verter el agua de la jarra de 3 litros a la de 4 litros, hasta que la jarra de 4 litros se llene. Si x + y > 3 x > 0 entonces ((x + y -3), 3) que la jarra de 3 litros se llene. Si x + y < 4 litros. y>0 x>0 entonces (x + y, 0) entonces (o, x + y) Verter el agua de la jarra de 4 litros a la de 3 litros, hasta Vierta toda el agua de la jarra de 3 litros a la jarra de 4 Vierta toda el agua de la jarra de 4 litros a la jarra de 3

10. Si x + y < 3 litros. 11. Si (0, 2)

entonces(2, 0)

Vierta 2 litros de la jarra de 3 litros a la jarra de 4 litros

12. Si (x, 2) entonces (0, 2) Vierta al piso el contenido de la jarra de 4 litros.

Una secuencia de operaciones para resolver este problema podra ser:


Jarra de 4 Litros 0 0 3 3 4 0 2 Jarra de 3 Litros 0 3 0 3 2 2 0 2 8 2 7 5 12 9 11 Regla Aplicada

ESTRETEGIAS DE CONTROL
REQUISITOS DE UNA BUENA ESTRATEGIA DE CONTROL 1. Debe causar algn cambio o de lo contrario nunca se alcanza la solucin.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
2. Debe ser sistemtico o de lo contrario se corre el riesgo de aplicar secuencias de operacin no apropiadas varias veces. Una estrategia de control sistemtico para el problema anterior podra ser: Construir un rbol, cuyas races se generan al aplicar, cada una de las reglas aplicables al estado inicial.

Para cada nodo generar todas las posibles soluciones resultantes, de la aplicacin de todas las reglas adecuadas

Este proceso se contina hasta que una reglas produce un estado objetivo, esto es lo que se conoce como Bsqueda Primero en Anchura. BUSQUEDA PRIMERO EN ANCHURA Se examinan todos los nodos comenzando por el nodo raz, los nodos en cada nivel son examinados completamente antes de moverse al nivel ms prximo, de sta forma se asegura que siempre se encuentre la ruta ms corta entre el Estado Inicial y el Estado Objetivo. ALGORITMO
1. 2. Crear una variable lista y asignarle el Estado Inicial. Hasta que encuentre el Estado Objetivo, o Lista est vaca hacer: 2.1. Eliminar el primer elemento E de la lista. 2.2. Si lista vaca, Terminar.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
2.3. Para cada regla que empareje con el estado E hacer: 2.3.1. Aplicar la regla para generar un nuevo estado. 2.3.2. Si el nuevo estado, es un Estado Objetivo, devolver el estado y terminar, si no, aadir el nuevo estado al final de la lista.

BUSQUEDA PRIMERO EN PROFUNDIDAD Consiste en continuar por una sola rama del rbol hasta que se encuentre una solucin o hasta que se decida terminar la bsqueda en esa direccin. Terminar la bsqueda en una sola direccin tiene sentido cuando: 1. Se llega a un callejn sin salida. 2. Se produce un estado ya alcanzado. 3. La ruta se alarga ms de lo especificado por algn lmite. Si se cumple una de estas tres condiciones, se produce una vuelta atrs o BACK TRACKING. Se vuelve a considerar el estado ms recientemente creado desde el cual sea posible algn movimiento alternativo ms y se crea un nuevo estado. ALGORITMO
1. 2. Si el Estado Inicial es el Estado Objetivo devolver xito y terminar, sino: Hasta que se marque xito o fracaso hacer: 2.1. Generar un sucesor E del estado inicial, sino hay ms sucesores generar fracaso. 2.2. Llamar a bsqueda primero en profundidad con E, como estado inicial. 2.3. Si devuelve xito marcar.

Si aplicamos este algoritmo al ejemplo de las jarras

COMPARACION ENTRE BUSQUEDA PRIMERO EN ANCHURA Y BUSQUEDA PRIMERO EN PROFUNDIDAD VENTAJAS DE LA BUSQUEDA PRIMERO EN PROFUNDIDAD.1. Necesita menos memoria ya que solo almacena los nodos del camino que se est procesando. 2. Tiene posibilidades de encontrar la solucin sin tener que examinar gran parte del espacio de estado.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
VENTAJAS DE LA BUSQUEDA PRIMERO EN ANCHURA.1. Nunca queda atrapado en un callejn sin salida. 2. Garantiza que se logre encontrar una solucin, si existe.

BUSQUEDA HEURISTICA.En el ejemplo de las jarras de agua las estrategias de control que causan movimiento y sean sistemticas, son una buena solucin para lograr el objetivo final, sin embargo, existen problemas donde esto no ocurre y es precisamente el problema del agente viajero. Un vendedor tiene una lista de N ciudades, cada una de las cuales debe ser visitada exactamente 1 vez, existen para esto carreteras directas entre cada pareja de ciudades de la lista.

OBJETIVO.Encontrar la ruta ms corta que debe seguir el vendedor, donde debe empezar y terminar en alguna de estas ciudades. Se poda pensar en resolver el problema con una sencilla estructura de control que causa movimientos y sea sistemtico explorando todas las rutas posibles en un rbol y devolver la de menor longitud. Esta estrategia podra funcionar para una pequea lista de ciudades, pero se debilitar dramticamente con el aumento del nmero de ciudades. El tiempo total empleado para completar la bsqueda es proporcional a N factorial. A este fenmeno se le llama Explosin Combinatoria y se necesitan otras estrategias de Control. Para resolver con eficiencia algunos problemas complicados, a veces es necesario construir estructuras de control que no garanticen una respuesta ptima pero que casi siempre encuentran una buena solucin. As surge la Heurstica que proviene del griego Eureka que significa Descubrir. La Heurstica es una tcnica que aumenta la eficiencia de un proceso de bsqueda sacrificando demandas de completitud debido a que puede ocurrir que una buena

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
solucin puede ser obviada. Existen Heursticas de propsito general que son aplicables a una amplia variedad de dominios y existen Heursticas de propsito especial que aprovechan el conocimiento especfico para resolver algn problema particular. EURISTICA DE PROPOSITO GENERAL.Es la conocida como el vecino ms cercano , y consiste en seleccionar en cada paso, la alternativa localmente superior. Al aplicar esta Heurstica el problema del agente viajero se deriva al siguiente algoritmo: 1. Seleccionar arbitrariamente una ciudad de comienzo. 2. Repetir hasta que todas las ciudades hayan sido visitadas. 2.1. Seleccionar como siguiente ciudad entre las que no han sido visitadas, la que sea ms cercana. 2.2. Visitar la ciudad seleccionada. El tiempo empleado para lograr la solucin es proporcional a N al cuadrado (T N2) EURISTICA DE PROPOSITO ESPECIAL.Permiten descubrir ideas interesantes en alguna rea en particular Ej: Sea la funcin f (x, y), que ocurre si los argumentos son idnticos x = y. En el campo de las matemticas sta heurstica lleva el descubrimiento de elevar al cuadrado en caso de que la funcin f sea multiplicacin. En un dominio no formal, lleva a la nocin del suicidio en caso de que la funcin sea matar. El propsito de una funcin heurstica es guiar el proceso de bsqueda en la direccin ms provechosa sugiriendo que camino debe seguir cuando hay ms de uno disponible. RAZONES PARA EL USO DE LA EURISTICA EN LAS ESTRATEGIAS DE CONTROL PARA LA RESOLUCION DE PROBLEMAS. 1. 2. 3. Para evitar la explosin combinatoria. Porque frecuentemente no se necesita una solucin ptima. Porque entender comprendes porque funciona o no una heurstica sirve para profundizar en la comprensin del problema.

FORMAS DE INCORPORAR EL CONOCIMIENTO HEURISTICO EN UN PROCESO DE BUSQUEDA BASADO EN REGLAS

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
1. En la propia regla Ej. En el juego del ajedrez no solo describir el conjunto de movimientos legales sino tambin un conjunto de movimientos sensatos determinados por el programador de las reglas. 2. Como funcin heurstica, que evale los estados individuales del problema y determina su grado de deseabilidad. FUNCION HEURISTICA.Es una correspondencia entre las descripciones del estado del problema y alguna medida de deseabilidad. Est representada por nmero. Los aspectos del problema que se consideran como se evalan estos aspectos y los pesos qu se les otorga individualmente se eligen de forma que el valor que la funcin Heurstica da a un nodo en el proceso de bsqueda sea una estimacin tan buena como sea posible para determinar si el nodo pertenece o no a la ruta que conduce a la solucin. Problema Ajedrez Agente Viajero Funcin Heurstica Ventaja de piezas sobre el oponente. Suma de las distancias recorridas.

Un valor alto en el problema del ajedrez indica una buena posicin relativa y un bajo valor en el problema del agente viajero indica una situacin ventajosa. El problema que se utiliza en la funcin Heurstica debe minimizar o maximizar segn sea el caso.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

VII. INTRODUCCION A LOS SISTEMAS EXPERTOS


Un sistema experto (S.E.) es un programa inteligente que contiene una base de conocimiento (B.C.) y una mquina de inferencia (M.I.), tiene como objetivo duplicar a un experto humano en determinado campo o materia, adems contiene el conocimiento de uno o ms expertos, garantizando que este conocimiento est disponible an cuando el humano no lo est. Los sistemas expertos contienen conocimientos heursticos.

DESARROLLO HISTORICO DE LOS SISTEMAS EXPERTOS.

En 1965 1970 se desarrolla el sistema DENDRAL para determinar la estructura molecular y densidad.... En 1966 1971 se desarrolla el proyecto MACSYMA, un sistema matemtico, para realizar clculos integrales, diferenciales, etc. En 1967 1969 se realiza el Congreso Internacional de divulgacin de las posibilidades y aplicaciones con Bases de Datos. En 1976 - 1978 se desarrolla el proyecto PROSPECTOR para determinar la existencia de yacimientos minerales a partir de la descripcin geolgica y geomtrica, con este proyecto se descubri un yacimiento de Molibdeno de ms de $ 100000.000 En 1977 se realiza el Congreso Mundial de Inteligencia Artificial, en donde se expone el concepto de Sistemas Expertos, concepto de Feigenbaum, el mismo que dice que es un sistema de base de conocimiento que pretende imitar el comportamiento de los expertos humanos en un dominio restringido. En 1977 1981 se desarrollan los proyectos de HYDRA/PROSPECTOR. En 1981 se crean herramientas tales como: EXSYS (basado en reglas) GURU (basado en reglas) LOOPS (basado en reglas y programacin orientada a objetos (POO) KEE (basado en reglas y frames). EMYCIN/MYCIN,

ESTRUCTURA FUNCIONAL DE LOS SISTEMAS EXPERTOS

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM

CARACTERISTICAS DE LOS SISTEMAS EXPERTOS.1.


Estn compuestas por una Base De Conocimiento Simblico: contienen conocimientos (simblicos) de conceptos y definiciones, conocimiento accesible relativamente fcil, el conocimiento es de dominio limitado, se sintetiza el conocimiento de libros, revistas, personas, etc. Reflejan un Conocimiento Experto:

2.

contiene conocimiento que incluye experiencia, contiene soluciones precisas eficientes y efectivas, las soluciones son consistentes y no contradictorias, el conocimiento es predictivo ante nuevas situaciones. Permite el autoconocimiento Examinando El Razonamiento:

3.

durante el proceso de inferencias se analiza el porqu?, despus del proceso de inferencias se muestra el cmo?.

APLICACIONES DE LOS SISTEMAS EXPERTOS.1) Anlisis o Seleccin ejemplos: Tutoriales y Sistemas de diagnstico. 2) Sntesis o Construccin ejemplos: Sistemas de Diseo y Sistemas de Planificacin. 3) Herramientas de Diseo

Lenguajes de Inteligencia Artificial ejemplo: PROLOG, LISP Lenguajes de propsitos generales ejemplo: PASCAL, VISUAL C++.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM AMBIENTES DE DESARROLLO DE SISTEMAS EXPERTOS.

KEE LOOPS STDC ARITY EXPERT SHELLS permite tener cualquier Base de Conocimiento y cualquier Mquina de Inferencia. HUMBLE ARIES

COMO TRABAJA UN SISTEMA EXPERTO.-

BASE DEL CONOCIMIENTO.-

Es el corazn del Sistema experto y contiene el conocimiento representado a travs de las reglas, frames, scripts, redes semnticas. La forma de representacin del conocimiento ms utilizadas son las Reglas de Produccin, debido a que el conocimiento que puede estar representado de esta forma es muy extenso.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM BASE DE DATOS.Se denomina Base de Datos Generales, contiene un amplio rango de informacin sobre el estado actual del problema que se est resolviendo, es una parte de la memoria de trabajo, que contiene los estados del sistema. Primeramente el Sistema experto hace algunas preguntas iniciales al usuario para tener un punto de partida en el proceso de bsqueda, luego la Mquina de Inferencia comienza el proceso de bsqueda mediante el apareamiento de reglas en la Base del Conocimiento (B.C.) con la informacin en la Base de Datos (B.D.), la Base de Datos se va actualizando, segn se examinan las reglas en la Base del Conocimiento, actualizndose as el estado actual del problema e incorporando nuevos hechos que quedan disponibles para ser utilizados en el proceso de toma de decisin, la Base de Datos almacena adems una lista de las reglas que han sido examinadas, disparadas y en que orden, para proporcionarle al usuario una explicacin del proceso de razonamiento.

MAQUINA DE INFERENCIA.Es el software que implementa la bsqueda y el reconocimiento de patrones, el intrprete de reglas examina las reglas tratando de parear con las condiciones iniciales y actuales que se encuentran en la Base de Datos, cuando una regla es disparada puede referenciar otra regla crendose una cadena de inferencia cada vez que se examina una regla se chequea contra el estado actual de la solucin del problema almacenado en la Base de Datos, cuando una regla se dispara puede incorporar nuevos hechos a la Base de Datos, el proceso continua hasta encontrar la solucin. Los Sistemas Expertos deben tener: 1) Facilidad de explicacin 2) Fcil modificacin 3) Portabilidad (Funcionar en cualquier plataforma) 4) Aprendizaje adaptativo (el Sistema Experto debe ser capaz de aprender con su propio uso)

CREACION DE UN SISTEMA EXPERTO


1. Identificacin del problema y necesidad de solucin. 2. Determinar si el problema puede solucionarse mediante un Sistema Experto.

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
3. Estudiar todas las alternativas. 4. Determinar si es econmicamente factible (ROI retorno de su inversin). 5. Seleccionar la herramienta de desarrollo. 6. Realizar la Ingeniera del Conocimiento (proceso largo de adquisicin del conocimiento). 7. Diseo del Sistema. 8. Pruebas, chequeo, depuracin. 9. Implantacin y mantenimiento. TRATAMIENTO DE LA INCERTIDUMBRE EN UN SISTEMA EXPERTO.Los Sistemas Expertos tienen la habilidad de trabajar con informacin incompleta o con cierto grado de incertidumbre, aumentando la probabilidad de ofrecer siempre una respuesta al problema dado. FACTOR DE CERTIDUMBRE EN LOS SISTEMAS EXPERTOS.Es una medida de cuan verdadero o falso puede ser una afirmacin, se usa generalmente un valor entre 1 y +1. En una regla cada clausula puede tener su propio factor de certidumbre (F.C.) y esto implica que cada regla tenga su factor de certidumbre compuesto. Si las clausulas estn conectadas por AND se escoge el factor de certidumbre mnimo y si estn conectados por OR se escoge el mximo por ejemplo: R1 si entonces R2 si entonces x (0,4) and y (0.75) z, FCc = 0.4 A (0,5) or B (0.85) C, FCc = 0.85

Si se establece una cadena de razonamiento entre un conjunto de reglas el FCc (factor de certidumbre compuesto) de una regla afecta al de la otra regla, se establece la siguiente frmula: FCc = FC(x) + FC(y) FC(x) * FC(y) Ejemplo: R3 IF AND P Q

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
THEN R4 IF THEN R (0.65) R S (0.2)

FCc = FC(R3) + FC(R4) FC(R3) * FC(R4) FCc = 0.72 Si la cadena de razonamiento tiene ms de dos reglas se combina el FCc de las dos primeras reglas con el de la tercera utilizando la misma frmula hasta obtener el ltimo FCc. LOGICA DIFUZA (FUZZY LOGIC).Es un sistema elaborado por el informtico y matemtico LOFTY ZADEN para tratar informacin inexacta, se le asignan rangos numricos con un valor de posibilidad entre 0 y 1 a conceptos como peso, talla, belleza, caliente, fro. Esto permite trabajar con cantidades ambiguas o datos que son objeto de interpretacin. Los valores entre 0 y 1 significan un grado de posibilidad de que el dato est en un rango dado. Cuando un Sistema Experto utiliza conocimiento impreciso, el proceso de razonamiento es ms real, sin embargo es mucho ms complicado la implementacin. EJERCICIO N 1 Elabore el rbol de bsqueda del siguiente Sistema Experto para el diagnstico de falla en una lampara. (EXAMEN) R1 R2 R3 R4 R5 Si Entonces Si Entonces Si Entonces Si Entonces Si lampara no trabaja chequear si est encendida lampara no est encendida chequear fusible lampara no est encendida y fusible est bueno chequear falla de potencia lampara no est encendida no hay fusible chequear breaker

lampara no est encendida y breaker est encendido Entonces chequear falla de potencia Si Entonces Si Entonces Si hay falla de potencia esperar por el retorno de potencia lampara est encendida chequear la bombilla foco esta quemado

R6 R7 R8

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
Entonces R9 R10 R11 R12 R13 R14 R15 buenos R16 Si Entonces Si Entonces Si Entonces Si Entonces Si reemplazar el foco el foco est bien chequear el conmutador el conmutador est malo cambiar conmutador el foco y conmutador est bueno chequear el enchufe el enchufe est malo reemplazar el enchufe

el foco, conmutador y enchufe estn buenos Entonces chequear el cable el cable est mal reemplazar el cable el foco, conmutador, enchufe y cable estn chequear el tomacorriente tomacorriente est mal reemplazar el tomacorriente RESOLUCION

Si Entonces Si Entonces Si Entonces

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM INDICE
ENFOQUE PRACTICO DE LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS...........................1 I. INTRODUCCIN..........................................................................................................................................................1 Consideraciones Generales...............................................................................................................................................1 Objetivos de la IA..............................................................................................................................................................2 INGENIERIL..................................................................................................................................................................2 CIENTIFICO..................................................................................................................................................................2 Breve resea histrica de la Inteligencia Artificial.........................................................................................................2 CONOCIMIENTO............................................................................................................................................................3 PARTES DE UN SISTEMA DE INTELIGENCIA ARTIFICIAL.................................................................................3 LA INTELIGENCIA ARTIFICIAL vs. LA COMPUTACION TRADICIONAL...........................................................3 Mtodos de razonamiento artificial..................................................................................................................................4 Test de Turin......................................................................................................................................................................5 Campos de Aplicacin de la Inteligencia Artificial.........................................................................................................5 Ventajas y desventajas de la IA.........................................................................................................................................6 CRITERIOS PARA EL EXITO........................................................................................................................................7 CRITERIOS PARA EL EXITO EN UNA APLICACION DE INTELIGENCIA ARTIFICIAL..........................7 PREGUNTAS ADICIONALES PARA EL EXITO....................................................................................................8 II. Lenguajes de programacin de la I.A..........................................................................................................................8 Uso actual del lenguaje LISP...........................................................................................................................................8 Lenguajes de Programacin: PROLOG...........................................................................................................................9 Definicin sintctica simple...........................................................................................................................................9 Reglas.............................................................................................................................................................................12 Operadores y Estructuras...........................................................................................................................................18 Listas..............................................................................................................................................................................22 Operaciones con listas.................................................................................................................................................26 III. MODELOS DE REPRESENTACION DEL CONOCIMIENTO............................................................................32 Lgica...............................................................................................................................................................................32 RAZONAMIENTO DEDUCTIVO.................................................................................................................................33 RAZONAMIENTO INDUCTIVO..................................................................................................................................33 LOGICA PROPOSICIONAL..........................................................................................................................................34 LOGICA DE PREDICADOS..........................................................................................................................................34 VARIABLES EN LA LOGICA DE PREDICADOS.................................................................................................35 CUANTIFICADORES UNIVERSALES...................................................................................................................35 INTRODUCCIN A RESOLUCIN DE PROBLEMAS A TRAVS DE UN EJEMPLO........................................36 Formas de representacin del conocimiento..................................................................................................................36 Redes Semnticas..........................................................................................................................................................36 CRITERIOS PARA EVALUAR UNA BUENA REPRESENTACION..................................................................37 PARTES FUNDAMENTALES DE UNA REPRESENTACION.- .........................................................................37

ING. HERNAN PATRICIO VARGAS NOLIVOS

UTM
CARACTERISTICAS GENERALES DE LAS REDES SEMANTICAS.-............................................................38 MODELOS DE REPRESENTACION DEL CONOCIMIENTO.................................................................................39 LISTAS..........................................................................................................................................................................39 ARBOLES.-...................................................................................................................................................................40 FRAMES o MARCOS.-...............................................................................................................................................40 GUIONES o SCRIPT.-.................................................................................................................................................41 IV. REGLAS DE PRODUCCION...................................................................................................................................44 INTRODUCCIN...........................................................................................................................................................44 SISTEMA DE DEDUCCIN.........................................................................................................................................45 ENCADENAMIENTO PROGRESIVO ........................................................................................................................45 SISTEMA DE DEDUCCIN PARA IDENTIFICAR ANIMALES TALES COMO:..........................................46 ENCADENAMIENTO REGRESIVO............................................................................................................................47 SISTEMAS DE REACCION.........................................................................................................................................49 V. REPRESENTACION DE LA INCERTIDUMBRE...................................................................................................54 FACTOR DE CERTIDUMBRE.....................................................................................................................................54 DIFERENCIAS ENTRE PROBABILIDAD Y FACTOR DE CERTIDUMBRE........................................................55 PROBABILIDAD.-.......................................................................................................................................................55 CERTIDUMBRE.-.......................................................................................................................................................56 INCERTIDUMBRE.....................................................................................................................................................57 FACTOR DE CERTEZA y SISTEMAS BASADOS EN REGLAS.-......................................................................57 DIFERENCIAS.-..........................................................................................................................................................58 VI. RESOLUCION DE PROBLEMAS...........................................................................................................................59 GENERALIDADES........................................................................................................................................................59 ESTRETEGIAS DE CONTROL....................................................................................................................................62 REQUISITOS DE UNA BUENA ESTRATEGIA DE CONTROL.........................................................................62 VII. INTRODUCCION A LOS SISTEMAS EXPERTOS..............................................................................................68 DESARROLLO HISTORICO DE LOS SISTEMAS EXPERTOS.-.............................................................................68 ESTRUCTURA FUNCIONAL DE LOS SISTEMAS EXPERTOS..............................................................................68 CARACTERISTICAS DE LOS SISTEMAS EXPERTOS.-..........................................................................................69 APLICACIONES DE LOS SISTEMAS EXPERTOS.-.................................................................................................69 AMBIENTES DE DESARROLLO DE SISTEMAS EXPERTOS.-.............................................................................70 COMO TRABAJA UN SISTEMA EXPERTO.-............................................................................................................70 BASE DEL CONOCIMIENTO.-....................................................................................................................................70 BASE DE DATOS.-.........................................................................................................................................................71 MAQUINA DE INFERENCIA.-....................................................................................................................................71 CREACION DE UN SISTEMA EXPERTO..................................................................................................................71 INDICE ...........................................................................................................................................................................75