196

Inteligencia Artificial y Sistemas Expertos

Embed Size (px)

DESCRIPTION

Para que te adentres en el fascinante mundo de la inteligencia artificial.

Citation preview

Page 1: Inteligencia Artificial y Sistemas Expertos
Page 2: Inteligencia Artificial y Sistemas Expertos

2

CAPÍTULO 1

Antropología Histórica de la Inteligencia Artificial

1.1 Prehistoria

Tan antiguo como la humanidad es tanto el deseo de agilizar y simplificar elesfuerzo mental que los cálculos aritméticos demandan, como el emular lainteligencia humana.

En computación se empezó con piedrecillas, nudos y marcas, para llegar con eltiempo al ábaco (instrumento aún en uso frecuente en países como la India, Chinay Japón, y antigua Unión Soviética).

En Inteligencia Artificial se comenzó por bien sea la construcción o por lareferencia literaria, de figuras animadas que constituyen los ancestros de losactuales robots.

Es en la mitología griega donde aparecen las primeras referencias a los robots.La más antigua, se refiere a Thalos, gigantesco robot, obra de Dédalo, quiendefendía a Creta de sus enemigos. La más famosa aparece en la ILIADA,inmortal obra de Homero, en cuya rapsodia XVIII, titulada la fabricación de lasarmas, se cuenta la visita que la diosa Tetis – madre de Aquiles- realiza al taller deHefestos, dios del fuego, para pedirle una nueva armadura para su hijo, quedeponiendo su cólera contra Agamenón, decide intervenir en la guerra de Troyapara vengar la muerte de su amigo Patroclo, muerto por Héctor, príncipe de lostroyanos.

Lo interesante que nos cuenta Homero en esta rapsodia, es lo siguiente: “Tomó(Hefestos) el fornido cetro y salió cojeando, apoyado en dos estatuas de oro queeran semejantes a vivientes jóvenes, pues tenían inteligencia, voz y fuerza yhallábanse ejercitadas en las obras propias de los inmortales Dioses”.

Avanzada la Edad Media, cuando progresó la técnica de los alquimistas, estosafirmaron la posibilidad de crear un ser humano entero, el llamado “homúnculo”.El médico medieval Paracelso dio una receta alquímica para crear uno.

Es a mediados del siglo XVI cuando aparece el arquetipo de autómata homínido:EL GOLEM. La palabra GOLEM es talmúdica, se refiere a todo lo incompleto o sin

Page 3: Inteligencia Artificial y Sistemas Expertos

3

forma. Se dice que hacia 1550, Eliyah de Chelm creó un hombre artificial, llamadoGOLEM, con la ayuda del nombre de Dios, las cuatro letras hebreascorrespondientes a YHWH. Según la leyenda, el GOLEM se convirtió en unmonstruo que amenazaba al mundo, hasta que le quitaron el nombre sagrado.

Treinta años después nació otra leyenda sobre un GOLEM. Se supone que esteúltimo fue obra del gran rabino de Praga Judah Ben Loew.

Según la leyenda, Loew y dos ayudantes que querían proteger a su pueblo de losgentiles fueron de noche al río Moldava y de la arcilla de la orilla dieron forma auna figura humana.

Un ayudante dio siete vueltas a la figura de izquierda a derecha. Loew pronuncióun conjuro y el GOLEM se encendió.

El otro ayudante empezó entonces sus conjuros, y mientras daba siete vueltas dederecha a izquierda el fuego se apagó, creció pelo sobre la cabeza de la figura ycrecieron uñas sobre los dedos.

Entonces le tocó a Loew dar siete vueltas a la figura mientras los tres entonabanpalabras del Génesis. Cuando Loew implantó el sagrado nombre de Dios sobre lafrente de GOLEM, éste abrió sus ojos y nació a la vida.

El GOLEM no podía hablar, pero su fuerza era sobrehumana. Esto le hizo útil paradefender a los judíos de Praga contra los gentiles. Sólo Loew podía controlarlopero al final el GOLEM se hizo incontrolable. Tuvo un ataque de furia y agredió a sucreador. Finalmente LOEW lo engañó para que se arrodillara delante suyo y learrancó de la frente el nombre sagrado. El GOLEM quedó de nuevo reducidomágicamente a arcilla.

A partir del siglo XIV se vio en Europa un florecimiento en la construcción deayudas para varios tipos de cálculos, tanto aritméticos como astronómicos. JohnNapier dedicó buena parte de su vida a la búsqueda de métodos computacionalesmás ágiles. Su invención de los logaritmos no deja de ser un hito en la historia dela computación. Su uso simplificó enormemente las operaciones de multiplicacióny división.

Como consecuencia del avance científico y técnico iniciado en el Renacimiento,aparecieron los primeros intentos de mecanizar ciertos procesos computacionales,entre éstos las operaciones aritméticas. La idea central estaba enfocada a laconstrucción de máquinas capaces de llegar a los resultados de las operaciones,automáticamente – sin la ayuda del hombre - salvo la introducción de los datosiniciales.

Page 4: Inteligencia Artificial y Sistemas Expertos

4

En 1642, Blaise Pascal inventó y construyó lo que se considera como la primeramáquina calculadora que operó exitosamente. La máquina consistía en una seriede ruedas dentadas, dispuestas de tal forma que diez revoluciones de cualquierade ellas inducían una revolución a la situada a su derecha. Cada rueda teníaimpreso en sus dientes los dígitos 0 a 9. La máquina permitía la adición osustracción automática de cantidades hasta de seis cifras.

Leibnitz perfeccionó la máquina de Pascal, introduciendo un mecanismo especialque permitía la multiplicación y la división. La máquina diseñada y construida porLeibnitz efectuaba la multiplicación por medio de repetidas vueltas de unamanivela.

El principio en que se basó la máquina de Leibnitz siguió en uso hasta hace poco,en las hoy obsoletas calculadoras de escritorio.

Los trabajos de Pascal y Leibnitz fueron ayudados por la técnica de la relojería,por esa época en pleno florecimiento.

El avance en las técnicas de relojería permitió la aparición de varios fabricantes deautómatas. Estos autómatas, construidos con intrincados mecanismos de relojeríay sistema de levas, eran en cierto modo una magia disfrazada, una manera dehacer aceptable lo que en realidad todavía era imposible.

Uno de los fabricantes más famosos fue Jacques de Vaucason en el sigo XVIII.Entre otras cosas construyó un pato capaz de graznar, batir las alas, chapotear enel agua, comer, beber y hasta excretar. También construyó dos androides, ambosmúsicos. Uno era el “Tocador de flauta”, reproducción del “Sátiro tocando laflauta” de Coysevox, y el otro tocaba un tambor.

El tocador de flauta era un androide que mediante un sistema de fuelle le permitíaliberar aire por la boca, con el cual accionaba la flauta y podía tocar un repertoriode doce melodías moviendo los dedos sobre los agujeros del instrumento. Lagente de su tiempo no podía creer que el flautista tocara de verdad en lugar deproducir los sonidos musicales con un conjunto oculto de instrumentos.

En 1769 el inventor húngaro barón Von Kemmpelen construyó una máquinajugadora de ajedrez. Era una máquina en forma de turco, con turbante y mostacho,sentado detrás de un armario de madera que al parecer contenía el mecanismo.El maniquí cogía las piezas de ajedrez con gran chirrido de ruedas y hacía susjugadas. Este invento entusiasmó a la emperatriz María Teresa de Austria, yenfureció a Napoleón Bonaparte al perder todas las partidas de ajedrez en las quetomó parte. En realidad era un fraude, pues en el cajón en el que supuestamentese ubicaban los mecanismos de relojería, en verdad se hallaba un enano que eracampeón de ajedrez en Hungría.

Page 5: Inteligencia Artificial y Sistemas Expertos

5

Sin embargo antes que se detectara el fraude, este “autómata” se había paseadopor las cortes europeas, impresionando a muchos. Hasta un escritor como EdgarAllan Poe, después de ver una demostración, se puso en la tarea de construir unaprueba lógica de que no era auténtico.

Entre 1770 y 1773 una pareja de colaboradores, padre e hijo, Pierre y Henri –Louis Jaquet – Droz, presentaron tres asombrosas figuras humanas llamadas elescriba, el dibujante, y el músico. Los tres funcionaban con mecanismos derelojería y contenían un intrincado mecanismo de levas.

En el siglo XIX se dan importantes pasos en Inteligencia Artificial y encomputación, siendo los avances en I.A. fundamentalmente literarios.

En 1817 se encuentran en una villa a orillas de un lago suizo, los dos grandespoetas románticos ingleses Lord Byron y Percy Shelley. Es durante esta estanciaque Mary, esposa de Shelley, escribe su célebre novela Frankenstein, que seríainmortalizada en el cine.

Mary Shelley tuvo la oportunidad en Suiza de ver los autómatas de Jaquet – Droz,y como estaba familiarizada con la tradición del GOLEM de Praga, su historia fueuna puesta al día de la leyenda del GOLEM, no obstante, su monstruo no naciógracias a la alquimia sino merced a la tecnología en eclosión en su época: laelectricidad.

El éxito alcanzado por Frankenstein en el cine, ha llevado a varios directores atratar de explotar más a fondo el tema, y es así como en la década de los años 80,películas como Gothic (dirigida por Ken Russell) y Remando Al Viento, tratan derecrear las relaciones entre Byron y los Shelley y las circunstancias que rodearonel alumbramiento de tan fantástica criatura.

Si bien es cierto que los avances técnicos reales en Inteligencia Artificial tendríanque esperar hasta el siglo XX y muy probablemente su madurez como ciencia sólose alcance en el siglo XXI, es de resaltar que no sucedió lo mismo con lacomputación. A comienzos del siglo XIX, la revolución industrial en sus albores yaofrecía una infraestructura mecánica apropiada para servir de soporte a laconstrucción de las primeras máquinas calculadoras.

En Francia, la industria textil entraba en un periodo de gran automatización.Usando tarjetas perforadas, el telar de Jacquard logró automatizar el proceso defabricación de tejidos.

Los bancos como entidades financieras y las compañías de seguros estabanconsolidadas en Inglaterra.

Page 6: Inteligencia Artificial y Sistemas Expertos

6

La navegación, a consecuencia del comercio entre Europa y sus colonias, habíacrecido enormemente. Tanto en la banca como en la navegación eranindispensables tablas numéricas de distinta índole con un proceso de elaboracióntedioso. Frente a este estado de cosas, Charles Babbage propuso a la sociedadastronómica real, la construcción de una máquina de diferencias, cuyo objetivocentral sería el cálculo de tablas logarítmicas, trigonométricas, actuariales, etc. Unmodelo a escala de su primera máquina fue presentado a la sociedad en 1822.Babbage confiaba en que su máquina no sólo calcularía tablas numéricas, sinotambién imprimiría sus resultados.

Por discrepancias con el gobierno y con Joseph Clement, el constructor de laspiezas metálicas, y por la imposibilidad de asumir por sí solo el costo del proyecto,Babbage decidió no continuar la construcción de la máquina de diferencias.

Su primer fracaso no fue motivo que le impidiera seguir trabajando en lo que seríala obsesión de toda su vida: la construcción de una máquina analítica. Lamáquina de diferencias era un computador de un solo propósito – elaboración detablas numéricas -, mientras que la máquina analítica tendría que ser uncomputador de múltiples usos. A partir de 1833, y por 40 años Babbage dedicótodas sus energías al diseño y construcción de su fabulosa máquina. Conrecursos económicos propios, se construyeron partes y se diseñaron planos ymaquetas. La máquina analítica estaba diseñada con base en unidades deprocesamiento, control y almacenamiento. Para introducir las instrucciones y lainformación que sería procesada se utilizarían tarjetas perforadas, en la mismaforma que en el telar de Jacquard. Desafortunadamente para Babbage, laingeniería mecánica de aquel tiempo no tenía aún la madurez requerida paraconstruir piezas de alta precisión indispensable en un equipo de tal sofisticación.

La labor de Babbage fue continuada en Suecia por Pehr Georg Schutz y su hijo,quienes después de estudiar los trabajos de Babbage lograron construir unamáquina de diferencias que entró en funcionamiento en 1853.

En el siglo XX un continuador de Babbage fue el español Leonardo Torres yQuevedo. Sus esfuerzos se concentraron en el diseño y construcción de un sinnúmero de artefactos y dispositivos automáticos de distinta índole. Torres yQuevedo construyó en 1912 una máquina para jugar ajedrez. Podía jugar unafinal de rey y torre contra rey. Esta fue probablemente la primera máquinautilizada para tomar decisiones.

También construyó en 1920 una calculadora, que puso de manifiesto la factibilidaddel proyecto de usar partes electromecánicas en la elaboración de una máquinaanalítica.

Page 7: Inteligencia Artificial y Sistemas Expertos

7

La calculadora de Torres y Quevedo estaba conectada a una máquina de escribirque hacía las veces de unidad de entrada y simultáneamente servía como unidadimpresora de los resultados obtenidos por la calculadora.

A finales del siglo XX, la compañía alemana SIEMENS logró la construcción de lamáquina analítica de Babbage, tal como éste la había concebido. La tecnologíadel siglo XX permitió, con el uso de aleaciones especiales de metales, laconstrucción de las piezas mecánicas que hicieron realidad el sueño de Babbage.

Es de resaltar la labor desempeñada por Augusta Ada, hija de Lord Byron, ycompañera de Babbage, como impulsora del proyecto y reconocida como laprimera programadora de la historia. El lenguaje de programación llamado “Ada”es en su honor.

En 1921 el escritor checo Karel Capek escribe una obra teatral llamada R.U.R quesignifica Robots Universales de Rossum.

En R.U.R. es la primera vez que se utiliza la palabra Robot, que procede deRobota, palabra de origen checo y que significa trabajo, teniendo connotacionesde esclavitud o trabajo forzado. R.U.R. es una obra sobre hombres y mujeresartificiales, cuyo diseño se ha simplificado para que la fabricación sea rápida. Estoha supuesto dejar de lado atributos humanos como los sentimientos y lasemociones, sólo les queda la capacidad de trabajar. Los Robots se venden comoobreros para todo, y a su debido tiempo se utilizan como soldados en la guerra.Luego uno de los socios de Rossum descubre un sistema para instalar el dolor ylas emociones en los Robots. Los Robots provistos de estas cualidades seenfrentan contra los humanos, conquistan el mundo y exterminan virtualmente a laraza humana. Pero entonces surge un problema entre los Robots, porque alparecer no consiguen fabricar más representantes de su raza, sin embargo al finalde la obra dos de ellos se enamoran.

Esta obra dio origen a una serie de obras escritas y de películas dirigidas en tonosemejante, entre ellas una película clásica de 1926, Metrópolis de Fritz Lang.Nuevamente aparecen los robots en escena, en este caso una robot femenina,“María”, que actúa como una agitadora, cuando realmente es una espía.

El enfrentamiento entre las máquinas y los seres humanos es un tema reiterativo,ampliamente explotado por el cine, desde películas como “Tiempos Modernos”protagonizada por Chaplin, hasta “Terminator” protagonizada por Schwazeneger,pasando por muchas versiones de “Frankenstein”. La visión apocalíptica delmundo controlado por máquinas infernales y robots ha representado un filón muyimportante que la gente del cine ha sabido aprovechar.

En 1942 un joven escritor de ciencia ficción, Isaac Asimov, en una historia titulada“Las cavernas de acero” propuso las tres leyes de la robótica:

Page 8: Inteligencia Artificial y Sistemas Expertos

8

1. Un robot no puede perjudicar a un ser humano, ni con su inacción permitir queun ser humano sufra daño.

2. Un robot ha de obedecer las órdenes recibidas de un ser humano, excepto sitales órdenes entran en conflicto con la primera ley.

3. Un robot debe proteger su propia existencia, mientras que tal protección noentre en conflicto con las leyes anteriores.

1.2 Historia de la Inteligencia Artificial

Los precursores de la Inteligencia Artificial integran el grupo de científicos que consus contribuciones dieron origen a los campos de la teoría de la información y delcontrol, que Norbert Wiener llamó cibernética.

En 1943 se publican tres artículos fundamentales, relativos a los aspectos teóricosde la cibernética. En el primero, Wiener, Rosenblueth y Bigelow en el InstitutoTecnológico de Masachussetts (M.I.T.) sugirieron distintas formas de conferir finesy propósitos a las máquinas.

En el segundo Warren Mcculloch, del Colegio de Medicina de la Universidad deIllinois, y Walter Pitts, matemático del M.I.T., pusieron de manifiesto de qué modolas máquinas podían emplear los conceptos de la lógica y la abstracción ydemostraron cómo cualquier ley de entrada – salida podía modelizarse como unared neuronal.

Finalmente Craik de la Universidad de Cambridge, propuso que las máquinasempleasen modelos y analogías en la solución de problemas.

Posteriormente, en 1950, Claude Shannon del M.I.T., escribió el artículo “Unamáquina para jugar al ajedrez”. En él decía que los computadores podrían jugarun buen ajedrez (aunque no perfecto) estudiando un gran número de jugadas ysecuencias de jugadas, y luego escogiendo la mejor.

Por esta misma época, Arthur Samuel de IBM, desarrolló un programa para jugar“Checkers”, una variante anglosajona del juego de Damas, que aprendía de laexperiencia. El programa de Samuel, reproduciendo el enfoque propuesto porShannon para el ajedrez, podía evaluar las jugadas, las contrajugadas y lasprobables respuestas de sus contrincantes, como si fuera un jugador humano,adelantándose en varias jugadas a la actual.

En 1956, el matemático John McCarthy del Darthmouth College, junto conShannon y Marvin Minsky (en aquel entonces matemático de Harvard) habían

Page 9: Inteligencia Artificial y Sistemas Expertos

9

enviado una propuesta a la fundación Rockefeller: “Proponemos que se lleve acabo un estudio de dos meses con diez personas sobre la Inteligencia Artificial…”.Esta fue la primera vez que se utilizó la expresión “Inteligencia Artificial”; la habíaacuñado McCarthy. El estudio tuvo lugar aquel verano. Asistieron Samuel, AlanNewell de Rand Corporation y Hebert Simon, de Carnegie Tech (hoy laUniversidad de Carnegie - Mellon).

Lo más novedoso de la reunión lo constituyó la presentación por parte de Newell ySimon de un programa para computador que podía demostrar los teoremas deprincipia Mathematica de Russell y Whitehead y que llamaron el Teórico – Lógico.

Estos cientificos, además de Cliff Shaw, desarrollaron el solucionador general deproblemas, diseñado para aplicar ciertos procesos generales a la solución deproblemas, incluyendo el análisis de medios y fines y la planificación.

1.3 Historia Contemporánea

En la reunión de 1956 hubo representantes de las universidades queposteriormente se convirtieron en líderes en el área de Inteligencia Artificial yafines. Por ejemplo, McCarthy y Minsky que crearon el laboratorio de máquinasinteligentes del M.I.T. Newell y Simon que formaron un equipo de investigación enla Universidad Carnegie – Mellon. Samuels que iría a hacer lo propio en laUniversidad de Stanford. Después de la reunión de 1956, los investigadores seaglutinaron alrededor de dos líneas básicas de investigación; la primera conocidacon los nombres de conexionismo o redes neuronales, y la segunda con el nombrede ingeniería del conocimiento.

En el primer enfoque, sus investigadores pretenden emular al cerebro, incluyendosu estructura. En el segundo enfoque, sus investigadores se orientan almodelamiento de los aspectos cognitivos asociados al comportamiento inteligente.Podríamos decir que uno apunta hacia un “Hardware Cerebral” y el otro hacia un“Software Cerebral”.

Ambos enfoques son necesarios y complementarios. Por una parte, elentendimiento del cerebro humano y su simulación. Por otra, la modelación yejecución de sus funciones por computador. Según Cuena1 en la ingeniería delconocimiento cabe diferenciar tres etapas:

1. Etapa primaria de creación de las técnicas básicas para representar elcomportamiento inteligente tanto a nivel de métodos como lenguajes. Estaetapa va desde 1956 hasta 1970.

1 José Cuena y otros, Inteligencia Artificial: Sistemas Expertos, Alianza Editorial, Madrid, 1986, Página 11.

Page 10: Inteligencia Artificial y Sistemas Expertos

10

2. Etapa de prototipos en que se desarrollaron proyectos más complejos perotodavía limitados a laboratorios. Esta etapa va desde 1971 hasta 1981.

3. Etapa de Difusión Industrial. Desde 1981.

En la etapa primaria se desarrollaron dos líneas de investigación: los métodos debúsqueda heurística y los métodos de demostración automática.

En la primera línea se trabaja en la solución de problemas mediante sistemasbasados en reglas de producción. El concepto original de regla de producción seremonta a 1943 cuando el matemático Emil Post, crea un sistema de reglas dereescritura llamadas producciones, y que se conoce con el nombre de máquina dePost.

Newell y Simon extienden las máquinas de Post y proponen una arquitectura parala solución de problemas basada en las reglas de producción y que se conoce conel nombre de solucionador general de problemas, en inglés GPS (GeneralProblem Solver). La solución de un problema se concibe como la búsqueda en unespacio de estados posibles de una secuencia de operaciones de transformaciónde estados, representados por reglas de producción, que conducen de un estadoinicial del problema a un estado meta u objetivo.

En la segunda línea se trabaja en la solución de problemas mediante el cálculo depredicados de primer orden. Solucionar un problema, es en esta línea equivalentea demostrar un teorema. La demostración automática se realiza especificando laspremisas del problema mediante la lógica de primer orden y efectuando unproceso de demostración indirecta por contradicción o reducción al absurdo, queconsiste en transformar las especificaciones (premisas y objetivos) en un conjuntode cláusulas que contienen una cláusula que representa la negación lógica de loque se quiere demostrar y en detectar una contradicción, puesta de manifiesto porla existencia de una resolvente vacía. Esto se basa fundamentalmente en el usode la regla universal de la inferencia de resolución y unificación de Alan Robinsonde 1965, que permite reducir el problema de deducción automática a unabúsqueda de resoluciones entre cláusulas.

Es de resaltar que el desarrollo de técnicas heurísticas de la primera línea, sedesarrolló fundamentalmente alrededor de juegos, puzzles y problemascombinatorios que fueron decisivos en el desarrollo de estrategias de búsqueda.

La segunda línea daría origen más adelante al lenguaje de programación lógicallamado Prolog (Programming Logic). Sin embargo, en esta etapa el lenguajepredominante es Lisp (List Processing).

En la etapa de prototipos se pasa de lo fútil a lo útil. En la etapa anterior lasaplicaciones desarrolladas eran fundamentalmente juegos y puzzles. Por estarazón y por los fracasos en la elaboración de traductores automáticos, la

Page 11: Inteligencia Artificial y Sistemas Expertos

11

Inteligencia Artificial no fue bien considerada en la etapa inicial. Es en la etapa deprototipos cuando la Inteligencia Artificial comienza a mostrar sus posibilidades deaplicación industrial. Se trabaja en proyectos de mayor complejidad y se empiezaa mostrar resultados prácticos.

La etapa primaria es importante porque es la que permite la creación ymaduración de las técnicas básicas, que van a permitir en la etapa de prototipospasar de programas para jugar triqui, damas, ajedrez, etc., a sistemas expertos,planificadores inteligentes de robots, sistemas de comprensión del lenguajenatural, entornos LISP, primeras versiones de Prolog, etc.

En la etapa de prototipos, se desarrollaron los primeros prototipos de sistemasexpertos o de sistemas basados en el conocimiento. Sistemas como Mycin,Dendral, Prospector, marcan un hito histórico en el desarrollo de la computación yse convierten en los paradigmas de las aplicaciones de la Inteligencia Artificial.

Mycin es reconocido como el primer sistema experto, es un sistema de diagnósticode enfermedades infecciosas de la sangre, desarrollado en 1974 en la universidadde Stanford.

Dendral es un sistema de ayuda en la configuración de estructuras químicas, fuedesarrollado por Edward Feigembaum y su equipo en 1977. De la misma épocason Prospector e Internist.

Los avances logrados en búsquedas heurísticas y en sistemas basados en reglasde producción, posibilitaron la construcción de los primeros sistemas expertos.Estos sistemas incorporan el conocimiento heurístico de un experto humano enalguna área del saber, formalizado mediante alguna técnica de representación delconocimiento.

Los sistemas expertos exhiben las habilidades y competencias propias de losseres humanos expertos.

Existen diversas formas de representación del conocimiento de los expertos, quefacilitan su almacenamiento, recuperación y sobre todo su uso en procesosinferenciales. La más conocida es la de las reglas de producción, pero no es laúnica. Es de resaltar que los trabajos de lingüistas como Noam Chomsky,Fillmore, Quillian, etc., permitieron desde la década de los años 50 hasta la de los70, la elaboración de técnicas de representación del conocimiento más ricassemánticamente, menos matemáticas y con un mayor grado de flexibilidad,permitiendo mayor expresividad lingüística. Aparecen entonces las RedesSemánticas de Quillian, las Redes particionadas de Hendrix, los Marcos deMinsky, etc., como sistemas alternativos a las reglas de producción y a la lógica deprimer orden, para la representación e inferencia de conocimiento.

Page 12: Inteligencia Artificial y Sistemas Expertos

12

Los trabajos de Robinson en la etapa inicial darían sus frutos en 1975 con laaparición de la primera versión del lenguaje de programación lógica, llamadoPROLOG, realizado por Colmerauer, Rusell y Kowalski. En las universidades deMarsella (Francia) y de Edimburgo (Escocia) se desarrollan los primeroscompiladores de este lenguaje que se convirtió en una alternativa de LISP, para eldesarrollo de sistemas y aplicaciones de Inteligencia Artificial.

Es de resaltar también en esta etapa de prototipos los esfuerzos de TerryWinograd en el tratamiento automático del lenguaje natural. Su sistema “Shrdlu”de 1972, marcó un alentador avance en las investigaciones con el lenguajenatural.

El sistema SHRDLU se opera en un micromundo de objetos geométricos al que elsistema es capaz de contestar las preguntas en lenguaje natural, deduciendo lasrespuestas o detectando las contradicciones y ambigüedades y formulando losoportunos mensajes.

La etapa de difusión industrial se caracteriza por el paso de prototipos aaplicaciones industriales. La difusión y auge de proyectos de Inteligencia Artificialen esta etapa ha generado una dinámica comercial y económica caracterizada porla aparición de muchas empresas que desarrollan software y aplicacionesespecíficas de esta área.

Por otra parte, el Conexionismo es una abstracción matemática de lasasociaciones que realizan humanos y animales cuando están aprendiendo. Tienesu fundamento en la creencia de los psicólogos conductistas de que la estructuraasociativa del aprendizaje reside en la microestructura neuronal de losorganismos.

Así que el conexionismo también recibe los nombres de redes neuronalesartificiales o simplemente redes neuronales, procesamiento paralelo distribuido,sistemas neuromórficos o neuromiméticos.

La historia del conexionismo comienza con el grupo de cibernética del M.I.T.,desde la década de 1940.

Se inicia con el trabajo de McCulloch y Pitts sobre la representación matemáticade las neuronas, y el trabajo de Rosenblatt sobre el perceptron (una máquinacapaz de aprender).

Posteriormente aparece el clásico trabajo de Minsky y Paper donde se muestranlas limitaciones del perceptron.

Luego surgen trabajos sobre sistemas adaptativos entroncados con el dominio delReconocimiento de formas.

Page 13: Inteligencia Artificial y Sistemas Expertos

13

La teoría de redes neuronales crece desde los años 60 con las aportaciones delbiólogo Hebb, o el algoritmo de los mínimos cuadrados de Widrow.

Trabajos más recientes se deben a Hopfield, que desarrolló el principio deLiapunov o estabilidad de redes simétricas, en 1982. También Rumelhart,McClelland, Sejnowski, Feldman y especialmente Grossberg y Kohonen.

Es importante el desarrollo del concepto de memoria asociativa desde Andersonhasta Kohonen.

En la actualidad hay un gran interés en el conexionismo debido al desarrollo denuevas topologías para las redes y de nuevos algoritmos de aprendizaje.

También lo hay en los neurocomputadores, que son implantaciones eléctricas yópticas de redes neuronales.

Los neurocomputadores presentan varias ventajas frente a los convencionales(arquitectura Von Neumann): almacenan gran cantidad de patrones complejos(sonidos, escenas visuales, movimientos de robots, comportamiento espacio –temporal, comportamiento social, etc.) y clasifican nuevos patrones a patrones yaalmacenados. Es decir, asocian patrones de entrada a los patrones almacenadosmás próximos en forma inmediata.

Para las redes neuronales simuladas por software se han desarrollado grancantidad de algoritmos de aprendizaje o entrenamiento que se enmarcan en dosgrandes tendencias. La primera es el denominado aprendizaje supervisado, queconsiste en términos generales en un proceso iterativo mediante el cual un patrónde entrada es procesado para producir un patrón de salida que es comparado conun patrón tipo, retroalimentándose la red con ese patrón de salida hasta que undeterminado paso produzca un patrón de salida que se puede clasificar en unpatrón tipo. El aprendizaje es supervisado porque el algoritmo en cada iteraciónva alternando unos valores o pesos que se van ajustando de tal manera que lospatrones de salida se parezcan cada vez más a los patrones tipo. Por ejemplo, elalgoritmo podría calcular la distancia o la medida de similaridad entre un patrón desalida y el patrón tipo, ajustando valores mediante una sencilla fórmula querepresenta una ecuación en diferencias finitas. Está garantizado que elprocedimiento es convergente mediante el adecuado entrenamiento del sistema,que consiste en el ajuste de varios parámetros. Para tal propósito las redes y susalgoritmos de aprendizaje supervisado actúan como memorias asociativas yclasificadores. Ejemplo de esta tendencia son las redes de Hopfield, losPerceptrones, las redes de Hamming y los algoritmos como Backpropagation.

La segunda tendencia es la denominada aprendizaje no supervisado, que tambiénes un proceso iterativo mediante el cual el patrón de entrada es procesado para

Page 14: Inteligencia Artificial y Sistemas Expertos

14

producir un patrón de salida, pero a diferencia de la tendencia anterior no escomparado con un patrón tipo, es decir, durante el entrenamiento no hayinformación concerniente a la correcta clasificación de patrón.

Las redes y algoritmos de aprendizaje no supervisado actúan como vectores decuantización o para formar clusters. Ejemplos de esta tendencia son las redes deCarpenter-Grossberg y las redes auto-organizadas de Teuvo Kohonen.

1.4 Ejercicios

1. Realice un cuadro sinóptico que resuma el proceso histórico de la InteligenciaArtificial.

2. ¿En qué enfoques se divide la Inteligencia Artificial?3. A grandes rasgos ¿qué características tienen los enfoques de la Inteligencia

Artificial?4. ¿Cuáles son las leyes de la robótica formuladas por Asimov?5. Describa las etapas de la Ingeniería del Conocimiento.

Page 15: Inteligencia Artificial y Sistemas Expertos

15

CAPÍTULO 2

Áreas de la Inteligencia Artificial

La inteligencia artificial tiene muchas aplicaciones e incide directamente enmuchos campos o dominios del saber y se divide en varias áreas de investigacióny aplicación; algunas de las cuales exploraremos en este capítulo.

2.1 Sistemas Expertos

De manera muy simple podemos caracterizar los sistemas expertos como unconjunto integrado de programas, con un nivel de competencias profesionales,equiparable al de un experto humano en una determinada área del saber.

Los sistemas expertos exhiben un comportamiento “inteligente”, en el sentido deque poseen habilidades, que, aplicadas a profesionales humanos no dudaríamosen calificarlas de “inteligentes”. Así por ejemplo, si un médico es muy acertado ensus diagnósticos y tratamientos, con lo cual ha adquirido fama de competente, ointeligente; también un sistema experto de diagnóstico médico con igualescapacidades de acierto, merece el calificativo de “competente” o “inteligente”.

Estos sistemas capturan conocimiento de uno o más expertos humanos, lo que lesconfiere la capacidad de responder preguntas, solucionar problemas y tomardecisiones en un determinado dominio del saber.

Sin embargo, cuando hablamos de conocimiento nos referimos a un tipo enespecial, llamado “heurístico”. Este es el conocimiento derivado primariamente dela experiencia, es un “fruto” de la experiencia en el mundo real, no generado apartir de libros, manuales, etc.

El conocimiento heurístico “encapsula” ese saber, producto de muchos años deejercicio profesional, o de experiencia de trabajo, y que es extremadamente útilporque está íntimamente ligado al diario vivir, a sus retos, problemas y soluciones.

Los sistemas expertos son un caso particular de unos sistemas más generales,denominados “Sistemas basados en el conocimiento”, que deben su generalidadal uso de muchas fuentes de conocimiento, y por lo tanto no se circunscribenespecíficamente al uso de conocimiento heurístico.

Page 16: Inteligencia Artificial y Sistemas Expertos

16

Una de las virtudes más importantes de los sistemas expertos, es la de lograr“perpetuar” el conocimiento y la experiencia humanos. Estos sistemas permitenhacer persistente el conocimiento heurístico, un bien valioso, difícil de cosechar yque requiere muchos años de gestación en un ser humano, después de uncostoso proceso de educación, aprendizaje, experiencias, etc. El lograr que esaexperiencia sobreviva y trascienda al gestor humano y continúe siendo útil, es unaforma bella de percibir las bondades de estos sistemas más allá de la fría técnica.

Otra virtud importante de los sistemas expertos brota de sus capacidades deempaquetamiento y almacenamiento de conocimiento, que les permite duplicar yexportar ese conocimiento, llegando a muchos lugares donde no era disponible.Así por ejemplo un sistema experto de diagnóstico médico obtenido a partir de unespecialista, puede ser utilizado en lugares donde esos especialistas no estánpresentes (pueblos, centros de salud, hospitales de bajo nivel, etc.).

2.1.1 Sistemas Expertos Vs. Programación Convencional

La solución de problemas mediante programas tradicionales es algorítmica, estoes, para cualquier entrada hay un camino computacional que se sigue siempre yhay un mecanismo simple capaz de producir la salida correcta a partir de esaentrada. Este modelo de solución de problemas es inflexible y determinístico, elalgoritmo es fijo .

La solución de problemas mediante sistemas expertos no es algorítmica, esconocida como programación simbólica. Los símbolos son usados pararepresentar objetos, conceptos, ideas, hechos, juicios, relaciones, reglas y otrasformas de conocimiento humano. La información simbólica es usada para formaruna base de conocimiento la cual es utilizada para resolver problemas o tomardecisiones en el dominio del saber considerado.

De esta manera podemos señalar que la principal diferencia entre los programasconvencionales y los sistemas expertos, radica en que en éstos el modelo desolución de problemas está explícitamente considerado en la “base deconocimiento”, mientras que en los programas tradicionales, dicho modeloaparece sólo implícitamente formando parte del código del programa.

La manipulación de la base de conocimiento es análoga al pensamiento y elrazonamiento y es realizada por una estrategia de control que permite tomardecisiones sobre cómo usar el conocimiento específico que se tiene acerca delproblema en curso de solución, otorgando una gran flexibilidad.

La estrategia de control posee en sí misma varias estrategias para usar elconocimiento representado en forma simbólica. Típicamente, el procesamientosimbólico utiliza unas estrategias de inferencia, de búsqueda y de resolución deconflictos, acompañadas de técnicas de equiparación de patrones.

Page 17: Inteligencia Artificial y Sistemas Expertos

17

La estrategia de control, globalmente, mira en la base de conocimiento en buscade patrones o secuencias lógicas de conocimiento, en un proceso dinámico desolución de un problema.

Aunque la programación tradicional y la simbólica son diferentes, debemos teneren cuenta que los programas simbólicos son finalmente implementados conalgoritmos. Sin embargo existen lenguajes que se adaptan mejor a lasnecesidades y usos de la inteligencia artificial, como por ejemplo Lisp, Prolog,Scheme, etc.

2.1.2 Arquitectura de Sistemas Expertos

Se entiende por arquitectura de un sistema experto a la ciencia y método dediseño que determina las estructuras de dicho sistema.

A partir de los casos de estudio desarrollados en el dominio de la construcción desistemas expertos han empezado a surgir algunos principios arquitecturalescomúnmente aceptados. La figura 2.1 ilustra una arquitectura típica.

Figura 2.1 Arquitectura típica de un sistema experto

Hechos

Reglas

MetasReglas

MEMORIAAUXILIAR

BASE

DEL

CO

NO

CIM

IEN

TO

SUBSISTEMA DE ADQUISICIÓN DELCONOCIMIENTO

SUBSISTEMADE INFERENCIA

SUBSISTEMADE CONTROL

MOTOR DEINFERENCIA

MODULO DE EXPLICACIONES

INTERFASE

Ing. delconocimiento

USUARIO

Page 18: Inteligencia Artificial y Sistemas Expertos

18

2.1.2.1 Base de Conocimiento

El corazón de cualquier sistema experto es su base de conocimiento, y haymuchas maneras diferentes para representar conocimiento. El diseñador puedeescoger entre cálculo de predicados, reglas de producción, redes semánticas,redes particionadas de Hendrix, marcos, guiones.

La base de conocimiento tiene dos tipos de saberes: los primeros, denominadosasercionales o factuales, que describen situaciones establecidas o a establecer,es decir, los hechos y las hipótesis de trabajo que, eventualmente, se convertiránen hechos. Por esta razón a la parte de la base de conocimiento que contieneeste conocimiento, también se le denomina “base de hechos”. Los segundos,llamados procedimentales u operatorios, representan el saber “hacer” que se tienedel dominio, es decir, es en ellos que se encuentra codificado el conocimientoheurístico del experto humano. A esta parte de la Base de conocimiento se leconoce con el nombre de Base de reglas, porque coloquialmente al conocimientoheurístico se le denomina “Reglas del pulgar”. Sin embargo es bueno aclarar queesto no significa que la representación de ese conocimiento se esté realizandomediante reglas de producción. Ese conocimiento puede estar codificadomediante las otras representaciones.

2.1.2.2 Motor de Inferencia

Si la base del conocimiento es el corazón de un sistema experto, el motor deinferencia es el cerebro.

El motor de inferencia es el programa que construye los razonamientos a partir dela base de conocimientos.

La función del motor de inferencia o máquina deductiva es probar hipótesis, esdecir, cuando se le realiza una pregunta o consulta, él toma los hechos relevantesy los contrasta con la base de reglas, generando nuevos hechos, y encadenaestos nuevos hechos con nuevos elementos de la base de reglas, construyendoun plan de solución de problemas.

El motor de inferencia utiliza tres estrategias básicas: estrategia de inferencia,estrategia de búsqueda y estrategia de resolución de conflictos. La estrategia deinferencia señala el modo de razonamiento, que no es otra cosa que la orientaciónde los encadenamientos que realiza el motor de inferencia en sus ciclos detrabajo. Existen dos modos o estrategias básicos de inferencia: encadenamientohacia delante (en inglés, forward chaining) y encadenamientos hacia atrás (eninglés, backward chaining). En el encadenamiento hacia delante se equiparan los

Page 19: Inteligencia Artificial y Sistemas Expertos

19

hechos con las unidades del “Saber-Hacer” y se encadenan hasta alcanzar unameta u objetivo, o señalar el fracaso del intento. En el encadenamiento haciaatrás, se parte de la meta que se equipara con las unidades “saber-hacer” y seencadenan reemplazando la meta inicial por unas submetas hasta que éstas seanhechos verificados en la base de conocimiento. Este proceso se detallará en elcapítulo de sistemas basados en reglas.

En el proceso de equiparación con las unidades del “saber-hacer” puede surgir unconjunto conflicto, esto es, un conjunto de dichas unidades que son utilizables enel proceso de encadenamiento. Se hace necesario seleccionar una de dichasunidades mediante una estrategia denominada resolución de conflictos y tambiénutilizar una estrategia que dirija el proceso de búsqueda de la meta, por ejemplo.

2.1.2.3 Subsistema de Adquisición del Conocimiento

El conocimiento normalmente se obtiene por interacción entre el experto y elingeniero del conocimiento. La labor del ingeniero del conocimiento es ayudar alexperto en el proceso de hacer explícito el conocimiento heurístico que ésteposee. La técnica habitual es la entrevista directa, en la cual el ingeniero deconocimiento plantea un problema o escenario específico al experto y comienza aestablecer los principios subyacentes en la solución que éste le da al problema.Esta técnica presenta dificultades, porque como muy bien lo señalan algunosautores y desarrolladores, surge una paradoja que consiste en que entre máscompetente es un experto humano, más dificultad le cuesta hacer explícitos susprocesos mentales conducentes a la solución de problemas. Esto ha llevado a labúsqueda de técnicas alternativas, procurando una manera automática desintetizar conocimiento heurístico, como por ejemplo sistemas de inducción osistemas de educación.

Los sistemas de adquisición de conocimiento para el caso directo, consistensimplemente en una interfase de ayuda a la creación de la base de conocimiento,que puede constar de un editor de bases de conocimiento, un editor gráfico,facilidades de manejo e interacción y módulos especiales como depuradores,verificadores de consistencia, etc.

2.1.2.4. Interfase de Usuario Final

Una vez el sistema experto ha sido construido, su utilización depende en granparte de la interfase del usuario final.

Lo que se busca es que el usuario no experto pueda seguir el razonamiento delsistema en un lenguaje que le es natural, plantear interrogantes y exigir

Page 20: Inteligencia Artificial y Sistemas Expertos

20

explicaciones, sin tener necesidad de adquirir un conocimiento profundo de lossistemas expertos o de informática. Por lo tanto la interfase debe permitir undiálogo interactivo.

La interfase interactúa con el módulo de explicaciones en dos modos básicos:“¿Cómo?” y “¿Por qué?”.

El modo “¿Cómo?” le permite al usuario interrogar al sistema preguntándole cómofue que llegó a determinada conclusión y el sistema mostrará la línea derazonamiento que le llevó a esa conclusión.

El modo “¿Por qué?” le permite al usuario interrogar al sistema de por qué lesolicita determinada información y el sistema le indicará que dicha información esnecesaria para activar cierto conocimiento de la base y poder obtenerdeterminadas conclusiones.

2.1.3. Características de los Sistemas Expertos

Se considera que un sistema experto debe poseer las siguientes cualidades:

1. EXPERIENCIA: Una característica esencial en los sistemas expertos es suincorporación de experiencia mediante la codificación del conocimientoheurístico de los expertos. Sin la incorporación de ese “saber-hacer” de losexpertos humanos en el sistema, no podríamos realmente hablar de sistemasexpertos. No es suficiente la incorporación de hechos y principios generales,como los encontrados en libros y manuales, se requiere el conocimientoespecializado que distingue a los expertos humanos. De lo contrario, a losumo tendríamos un sistema basado en el conocimiento y no un sistemaexperto.

2. CAPACIDAD DE RESOLVER PROBLEMAS: La incorporación de conocimientoheurístico y no heurístico al sistema experto tiene un propósito fundamental: lasolución de problemas. Si no es así nos encontramos con una acumulacióninútil de conocimiento.

El apelativo de “inteligentes” que se les aplica a los sistemas expertos derivade sus capacidades para solucionar problemas y de la calidad de estassoluciones. Por esta razón denominábamos al motor de inferencia como el“cerebro” del sistema, porque sobre él recae la responsabilidad de ser eficaz yeficiente en la elaboración de la solución de un problema.

3. MANIPULACIÓN SIMBÓLICA: El éxito en la solución de problemas por parte de unsistema experto, en gran medida se debe a la capacidad de formular yrepresentar el problema.

Page 21: Inteligencia Artificial y Sistemas Expertos

21

Representar adecuadamente “cosas del mundo” descansa básicamente en lacapacidad de representar simbólicamente esos hechos del mundo.

Como lo señalábamos anteriormente, una distinción importante entre lossistemas expertos y la programación convencional, es la capacidad demanipulación simbólica que le permite a los sistemas expertos “razonar”.

4. RAZONAR SOBRE SÍ MISMO: Una de las características interesantes de lossistemas expertos es la capacidad que tienen de razonar sobre sí mismos, esdecir, de considerar sus propios procesos de inferencia, recomponiendo toda lacadena causal que los conduce a decisiones o conclusiones. Esto loseñalábamos anteriormente cuando explicábamos la arquitectura del sistema ymencionábamos los modos “¿Cómo?” y “¿Por qué?”.

En esta tarea juega un papel muy importante la memoria auxiliar, que es unabitácora en la que se consigna toda la información relevante en el ciclo detrabajo del motor de inferencia, y que es la que permite la reconstrucción yexplicación de toda la labor de encadenamiento y deducción.

5. ADICIONALES: Otras características deseables en los sistemas expertos son:

a) La portabilidad del conocimiento.b) La capacidad de aprender de su propia experiencia.c) Facilidades de modificación de la base de conocimiento.d) Manejar incertidumbre.

2.1.4. Tareas de los Sistemas Expertos

Los sistemas expertos son una herramienta de gran ayuda en los siguientes tiposde tareas:

1. DIAGNÓSTICO: El sistema busca encontrar fallas en un sistema, o determinar unestado de enfermedad en una persona. De esta manera no sólo hablamos desistemas de diagnóstico médico, sino también de un sistema de diagnósticoelectro-mecánico.

2. INTERPRETACIÓN: El sistema realiza un análisis de datos o de patrones paradeterminar su significado. Por ejemplo, un sistema capaz de interpretar unelectrocardiograma o un electroencefalograma.

3. MONITORIZACIÓN: El sistema interpreta señales continuamente y pone enfuncionamiento alarmas cuando se necesita una intervención. Por ejemplo,monitorizar una planta industrial.

Page 22: Inteligencia Artificial y Sistemas Expertos

22

4. PREDICCIÓN: El sistema prevé un comportamiento futuro con base en unmodelo de comportamiento del pasado y del presente. Por ejemplo, predecir elcomportamiento en un mercado de capitales.

5. DISEÑO: El sistema propone configuraciones para crear objetos con unafuncionalidad determinada. Por ejemplo, diseñar circuitos digitales.

2.2 Robótica

Recordemos que en la antropología histórica de la Inteligencia Artificial, seindicaba que desde la antigüedad se construyeron e imaginaron artefactoscapaces de realizar muchas tareas, algunas de ellas como ayudar a nuestraslabores, otras más osadas como amplificaciones de las capacidades humanas,incluyendo el intelecto.

Hoy en día inventamos máquinas que nos ayudan a hacer nuestro trabajo másrápido y más fácil. Sin embargo, también pensamos en máquinas que puedenreemplazarnos totalmente, al menos en algunas tareas.

Desde la revolución industrial se ha incentivado la creación de máquinas capacesde transformar materia prima en productos terminados, sin o con el mínimo deintervención humana. Este proceso se denomina automatización.

La automatización ha estimulado la concepción de máquinas más flexibles yuniversales. De tal manera que en vez de crear una máquina especial diseñadapara hacer sólo unas pocas operaciones, se están construyendo máquinas quepueden ejecutar muchas de las funciones físicas de los seres humanos. Esto nosconduce al concepto de robot.

Un robot es una máquina con la capacidad de duplicar o emular las capacidadesfísicas de una persona.

Así como la inteligencia artificial emula muchas actividades intelectuales, el robotemula las actividades manipulativas.

El cine y el teatro han estimulado la visión apocalíptica de un mundo controlado ymanipulado por robots inteligentes que contienden con la especie humana. Sinembargo, la mayoría de los robots reales son máquinas que están lejos de esascapacidades e intencionalidades. Son máquinas que no pueden pensar, razonar,o tomar decisiones. Ejecutan alguna función, que les es completamenteprogramada, sin el menor atisbo de “Inteligencia”.

Page 23: Inteligencia Artificial y Sistemas Expertos

23

Tales robots preprogramados son útiles, pero muy limitados en la clase de tareasque pueden realizar. Ellos pueden reemplazarnos solamente en tareas especialesrepetitivas, o inmersos en ambientes peligrosos para los seres humanos, como porejemplo en centrales nucleares, hornos de altas temperaturas, etc. En generalellos no tienen autonomía, es decir, la capacidad de adaptarse a su entorno.

En un principio los robots eran operados mediante servomecanismos, sistemaselectromecánicos simples. Sin embargo en la actualidad cada vez son más losque son operados y controlados por computador. Aunque estos robots no sonrealmente inteligentes, el computador los dota de una mucho mayor flexibilidadque les permite adaptarse a cambios de condiciones o a nuevas aplicaciones. Dela mano de la Inteligencia Artificial los robots controlados por computadoradquieren la habilidad de pensar, razonar, tomar decisiones, adaptarseinteligentemente a un entorno, solucionar problemas complejos, “sentir” loscambios.

El uso de sensores en los robots les permite percibir señales que son procesadascomputacionalmente, diciéndoles qué deben hacer. Esto le permite al robotrazonar y adaptarse a una situación dada.

Los sensores pueden ser de muchos tipos: sistemas de visión computacional,sensores de temperatura, presión, etc.

2.2.1. Aplicaciones y Beneficios de los Robots

Hay tres justificaciones principales para el uso de robots. La primera es la mejorade la productividad. La ventaja fundamental de los robots que son incorporadospor ejemplo en una línea de ensamble, es que pueden realizar esas tareasrepetitivas, una y otra vez, sin protestar, sin vacaciones, sin cansarse, sin estarafectados emocionalmente, sin parar la producción. Ellos simplemente hacen sutrabajo día tras día.

La segunda justificación es que muchas tareas en la industria son peligrosas paralos seres humanos. Muchos trabajadores son expuestos a sustancias tóxicas,como químicos y sustancias radioactivas, elevadas temperaturas, altos niveles deruido, materiales pesados, materiales cortopunzantes, etc. En estas condicionesespeciales en las que robots puedan realizar esas tareas manipulando materialespeligrosos o sobreviviendo a esos ambientes hostiles, ellos representan unaexcelente alternativa.

La tercera justificación es económica. La alta inversión que inicialmente hay quehacer en un proceso de robotización industrial, se reditúa ampliamente con eltiempo.

Page 24: Inteligencia Artificial y Sistemas Expertos

24

Hay muchas aplicaciones de los robots en la industria. La aplicación másconocida de brazos robots en la manufactura es la soldadura. La industriaautomotriz hace un uso intensivo de robots soldadores. La soldadura es unaactividad peligrosa, que requiere precisión y concentración. Para un brazo robotprogramado esto es fácil de realizar.

Otra aplicación conocida es la de la transferencia de materiales de un lugar a otrousando brazos robots. Esta labor puede ejecutarse en bodegas y en lugares dealmacenamiento importantes.

En muchas aplicaciones de manufactura, robots realizan tareas de ensamble dealguna máquina o dispositivo. Los componentes individuales son manipulados yordenados en la secuencia apropiada para formar el dispositivo. Es típico el usode robots en la industria de los circuitos integrados y componentes electrónicas.

Otra aplicación importante de los robots es la utilización de brazos robot parapintar mediante el uso de sprays. La cantidad de pintura puede ser controladaprecisamente. Sin embargo no sólo es pintura lo que el brazo robot puedeesparcir, también puede hacerlo con aceite para propósitos de lubricación porejemplo, o de sustancias químicas para prevenir corrosión o en general paraprocesos de barnizado, etc.

2.2.2 Robots Industriales

En la industria se encuentran dos tipos de robots básicos. El primer tipo son losbrazos robot fijos. El segundo tipo son los robots móviles.

Los brazos robot fijos están montados sobre una base, cerca del lugar donderealizan su trabajo. Normalmente la base está fijada a una superficie y no esmóvil.

Los materiales que manipulan los brazos robot están muy cercanos a él. El brazodel robot ejecuta una serie de movimientos dependiendo de su programación.

En algunas aplicaciones especiales, los brazos robot se pueden hacer móviles,por ejemplo montándolos sobre rieles, de tal manera que se puedan desplazar a lolargo de una línea de producción.

La figura 2.2 ilustra un brazo robot típico.

Page 25: Inteligencia Artificial y Sistemas Expertos

25

Figura 2.2 Brazo robot fijo típico

Los robots están diseñados para actuar como brazos humanos. El brazo puederotar o deslizarse para mayor flexibilidad. Al final del brazo tenemos una muñecacon la capacidad de rotar y con varios grados de libertad suministrados por unarticulador, al final del cual se encuentra el mecanismo de sujeción.

El mecanismo de sujeción más sencillo es una garra, que simula los dedos y sucapacidad de coger y agarrar. Versiones mas elaboradas usan tres o más “dedos”para proporcionar más flexibilidad.

Hay varios tipos de brazos robot, dependiendo del método de acceso a un puntodado dentro del espacio definido por su alcance. Los nombres de esos tiposdependen del sistema de coordenadas utilizado: cartesianas, cilíndricas, esféricas,polares.

Dependiendo del tipo de brazo robot y de los movimientos de la muñeca,hablamos de grados de libertad. La palabra grados de libertad se refiere alnúmero de variables independientes usadas para describir el posicionamiento delbrazo (coordenadas).

La energía necesaria para mover el brazo puede provenir de diferentes fuentes depotencia: eléctricas, hidráulicas y neumáticas.

La fuente de potencia eléctrica es un motor eléctrico de corriente continua oalterna que provee rotación o movimiento en las partes.

.

.

.

.

Codo

Junta Muñeca

Mecanismode sujeción

Base

MontajeRotatorio

Hombro

Cable delcomputador

oControlador

Page 26: Inteligencia Artificial y Sistemas Expertos

26

La fuente de potencia hidráulica es un gato hidráulico que presiona un líquido detal manera que por el uso de válvulas y otros mecanismos puede controlar todoslos movimientos del brazo.

Algunos robots utilizan un sistema neumático como fuente de potencia. El airecomprimido es conducido para generar movimiento.

Para que la fuente de potencia mueva un brazo robot a una posición específica yrealice una tarea concreta, es necesario que exista un controlador que envíeseñales a la fuente de potencia para que realice su labor. Los controladores sonusualmente circuitos electrónicos, que programados, le dan al brazo robot unasecuencia de instrucciones.

Cada vez más se utilizan computadores digitales como controladores.

Los robots móviles tienen la capacidad de desplazarse en su entorno, de talmanera que sus brazos manipuladores están montados sobre plataformas queactúan como vehículos propulsores. Sin embargo hay diferentes estrategias delocomoción, desde los robots con ruedas y con patas hasta los acuáticos.

Muchos robots móviles son teleoperados mediante señales de radio, pero otros loson por cables largos. En estos robots teleoperados, en algunos casos eloperador humano puede ver la ejecución de tareas por parte del robot y realizarlos ajustes y controles apropiados, pero en otros casos no es así, haciéndosenecesario que el robot esté dotado de dispositivos como cámaras de televisiónpara recibir información visual que le permita al operador dirigir al robot hacia lasacciones pertinentes. En algunos casos los robots tienen la capacidad de enviarseñales como luces infrarrojas o ultrasonidos que son reflejados por el entorno ypercibidos por sensores de robots, produciéndose retroalimentación que le permiteal operador humano manejar adecuadamente al robot.

La ventaja fundamental de los robots móviles radica en que estos puedendesplazarse hasta el lugar donde hay que ejecutar el trabajo. Esto los haceidóneos para reemplazar los seres humanos en ambientes o tareas peligrosos.Pueden ser enviados a plantas nucleares, fondo de los océanos, cuevas,desiertos, espacio exterior, etc. Pueden realizar tareas peligrosas comomanipulación de sustancias tóxicas, desactivación de bombas o artefactosexplosivos, etc.

2.2.3 Robots Inteligentes

Los robots descritos anteriormente no pueden pensar o adaptarse a su entorno.Ellos simplemente llevan a cabo una serie de tareas preprogramadas. Son útiles

Page 27: Inteligencia Artificial y Sistemas Expertos

27

en labores donde la inteligencia, toma de decisiones y adaptabilidad no sonrequeridas.

Los robots son más útiles en la medida que exhiben comportamientos ycualidades que ordinariamente consideramos como inteligentes. Cuando ellosperciben un entorno mediante sensores que actúan como sus órganos de lossentidos, procesan esa información, toman decisiones, se adaptan al entornomodificando sus acciones frente a él dependiendo de la situación, es decir, enresumen comportándose de manera autónoma.

La Inteligencia Artificial es la gran responsable de ese paso de los robotsindustriales a los robots inteligentes, pues algunas de sus ramas son las quepermiten dotar a los robots desde percepciones sensoriales hasta razonamiento ytoma de decisiones.

Cuando un robot industrial es programado para realizar una tarea, se exige que elposicionamiento del objeto de manipulación por parte del robot sea muy preciso.Si la pieza a ser manipulada no aparece en la posición correcta, el robot fallará ensu tarea.

Teniendo en cuenta las imperfecciones propias de nuestro mundo, es muyimportante que el robot sea capaz de enfrentarse y adaptarse a situaciones noplaneadas, como variaciones en las condiciones del entorno de operación, errores,desórdenes, daños, etc. Es decir, con un sinfín de contingencias posibles.

La real utilidad de un robot dependerá en gran medida de su capacidad deresponder a las eventualidades del mundo. su grado de flexibilidad y adaptación,a su capacidad de percibir, evaluar y compensar los problemas inherentes a lasimperfecciones de su entorno de trabajo.

Para lograr que un robot tome decisiones y actúe adecuadamente encircunstancias impredecibles, es necesario dotarlo de sensores y de la capacidadde razonamiento y toma de decisiones.

Si un robot tiene la capacidad de “ver”, o “escuchar”, o “tocar”, o “gustar”, u “oler”,percibirá mejor su entorno y podrá hacer mejor su trabajo.

Es importante que los robots puedan tener los mismo sentidos que nosotrostenemos, como una aproximación básica esencial al mundo, para que exhibancomportamientos con esas cualidades de inteligencia que esperamos.

La visión es el sentido más importante en humanos y en robots. Muchainformación del entorno es obtenida por este sentido, más que por ningún otro.

Page 28: Inteligencia Artificial y Sistemas Expertos

28

Dotar a un robot del sentido de la visión no es fácil. Sin embargo no lo es, porqueel problema va más allá de montar una cámara de vídeo que capte un ambiente ose enfoque en una pieza de trabajo. Lograr la visión es más complejo quecapturar una imagen. La cámara y los dispositivos ópticos son sólo órganosaferentes en el proceso de visión, la visión no se produce con ellos, hace falta un“cerebro” capaz de asociar la imagen con un marco conceptual elaborado a partirde la experiencia, producto de un aprendizaje.

Para hablar de visión debemos distinguir dos fases. La primera relacionada con laobtención de la imagen. El posicionamiento de la cámara es crítico para obtenerla mejor vista posible, y su movilidad también es muy importante. En algunoscasos se hacen necesarias dos o más cámaras, por ejemplo para obtener visiónestereoscópica, o para calcular distancias por triangulación.

La segunda está relacionada con el procesamiento de la imagen, es decir, con lavisión propiamente dicha. En el caso de los seres humanos esta labor la realiza elárea de la corteza cerebral dedicada a la visión, con la intervención de otrosórganos y áreas corticales que conforman la capacidad de asociación. En el casodel robot esta labor depende de un motor de inferencia con una base deconocimiento asociada.

Esta labor de percepción inteligente es aplicable a todos los demás sentidos.

El segundo sentido más importante es el del tacto. Este sentido le permite al robotestar en contacto con la pieza de trabajo. Más aún, le permite saber cuántapresión le está ejerciendo a la pieza de trabajo. Una garra aplicará una cantidadfija de presión a la pieza. Si ésta no es suficiente, el objeto caerá, por el contrariosi es demasiada lo podrá dañar. Esto hace necesario ajustar la fuerza correcta, locual se realiza mediante unos transductores de presión, que permiten controlar lacantidad de presión en la garra o pinza.

El sentido de “escuchar” no es tan importante como el de “ver” y “tocar”. Sinembargo en algunas situaciones la habilidad de escuchar puede ser muy útil.Nuevamente “escuchar” no es simplemente percibir una señal acústica medianteun micrófono y a lo sumo amplificarla, hace falta un sistema reconocedor desonidos, por ejemplo un reconocedor de voz, que como veremos más adelante esalgo complejo.

Los sentidos del “olfato” y el “gusto” rara vez se necesitan y utilizan.

En los seres humanos la corteza cerebral es el centro de procesamiento sensorialque nos permite “ver”, “escuchar”, etc. En los robots es una arquitectura con unaconfiguración especial la que permite asociar percepción con inteligencia. LaFigura 2.3 ilustra la arquitectura para un robot inteligente.

Page 29: Inteligencia Artificial y Sistemas Expertos

29

Figura 2.3 Arquitectura para un Robot Inteligente

2.3 Visión Computacional

La visión en los seres humanos representa una tarea formidable, en la que seencuentran implicados una docena de centros cerebrales que constituyen el 60%de la corteza cerebral. La retina, provista de cien millones de conos y bastones yde cuatro capas de neuronas suplementarias, efectúa diez mil millones deoperaciones por segundo antes de que la “representación” de la escenaobservada llegue al nervio óptico.

CPU

Interfase deSalida

Interfase deEntrada

Programa deControl

Base deDatos

Motor deInferencia

Base deConocimiento

RAM

COMPUTADOR

BRAZOROBOT

Ambiente deTrabajo

SensoresPre-Procesamiento

Page 30: Inteligencia Artificial y Sistemas Expertos

30

Pero toda esta información aún no es suficiente: la imagen que se forma ennuestra retina es una imagen bidimensional que, a continuación, nuestro cerebrointerpreta en forma tridimensional.

Esta transformación es un proceso complejo que podría ocasionar muchasambigüedades. Esta es una de las dificultades grandes para la visión artificial ovisión computacional. Lograr distinguir un objeto plano de uno con volumen, unacerámica o porcelana o estatua de un animal de uno vivo, no confundirse con lassombras, etc. Sin embargo nosotros no tenemos esas dificultades. ¿Cómo lossistemas de visión artificial lo pueden lograr? ¿Qué procesos computacionales hayque utilizar para deducir de la percepción de la realidad (imagen), unainterpretación simbólica (objetos reconocidos, modelo de entorno, etc.)? Ademásreduciendo la enorme cantidad de cómputo necesaria para el tratamiento decantidades de información tan importantes.

Estos son los retos fundamentales a los que responden los sistemascomputacionales de visión artificial.

Las aplicaciones de estos sistema son muchas y como lo señalábamos en la partede robótica, son esenciales en robótica inteligente.

Los sistemas de inspección visual han constituido la primera aplicación de la visiónartificial. Esto se debe a que las tareas de inspección y control, ocupan a unporcentaje alto de obreros en el mundo de la producción de bienes.

Tareas como la selección de piezas mecánicas, control de los defectos en piezasde motor o de componentes electrónicos, entre otras, son aplicaciones cotidianasde estos sistemas.

Un sistema de visión artificial es una combinación de sensores y de computación.Los primeros miden las intensidades luminosas de la escena observada; elsistema computacional trata y analiza estos datos, de los que extrae unadescripción simbólica del entorno. Así pues, los sensores son los elementosintermediarios entre el mundo real y el sistema de tratamiento de la imagen.

Un sistema computacional de visión artificial opera mediante un proceso queconsta de cuatro pasos: adquisición de la imagen, procesamiento de la imagen,análisis de la imagen y entendimiento de la imagen.

Consideremos cada uno de esos pasos con más detalle.

2.3.1 Adquisición de la Imagen.

Page 31: Inteligencia Artificial y Sistemas Expertos

31

La mayoría de las veces, la adquisición de imágenes se realiza con ayuda desensores de tipo cámara de televisión, que suministran una señal de vídeoestándar, posteriormente numerizada.

Básicamente el proceso consiste en capturar la imagen mediante la cámara queademás traslada la escena a ser analizada en una señal análoga. Luego esaseñal es digitalizada mediante un convertidor análogo a digital, que la convierte enformato binario. Los números binarios son almacenados y posteriormenteprocesados por el computador.

Las cámaras principalmente son de dos tipos: cámaras de tubos y cámaras desemiconductores.

Cámaras de tubos son las que se han utilizado durante muchos años,principalmente en televisión.

Estas cámaras son en esencia un tubo de rayos catódicos que posee una fuenteemisora de electrones (cátodo), los cuales son acelerados en el cañón del tubomediante un campo electromagnético, y colisionando perpendicularmente contraun objetivo fotosensible.

Las cámaras de semiconductores están constituidas por fotodiodos integrados ensustratos de silicio. La versión más moderna de las cámaras de semiconductoresson los dispositivos de carga acoplada (CCD en inglés, iniciales que correspondena Charged Coupled Devices). Un dispositivo de estos es un circuito integradosensible a la luz y diseñado para convertir una imagen visual rectangular en unaseñal eléctrica de vídeo. Una lente enfoca la escena sobre un sustratofotoconductor. Este dispositivo absorbe la luz y almacena su carga en miles depequeños condensadores cuadrados.

Para “leer” la escena, se aplican voltajes a los electrodos de los condensadores ensecuencia de derecha a izquierda, produciéndose una descarga en loscondensadores y con ella una transferencia de una señal análoga.

Las cámaras de carga acoplada son las preferidas para visión computacional.Son más pequeñas, más sensibles y distorsionan mucho menos.

Cada vez que una señal de vídeo es escaneada por un convertidor análogo adigital, decimos que un pixel ha sido creado. Un pixel es el valor de la intensidadde luz en un punto en particular sobre una línea escaneada. Por lo tanto cadapixel es el elemento más pequeño en el que descomponemos una imagenescaneada.

A mayor número de pixeles por línea, mayor definición.

Page 32: Inteligencia Artificial y Sistemas Expertos

32

Todas las escenas son representadas como filas y columnas de pixeles, en unaescala de grises.

El número de bits de salida del convertidor análogo a digital determina el númerototal de niveles de grises a ser representados.

Las vídeo cámaras no ven en tres dimensiones. Lo que se obtiene es unarepresentación bidimensional. Sin información de profundidad o visiónestereoscópica, es muy difícil determinar la distancia entre la cámara y los objetosobservados. Además es difícil determinar las distancias entre diferentes objetosen la escena. Todo esto es muy importante porque ayuda a comprender mejor laescena.

Para obtener imágenes tridimensionales, la misma escena es vista por doscámaras. Las cámaras son usualmente localizadas en puntos fijos y separados adistancias conocidas. Luego, las escenas de las dos cámaras son digitalizadas yalmacenadas en memoria. Una vez los objetos en las escenas han sidoidentificados, el computador ejecuta varias operaciones matemáticas para ayudara calcular las distancias a los objetos y las distancias entre los objetos, por elconocido proceso de la triangularización [2],[6].

2.3.2. Procesamiento de Imágenes

Cuando los sensores han obtenido datos, la imagen se halla almacenada en lamemoria del computador en forma de un cuadro o matriz de números que indicansu luminosidad (nivel de gris) o bien su reparto en tres colores fundamentales:azul, verde y rojo. El sistema de visión artificial aborda entonces la siguiente etapade su trabajo: el procesamiento de imagen.

Dicho procesamiento tiene como objetivo mejorar la calidad de la imagen. Ycualquier cosa que se haga para que ésta sea más clara simplificará el análisis ymejorará el entendimiento.

Desde el mismo instante en que la luz reflejada por una escena entra a un sistemade visión computacional, es distorsionada. Por ejemplo, las lentes de la cámaraproducen alguna distorsión. Inconsistencias en el objetivo fotosensible o en eldispositivo de carga acoplada producirán disparidades en las intensidadesluminosas. No linealidades en el proceso de escaneo también producirándistorsión. Finalmente, el proceso de conversión de análogo a digital introduceimperfecciones llamadas errores de cuantización.

Hay otros problemas adicionarles. Niveles de luz extremadamente bajos puedenproducir una escena difícil de captar para la cámara. La cámara misma puede no

Page 33: Inteligencia Artificial y Sistemas Expertos

33

ser lo suficientemente sensible para capturar con toda su definición la escena.También hay problemas con escenas extremadamente brillantes.

Los movimientos de la cámara pueden producir así mismo distorsiones.

Otro problema es el ruido, en una señal eléctrica, el ruido son adiciones nodeseadas que oscurecen la señal buscada.

Considerando el tipo de degradación de la señal, las técnicas de procesamiento seutilizan para eliminar o minimizar esos problemas.

Una de las técnicas más utilizadas para ayudar a eliminar el ruido y la distorsiónes la de promedio de imágenes. En esta técnica, el sistema de visión artificialcaptura vistas secuenciales de la escena y luego las promedia. Variacionesmenores pueden ocurrir de una escena a otra. Por ejemplo, si la posición de la luzcambia o si el objeto se mueve, sus reflexiones variarán. Es más, en muchoscasos estos movimientos son deliberados para proporcionar diferentes vistas delos mismos objetos. Puesto que este ruido es aleatorio, la técnica del promediadolos reduce a un nivel muy bajo [2],[6].

Otra técnica de procesamiento consiste en iluminar o en oscurecer la escena. Esllamada modificación de la escala de grises. Dependiendo de la necesidad, lamodificación es hecha, agregando, restando, multiplicando o dividiendo los valoresde los pixel por una constante. El efecto es iluminar algunos pixel y oscurecerotros. También existe la técnica del contraste, que como su nombre lo indica,contrasta los valores de los pixel de la imagen en el rango entre la brillantez y laoscuridad.

Otra técnica empleada se conoce con el nombre de aplanamiento de histograma.Un histograma puede ser construido de la imagen binaria, contando el número deveces que cada nivel de gris ocurre. Con este histograma un programa puededeterminar si hay excesivos valores altos o bajos procediendo a equilibrar esosvalores, lo que se refleja en un aplanamiento del histograma.

Dado que una imagen puede ser digitalizada y llevada a un formato binario, elcomputador puede virtualmente ejecutar cualquier operación matemática,manipulando los pixel de una imagen de muchas formas.

2.3.3. Análisis de Imagen

El análisis de la imagen consiste en extraer de ésta cierto número decaracterísticas que permitirán preparar una representación condensada yestructurada. Esta representación es una síntesis de la información presente en laescena observada, descripción en la que intervienen parámetros físicos o

Page 34: Inteligencia Artificial y Sistemas Expertos

34

geométricos bien definidos, como regiones, fronteras o bordes. Se fundamenta enconceptos matemáticos como grafos, que permiten representar relacionesgeométricas (posiciones relativas) o topológicas (proximidad, inclusión…) entre lascaracterísticas extraídas [2].

El primer paso en un análisis de imágenes consiste en localizar todos los bordes yfronteras. Los bordes representan fronteras de dos superficies próximas.También identifican la interfase entre dos superficies diferentes o entre un objeto yun soporte. Un borde también se forma entre dos objetos cuando uno estáenfrente o detrás del otro.

Bordes y regiones o superficies definen completamente la escena. Las regionesson grandes áreas planas de objetos o escenas que tienen la misma intensidad yocurren entre varios bordes y líneas de frontera.

Varias técnicas matemáticas han sido desarrolladas para detectar bordes ysuperficies. Esas técnicas son el corazón del análisis de imágenes.

Las superficies son fáciles de identificar porque son relativamente uniformes enintensidad luminosa. Los pixel adyacentes dentro de la superficie tendrán valoresiguales o muy próximos entre ellos. Los valores pueden cambiar gradualmentesobre la superficie debido al sombreado causado por el posicionamiento de lafuente de luz.

Las superficies son a menudo suavizadas, quitándoles irregularidades osombreando antes de que se detecten bordes. Después de esto se inicia elproceso de detección de bordes. Esto se realiza con un programa que escanea através de todos los números binarios que representan pixel para determinarcuándo esos pixeles caen en la frontera entre dos superficies. Esto se hacecomparando la intensidad de pixeles adyacentes. Si la diferencia entre los valoreses muy pequeña, las intensidades de los dos pixeles forman parte de una gransuperficie. Una gran diferencia, por otro lado, indica un borde o frontera.

El programa de detección de bordes utiliza un umbral de valores que le permiteestimar si una diferencia es lo suficientemente grande para que se considere elreconocimiento de un borde. Si la diferencia en los valores del pixel supera elumbral, entonces un borde ha sido detectado cuando las fronteras de todos losobjetos en la escena han sido identificadas, se esqueletizan dibujando una líneamediana. La parte de entendimiento de la imagen del sistema de visióncomputacional, utiliza estos esqueletos para hacer la identificación final de losobjetos.

Page 35: Inteligencia Artificial y Sistemas Expertos

35

2.3.4 Comprensión de la Imagen

El paso final en el proceso de visión computacional consiste en identificar objetosespecíficos y sus interrelaciones. Esta es la parte del proceso que utilizainteligencia artificial. Los pasos previos fueron realizados con algoritmos, ahorapara entender la escena se utilizará un procesamiento simbólico.

Entender lo que es una escena requiere equiparación de patrones. El computadores preprogramado con imágenes binarias pre-almacenadas, o patrones, querepresentan objetos específicos. Usando un programa de búsqueda y técnicas deequiparación de patrones, el computador mira a través de la información binariaque representa la escena y la compara con varios patrones. Cuando laequiparación es exitosa, un objeto es identificado. Este proceso de equiparacióncontinúa hasta que toda la información en la escena ha sido analizada y todos losobjetos han sido identificados. El computador sabe entonces qué es lo que estaviendo.

La técnica de equiparación de patrones compara un modelo de un objetoconocido, almacenado como una imagen binaria, contra la imagen binaria de laescena que se está percibiendo. La base de comparación es el esqueletoobtenido al final del paso de análisis de imagen. Tanto la escena como el patrónson almacenados como esqueletos.

La comparación usualmente se hace, pixel a pixel. Los valores de los pixeles delas dos imágenes son restados por ejemplo, obteniéndose un valor de diferencia.Si la diferencia es cero, la equiparación es exitosa, lo que significa que soniguales. Pequeñas diferencias ponen de manifiesto una equiparación muyaproximada. Por el contrario, diferencias altas revelan una gran disparidad en lasfiguras.

Es difícil equiparar una forma conocida a una forma percibida porque el patrónalmacenado en memoria es fijo en tamaño y orientación. Por lo tanto, para lograruna equiparación, el patrón debe ser manipulado. Por ejemplo, modificar escalasde tamaños, o rotar el patrón para lograr una mejor aproximación al objeto en laescena.

Se pueden efectuar muchos cálculos antes de obtener una buena aproximación.Después de cada re-orientación o modificación de escala del patrón, se realizauna nueva equiparación.

Si no ocurre la equiparación, el computador no puede entender la escena. Nopuede reconocer objetos ni acerca de qué es la escena. Si el patrón no seencuentra en el computador, ese objeto nunca se podrá identificar. Esta es unade las principales limitaciones de los sistemas de visión computacional.

Page 36: Inteligencia Artificial y Sistemas Expertos

36

Es importante tener en cuenta que la base de conocimiento para un sistema devisión computacional es un conjunto de patrones de varias formas.

El proceso de equiparación de patrones es la base de la mayoría de los sistemasindustriales de visión computacional.

Hay otras técnicas de entendimiento o comprensión de la imagen, que tambiéninvolucran búsqueda y equiparación de patrones, pero a un nivel diferente. Porejemplo, en vez de almacenar objetos enteros o formas como patrones, elcomputador puede almacenar bits y piezas de objetos en su base deconocimiento. Al nivel más bajo, el computador puede almacenar un segmento delínea, al cual manipula para equiparar contra las líneas del esqueleto. Lo mismovale para cuadrados, rectángulos, círculos y elipses.

El problema de la comprensión en el mundo real es extremadamente difícil ycomplejo. De hecho son pocos los sistemas de visión computacional que soncapaces de comprender imágenes. Esto ha conducido a investigar la visióncomputacional en entornos más reducidos, llamados mundo de bloques.

Un mundo de bloques es un entorno donde múltiples bloques de diferentes formasgeométricas son usados como objetos para formar una escena a ser identificada.Los objetos coloreados son apilados unos al lado del otro para formar un ambientelimitado y controlado. Luego es experimentado el sistema de visión computacionalen este mundo de bloques, produciéndose sobre él identificación de objetos.

La identificación de objetos en un simple mundo de bloques es relativamente fácil.Usualmente es del 100%.

2.4. Reconocimiento de Voz

Las ventajas que se esperan de la comunicación hombre-máquina oral sonmúltiples. Mientras que una gran cantidad de comunicaciones se lleva a cabo porel procedimiento de escribir palabras, son solamente una pequeña fracción denuestras comunicaciones diarias por la voz. Las comunicaciones orales no sonsolamente más naturales, sino también más rápidas. Esto repercute en lascomunicaciones hombre-máquina, pues si se dan a nivel oral, le permiten al serhumano concentrar los ojos y las manos en otras actividades.

Con un sistema de reconocimiento de voz se pueden dar órdenes (comandos decontrol) e ingresar datos. Por ejemplo, decirle al computador personal que lemuestre los archivos, o dictarle a un procesador de palabras, o ingresar oralmentelos datos de una hoja de cálculo, etc.

Page 37: Inteligencia Artificial y Sistemas Expertos

37

Consideremos una situación donde un computador controla varias máquinas yprocesos en una empresa. Los usuarios de tales sistemas están frecuentementeocupados observando los procesos, manipulando manualmente materiales ocontrolando otras máquinas. En tales casos, es inconveniente escribir comandosen el computador para ejecutar funciones de control.

Si se usa un sistema de reconocimiento de voz, el usuario se puede concentrar enla observación y manejo de operaciones, controlando aun la maquinaria medianteórdenes orales. Muchas máquinas podrían recibir comandos orales tan simplescomo: “arranque”, “pare”, etc.

Existen múltiples aplicaciones potenciales de estos sistemas de reconocimiento devoz. Desde sistemas de transcripción automática de dictado, hasta el control deaparatos complejos mediante la voz.

Un ejemplo simple de aplicación es un sistema de control de inventarios que lepermite al usuario tener los ojos y las manos libres para manipular los objetos quese están contando, mientras que la voz permite identificar y contar verbalmente elobjeto.

Una aplicación interesante es una cabina telefónica totalmente controlada por lavoz, en donde el reconocimiento y la síntesis de la misma permiten lacomunicación telefónica de manos libres, en la que no hay necesidad de losaparatos mecánicos tradicionales, con ventajas como por ejemplo permitir su usopor parte de minusválidos, y de ser menos vulnerables a vandalismo.

Algunas aplicaciones son mostradas en el cine y la televisión, donde se muestran“carros fantásticos” que entre otras cosas permiten el control vocal, que presentala ventaja de no obligar al conductor a dejar el volante ni apartar la mirada de lacarretera. Muchos fabricantes de automóviles están interesados en laincorporación de esta tecnología, que permite controlar con la voz desde elarranque hasta los accesorios como el radio, pasando por las luces, aireacondicionado, etc.

Los sistemas militares desde el control de armas hasta el pilotaje de aviones decombate, comienzan a incorporar sistemas reconocedores de voz, que le permitenal usuario liberar las manos o los ojos.

Dado que la voz de cada persona tiene unas características propias (intensidad,tono, timbre), un uso adicional de los sistemas reconocedores de voz se encuentraen el campo de la seguridad, ya que las características aludidas permitenconsiderar una especie de firma oral, que identifica a cada persona. Esto esutilizado como base para un sistema de seguridad que limita el acceso deindividuos a una determinada área. Por ejemplo, para abrir una puerta, la personapronuncia una frase especial o santo y seña en un micrófono, el sistema

Page 38: Inteligencia Artificial y Sistemas Expertos

38

reconocedor de voz equipara la firma vocal y si se encuentra entre las aceptadas oreconocidas, abre la puerta. De otra manera el acceso es negado.

Los reconocedores de voz son clasificados de diversas maneras. La primeraconsiste en que hay sistemas que reconocen palabras individuales y otros quereconocen discurso continuo. La segunda consiste en que hay sistemasdependientes o independientes del hablante [3],[11].

Un reconocedor de palabras, como su nombre lo indica, es un reconocedor de vozque identifica palabras individuales. Tales sistemas son capaces de reconocersolamente un pequeño vocabulario de palabras simples o frases simples. Paratransmitir comandos o datos a un computador usando uno de esos sistemas, sedebe especificar la información de entrada en un formato de palabras simplesdadas unas después de otras. Se deben definir pausas entre las palabras, no soncontinuas.

Crear el hardware y el software que reconozca la voz humana es difícil. Losprimeros reconocedores de voz fueron del tipo de reconocedores de palabras. Esmás, los sistemas pioneros fueron aún más simples, en el sentido de que ellosreconocían solamente letras individualmente de un alfabeto y números.

Los inicios de los trabajos sobre el reconocimiento de palabras se remontan a1939. Un investigador de los laboratorios Bell, M. Dudley, construyó un aparatollamado Vocoder (una contracción de voice coder, que significa “codificador devoz”), que permitía codificar electrónicamente la señal vocal en una serie limitadade parámetros, antes de transmitirla con un flujo reducido de informaciones yreproducirla en un sistema de síntesis que efectuaba la operación inversa delVocoder.

Los reconocedores de discurso continuo, reconocen un flujo continuo de palabras.Se les puede hablar frases completas, que serán reconocidas y entendidas. Losreconocedores de discurso continuo son más difíciles de construir. La dificultadestriba en separar una palabra de otra en una frase continua. Cuando hablamosnormalmente, la mayoría de las palabras fluyen juntas en un chorro continuo, locual hace difícil para un reconocedor establecer dónde termina una palabra ycomienza otra.

A pesar de los numerosos años de investigación no son muchos los sistemasreconocedores de discurso continuo que lo hacen en tiempo real; y menos aún losque hacen reconocimiento independiente de los hablantes. Sin embargocomienzan a aparecer en el mercado reconocedores con vocabularios limitados yentrenados con redes neuronales artificiales.

Un sistema dependiente del hablante significa que el sistema ha sido entrenadocon la voz de un individuo particular. Dadas las diferencias en la voz de una

Page 39: Inteligencia Artificial y Sistemas Expertos

39

persona a otra, es difícil construir un sistema electrónico y computacional quereconozca múltiples voces. Limitar el sistema a la voz de una persona nosolamente lo hace más simple sino más accesible.

Un sistema independiente del hablante, es un sistema reconocedor de vozdiseñado para ser completamente versátil, hasta tal punto que a pesar de lasdiferencias en la voz de una persona a otra, el sistema pueda reconocerlas.

En síntesis, el lenguaje hablado naturalmente presenta un cierto número decaracterísticas que hacen muy complejo su tratamiento.

La ausencia de silencios entre las palabras plantea un problema muy difícil desegmentación de un flujo continuo de palabras encadenadas. La variabilidad tangrande que puede presentar un mismo discurso según la manera de hablar del“hablante”, que puede cantar, gritar, murmurar, estar ronco o resfriado, y tambiénsegún el propio hablante (hombre, mujer, niño, voz nasal, diferencias de timbre,etc.), sin hablar de los acentos regionales. Las perturbaciones aportadas por losmicrófonos (según el tipo, la distancia, la orientación) y el ambiente (ruido,reverberación), complican aún más el problema. Además, el hecho de que lapalabra sea el resultado de una combinación de informaciones de caracteres muydiferentes, que se sitúan a los niveles fonéticos (los sonidos elementales utilizadospor una lengua), fonológico (la manera en que se influyen entre sí en una palabrao en una frase), sintáctico (la estructura de la frase), semántico (el sentido deldiscurso) y pragmático (la adecuación al contexto real), multiplica los criterios dedecisión.

Las estrategias para la realización de reconocedores de voz depende del tipo dereconocedor. Una cosa es construir un reconocedor capaz de reconocerglobalmente palabras aisladas (separadas por lo menos 200 milisegundos)pertenecientes a vocabularios reducidos o pronunciadas por una sola persona; yotra muy diferente construir el reconocedor capaz de reconocer el discursocontinuo y además independiente del hablante. Para este segundo caso laestrategia procede en dos etapas: la primera, el reconocimiento de los sonidoselementales que componen la lengua (los fonemas, y se habla de reconocimientofonético o analítico); la segunda, la explotación de información a nivel superior (elléxico de las palabras posibles, la estructura de las frases enunciables) parareconocer la frase efectivamente pronunciada a pesar de los errores cometidos alnivel inferior sobre los sonidos que la componen.

Page 40: Inteligencia Artificial y Sistemas Expertos

40

Tanto si el reconocimiento es global como analítico, el proceso de reconocimientode voz comienza por el análisis de una señal vocal, previamente convertida en unaseñal eléctrica mediante un micrófono. Ésta, que al principio se presenta comouna señal que varía continuamente en función del tiempo (se habla de señalanalógica) se convierte a continuación en una señal digital, es decir, en una seriede números que representan la amplitud de la señal a intervalos próximos (unadiezmilésima de segundo). Esta señal codificada numéricamente, puede sermanejada directamente por el dispositivo, sin embargo, normalmente se prefieretrabajar sobre una representación “espectral” de la señal, obtenida midiendodurante intervalos más prolongados (unos 10 milisegundos) los elementos defrecuencias distintas que la componen y su amplitud (se trata de la frecuenciafundamental, producida en primer análisis por las cuerdas vocales y sus diferentesarmónicos, con modulaciones introducidas por las cavidades buconasales, cuyosprincipales rasgos se llaman formatos de la señal); este tipo de descomposiciónse titula “análisis amplitud-tiempo-frecuencia”. Esta parametrización permitereducir de forma considerable, aproximadamente en una factor de 10, el flujo deinformaciones representado por la señal vocal, y eliminar las redundancias quehay en ella.

Es muy conocido el uso de las transformadas rápidas de Fourier para esta laborde descomposición espectral.

El análisis acústico antes referido, y que proporciona una parametrizaciónnumérica de la frase pronunciada, constituye la primera fase de un total de cuatroque conforman el llamado módulo acústico. La siguiente fase de este módulo esla segmentación, que descompone la señal en una serie de sonidos elementalesdistintos y que precede a otra etapa muy importante: la extracción de lascaracterísticas claves (en inglés, Features) que servirán para el reconocimiento delos diferentes segmentos detectados. La elección de estas características no estáperfectamente definida: en los casos más corrientes, se trata de una descripcióncondensada del espectro (composición de frecuencia) de la señal en losmomentos de mayor estabilidad de los segmentos, o bien por el contrario, en losmomentos de transición. En paralelo, otra operación realizada a veces por elmódulo de descodificación acústica es la extracción de las informaciones“prosódicas”, o sea las relacionadas con particularidades de pronunciación. Estasinformaciones son de tres tipos: la variación de la frecuencia fundamental de lavoz, la intensidad de ésta y su ritmo (duración de las sílabas). Estos datos setransmiten a un “módulo prosódico” especializado, eventualmente capaz dedetectar en ellos información que se añadirá al resultado del análisis de losfonemas (insistencia, interrogación, etc.).

Aparte del módulo de descodificación acústica, los sistemas analíticos empleanuna sucesión de otros módulos, en cuyo interior, el proceso de reconocimientoprogresa gracias a la intervención de fuentes de conocimiento de niveles cada vez

Page 41: Inteligencia Artificial y Sistemas Expertos

41

más elevados: módulo fonético, fonológico, lexicológico, sintáctico, semántico ypragmático.

La Figura 2.4 ilustra la interrelación de los módulos de un reconocedor de vozanalítico [11]:

Figura 2.4 Interrelación de Módulos

El módulo fonético desempeña un papel esencial: tiene la función de traducir lalista de características claves determinada previamente en una serie de fonemas.Pero la traducción en forma de fonemas no es sencilla: de hecho, la producciónde la palabra es un proceso dinámico en el que se articula un fonema preparandoya la emisión del siguiente. En estas condiciones, no siempre es posible precisarqué fenómeno corresponde a un sonido dado, sino sólo dar una serie de fonemasposibles, con probabilidades. Entonces no se consigue una lista única defonemas, sino una lista de grupos de fonemas–candidatos que ofrecen numerosasposibilidades de combinación, entre las cuales habrá que elegir utilizando lasinformaciones de los niveles superiores al nivel fonético.

El primero de estos niveles es el fonológico: se refiere a los fenómenos de lalengua que se traducen por el hecho de que el contenido fonético teórico de laspalabras es modificado en una articulación rápida o bien en función del contexto.

En el siguiente nivel, el lexicológico, intervienen las informaciones sobre laspalabras. Esto implica no solamente las palabras comunes, sino también lasflexiones de las palabras, como la conjugación de los verbos en los diferentes

Módulo

MóduloAcústico

MóduloFonético

MóduloLexicológico y

Fonológico

MóduloSintáctico ySemántico

MóduloPragmático

RasgosAcústico

Fonemas Palabras Frases

DiccionarioFonético y reglas

Fonéticas

Léxico +Reglas

Fonológicas

Sintaxis ySemántica

Conocimientossobre la

aplicación y laestructura del

diálogo

Page 42: Inteligencia Artificial y Sistemas Expertos

42

modos, tiempos y personas. Además hay que añadir los nombres propios y laspalabras raras, como las de los vocabularios técnicos. Cada una de estaspalabras puede tener una o varias pronunciaciones, en función de reglasmorfológicas que están representadas por su escritura fonética.

En los sistemas que reconocen el lenguaje natural, el nivel de grado superior,llamado sintáctico, se supone que reafirma las reglas de la gramática que permitendescribir y analizar el lenguaje, en términos gramaticales y funcionales.

El nivel semántico, trata del o de los sentidos de las palabras como las quepueden encontrarse en un diccionario, de las relaciones entre ellas. Deberíacontener información que permitiese comprender el sentido de una frase, como lohace un ser humano.

Finalmente, el último nivel, llamado pragmático, tiene la misión de determinar elsentido de una frase en el contexto de la aplicación. Así, dará un sentido diferentea la palabra “letra” según que la acción suceda en un banco o en una imprenta.De la misma manera, en el contexto de una conversación, deberá relacionar lostérminos que describen un mismo elemento.

2.5. Tratamiento del Lenguaje Natural

La comunicación habitual con el computador es a través de lenguajes deprogramación o de códigos especiales. El uso de teclado es indispensable paradecirle qué es lo que deseamos y él nos responde con mensajes cortos quevisualizamos en la pantalla del computador.

Para comunicarnos con el computador debemos aprender comandos, lenguajes ytoda la parafernalia asociada a ellos, que dista mucho del lenguaje humano quellamamos lenguaje natural. Muchos esfuerzos se realizan en hacer loscomputadores más “amigables”, mejorando las interfases hombre-máquina,mediante pantallas de diálogo con menús, iconos, ventanas y con dispositivoscomo ratones, lápices ópticos, pantallas sensibles al tacto, etc. Pero aun con ellono se alcanza la comunicación no oral en lenguaje natural.

Muchas dificultades y barreras podrían ser minimizadas o aun eliminadas sipudiéramos comunicarnos con el computador en nuestro propio lenguaje. Noseria necesario aprender comandos especiales, ni lenguajes extraños, basta darlas instrucciones o la información en un formato conveniente, pero en español o eninglés, o en la lengua que sea. Lo importante es que el computador tendría lasuficiente inteligencia para interpretar nuestros mensajes o instrucciones en eseformato.

Page 43: Inteligencia Artificial y Sistemas Expertos

43

Los sistemas de procesamiento o tratamiento del lenguaje natural forman parte delas aplicaciones de la inteligencia artificial, porque ellos son una forma de sistemasbasados en el conocimiento.

Para entender un requerimiento en lenguaje natural, un computador debe analizarconocimiento, interpretarlo. Debe entender la gramática y las definiciones de laspalabras. Las técnicas de Inteligencia Artificial se utilizan para representar elconocimiento interno y procesar las entradas. Las técnicas clásicas de búsqueday de equiparación de patrones son utilizadas junto con el conocimiento paraproveer entendimiento. Una vez el computador entiende la entrada, puede tomarla acción deseada, y luego proporciona una respuesta que idealmente tambiéndebería ser en lenguaje natural.

Ahora daremos algunas definiciones básicas necesarias.

Un lenguaje es un sistema para comunicarnos. Él implica expresiones tantoverbales como escritas que nos ayudan a comunicar nuestros pensamientos ysentimientos. Los lenguajes usan un amplio rango de sonidos, signos y símbolospara crear palabras, frases, parágrafos, etc.

Los lenguajes naturales son el producto de muchos siglos de evolución de lacomunicación entre los seres humanos, son un producto cultural que refleja loscambios en las sociedades, en las costumbres, en los desarrollos tecnológicos, enla construcción de civilización.

También existen lenguajes que llamaremos formales como contraposición a loslenguajes naturales.

Los lenguajes formales o artificiales son lenguajes restringidos deliberadamentedesarrollados para un propósito especial, como por ejemplo los lenguajes deprogramación de computadores.

Un vocabulario es el conjunto de todas las palabras y frases que son usadas en unlenguaje particular.

El vocabulario define todas las palabras usadas y entendidas por todas laspersonas que usan un lenguaje específico. Debemos saber cómo estructurar esaspalabras en pensamientos completos.

El sistema de reglas para organizar las palabras para formar oraciones completasy pensamientos es lo que se denomina gramática. La gramática se compone dedos partes: sintaxis y semántica.

La sintaxis se refiere a la forma en la que las palabras se estructuran para formarfrases y oraciones. Esta parte de la gramática es la que se encarga con la mezcla

Page 44: Inteligencia Artificial y Sistemas Expertos

44

y secuenciación de diferentes clases de palabras en el lenguaje, tales comosustantivos, verbos, adjetivos, etc. En la sintaxis se especifica un método paraponer las palabras en un orden determinado de tal manera que tengan la formacorrecta de acuerdo con el lenguaje.

La semántica se refiere al significado en el lenguaje. Estudia las interrelacionesentre las palabras y la forma en que son ensambladas para representar unpensamiento particular. La semántica nos proporciona maneras de analizar einterpretar lo que se dice.

Cada oración expresa un sentido o pensamiento completo. El conjunto deoraciones juntas forman un parágrafo. Como un todo, el parágrafo tiene sentido.Pero si tomamos una oración y la sacamos del parágrafo y la miramos de formaaislada, su significado puede no ser completamente entendido. Decimos que laoración está fuera de contexto.

El contenido se refiere a la idea completa o pensamiento subyacente a cualquieroración en el parágrafo. Juntas, todas las oraciones agregan significado.Aisladas, cada oración contiene solamente una parte del todo y requiereninterpretación. Cuando se miran como un todo las oraciones no requiereninterpretación.

El contexto clarifica el significado, explica circunstancias e interrelaciones.

La pragmática se refiere a lo que la gente realmente quiere decir, frente a lo queellos dicen o escriben. A menudo, decimos o escribimos una cosa, pero realmentequeremos decir otra.

La pragmática trata de obtener el verdadero significado o sentir, expresado en ellenguaje.

Tanto el contexto como la pragmática juegan un papel importante en elentendimiento. Ellas llenan el vacío que a menudo hay entre la sintaxis y lasemántica. Porque una cosa es comunicar y otra saber el significado real delmensaje.

Teniendo en cuenta todos los elementos léxicos, sintácticos, semánticos ypragmáticos asociados al lenguaje, la pregunta fundamental es: ¿Cómo lograr queun computador analice el lenguaje natural, lo entienda, y tome entonces lasdecisiones apropiadas?

Lo primero que el computador debe hacer es una búsqueda de palabras claves yluego un análisis sintáctico y semántico.

Page 45: Inteligencia Artificial y Sistemas Expertos

45

El primer programa de un sistema de entendimiento del lenguaje natural, es unprocesador de palabras claves. En este proceso el programa busca en unasentencia de entrada, palabras claves o frases.

El programa es capaz de identificar o conocer solamente las palabras y frasesseleccionadas. Una vez una palabra clave o frase es reconocida, el programaresponde basado en una réplica asociada con la palabra clave o selecciona frasesde la entrada.

El programa reconoce entradas muy específicas, las cuales usa para construir unarespuesta o para iniciar alguna otra acción.

Toda palabra o frase que se desea que el programa reconozca debe inicialmenteser almacenada como parte del programa. También es necesario almacenarvariaciones o sinónimos de esas palabras.

Cada palabra en el texto de entrada es equiparada contra las palabras clavesalmacenadas en un directorio o vocabulario. Es importante tener en cuenta eltamaño del vocabulario. La mayoría de programas reconocedores del lenguajenatural que usan esta técnica tienen un vocabulario limitado, y por ende el númerode respuestas apropiadas que se almacenan también es limitado.

El enfoque de palabras claves es muy limitado. Por esa razón lo más lógico esejecutar un análisis sintáctico y semántico detallado. Sin embargo realizar esto noes nada fácil.

Para entender la complejidad del procesamiento del lenguaje natural, esimportante revisar las unidades básicas que conforman las oraciones de unlenguaje natural. Las oraciones están formadas de unas unidades llamadaspalabras. Las palabras tienen significado y cuando son unidas, sus interrelacionesrepresentan ideas, pensamientos e imágenes visuales.

Cada palabra en sí misma posee un significado. Sin embargo hay elinconveniente de que una palabra puede tener más de un significado y puede serclasificada en diferentes tipos. Por lo tanto el verdadero significado de la palabradepende de cómo es usada en la oración, esto es de cómo se relaciona con lasotras palabras en la oración.

Esto causa muchas dificultades. Obviamente la gramática se encarga deespecificar las reglas que permiten estructurar las oraciones, ensamblando unaspalabras con otras, con lo cual se colabora en el proceso de aclarar significado.

Usualmente se dice que una oración está formada básicamente por un sujeto y unpredicado. El sujeto, también referido como Sintagma Nominal, identifica una

Page 46: Inteligencia Artificial y Sistemas Expertos

46

persona, objeto o cosa que es el foco principal de la oración. El predicado oSintagma Verbal, propone alguna acción que el sujeto realiza.

Para analizar una oración de entrada, el software descompone la oración enpalabras individuales. El programa escanea la frase en busca de espacios ymarcas de puntuación para identificar las palabras individuales. Pero losanalizadores sintácticos y semánticos van un poco más allá. Ellos descomponenla palabra de entrada en unas unidades más pequeñas llamadas morfemas. Enrealidad el morfema es la unidad más pequeña del lenguaje. Un morfema puedeser la palabra misma, en cuyo caso es llamado un morfema libre. Por ejemplo lapalabra computador es un morfema, mientras que la palabra computadores constade dos morfemas, la palabra raíz computador es el primero y el sufijo “es” elsegundo. Los prefijos y sufijos son morfemas que acotan la palabra raíz paramodificar su significado.

La subdivisión de las palabras de esta manera, hace más fácil analizar la palabra ydecir cómo está siendo usada.

Un sistema de reconocimiento del lenguaje natural que utiliza análisis sintáctico ysemántico, presenta en su arquitectura cinco componentes principales que son elanalizador sintáctico, el diccionario, el entendedor, la base de conocimiento y elgenerador (Ver Figura 2.5).

El analizador sintáctico es el elemento más importante del sistema de tratamientodel lenguaje natural. Como su nombre lo indica él analiza sintácticamente unafrase de entrada. El analizador sintáctico descompone la frase representándolamediante una estructura llamada de árbol sintáctico. El árbol muestra elsignificado de todas las palabras y cómo están ensambladas.

El analizador sintáctico identifica el sintagma nominal y el sintagma verbal yademás los rompe en otros elementos. Este análisis sintáctico es el primer pasohacia la extracción de significado de la frase.

Figura 2.5 Arquitectura de un Reconocedor del Lenguaje Natural

AnalizadorSintáctico Entendedor Generador

DiccionarioBase del

Conocimiento

Texto deEntrada Salida

Page 47: Inteligencia Artificial y Sistemas Expertos

47

El trabajo del analizador sintáctico es examinar cada palabra en una frase y crearel análisis sintáctico que identifica todas las palabras y las pone juntas en la formacorrecta, teniendo en cuenta que en general una sentencia o frase (F) estácompuesta de un sujeto o Sintagma Nominal (SN) y de un predicado o SintagmaVerbal (SV), que expresamos como:

F = SN + SV

El sintagma nominal puede ser un sustantivo simple, aunque usualmente sedescompone en varias partes como un artículo (AR) o un determinador (D) comoun, una, esta, o un adjetivo (AD) o dos y el sustantivo principal (S), queexpresamos como,

SN = AR + AD + S

El sintagma verbal está compuesto de un verbo (V) y a menudo del objeto delverbo, el cual es usualmente otro sustantivo (S) y su determinador (D), queexpresamos como,

SV = V + S + D

Por ejemplo consideremos la frase, “El Elefante Gris Come Un Maní”, el árbolsintáctico para la frase es:

El analizador sintáctico se apoya en el diccionario para realizar su labor. Eldiccionario contiene todas las palabras que el programa es capaz de reconocer.

El diccionario también contiene la correcta pronunciación de cada palabra ydenota su parte fonética. Para palabras que pueden tener más de un significado,el diccionario lista todos los significados permitidos por el sistema. Por ejemploconsideremos la frase “la vendedora entró colada al estadio”; en ella la palabra“colada” puede significar un alimento, pero también puede significar ingresarfurtivamente, por lo que la frase puede significar que la vendedora introdujo unalimento al estadio, o que la vendedora entró a escondidas al estadio. Una formade evitar la polisemia es limitar el diccionario para que sólo permita ciertostérminos. Sin embargo si todas las posibilidades son permitidas, es labor del

EL

ARTICULO

ELEFANTE

SUSTANTIVO

GRIS

ADJETIVO

SUJETO(Sintagma Nominal)

COME

VERBO

UN

DETERMINADOR

MANÍ

SUSTANTIVO

PREDICADO(Sintagma Verbal)

FRASE

Page 48: Inteligencia Artificial y Sistemas Expertos

48

entendedor y de la base de conocimiento en última instancia aclarar el significado,aunque en muchos casos los analizadores sintácticos pueden autónomamenteresolver el problema mediante un análisis de morfemas. Ellos descomponen cadapalabra en sus morfemas individuales. El diccionario contiene todas las variantesde los morfemas, permitiendo en muchos casos precisar el significado. Otrossistemas en cambio lo que hacen es almacenar todas las posibles variaciones dela palabra raíz, llegándose finalmente al mismo resultado.

En términos operativos, el analizador sintáctico es un equiparador. Una vez que lapalabra individual ha sido identificada, el analizador busca en el diccionariocomparando cada palabra de entrada con todas las palabras almacenadas. Si lacomparación o cotejación es exitosa, la palabra es complementada con otrainformación léxica como significados, fonética, etc. Luego el analizador procede aanalizar el resto de palabras y al final construye el árbol sintáctico.

El analizador sintáctico en su proceso de equiparación realiza una cotejación lomás próxima posible a las palabras existentes en el diccionario, pero con lasuficiente flexibilidad como para darse cuenta que una cotejación aproximadapuede revelar errores de escritura, o también olvidos, en cuyos casos tendrán lacapacidad de solicitar clarificaciones a los usuarios o de notificarles errores.

Una vez que el árbol sintáctico ha sido construido, el sistema está listo pararealizar el análisis semántico en procura de obtener mayor significado.

El entendedor trabaja en asocio de la base de conocimiento para determinar elsignificado de una frase. Para determinar lo que una frase de entrada significa, elsistema debe conocer cosas acerca de las palabras y cómo ellas se juntan paraformar oraciones cargadas de significado. La base de conocimiento es la baseprimaria de los significados.

Como se señaló en la parte de sistemas expertos, hay múltiples técnicas derepresentación del conocimiento que se almacena en la base de conocimiento,como por ejemplo, las reglas de producción, cláusulas lógicas, redes semánticas,redes particionadas de Hendrix, marcos y guiones, todas ellas útiles para crearbases de conocimiento en sistemas reconocedores del lenguaje natural.

El propósito del entendedor es usar el árbol sintáctico para referenciar la base deconocimiento. El entendedor puede responder una pregunta usando la base deconocimiento. Si la sentencia de entrada es una oración, el entendedordeterminará el significado mirando palabras y frases en la base de conocimiento.Las reglas pueden ser disparadas, los marcos y guiones referenciados, las redessemánticas equiparadas.

El entendedor también puede derivar inferencias a partir de las oraciones deentrada, mediante un sistema de análisis de causalidad entre los eventos

Page 49: Inteligencia Artificial y Sistemas Expertos

49

encadenados en una historia, lo que le permite responder a preguntas sobresituaciones no expresadas explícitamente en la historia.

El generador usa el entendedor para crear una salida útil. El entendedor crea otraestructura de datos que representa el significado y el entendimiento de la oración yla almacena en memoria. La estructura de datos puede entonces ser utilizadapara crear códigos especiales que controlan otra pieza de software, como porejemplo realizar una búsqueda de información, o consultar una base de datos; oejecutar una acción que puede ser la generación de una respuesta de salida talcomo una frase o una pregunta.

En su forma más simple, el generador suministra al usuario respuestas pre-almacenadas basadas en el significado extraído de la entrada.

2.6 Ejercicios

1. ¿Qué es sistema experto?2. ¿Qué diferencias hay entre sistemas expertos y la programación

convencional?3. Dibuje y explique la arquitectura básica de un sistema experto.4. ¿Qué diferencias hay entre un sistema experto y un sistema basado en el

conocimiento?5. ¿Qué cualidades debe poseer un sistema experto?6. ¿Qué es un robot?7. Señale tres justificaciones para el uso de robots.8. Señale tres aplicaciones importantes de los robots.9. ¿Cuáles son los componentes de un brazo robot típico?10. ¿Qué diferencias hay entre robots industriales y robots inteligentes?11. Explique el proceso de adquisición de imágenes por parte de un sistema de

visión artificial.12. Explique el procesamiento de imágenes por parte de un sistema de visión

artificial.13. Explique el análisis de imágenes por parte de un sistema de visión artificial.14. Explique la comprensión de imágenes por parte de un sistema de visión

artificial.15. Señale algunas aplicaciones de los sistemas de visión artificial.16. ¿Cómo se clasifican los reconocedores de voz?17. ¿Qué es un reconocedor de palabras?18. ¿Qué es un reconocedor de discurso continuo?19. ¿Qué es el reconocimiento global y analítico de la voz?20. ¿Cuáles son y en qué consisten los módulos de un reconocedor de voz

analítico?

Page 50: Inteligencia Artificial y Sistemas Expertos

50

21. ¿Qué diferencias hay entre los lenguajes naturales y los lenguajes formales?22. ¿Qué es la sintaxis y la semántica?23. ¿Qué es la pragmática?24. ¿Qué es un morfema?25. ¿Cuáles son y en qué consisten los componentes principales de un sistema

de reconocimiento del lenguaje natural?

Page 51: Inteligencia Artificial y Sistemas Expertos

51

CAPÍTULO 3

Técnicas Básicas de Inteligencia Artificial

3.1 Problemas y Espacios de Búsqueda

En Inteligencia Artificial un problema que llamaremos P, se define formalmentecomo una cuaterna, MeOEP ,,, 0= , en donde E es el espacio de estados delproblema, es decir, el conjunto de todas las posibles configuraciones o estados delproblema, O es el conjunto de operadores o transformaciones que se aplicansobre el espacio de estados obteniéndose otros estados y que formalmente seexpresa como, EOE →× . M es el conjunto de estados que se aceptan comometas u objetivos; 0e es un estado privilegiado de E, denominado estado inicial.

Los operadores se denominan destructivos si al aplicarlos no aumentan el númerode estados, es decir, los disminuyen o los mantienen; y se denominan creativos siaumentan el número de estados o alternativas.

Se dice que un estado ‘e′ ’ es sucesor de un estado ‘e’, si ‘e′ ’ es alcanzable desde‘e’ por aplicación de una secuencia de operadores. Si ‘e′ ’ puede ser alcanzadodesde ‘e’ por la aplicación de un solo operador, decimos que ‘e′ ’ es el sucesorinmediato o el adyacente de ‘e’. Al conjunto de todos los sucesores de un estado‘e’, lo representamos por Se.

Denominamos espacio de búsqueda de un problema P al conjunto de todos losestados que pueden ser alcanzados por la aplicación de secuencias deoperadores, comenzando en el estado inicial. En otras palabras el espacio debúsqueda es 0Se .

Es importante distinguir entre espacio de estados y espacio de búsqueda. Elespacio de estados representa un universo de estados, es decir, es un referentede todos los posibles estados; mientras que el espacio de búsqueda es unsubconjunto de espacio de estados, que representa el conjunto de estadossucesores del estado inicial, es decir, un conjunto de estados que se generanrealmente.

Page 52: Inteligencia Artificial y Sistemas Expertos

52

Decimos que un problema P es solucionable, si y sólo si, φ≠MSe !0 . En otraspalabras, un problema tiene solución, si al menos uno de los estados reconocidoscomo meta del problema es alcanzable a partir del estado inicial por la aplicaciónde una secuencia de operadores.Si P es un problema solucionable, denominamos solución de P a cualquiertrayectoria en el espacio de búsqueda que vaya desde 0e hasta una meta m de M.

Uno de los propósitos de las técnicas de Inteligencia Artificial que veremos másadelante, es lograr reducir los tamaños de los espacios de búsqueda en el procesodinámico de alcanzar una meta. La idea es evitar en lo posible que los espaciosde búsqueda lleguen a igualarse al espacio de estados. Esto no sería grave si eltamaño del espacio de estados fuera pequeño. Pero en muchos problemas seproduce una explosión combinatoria de estados (por ejemplo, en juegos como elajedrez y el go), generándose espacios de estados inmanejablescomputacionalmente. Esto hace necesario el uso de estrategias de búsqueda quelimiten drásticamente el tamaño del espacio de búsqueda.

Dados dos problemas MeOEP ,,, 0= y MeOEP ′′′′=′ ,,, 0 , decimos que P eshomomorfo a P ′ , lo que simbolizamos por PP ′≅ , si existe una función f,

OEOEf ′′→ "": tal que:

i. ( ) EEf ′⊆ y ( ) OOf ′⊆ . ii. ( ) 00 eef ′= y ( ) MMf ′⊆ .

Si f es biyectiva, es decir, si se cumple que PP ≅′ , entonces decimos que P y P'son isomorfos, lo que simbolizamos por PP ′≈ .

Estas definiciones que permiten comparar diferentes problemas y establecer sison homomorfos o isomorfos, son la base de una rama de la Inteligencia Artificialque se denomina razonamiento por analogía. El razonar por analogía es unacualidad humana muy importante, que ha llevado a muchos investigadores deInteligencia Artificial a buscar que los computadores logren emularla.Investigadores como Jaime Carbonell Jr. de Carnegie-Mellon han logrado avancessignificativos en esta área.

Los problemas en general se representan mediante grafos, en donde los nodosdel grafo representan los estados del problema y los arcos los operadores. Elgrafo de un problema tiene un nodo raíz que representa el estado inicial y unosnodos terminales que serán las metas cuando se ha encontrado una solución alproblema.

Page 53: Inteligencia Artificial y Sistemas Expertos

53

Por ejemplo, consideremos un juego, el llamado 8-puzzle. La solución de esterompecabezas consiste en reordenar, a partir de una configuración inicial dada deocho elementos numerados móviles situados sobre un tablero 3x3, los elementosen una configuración final dada. El ordenamiento de los elementos sólo puedehacerse desplazando uno de los elementos hacia el lugar vacío desde unaposición ortogonalmente adyacente.Consideremos las siguientes configuraciones como sus estados inicial y metarespectivamente

Estado inicial

1 2 35 6

4 7 8

Estado meta

1 2 34 5 67 8

La figura 3.1 muestra un grafo que describe una solución para el 8-puzzle, con losestados inicial y meta dados anteriormente.

Estado inicial

1 2 35 6

4 7 8

2 31 5 64 7 8

1 2 34 5 6

7 8

1 2 35 64 7 8

1 2 35 6

4 7 8

1 2 34 5 67 8

1 2 34 67 5 8

1 2 34 5 67 8

Estado Meta

1 2 34 5 6

7 8

01

01

01

02

03

03

03

04

Figura 3.1 Grafo de Búsqueda

Page 54: Inteligencia Artificial y Sistemas Expertos

54

En la Figura 3.1 aparecen etiquetando los arcos, los operadores O1, O2, O3 y O4,que se definen sencillamente como:

O1: Mover el blanco (vacío) hacia arribaO2: Mover el blanco (vacío) hacia abajoO3 : Mover el blanco (vacío) hacia la derechaO4: Mover el blanco (vacío) hacia la izquierda

El efecto de cada uno de estos operadores es mover el número de la casillaadyacente a la casilla vacía o blanca, en sentido contrario al movimiento de lacasilla vacía. Así por ejemplo, mover el blanco arriba en el estado inicial, significamover la casilla que se encuentra arriba del blanco, en este caso la numerada conel número 1 hacia abajo.

La figura muestra una solución al problema que viene dada por la trayectoria03,03,02 , que señala la secuencia de operadores que se debe aplicar al estado

inicial para alcanzar el estado meta. Obviamente, en general, un problema puedetener varias soluciones. Por ejemplo en este caso, la trayectoria 03,03,02,04,03que no está reflejada en la figura, también es una solución para el problema.

Pueden existir además trayectorias que conducen a bucles infinitos. Ese es elcaso cuando se generan estados repetidos, es decir, estados idénticos aancestros de ellos. En nuestro ejemplo, la trayectoria 01,02 nos conducenuevamente al estado inicial.

La razón de ser de las estrategias de búsqueda que veremos más adelante, serelaciona con varias cosas que hemos mencionado. Por un lado generar un árbolde búsqueda (espacio de búsqueda) lo más óptimo posible (la trayectoria de lasolución es lo más corta posible) y por otro soslayar estados muertos, es decirconfiguraciones que no poseen sucesores, y que conllevan a un fracaso en labúsqueda; o configuraciones que implican quedarse en un ciclo repetitivo.

Consideremos a modo de ilustración el siguiente ejemplo de un problema y susolución:

“Dado un envase de 5 litros de capacidad lleno de agua y un envase de 2 litrosvacío, ambos sin marcas, ¿cómo puede uno obtener en forma precisa un litro en elenvase de 2 litros? El agua puede ser derramada o vaciada de un envase a otro;sin embargo, no se dispone de más de los 5 litros de agua”.

La solución parte de identificar, representar y simbolizar cada uno de loselementos del problema. Sea v1= Envase de 5 litros y v2= Envase de 2 litros.

Page 55: Inteligencia Artificial y Sistemas Expertos

55

Estado del problema = (x, y), en donde, x = cantidad de litros en v1, y y =cantidadde litros en v2.

Sea { }4321 ,,, ooooO = tal que,o1 = vaciar v1.o2 = vaciar v2.o3 = vaciar de v1 a v2.o4 = vaciar de v2 a v1.

En consecuencia tenemos un problema cuyos estados inicial y meta son,

e0 = (5, 0) y M = (0,1) respectivamente.

Un grafo (árbol Figura 3.2), que representa el espacio de búsqueda con unasolución al problema, viene dado por:

(5,0) (Estado Inicial)

(0,0)(Estado muerto)

(3,2)

(0,2) (5,0)Estado Repetido) (3,0)

(0,0) (2,0) (0,0) (1,2)

(0,0) (0,2) (0,2) (3,0) (1,0)

(0,0) (1,0)

Estado MetaFigura 3.2

La solución reflejada en el árbol es la trayectoria, 32323 ,,,, ooooo .

Este problema tiene solución única.

Nótese que de los cuatro operadores definidos únicamente se necesitan dos, loscorrespondientes a los operadores o2 y o3. Los operadores o1 y o4 no intervienen

o1 o3

o1 o4o2

o2 o4

o1 o3

o1 o3

o1 o2o4

o1 o3

Page 56: Inteligencia Artificial y Sistemas Expertos

56

en la solución. El operador o1 porque genera estados muertos (bota el agua,recurso no recuperable de acuerdo con las condiciones del problema) y eloperador o4 porque genera estados repetidos.

3.2 Estrategias De Búsqueda

Existen básicamente dos categorías en las estrategias de búsqueda: Búsquedasciegas o sin información y Búsquedas informadas o con heurísticas.

En las búsquedas ciegas, la búsqueda no está dirigida hacia la meta, por lo quese trata de una búsqueda exhaustiva.

En las búsquedas informadas, se dispone de una función de evaluación o funciónheurística, que permite medir la aproximación a la meta, por lo que podemos dirigiro enfocar la búsqueda hacia la meta, seleccionando estados con mayorproximidad a la meta.La función de evaluación aplicada a un estado, actúa como una especie demedida de distancia entre el estado evaluado y la meta.

Una evaluación de cero, señala que el estado evaluado es el estado meta.

Estas búsquedas se representan mediante estructuras de datos conocidas comoárboles o listas.

3.2.1 Búsquedas Ciegas

Existen dos técnicas básicas de búsquedas ciegas, denominadas primero-amplitud y primero-profundidad.

La búsqueda en primero-amplitud se refleja en un árbol, cuya raíz es un nodoinicial que representa el estado inicial y que luego se expande generando losnodos sucesores correspondientes al mismo nivel. Luego a su vez, estos nodossucesores se expanden de igual forma.

La estrategia se denomina primero en amplitud, porque se procede a generar losnodos nivel por nivel, es decir, que la estrategia primero procede en amplitud o alo ancho, generando todos los nodos de un nivel y luego procede al siguientenivel. Esto significa que la estrategia es mixta, es decir, que primero procede enamplitud y luego en profundidad. Pero su nombre se deriva del hecho de queprimero realiza la generación de nodos en amplitud.

Page 57: Inteligencia Artificial y Sistemas Expertos

57

La Figura 3.3 ilustra el proceso.

Figura 3.3

En previsión de que se pueda transitar indefinidamente a lo largo de un caminoinfructuoso, se impone un límite de profundidad, de tal manera que los nodos conprofundidad mayor que ese límite no se generan nunca.

En la búsqueda en primero-profundidad, se parte del nodo inicial que representa elestado inicial y se genera un nodo sucesor que representa un estado sucesor yluego se genera un sucesor de este y así sucesivamente hasta alcanzar el nivelmáximo de profundidad permitido, o hasta que haya una condición que nosobligue a retroceder hasta el antecesor más inmediato que se pueda expandir,generándose sucesores nuevamente en profundidad. Se repite el proceso hastagenerar todo el árbol de búsqueda.

Nuevamente, esta estrategia es mixta, pero en este caso procede primero enprofundidad y luego en amplitud. Sin embargo, en esta estrategia se incorpora unmecanismo de facilitación de búsqueda, que es el retroceso (en inglés,Backtraking) que se aplica en los siguientes casos:

1. Cuando se alcanza el nivel máximo de profundidad permitido2. Cuando es un estado muerto (no hay sucesores)3. Cuando se generan estados repetidos.

La búsqueda en primero-profundidad tiene potencialmente varias ventajas sobre labúsqueda en primero-amplitud. En primer lugar es más fácil su manejo entérminos computacionales, ya que su implementación vía apuntadores porejemplo, es directa y además porque implica un manejo más óptimo de la

Nodo InicialNivel 1

Nivel 2

Nivel 3

Nivel 4

Page 58: Inteligencia Artificial y Sistemas Expertos

58

memoria, en la medida que considera un espacio de búsqueda más limitado paraalcanzar un determinado nivel.

En segundo lugar, para problemas que tienen soluciones profundas encontraráuna solución más rápida que la búsqueda en primero-amplitud.

La búsqueda en primero-profundidad también tiene desventajas. Por ejemplo, sila búsqueda de un camino se suspende antes de alcanzar su final, entonces no sehallará la solución aunque exista alguna. También si se ubica el camino soluciónno hay garantía alguna de que dicho camino sea el más corto.

La Figura 3.4 ilustra el proceso de búsqueda en primero-profundidad.

Figura 3.4

Para ilustrar las estrategias, consideremos el juego de 8-puzzle. La búsqueda enprofundidad y amplitud con profundidad máxima de 6 se observa en las Figuras3.5 y 3.6.

Nodo InicialNivel 1

Nivel 2

Nivel 3

Nivel 4

Page 59: Inteligencia Artificial y Sistemas Expertos

59

Inicio2 8 31 6 47 5

2 8 31 6 4

7 5

2 8 31 47 6 5

2 8 36 4

1 7 5

2 8 31 4

7 6 5

2 31 8 47 6 5

8 32 6 41 7 5

2 8 36 41 7 5

8 32 1 47 6 5

2 8 37 1 4

6 5

2 31 8 47 6 5

8 32 6 41 7 5

2 36 8 41 7 5

2 8 36 41 7 5

2 8 36 7 4 1 5

8 32 1 47 6 5

2 8 37 1 46 5

1 2 38 4

7 6 5

8 32 6 41 7 5

8 6 32 41 7 5

2 36 8 41 7 5

2 36 8 41 7 5

2 86 4 31 7 5

2 8 36 4 51 7

2 8 36 7 4

1 5

2 8 36 7 41 5

8 32 1 47 6 5

8 1 32 47 6 5

2 8 37 46 1 5

2 8 37 1 46 5

1 2 38 47 6 5Meta

Figura 3.5 Búsqueda en Profundidad

Page 60: Inteligencia Artificial y Sistemas Expertos

60

2 8 31 6 47 5

2 8 31 6 4

7 5

2 8 31 47 6 5

2 8 31 6 47 5

2 8 36 4

1 7 5

2 8 31 4

7 6 5

2 31 8 47 6 5

2 8 31 47 6 5

2 8 31 67 5 4

8 32 6 41 7 5

2 8 36 41 7 5

8 32 1 47 6 5

2 8 37 1 4

6 5

2 31 8 47 6 5

2 31 8 47 6 5

2 81 4 37 6 5

2 8 31 4 57 6

2 8 31 67 5 4

2 81 6 37 5 4

9 32 6 41 7 5

2 36 8 41 7 5

2 8 36 41 7 5

2 8 36 7 41 5

8 32 1 47 6 5

2 8 37 1 46 5

1 2 38 4

7 6 5

2 3 41 87 6 5

2 81 4 37 6 5

2 8 31 4 57 6

2 8 31 6

7 5 4

2 31 8 67 5 4

2 8 31 5 67 4

2 81 6 37 5 4

8 32 6 41 7 5

8 6 32 41 7 5

2 36 8 41 7 5

2 36 8 41 7 5

2 86 4 31 7 5

2 8 36 4 51 7

2 8 36 7 4

1 5

2 8 36 7 41 5

8 32 1 47 6 5

8 1 32 47 6 5

2 8 37 46 1 5

2 8 37 1 46 5

1 2 38 47 6 5Meta

Figura 3.6 Búsqueda en Amplitud

Page 61: Inteligencia Artificial y Sistemas Expertos

61

Consideremos el siguiente problema: “Un pastor quiere cruzar un río acompañadode un lobo, una oveja y una col. Desafortunadamente para él, el bote de quedispone sólo puede contener al pastor y uno de los tres, animales o vegetal, que loacompañan. Pero además, sin la presencia del pastor, la oveja se comería la col yel lobo se comería la oveja. De este modo, el pastor no puede dejar solos al loboy la oveja, y a la oveja y la col. Sin embargo puede dejar tranquilamente al lobo yla col.

Para resolver un problema es muy importante la representación. Un estado sepuede representar de varias formas. Vamos a adoptar como representación losvectores de estado. De esta manera vamos a reflejar la situación en las dosorillas.

Estado = wzyx ,,, y wzyx ′′′′ ,,, en donde, x = presencia o no del hombre en lamargen izquierda del río (la escogencia de esa margen es arbitraria).Similarmente y = presencia o no del lobo en la margen izquierda del río, z =presencia o no de la oveja en la margen izquierda del río, w = presencia o no de lacol en la margen izquierda del río.

Análogamente definimos x ′ , y ′ , z′ , w ′ para la margen derecha del río.

Las variables son booleanas, toman el valor de 1 si está presente y 0 si no lo está.De esta manera tenemos: ( ) ( )0,0,0,0,1,1,1,10 =e y ( ) ( )1,1,1,1,0,0,0,0=m .

Los operadores son:

01: pasar el pastor solo02: pasar el pastor y el lobo03: pasar el pastor y la oveja04: pasar el pastor y la col

Restricciones: No están permitidos los estados que contengan (0,1,1,0), (0,0,1,1) ,(0,1,1,1).

El árbol de búsqueda en amplitud se observa en la Figura 3.7

Page 62: Inteligencia Artificial y Sistemas Expertos

62

( ) ( )0,0,0,0,1,1,1,103

( ) ( )0,1,0,1,1,0,1,001

( ) ( )0,1,0,0,1,0,1,102 04

( ) ( )0,1,1,1,1,0,0,0 ( ) ( )1,1,0,1,0,0,1,003 03

( ) ( )0,0,1,0,1,1,0,1 ( ) ( )1,0,0,0,0,1,1,104

( ) ( )1,0,1,1,0,1,0,001

( ) ( )1,0,1,0,0,1,0,103

( ) ( )1,1,1,1,0,0,0,0META

Figura 3.7

3.2.2 Búsquedas con Información

En el proceso de búsqueda de la meta, sería de gran utilidad el poder estimarnuméricamente la valía de un nodo y con base en ello decidir por cual nodo esmás conveniente orientar la búsqueda.

En general, lo prometedor de un nodo como un apoyo a la búsqueda se puedeestimar numéricamente mediante una función de evaluación f cuya aplicaciónsobre el nodo n, f(n), señala por ejemplo, cuán próximo se encuentra el estado oconfiguración representado por el nodo al estado meta.

El disponer de una función de evaluación ayuda mucho en el proceso debúsqueda. Sin embargo, la dificultad se traslada a la obtención de la función deevaluación misma. En general, la obtención de f puede depender de ladescripción del nodo, de la descripción de la meta, de la información obtenida porla búsqueda hasta ese momento, y de cualquier conocimiento extra acerca delproblema.

Como se señaló anteriormente (en 3.2), la función de evaluación actúa como unaespecie de métrica o distancia que ayuda a guiar el proceso de búsqueda hacia lameta, por ejemplo, generando estados (nodos) sucesores con valoraciones máscercanas a la de la meta, es decir, aproximándose a cero.

Page 63: Inteligencia Artificial y Sistemas Expertos

63

Existen numerosas estrategias de búsqueda con información y variantes de ellas.Sin embargo, vamos a utilizar únicamente dos : Técnica de escalada y la de m-mejores.

Para explicar la técnica de escalada, consideremos la siguiente situación :supongamos que estamos escalando una montaña y que nuestra meta esalcanzar la cima. También supongamos que por la intensa niebla no es posiblever directamente la cima, y que por lo tanto nos valemos de dos instrumentos quenos guíen en nuestro ascenso. Esos instrumentos son una brújula y un altímetro.De tal manera que si nos encontramos en una posición P del ascenso, como loseñala la Figura 3.8, la técnica de escalada apoyada en los instrumentos consisteen que a partir de P, con la ayuda de la brújula consideramos variosdesplazamientos cortos en diferentes direcciones, que nos sitúan en varios puntos

′P , sobre los cuales procedemos a realizar mediciones de altura; de tal maneraque finalmente nos decidimos por el desplazamiento que significa una mayorganancia de altura respecto al punto P. La idea es que estos desplazamientosnos conducirán finalmente a la cima que representa el punto de mayor altura.

Figura 3.8

Esta analogía nos permite entender cómo funciona la estrategia de escalada. Sidisponemos de una función de evaluación, que es el análogo al altímetro, ya quenos permite evaluar localmente los nodos, y de tal manera que el estado metatiene el valor máximo asociado a la función; entonces a partir de un estado dadocon evaluación conocida, podemos considerar todos sus posibles sucesores, loque es análogo a usar la brújula, y efectuar sus respectivas evaluaciones, paradecidirse finalmente por el estado con un valor de la función más próximo alestado meta.

P

P’ ’

Page 64: Inteligencia Artificial y Sistemas Expertos

64

Figura 3.9

La Figura 3.9 ilustra un proceso de escalada, en donde los nodos marcados con“X”, representan los nodos seleccionados porque sus valoraciones son las mejoresen sus respectivos niveles. Esto significa que,

V2 = máx (V1, V2, V3) y V5 = máx (V4, V5), y V6 = máx (V6, V7) y V9 = máx (V8, V9)

La técnica de escalada presenta algunos inconvenientes:

a) Máximos locales : Un máximo local, es un estado que es mejor que todos susvecinos, pero que no es mejor que algún otro estado más alejado.

En nuestra analogía con la escalada de una montaña, los máximos localesrepresentan cimas de montañas más pequeñas que se interponen en elascenso a nuestra cima principal que representa el máximo absoluto, como lorefleja la Figura 3.10.

v9

Meta

v8

v7v6

v5v4

v3v2v1

v0

Inicio

Page 65: Inteligencia Artificial y Sistemas Expertos

65

Figura 3.10 b) Altiplanicies : Una altiplanicie, es un área llana del espacio de búsqueda

separando las “cumbres”, por lo cual existe un conjunto completo de estadosvecinos que tienen la misma valoración.

La Figura 3.11 refleja esta situación.

Figura 3.11

Para ilustrar la técnica de escalada, consideremos el juego del 8-puzzle, conestado inicial,

2 8 31 6 47 5

y estado meta

1 2 38 47 6 5

P

Page 66: Inteligencia Artificial y Sistemas Expertos

66

Al 8-puzzle le podemos definir las siguientes funciones de evaluación o funcionesheurísticas :

f1(n) = - (número de elementos mal colocados del estado n respecto al estadometa)

f2(n) = - (suma de las distancias horizontales y verticales que llevarían loselementos mal colocados del estado n a las posiciones correctas respectoal estado meta)

Por ejemplo, f1(estado inicial) = -4, ya que los elementos 2, 8, 1 y 6 están malcolocados. f2(estado inicial) = -5, porque el elemento 2 debe recorrer 1 casillahorizontal para alcanzar la posición correcta; el elemento 8 debe recorrer 2casillas, una horizontal y una vertical; el elemento 1 debe recorrer 1 casilla verticaly el elemento 6 una vertical.

La función f2, se conoce con el nombre de función manhattan.

Un ejemplo de escalada para el 8-puzzle con los estados inicial y meta definidosanteriormente y con función de evaluación f1, es el de la Figura 3.12.

Inicio2 8 31 6 4 (-4)7 5

2 8 3 2 8 3 2 8 3(-5) 1 6 4 (-3) 1 4 (-5) 1 6 4

7 5 7 6 5 7 5

2 8 3 2 3 2 8 3(-3) 1 4 (-3) 1 8 4 (-4) 1 4

7 6 5 7 6 5 7 6 5

2 3 2 3(-2) 1 8 4 1 8 4 (-4)

7 6 5 7 6 5

1 2 3(-1) 8 4

7 6 5

1 2 3 1 2 3(-2) 7 8 4 8 4 (0)

6 5 7 6 5

1.5 Meta

Page 67: Inteligencia Artificial y Sistemas Expertos

67

Figura 3.12La otra técnica es la búsqueda dirigida conocida con el nombre de m-mejores. Esuna búsqueda similar a la búsqueda primero - amplitud, porque progresa nivel pornivel, pero se diferencia en que en este caso sólo se desarrollan los “m” nodosmejores de cada nivel.

El número de nodos explorados es manejable, incluso si existe un gran número deramas y la búsqueda es profunda. Si se desarrollan los “m” mejores nodos decada nivel y el factor de ramificación es “b”, sólo habrá que considerar “mb”nodos.

Podemos considerar la técnica de escalada como un caso particular de labúsqueda m-mejores, en donde m = 1. Por otra parte ésta técnica de m - mejoreses un caso particular de la estrategia primero amplitud, en la cual se desarrollantodos los nodos del nivel. Por lo tanto, podemos decir que esta técnica es másflexible, en la medida que podemos variar m, y que por lo cual vamos a oscilarentre una escalada (m = 1) y una amplitud (m = todos los nodos.)

Con un m = 1 tendríamos los inconvenientes de la escalada y con m = todos,tendríamos una búsqueda exhaustiva, con lo que no tendría sentido usar unafunción de evaluación. Resultados experimentales sugieren que lo másconveniente es usar un m = 3 ó 4.

Consideremos nuevamente el 8-puzzle del ejemplo anterior con una función f1 ym= 2 (Figura 3.13).

m

(Escalada) Todos (Amplitud)1

Page 68: Inteligencia Artificial y Sistemas Expertos

68

Inicio2 8 31 6 4 (-4)7 5

2 8 3 2 8 3 2 8 3(-5) 1 6 4 (-3) 1 4 (-5) 1 6 4

7 5 7 6 5 7 5

2 8 3 2 3 2 8 3 2 8 3(-4) 1 4 (-3) 1 8 4 (-3) 1 4 (-6) 1 6

7 6 5 7 6 5 7 6 5 7 5 4

2 3 2 3 8 3 2 8 3(-2) 1 8 4 (-4) 1 8 4 (-3) 2 1 4 (-4) 7 1 4

7 6 5 7 6 5 7 6 5 6 5

1 2 3 8 3(-1) 8 4 (-3) 2 1 4

7 6 5 7 6 5

1 2 3 1 2 3(-2) 7 8 4 8 4 (0)

6 5 7 6 5

1.6 Meta

Figura 3.13

3.3 Estrategias para Juegos con Adversarios

Los juegos en los que se enfrentan dos contrincantes requieren estrategiasdiferentes a las vistas anteriormente. Nos estamos refiriendo a juegos con lassiguientes características :

1. Se enfrentan dos jugadores2. Cada jugador realiza su jugada alternativamente, siguiendo un turno.3. Son juegos con información completa, es decir que cada jugador conoce lo que

ambos contrincantes han hecho hasta un determinado momento y lo quepueden hacer a partir de ese momento.

4. El azar no interviene en el juego.

Page 69: Inteligencia Artificial y Sistemas Expertos

69

Estos juegos se representan mediante árboles alternados. Estos árboles secaracterizan porque cada nivel del árbol corresponde a uno de los adversarios y elsiguiente nivel al otro adversario, y así alternativamente.Cada nodo del árbol representa una posición del juego, y los arcos losmovimientos o jugadas que se realizan conforme a un conjunto de reglas. Lossucesores de un nodo representan las posiciones a las que se puede acceder apartir de la posición que representa ese nodo, teniendo en cuenta el abanico deposibles movimientos o jugadas permitidos o lícitos, que están conformes con lasreglas del juego.

Consideraremos las dos estrategias más importantes: procedimiento mini-máx, ypoda alfa-beta.

3.3.1 PROCEDIMIENTO MINI-MAX

El procedimiento mini-máx es una estrategia de juego que utiliza una función deevaluación para ponderar numéricamente las posiciones del juego, de tal maneraque un número positivo indica que el valor es a favor de uno de los jugadores, y unnúmero negativo es a favor del adversario.

El jugador de números positivos se denomina “maximizante”, y su adversario, elde números negativos, “minimizante”. El maximizante buscará caminos que llevena números positivos altos, sabiendo que su contrincante intentará forzar el juego aposiciones con evaluaciones muy negativas.

En esta estrategia se asume que el adversario jugará inteligentemente, estosignifica que se espera que se decida por jugadas que son mejores para él ypeores para su contrincante. Esto se traduce en los valores numéricos, cuando seespera que el adversario busque jugadas con valoraciones muy negativas para sucontrincante (Figura 3.14).

Figura 3.14

Consideremos el juego del “tres en línea”, también conocido con los nombres de“triqui”, “tic-tac-toe”. Supongamos que un jugador A marca equis (X) y que unjugador B marca círculos (O) y que le corresponde marcar a A.

Nivel Maximizante

Nivel Minimizante

Nivel Maximizante

Page 70: Inteligencia Artificial y Sistemas Expertos

70

Se desarrolla una búsqueda por niveles hasta que se generan los nodos de nivel 2y entonces, se aplica una función de evaluación estática a las posiciones de juegorepresentadas por esos nodos: Esta función de evaluación e(P) para una posiciónP, viene dada por las tres posibilidades siguientes:

1. Si P no es ganadora para cualquiera de los jugadores, entonces,

e(P) = Número de filas, columnas o diagonales aún abiertas para A menosnúmeros de filas, columnas o diagonales aún abiertas para B.

Es decir, número de líneas que no contienen un “O” menos, número de líneas queno contienen una “X”.

2. Si P es ganadora para A, e(P) = +∞3. Si P es ganadora para B, e(P) = -∞

Así, si P es:

OX

e(P) = 6 – 4 = 2

Haciendo uso de las simetrías para generar posiciones subsiguientes a una dada,los estados simétricos se consideran idénticos.

Las simetrías son:

a.) Vertical:O O

b.) Horizontal:

O

O

Eje de simetría

Page 71: Inteligencia Artificial y Sistemas Expertos

71

c.) Diagonal

O O

O O

Teniendo en cuenta el uso de las simetrías los siguientes estados se consideranidénticos:

O O

X X X X

O O

Las simetrías permiten establecer clases de equivalencia para las casillas deltablero de juego y las correspondientes jugadas en esas casillas. De esta manerasurgen tres clases: la representada por la casilla central únicamente, larepresentada por las cuatro casillas de las esquinas, la representada por lascuatro casillas que se encuentran entre las casillas esquineras.

Como las casillas de cada clase son equivalentes, la simetría permite mantenerbajo el factor de ramificación del árbol de juego, ya que en los primeros nivelespodemos valernos de la simetría para reducir el número de posiciones yposteriormente se conserva bajo por reducido número de casillas sin ocupar.

Hay que tener cuidado con las simetrías, ellas se pueden utilizar sin problemahasta el nivel 4, pero a partir del nivel 5, pueden inducir a error. Por ejemplo,consideramos la siguiente posición de nivel 4,

O XX

Teniendo en cuenta las simetrías al siguiente nivel, las posiciones,

O x O X

X y X

O O

Page 72: Inteligencia Artificial y Sistemas Expertos

72

son simétricas y poseen la misma evaluación, sin embargo, estratégicamente sonmuy diferentes.

El procedimiento minimax consiste en:

1. Generar todos los nodos sucesores del nodo inicial, que conforman el nivel 2del árbol, que es el primer nivel maximizante.

2. Para el nodo del nivel 2 que se encuentre más a la izquierda, generamos todossus sucesores que van a formar parte del nivel 3, que es el primer nivelminimizante. Los sucesores constituyen las posibles réplicas del adversario ala jugada del nivel maximizante.

3. Evaluamos los nodos generados en el paso anterior, mediante la función deevaluación estática y desde el punto de vista del jugador del nivel maximizante.

4. Obtenemos el mínimo de esos valores y se lo asignamos al nodo del nivelmaximizante. Ese valor se denomina retroactivo y se encierra en un círculo.

5. Para el siguiente hacia la derecha en el nivel 2, repetimos los pasos 2, 3 y 4.Hacemos esto hasta agotar todos los nodos del nivel 2.

6. Cada nodo del nivel 2 tiene un valor retroactivo. Seleccionamos como jugadala representada por el nodo cuyo valor sea el máximo de los de su nivel.

7. Si ambos jugadores utilizan el procedimiento minimax, entonces tomamoscomo nuevo nodo inicial el nodo seleccionado en 6 y repetimos el proceso. Encaso contrario, esperamos a que el adversario seleccione una jugada comoréplica a la de 6, la tomamos como nodo inicial y repetimos todo el proceso.

Apliquemos el procedimiento del minimax al juego de tres en línea, con la funciónde evaluación conocida y teniendo en cuenta las simetrías (Figura 3.15).

Page 73: Inteligencia Artificial y Sistemas Expertos

73

Inicio

-1 X 1 -2X X

X X X O O OO X X X O X X

O O O-1 1 0 1 2 -2 0 -1

1 O X O 0X X X

O X O X O X O O O OX X O X X X O X X X X

O O O1 1 2 0 1 0

Figura 3.15 Árbol parcial del triqui con estrategia minimax

Page 74: Inteligencia Artificial y Sistemas Expertos

74

O XX

O

- ∞ O X 0 O X -∞ O XX X X X X

O O O X

O X O X O X O O X O X O X O X O X O XO X X X X X X X X X X O X X O X X O XO O O O O O O O O O X O X O O X

- ∞ 0 0 1 0 1 - ∞ 0 1

-1 O X X 0 O X 0 O XX X O X X O X X OO O X O X

O X X O X X O O X O X O X O O XX X O X X O X X O X X O X X O X X OO O O O O X O X O O O X O X

-1 0 0 1 0 0

O O X O X XX X O X X OO X X O X O

Empate Gana X

Page 75: Inteligencia Artificial y Sistemas Expertos

75

3.3.2 Poda Alfa-Beta

El procedimiento minimax que vimos anteriormente puede ser mejorado peropresenta algunos inconvenientes. En primer lugar separa por completo el procesode generación del árbol alternado de exploración y la evaluación de las posiciones.Esto significa que sólo después de completar la generación del árbol se comienzala evaluación lo cual genera ineficiencia, porque es posible realizarsimultáneamente la generación del árbol y las evaluaciones, trayéndose losvalores retroactivos de forma más dinámica, con lo que se puede descubrir unabuena jugada sin necesidad de haber generado y evaluado todos los nodos,consiguiéndose un ahorro importante en el esfuerzo de exploración.

La reducción en el esfuerzo de exploración se logra llevando cuenta de las cotasde los valores calculados y de los valores retroactivos.

Las cotas que se consideran son cotas inferiores y cotas superiores, que sonalmacenadas en unas variables alfa (α) y beta (β) respectivamente.

Como α es una cota inferior, los valores que toma la variable nunca puedendecrecer, siempre crecerán.

Por el contrario como β es una cota superior, los valores que toma la variablenunca pueden crecer, siempre decrecerán.

El manejo de estos valores asociados a las variables α y β, permiten que sepuedan efectuar cortes o podas en el árbol de exploración (de ahí se deriva elnombre de poda alfa – beta) mediante un procedimiento que describimos acontinuación.

1. Partiendo del nodo inicial, generamos todos los sucesores de segundo nivelque constituyen el primer nivel maximizante.

2. Para el nodo del nivel 2 que se encuentra más a la izquierda, generamos todossus sucesores que van a formar parte del nivel 3, que es el primer nivelminimizante. Los sucesores constituyen las posibles réplicas del adversario ala jugada del nivel minimizante.

3. Evaluamos los nodos generados en el paso anterior, mediante la función deevaluación estática y desde el punto de vista del jugador del nivel maximizante.

4. Obtenemos el mínimo de esos valores y se lo asignamos al nodo del nivelmaximizante. Ese valor se denomina retroactivo.

Como se puede apreciar, estos primeros 4 pasos del procedimiento de poda alfa-beta son exactamente los mismos primeros 4 pasos del procedimiento minimax.Las diferencias se comienzan a dar en el paso siguiente.

Page 76: Inteligencia Artificial y Sistemas Expertos

76

5. El valor retroactivo calculado en 4, es el primer valor retroactivo conocido delnivel maximizante. Dicho valor se convierte en el primer valor de la variable αy se vuelve a representar en el ancestro del nodo (en este caso el nodo inicial).

La Figura 3.16 refleja estos primeros cinco pasos:

Figura 3.16

para el tres en línea tendríamos, como lo muestra la Figura 3.17:

α = -1

-1 XX X

X X XO

O O-1 1 0

Figura 3.176. Continuamos con el siguiente nodo hacia la derecha del nivel maximizante. A

este nodo le generamos un único sucesor en el nivel minimizante y loevaluamos. Ese valor se convierte en el primer valor de la variable β, que sesuele representar en el ancestro del nodo (en este caso el nodo del nivelmaximizante).

v=α

Inicio

v3v2v1

v

v = mín (v1, v2, v3,)

Page 77: Inteligencia Artificial y Sistemas Expertos

77

7. Si αβ ≤ , entonces se produce un corte o poda en el árbol. Eso se debe a queel valor máximo (cota superior) que podría tomar el nodo del nivel maximizanteno es superior al valor de α, que representa la cota inferior para ese nivel. Estosignifica que no hay necesidad de generar y evaluar más sucesores del nododel nivel maximizante.

Si β >α y ∞≠β , entonces es necesario generar y evaluar un segundo sucesor.Si ese valor es menor que el valor actual en β, entonces eliminamos el valoranterior y lo reemplazamos por este nuevo valor. Recuerde que los valores deβ no pueden crecer (es una cota superior), pero sí pueden decrecer.Comparamos nuevamente β con α, repitiéndose el proceso, es decir que, si

αβ ≤ entonces se producirá el corte, y en caso contrario la generación yevaluación de un nuevo sucesor. Si la valoración de un sucesor arroja un valormayor o igual que el valor actual en β, no modificamos β y generamos yevaluamos el siguiente sucesor.

Repetimos este proceso hasta que el nodo del nivel maximizante no tenga mássucesores, en cuyo caso nuestra estrategia se convierte hasta ese momentoen un procedimiento minimax (no hay podas) y en ese caso β se puede tomarcomo un valor retroactivo para el nodo.

Si +∞=β , aún cuando es mayor que α, se produce un corte porque es unasituación ganadora, y además +∞=β se convierte en un valor retroactivo.

Consideremos parcialmente el tres en línea (Figura 3.18)

Page 78: Inteligencia Artificial y Sistemas Expertos

78

Figura 3.18

α = -1

-1 X X β = -2 β = 1X

X X X X O OO O X X

O O-1 1 0 -2 1 2

Page 79: Inteligencia Artificial y Sistemas Expertos

79

Nótese que para β = -2 se producen cortes en el árbol. Por el contrario para β= 1, no hay cortes (se cae en un minimax) y por lo tanto el valor β = 1 terminaconvertido en un valor retroactivo.

Podemos comenzar a darnos cuenta que la poda alfa-beta depende del ordenen la generación de nodos en el nivel maximizante. Es decir, si el nodo de mása la izquierda fuera el que tiene la X en la casilla central, se hubiera producidoun valor inicial para α de +1 y no de –1. Obviamente entre mayor sea α, mayorla posibilidad de cortes. Por el contrario, si el nodo de más a la izquierda, fuerauno con una X en las casillas situadas entre las esquinas, se hubiera producidoun valor inicial para α de –2 y no de –1. En este caso, estaríamos máspróximos a un minimax.

Sin embargo aún no hemos terminado con el procedimiento y como veremos acontinuación, aún en los peores casos, en los cuales β >α, la estrategiareacomoda los valores de α, para que de ahí en adelante crezca la posibilidadde cortes en el árbol.

8. Si el valor β de un nodo maximizante se convierte en un valor retroactivo mayorque el valor actual en α, entonces eliminamos el valor actual en α y loreemplazamos por el valor retroactivo β mayor que él. Recordemos que losvalores de α no pueden decrecer (es una cota inferior), pero sí pueden crecer.

9. Repetimos el proceso para los siguientes nodos de más a la derecha del nivelmaximizante.

10. Cada nodo del nivel 2 tiene un valor retroactivo o un valor β. Seleccionamoscomo jugada, la representada por el nodo cuyo valor sea el máximo de los desu nivel (entre valores retroactivos y valores β).

11. Si ambos jugadores utilizan el procedimiento de poda alfa-beta, entoncestomamos como nuevo nodo inicial el nodo seleccionado en 10 y repetimos elproceso. En caso contrario, esperamos a que el adversario seleccione unajugada como réplica a la de 10, tomamos esa jugada como nodo inicial yrepetimos todo el proceso.

Apliquemos el procedimiento completo a tres en línea (Figura 3.19).

Page 80: Inteligencia Artificial y Sistemas Expertos

80

Inicioα =1

1 β = -1 X β = -2 XX

O O α =1 X XX X O O

2 1 -1 -2

O X O β = 0X X X

α =0 O X O X O X OX X O X X X O

O O1 1 2 0

0 O X β = -∞ O X O X β = - ∞X X X X XO O O X

O O X O X O X O X α = - ∞ O XX X X X O X X O X X α = 1 O XO O O O O O X

1 0 1 -∞ -∞

Figura 3.19 Árbol parcial para el triqui, con estrategia poda alfa-beta

Page 81: Inteligencia Artificial y Sistemas Expertos

81

O X α = - ∞X XO O

- ∞ O X X O X β = 1 O X β = + ∞X X X X X X XO O O X O O O Gana X

-∞

O X X O X X O O X O X O XX X O X X X X X X O X X XO O O O O O X O O X O O O O

0 -∞ 1 1 +∞

Page 82: Inteligencia Artificial y Sistemas Expertos

82

En este ejemplo tenemos una situación de corte ocasionada por un +∞=β

3.4 Ejercicios

1. Representar y resolver el siguiente problema: Tenemos dos baldes de aguavacíos, uno con capacidad de 6 galones y otro con capacidad de 8 galones.Teniendo en cuenta que podemos llenar cada uno de los baldes comoqueramos, ¿Cómo podríamos llenar el balde de los 8 galones exactamentehasta la mitad? Supongamos que no existe ninguna marca de medidas enninguno de los baldes.

2. Resolver el 8-puzzle utilizando la técnica de escalada con función manhattan ycuyo estado inicial es,

2 8 31 6 47 5

Y cuyo estado meta es :1 2 38 47 6 5

3. Resover el 8 puzzle utilizando la técnica de m-mejores con función manhattany con m=2 y cuyos estados son los mismos anteriores.

4. Aplicar el procedimiento de poda alfa-beta al juego del tres en línea,considerando un orden diferente en la generación de estados.

5. Recordemos que para el tres en línea disponemos de la siguiente función deevaluación:

e(P)=

+ ∞, Si el que evalúa gana.- ∞, Si el que evalúa pierde.Número de filas, columnas o diagonales aún abiertas para el queevalúa, menos el número de filas, columnas o diagonales aúnabiertas para el adversario.

Esta función de evaluación presenta el inconveniente de que a las situacionesde juego simétricas desde el punto de vista geométrico, les hace corresponderla misma evaluación, por ejemplo:

Page 83: Inteligencia Artificial y Sistemas Expertos

83

X O X X OX y

5-4=+1 5-4=+1

Sin embargo estratégicamente son diferentes y sus evaluaciones deberían serdistintas.

Defina una nueva función de evaluación que le haga corresponderevaluaciones diferentes a situaciones de juego que, aunque simétricasgeométricamente, estratégicamente no lo son. Y que a posiciones estratégicasmejores les correspondan evaluaciones mejores.

6. Represente y resuelva, utilizando las estrategias de primero-profundidad yprimero-amplitud, el siguiente problema:

Se tienen tres pivotes, en el primero de los cuales hay tres discos ordenadosde diámetro menor a mayor; el problema consiste en pasar los discos al tercerpivote y que queden en el mismo orden, utilizando para ello el segundo pivote yteniendo en cuenta las siguientes restricciones:

a. En cada jugada sólo es posible mover un disco de un pivote a otro.b. Sólo se puede trasladar el disco de la cima.c. No se puede colocar en un pivote un disco de diámetro mayor sobre uno de

diámetro menor.d. Un disco no puede quedar suspendido en el aire.

7. Consideremos un juego con fichas, con la siguiente configuración inicial:

N N B B V

Hay dos fichas negras (N), dos blancas (B) y una casilla vacía (V). El juegotiene los siguientes movimientos:

P1 P2 P3

Page 84: Inteligencia Artificial y Sistemas Expertos

84

a. Una ficha puede moverse a una casilla vacía adyacente.b. Una ficha puede saltar sobre otras dos como máximo hasta una casilla

vacía.

El objetivo del juego es llegar a tener todas las fichas blancas a la izquierda detodas las negras y precedidas de la casilla vacía.

Resolver el juego definiendo una función de valuación y utilizando la técnica deescalada.

Page 85: Inteligencia Artificial y Sistemas Expertos

85

CAPÍTULO 4

Sistemas Basados en Reglas

Como se señaló anteriormente cuando hablamos de las características de lossistemas expertos, el éxito en la solución de problemas por parte de un sistemaexperto, en gran medida se debe a la capacidad de formular y representar elproblema. Y representar adecuadamente “cosas del mundo” descansabásicamente en la capacidad de representar simbólicamente esos hechos delmundo.

Existen dos grandes categorías en las técnicas de representación delconocimiento: las procedimentales y las declarativas.

Las representaciones procedimentales del conocimiento heurístico del experto,codifican el conocimiento en unas unidades operatorias conformadas por dospartes, una de precondiciones y otra de conclusiones o acciones; de tal maneraque si se satisfacen las precondiciones la unidad se activa o se dispara. A estacategoría pertenecen representaciones como las reglas de producción y el cálculode predicados de primer orden.

Las representaciones declarativas del conocimiento heurístico del experto,codifican el conocimiento en estructuras cuyas conexiones reflejan asociacionesque involucran un rico contenido semántico. A esta categoría pertenecenrepresentaciones como Redes Semánticas y Redes de Hendrix. También existenrepresentaciones híbridas entre lo procedimental y lo declarativo, tal es el caso delos marcos y los guiones.

Este capítulo va a estar dedicado a la representación de conocimiento mediantereglas de producción, que constituyen la técnica de representación delconocimiento más utilizada.

4.1 Sistemas de Post

El origen de los sistemas de reglas de producción se remonta a 1943, cuando ellógico Emil Post desarrolló un modelo para representar cualquier sistema formalen el que se realizan deducciones lógicas. Post pensó que cualquier sistema de

Page 86: Inteligencia Artificial y Sistemas Expertos

86

este tipo debe consistir en una colección de axiomas y una colección finita dereglas de inferencia.

Las reglas especifican los caminos en que las declaraciones válidas, o teoremas,pueden ser deducidos de los axiomas. Abstractamente, los axiomas son cadenasde símbolos sobre algún alfabeto, y las reglas de inferencia son medios paraespecificar que ciertas cadenas son derivables de otras.

Las cadenas que pueden ser derivadas en un número finito de pasos de losaxiomas, son los teoremas demostrables del sistema y los pasos de lassecuencias de deducción constituyen pruebas de estos teoremas.

Es importante notar que las ideas precedentes, de ninguna manera dependen dela semántica de los axiomas y teoremas. El sistema propuesto por Post esequivalente a la máquina de Turing en su capacidad computacional. El sistema dereglas de producción de Post es una clase finita de reglas de reescritura aplicablea cadenas de símbolos. Estas reglas denominadas producciones (de ahí elnombre de sistema de reglas de producción), se parecen a las reglas de lasgramáticas formales, pero contienen, además de símbolos terminales y noterminales, cadenas variables que representan cadenas arbitrarias de letrasterminales que pueden aparecer en derivaciones permitidas por el sistema.

Formalmente un sistema de producción de Post, también conocido con el nombrede máquina de Post, es una cuaterna MP=<T, U, V, R> en donde T es un conjuntofinito de símbolos terminales (el alfabeto del sistema), que simbolizaremos enforma genérica por letras minúsculas, T={a, b, c,…,n}; U es un conjunto finito desímbolos auxiliares (es un alfabeto de símbolos delimitadores), quesimbolizaremos en forma genérica por letras mayúsculas, U={A, B, C,…,N}; V esun conjunto finito de variables de cadenas de símbolos del alfabeto, quesimbolizaremos en forma genérica por letras del alfabeto griego, V={ γβα , , ,…}; Res un conjunto finito de reglas de reescritura, cada una de las cuales es un parordenado de cadenas en ∗∪∪ )( VUT , en donde ∗ es el cierre de Kleene. Si

) ,( βα es una regla perteneciente a R, escribimos βα → , estableciéndose quecada regla es de la forma BABA βα → , con lo que la cadena α podría serreemplazada por la cadena β en el contexto de A y B.

Análogamente al modo en que las reglas de una gramática formal permiten laderivación de cadenas terminales a partir de un símbolo de comienzo, las reglasde producción permiten que, a partir de un conjunto de axiomas (cadenas desímbolos sobre algún alfabeto), se deduzcan teoremas (cadenas que pueden serderivadas en un número finito de pasos a partir de los axiomas).

Page 87: Inteligencia Artificial y Sistemas Expertos

87

Por ejemplo, consideremos una máquina de Post que sume números enterosexpresados como cadenas de unos. MP=<T, U, V, R> con T={1,+,=}, U=φ ,V={ γβα ,, }, R={p1, p2} en donde,

p1: α + β = γ →α1 + β = γ 1p2: α + β = γ →α + β1 = γ 1

Consideremos el axioma: 1+1=11 y el teorema o cadena a derivar,11+111=11111. Los pasos de la derivación son,

Consideremos una máquina de Post que convierta un número binario (cadenas deunos y ceros).

Representaremos en las reglas de reescritura, el algoritmo estándar para convertirun número binario: dividir el número por 2, sucesivamente, y conservar lasecuencia de restos. Cuando el número está representado en unario, dividir por 2consiste en descartar cada segundo uno. Recordemos que la división es unaresta abreviada. Es decir, si reflejamos el proceso de conversión como restaspara números en notación decimal, tendríamos por ejemplo, si el número es 6,

6 – 2 = 44 – 2 = 22 – 2 = 0

tenemos un residuo de 0 y como restamos 3 veces, continuamos,

3 – 2 = 1 y 1 < 2

tenemos un residuo de 1 y como restamos 1 vez, continuamos,

1 – 2 no es posible

tenemos un residuo de 1 y como restamos cero veces, paramos.

1111111111p

11111111p

111111p

1111

2

2

1

=+↓

=+↓

=+↓

=+

Page 88: Inteligencia Artificial y Sistemas Expertos

88

012 2021216 ⋅+⋅+⋅=

Una máquina de Post que refleja apropiadamente este proceso para númerosenteros expresados en notación unaria es la siguiente,

T={1, 0, =}, U={A, B, C}, V={ δγβα , , , }, R={p1, p2, p3, p4, p5} con,

βαβαβγαβγαβγαβγα

βδγαβδγαααα

=→=→=

→=→=

→=

ABCpCABCBAp

CABBCApCBACBAp

CABp

5

4

3

2

1

110111

La regla p1 comienza con un axioma dado α y crea la cadena CABαα , en la quese puede notar dos copias de α . La primera, la de más a la izquierda, conserva elvalor inicial de α que corresponde al axioma y se utiliza para expresar larespuesta final en p5. La segunda es la copia que se encuentra entre lossímbolos auxiliares B y C, y que será sometida a sucesivas transformaciones.

La regla p2 es la encargada de efectuar la división por 2, es decir, de restar 2, quesignifica tomar la cadena de unos de α y reemplazarla por una cadena que estaráreducida en una cadena de dos unos, respecto a la cadena α que fue tomada porp2. Además la regla p2 incrementa la cadena γ que está entre A y B, agregándoleun 1. Esto equivale a establecer un contador que nos representa el número deveces que se ha restado.

Si los símbolos B y C llegan a ser adyacentes después de repetidas lasaplicaciones de la regla p2, la cadena original contenía un número par de unos ypor lo tanto la regla p3 registra que el residuo es cero y mueve B atrás al principiode la cadena entre A y C, con lo cual la cadena γ que registraba el número deveces que se había restado, se convierte en la nueva cadena a ser sometida en elproceso de reducción, mediante p2.

La regla p4 es la análoga a la regla p3, para el caso en el que el residuo de ladivisión es 1. La regla p5 detecta el caso en el que los símbolos auxiliares A, B yC son adyacentes, con lo cual se finaliza el proceso porque no hay cadenas areducir; y en consecuencia se expresa la conversión completa a binario.

Consideremos como ejemplo de aplicación de esta máquina de Post, el caso en elque el axioma es la cadena 111111 y el teorema o cadena a derivar es, 111111 =110, que expresa la conversión a binario

Page 89: Inteligencia Artificial y Sistemas Expertos

89

CABp111111111111

111111

1↓=α

CBAp

CBAp

1111111111

11111111111

2

2

0111111111

111111111

3

2

CABp

BCAp

101111111

011111111

4

2

CABp

CBAp

110111111

110111111

5

4

=↓

pABCp

Los sistemas de Post poseen las siguientes características:• No hay control.• Las producciones son simplemente reglas de reescritura.• Un sistema de Post no describe un proceso sino que define un conjunto de

cadenas de caracteres.• Si se añade control, un sistema de Post puede utilizarse para describir

procesos:− Aparecen caracteres de control y órdenes.− Desaparecen los axiomas (pues se describe un proceso).

En los años 60, algunos investigadores como Newell y Simon, utilizaron lossistemas de Post en una versión generalizada para modelar procesoscognoscitivos humanos, especialmente en el análisis de juegos y problemas decriptoaritmética o aritmética codificada.

Un problema típico de criptoaritmética es:

Page 90: Inteligencia Artificial y Sistemas Expertos

90

RAMONJUANPEPE

+

En estos problemas, las palabras representan números. Cada letra del alfabetoque aparece en un problema de criptoaritmética, representa un dígito decimaldistinto, pero cada aparición de la misma letra representa el mismo dígito. Lasolución habitual de un problema de criptoaritmética es encontrar qué dígitospueden sustituir a las letras con objeto de producir una posible solución. Es decir,para el problema típico de criptoaritmética planteado arriba, ¿qué dígitos debensustituir las letras A, E, M, N, O, P, R, J y U para que la suma sea correcta? Eneste caso una solución es:

P=8, E=0, J=9, U=3, A=7, N=2, R=1, M=4, O=5

El interés de Newell y Simon en la utilización de sistemas de Post generalizados,se debe a que estos sistemas tienen las siguientes características relevantes:

1. Tienen la generalidad computacional de las máquinas de Turing (recordemosque las máquinas de Post y las máquinas de Turing son equipotentes, esdecir, que todo problema que es solucionable con una máquina de Turing, loes con una máquina de Post, y viceversa, y por tanto son un buen modelopara el procesamiento de información del tipo de la dirigida por los datos, queposeen las acciones inteligentes.

2. Puesto que las reglas de producción tienden a representar componentesindependientes del comportamiento (unidades del saber hacer), la creación yadición de reglas puede ser incremental.

3. Las reglas (Figura 4.1) de producción proporcionan un posible modelo de lamemoria humana, que podemos esquematizar mediante:

Figura 4.1

Conocimientoactivo

Conocimientono activo

Procesadorconceptual

Inf. decontrol

Inf. desituación

Memoria detrabajoBase de conocimiento

Informaciónsensorial

Informaciónefectora

Memoria delargo plazo Memoria de

corto plazo

Page 91: Inteligencia Artificial y Sistemas Expertos

91

4.2 Sistemas basados en reglas de producción (Estado Actual)

Aunque los sistemas basados en reglas de producción en su versión actual, tienencomo antecesores los sistemas de Post, se han distanciado de estos hasta elpunto que se parecen poco.

En los sistemas basados en reglas de producción actuales, a diferencia de los dePost, las reglas no son reglas de reescritura. Actualmente se entiende porproducción una regla que consta de dos partes: un lado izquierdo denominadocondición o antecedente, y un lado derecho denominado acción o consecuente.

Habitualmente las reglas se definen como: IF <condición> THEN <acción> o<conclusión>, que se suelen expresar simbólicamente como,

<condición> ! <acción>

El lado izquierdo o condición es una lista de cosas a verificar y el lado derechootra lista de cosas a hacer.

La condición normalmente es la conjunción de una secuencia de condicioneselementales, que usualmente son una terna o tripla <objeto, atributo, valor>. Laacción es una secuencia de acciones elementales, en donde cada acciónelemental puede ser un procedimiento o una conclusión. El procedimiento seactiva o se ejecuta cuando se verifican las condiciones exigidas por la regla. Laconclusión también se expresa en el formato de terna <objeto, atributo, valor>.

Las conclusiones pueden ser vistas como un caso particular de acción, porque enellas está implícito un cambio en el contenido de la base de hechos. Es decir,cada vez que se activen o disparen reglas, si los consecuentes de éstas sonconclusiones, se produce un incremento de nuevos hechos en la base de hechos.

Un lenguaje para expresar las reglas se define mediante la siguiente sintaxis en laforma Backus-Naur (BNF):

<Regla> ::= IF <Premisa> THEN <Acción> [ELSE< Acción >]<Premisa>::=(AND{<Condición>}+)< Condición >::=(OR{<Tripleta>}+)< Tripleta >::=(<Objeto><Atributo><Valor>)< Acción >::={<Consecuente>}+/{<Procedimiento>+}< Consecuente >::=(< Tripleta ><Factor de Certeza>)

Page 92: Inteligencia Artificial y Sistemas Expertos

92

Los elementos fundamentales o unidades básicas dentro de las premisas de lasreglas son las triplas o tripletas, que representan afirmaciones acerca de losobjetos del dominio de aplicación y que por lo tanto se constituyen también en lasunidades básicas de la base de hechos y de la memoria de trabajo.

Las tripletas pueden aparecer en varias formas:

1. El <atributo> de <objeto> es <valor> como por ejemplo en:

“La identidad de la infección es desconocida”

2. El <objeto> tiene <atributo> de <valor> como por ejemplo en:

“El organismo tiene forma de bastón”

3. A veces el objeto o el atributo están implícitos, como por ejemplo en:

“La cuenca geológica es el sudeste de Irán”

Allí hay un atributo implícito que es el lugar.

Ejemplos de reglas de producción son las siguientes:

Una regla extraída de Mycin es:IF (el lugar de cultivo del organismo es la sangre) y (el organismo es gramnegativo) y

(el organismo tiene forma de bastón) y(el paciente es un huésped con riesgo)

THEN (hay una evidencia de 0,6 de que el organismo es el pseudomonas aeruginosa)

Otra regla extraída de Mycin es:IF (la infección es bacteriemia primaria) y

(la toma del material cultivado es una toma estéril) y(se cree que la puerta de entrada del organismo es el tracto gastrointestinal)

THEN (hay bastante evidencia (0,7) de que la identidad del organismo sea bacteroides)

atributo objeto valor

atributo valorobjeto

Page 93: Inteligencia Artificial y Sistemas Expertos

93

Una regla extraída de Litho es:IF (la cuenca geológica es el sudeste de Irán) y

(el período estatigráfico es el Jurásico)THEN (hay una evidencia de 0,4 de que hay petróleo en la zona) y

(hay una evidencia de 0,2 de que la formación geológica sea globalmente compacta)

Las reglas de producción también pueden utilizar el formalismo de la lógica depredicados de primer orden:(∀ x)(mamífero(x)∧ carnívoro(x) ∧ color(x,leonado) ∧ tiene_rayas(x,negras)) !

tigre(x)

En un sistema basado en reglas, se espera que la base de conocimientos tengalas siguientes características:

a) INDEPENDENCIA: las reglas de producción deben ser independientes unas deotras, en el sentido de que ninguna regla puede referenciar directamente a otraregla de la base de conocimiento. La comunicación entre reglas sólo puedehacerse a través de la base de hechos. Es decir, si por ejemplo, una regla seactiva o dispara, entonces se produce una modificación en la base de hechos,que a su vez permite que se activen nuevas reglas.

b) CARÁCTER APROXIMATIVO: como se puede observar en los ejemplos, las reglasde producción suelen tener asociado un factor de certeza en la conclusión.Esto significa que las reglas de producción que recogen el conocimientoheurístico de un experto, no reflejan implicaciones lógicas, sino más bienapreciaciones o convicciones del experto. Esto se suele expresarnuméricamente asociándole a la conclusión un factor de certidumbre ocoeficiente de verosimilitud que refleja el mayor o menor grado de confianzaque el experto concede a alcanzar esa conclusión asociada a la regla,habiéndole cumplido las condiciones de la misma.

c) CARÁCTER VERSÁTIL: los saberes que forman la base de conocimiento son denaturaleza versátil, es decir, no prejuzgan el uso que se les dará. Por ejemplo,el enunciado: “un osmyladae es un neuróptero sin cuello, cuyas nervadurasestán claramente bifurcadas en el borde de las alas, las cuales a su vez estánjaspeadas y cuya envergadura es superior a 40 mm” no prejuzga unautilización particular. Este enunciado permite responder a preguntas tandiversas como: ¿es éste espécimen un osmyladae?, ¿un osmyladae tiene alasjaspeadas?, ¿cuál es la envergadura de un osmyladae?

En la actualidad podemos definir formalmente un sistema basado en reglas deproducción como una terna, SP=<MT, BR, I> siendo MT la memoria de trabajo, BR

Page 94: Inteligencia Artificial y Sistemas Expertos

94

la base de reglas e I el intérprete. De esta manera podemos considerar laarquitectura de un sistema basado en reglas de producción semejante a la de unsistema experto con algunos cambios en la terminología.

La memoria de trabajo debe contener siempre información adecuada para unatarea en particular: es decir, los datos y hechos establecidos y las metas aalcanzar. Algunas partes de la memoria de trabajo pueden ser permanentes,mientras que otras pueden pertenecer sólo a la solución del problema en curso y,en consecuencia, ser temporales.

La MT es el foco de atención de las reglas de producción. Como sabemos, el ladoizquierdo de las producciones representa una o varias condiciones que debenestar presentes en los hechos antes de que una de esas producciones puedadispararse. Por su parte, el lado derecho de las reglas o producciones contieneuna o varias acciones que lo único que hacen, al menos en una primeraaproximación, es modificar; o sea, añadir, eliminar o cambiar los hechos de talmodo que otras reglas satisfagan su parte de condición y sean susceptibles deactivarse (Figura 4.2).

Figura 4.2

Base de Reglas

• Reglas• Meta-reglas

Intérprete

• Filtrado de reglas• Ciclo de trabajo

Memoria de Trabajo

• Datos y hechos• Lista de subproblemas• Reglas en espera

Page 95: Inteligencia Artificial y Sistemas Expertos

95

El intérprete de un sistema de producción es el núcleo del sistema, de modo que,alimentado por una memoria de trabajo, construye dinámicamente una solución,diciendo qué reglas disparar y en qué orden.

En resumen, el intérprete es un motor de inferencia específico para la activaciónde reglas. Las reglas son activables cuando los hechos o hipótesis de undeterminado problema satisfacen las condiciones del antecedente de la regla, otambién cuando una regla concluye algo que se buscaba establecer, dependiendodel modo de razonamiento que se utilice, como veremos más adelante.

El intérprete debe ser lo más general posible para que pueda aplicarse a distintosdominios del conocimiento, y tan eficiente como se pueda.

Los intérpretes deben cumplir tres requisitos básicos:

1) Conducir a una solución.2) Utilizar una estrategia no aleatoria.3) Ser eficiente computacionalmente.

En el punto 4.3 estudiaremos en detalle los ciclos de trabajo de los intérpretes.

La base de reglas contiene las reglas de producción y en algunos casos unasreglas especiales llamadas meta-reglas. Las meta-reglas son reglas deproducción acerca de las reglas de producción. Es decir, son reglas que lepermiten al intérprete decidirse por una regla u otra, en caso de que haya más deuna regla activable frente a un conjunto de datos y hechos presentes en lamemoria de trabajo.

4.3 Ciclo de Trabajo de un Intérprete

El intérprete de un sistema basado en reglas de producción posee dos niveles: elmodo de razonamiento y la estrategia de control.

Dado que el intérprete es un motor de inferencia, es decir una máquina deductiva,él posee una estrategia de inferencia o modo de razonamiento, que es obviamentedeductivo, y que en términos prácticos expresa un modo de encadenamiento delas reglas. Básicamente existen dos modos de razonamiento, denominados“encadenamiento hacia adelante” y “encadenamiento hacia atrás”. Al primero sele asocia el significado de “dirigido por los datos”, es decir, va a ser elconocimiento de ciertos datos lo que provoque la activación de una regla deinferencia; y al segundo se le asocia el significado de “dirigido por la meta”, esdecir, que es justamente para establecer esa meta por lo que se activa una regla.

Page 96: Inteligencia Artificial y Sistemas Expertos

96

Por ejemplo, consideremos una base de conocimiento (Figura 4.4) que contiene:Hechos conocidos: A, G, Meta: H y las siguientes reglas:

R1: Si A y B y C entonces DR2: Si B y E entonces FR3: Si G y D entonces FR4: Si A entonces XR5: Si B entonces CR6: Si F y X entonces HR7: Si G entonces BR8: Si X y G entonces FR9: Si X y A entonces B

Los árboles siguientes reflejan un razonamiento hacia adelante (dirigido por losdatos o hechos) (Figura 4.3)

A, G

R4

R71.18 A,

G

R7R8 R9

1.17 A, G,X B

R5

R9R81.16 A, G, X, B,

C

R9R8

R1

1.15 A, G, X, B, C, D

R8R1

R3

1.14 A, G, X, B, C, D,F

R8 R9

R6

1.12 A, G, X, B, C, D,F

A, G, X, B, C, D, F, H

meta

Page 97: Inteligencia Artificial y Sistemas Expertos

97

Figura 4.3

Figura 4.4

El primer árbol refleja además del encadenamiento hacia adelante, una estrategiaen la que se selecciona la primera regla aplicable en el orden de su numeración.Esta estrategia forma parte de la estrategia de control que veremosposteriormente.

El segundo árbol (mucho más corto) refleja además del encadenamiento haciaadelante, una estrategia en la que se selecciona aquella regla que posea el mayornúmero de condiciones y cuando dos o más reglas tienen igual número decondiciones, se elige la primera.

La selección de reglas se denomina estrategia de resolución de conflictos y formaparte de la estrategia de control.

Retomando la base anterior, el razonamiento hacia atrás tiene lugar a partir de lameta H, intentando introducir submetas equivalentes. El árbol de la Figura 4.5refleja la situación.

1.9

R4

R71.8 A,

G

R8R7 R9

1.6 A, G,X F

R6

R9R7A, G, X, F, H

meta

Page 98: Inteligencia Artificial y Sistemas Expertos

98

Figura 4.5

En primer lugar debemos decir que este árbol es de un tipo especial de árboles,que se conocen con el nombre de árboles y/o (en inglés and/or).

Las ramas del árbol que tienen horqueta, se utilizan para representar la conjunción“y” de condiciones. Así por ejemplo la horqueta asociada a la regla R6, representaque para establecer o verificar la meta H, es necesario verificar tanto la submeta Xcomo la submeta F.

Las ramas del árbol que se desprenden independientemente a partir de un nodo,se utilizan para representar la disyunción “o” de condiciones. Así por ejemplo lastres ramas que se desprenden del nodo F del árbol, ponen de manifiesto las tresreglas (R2, R3, R8) que independientemente se pueden utilizar como caminos en elproceso de verificación de la submeta F.

Como se puede observar, en el árbol existen ramas que se quedan sin explorar.Esto es debido a que la estrategia utilizada aquí es la más simple posible, yconsiste en utilizar la primera regla aplicable, en el orden de numeración, para, acontinuación, intentar verificar una detrás de otra las nuevas metas producidas.Esta exploración de la arborescencia se realiza en profundidad. En caso defracaso, aquí, por ejemplo, la submeta E no puede deducirse de ninguna manera,

H

X F

G

D

B CA

BEA

GR9

R1

R5

B

R7

R8R4

R3R6

Verificado

Verificado

Verificado Verificado

Verificado

Page 99: Inteligencia Artificial y Sistemas Expertos

99

por lo que es necesario aplicar el procedimiento de retroceso y la última regladejada de lado se ensaya. La exploración se detiene cuando la meta inicial sedemuestra como en nuestro ejemplo, o cuando todas las posibilidades se hanexplorado sin éxito.Los árboles de nuestro ejemplo representan primariamente lo que denominamosmodo de razonamiento. Sin embargo en ellos encontramos algunos elementosadicionales, que forman parte realmente de lo que globalmente conocemos con elnombre de estrategia de control. En ellos observamos que se prefieren unasramas (reglas) a otras por ejemplo, lo que constituye una estrategia en sí misma,denominada resolución de conflictos; también mencionamos arborescencias enprofundidad y procedimientos de retroceso, que como sabemos forman parte delas estrategias de búsqueda.

La estrategia de control contiene el conocimiento de control y no es otra cosa queun “modelo general de solución de problemas”. Esta estrategia es la encargadade encadenar los ciclos de trabajo del intérprete. Cada ciclo posee dos fasesperfectamente diferenciadas: la de decisión o selección de reglas y la deactivación o ejecución de las reglas elegidas.

Es de resaltar que esta modalidad operatoria de las estrategias de control esválida para intérpretes secuenciales, es decir, que la secuencialidad de la máquinay de los algoritmos o programas obliga a que en cada ciclo sólo se pueda activar odisparar una regla y por lo tanto sólo una debe ser seleccionada. Sin embargo, esposible contar con intérpretes paralelos que permitan la selección y ejecuciónsimultánea de más de una regla de producción. Pero asumiremos la situaciónmás usual de contar con unos intérpretes secuenciales.

Cuando la estrategia de control se pone en marcha, la base de datos y la base dereglas contienen las informaciones representativas del enunciado del problema atratar; es decir, la expresión de los hechos comprobados o a probar y losconocimientos operatorios sobre el dominio en cuestión.

La detención del intérprete puede hacerse en la fase de decisión o en la fase deejecución. Revisaremos los ciclos de trabajo conforme a los modos derazonamiento.

4.3.1 Ciclo de un intérprete con encadenamiento hacia adelante

a) FASE DE DECISIÓN: En la situación más general, la fase de decisión consta detres etapas: a) etapa de filtrado: consiste en restringir o filtrar el número de reglasy de hechos que intervienen en el proceso. La idea es que frente a unrequerimiento o solicitud, el intérprete pueda seleccionar un subconjunto de reglasde la base de datos que sean relevantes a la solución del problema. Es decir, loque se busca es no traerse a la memoria de trabajo todas las reglas e

Page 100: Inteligencia Artificial y Sistemas Expertos

100

informaciones almacenadas, siendo muchas de ellas irrelevantes al problema yque no sólo no aportan a la solución sino que además recargan innecesariamenteel sistema, haciéndolo lento e ineficiente.

Para realizar el filtrado, es necesario que la base de conocimiento haya sidoparticionada convenientemente como fruto de un proceso de diseño, por ejemplo.Existen dos categorías básicas de particionamiento de una base de reglas, quedenomino con los nombres de sintácticas y semánticas.

Un particionamiento sintáctico podría conseguirse definiendo una relación deconexión entre las reglas. La idea es definir inicialmente una relación deadyacencia entre reglas, por ejemplo, decimos que Ri es adyacente a Rj (lo quepodemos simbolizar por Ri ~ Rj), si Ri ∩ Rj ≠ ∅ . Es decir, que podemos considerarque dos reglas son adyacentes, si tienen alguna condición o conclusión en común.La relación de adyacencia así definida es reflexiva y simétrica, pero no transitiva.Con base en la relación de conexión entre Ri y Rj (que simbolizamos por Ri ≈ Rj)definida como: Ri ≈ Rj sí Ri ~ Rj, o si existe una secuencia de reglas, {R1, R2,…, Rn}tal que, Ri ~ R1 ~ R2 ~…~ Rn ~ Rj. La relación de conexión así definida es unarelación de equivalencia (reflexiva, simétrica y transitiva), que permite particionarla base de reglas en clases de equivalencia, que pueden ser aprovechadas en elproceso de filtrado.

Un particionamiento semántico podría conseguirse definiendo agrupamientos dereglas mediante criterios de clasificación o de modelamiento conceptual,aportados por los expertos.

La etapa de filtrado sólo se aplica en el primer ciclo de trabajo.

b) EQUIPARACIÓN: Una vez finalizada la etapa de filtrado, la estrategia de controlexamina la base de datos con el fin de seleccionar el conjunto de reglascandidatas a dispararse; es decir, aquellas cuya expresión es compatible con labase de datos, por intermedio de mecanismos de cotejación.

El proceso de cotejación en un encadenamiento hacia adelante consiste encontrastar los hechos de la base de datos contra todos los condicionales de todaslas reglas previamente seleccionadas en la etapa de filtrado. Obviamente esteproceso es muy costoso computacionalmente hablando, por lo que es necesariocontar con algoritmos de equiparación eficientes. El algoritmo de equiparacióneficiente más conocido fue desarrollado en la universidad de Carnegie-Mellon enel marco de un entorno de desarrollo de sistemas expertos basados en reglas deproducción, llamado OPS5, que posee el algoritmo de Rete (Rete es una palabradel inglés antiguo que significa Red).

Page 101: Inteligencia Artificial y Sistemas Expertos

101

c) RESOLUCIÓN DE CONFLICTOS: El proceso de equiparación puede arrojar quehaya un conjunto de reglas susceptibles de ser activadas, dado que los hechos dela base de datos satisfacen las condiciones de un grupo de reglas. A tal conjuntode reglas se le conoce con el nombre de conjunto conflicto y dado que en la fasede decisión se debe seleccionar únicamente una regla, es necesario que laestrategia de control utilice una estrategia de resolución de conflictos que permitadecidirse por una regla. La estrategia consiste en una secuencia de criterios quevan restringiendo en cada paso un número de reglas candidatas en la selección,hasta que finalmente sólo quede una. Los criterios que usualmente se utilizanson:

1) La primera regla que equipara el contexto. Esta primera se define en términosde algún ordenamiento explícito de la base de reglas.

2) La regla de más alta prioridad. Las prioridades son definidas por los expertos yse suelen expresar mediante niveles de prioridad, de tal manera que podemoshablar de reglas de nivel 100, 200, etc.

3) La regla más específica. Es decir, aquella que es conjunción de máscondiciones.

4) La regla que concierne al elemento añadido más recientemente a la memoriade trabajo.

5) Arbitrariamente una regla.

d) FASE DE EJECUCIÓN: La regla seleccionada en la fase anterior es activada odisparada, esto significa ejecutar la acción de la regla o añadir una nuevaconclusión a la base de hechos.

Este ciclo se repite (salvo la etapa de filtrado) hasta que el hecho que se ha fijadocomo meta se añada a la base de hechos, o cesa de efectuarse cuando ya nopuede aplicarse ninguna regla. Este proceso es manejado por el intérprete, queademás de utilizar la estrategia de control, se vale de las estrategias de búsqueday de los mecanismos de retroceso para dirigir los encadenamientos de los ciclos.Es decir, en su forma más simple, los encadenamientos son guiados medianteestrategias de primero-profundidad y primero-amplitud, acompañadas delmecanismo de retroceso que es aplicado en tres situaciones:

1. Cuando se alcanza el límite de profundidad prefijado (número máximo de ciclospermitidos) y no se ha alcanzado la meta y quedaron reglas pendientes.

2. Cuando no hay más reglas que equiparen (conjunto conflicto vacío), no se haalcanzado la meta y quedaron reglas pendientes.

Page 102: Inteligencia Artificial y Sistemas Expertos

102

3. Cuando no se generen nuevos hechos (bucle), no se ha alcanzado la meta yquedaron reglas pendientes.

En los tres casos tenemos reglas pendientes, es decir que no fueronseleccionadas en la etapa de resolución de conflictos.

Cuando la regla seleccionada no conduce a la meta (camino de fracaso) elintérprete tiene que devolverse hasta el ancestro más inmediato en el quequedaron, reglas pendientes, y luego, debe encadenar un nuevo ciclo en el que seselecciona una de las reglas pendientes y se repite el proceso hasta llegar a lafase de ejecución.

Cuando la activación de una regla (disparo) no conduce a la meta y en ninguno desus ancestros hay reglas pendientes, entonces el ciclo completo del intérpretetermina con fracaso, es decir, que la meta no se puede establecer como un hecho.

Como se puede apreciar, el mecanismo de retroceso es muy importante paraestablecer las condiciones de terminación del ciclo de trabajo de un intérprete. Entodo este proceso es fundamental llevar un historial de todos los cambios que sevan sucediendo en la memoria de trabajo.

Si en un ciclo j se selecciona una regla y al finalizar, esta regla no conduce a lameta (situación de retroceso) quedaron reglas pendientes en un ciclo j-n, entoncesel ciclo j+1 comienza en la etapa de resolución de conflictos del ciclo j-n,seleccionando una regla diferente. Pero lo más importante es que la memoria detrabajo que se considera es la que entró al ciclo j-n desde su ciclo anterior y por lotanto al finalizar el ciclo j+1 tendremos los hechos que entraron a j-n más losagregados por el disparo de la regla.

Consideremos el siguiente ejemplo, en el que simulamos un intérprete con estascaracterísticas:

Modo de razonamiento: Encadenamiento hacia delante.Estrategia de búsqueda: Primero-Profundidad.Estrategia de resolución de conflictos: La regla con identificador más bajo (porejemplo, si compiten las reglas R5 y R8, se selecciona R5)

Consideremos la siguiente base de reglas BR={ R1, R2, R3, R4, R5, R6} con,

R1: A → B, C, DR2: E, B → C, FR3: C, L → G, HR4: E → G, AR5: D → M, C

Page 103: Inteligencia Artificial y Sistemas Expertos

103

R6: K → L, E

Consideremos la siguiente base de hechos, BH = {B, G, α, K}. Sea Meta ={M}.

Ciclo 1: Fase : Decisión.Etapa: Filtrado, Reglas: R1, R2, R3, R4, R5, R6Hechos: B, G, KEtapa: Equiparación, conjunto conflicto: R6Etapa: Resolución de conflictos, seleccionamos R6Reglas pendientes: ∅

Fase: EjecuciónDisparamos R6, Hechos: B, G, K, L, E

Como M no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 2: Fase: Decisión.Etapa: Equiparación, conjunto conflicto: R2, R4Etapa: Resolución de conflictos, seleccionamos R2Reglas pendientes: R4

Fase: EjecuciónDisparamos R2, Hechos: B, G, K, L, E, C, F

Como M no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 3: Fase: DecisiónEtapa: Equiparación, conjunto conflicto: R3, R4Etapa: Resolución de conflictos, seleccionamos R3Reglas pendientes: R4

Fase: EjecuciónDisparamos R3, Hechos: B, G, K, L, E, C, F, H

Como M no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 4: Fase: DecisiónEtapa: Equiparación, conjunto conflicto: R4Etapa: Resolución de conflictos, seleccionamos R4Reglas pendientes: ∅

Fase: EjecuciónDisparamos R4, Hechos: B, G, K, L, E, C, F, H, A

Como M no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 5: Fase: Decisión

Page 104: Inteligencia Artificial y Sistemas Expertos

104

Etapa: Equiparación, conjunto conflicto: R1Etapa: Resolución de conflictos, seleccionamos R1Reglas pendientes: ∅

Fase: EjecuciónDisparamos R1, Hechos: B, G, K, L, E, C, F, H, A, D

Como M no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 6: Fase: DecisiónEtapa: Equiparación, conjunto conflicto: R5Etapa: Resolución de conflictos, seleccionamos R5Reglas pendientes: ∅

Fase: EjecuciónDisparamos R5, Hechos: B, G, K, L, E, C, F, H, A, D, M

Como M pertenece a hechos, terminamos con éxito.

4.3.2 Ciclo de un intérprete con encadenamiento hacia atrás

El ciclo de trabajo de un intérprete con encadenamiento hacia atrás presenta lasmismas fases de selección y ejecución que el ciclo con encadenamiento haciaadelante.

La etapa de filtrado es idéntica al ciclo hacia adelante. La etapa de equiparaciónse realiza equiparando la meta con los lados derechos de las reglas.

La etapa de resolución de conflictos es similar.

La fase de ejecución consiste en reemplazar una meta por submetas equivalentes.

La condición de terminación es, ¿Metas ⊆ Hechos? Si la respuesta es Sí,terminamos con salida exitosa, si la respuesta es No, encadenamos con un nuevociclo.

Consideremos el mismo ejemplo, con las mismas reglas y hechos, pero con unintérprete que razona hacia atrás. Nuevamente consideremos como estrategia debúsqueda primero-profundidad y como estrategia de resolución de conflictos, laregla con identificador menor.

Ciclo 1: Fase: DecisiónEtapa: Filtrado, Hechos: B, G, K, Reglas: R1, R2, R3, R4, R5, R6, Metas: MEtapa: Equiparación, conjunto conflicto R5

Page 105: Inteligencia Artificial y Sistemas Expertos

105

Etapa: Resolución de conflictos, seleccionamos R5Reglas pendientes: ∅

Fase: EjecuciónDisparamos R1, esto significa que reemplazamos la meta M por D. Metas: D

Como D no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 2: Fase: DecisiónEtapa: Equiparación, conjunto conflicto: R1Etapa: Resolución de conflictos, seleccionamos R1Reglas pendientes: ∅

Fase: EjecuciónDisparamos R1, Metas: A

Como A no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 3: Fase: DecisiónEtapa: Equiparación, conjunto conflicto: R4Etapa: Resolución de conflictos, seleccionamos R4Reglas pendientes: ∅

Fase: EjecuciónDisparamos R4, Metas: E

Como E no pertenece a Hechos, encadenamos con un nuevo ciclo

Ciclo 4: Fase: DecisiónEtapa: Equiparación, conjunto conflicto: R6Etapa: Resolución de conflictos, seleccionamos R6Reglas pendientes: ∅

Fase: EjecuciónDisparamos R6, Metas: K

Como K pertenece a Hechos, terminamos con éxito.

4.4 Problemas y Reglas de Producción

Los sistemas basados en reglas de producción son una buena manera paradescribir las operaciones que pueden llevarse a cabo en una búsqueda desolución de un problema.

Un problema ‘P’ lo podemos modelar y resolver mediante un sistema deproducción, considerando las operaciones como reglas de producción y los

Page 106: Inteligencia Artificial y Sistemas Expertos

106

estados como elementos de la memoria de trabajo. El estado inicial es un hechode la memoria de trabajo y el estado meta es un elemento de la memoria, del quese trata de establecer si es un hecho o no.

El intérprete se convierte entonces en un solucionador de problemas con susestrategias de inferencia, de búsqueda y control (que incorpora la estrategia deresolución de conflictos y el mecanismo de retroceso que es fundamental en losintentos de solucionar el problema).

Anteriormente, cuando definíamos un problema P, indicábamos que lo podíamosmodelar como una cuaterna conformada por un espacio de estados, un conjuntode operadores y unos estados especiales o distinguidos, que son el estado inicialy el estado meta. Sin embargo el nivel de representación es todavía muy vago, enla medida en que no precisemos la representación de las operaciones. Porejemplo referido al 8-puzzle, señalábamos cuatro operaciones: 01 (mover blancoarriba), 02 (mover blanco abajo), 03 (mover blanco a la derecha), 04(mover blancoa la izquierda). Desde el punto de vista humano, es entendible el significado delas operaciones, pero desde el punto de vista de la máquina no. Es decir, que sipretendemos que un computador juegue al 8-puzzle, no es suficiente conrepresentar formalmente los estados del problema mediante estructuras de datosmanipulables por él (como arreglos, listas, etc.) si las operaciones no estánexpresadas en un nivel de representación equivalente. Esto implica la necesidadde contar con un lenguaje formal, que permita expresar las acciones de las reglascomo transformadores de estados, a un nivel manejable por el computador. Lasreglas de producción constituyen una buena solución, no sólo por la capacidad deexpresar la acción (transformación del estado), sino por la capacidad de expresarlas precondiciones que los estados del problema deben satisfacer para que seejecute la acción.

Las reglas de producción utilizadas en la solución de problemas, se convierten enunas parejas precondición-acción.

Consideremos nuevamente el problema de los envases con agua del Capítulo 3.Sea v1 el envase de 5 litros y v2 el envase de 2 litros.

Sea (x, y) un estado del problema, en donde, x = cantidad de litros en v1 y y =cantidad de litros en v2.

Estado inicial es e0=(5,0) y meta M=(0, 1). Los operadores que se definieron en elCapítulo 3 son O={o1, o2, o3, o4} tal que:

O1= vaciar v1O2= vaciar v2O3= vaciar de v1 a v2O4= vaciar de v2 a v1

Page 107: Inteligencia Artificial y Sistemas Expertos

107

Podemos formalizar estas operaciones mediante reglas de producción, de talmanera que sus precondiciones actúan como filtros de los estados y cuyasacciones transforman los estados, modificando la base de hechos.

Una propuesta de formalización en la que no incluimos el operador o4, podría serla siguiente:

R1 (Vaciar de v1 a v2 hasta que v2 quede lleno):IF estado=(x, y) ∧ (x > 0) ∧ (y < 2) ∧ (x + y ≥ 2)THEN estado = (x – (2-y), 2)R2 (Vaciar de v1 a v2 hasta que v1 quede vacío y v2 no quede lleno):IF estado=(x, y) ∧ (x > 0) ∧ (x + y < 2) THEN estado = (0, x+y)

R3(Vaciar v1):IF estado=(x, y) ∧ x > 0 THEN estado = (0, y)

R4(Vaciar v2):IF estado=(x, y) ∧ y > 0 THEN estado = (x, 0)

Consideremos un intérprete con las siguientes características: Modo derazonamiento = hacia adelante, Estrategia de búsqueda = primero-profundidad,Estrategia de resolución de conflictos = seleccionar primero las reglas con mayornúmero de precondiciones y en caso de empate preferir las reglas conidentificador menor.

Ciclo 1: Fase: DecisiónEtapa: Filtrado, Reglas: R1, R2, R3, R4, Hechos: (5,0)Etapa: Equiparación, Conjunto conflicto: R1, R3Etapa: Resolución de conflictos, seleccionamos R1, Reglas pendientes: R3

Fase: EjecuciónDisparamos R1, Hechos: (5,0), (3,2)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 2: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R3, R4Etapa: Resolución de conflictos, seleccionamos R3, Reglas pendientes: R4

Fase: EjecuciónDisparamos R1, Hechos: (5,0), (3,2), (0,2)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 3: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R4Etapa: Resolución de conflictos, seleccionamos R4, Reglas pendientes: ∅

Fase: Ejecución

Page 108: Inteligencia Artificial y Sistemas Expertos

108

Disparamos R4, Hechos: (5,0), (3,2), (0,2), (0,0)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 4: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: ∅Debemos retroceder al ciclo 2 donde quedó pendiente la regla R4

Ciclo 5: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R3, R4Etapa: Resolución de conflictos, seleccionamos R4, Reglas pendientes: ∅

Fase: EjecuciónDisparamos R4, Hechos: (5,0), (3,2), (3,0)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 6: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R1, R3Etapa: Resolución de conflictos, seleccionamos R1, Reglas pendientes: R3

Fase: EjecuciónDisparamos R1, Hechos: (5,0), (3,2), (3,0), (1,2)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 7: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R3, R4Etapa: Resolución de conflictos, seleccionamos R3, Reglas pendientes: R4

Fase: EjecuciónDisparamos R3, Hechos: (5,0), (3,2), (3,0), (1,2), (0,2)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 8: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R4Etapa: Resolución de conflictos, seleccionamos R4, Reglas pendientes: ∅

Fase: EjecuciónDisparamos R3, Hechos: (5,0), (3,2), (3,0), (1,2), (0,2), (0,0)Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 9: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: ∅Debemos retroceder al ciclo 7 donde quedó pendiente R4.

Ciclo 10: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R3, R4Etapa: Resolución de conflictos, seleccionamos R4, Reglas pendientes: ∅

Fase: EjecuciónDisparamos R4, Hechos: (5,0), (3,2), (3,0), (1,2), (1,0)

Page 109: Inteligencia Artificial y Sistemas Expertos

109

Como (0,1) no pertenece a Hechos, encadenamos con un nuevo ciclo.

Ciclo 11: Fase: DecisiónEtapa: Equiparación, Conjunto conflicto: R2, R3Etapa: Resolución de conflictos, seleccionamos R2, Reglas pendientes: R3

Fase: EjecuciónDisparamos R2, Hechos: (5,0), (3,2), (3,0), (1,2), (1,0), (0,1)Como (0,1) pertenece a Hechos, terminamos con éxito la secuencia de estados(5,0), (3,2), (3,0), (1,2), (1,0), (0,1) muestra la trayectoria de solución del problema,determinada por la secuencia de reglas R1, R4, R1, R4, R2.Consideremos ahora un problema con un grado de dificultad mayor, en donde lointeresante no está en los ciclos de trabajo del interprete, sino en la representaciónformal de los elementos del problema y en especial en las reglas de producción.

El enunciado del problema es el siguiente:

“En la orilla izquierda de un río se encuentran tres misioneros y tres caníbales quetratan de pasar a la orilla derecha del río. Para lo cual, cuentan con una barca quesólo tiene capacidad para transportar a dos personas. Con la restricción de queen ningún momento pueden estar juntos, en cualquiera de las orillas, máscaníbales que misioneros (los caníbales se comerían a los misioneros)”.

Una propuesta de formalización podría ser la siguiente:

Estado <(M1, C1), (M2, C2), (M3, C3), B> en donde,

M1= Cantidad de misioneros en la orilla izquierda.M2= Cantidad de misioneros en la barca.M3= Cantidad de misioneros en la orilla derecha.C1= Cantidad de caníbales en la orilla izquierda.C2= Cantidad de caníbales en la barca.C3= Cantidad de caníbales en la orilla derecha.B= Posición de la barca. Sin pérdida de generalidad asumimos que si B=1entonces la barca se encuentra en la orilla izquierda y si B=0 se encuentra en laorilla derecha.

Con estos elementos podemos representar:Estado inicial, e0=<(3, 3), (0, 0), (0, 0), 1>,Estado meta, m=< (0, 0), (0, 0), (3, 3), 0>,

Y las siguientes reglas:

R1 (Embarcar un misionero en la orilla izquierda):

Page 110: Inteligencia Artificial y Sistemas Expertos

110

IF estado = <(M1, C1), (M2, C2), (M3, C3), B > ∧ (M1 ≠ 0) ∧ (M1 –1 ≥ C1) ∧ (1≥M2+C2) ∧ (B=1) THEN estado=<(M1-1,C1), (M2+1, C2), (M3, C3), B>R2 (Embarcar un caníbal en la orilla izquierda):IF estado = <(M1, C1), (M2, C2), (M3, C3), B > ∧ (C1≠0) ∧ (1≥ M2+C2) ∧ (B=1) THENestado=<(M1,C1-1), (M2, C2+1), (M3, C3), B>

R3 (Desembarcar un misionero en la orilla derecha):IF estado = <(M1, C1), (M2, C2), (M3, C3), B > ∧ (M2 ≥ 1) ∧ (M3+1≥ C3) ∧ (B=0)THEN estado=<(M1, C1), (M2-1, C2), (M3+1, C3), B>

R4 (Desembarcar un caníbal en la orilla derecha):IF estado = <(M1, C1), (M2, C2), (M3, C3), B > ∧ (C2 ≥ 1) ∧ (B=0) ∧((M3≥ C3+1) ⊕ M3=0) THEN estado=<(M1,C1), (M2, C2-1), (M3, C3+1), B>

R5 (Atravesar el río):IF estado = <(M1, C1), (M2, C2), (M3, C3), B > ∧ (M2+C2 ≠ 0)THEN estado=<(M1,C1), (M2, C2), (M3, C3), 1-B>

Estas cinco reglas son suficientes para plantear una solución al problema. Nóteseque con estas cinco reglas no son necesarios embarques por la derecha ydesembarque por la izquierda.

El símbolo ⊕ representa un ó-exclusivo.

4.5 Ejercicios

1. Construya una máquina de post que convierta un número entero positivo mayorque 1 (expresado como una cadena de unos), en su equivalente en base 3.

2. Construya una máquina post que reste dos números enteros mayores que cero,representados como secuencias de unos.

3. Sean A y B dos números enteros positivos mayores que cero, expresados comocadenas de unos y tal que A > B. Construya una máquina de post que calculeel cociente de la división A ÷ B.

4. Represente formalmente mediante reglas de producción los cuatro operadoresdel 8-puzzle.

5. Solucione el problema de misioneros y caníbales, teniendo en cuenta laformalización propuesta en el libro, que contiene las cinco reglas definidas ycon un intérprete con las siguientes características:

Page 111: Inteligencia Artificial y Sistemas Expertos

111

Modo de razonamiento: Hacia adelanteEstrategia de búsqueda: Primero-ProfundidadEstrategia de resolución de conflictos: Defina su propia estrategia

6. Represente y solucione mediante un sistema basado en reglas de producción,el siguiente problema:

“Tenemos dos baldes de agua vacíos, uno con capacidad de 6 galones.Teniendo en cuenta que podemos llenar cada uno de los baldes comoqueramos, ¿cómo podríamos llenar el balde de los 8 galones exactamentehasta la mitad? Supongamos que no existe ninguna marca de medidas enninguno de los baldes”.

Defina las características del intérprete con el que va a solucionar el problema.

7. Represente y solucione mediante un sistema basado en reglas de producción,el siguiente problema:

“Tres hombres que viajan en compañía de sus esposas llegan a la margenizquierda de un río. Allí se encuentra un bote en el que sólo caben dospersonas al mismo tiempo. Como los maridos son sobremanera celosos,ninguna mujer puede quedarse en compañía de un hombre a menos que suesposo esté presente. ¿Cómo hacen para cruzar el río y llegar a la margenderecha?”

Defina las características del intérprete con el que va a solucionar el problema.

8. Represente y solucione mediante un sistema basado en reglas de producción,el siguiente problema:

“Un pastor quiere cruzar un río acompañado de un lobo, una oveja y una col.Desgraciadamente para él, el bote de que dispone sólo puede contener alpastor y uno de los tres, animales o vegetal que lo acompañan. Pero lo peor esque sin la presencia humana, la oveja se comería la col y el lobo se comería ala oveja, y la oveja a la col. Sin embargo puede dejar tranquilamente al lobo yla col. ¿Cómo hacen para cruzar el río?”

Defina las características del intérprete con el que va a solucionar el problema.

Page 112: Inteligencia Artificial y Sistemas Expertos

112

CAPÍTULO 5

Solución de Problemas por Resolución – Refutación

5.1 Cálculo de Predicados de Primer Orden

El cálculo de predicados de primer orden es un lenguaje que consta de:

ALFABETO: El alfabeto para el cálculo de predicados de primer orden consta depredicados, variables, funciones, constantes, conectivos, cuantificadores ydelimitadores tales como paréntesis y comas.

CONSTANTES: Un símbolo constante, el componente más sencillo en la lógica depredicados, se usa para representar un elemento específico del dominio. Esteelemento puede ser cualquier objeto señalado de interés, incluyendo los objetosfísicos y las abstracciones tales como ideas, etc. Ejemplo: Piolín.

VARIABLES: Un símbolo variable se emplea para representar un conjunto deelementos del dominio sin especificar elemento alguno en concreto. Ejemplo:canarios, colores.

FUNCIONES: Una función describe un elemento identificándolo como el resultadoúnico de la aplicación de una transformación entre otros elementos del dominio.Los argumentos pueden ser cualquier término válido, donde un término es unaforma de identificar un elemento del dominio. Un término se define inductivamentecomo una variable, una constante o una función. Por ejemplo: padre (Juan), unainvocación a una función que especifica el elemento único, en este caso unhombre, que es el padre de Juan.

PREDICADOS: Los predicados se emplean para representar relaciones opropiedades. Cuando se emplean para representar relaciones dentro del dominio,ellos indican que un elemento se relaciona con otros en alguna forma específica.Cuando se emplean para representar propiedades, ellos indican una clase deobjetos a la que pertenecen los elementos (constantes). Un predicado tiene valorde verdadero si los elementos dados están relacionados de modo específico, o sipertenecen a la clase que representa el predicado; y de falso si no estánrelacionados o si no pertenecen a la clase. Por ejemplo Canario (Piolín) es unpredicado que señala que Piolín es un canario. El predicado Padre (Juan, María)señala que Juan es el padre de María.

Page 113: Inteligencia Artificial y Sistemas Expertos

113

NOTACIÓN: De ahora en adelante adoptaremos la siguiente notación. Para lasconstantes las primeras letras del alfabeto en mayúsculas, A, B, C, D, …

Para las variables las últimas letras del alfabeto en minúsculas, x, y, z, …

Para las funciones utilizaremos minúsculas como f, g, h, …

Para los predicados utilizaremos las mayúsculas como P, Q, R, S, …

Esto permite distinguir predicados unarios que expresan propiedades defunciones. Por ejemplo, el predicado PADRE(JUAN) que expresa que Juan espadre, de la función padre(JUAN) que devuelve el valor del objeto único que es elpadre de Juan.

CONECTORES: Sirven para combinar fórmulas produciendo fórmulas máscomplejas. Los conectivos con sus respectivos símbolos son: y (∧ ), ó (∨ ), implica( ⇒ ), equivalente ( ⇔ ), negación (¬ ).

CUANTIFICADORES: La lógica proposicional es un subconjunto del cálculo depredicados de primer orden, en el que excluimos el uso de variables. Para ayudara conformar dichas expresiones, empleamos cuantificadores que indican lafrecuencia con la cual los elementos del dominio se relacionan o tienen lapropiedad indicada.

El cuantificador universal se simboliza por ‘∀ ’, y se lee “Para todo”, “Para cada”,“Para cualquiera”, u otras formas equivalentes. Y se utiliza para aseverar que unafórmula es verdadera para todos los valores de la variable asociada. Así porejemplo, la expresión (∀ x) (x es mortal), se lee “Para todo x, x es mortal”, o “Cadax es mortal”, etc. En general, una expresión de la forma (∀ x) P(x), en donde P(x)denota una propiedad del elemento x, indica que todos los elementos del dominiosatisfacen la propiedad P.

El cuantificador existencial se simboliza por ‘∃ ’, y se lee “Existe por lo menos un”, o“Para algún” o de otras formas equivalentes. Y se utiliza para aseverar que por lomenos existe alguna asignación para la variable asociada, que hará que la fórmulasea verdadera. Así por ejemplo, la expresión (∃ x) (x es mortal), se lee “Existe porlo menos un x tal que x es mortal”, o “Para algún x, x es mortal”.

En general una expresión de la forma (∃ x) P(x), en donde P(x) denota unapropiedad del elemento x, indica que por lo menos un elemento del dominiosatisface la propiedad P.

INTERPRETACIONES: El valor de verdad de expresiones como (∀ x) P(x) o (∃ x) P(x),depende de la interpretación, la cual incluye el dominio y el significado del

Page 114: Inteligencia Artificial y Sistemas Expertos

114

predicado P. Por ejemplo, si el dominio es el conjunto D={amarillo, azul, rojo}, elenunciado (∀ x) COLOR_PRIMARIO(x) es verdadero, porque cada uno de loselementos del dominio es un color primario. Pero si el dominio es el conjuntoD={amarillo, azul, rojo, naranja, café} la afirmación (∀ x) COLOR_PRIMARIO(x) esfalsa, porque el color Naranja o el color Café, aunque pertenecen al dominio noson colores primarios. Sin embargo, la expresión (∃ x) COLOR_PRIMARIO(x) esverdadera.

El lenguaje: El lenguaje formal asociado con la lógica de predicados de primerorden, es el conjunto de todas las fórmulas que se pueden construir legalmente apartir del alfabeto de símbolos.

Los argumentos de las funciones son los términos (constantes, variables yfunciones).

Los argumentos de los predicados pueden ser inicialmente predicados y/otérminos. Cuando son únicamente términos, entonces se trata de una fórmulaatómica. Por ejemplo, la expresión AMA(JUAN, AMA(x, MARIA)) no es unafórmula atómica pues la expresión AMA(x, MARIA) no es término, es unpredicado.

Una fórmula legalmente construida en el lenguaje se llama una fórmula biendefinida, y se define inductivamente como sigue:

1. Una fórmula atómica es una fórmula bien definida (FBD).2. Si F y G son FBD, también lo son (¬F), (F∧ G), (F∨ G), (F⇒ G).3. Si F es una FBD y x es una variable, también son FBD, (∀ x) (F(x)) y (∃ x) (F(x))4. Si F es una FBD también lo son (F), [F], {F}.5. Unicamente son fórmulas bien definidas las expresiones que se obtienen

iterativamente por la aplicación de las reglas anteriores.

No son fórmulas bien definidas, expresiones como, (∀ x) (P(A)) ó (∃ f) (P(f (x)))porque no se permite la cuantificación sobre los predicados o funciones. Es decir,estamos en una lógica de primer orden. La expresión (∀ x) [AMA(JUAN,AMA(x,MARIA))], no es una fórmula bien definida, pero es equivalente a la fórmula biendefinida, (∀ x) [AMA(x, MARIA)⇒ AMA(JUAN, x)].

El cálculo de predicados puede utilizarse como representación del conocimiento,siguiendo estos pasos:

1. Formular el conocimiento como enunciados en español.2. Separar los enunciados en sus partes constitutivas.3. Escoger los símbolos para representar los elementos y relaciones en cada

componente.

Page 115: Inteligencia Artificial y Sistemas Expertos

115

4. Definir el dominio.5. Construir fórmulas bien definidas, empleando los símbolos anteriores, que

representen los enunciados.

Ejemplo: Representar, “Nerón es un perro negro”. La estructura de esta frase seclarifica mediante la estructuración de dos oraciones:

1. “Nerón es un perro” y2. “Nerón es negro”.

La fórmula bien definida es en consecuencia: PERRO(NERÓN) ∧ NEGRO(NERÓN).

Ejemplo: Representar, “Las águilas vuelan”. Si el dominio de la interpretación espor ejemplo el conjunto de todas las aves, la representación será, (∀ x)(AGUILA(x)⇒ VUELA (x)); sin embargo si el dominio es el conjunto de las águilas,entonces cada elemento del conjunto del dominio tiene la propiedad de volar y larepresentación será (∀ x)(VUELA(x)).

Ejemplo: Representar, “Las ovejas les temen a los lobos”. Consideremos comodominio el de todos los animales. El enunciado es equivalente a, “Todos lasovejas les temen a todos los lobos” y lo podemos representar como(∀ x)[OVEJA(x)⇒ ( (∀ y)(LOBO(y)⇒ TEME(x, y)))], o también como (∀ x)(∀ y)[OVEJA(x)∧ LOBO(y)⇒ TEME(x, y)].

5.2 Forma Clausal

Estamos interesados en un sistema capaz de resolver problemas por resolución-refutación.

El principio de resolución de Robinson, es una importante regla de inferenciaalternativa a las reglas clásicas como la de modus ponendo ponens; que puedeser aplicada a una cierta clase de fórmulas bien definidas, llamadas cláusulas.

Una fórmula atómica y la negación de una fórmula atómica son llamadas literales.

Una cláusula es definida como una fórmula bien definida que consiste en unadisyunción de literales. El proceso de resolución cuando es aplicable, es aplicadoa un par de cláusulas padre para producir una cláusula derivada, llamadaresolvente.

Page 116: Inteligencia Artificial y Sistemas Expertos

116

Un tipo especial de cláusulas son las denominadas cláusulas de Horn, que sonaquellas en las que a lo sumo existe un literal positivo (una fórmula atómica nonegada).

Cualquier fórmula bien definida del cálculo de predicados de primer orden, puedeser convertida en un conjunto de cláusulas. Existe un algoritmo que nos permitetomar cualquier fórmula expresada en el lenguaje anterior y convertirla finalmenteen un conjunto de cláusulas. El proceso de conversión consiste en los siguientespasos:

1. Eliminar los símbolos de implicación: Hacer la sustitución de F(x1) ⇒ G(x2) por¬F(x1)∨ G(x2), en donde F(x1) y G(x2) son fórmulas bien definidas que hacenparte de la expresión que estamos convirtiendo.

2. Reducir el alcance de los símbolos de negación: Deseamos que cada símbolode negación, “¬ ” se aplique a lo más a una fórmula atómica. Esto se lograhaciendo uso de las leyes de De Morgan,

¬ (F(x)∨ G(y)) = ¬F(x) ∧ ¬G(y)¬ (F(x)∧ G(y)) = ¬F(x) ∨ ¬G(y),

y otras formas de equivalencia como la ley de doble negación, ¬ (¬P(x))= P(x),y expresiones como ¬ (∀ x)(P(x)) = (∃ x)(¬P(x)) y ¬ (∃ x)(P(x)) =(∀ x)(¬P(x)).

3. Estandarizar variables de los cuantificadores: cada cuantificador debe tener supropia variable. Así que, en vez de escribir (∀ x)[P(x)⇒ (∃ x)Q(x)], escribimos(∀ x)[P(x)⇒ (∃ y)Q(y)].

4. Eliminar el cuantificador existencial: Considere la fórmula bien definida,(∀ y)[(∃ x)P(x, y)]. Se puede leer como “Para todo y existe un x (posiblementedependiendo de y) tal que P(x, y)”. Note que el cuantificador existencial estádentro del alcance del cuantificador universal, lo que nos permite la posibilidadde que la x que existe puede depender del valor de y. Esta dependencia seaexplícitamente definida por alguna función g(y), la cual lleva cada valor de y enel x que “existe”. Tal función es llamada una función de Skölem. Si usamosdicha función en lugar de la x que existe, podemos eliminar el cuantificadorexistencial y escribir (∀ y) P[g(y), y)].

Los símbolos usados en la función de Skölem deben ser nuevos en la fórmulabien definida. Así por ejemplo [(∀ w) Q(w)] ⇒ (∀ x){ (∀ y) {(∃ z) [P(x,y,z) ⇒(∀ u)R(x,y,u,z)]}} se convierte en [(∀ w) Q(w)] ⇒ (∀ x){(∀ y)[P(x,y,g(x,y))⇒(∀ u)R(x,y,u, g(x,y))]}.

Page 117: Inteligencia Artificial y Sistemas Expertos

117

Si el cuantificador existencial que está siendo eliminado no está dentro delalcance de cualquier cuantificador universal, usamos una función de Skölemsin argumentos, la cual es una constante. Así que (∃ x)(P(x)) se convierte enP(A), donde el símbolo constante A es usado para referirse a la entidad quesabemos que existe, por ejemplo, (∃ x) (PRESIDENTE_DE_COLOMBIA (x)).Se elimina, el existencial, y expresamos, PRESIDENTE_DE-COLOMBIA(ANDRÉS).

Es importante que A sea un nuevo símbolo constante y no uno usado en otrasfórmulas para referirse a entidades conocidas.

5. Convertir a forma normal prenex: consiste en trasladar los cuantificadoresuniversales al frente de las fórmulas bien definidas, de tal manera que elalcance de cada cuantificador incluya la fórmula entera. La fórmula biendefinida resultante se dice que está en forma prenex. La fórmula sin loscuantificadores se llama matriz.

6. Poner la matriz en forma conjuntiva normal: Cualquier matriz puede serreescrita como la conjunción de un conjunto finito de disyunciones de literales.Tal matriz se dice que está en forma conjuntiva normal.

Podemos poner cualquier matriz en forma conjuntiva normal por repetido usode las leyes distributivas, F(x)∨ (G(x)∧ H(x)) = (G(x)∧ H(x))∨ F(x) =(F(x)∨ G(x))∧ (F(x)∨ H(x)) o en forma más general, (F(x)∧ G(x))∨ (H(x)∧ J(x)) =(F(x)∨ H(x))∧ (F(x)∨ J(x))∧ (G(x)∨ H(x))∧ (G(x)∨ J(x)).

7. Eliminación de cuantificadores universales: Podemos eliminar explícitamentelas ocurrencias de los cuantificadores universales y asumir, por convención,que todas las variables en la matriz son universalmente cuantificadas.

8. Eliminar símbolos conectivos “∧ ”: Podemos eliminar los símbolos “∧ ”,reemplazando expresiones de la forma F(x)∧ G(x) por F(x), G(x), es decir quereemplazamos los símbolos “∧ ” por comas “,”.

9. Renombrar variables: Los símbolos de variables se pueden renombrar de talmanera que no aparezcan en más de una cláusula.

Por ejemplo, consideremos la siguiente expresión en lógica estándar,(∀ x){P(x)⇒ {(∀ y)[P(y)⇒ P(f (x,y))] ∧ ¬ (∀ y)[Q(x,y)⇒ P(y)]}}; apliquemos el procesode conversión al formato de lógica clausal:

1. Eliminar los símbolos de implicación:

(∀ x){ ¬P(x)∨ {(∀ y)[P(y)⇒ P(f (x,y))] ∧ ¬ (∀ y)[Q(x,y)⇒ P(y)]}}

Page 118: Inteligencia Artificial y Sistemas Expertos

118

(∀ x){ ¬P(x)∨ {(∀ y)[¬P(y)∨ P(f (x,y))] ∧ ¬ (∀ y)[Q(x,y)⇒ P(y)]}}(∀ x){ ¬P(x)∨ {(∀ y)[¬P(y)∨ P(f (x,y))] ∧ ¬ (∀ y)[¬Q(x,y)∨ P(y)]}}

2. Reducir alcance de los símbolos de negación:

(∀ x){¬P(x)∨ {(∀ y)[¬P(y)∨ P(f (x,y))] ∧ (∃ y)[Q(x,y)∧¬ P(y)]}}

3. Estandarizar variables de los cuantificadores:

(∀ x){¬P(x)∨ {(∀ y)[¬P(y)∨ P(f (x,y))] ∧ (∃ z)[Q(x,z)∧¬ P(z)]}}

4. Eliminar cuantificadores existenciales: En este caso tenemos un cuantificadorexistencial, que está dentro del alcance del cuantificador universal (∀ x), por lotanto eliminaremos (∃ z) y reemplazamos la variable z por la función de Skölemg(x).

(∀ x){¬P(x)∨ {(∀ y)[¬P(y)∨ P(f (x,y))] ∧ [Q(x, g(x))∧¬ P(g(x))]}}

5. Convertir a forma normal prenex:

(∀ x) (∀ y){¬P(x)∨ {[¬P(y)∨ P(f (x,y))] ∧ [Q(x, g(x))∧¬ P(g(x))]}}

6. Poner la matriz en forma conjuntiva normal:

(∀ x) (∀ y){[¬P(x)∨¬ P(y)∨ P(f (x,y))] ∧ (¬P(x) ∨ [Q(x, g(x))∧¬ P(g(x))])}(∀ x) (∀ y){[¬P(x)∨¬ P(y)∨ P(f (x,y))] ∧ [¬P(x) ∨ [Q(x, g(x))] ∧ [¬P(x) ∨ ¬P(g(x))]}

7. Eliminación de los cuantificadores universales:

{[¬P(x)∨¬ P(y)∨ P(f (x,y))] ∧ [¬P(x) ∨ [Q(x, g(x))] ∧ [¬P(x) ∨ ¬P(g(x))]}

8. Eliminar los símbolos conectivos “∧ ”: Generamos el siguiente conjunto decláusulas,

¬P(x)∨¬ P(y)∨ P(f (x,y)), ¬P(x) ∨ Q(x, g(x)), ¬P(x) ∨ ¬P(g(x))

9. Renombrar variables:

¬P(x)∨¬ P(y)∨ P(f (x,y)),¬P(x1) ∨ Q(x1, g(x1)),¬P(x2) ∨ ¬P(g(x2))

Otro ejemplo de conversión de lógica estándar a lógica clausal, es el siguiente:Consideremos la expresión,

Page 119: Inteligencia Artificial y Sistemas Expertos

119

¬ (∃ x){P(x)⇒ {(∃ y)[P(y)⇒ P(f(x,y))]∧ ¬ (∃ y)[¬P(y)⇒¬ Q(x,y)]}},

apliquemos el proceso de conversión al formato de lógica clausal:

1. Eliminar los símbolos de implicación:

¬ (∃ x){¬P(x)∨ {(∃ y)[P(y)⇒ P(f(x,y))]∧ ¬ (∃ y)[¬P(y)⇒¬ Q(x,y)]}}¬ (∃ x){¬P(x)∨ {(∃ y)[¬P(y)∨ P(f(x,y))]∧ ¬ (∃ y)[¬P(y)⇒¬ Q(x,y)]}}¬ (∃ x){¬P(x)∨ {(∃ y)[¬P(y)∨ P(f(x,y))]∧ ¬ (∃ y)[P(y)∨¬ Q(x,y)]}}

2. Reducir el alcance de los símbolos de negación:

(∀ x){P(x)∧ {(∀ y)[P(y)∧¬ P(f(x,y))]∨ (∃ y)[P(y)∨¬ Q(x,y)]}}

3. Estandarizar variables de los cuantificadores:

(∀ x){P(x)∧ {(∀ y)[P(y)∧¬ P(f(x,y))]∨ (∃ z)[P(z)∨¬ Q(x,z)]}}

4. Eliminar cuantificadores existenciales: En este caso tenemos un cuantificadorexistencial que está dentro del alcance del cuantificador universal (∀ x), y por lotanto eliminamos (∃ z) y reemplazamos la variable z por la función de Skölemg(x)

(∀ x){P(x)∧ {(∀ y)[P(y)∧¬ P(f(x,y))]∨ [P(g(x))∨¬ Q(x, g(x))]}}

5. Convertir a forma normal prenex:

(∀ x)(∀ y){P(x)∧ { [P(y)∧¬ P(f(x,y))]∨ [P(g(x))∨¬ Q(x, g(x))]}}

6. Poner la matriz en forma conjuntiva normal:

(∀ x)(∀ y){P(x)∧ {([P(y)∨ P(g(x))]∨ [P(y)∧¬ Q(x,g(x))])∧ ([¬P(f(x,y))∨ P(g(x))]∨ [¬P(f(x,y))∨¬ Q(x, g(x))])}}

(∀ x)(∀ y){P(x)∧ {[P(y)∨ P(g(x))∨ P(y)∧¬ Q(x,g(x))]∧ [¬P(f(x,y))∨ P(g(x))∨¬ P(f(x,y))∨¬Q(x, g(x))]}}

(∀ x)(∀ y){P(x)∧ {[P(y)∨ P(g(x))∨¬ Q(x,g(x))]∧ [¬P(f(x,y))∨ P(g(x))∨¬ Q(x, g(x))]}}

(∀ x)(∀ y){P(x)∧ [P(y)∨ P(g(x))∨¬ Q(x,g(x))]∧ [¬P(f(x,y))∨ P(g(x))∨¬ Q(x, g(x))]}

7. Eliminación de los cuantificadores universales:

Page 120: Inteligencia Artificial y Sistemas Expertos

120

{P(x)∧ [P(y)∨ P(g(x))∨¬ Q(x,g(x))]∧ [¬P(f(x,y))∨ P(g(x))∨¬ Q(x, g(x))]}

8. Eliminar los símbolos conectivos “∧ ”: Generamos el siguiente conjunto decláusulas,

P(x), P(y)∨ P(g(x))∨¬ Q(x,g(x)), ¬P(f(x,y))∨ P(g(x))∨¬ Q(x, g(x))

9. Renombrar variables:

P(x),P(y)∨ P(g(x1))∨¬ Q(x1,g(x1)),¬P(f(x2,y1))∨ P(g(x2))∨¬ Q(x2, g(x2))

5.3 Unificación y Resolución General

La unificación es el proceso formal de determinar si dos literales se puedenconvertir para emparejarse idénticamente. Es decir, la unificación es a lascláusulas lo que la equiparación es a las reglas.

El proceso de unificación hace énfasis en la sustitución de los términos (variables,constantes, funciones) por variables en los literales. Es decir, sustituimosvariables por términos.

Una instancia de sustitución de un literal resulta de tal sustitución. Así que cuatroinstancias de P[x, f(y), B] son: P[z, f(w), B], P[x, f(A), B], P[g(z),f(A),B], P[C, f(A),B]

La primera sustitución es llamada una variante alfabética del literal original porquehemos efectuado un simple cambio de variables. La última es una instancia baseo fundamental, puesto que ninguno de los términos en el literal contiene variables.

Podemos representar cualquier sustitución por un conjunto de pares ordenados,S={t1/v1,…, tn/vn}. El par ti/vi significa que el termino ti sustituye a la variable vi.Una variable no puede ser reemplazada por un término que contiene la mismavariable. Las sustituciones del ejemplo anterior son:

S1={z/x, w/y}, S2={A/y}, S3={g(z)/x, A/y}, S3={C/x, A/y}

Para denotar una instancia de sustitución de una expresión E, usando unasustitución S, escribimos ES. Así que, P[z, f(w), B] = P[x, f(y), B] S1. Lacomposición de dos sustituciones S1 y S2, que es obtenida aplicando S2 a lostérminos S1 y agregando pares de S2 que tengan variables que no ocurran entrelas variables S1, es denotada por S1S2.

Page 121: Inteligencia Artificial y Sistemas Expertos

121

Así que {g(x,y)/z}{A/x,B/y,C/w,D/z} ={g(A,B)/z,A/x,B/y,C/w}. La composición deasociaciones es asociativa y en general no conmutativa.

Si una sustitución S es aplicable y es aplicada a todo miembro de un conjunto {Ei}de expresiones, denotamos el conjunto de instancias de sustituciones por {Ei} S.Decimos que el conjunto {Ei} es unificable si existe una sustitución S tal queE1S=E2S=… En tal caso, decimos que S es un unificador de {Ei}. Por ejemplo,S={A/x,B/y} unifica {P[x,f(y),B], P[x,f(B),B]}, para producir { P[A,f(B),B}.

El procedimiento de unificación puede ser visto informalmente como un procesode emparejamiento de los elementos en dos listas, para determinar si hay algúnconjunto de sustituciones que harían las listas idénticas.

Este proceso opera de la siguiente manera:

1. Represente cada predicado como una lista en que el símbolo de predicados esel primer elemento, que está seguido por los argumentos del predicado enorden.

2. Abandone si las listas no tienen la misma longitud.3. Haga una comparación por parejas de los elementos en la lista mediante el

empleo de las siguientes reglas:

• Los símbolos de predicados, los símbolos de funciones y las constantesdeben emparejar exactamente.

• En cuanto a las variables establezca una pareja por sustitución.Específicamente, cuando encuentre una variable, reemplácela, y todas lassubsiguientes ocurrencias de ella en la lista, con el correspondienteelemento a partir de la otra lista.

La única restricción en este emparejamiento es que una variable no se puedereemplazar por un término que contenga la misma variable (prevenir ciclosinfinitos).

4. Los dos predicados se pueden unificar si todos los elementos se emparejan.Note que puede ser necesario invocar la rutina recursivamente para evaluar lalista de elementos que están en listas anidadas.

Supongamos que tenemos dos cláusulas base (sin variables), P1∨ …∨ Pm y¬P1∨ Q2∨ …Qn. Asumimos que todas las Pi y Qj son distintas. Una de lascláusulas tiene un literal que es exactamente la negación de un literal en la otracláusula. De esas dos cláusulas padre podemos inferir una nueva cláusulallamada la resolvente de las dos, que es computada tomando la disyunción de lasdos cláusulas y eliminando los pares complementarios P1, ¬P1.

Page 122: Inteligencia Artificial y Sistemas Expertos

122

Por ejemplo:

¬R∨ S , ¬S∨ TCláusula 1 Cláusula 2

¬R∨ TResolvente

Otros ejemplos son:

P , ¬PCláusula 1 Cláusula 2

∅ (Contradicción)Resolvente

Para aplicar resolución a cláusulas que contienen variables necesitamos encontraruna sustitución que pueda ser aplicada a las cláusulas padre, así que ellascontengan literales complementarios. Sean las cláusulas padres {Li} y {Mi} yasumamos que las variables que ocurren en estas dos cláusulas han sidoestandarizadas aparte. Supongamos que {li} y {mi}⊆ {Mi} tal que un unificador Sexiste para la unión de {li} y {¬mi}. Decimos que las dos cláusulas {Li} y {Mi} seresuelven y que la nueva cláusula, {{Li} - {li}} S ∪ {{Mi} - {mi}}. S es una resolventede las dos cláusulas.

Si las dos cláusulas se resuelven, ellas pueden tener más de una resolventeporque puede haber más de una forma de escoger {li} y {mi}. En cualquier casotienen a lo sumo un número finito de resolventes.

Por ejemplo, si {Li} ={P[x, f(A)]∨ P[x,f(y)]∨ Q(y)}, {Mi} ={¬P[z, f(A)]∨¬ Q(z)} con{li}={P[x, f(A)], P[x,f(y)]} y {mi}={¬P[z, f(A)]} obtenemos la resolvente Q(A)∨¬ Q(x)(Figura 5.1).

Cláusula 1 Cláusula 2P[x, f(A)] ∨ P[x,f(y)]∨ Q(y) , ¬P[z, f(A)] ∨ ¬Q(z)

P[x,f(y)]∨ Q(y) ∨ ¬Q(x) P[x,f(A)] ∨ Q(A) ∨ ¬ Q(x)Resolvente 1 Resolvente 2

Q(A) ∨ ¬Q(x) P[x, f(A)] ∨ P[x,f(y)] ∨ ¬P[y,f(A)]∨

S={x/z}

S={x/z, A/y}

S={x/z, A/y}

S={y/z}

Page 123: Inteligencia Artificial y Sistemas Expertos

123

Resolvente 3 Resolvente 4 Figura 5.1Podemos pensar en un sistema para producir refutaciones por resolución. Labase de conocimiento es un conjunto de cláusulas, la regla de inferencia es unaresolución y el modo de razonamiento es por contradicción. El aplicar laresolución a pares de cláusulas produce una cláusula derivada. La condición determinación para este sistema es un test para ver si la base de conocimientocontiene la cláusula vacía.

Por ejemplo, consideremos las siguientes especificaciones en español.

1. Todo león es un felino2. Los perros no son felinos3. Algunos perros son sarnosos

Deseamos probar la proposición:

4. Algunos que son sarnosos no son leones.

Estas especificaciones las podemos expresar en cálculo de predicados de primerorden como:

1. (∀ x)[L(x)⇒ F(x)], L(x): LEON(x), F(x): FELINO(x)2. (∀ x)[P(x)⇒¬ F(x)], P(x): PERRO(x)3. (∃ x)[P(x)∧ S(x)], S(x): SARNOSO(x)4. (∃ x)[S(x)∧¬ L(x)]

Debemos hacer la conversión de cada una de esas expresiones en lógicaestándar a lógica clausal.

(∀ x)[L(x)⇒ F(x)]

1. Eliminamos los símbolos de implicación: (∀ x)[¬L(x)∨ F(x)]2. Reducir el alcance de los símbolos de negación: no aplica3. Estandarizar variables de los cuantificadores: no aplica4. Eliminar cuantificadores existenciales: no aplica5. Convertir a forma normal prenex: ya está en forma normal prenex.6. Poner la matriz en forma conjuntiva normal: ya está en forma conjuntiva

normal.7. Eliminación de los cuantificadores universales: ¬L(x)∨ F(x)8. Eliminar símbolos conectivos “∧ ”: no aplica9. Renombrar variables: ¬L(x)∨ F(x) es la única cláusula.

(∀ x)[P(x)⇒¬ F(x)]

Page 124: Inteligencia Artificial y Sistemas Expertos

124

1. Eliminar los símbolos de implicación: (∀ x)[¬P(x)∨¬ F(x)]2. Reducir el alcance de los símbolos de negación: no aplica3. Estandarizar variables de los cuantificadores: Hay un solo cuantificador con su

respectiva variable.4. Eliminar cuantificadores existenciales: no aplica5. Convertir a forma normal prenex: ya está en forma normal prenex.6. Poner la matriz en forma conjuntiva normal: ya está en forma conjuntiva

normal.7. Eliminación de los cuantificadores universales: ¬P(x)∨¬ F(x)8. Eliminar símbolos conectivos “∧ ”: no aplica9. Renombrar variables: ¬P(x1)∨¬ F(x1) es la única cláusula.

(∃ x)[P(x)∧ S(x)]

1. Eliminar los símbolos de implicación: no aplica.2. Reducir el alcance de los símbolos de negación: no aplica3. Estandarizar variables de los cuantificadores: Hay un solo cuantificador con su

respectiva variable.4. Eliminar cuantificadores existenciales: P(A)∧ S(A)5. Convertir a forma normal prenex: no aplica.6. Poner la matriz en forma conjuntiva normal: ya está en forma conjuntiva

normal.7. Eliminación de los cuantificadores universales: no aplica8. Eliminar símbolos conectivos “∧ ”:P(A), S(A)9. Renombrar variables: no aplica.

La proposición (4), (∃ x)[S (x)∧¬ L(x)] se niega y se lleva a la forma clausal:

(∀ x)[¬ S(x) ∨ L(x)]

1. Eliminar los símbolos de implicación: no aplica.2. Reducir el alcance de los símbolos de negación: no aplica3. Estandarizar variables de los cuantificadores: no aplica.4. Eliminar cuantificadores existenciales: no aplica.5. Convertir a forma normal prenex: ya está en forma normal prenex.6. Poner la matriz en forma conjuntiva normal: ya está en forma conjuntiva

normal.7. Eliminación de los cuantificadores universales: ¬ S(x) ∨ L(x)8. Eliminar símbolos conectivos “∧ ”: no aplica9. Renombrar variables: ¬ S(x2) ∨ L(x2)

El conjunto final de cláusulas es:¬L(x)∨ F(x),

Page 125: Inteligencia Artificial y Sistemas Expertos

125

¬P(x1)∨¬ F(x1),P(A),S(A),¬ S(x2) ∨ L(x2)

Dicho conjunto es la base de conocimiento.

Para realizar las resoluciones entre estas cláusulas se pueden seguir diversasestrategias, las cuales en general utilizan una estructura llamada grafo dederivación. Los nodos en tal grafo son etiquetados por cláusulas; inicialmente hayun nodo para toda cláusula en la base de conocimiento.

Cuando dos cláusulas Ci y Cj producen una resolvente rij con arcos enlazadostanto a Ci como Cj.

Una refutación por resolución puede ser representada como un árbol de refutación(dentro del grafo de derivación) teniendo un nodo raíz etiquetado por NIL.

La estrategia de control busca una contradicción expandiendo el grafo dederivación hasta que se produzca un árbol con un nodo raíz etiquetado con lacláusula vacía NIL, símbolo de la contradicción.

5.3.1 Estrategia de Amplitud

En la estrategia de amplitud, todas las resolventes de primer nivel son computadasprimero, luego las de segundo nivel, y etc. (Una resolvente de primer nivel es unaentre dos cláusulas en el conjunto base. Una resolvente i-ésimo nivel es unacuyo padre más profundo es una resolvente de nivel (i-1))

Retomando nuevamente nuestro ejemplo, con cláusulas base, ¬L(x)∨ F(x),¬P(x1)∨¬ F(x1), P(A), S(A),¬ S(x2) ∨ L(x2); la Figura 5.2 muestra el grafo dederivación producido por una estrategia de amplitud.

Cláusulasoriginales

S(A), ¬S(x2)∨ L(x2), ¬L(x)∨ F(x), ¬P(x1)∨¬ F(x1), P(A)

Resolventesde primer nivel

L(A) ¬S(x)∨ F(x) ¬L(x)∨¬ P(x) ¬F(A)

Resolvente desegundo nivel

F(A) ¬P(A) F(A) ¬S(x) ∨¬ P(x) ¬L(A)

Resolvente detercer nivel

NIL

Figura 5.2

Page 126: Inteligencia Artificial y Sistemas Expertos

126

El árbol de refutación asociado (Figura 5.3) es:S(A), ¬S(x2)∨ L(x2), ¬L(x)∨ F(x), ¬P(x1)∨¬ F(x1), P(A)

L(A) ¬L(x)∨¬ P(x)

¬L(A)

NIL Figura 5.3

La estrategia de amplitud es completa, es decir su uso conduce a unprocedimiento que llegará a encontrar efectivamente una contradicción, siempreque ésta exista.

En Inteligencia Artificial, el que una estrategia sea completa no es tan importantecomo el que encuentre refutaciones eficientemente. La estrategia de amplitud escompleta, pero muy ineficiente.

5.3.2 Estrategia de Conjunto Soporte

La estrategia del conjunto soporte consiste en obtener las resolventes, uno decuyos padres sea la cláusula negación de la fórmula bien definida objetivo, oalguna de las resolventes descendientes de ella (que constituye el conjunto desoporte).

Se puede probar que si existe una refutación, existe también una refutaciónobtenida con esta estrategia. Las estrategias de conjunto soporte songeneralmente más eficientes que las que exploran a lo ancho sin restricciones.

En un proceso de refutación con esta estrategia, cada resolución sugiere un pasode razonamiento hacia atrás ya que usa la cláusula negación de la fórmula biendefinida objetivo o sus descendientes. Cada resolvente obtenida así, correspondea un objetivo parcial de un sistema de reglas de producción razonando hacia atrás(los razonamientos hacia adelante corresponden a resoluciones entre cláusulasque no descienden del teorema que se desea probar). Para nuestro ejemplo(Figura 5.4), el grafo es:

Page 127: Inteligencia Artificial y Sistemas Expertos

127

Cláusulasoriginales

¬S(x2)∨ L(x2), S(A), ¬L(x)∨ F(x), ¬P(x1)∨¬ F(x1), P(A)

Resolventesde primer nivel

L(A) ¬S(x)∨ F(x)

Resolvente desegundo nivel

F(A) F(A) ¬S(x) ∨¬ P(x)

Resolvente detercer nivel

¬P(A) ¬P(A) ¬P(A) ¬S(A)

Resolvente decuarto nivel

NIL

Figura 5.4

El árbol de refutación asociado (Figura 5.5) es:

¬S(x2)∨ L(x2), ¬L(x)∨ F(x),

¬S(x)∨ F(x) ¬P(x1)∨¬ F(x1),

¬S(x) ∨¬ P(x) P(A)

¬S(A) S(A)

NIL

Figura 5.5

Esta estrategia incrementa la profundidad a la que se produce la cláusula vacía,pero compensa con el menor crecimiento del conjunto de cláusulas.

5.3.3 Estrategia de Entrada Lineal

Una refutación de entrada lineal es una en la que cada resolvente tiene al menosuno de sus padres en el conjunto básico inicial.

En el primer nivel la figura del grafo de derivación coincide con la de amplitud. Enlos niveles siguientes la estrategia lineal reduce el número de cláusulasproducidas.

Para nuestro ejemplo (Figura 5.6), el grafo producido es:

Page 128: Inteligencia Artificial y Sistemas Expertos

128

Cláusulasoriginales

S(A), ¬S(x2)∨ L(x2), ¬L(x)∨ F(x), ¬P(x1)∨¬ F(x1), P(A)

Resolventesde primer nivel

L(A) ¬S(x)∨ F(x) ¬L(x)∨¬ P(x) ¬F(A)

Resolvente desegundo nivel

F(A) F(A) ¬S(x)∨ ¬ P(x) ¬S(x)∨ ¬ P(x) ¬L(A)

Resolvente detercer nivel

¬P(A) ¬P(A) ¬S(A)

Resolvente decuarto nivel

NIL

Figura 5.6

El árbol de refutación asociado (Figura 5.7) es:

¬L(x)∨ F(x) ¬P(x1)∨¬ F(x1)

¬L(x)∨ ¬P(x) P(A)

¬L(A) ¬S(x2)∨ L(x2)

¬S(A) S(A)

NIL

Figura 5.7

La estrategia de entrada lineal no es completa. Es decir, en ciertos casos, existeuna refutación, pero no una obtenida con la estrategia de entrada lineal. De laestrategia de entrada lineal existen varias alternativas, También hay otrasestrategias no consideradas aquí.

Todas estas estrategias concluyen de momento en el árbol de refutación. Esteárbol es muy importante, no sólo porque pone de manifiesto la existencia de unacontradicción (lo que permite concluir que el teorema original es verdadero), sinoporque es la base del árbol de demostración que veremos más adelante y que esla base de sistemas capaces no sólo de demostrar teoremas, sino además deresponder preguntas, como lo veremos a continuación.

5.4 Obtención de Respuestas Mediante Refutaciones por Resolución

Page 129: Inteligencia Artificial y Sistemas Expertos

129

Consideremos el siguiente ejercicio.

“Si todos los elefantes comen maní, y Dumbo es un elefante, ¿qué comeDumbo?”. El problema planteado a un ser humano es trivial, pero para serresuelto por un computador es muy interesante. La idea es automatizar el procesode refutación por resolución y con base en ello tener un sistema de obtención derespuestas. Esto es lo que hace un lenguaje como Prolog.

Volviendo a nuestro ejercicio-ejemplo, se ve con bastante claridad que el problemaespecifica dos hechos y después formula una pregunta, cuya respuesta puedededucirse presumiblemente de esos hechos.

Los hechos pueden traducirse a fórmulas bien definidas del cálculo de predicadosde primer orden:

H1: (∀ x)[ELEFANTE(x) ⇒ COME(x,MANI)]H2: ELEFANTE(DUMBO)

La pregunta, ¿qué come Dumbo? Podrá contestarse si se prueba que la fórmulabien definida, ¿(∃ x)COME(DUMBO,x)? se sigue lógicamente de los hechos, yentonces se encuentra una particularización del x “que existe”.

La idea clave es convertir la pregunta en una fórmula bien definida objetivo quecontenga un cuantificador existencial, tal que la variable cuantificadaexistencialmente represente una respuesta a la pregunta.

Convertimos las fórmulas bien definidas que representan los hechos y la negaciónde la fórmula bien definida objetivo, a cláusulas:

(∀ x)[ELEFANTE(x) ⇒ COME(x,MANÍ)].Sea E(x): ELEFANTE(x), C(x, MANÍ): COME(x, MANÍ)

El proceso de conversión de esta fórmula nos generará la cláusula,

C1: ¬E(x)∨ C(x, MANÍ)

La fórmula, ELEFANTE(DUMBO) es una cláusula, en consecuencia,

C2: E(Dumbo)

La negación de (∃ x)COME(DUMBO,x) es una fórmula,(∀ x)¬COME(DUMBO,x)que se convierte en la cláusula,

C3: ¬C(DUMBO,y)

Page 130: Inteligencia Artificial y Sistemas Expertos

130

Aplicando una estrategia en amplitud (Figura 5.8), tenemos:

Cláusulasoriginales

¬E(x)∨ C(x,MANI), E(DUMBO), ¬C(DUMBO,y)

Resolventesde primer nivel

C(DUMBO,MANI) ¬E(DUMBO)

Resolvente desegundo nivel

NIL...

Figura 5.8El árbol de refutación correspondiente (Figura 5.9), es:

¬C(DUMBO,y) ¬E(x)∨ C(x,MANI)

¬E(DUMBO) E(DUMBO)

NIL... Figura 5.9

La extracción de respuestas implica la conversión de un árbol de refutación (conNIL en la raíz) en un árbol de demostración con cierta sentencia en su raíz, quepuede ser utilizada como respuesta.

Como esta conversión se hace sustituyendo cada una de las cláusulas en que seconvierte la negación de la fórmula bien definida objetivo por una tautología, elárbol de demostración obtenido es una demostración por resolución de que lasentencia que figura en la raíz se sigue lógicamente de los axiomas tan sólo. Portanto, el árbol de demostración en que se convierte el de refutación, justifica, élmismo, el proceso de extracción.

El método de conversión consiste en:

1. Añadir a cada cláusula de las que origina la negación de la fórmula biendefinida objetivo, su propia negación.

2. Realizar las mismas resoluciones que antes, hasta que se obtenga algunacláusula en la raíz.

3. La cláusula de la raíz es la respuesta.

En nuestro ejemplo (Figura 5.10), el árbol de demostración es:

Page 131: Inteligencia Artificial y Sistemas Expertos

131

¬C(DUMBO,y) ∨ C(DUMBO,y) ¬E(x)∨ C(x,MANI)

¬E(DUMBO)∨ C(DUMBO,MANI) E(DUMBO)

C(DUMBO,MANI) Figura 5.10

Este método es válido sólo para preguntas con cuantificadores existencialesúnicamente, ya que al negarlos se convierten en universales que al pasar a laforma clausal se eliminan.

En el caso de que la pregunta lleve cuantificadores universales, se convierten enexistenciales que al pasar a la forma clausal generan funciones de Skölem.

El tratamiento de esas funciones obliga a realizar algunas modificaciones.

Resumiendo, podemos percibir todo el proceso de obtención de respuestasmediante refutaciones por resolución, como constando de:

A. Partimos de unas especificaciones y de una pregunta en español.B. Convertimos esas especificaciones y esa pregunta a fórmulas bien definidas

del cálculo de predicados.C. Convertimos las fórmulas anteriores a la forma clausal teniendo en cuenta que

la fórmula que representa la pregunta, primero se niega.D. Construimos un demostrador de teoremas. Esto implica generar un grafo de

derivación asociado a alguna de las estrategias y a la extracción del respectivoárbol de refutación.

E. Obtenemos la respuesta. Esto se logra generando el árbol de demostraciónasociado al árbol de refutación anterior.

Ahora consideremos un ejemplo que ilustre todo el proceso:

A. Especificaciones: Consideremos los siguientes hechos:

H1: “Pedro es el director del departamento de ventas”.H2: “Pedro y María están casados”.

Y la siguiente regla:

R: “Si alguien es director de un departamento entonces trabaja en esedepartamento”.

Queremos responder la siguiente pregunta,

Page 132: Inteligencia Artificial y Sistemas Expertos

132

P: ¿Existe alguien que esté casado con María y trabaje en el departamento deventas?

B. Fórmulas bien definidas: Las fórmulas bien definidas del cálculo de predicadosde primer orden asociadas a H1, H2, R, P son,

H1: D(PEDRO, VENTAS) , D(x,y): x es el director del departamento y.H2: C(PEDRO, MARÍA), C(x,y): x está casado con y.R: (∀ x) (∀ y)[D(x,y)⇒ T(x,y)], T(x,y): x trabaja en y.P: (∃ x)[C(x, MARÍA)∧ T(x, VENTAS)]

C. Conversión a cláusulas: D(PEDRO, VENTAS) y C(PEDRO, MARÍA) soncláusulas. Podemos simplificar aún más la representación, escribiendo estascláusulas como, D(P,V) y C(P,M), en donde P representa a PEDRO, la V aVENTAS y la M a MARÍA. Para la fórmula (∀ x) (∀ y)[D(x,y)⇒ T(x,y)] realizamosel proceso de conversión:

1. Eliminar los símbolos de implicación:(∀ x) (∀ y)[¬D(x,y)∨ T(x,y)]

2. Reducir el alcance de los símbolos de negación: No aplica.3. Estandarizar variables de los cuantificadores: Cada cuantificador posee

su propia variable.4. Eliminar cuantificadores existenciales: No aplica.5. Convertir a forma normal prenex: Ya está en forma normal prenex.6. Poner la matriz en forma conjuntiva normal: Ya está en forma conjuntiva

normal.7. Eliminación de los cuantificadores universales:

¬D(x,y)∨ T(x,y)8. Eliminar símbolos conectivos “∧ ”: No aplica9. Renombrar variables:

¬D(x,y)∨ T(x,y)

La fórmula (∃ x)[C(x,MARÍA)∧ T(x,VENTAS)], la simplificamos, (∃ x)[C(x,M)∧ T(x,V)], la negamos, (∀ x)[¬ C(x,M)∨¬ T(x, V)] y la convertimos a la forma clausal:

1. Eliminar los símbolos de implicación: No aplica.2. Reducir el alcance de los símbolos de negación: No aplica.3. Estandarizar variables de los cuantificadores: Hay un solo cuantificador

con su respectiva variable.4. Eliminar cuantificadores existenciales: No aplica.5. Convertir a forma normal prenex: Ya está en forma normal prenex.6. Poner la matriz en forma conjuntiva normal: Ya está en forma conjuntiva

normal.

Page 133: Inteligencia Artificial y Sistemas Expertos

133

7. Eliminación de los cuantificadores universales:¬ C(x,M)∨¬ T(x, V)

8. Eliminar símbolos conectivos “∧ ”: No aplica9. Renombrar variables:

¬ C(x1,M)∨¬ T(x1,V)

El conjunto básico de cláusulas es entonces:

¬D(x,y)∨ T(x,y),¬ C(x1,M)∨¬ T(x1,V),D(P,V),C(P,M)

D. Construcción del demostrador de teoremas: Aplicando una estrategia deconjunto de soporte, tenemos el siguiente grafo de derivación (Figura 5.11)

Cláusulasoriginales

¬C(x1,M)∨¬ T(x1,V), ¬D(x,y)∨ T(x,y), C(P,M), D(P,V),

Resolventes deprimer nivel

¬C(x,M)∨¬ D(x,V) ¬T(P,V)

Resolvente desegundo nivel

¬D(P,V) ¬C(P,M)

Resolvente detercer nivel

NIL...

Figura 5.11

Es suficiente con obtener un sólo NIL, aunque se puedan obtener varios, porej. En este caso también se puede obtener NIL a partir de C(P,M) y ¬C(P,M).

El árbol de refutación asociado (Figura 5.12) es,

¬C(x1,M)∨¬ T(x1,V) ¬D(x,y)∨ T(x,y)

¬C(x,M)∨¬ D(x,V) C(P,M)

¬D(P,V) D(P,V)

NIL Figura 5.12

Page 134: Inteligencia Artificial y Sistemas Expertos

134

E. Obtención de la respuesta: Generamos el árbol de demostración a partir delárbol de refutación (Figura 5.13).

¬C(x1,M)∨¬ T(x1,V)∨ (C(x1,M)∧ T(x1,V)) ¬D(x,y)∨ T(x,y)

¬C(x,M)∨¬ D(x,V)∨ (C(x1,M)∧ T(x1,V)) C(P,M)

¬D(P,V)∨ (C(P,M)∧ T(P,V)) D(P,V)

C(P,M)∧ T(P,V) Figura 5.13

La raíz del árbol nos permite obtener la respuesta, ya que nos dice que Pedro estácasado con María y que Pedro trabaja en Ventas. ¿Existe alguien que estécasado con María y trabaje en el departamento de Ventas? La respuesta es sí,ese alguien es Pedro.

5.5 Ejercicios

1. Diga si las siguientes expresiones son fórmulas bien definidas del cálculo depredicados de primer orden. Justifique su respuesta.

a. (∃ x){(∀ y)[(P(x,y)∧ Q(x,y))⇒ R(x)]}b. (∃ P)(P(f(A)))c. ¬ (∀ g){(∃ x)[P(x)∨ R(g(x))]}d. ¬P[A,g(A,B,A)]e. ¬ f(A)f. f[P(A)]g. {¬ [P(A)⇒ P(B)]}⇒ P(B)h. A∨¬⇒ (∀ f)i. Q{f(A),[P(B)⇒ Q(C)]}

2. Represente las siguientes expresiones mediante fórmulas bien definidas delcálculo de predicados de primer orden:

a. Todo perro ha mordido a algún cartero.b. Todo perro muerde a todo cartero.c. Algún perro muerde a algún cartero.d. Algún perro muerde a todo cartero.

Page 135: Inteligencia Artificial y Sistemas Expertos

135

e. Algún cartero es mordido por todo perro.

3. Convierta las siguientes fórmulas bien definidas a la forma clausal:

a. (∀ x)[P(x)⇒ P(x)]b. {¬ {(∀ x)P(x)}}⇒ (∃ x)[¬P(x)]c. ¬ (∀ x){P(x)⇒ {(∀ y)[P(y)⇒ P(f(x,y))]∧¬ (∀ y)[Q(x,y)⇒ P(y)]}}d. (∀ x)(∃ y){[P(x,y)⇒ Q(x,y)]∨ [Q(x,y)⇒ S(x,y)]}⇒ (∃ x)(∀ y)[P(x,y)⇒ S(x,y)]

4. Encontrar una refutación por entrada lineal para el siguiente conjunto decláusulas:

¬P∨¬ Q∨ R, ¬S∨ T, ¬T∨ P, S, ¬R, ¬S∨ W, ¬W∨ Q

5. Dados los siguientes hechos:

H1: “Nerón es un perro”.H2: “Nerón no es un dálmata”.H3: “Nerón ladra”.

Y las siguientes reglas:R1: “Los dálmatas son perros”.R2: “Todo lo que ladra es un ruidoso”.

Responda mediante un sistema de refutación por resolución, la siguientepregunta:

P: ¿Quién es un ruidoso y no es un dálmata?

Utilice las estrategias de amplitud y conjunto soporte.

Page 136: Inteligencia Artificial y Sistemas Expertos

136

CAPÍTULO 6

Representaciones Semánticas

Se ha definido una representación como un conjunto de convenciones paradescribir cosas.

La experiencia muestra que el diseño de una buena representación es confrecuencia la clave para convertir problemas difíciles en sencillos. Es, porconsiguiente razonable poner énfasis en establecer qué símbolos usa unarepresentación, y de qué manera se ordenarán dichos símbolos para producirdescripciones de cosas particulares.

Un buen sistema para la representación del conocimiento estructurado en undominio particular debería poseer las propiedades siguientes:

a. Adecuación representacional, es decir, la capacidad para representar todos lostipos de conocimiento que son necesarios en ese dominio.

b. Idoneidad inferencial, que equivale a decir capacidad para manipular lasestructuras representacionales, de tal manera que se puedan derivar nuevasestructuras correspondientes al nuevo conocimiento inferido a partir del viejo.

c. Eficiencia adquisicional, que es la capacidad de adquirir fácilmente nuevainformación. El caso más simple, implica inserción directa, por una persona,de nuevo conocimiento en la base de datos. Idealmente el programa seríacapaz de controlar la adquisición del conocimiento.

Las representaciones que hemos estudiado hasta este momento, reglas deproducción y lógica de primer orden, son representaciones que podríamosdenominar sintácticas, en contraposición a las representaciones que estudiaremosen este capitulo y que denominaremos semánticas.

Cada una de estas categorías tiene sus ventajas e inconvenientes.

Las representaciones sintácticas están muy ligadas a la lógica matemática y por lotanto su fortaleza radica en la facilidad inferencial. Es decir, son representacionesespecialmente preparadas para efectuar procesos de razonamientos deductivos.

Son útiles también en la validación de conocimiento. Sin embargo, estasfacilidades se obtienen una vez usted haya logrado representar el conocimiento enese formato. Es decir, éstas representaciones tienen como principal inconveniente

Page 137: Inteligencia Artificial y Sistemas Expertos

137

la dificultad en trasladar conocimientos, heurísticas y experiencias del mundo realen unos formatos de representación rígidos, no naturales, alejados de la forma enque los seres humanos percibimos y representamos el mundo.

Las representaciones semánticas por el contrario, facilitan el proceso derepresentación, ya que son representaciones mucho más flexibles, naturales ypróximas a la forma como los seres humanos percibimos y representamos elmundo. Sin embargo, esa flexibilidad conlleva una ausencia de rigidez quetambién tiene sus inconvenientes. En primer lugar diferentes personas puedenpercibir y representar los mismos hechos del mundo de maneras diferentes. Ensegundo lugar, al no haber un formato rígido se dificulta el proceso inferencialdeductivo, ya que procesos de equiparación por ejemplo, son mucho más difícilespor falta de un alto grado de estructuración, obligando a contar con un motor deinferencia más flexible.

Las representaciones semánticas que estudiaremos son: Redes Semánticas,Redes Particionadas de Hendrix, Marcos y Guiones.

6.1 Redes Semánticas

Muchos de los sistemas recientemente desarrollados en Inteligencia Artificial, usanuna clase de formalismo de representación del conocimiento denominado “RedesSemánticas”. Este formalismo agrupa bajo su nombre cosas muy distintas, debidoa que todas ellas comparten una notación común, que consta de:

a. Nodos, que habitualmente representan objetos, conceptos o situaciones en eldominio.

b. Arcos, enlazando dichos nodos, que representan relaciones entre ellos.

Ambos, nodos y arcos pueden tener etiquetas asociadas. En una red semántica elprograma puede comenzar en el nodo que interese, siguiendo los arcos querelacionan los nodos, luego los arcos que siguen de estos a otros nodos aún másdistantes, pero relacionados y así sucesivamente. Esta es una reminiscencia de lacapacidad del cerebro humano de saltar de una idea relacionada a otra, como enel pensamiento cotidiano.

En general, una red semántica puede ser vista como equivalente al conjunto deaserciones de variables libres representadas por sus arcos. Un arco etiquetado Rdirigido desde el nodo S al nodo T,

RS T

Page 138: Inteligencia Artificial y Sistemas Expertos

138

Representa la aserción: R(S,T)←

Las redes semánticas simples no son susceptibles de representar variables,símbolos de predicados n-arios, funciones, cuantificadores. Eso lo hacen lasredes particionadas de Hendrix que veremos en el próximo parágrafo.

Supóngase que se quiere representar un hecho sencillo tal como: “Todos loscanarios son pájaros”, en una red semántica. Esto puede hacerse creando dosnodos para designar a los canarios y a los pájaros con un enlace “Es-Un” entreellos (Figura 6.1)

ES-UNCANARIO PAJARO

Figura 6.1

Si “Piolín” fuera un individuo particular de quien se deseara afirmar que es uncanario, se podría añadir un nodo para Piolín a la red anterior (Figura 6.2)

ES-UN ES-UNPIOLIN CANARIO PAJARO

Figura 6.2

Es de señalar que en este ejemplo no sólo se han representado los dos hechosque inicialmente se intentaban representar, sino que también se hace muy fácildeducir un tercer hecho, a saber, que Piolín es un pájaro, simplemente siguiendolos enlaces “Es-Un”.

La facilidad con la cual es posible hacer deducciones sobre “jerarquíashereditarias” tal como la anterior, es una de las razones de la popularidad de lasredes semánticas como representación del conocimiento. Además de suclasificación taxonómica, habitualmente se necesita representar el conocimientoacerca de las propiedades de los objetos. Por ejemplo, se puede querer expresaren la red (Figura 6.3), el hecho de que los pájaros tienen alas. Esto podríahacerse como,

ES-UN ES-UNPIOLIN CANARIO PAJARO

TIENE-PARTE

ALAS Figura 6.3

Page 139: Inteligencia Artificial y Sistemas Expertos

139

Supóngase que se quiere representar el hecho de que “Piolín posee un nido”.Inicialmente uno podría pensar en codificar este hecho usando un enlace posesióna un nodo representado “Nido de Piolín”, como se muestra en la Figura 6.4

ES-UN ES-UNCANARIO PAJARO

PIOLINES-UN

POSEE NIDO_1 NIDO

Figura 6.4

En donde, NIDO_1, es el nido que posee Piolín, que es una instancia de NIDO,que representa una clase general. Esta representación adecuada para muchospropósitos, tiene fallos. Por ejemplo, si queremos codificar que Piolín posee elNIDO_1 desde la primavera hasta el otoño, es importante hacerlo en la red actual,debido a que la relación posesión está codificada como un enlace y estos por sunaturaleza representan relaciones binarias y en este caso necesitamosrepresentar el equivalente a un predicado de cuatro argumentos en lógica, quepodría indicar el tiempo de inicio, el tiempo de fin de la posesión, así como laposesión y el objeto poseído. Esta es una situación similar a la que se presentaen el modelamiento de datos, donde el modelo entidad-relación y surepresentación gráfica (diagrama entidad-relación) es una red semántica, cuyosnodos son las entidades y cuyos arcos son las relaciones, pero en situacionesespeciales (entidades asociativas), las relaciones se convierten en entidades.Esto nos indica que para nuestro ejemplo, una solución es representar la relacióncomo un nodo (Figura 6.5).

ES-UN ES-UNPIOLIN CANARIO PAJARO

POSEIDO ES_UNPOSEE_1 NIDO_1 NIDO

TIEMPO_INICIOES_UN

POSESION PRIMAVERA TIEMPO

TIEMPO_FINALIZACION ES_UNSITUACION OTOÑO

Figura 6.5

El nodo POSEE_1 representa una instancia particular de posesión, a saber Piolínposee un nido. Y, como todos los nodos son instancias de posesión, POSEE_1hereda arcos a los nodos poseedor, posee, Tiempo_Inicio, Tiempo_Finalización.

Poseedor

ES_UNA

ES_UNA

Page 140: Inteligencia Artificial y Sistemas Expertos

140

La forma usual de realizar razonamiento en redes semánticas es construyendo un“fragmento de red”, que representa la pregunta y entonces se coteja frente a la reden la base de conocimiento para ver si tal objeto existe.

Supongamos que usamos como base de conocimiento la red anterior y ademásqueremos responder la pregunta: ¿De qué es poseedor Piolín? Entoncesconstruimos un fragmento de red (Figura 6.6).

PIOLIN

POSEIDOPOSEE_1 ?

POSESIONFigura 6.6

Entonces ese fragmento se equipara frente a la red existente en la base deconocimiento, buscando un nodo POSEE que tiene un enlace POSEEDOR aPIOLIN. Cuando se encuentra, el nodo al que apunta el enlace poseído se enlazaen la equiparación parcial y es la respuesta a la pregunta. Si no se encontraraninguna equiparación, naturalmente la respuesta sería: “PIOLIN no posee nada”.

El equiparador puede efectuar inferencias durante el proceso de equiparación paracrear estructuras de red que no están explícitamente presentes en la red. Porejemplo, si queremos responder la pregunta, ¿Hay un pájaro que posee un nido?Se puede trasladar al fragmento de red (Figura 6.7)

? PAJARO

POSEIDO ES_UNPOSEE_? NIDO-? NIDO

POSESION Figura 6.7

Este fragmento de red no equipara exactamente con la red de la base de datos.En consecuencia el procedimiento de deducción tendría que construir un enlaceES_UN de PIOLIN a PÁJARO para hacer posible la equiparación. Luego elequiparador ligaría “?” al nodo PIOLIN, POSEE_? A POSEE_1, y NIDO_? ANIDO-1 con lo cual responde la pregunta.

Consideremos un ejemplo con las siguientes especificaciones:

POSEEDOR

ES_UNA

POSEEDOR

ES UNA

ES_UN

Page 141: Inteligencia Artificial y Sistemas Expertos

141

R1: Los elefantes son mamíferos.R2: Los mamíferos tienen sangre caliente.R3: Los elefantes comen maní.H: Dumbo es un elefante.

Utilizando un sistema basado en redes semánticas, deseamos responder lapregunta: ¿Hay un elefante que come Maní y tiene la sangre caliente?Consideremos los respectivos fragmentos de red asociados a las reglas, al hechoy a la pregunta (Figuras 6.8, 6.9, 6.10, 6.11, 6.12).

FR1: ES_UNELEFANTE MAMIFERO

Figura 6.8

FR2: TIENEMAMIFERO SANGRE CALIENTE

Figura 6.9

FR3: COMEELEFANTE MANI

Figura 6.10

FH: ES_UNDUMBO ELEFANTEFigura 6.11

FP: ES_UN? ELEFANTE

MANI SANGRE CALIENTEFigura 6.12

No es posible responder directamente la pregunta, ya que el fragmento de red dela pregunta no equipara exactamente con los fragmentos de red de la base deconocimiento. Sin embargo, es posible generar redes intermedias que permitan laequiparación final con el fragmento de la pregunta. Estas redes intermedias segeneran aprovechando el mecanismo de herencia de las relaciones “ES_UN”(Figuras 6.13, 6.14, 6.15).

Equiparando FR1 y FR2, obtenemos el fragmento:

COME TIENE

Page 142: Inteligencia Artificial y Sistemas Expertos

142

F12: TIENEELEFANTE SANGRE CALIENTE

Figura 6.13

Equiparando FH y F12, obtenemos el fragmento:

FH12: TIENEDUMBO SANGRE CALIENTE

Figura 6.14

Equiparando FH y FR3, obtenemos el fragmento:

FH3: COMEDUMBO MANI

Figura 6.15

Teniendo en cuenta FH, FH12 y FH3, podemos construir un fragmento de red queequipara exactamente con el fragmento de red de la pregunta (FP), permitiendoresponder la pregunta.

El fragmento obtenido (Figura 6.16) es

ES_UNDUMBO ELEFANTE

MANI SANGRE CALIENTE Figura 6.16

Este fragmento se obtiene uniendo FH, FH12 y FH3, permitiéndole al equiparadorligar el nodo de la red de la pregunta que tiene “?” con el nodo de nuestra redintermedia que tiene la etiqueta “Dumbo”, con lo cual responde la pregunta.

En resumen las redes semánticas tienen las siguientes características:

1. Los arcos representan relaciones binarias.2. Las relaciones n-arias o poliádicas se representan mediante nodos de los que

salen arcos apuntando a los distintos elementos participantes de la relación.3. Los nodos que representan relaciones poliádicas deben ser elementos de

conjuntos o clases, y estos a su vez, subconjuntos del conjunto de situacioneso eventos.

4. Todos los conjuntos son subconjuntos de un conjunto universal, definiendouna red taxonómica, cuya raíz es el conjunto universal seguido de clases muy

TIENE

Page 143: Inteligencia Artificial y Sistemas Expertos

143

generales, seguidas a su vez de clases más específicas hasta llegar al nivelde instancias.

6.2 Redes Particionadas de Hendrix

Como señalábamos anteriormente, uno de los inconvenientes importantes de lasredes semánticas, es la falta de estructuración. Una manera de resolver esto esbuscando nuevas formas de redes semánticas que conserven la flexibilidad yfacilidades representacionales, pero con unos niveles mínimos de estructuración.

Una variante importante de las redes semánticas son las redes particionadas deHendrix, las cuales poseen una potencia expresiva equipotente con el cálculo depredicados de primer orden. Para conseguir esto, poseen un nivel deestructuración mucho mayor que el de las redes semánticas normales.

Dada la vaguedad propia de los lenguajes naturales, la representación medianteredes semánticas, de frases en español o en cualquier otro idioma, presenta elinconveniente de la multiplicidad de representaciones posibles. Para mejorar esto,podemos recurrir a elementos lingüísticos, que nos permitan establecer patronesgenerales de representación de cualquier frase.

Veremos entonces en este parágrafo las redes particionadas de Hendrixtradicionales, con facilidades añadidas de estructuración, vía elementoslingüísticos.

Dada una frase en español, vamos a identificar en ella las siguientes partes:

1. La acción que viene denotada por el verbo y que en nuestra red será unevento.

2. El sujeto que ejecuta la acción y que en nuestra red será el agente.3. El objeto que recibe la acción o que la sufre y que en nuestra red

denominaremos objeto.4. Complementos que aclaran las circunstancias de la acción, como lugares,

tiempos, modos, etc. Por ejemplo (Figura 6.17), consideremos la siguientefrase en español, “Juan abre la puerta con la llave”, una representaciónmediante una red semántica, puede ser,

Page 144: Inteligencia Artificial y Sistemas Expertos

144

PUERTA

JUAN PUERTA-5

ABRE

LLAVE-3 EVENTO

LLAVE Figura 6.17

Las redes particionadas en Hendrix tienen una potencia expresiva mayor que lasredes semánticas normales.

En la representación utilizamos los siguientes símbolos:

Círculos, cuyas etiquetas son variables o constantes.

Óvalos, cuyas etiquetas son nombres de dominios.

Rectángulos, que agrupan círculos, y que representan espacios.

Arcos dirigidos que representan relaciones.

En las redes particionadas de Hendrix, los nodos son los espacios, que sesimbolizan mediante rectángulos.

Los espacios son las unidades que agrupan los círculos y los arcos dirigidos.

Asociados a los círculos existen unas etiquetas que representan variables, quedenotan a su vez elementos de un dominio.

Los dominios representados por óvalos, denotan clases de objetos y relaciones(predicados). Existen algunos dominios básicos asociados a los conectoreslógicos (disyunciones, negaciones, implicaciones). El uso de espacios añademayor poder expresivo y organizativo.

El uso fundamental de los espacios es permitir definir proposiciones y fórmulaslógicas. De ésta manera las redes semánticas se hacen equipotentes con lalógica de predicados de primer orden.

ES_UNA

OBJETO

ES_UN

AGENTE

INSTRUMENTO

ES_UNA

Page 145: Inteligencia Artificial y Sistemas Expertos

145

Establecemos para cada conector lógico, una representación en red semántica(Figura 6.18).

1. Conjunción: x ∧ y

Figura 6.18

Basta con usar un espacio para delimitar la conjunción (Figura 6.19).

2. Disyunción: x ∨ y

Figura 6.19

La variable D representa las disyunciones asociadas a las variables x e y. La‘e’ de los arcos representa la relación, ‘elemento de’; así, los arcos de losespacios que encierran las variables x e y, y que se dirigen al espacio queencierra la variable de disyunción D, reflejan el hecho de que las variables sonelementos de una disyunción D (Figuras 6.20, 6.21).

3. Negación: ¬ x

Figura 6.204. Implicación: x ⇒ y

Figura 6.21Respecto a la cuantificación tenemos lo siguiente:

X Y EspacioVariables

x

y

De

ee Disyunciones

De Negaciones

x

y

I

Consecuentes

Antecedentese Implicaciones

Page 146: Inteligencia Artificial y Sistemas Expertos

146

a. Cuantificación existencial: Está implícita en el arco ‘e’. La ocurrencia de unaestructura implica su cuantificación existencial.

b. Cuantificación universal: Utilizando la implicación se reduce a suponer que lasvariables libres están cuantificadas universalmente.

Ahora consideremos la frase, “Todo perro ha mordido a algún cartero”. Esta frasese representa en lógica de primer orden como,

(∀ x)[PERRO(x)⇒ (∃ y)(CARTERO(y)∧ MUERDE(x,y))]

Para trasladar a redes particionadas de Hendrix, tenemos en cuenta en primerlugar los conectivos lógicos presentes en la fórmula, que en este caso son unaconjunción y una implicación. Esto nos indica que requerimos de un dominio deimplicaciones. Luego, tenemos en cuenta los predicados y su grado. Por cadapredicado unario necesitamos un dominio. En este caso los dominios perros ycarteros. Para cada predicado binario o de grado mayor, requerimos un dominiopara el predicado y para cada uno de sus argumentos. En nuestro caso,necesitamos un dominio mordeduras y unos dominios para las variables x e y, queya sabemos que son perros y carteros respectivamente. En total para nuestroejemplo, necesitamos cuatro dominios (Figura 6.22). La red de Hendrix asociadaa la frase es,

Figura 6.22

El razonamiento con redes particionadas de Hendrix es similar al razonamientocon redes normales.

Consideremos nuevamente el ejemplo con las especificaciones:

R1: Los elefantes son mamíferos.

I

Implicaciones

x

Perros

m

Mordeduras

y

Carteros

ee e econsecuente

antecedente

Agente Objeto

Page 147: Inteligencia Artificial y Sistemas Expertos

147

R2: Los mamíferos tienen sangre caliente.

R3: Los elefantes comen maní.

H: Dumbo es un elefante.

P: ¿Hay un elefante que come maní y tiene la sangre caliente?

La representación de esas especificaciones en lógica de predicados de primerorden es:

R1: (∀ x)[Elefante(x)⇒ Mamífero(x)]

R2: (∀ y)[ Mamífero (y)⇒ Sangre_Caliente(y)]

R3: (∀ z)[Elefante(z)⇒ Come_Maní(z)]

H: Elefante(Dumbo)

P: (∃ w)[Elefante(w)∧ Come_Maní (w)∧ Sangre_Caliente(w)]

Los respectivos fragmentos de red (Figuras 6.23, 6.24, 6.25, 6.26, 6.27) son,

FR1:

Figura 6.23

FH:

Figura 6.24

I

Implicaciones

e

Consecuente

Antecedente

Elefantes

x

e

Mamíferos

x

e

Elefantes

Dumbo

e

Page 148: Inteligencia Artificial y Sistemas Expertos

148

FR2:

Figura 6.25

FR3:

Figura 6.26

FP:

Figura 6.27

Equiparando FH y FR1 (Figura 6.28), obtenemos el fragmento FH1:

I

Implicaciones

e

Consecuente

Antecedente

Mamíferos

y

e

Sangre_Caliente

y

e

Elefantes

e

Come_Maní

?

e

Sangre_Caliente

e

I

Implicaciones

e

Consecuente

Antecedente

Elefantes

z

e

Come_Maní

z

e

Page 149: Inteligencia Artificial y Sistemas Expertos

149

FH1:

Figura 6.28

Equiparando FH y FR2 (Figura 6.29), obtenemos el fragmento FH2:

FH2:

Figura 6.29

Equiparando FH1 y FH3 (Figura 6.30), obtenemos el fragmento FH13:

FH13:

Figura 6.30

A partir de FH, FH2 y FH13 (Figura 6.31), obtenemos:

Figura 6.31

Este fragmento le permite al equiparador ligar el nodo de la red de la pregunta quetiene “?” con el nodo de nuestra red intermedia que tiene la etiqueta “Dumbo”, conlo cual responde la pregunta.

Consideremos otro ejemplo con las siguientes especificaciones:

Mamíferos

Dumbo

e

Come_Maní

Dumbo

e

Sangre_Caliente

Dumbo

e

Elefantes

e

Come_Maní

Dumbo

e

Sangre_Caliente

e

Page 150: Inteligencia Artificial y Sistemas Expertos

150

H1: “Pedro es el director del departamento de ventas”H2: “Pedro y María están casados”R: “Si alguien es director de un departamento entonces trabaja en esedepartamento”

Queremos responder la siguiente pregunta:

¿Existe alguien que esté casado con María y trabaje en el departamento deventas?

Los fragmentos con los hechos y regla y con la pregunta, constituyen la base deconocimiento.

Las respectivas representaciones (Figura 6.32, 6.33) son:

FH1:

Figura 6.32

FH2:

Figura 6.33

Estamos considerando que Pedro y María son a la vez agentes y objetos delmatrimonio.

La regla se puede expresar en lógica como,

(∀ x)(∀ y)[Director(x,y)⇒ Trabaja(x,y)]

La representación en red de Hendrix (Figura 6.34), es FR:

Directores Direcciones

ventas

Departamentos

e e e

Agente ObjetoD1Pedro

Matrimonios

María

e

AgenteObjeto

m1PedroObjeto

Agente

Page 151: Inteligencia Artificial y Sistemas Expertos

151

Figura 6.34

La pregunta puede ser expresada en cálculo de predicados como,

(∃ x)[Casado(x,María)∧ Trabaja(x,Ventas)]

La representación en red de Hendrix (Figura 6.35), es FP:

Figura 6.35

Nuestra base de conocimiento consta de FH1, FH2, FR y FP. Medianteequiparación generamos fragmentos de red intermedios.

Equiparando FH1 y FR, obtenemos la red parcial (Figura 6.36).

I

Implicaciones

x

Directores

x

Trabajadores

z

ee e e

consecuente

antecedente

Agente Objeto

Direcciones Trabajos Departamentos

z

e

y

e

Agente Objeto

Matrimonios Trabajadores

e e

Objeto

Trabajos Departamentos

e

?

e

AgenteMaría Ventas? ?

ObjetoAgente Agente Objeto

Page 152: Inteligencia Artificial y Sistemas Expertos

152

FH1R:

Figura 6.36

Equiparando FH2 y FP (Figura 6.37), obtenemos FH2P

FH2P

Figura 6.37

Equiparando FH1R y FH2R (Figura 6.38), obtenemos,

Figura 6.38

Esta red intermedia le permite al equiparador ligar los nodos de la red de lapregunta que tienen “?” con los nodos de esta red, asignándole al interrogante demás a la izquierda el valor M1, al del centro el valor de Pedro, y al de más a laderecha el valor de D1.

Trabajadores

e

Trabajos Departamentos

e e

VentasAgente ObjetoPedro D1

Matrimonios Trabajadores

e e

Objeto

Trabajos Departamento

e

M1

e

AgenteMaría Ventas?

ObjetoAgente Agente Objeto

Pedro

Matrimonios Trabajadores

e e

Objeto

Trabajos Departamento

e

M1

e

AgenteMaría VentasD1

ObjetoAgente Agente Objeto

Pedro

Page 153: Inteligencia Artificial y Sistemas Expertos

153

6.3 Marcos

La interacción que tenemos los seres humanos con un entorno es fundamental ennuestro proceso de aprendizaje. Un bebé que descubre el mundo, se vebombardeado por infinidad de estímulos procedentes del medio exterior, loscuales asimila en un proceso continuo de aprendizaje. Esas experiencias vanconformando una estructura o esquema conceptual del mundo, formada por lospatrones recurrentes de la vida cotidiana. Eso es lo que nos permite estarcapacitados para ir por la vida sin tener que razonar cada acción que efectuamos,debido a que la vida cotidiana consiste en una larga serie de “situacionesestereotipadas”, que incorporamos en nuestros esquemas mentales. Esto esimportante porque nos permite enfrentar muchas situaciones de la vida sin tenerque pensar, o concentrándonos únicamente en aquello que es diferente ointeresante . Por ejemplo, cuando uno visita un restaurante donde nunca se haestado antes, sabe conducirse en él, fruto de experiencias anteriores, que lepermiten a uno saber qué son los restaurantes, para qué se va a ellos, qué utilidadtienen los objetos que en ellos se encuentran: menú, mesa, cubiertos, etc., quéactores intervienen: clientes, camareros, cocineros, etc. Y lo más importante, setiene una serie de expectativas acerca de las “secuencias de sucesos” queprobablemente ocurrirán allí. Sin embargo, si por ejemplo vamos a un restaurantejaponés, siendo esta experiencia completamente nueva, nos obliga a adaptar y aajustar nuestro esquema o marco conceptual de restaurante, ya que nosencontramos con situaciones muy diferentes a nuestro estereotipo de restaurante,como comer con palillos, comer sentados en el piso, además de experienciasgastronómicas nuevas, como comer pescado crudo, etc.

En Inteligencia Artificial se busca replicar estas capacidades humanas, así seaparcialmente. Por ejemplo, si necesitamos que un robot interaccione de maneraautónoma e inteligente con un entorno, es necesario en primer lugar dotarlo desensores, pero además conseguir que sea capaz de aprender y de estructurar susmarcos conceptuales, que le permitan exhibir un comportamiento inteligente en suinteracción con el mundo.

La técnica de representación del conocimiento que se usa en Inteligencia Artificial,que permite simular esas capacidades humanas, es la de los marcos.

Un marco es un armazón o estructura para ser adaptado y ajustado a la realidad,cambiando si es necesario los detalles.

Un marco es una estructura de conceptos estrechamente asociados (tienenmucho que ver unos con otros), llamados slots (y que podríamos traducir comocampos o pistas), usados para representar objetos generales o específicos.

Page 154: Inteligencia Artificial y Sistemas Expertos

154

Los slots corresponden a los atributos (características) que tiene el tipo de objeto,que el marco representa.

Los slots son las partes del marco que deben instanciarse en función de los datosde la situación. Los Slots están normalmente inicializados con valores por defecto.

En los slots se pueden almacenar datos numéricos, texto o información máscompleja, como tablas, estructuras gráficas y programas procedimentales. Unejemplo de un marco (Figura 6.39), es el siguiente:

Marco: VehículoSlots: Altura

AnchoPesoColorCapacidadNúmero_de_matrícula

Figura 6.39

Los conjuntos de marcos relacionados se agrupan formando un sistema demarcos, que habitualmente es una jerarquía taxonómica que especializa elconocimiento de objetos generales (clases), a objetos particulares, los cualespueden ser: una clase menos general (subclase) o valores específicos de los slotsdefinidos en la jerarquía (instancias).

Esta organización jerárquica permite que slots de niveles generales seanheredados a niveles específicos, a través de dos tipos de enlaces:

1. ES_UN (Es subclase de): Enlaza un marco clase con cada uno de los marcossubclase en que se divide.

2. PERTENECE (Es instancia de): Enlaza un marco clase con las instanciasespecíficas de la clase.

Los sistemas de marcos son una generalización de las redes semánticas. Ladiferencia fundamental radica en que los nodos de las redes semánticas son muypobres (sólo contienen una etiqueta), mientras que aquí, los nodos son marcosque poseen estructura y una potencia expresiva mucho mayor, ya que permitenmanejar no sólo conocimiento declarativo, sino también procedimental.

Por ejemplo (Figura 6.40, 6.41), consideremos un sistema de marcos muy simple,formado por un marco y una instancia.

Page 155: Inteligencia Artificial y Sistemas Expertos

155

Marco: PersonaSlot Tipo Valor Facetas

ESPECIEALTURAPESOCOLORSEXO

EnteroEnteroRAZASHombre, Mujer

Homo Sapiens+ 1.75 mt+ 75Kg

Figura 6.40

Marco: PepeSlot Tipo Valor Facetas

EspecieAlturaPesoColorSexo

EnteroEnteroRazasHombre, mujer

Homo sapiens1.70 mt68 kgBlancoHombre

Figura 6.41

Obsérvese que el marco instancia (o hijo) hereda los slots y las propiedades delmarco general (padre), aunque muchas veces los marcos hijo puedan tener slotspropios, que no son de sus padres.

Como puede observarse en el ejemplo, los slots tienen varias característicasasociadas a ellos.

1. El nombre: que indica la clase de atributo que el slot representa.2. El tipo: indica el dominio de valores permitidos que puede tener un slot. Los

tipos generalmente encontrados son: entero, real, fecha, lógico o booleano,carácter. También puede haber tipos abstractos definidos por los usuarios.

3. Valor: Son los valores concretos del slot asociados al respectivo tipo. Puedenser valores por defecto, a los que les anteponemos el símbolo ‘+’.

4. Facetas: Subyacente a la estructura declarativa de los arcos, es decir a lamanera en la que se organiza la representación de hechos estáticos, existe unaspecto dinámico o procedimental, que permite ligar a los slots, procedimientos(llamados facetas) para dirigir el razonamiento o el comportamiento del sistemapara resolver problemas.

Como se señaló anteriormente, los marcos permiten combinar la estructuradeclarativa con los aspectos dinámicos procedimentales, representados en lasfacetas, esto nos permite entender cómo se razona con un sistema de marcos.

Instancia de

Page 156: Inteligencia Artificial y Sistemas Expertos

156

Las facetas de los marcos son procedimientos implantados como rutinas (triggers)que se activan cuando el valor de un slot se encuentra o se cambia. Estosprocedimientos de disparo se implantan como procesos dirigidos por eventos opor datos.

Cada slot puede tener cualquier número de procedimientos (facetas) asociados aél. Tres de los más importantes son:

1. Si_adiciona: Se activa cuando se adiciona un valor al slot.2. Si_borra: Se activa cuando se borra un valor del slot.3. Si_necesita: Se activa cuando es necesario el valor del slot y este esta vacío.

Por ejemplo, consideremos el marco Informe Avance Proyecto #15 (Figura 6.42)con sus facetas respectivas.

MARCO: INFORME AVANCE PROYECTO #15Slot Tipo Valor Si_Adiciona Si_Borra Si_Necesita

Autor +Director 2 1Tema Sist.

ExpertosFech.Terminación

Literal 4 3

Longi. Informe Entero + 30Pág.

6 5

Figura 6.42

Supongamos que se conecta este marco vía a un programa de interfase y se haceel siguiente requerimiento:

“Se necesita un informe completo sobre el avance (estado) del proyecto desistemas expertos”. El programa se encuentra con que hay dos slots con valorespor defecto y un slot con valor desconocido, y por lo tanto intentará completar elinforme.

1. El programa activa un procedimiento (1) que busca en la memoria de trabajo elnombre del director del proyecto de sistemas expertos (si no lo encuentrapuede preguntar externamente). Supongamos que lo obtiene, entonces lonotifica al sistema de manipulación de marcos.

2. El sistema de manipulación debe borrar el valor por defecto e insertar el valorde notificado por (1). Entonces se puede activar un procedimiento (2) queenvíe un mensaje dando cuenta de la notificación.

3. Se activa un procedimiento (3) que busca la fecha de terminación y que encaso de no encontrarla puede decidir entre unas fechas opcionales.Supongamos que notifica la fecha, pero está fuera de un rango permitido,

Page 157: Inteligencia Artificial y Sistemas Expertos

157

entonces cuando el sistema de manejo intenta insertar esa fecha se activa unprocedimiento (4) que no permita la inserción y muestre un mensaje señalandoel error.

4. Análogamente el valor por defecto de la longitud del informe, puede activar losprocedimientos (5) y (6).

Las reglas de producción son una representación procedimental, y por lo tanto porsí solas no utilizan una representación estructurada. Su poder expresivo esinadecuado para describir objetos y relaciones estáticas entre estos; algo para locual los marcos son ideales.

De lo anterior se concluye que una integración entre estas dos formas derepresentación del conocimiento (marcos y reglas de producción) da comoresultado una forma de representación más potente que combina las ventajas deambos, permitiendo que las reglas sean almacenadas en los marcos, y que ungrupo de reglas pueda pertenecer a una clase determinada. Una regla definida enun marco, contiene en su antecedente, slots asociados a este marco.

Las reglas tienen la forma,

SI el Slot_X del Marco_Y es valorEntonces el Slot_Z del Marco_W es valor.

Obviamente el Marco_Y, y el Marco_W pueden ser el mismo marco.

La condición evalúa el valor del Slot_X en las instancias terminales del Marco_Y oen marcos clase que están bajo su línea de jerarquía.

El Slot_X puede ser propio o heredado.

La conclusión de la regla afecta directamente sólo a los valores del Slot_Z que seencuentra en los marcos e instancias que están bajo el Marco_W.

Consideremos por ejemplo, las reglas:

R1: Si el residuo de envases es aceitosoEntonces el revestimiento de envases es burbujoso.

R2: Si el rendimiento del lavador es deficienteEntonces el residuo de envases es aceitoso.

Aquí, para R1, Slot_X = residuo, Marco_Y = Marco_W = Envases, Slot_Z =Revestimiento. Para R2, Slot_X = rendimiento, Marco_Y = Lavador, Slot_Z =Residuo, Marco_W = Envases.

Page 158: Inteligencia Artificial y Sistemas Expertos

158

6.4 Guiones

Un “guión” es una estructura tipo marco, que describe una secuenciaestereotipada de eventos en un contexto particular.

Los componentes de un guión son:

a. Condiciones de entrada: Condiciones que deben satisfacer antes de que loseventos descritos en el guión puedan ocurrir.

b. Resultados: Situaciones que serán verdaderas después de que los sucesosdescritos en el guión han ocurrido.

c. Apoyo: Es la utilería, es decir, los objetos que están involucrados en loseventos descritos en el guión.

d. Roles: Actores implicados en los eventos descritos en el guión.e. Variantes: Variación específica de un patrón más general que está

representado por este guión particular.f. Escenas: Secuencias estereotipadas de eventos.

Consideremos como ejemplo el Guión Restaurante.

Condiciones de entrada: El cliente está hambriento, el cliente tiene dinero.Resultados: El cliente no tiene hambre, el cliente tiene menos dinero, el propietariotiene más dinero.Apoyo (utilería): mesas, sillas, carta, comida, cuenta, dinero.Roles (papeles): cliente, camarero, cajero, propietario, cocinero.Variante: cafetería.

Escena 1: Cafetería• El cliente entra en el restaurante.• Busca con la mirada una mesa desocupada.• Decide dónde sentarse.• Se dirige a la mesa.• Se sienta

Escena 2: Pedido

(Carta está sobre la mesa) (Camarero trae la carta)• El cliente coge la carta.• Mira el contenido.• Hace una elección de comida.• Hace el pedido al camarero• El camarero se dirige a la cocina.

• Cliente llama al camarero• Camarero se dirige al cliente• El camarero entrega la carta

Page 159: Inteligencia Artificial y Sistemas Expertos

159

Escena 3: Comer• El camarero lleva la comida.• El camarero le sirve la comida al cliente.• El camarero se marcha.• El cliente come.• El cliente llama al camarero.•

Regresar a escena 2 Escena 4: Pagar• El cliente pide la cuenta.• El camarero le entrega la cuenta• El cliente se dirige al cajero• Paga la cuenta• Sale del restaurante.

Los guiones se usan para predecir eventos que no han sido explícitamenteobservados. Supóngase, por ejemplo, que se está narrando la siguiente historia:

“Juan fue a un restaurante anoche. Él pidió un filete. Cuando iba a pagar se diocuenta de que estaba sin dinero. Él corrió a su casa ya que había comenzado allover”.

Si se plantea la pregunta: ¿cenó Juan anoche?, se debería responder casi concerteza, incluso aunque no se hubiera dicho explícitamente usando el guiónrestaurante, un computador también sería capaz de inferir que Juan cenó. Dadoque todos los sucesos en la historia corresponden a la secuencia de sucesosprevistos por el guión, el programa podría inferir que toda la secuencia prevista enel guión sucederá normalmente. De este modo podría concluir que Juan cenóanoche.

Otro uso está relacionado con el hecho de que los guiones son una cadena causalgigante, de este modo, proporcionan información acerca de cómo los eventosestán relacionados entre sí. Considérese por ejemplo, la siguiente historia:

“Juan fue a comer. Él se sentó en una mesa y llamó a la camarera. La camarerale trajo la carta y él pidió una hamburguesa”. Ahora considérese la pregunta. ¿Porqué la camarera le trajo a Juan la carta? Una posible respuesta usando el guión,es: debido a que Juan la llamó. Esta respuesta se obtiene yendo hacia atrás en lacadena causal para encontrar qué hizo que ella hiciera eso.

Cada escena consta de una secuencia estereotipada de eventos, es decir, de unasecuencia de acciones. Algunos lingüistas como Wilks y Schank, han desarrollado

Page 160: Inteligencia Artificial y Sistemas Expertos

160

teorías lingüísticas como la de la dependencia conceptual que permiten unarepresentación de todas las acciones usando un pequeño número de primitivas.

Esto permite construir programas que, entre otras cosas, pueden “parafrasear”textos que se le dan como datos de entrada, como las historias aludidasanteriormente, de tal manera que se facilita la extracción de inferencias, responderpreguntas, formular hipótesis, etc.

El objetivo fundamental de estas teorías lingüísticas, es el de servir como unarepresentación adecuada de expresiones en lenguaje natural, para capturar laestructura conceptual subyacente en ellas.

Un primer requerimiento es que la representación no sea ambigua, incluso cuandola entrada pueda contener ambigüedades sintácticas.

El sistema de Schank está formado por un conjunto de bloques de construcciónprimitivos y una estructura sobre la que pueden construirse representaciones deelementos de información particulares.

Un primer conjunto de bloques de construcción está formado por once accionesbásicas, clasificadas en los cuatros subconjuntos siguientes:

A. Acciones físicas

Propel: Aplicar una fuerza a un objeto físico; por ejemplo, empujar.Move: Mover una parte del cuerpo por su propietario; verbigracia, patear.Ingest: Ingestión de algo por un ser animado, tal como beber.Expel: Expedir algo hacia afuera desde el interior de un objeto animado, porejemplo, llorar.Grasp: Asimiento de un objeto por un actor, por ejemplo, halar.

En el guión restaurante, los eventos de las escenas que están expresados enlenguaje natural (español), se pueden representar mediante bloques básicoscomo los anteriores. Por ejemplo, “El cliente se sienta”, se puede expresarcomo, “S MOVE S a la posición de sentarse”, en donde S es el cliente.También el evento, “El cliente come”, se puede expresar como “S INGEST C”,en donde C=Comida.

B. Acciones caracterizadas por dar como resultado un cambio de estado

Ptrans: Cambiar un objeto físico de lugar, por ejemplo, ir.Atrans: Cambiar una relación abstracta, tal como posesión o propiedad, conrespecto a un objeto; verbigracia, dar.

Page 161: Inteligencia Artificial y Sistemas Expertos

161

En el guión restaurante, el evento “Cliente entra al restaurante”, se representacomo “S PTRANS S dentro del restaurante” y el evento “El cliente paga lacuenta”, se puede expresar como, “S ATRANS dinero a R”, en donde R es elcajero.

C. Acciones usadas principalmente como instrumentos para otras acciones.

Speack: Producir un sonido, por ejemplo, decir.Attend: Centrar la atención de un órgano de los sentidos hacia un estímulo;verbigracia, escuchar.

En el guión restaurante, el evento “El cliente busca con la mirada una mesadesocupada”, se puede representar como “S ATTEND ojos a mesas”.

El evento “El cliente llama al camarero”, se puede representar como, “SSPEAK M”, en donde M es el camarero.

D. Acciones mentales.

Mtrans: Transferencia de información mental; tal como hablar.Mbuild: Construir nueva información a partir de una anterior: decidir.

En el guión restaurante, el evento “Hace el pedido al camarero”, se puedeexpresar como, “S MTRANS yo quiero C a M”, en donde S es el cliente, C es lacomida y M es el camarero.

El evento, “El cliente hace una elección de comida”, se puede expresar como, “S MBUILD elige de C”, en donde C es comida.

Con estos elementos la Escena1 del guión, se puede expresar como,

Escena 1: Entrada

• S Ptrans S dentro del restaurante.• S Attend ojos a mesas.• S Mbuild donde sentarse.• S Ptrans S a la mesa• S Move S a la posición de sentarse.

Análogamente, las demás escenas del guión se pueden expresar con la ayuda delos bloques de construcción primitivos.

Estos elementos primitivos no son palabras sino conceptos que reflejan un nivelde pensamiento subyacente en el lenguaje.

Page 162: Inteligencia Artificial y Sistemas Expertos

162

La ventaja fundamental del uso de estas primitivas radica en las ventajascomputacionales, al almacenar proposiciones en forma “canónica”. Esto requiereque la información implícita en la frase se haga explícita. A su vez, obtener lainformación implícita requiere inferencia y es justo para hacer inferencias que lasprimitivas reciben su más importante justificación.

Cada primitiva de acción impone su propio conjunto de inferencias a partir delhecho de que X PTRANS Y desde W a Z.

1. Y está ahora ubicado en Z.2. Y ya no está en Z.3. Si Z=X, o Z es un humano y requerido el Ptrans, entonces A hará, sea lo que

fuere, probablemente lo que habitualmente hace con Y.

Tales inferencias proporcionan tanto el criterio para elegir las primitivas como ladefinición de lo que son tales primitivas.

Los sistemas de guiones son utilizados en programas de diálogo inteligente, comoEliza y Parry.

Programas como Parry les permiten a los pacientes tener un diálogo en elcontexto de la psicología clínica, para expresarse sin las inhibiciones y barrerasdefensivas que se anteponen en el diálogo directo con un psicólogo o con unpsiquiatra. El programa basado en la escuela de psicología de Carl Rogers,conduce el diálogo apropiadamente en términos clínicos.

6.5 Ejercicios

1. Considere las siguientes reglas

R1: Los dálmatas son perrosR2: Todo el que ladra es un ruidoso.

Y los siguientes hechos:

H1: Fifí es un perroH2: Fifí no es dálmataH3: Fifí ladra

Utilizando un sistema basado en redes semánticas, responda la siguientepregunta:

Page 163: Inteligencia Artificial y Sistemas Expertos

163

¿Quién es un ruidoso y no es dálmata?

2. Considere las mismas especificaciones y preguntas del ejercicio anterior.Utilizando un sistema basado en redes particionadas de Hendrix, responda lapregunta.

3. Considere las siguientes especificaciones:

e1: Los animales que dan leche o tienen pelo son mamíferos.e2: Los mamíferos que comen carne son carnívoros.e3: Los carnívoros de color leonado y manchas oscuras son guepardos.e4: Los carnívoros de color leonado y rayas negras son tigres.

Para cada especificación genere una regla con formato,SI Slot_X del Marco_Y es valorEntonces Slot_Z del Marco_W es valor

4. Genere un sistema de cinco marcos que permita almacenar las cuatro reglasobtenidas en el ejercicio anterior.

5. Crear un guión, “IR A CINE”, representando los eventos de las escenasmediante los bloques de construcción primitivos de Schank.

Page 164: Inteligencia Artificial y Sistemas Expertos

164

CAPÍTULO 7

Razonamiento Aproximado

Cuando se construye un sistema experto basado en reglas de producción,recordemos que las reglas de producción no son implicaciones lógicas, ellasreflejan el conocimiento heurístico del experto con respecto a algunos aspectosdel dominio del conocimiento. El experto podrá saber solamente que ciertoconjunto de evidencias implicará probablemente una determinada conclusión. Esdecir, las reglas de producción normalmente no establecen una conclusión conuna certeza absoluta; por el contrario reflejan las convicciones del experto de laevidencia en favor de una conclusión.

Existen varias técnicas para el manejo de la incertidumbre. Aquí veremos algunasde ellas.

7.1 Razonamiento Difuso

Existe un interesante paralelismo histórico entre la lógica y la geometría.Recordemos que la geometría euclidiana se mantuvo durante muchos siglos comola única propuesta aceptada en la descripción del mundo, hasta que en el siglo XIXhubo una eclosión de propuestas de geometrías divergentes, todas ellas con unelemento en común, la no aceptación del axioma o postulado de las paralelas.Esto generó varias propuestas de geometrías no-euclidianas, fundamentales en laciencia moderna. Así por ejemplo, los trabajos de Einstein en relatividad generalutilizan la geometría de Riemann; y los desarrollos actuales en cosmología sebasan en estas geometrías.

Algo similar a lo sucedido con la geometría se dio con la lógica. La lógicaaristotélica mantuvo durante muchos siglos su hegemonía, hasta el siglo XIX, conla aparición de la lógica simbólica. Lo interesante es que desde finales del sigloXIX y principios del XX, se cuestiona el principio del tercio excluido de Aristóteles,generándose unas lógicas divergentes (por ejemplo, la lógica intuicionista y lalógica modal). Sin embargo, la propuesta de lógica divergente más interesante seda bien entrado el siglo XX, en la década del 60, con los trabajos de Lofti Zadeh,alrededor de la lógica difusa.

Page 165: Inteligencia Artificial y Sistemas Expertos

165

Sea U un conjunto clásico de objetos, un universo, cuyos elementos serepresentan como x. La pertenencia a un subconjunto A de U podría verse comouna función característica µA: U→{0,1} tal que,

µA(x) = 1 si y sólo si x ∈ AµA(x) = 0 si y sólo si x ∉ A

En los conjuntos clásicos los límites o linderos de pertenencia están perfectamentedefinidos, y sólo hay dos posibilidades, el elemento pertenece o no pertenece alconjunto, aquí se manifiesta pues el principio del tercio excluido de Aristóteles.

Sea U un conjunto clásico de objetos, un universo cuyos elementos serepresentan como x. La pertenencia a un subconjunto A de U podría verse comouna función µA: U→[0,1]. En este caso el conjunto A se denomina difuso oborroso.

En los conjuntos difusos los linderos de pertenencia no son tan nítidos, de ahíviene el nombre de difuso o borroso. En cierto sentido todos los elementospertenecen, lo que define la función µA es el grado de pertenencia al conjunto.

Podemos definir un conjunto difuso A, como un conjunto de pares ordenados,

A = {(x, µA(x)) / x∈ U}

Por ejemplo, supongamos que deseamos clasificar las casas de acuerdo con lacomodidad. Un indicador de la comodidad de una casa es el número de alcobas.Sea U={1,2,3,...,8} el conjunto de tipos de casa descritos por x=número dealcobas. Entonces el conjunto difuso “tipo confortable de casa para una familia decuatro personas” puede ser descrito como,

A={(1,•2),(2,•5),(3,•8),(4, 1),(5,•7),(6,•3)}

Con la notación •2, queremos indicar 0•2. En muchos textos los conjuntos difusosse denotan por ejemplo como A~ ó A , para distinguirlos de los conjuntos clásicos.

Normalmente se establece la convención de no incluir los elementos con gradosde pertenencia 0.

El soporte de un conjunto difuso A, es un conjunto clásico, tal que µA(x)>0. Esdecir,

Soporte A={x∈ U / µA(x)>0}.

Page 166: Inteligencia Artificial y Sistemas Expertos

166

Así como alrededor de las operaciones de unión e intersección, tenemos unálgebra de conjuntos clásicos, también es posible contar con un álgebra deconjuntos difusos, donde las operaciones de unión e intersección se definen como:

Sean A y B conjuntos difusos, entonces C=A∩B, es un conjunto difuso, formadopor los elementos x pertenecientes a U, tal que x∈ A y x∈ B, cuya función depertenencia µC, se define como,

µC(x) = mín {µA(x), µB(x)}

Análogamente, C=A∪ B, es un conjunto difuso, formado por los elementos xpertenecientes a U, tal que x∈ A ó x∈ B, cuya función de pertenencia µC, se definecomo,

µC(x) = máx {µA(x), µB(x)}

El complemento de un conjunto difuso A, es un conjunto difuso A , cuya funciónde pertenencia Aµ , se define como,

Aµ (x)= 1 - µA(x), ∀ x∈ U

Sea A el conjunto difuso “tipo confortable de casa para una familia de cuatropersonas” definido anteriormente y sea B el conjunto difuso “tipo de casa grande”,definido como:

B={(3,•2),(4,•4),(5,•6),(6,•8),(7, 1),(8, 1)}

La intersección C=A∩B es,

C ={ (3, •2), (4, •4), (5, •6), (6, •3)}

La unión D=A∪ B es,

D={(1,•2),(2,•5),(3,•8),(4,1),(5,•7),(6,•8),(7,1),(8,1)}

El complemento C puede ser interpretado como “tipo de casa no grande”,

C ={(1,1),(2,1),(3, •8), (4, •6), (5, •4), (6, •2)}

En general las propiedades de los conjuntos clásicos se cumplen en los conjuntosdifusos, excepto el principio de no contradicción y del tercio excluido.

Para A≠∅ (µA(x) ≠ 0, ∀ x∈ U) y A≠U; al par (A, A ) se llama partición difusa.

Page 167: Inteligencia Artificial y Sistemas Expertos

167

En general, si A1,...,Am son m conjuntos difusos que cumplen con:

Ai ≠ ∅ y Ai ≠ U

Y tal que, ( ) Uxxm

iAi

∈∀=∑=

,11

µ

Se denominan partición difusa de U.

Las operaciones de unión, intersección y complemento para conjuntos clásicos, serepresentan mediante diagramas de Euler-Venn. Para los conjuntos difusospodemos utilizar los gráficos de las funciones de pertenencia (Figuras 7.1, 7.2, 7.3,7.4, 7.5).

Figura 7.1

Figura 7.2

Figura 7.3

Figura 7.4

x

µA

1

0

x

µB

1

0

B

x

µA∪ B

1

0A

x

µA∩B

1

0A

A

B

B

Page 168: Inteligencia Artificial y Sistemas Expertos

168

Figura 7.5

Si A1,..., An son conjuntos difusos en los universos U1, U2,..., Un, respectivamente,el producto cartesiano A1×A2×...× An es un conjunto difuso en el espacio-productoU1×U2×...× Un , con función de pertenencia:

( ) ( ) ( ){ }nAAnAA xxxxnn

µµµ ,...,mín,..., 11... 11=××

Las operaciones de unión, intersección y producto cartesiano difusas, no sonúnicas. Otros operadores utilizados son:

( ) ( ) ( ) ( ) Uxxxxx BABAC ∈∀•== ∩ ,µµµµ( ) ( ) ( ) ( ) ( ) ( ) Uxxxxxxx BABABAC ∈∀•−+== ∪ ,µµµµµµ

( ) ( ) ( ) ( )nAAAnAA xxxxxnn

µµµµ •••=×× ...,..., 211... 211

Los operadores “mín” y “máx” son los análogos de la intersección y la unión ypueden generalizarse con cualquier par dual de t-norma y t-conorma:

Una norma triangular, o brevemente t-norma, es una función *:[0,1]×[0,1]→[0,1] talque,

1. a*b = b*a2. a*(b*c) = (a*b)*c3. Si a ≤ b y c≤ d entonces a*c ≤ b*d4. 1*a = a

Las t-normas son operadores conjuntivos. En particular tenemos las siguientes t-normas:

a*b = mín {a,b}a*b = a • ba*b = máx (0, a+b -1)

x

1

0A

Page 169: Inteligencia Artificial y Sistemas Expertos

169

==

=caso otro en 0

1 si 1 si

* abba

ba

Las definiciones dadas anteriormente se corresponden con los casos 1 y 2, delmínimo y la intersección respectivamente, pero obviamente hay más opciones.

Cada t-norma tiene asociada una conorma triangular, o brevemente t-conorma,que es una función [ ] [ ] [ ]1,01,01,0: →×⊥ , dual de la t-norma y definida como,

( ) ( )baba −−−=⊥ 1*11

Las t-conormas son operadores disyuntivos. En particular tenemos las siguientest-conormas:

1. a⊥ b = máx{a,b}2. a⊥ b = a + b – ab3. a⊥ b = mín {1, a+b}

4.

==

=⊥caso otro en 1

0 si 0 si

abba

ba

Las definiciones dadas anteriormente se corresponden con los casos 1 y 2, delmáximo y la unión respectivamente.

Una característica importante en la comunicación entre seres humanos, es lautilización de variables lingüísticas difusas. Continuamente decimos cosas como,esa persona es “alta” o es “ágil” o es “rica”, sin que en ningún momento hallamosprecisado el alcance de esos adjetivos o de las proposiciones que los incorporan ysin embargo eso no es obstáculo en la comunicación entre humanos.

Una de las aplicaciones importantes de la lógica difusa es en el campo de lossistemas expertos. La razón es muy simple. Una de las dificultades importantesen la construcción de sistemas expertos, radica en lo difícil que es trasladar elconocimiento heurístico del experto a reglas de producción con el formatotradicional, que es muy restrictivo para el experto. Por el contrario el permitir larepresentación con reglas que en vez de utilizar ternas objeto-atributo – valor,empleen variables lingüísticas difusas, les permiten mayor comodidad a losexpertos para expresar su experiencia.

Page 170: Inteligencia Artificial y Sistemas Expertos

170

Una proposición imprecisa es de la forma “x es A”, donde A es un conjunto difusoen U y x es una variable que toma valores en U.

Por ejemplo, la proposición “Juan es joven” contiene el adjetivo “joven” que estarárepresentado por un conjunto difuso, mediante una función de pertenencia µjoven,que podría definirse (Figura 7.6) como,

Figura 7.6

Consideremos un sistema de reglas de producción con una base de hechos y unabase de reglas que contenga información imprecisa (predicado difusos).

Los hechos se supone que están representados en la forma canónica “x es A”donde A es un subconjunto difuso de valor de U. Las reglas son de la forma “SI<condición> ENTONCES <acción>” donde condición está formada por hechos dela forma “x es A”, y acción es un hecho de la forma “y es B”.

Una regla difusa tiene, pues, la forma:

“SI x es A, Entonces y es B”, donde A y B son subconjutos difusos.

Esta regla establece una relación causal. Es decir, que el conocimientoproporcionado por “x es A” y del conocimiento proporcionado por “SI x es A,Entonces y es B”, podemos deducir información acerca de y incluso en el caso enque sepamos que x es A’ siendo A’ ligeramente diferente de A.

Esta regla se denomina modus ponens generalizado de Zadeh y se expresa como,

SI x es A Entonces y es Bx es A’

Entonces y es B’

Este esquema se basa en el conocimiento de la ley general de dependencia entreX e Y, y este conocimiento es utilizado en el caso de que “x es A’ ”, para concluir“y es B’ ”.

Edad en años5030250

0.20.40.60.8

1

µjoven

Page 171: Inteligencia Artificial y Sistemas Expertos

171

Si sabemos que A’ es sensiblemente distinto de A el modus ponens generalizadono es suficiente para concluir un B’ que nos aporte información fiable. Ello sóloserá posible si disponemos de información complementaria de continuidad y demonotonía sobre la relación causal entre X e Y alrededor de (A,B).

Por ejemplo, a partir de la regla “Si el tomate es rojo entonces está maduro” y elhecho “el tomate es muy rojo”, el modus ponens generalizado no permite concluir“el tomate está muy maduro”, a menos que se explicíte que el grado de madurezaumente con la intensidad del color rojo.

Consideremos la siguiente regla difusa,SI la persona es jóven y la estatura es altaEntonces efectúe entrenamiento para el baloncestoY consideremos las funciones de pertenencia de los conjuntos difusos (Figuras7.7, 7.8, 7.9).

Figura 7.7

Figura 7.8

Figura 7.9

Edad en años5030250

0.20.40.60.8

1

µjóven

Estatura en metros2.220

0.20.40.60.8

1

µalto

Unidades deentrenamiento20100

0.20.40.60.81

µaptitud para

el baloncesto

100

Page 172: Inteligencia Artificial y Sistemas Expertos

172

Consideremos los siguientes hechos.

H1: La persona tiene 20 años.H2: La estatura es de 2 metros.

Pregunta: ¿Cuánto entrenamiento debe realizar?

Por H1 entonces la persona pertenece al conjunto de jóvenes con un grado de 1; ypor H2 la persona pertenece al conjunto de altos con un grado de 0.8. Por lo tantoµjoven y alta = mín{0.8,1} = 0.8, que corresponde a 20 unidades de entrenamiento.

En este ejemplo se muestra de manera muy simple un proceso más complejo ycompleto, que estudiaremos en detalle.

Lo primero que haremos es definir con mayor formalidad el concepto de variablelingüística.

Una variable lingüística está caracterizada por una quíntupla < x,T(x),U,G,M >, enla que;

x: Nombre de variable.T(x): Conjunto de valores lingüísticos (atributos, adjetivos) de x.U: Universo del discurso.G: Regla sintáctica para ordenar los valores lingüísticos.M: Regla semántica para asociar cada valor a su significado. Es decir, generar

las funciones de pertenencia.

Por ejemplo, una variable como temperatura puede ser interpretada como unavariable lingüística x, entonces su conjunto de valores lingüísticos, es decir, lapartición, de su universo, se elegirá entre: baja, moderada, media, alta, muy alta,etc. Un caso (Figura 7.10) sería

T(temperatura) = T(x) = {baja, media, alta}

Figura 7.10

1000

200 300 400 500

0.5

1BAJA MEDIA ALTA

µ(x)

x [°C]

Page 173: Inteligencia Artificial y Sistemas Expertos

173

El universo del discurso es el rango de valores, en este caso temperaturas entre100 y 500 grados centígrados. Es decir, U =[100°C, 500°C].

Se puede interpretar como “baja” una temperatura por debajo de alrededor de250°C y “alta” por encima de alrededor 350°C. Tenemos entonces,

G = Baja≤ Media≤ Alta (Regla Sintáctica)M: La gráfica de µ(x) define la semántica de los valores, baja, media y alta.

Las funciones de pertenencia pueden ser expresadas de diferente forma, como sepuede apreciar en los ejemplos que hemos visto. Las más utilizadas son lastriangulares y las trapezoidales (Figura 7.11, 7.12).

Figura 7.11

Figura 7.12

Pero puede haber muchas otras formas (funciones) (Figura 7.13, 7.14) como:

0

1

µ(x)

x

0

1

µ(x)

x

Page 174: Inteligencia Artificial y Sistemas Expertos

174

Figura 7.13

Figura 7.14

Además de existir diferentes funciones de pertenencia, también pueden existirdiferentes particiones difusas del universo de una variable lingüística. Por ejemplopara la variable lingüística temperatura señalamos una partición difusa para suuniverso del discurso, pero pueden darse otras (Figura 7.15) como por ejemplo

Figura 7.15

0

1

x

( ) 0,2

>= − kex kxµ

0

1

x

( )( ) ( ) 0,,1

0,02

>≤−=

≤≤=−− kxex

xxxk αµ

αµα

α

0.8

1Alta

0.2

0.4

0

0.6

100 300200 500400

MediaBaja

µ(x)

x

ModeradaAlta

ModeradaBaja

Page 175: Inteligencia Artificial y Sistemas Expertos

175

O también (Figura 7.16)

Figura 7.16

Las particiones que hemos considerado son completas. Es decir, cada valor deluniverso del discurso pertenece al menos a un conjunto difuso.

Una partición incompleta de un universo del discurso contiene intervalos devalores [xI, xj] tal que los valores de x en el intervalo no pertenecen a ningúnconjunto difuso y por tanto siempre les corresponde un valor de pertenencia decero. Para nuestro ejemplo (Figura 7.17) una partición incompleta del universo deldiscurso de las temperaturas, podría ser:

Figura 7.17

Los valores de x en el intervalo [x1, x2] no pertenecen a ningún conjunto difuso.

Obviamente se impone la necesidad de realizar particiones completas.

La arquitectura básica de un sistema basado en reglas difusas, es similar a unsistema basado en reglas de producción convencionales, en cuanto que amboscontienen una base de conocimiento y un motor de inferencia. Sin embargo, las

x1

0x2

1A B C

x

0.8

1Alta

0.2

0.4

0

0.6

100 300200 500400

MediaBaja

µ(x)

x

ModeradaAlta

ModeradaBaja

Page 176: Inteligencia Artificial y Sistemas Expertos

176

prestaciones de un motor de inferencia para reglas difusas contienen diferenciasimportantes frente a un intérprete tradicional.

La base de conocimiento está conformada por las reglas difusas que inicialmentehabíamos señalado que eran de la forma,

SI x es A Entonces y es B, donde A y B son subconjuntos difusos.

Ahora ya podemos señalar que las reglas difusas expresadas en un formatogeneral como,

SI x1 es A1 y x2 es A2 y ... y xn es AnEntonces y1 es B1 y y2 es B2 y... y ym es Bm,

En donde A1, A2,..., An y B1, B2,..., Bm son conjuntos difusos; y las variables xi coni=1,2, ...,n y yj con j=1,2, ...,m, son variables lingüísticas como se definieronanteriormente.

Las variables lingüísticas yj reciben el nombre de variables de acción.

Un ejemplo de regla de producción difusa es,

SI velocidad es baja y temperatura es altaEntonces flujo de ventilación es aumentar.

En este caso la variable de acción es flujo de ventilación.

Existen sistemas que distinguen entre reglas que contienen variables de acción yreglas que no contienen variables de acción, sino variables intermedias quefacilitan procesos de encadenamiento. En los sistemas con reglas de producciónclásica, éstas se denominan reglas consecuente y antecedente respectivamente.

Un conjunto de reglas con estas distinciones son del tipo,

SI x es A Entonces z1 es C1SI z1 es C1 Entonces z2 es C2::SI zn es Cn Entonces y es B

Las variables zk son variables intermedias que facilitan el encadenamiento,conformando ellas un grupo o juego de reglas. Esto también facilita el uso demeta-reglas, que ayudan al motor de inferencia en su estrategia de solución deproblemas. Las meta reglas tienen el formato,

Page 177: Inteligencia Artificial y Sistemas Expertos

177

SI x1 es A1 Entonces aplicar grupo 1 de reglasSI x2 es A2 Entonces aplicar grupo 2 de reglas::SI xn es An Entonces aplicar grupo n de reglas.

También forman parte de la base de conocimiento los parámetros necesarios parala discretización de variables lingüísticas que se ingresan.

El número total de reglas difusas depende de las variables de entrada. El númeromáximo de reglas viene dado por el producto de los números de particiones detodas las variables de entrada.

En estos sistemas es importante distinguir cuáles variables se tomarán como deentrada y cuáles como de salida (variables de acción).

Así como señalamos anteriormente el ciclo de trabajo de un intérprete quefunciona con reglas de producción normales, también el intérprete o motor deinferencia que trabaja con reglas difusas posee un ciclo de trabajo que constafundamentalmente de tres fases: la fase de fuzificación (que algunos denominanemborronado), la fase de equiparación y la fase de defuzificación (tambiéndenominada desemborronado).

Fase de Fuzificación

Los usuarios le proporcionan al sistema valores determinísticos o no difusosasociados a las variables, que generalmente denominamos hechos. En unejemplo anterior se ingresaron valores H1 y H2, siendo H1 = La persona tiene 20años y H2 = La estatura es de 2 metros.

Lo primero que tiene que hacer el motor de inferencia es convertir esos valores nodifusos en términos de las variables lingüísticas, en este caso joven y alto. Estoes lo que se denomina fuzificación. En este caso H1, se convierte en joven 1.0 yH2, en alto 0.8, utilizando los grados de pertenencia que les corresponden a H1 yH2 respectivamente, conforme a las funciones µjoven y µalto.

En casos más complejos en los que el universo de las variables lingüísticas esparticionado, los valores no difusos pueden corresponder a varios valores difusos,dependiendo del particionamiento que se haga. Por ejemplo, si retomamos lapartición inicial de la variable lingüística temperatura y la respectiva gráfica de lafunción de pertenencia, al ingresar como un hecho un valor de temperaturat=250°C, el proceso de fuzificación nos dirá que esa temperatura es “0.5 baja” y“0.5 media” y “0 alta”.

Page 178: Inteligencia Artificial y Sistemas Expertos

178

Si ingresamos como un hecho un valor de temperatura de t=300°C, el proceso defuzificación nos dirá que esa temperatura es “0 baja” y “1 media” y “0 alta”.

En síntesis el proceso de fuzificación es un proceso que transforma la informacióndeterminista en información cualitativa, que toma como referencia a conjuntosdifusos.

Es de observar que la suma de los grados de pertenencia en el ejemplo anteriorda 1. Esto se debe a que la partición que se hizo del universo de la variablelingüística de temperatura es ortogonal. Esto no siempre es así, algunos sistemasy autores utilizan particiones no ortogonales.

Sin embargo, en la mayoría de sistemas se adopta la partición ortogonal.

Fase de Equiparación

Los valores difusos obtenidos en la fase de fuzificación son equiparados con losantecedentes de las reglas difusas que se encuentran en la base de conocimiento.Esto trae como consecuencia la activación solamente de aquellas reglas en lasque todos los conjuntos difusos del antecedente sean no nulos frente a los valoresdifusos. Por ejemplo, si tenemos una base con cinco reglas,

R1: SI velocidad es alta y temperatura es alta ENTONCES...R2: SI velocidad es media y temperatura es alta ENTONCES...R3: SI velocidad es baja y temperatura es alta ENTONCES...R4: SI velocidad es alta y temperatura es media ENTONCES...R5: SI velocidad es media y temperatura es baja ENTONCES...

Y tenemos la variable lingüística temperatura con la primera partición. Entoncesun valor de variable temperatura t=250°C, tras la fuzificación sabemos que seconvierte en “0.5 baja” y “0.5 media” y “0 alta”, lo que implica una activación de lasreglas R4 y R5 (que se convierte en una especie de conjuntos conflicto) y unadesactivación de las reglas R1, R2 y R3 porque corresponden a temperaturas altas.

Algo similar habría que hacer con la variable lingüística velocidad y con cualquierotra que intervenga, de tal manera que podríamos llegar a tener un conjunto vacíode reglas activadas.

Luego que se ha identificado el conjunto de reglas activas, y, dado que las reglasposeen un conectivo “y”, es necesario utilizar alguna norma triangular paragenerar un único valor por cada regla activada, respecto a los valores de losantecedentes de las reglas. Es decir, para el antecedente de cada regla activadaRi, obtenemos un valor Ai.

Page 179: Inteligencia Artificial y Sistemas Expertos

179

Luego se realiza un producto cartesiano de los Ai con los Bi, siendo Bi elconsecuente de Ri.

Finalmente se hace una composición de todos los valores Ai × Bi, dependiendo dela norma triangular utilizada. Así por ejemplo, si utilizamos la t-normaa*b=mín{a,b}, la composición final será supremo-mínimo, lo que significa tomar elsupremo de los valores mínimos Ai × Bi. Si se utiliza la t-norma a*b= a•b, lacomposición final será supremo-producto, lo que significa tomar el supremo de losproductos Ai × Bi.

Fase De Defuzificación

La defuzificación, traducida en algunos casos como desemborronado, es la faseencargada de entregar al proceso de acciones de control o decisión deterministasa partir de salidas difusas resultantes de la composición de reglas.

Al aplicar en la fase anterior la composición supremo-mínimo o supremo-producto,o en general supremo-t-norma, el resultado es una distribución posibilística (unadistribución de posibilidad sobre un universo U puede ser usada para definir uncorrespondiente subconjunto difuso de U, o viceversa. Es decir, dado unsubconjunto difuso A sobre el universo U esto implica la existencia de unadistribución de posibilidad correspondiente a µA(x)).

La estrategia de defuzificación tiene como objetivo que la acción o decisión decontrol determinista generada sea la que mejor represente a la distribuciónposibilística.

Existen varias estrategias o métodos para lograr fidelidad en la representación dela distribución posibilística.

Las estrategias más usadas son: criterio del máximo (CM), media del máximo(MDM) y el centro del área (CDA).

El criterio de máximo da lugar a salidas que corresponden a los valores de x enque las distribuciones posibilísticas alcancen su valor máximo, por vez primera ensentido de los valores de x crecientes.

La estrategia de la media del máximo genera como acciones o decisiones, a losvalores de x que representen la media de todas la acciones o decisiones, de unadistribución dada, cuyas pertenencias alcancen el máximo. La acción o decisiónpuede expresarse como:

∑=

=l

j

jl

xx1

0

Page 180: Inteligencia Artificial y Sistemas Expertos

180

donde xj es el valor de soporte para el que la función de pertenencia µA×B(xj)alcance su valor máximo y l es el número de tales valores de soporte.

El método del centro de área o centro geométrico, también conocido como centrode masa o centro de gravedad, se basa en calcular, como salida determinista elvalor de la variable x=x0 tal que divida en partes iguales el área bajo la curva dedistribución posibilística resultante de la composición de las reglas.Analíticamente (Figura 7.18), sea y=f(x) una curva

Figura 7.18

El centro geométrico del rectángulo genérico es (x,1/2y) y el área bajo la curvavienen dados por,

∫=b

adxxf )(área

Los momentos de inercia respecto a los ejes son,

( )[ ]∫∫ ==b

a

b

ax dxxfydxyM 2

21.

21

( )∫∫ ==b

a

b

ay dxxxfydxxM .

El centro geométrico del área bajo la curva es el punto ( )yx, , donde,

áreayMx = , área

xMy =

En nuestro caso, la curva es de la forma y=µA(x), en donde A es un subconjuntodifuso de un universo U y x es una variable sobre U. También en nuestro caso no

a

y

xb

(x, 1/2y)

Page 181: Inteligencia Artificial y Sistemas Expertos

181

nos interesa calcular y , sino únicamente x , por lo tanto, nuestro centrogeométrico (valor defuzificado) viene dado por,

( )

( ) áreay

b

aA

b

aA M

dxx

dxxxx ==

µ

µ

En nuestro caso, las curvas suelen ser muchas veces poligonales, especialmentetriangulares y trapezoidales. En cuyo caso podemos descomponer la curva envarios trayectos y para cada uno de ellos calcular su correspondiente áreacircunscrita y sus respectivos momentos.

Sea el área plana de una figura poligonal determinada por una curva, y=µA(x).

Sea Ai cada área correspondiente a un fragmento de la curva total y determinadopor la función,

( )xA

y ii

µ=

Entonces ( )

∫=i

i

b

a

ii

dxxA

que expresamos simplemente como, ( )∫= dxxA ii µ .

Sean iyM los respectivos momentos dados por,

( )∫ ⋅=

i

i

i

b

a

iy dx

xA

xMµ

que

expresaremos simplemente como ( )∫ ⋅=i

i

i

b

aiy dxxxM µ .

Entonces el centro geométrico viene dado por,

∑∑

=

ii

iy

A

Mx

i

Nuevamente, no nos interesa calcular y .

Se han hecho estudios comparativos de las tres estrategias (CM, MDM, CDA) y engeneral se considera que da mejores resultados el cálculo del centro de área.

Page 182: Inteligencia Artificial y Sistemas Expertos

182

Consideremos como ejemplo un sistema de razonamiento difuso, que clasifica losprofesores de una universidad en categorías y les asigna un puntaje. Lasvariables lingüísticas que tendremos en cuenta son: producción intelectual (P),Experiencia docente (E), Títulos universitarios (T) y la variable de decisión quedenominaremos Clasificación (C).

El universo de la variable producción intelectual es un rango de valores quecomienza en cero, y que corresponde al puntaje asignado por el comité decredenciales a la producción intelectual del profesor.

El universo de la variable experiencia docente es un rango de valores quecomienza en cero, y que corresponde al número de años de experiencia docentedel profesor.

El universo de la variable Títulos Universitarios es un rango de valores quecomienza en 400 y termina en 1000, y que corresponde al puntaje asignado por elcomité de credenciales a los títulos universitarios del profesor, dependiendo de siestos son títulos profesionales, de especialización, de maestría, o de doctorado.

El universo de la variable clasificación es un rango de valores que comienza en400 y termina en 2.050 y que corresponde al puntaje final de clasificaciónasignado al profesor.

Las funciones de pertenencia de las variables lingüísticas, con las respectivasparticiones del universo del discurso (Figuras 7.19, 7.20, 7.21, 7.22), vienen dadaspor:

Producción intelectual (P)

Figura 7.19

ALTAMEDIABAJA

µ(P)

Puntos deproducciónintelectual

0.8

1

0.2

0.4

0

0.6

0 4020 1008060 120

Page 183: Inteligencia Artificial y Sistemas Expertos

183

Experiencia docente (E)

Figura 7.20

Títulos universitarios (U)

Figura 7.21

Clasificación (C)

Figura 7.22

ALTAMEDIABAJA

µ(E)

Experienciadocente enaños

0.8

1

0.2

0.4

0

0.6

0 4 2 10 8 6 12

0.8

1Asociado

0.2

0.4

0

0.6

400 800 1200 1600

AsistenteAuxiliar

µ(C)

Puntos declasificación2050

850 1250 1650

Titular

ALTOMEDIOBAJO

µ(T)

Puntos portítulosuniversitarios

0.8

1

0.2

0.4

0

0.6

400 600500 900800700 1000

Page 184: Inteligencia Artificial y Sistemas Expertos

184

La base de conocimiento puede contener hasta 27 reglas, las supondremosposibles todas.

R1: SI T=bajo y E=baja y P=baja ENTONCES C=Auxiliar.R2: SI T=bajo y E=baja y P=media ENTONCES C=Auxiliar.R3: SI T=bajo y E=media y P=baja ENTONCES C=Auxiliar.R4: SI T=medio y E=baja y P=baja ENTONCES C=Auxiliar.R5: SI T=medio y E=media y P=media ENTONCES C=Asistente.R6: SI T=medio y E=media y P=baja ENTONCES C=Asistente.R7: SI T=medio y E=baja y P=media ENTONCES C=Asistente.R8: SI T=bajo y E=media y P=media ENTONCES C=Asistente.R9: SI T=alto y E=baja y P=baja ENTONCES C=Asistente.R10: SI T=bajo y E=alta y P=baja ENTONCES C=Asistente.R11: SI T=bajo y E=baja y P=alta ENTONCES C=Asistente.R12: SI T=alto y E=media y P=media ENTONCES C=Asociado.R13: SI T=medio y E=alta y P=media ENTONCES C=Asociado.R14: SI T=medio y E=media y P=alta ENTONCES C=Asociado.R15: SI T=alto y E=baja y P=media ENTONCES C=Asociado.R16: SI T=bajo y E=alta y P=media ENTONCES C=Asociado.R17: SI T=medio y E=baja y P=alta ENTONCES C=Asociado.R18: SI T=bajo y E=media y P=alta ENTONCES C=Asociado.R19: SI T=alto y E=media y P=baja ENTONCES C=Asistente.R20: SI T=medio y E=alta y P=baja ENTONCES C=Asistente.R21: SI T=bajo y E=alta y P=alta ENTONCES C=Asociado.R22: SI T=alto y E=baja y P=alta ENTONCES C= Asociado.R23: SI T=alto y E=alta y P=baja ENTONCES C=Asistente.R24: SI T=alto y E=alta y P=media ENTONCES C=Asociado.R25: SI T=alto y E=media y P=alta ENTONCES C=Titular.R26: SI T=medio y E=alta y P=alta ENTONCES C=Titular.R27: SI T=alto y E=alta y P=alta ENTONCES C=Titular.

Consideremos el caso de un profesor al que el comité de credenciales le asignó120 puntos por su producción intelectual, además tiene una experiencia docentede 9 años, y una asignación de 800 puntos por títulos universitarios.

Los valores no difusos de entrada son

P=120 puntos, E=9 años, T=800 puntos.

Después del proceso de fuzificación obtenemos,

P=0 baja, 0 media, 1 alta.E=0 baja, 0.75 media, 0.25 alta.

Page 185: Inteligencia Artificial y Sistemas Expertos

185

T=0 bajo, 0 medio, 1 alto.

Las reglas activables son R25 y R27A25=mín{1,0.75,1} =0.75A27=mín{1,0.25,1} =0.25

Si en lugar de intersección, usamos el producto como t-norma (Figuras 7.23, 7.24),en este caso en particular, obtendríamos los mismos resultados.B25 = B27 = Titular

A25 × B25 es,

Figura 7.23

A27 × B27 es,

Figura 7.24

La composición supremo-mínimo (Figura 7.25) es:

0.81

0.2

0.4

0

0.6

1600 20501650

Titular

0.75 0.75

0.81

0.2

0.4

0

0.6

1600 20501650

Titular

0.25

Page 186: Inteligencia Artificial y Sistemas Expertos

186

Figura 7.25

Debemos calcular el área del trapecio A=A1+ A2+ A3

3005.12375.15371650

205075.075.0

2050

16501 =−=== ∫ xdxA

que es equivalente a (2050-1650)×0.75.

37.91.12285.12375.1637

165075.075.0

1650

5.16372 =−=== ∫ xdxA

Que es equivalente a (1650-1637.5)×0.75

( ) 06.142

75.016005.16373 =×−=A

Que es equivalente a; ( )∫ −=5.1637

160050

13 32 dxxA

43.323321 =++=∑ AAAAi

0.81

0.2

0.4

0

0.6

1600 20501650

Distribuciónposibiliística de salida

0.75

A1

A2

A3

Page 187: Inteligencia Artificial y Sistemas Expertos

187

5550001650

2050375.075.0 2

2050

16501 === ∫ xxdxM

157.154105.1637

1600375.075.0 2

1600

5.16372 === ∫ xxdxM

( ) 34.228511600

5.163716

150132 23

5.1637

160050

13 =−=−= ∫ xxdxxM

497.593261321 =++=∑ MMMMi

28.183443.323

497.593261 ==x que es el puntaje asignado al profesor.

7.2 Factores de Certeza

Un factor de certeza (FC) es un valor numérico que expresa el grado en quedebemos aceptar una conclusión determinada, basados en un conjunto deevidencias.

Estos factores de certeza se utilizaron inicialmente en el sistema experto Mycin,pero posteriormente se han hecho muy populares en numerosos sistemas. Estosfactores gozan de gran aceptación por la sencillez de su uso, a pesar de ser unrecurso poco formal, aunque avalado matemáticamente en tiempo posterior a suaparición, por los trabajos en la teoría de la evidencia de Dempster y Shaffer.

Los factores de certeza nos permiten cuantificar de una manera sencilla, el gradode creencia o no en una conclusión dada, a partir del soporte de un conjunto deevidencias.

Existen dos escalas de valoración, que son las más utilizadas:

La primera escala corresponde al intervalo [0,1], y aunque aparecen marcadosalgunos valores de referencia la escala no es discreta, sino continua. En esa

0 0.20.1 0.50.40.3 0.6 0.90.80.7 1

-1 -0.6-0.8 0-0.2-0.4 +0.2 +0.8+0.6+0.4 +1

Page 188: Inteligencia Artificial y Sistemas Expertos

188

escala un factor de certeza de 1, significa que a partir de las evidencias estamoscompletamente seguros en que se da la conclusión. Por el contrario, un factor decerteza de 0, significa que a partir de las evidencias estamos completamenteseguros en que no se da la conclusión. Por otra parte, los valores intermediosentre estos dos extremos, señalan diferentes grados de evidencia en favor de laconclusión. Así por ejemplo, factores de certeza menores que 0.5, se consideranpoca evidencia en favor de la conclusión (en muchos sistemas se desechan reglascon esos factores de certeza) y factores de certeza entre 0.5 y 0.75 se consideranevidencia media en favor de la conclusión, mientras que factores de certezamayores que 0.75 se consideran evidencia alta en favor de la conclusión.

La segunda escala corresponde al intervalo [-1,+1], la cual posee dos semi-ejescontinuos con origen en cero. El semi-eje positivo señala grados en favor de laconclusión y se aplica lo dicho para la primera escala (salvo para el cero). Elsemi-eje negativo señala grados en contra de la conclusión, así por ejemplo unfactor de certeza de –1, indica una certeza total en que la conclusión es contraria ala propuesta.

Valores intermedios del semi-eje negativo, indican grados de certeza contrarios ala conclusión. El cero es una valoración neutra, que señala que la evidencia no essuficiente o no es aplicable, para concluir en favor o en contra de la conclusión.

Hay que tener en cuenta que no sólo hay un factor de certeza global de la regla,asociado a la conclusión de la misma, sino que también las condiciones de lapremisa de una regla se pueden ver satisfechas de una manera parcial, indicadapor un factor de fiabilidad, generado por incertidumbre de los hechos externos alsistema. Esto implica que es necesario que el motor de inferencia disponga de unmecanismo de cálculo del coeficiente de certeza de una conclusión, en función delos coeficientes de las condiciones de la premisa y/o del coeficiente general de laregla de producción correspondiente. Además debe considerar la posibilidad deacumulación de evidencia cuando varias reglas concluyen sobre un mismo hecho.

El manejo de todas estas situaciones es el siguiente:1. Combinación de certezas para una sola regla que concluye en un hecho:

a. Si la conclusión no tiene coeficiente de certeza: si no aparece un factorde certeza explícito en una regla, se asume por defecto que es 1.Entonces el coeficiente de la conclusión es igual al mínimo de loscoeficientes de las condiciones de la premisa. Ejemplo,

Condición-1 y Condición-2 ⇒ Conclusión(FC=0.5) (FC=0.3) (FC=0.3)

b. Si la conclusión tiene coeficiente de certeza: El coeficiente de laconclusión es igual al mínimo de los coeficientes de las premisas,

Page 189: Inteligencia Artificial y Sistemas Expertos

189

multiplicado por el coeficiente de la regla, Ejemplo, supongamos que FCde la regla es 0.5 y FC de condición-1 es 0.5 y FC de condición-2 es 0.3.Entonces el factor de certeza de la conclusión es mínimo{0.5,0.3}*0.5=0.15

Condición-1 y Condición-2 ⇒ Conclusión (FC=0.5)(FC=0.5) (FC=0.3) (FC=0.15)

2. Acumulación de certeza cuando varias reglas concluyen sobre un mismohecho:

a. Si FC1 y FC2 son ambos positivos: sea FC1 el coeficiente de certeza dela conclusión cuando lo es de Regla1, FC2 el coeficiente de certeza dela conclusión cuando lo es de Regla2; entonces el factor de certezaacumulado viene dado por

FC(acumulado)= (FC1+FC2) - (FC1*FC2)

Por ejemplo si la regla R1 concluye hecho-3 con coeficiente FC1=0.3y la regla R2 concluye hecho-3 con coeficiente FC2=0.2, se produceuna acumulación de la certeza sobre ese hecho-3 (va apareciendocomo “más cierto” cada vez). El factor acumulado que se atribuye alhecho-3 será de 0.44=0.5-0.06.

Esta regla se puede justificar de un modo gráfico diciendo que sitenemos una certeza de 0.3 para la conclusión (a partir de la regla1)y se nos ofrece una plausibilidad adicional (a partir de la regla2) de0.2, se incrementa la certeza que teníamos “aproximándola” hacia lacerteza absoluta (FC=1) en un 20% de la cantidad que le “faltaba”para llegar a 1 (en este caso faltaba 0.7 y por lo tanto se produce unincremento de 0.14)

0 10.3 Certeza absoluta

Falta 0.7 hasta 1

0.140.44

Certeza adicionalaportada por R2

Certeza de R1

Page 190: Inteligencia Artificial y Sistemas Expertos

190

b. Si FC1 y FC2 son ambos negativos: similar al caso anterior, con ladiferencia de que ambos factores de certeza son negativos. En estecaso, el factor de certeza acumulado viene dado por,

FC(acumulado)= (FC1+FC2) + (FC1*FC2)

c. Si FC1 y FC2 son de diferente signo: sean |FC1| y |FC2|, los valoresabsolutos de los factores de certeza FC1 y FC2 respectivamente. Eneste caso, el factor de certeza acumulado viene dado por,

)FC2,FC1mínimo(1FC2FC1)(acumulado FC

−+=

3. Más de una conclusión. Si se necesita calcular factores acumulados sobre labase de combinar conclusiones separadas en vez de condiciones separadas:

a. Conjunción de conclusiones : viene dada por,

FC[conclusión1 y conclusión2] = mínimo (FC(conclusión1),FC(conclusión2))

b. Disyunción de conclusiones: viene dada por,

FC[conclusión1 ó conclusión2] = máximo (FC(conclusión1),FC(conclusión2))

7.3 Razonamiento No Monotónico

Mediante el empleo de la lógica formal, la verdad se puede dar o se puede deducircon igual seguridad. Una vez establecida la verdad, siempre es verdadera. Másaún, la verdad deducida nunca genera contradicción alguna, siempre que ningunacontradicción exista en los axiomas.

En razón de estas características, la lógica de predicados es un sistema derazonamiento monotónico. Por “monotónico” se entiende “moverse solamente enuna dirección”, lo que quiere decir que la lógica de predicados es un sistema quese mueve en una sola dirección, aquella en la que continuamente se agrega laverdad.

En un sistema de razonamiento monotónico el número de hechos conocidos quesean verdaderos en cualquier momento siempre es creciente, nunca decreciente.

Page 191: Inteligencia Artificial y Sistemas Expertos

191

Estas características limitan el alcance hasta el cual se pueden aplicar lossistemas de lógica pura en el mundo real. Los procesos de razonamiento que sehan de aplicar a problemas prácticos no estructurados, deben tener en cuenta porlo menos lo siguiente:

• La información disponible con frecuencia está incompleta, por lo menos encualquier punto de decisión dado.

• Las condiciones cambian en el tiempo.

Al tratar con estas dificultades, los solucionadores humanos con frecuenciaaumentan la verdad absoluta con suposiciones que están sujetas al cambio, dadamayor información. Estas creencias tentativas se basan generalmente ensupuestos que se hacen a la luz de la ausencia de evidencias contrarias.

Un sistema de razonamiento no monotónico incluye por lo general un conjunto depremisas que se mantienen como verdades inmutables. Adicionalmente a laspremisas, el sistema conserva una colección de creencias tentativas: porciones deconocimientos que son explícitamente reconocidos como posiblemente incorrectosporque son supuestos o creencias deducidas de suposiciones. Para cada una delas creencias tentativas el sistema mantiene un registro de dependencia que siguela trayectoria de la creencia versus su justificación: los hechos, creencias, einferencias que fueron empleadas para generar las creencias tentativas.

El incremento en potencia y flexibilidad del razonamiento por omisión hace de lossistemas de razonamiento no monotónico, sistemas especialmente valiosos paralos dominios de solución de problemas como planeación y diseño, que requierenun número grande de supuestos tentativos basados en información parcial.

Por ejemplo, consideremos una base de conocimiento extremadamente simple,que consta únicamente de un hecho y una regla:

H1: Piolín es un canario.R1: Todos los canarios vuelan.

A partir de ese hecho y de la regla, se infiere un nuevo hecho

H2: Piolín vuela.

Ahora, supongamos que agregamos un nuevo hecho a la base de conocimiento,

H3: Piolín se murió.

Al agregar H3 a la base de conocimiento, H2 debería de desaparecer, porque yaPiolín no vuela (volaba), es decir H2 ya no es verdadero, sin embargo en los

Page 192: Inteligencia Artificial y Sistemas Expertos

192

sistemas monotónicos se mantiene, porque en esos sistemas la base de hechosnunca decrece, siempre es monotónica creciente.

7.4 Ejercicios

1. Considere un proceso cuyo estado está caracterizado por las variableslingüísticas presión y temperatura y una variable de acción representadapor la apertura de una válvula de control.

El universo de la variable presión es el rango [0,10] Horse Power (HP),mientras que el universo de la variable temperatura es el rango [50,200] gradoscentígrados. Para la válvula de control, la apertura y cierre en porcentaje conrango [-100,+100].

La partición de los universos de las variables lingüísticas, viene dado por:

0.8

1ALTA

0.2

0.4

0

0.6

50 10075 175150125 200

MEDIABAJA

µt

t [°C]

0.8

1ALTA

0.2

0.4

0

0.6

MEDIABAJA

µP

P[hp]0 21 543 6 987 10

Page 193: Inteligencia Artificial y Sistemas Expertos

193

Considera un estado del proceso representado por, P=7hp, t=150°C

Halle la acción de control necesaria, utilizando una composición supremo-mínimo.

2. Resuelva el mismo problema anterior, pero utilizando una composiciónsupremo-producto.

3. Dada la regla: SI (Existe un problema en la fuente de energía) y (el puertode la CPU ha sido cerrado) y (el voltaje de entrada a la CPU es menor a 4.5voltios) ENTONCES (Existe una evidencia (0.9) que sugiere que la fuentede energía ha fallado) y dados los hechos:

H1: Existe un problema en la fuente de energía (0.72)H2: El puerto de la CPU se ha cerrado (0.4)H3: El voltaje de entrada en la CPU es 3.8 voltios

¿Cuál será el factor de certeza de la conclusión?

4. En una prueba de diagnóstico para automóviles, se pueden lograr lassiguientes conclusiones, cada una con los factores de certeza asociados:

C1: El problema requiere atención inmediata (0.8)C2: Existe un problema en el sistema eléctrico (0.6)C3: Existe un cortocircuito en el sistema eléctrico (0.4)C4: Existe una falla en el computador de control de flujo (0.2)

Halle el factor de certeza de que exista un problema en el sistema eléctrico,que requiera atención inmediata, y que el problema es un corto circuito, o unafalla en el computador de control de flujo.

5. ¿Es un hecho o se trata de una creencia el que...

a [%]

0.8

1

Abrir

0.2

0.4

0

0.6

-100% 0 +100%

No operarCerrar

µa

Page 194: Inteligencia Artificial y Sistemas Expertos

194

a. Los viajes de vacaciones con el carro propio, proporcionan másreposo y tranquilidad que los efectuados a base de otros medios detransporte?

b. Las vacaciones de semana santa son las más cortas?c. Son las vacaciones tanto más bonitas cuanto más se viaja?d. Los preparativos de la vacaciones propiamente no se pueden

considerar perfectamente vacaciones?e. Las amistades hechas durante las vacaciones no duran más que lo

que duren éstas?

Page 195: Inteligencia Artificial y Sistemas Expertos

195

BIBLIOGRAFÍA

[1] Arteche J. ¿Máquinas más expertas que los hombres? Enciclopedia prácticade la informática aplicada No. 40, Madrid 1986.

[2] Briot M., Arnaud R. La visión de los Robots. Mundo Científico, No. 53,1985.

[3] Casacuberta F., Vidal E. Reconocimiento Automático del Habla.,Marcombo Editores, 1987.

[4] Cuena J. Inteligencia Artificial: Sistemas Expertos. Alianza Informática,Madrid, 1986.

[5] Charniak, Mcdermott. Introduction to Artificial Intelligence. Addison-Wesley,1986.

[6] Frenzel L. Artificial Intelligence and Expert Systems Fundamentals.Heathkit Educational Systems, 1987.

[7] Giannesini, Kanoui, Pasero, Caneghem. PROLOG. Adisson-Wesley, 1989.

[8] Habert R. Seminario sobre Introducción al Control Fuzzy. Barrancabermeja,1995.

[9] Kasabov N. Foundations of Neuronal Networks, Fuzzy Systems, andKnowledge Engineering. MIT Press, 1998.

[10] Kowalski R. Lógica, Programación e Inteligencia Artificial. Editorial Díaz deSantos, 1986.

[11] Mariani J. El reconocimiento de la palabra. Mundo Científico No. 53,1985.

[12] Nilsson N. J. Principles of Artificial Intelligence. Springer Verlag, 1981.

[13] Pazos J. Inteligencia Artificial. Editorial Paraninfo, Madrid, 1987.

[14] Rich E., Knight K. Inteligencia Artificial. Editorial McGraw-Hill, 1994.

[15] Rolston D. Principios de Inteligencia Artificial y Sistemas Expertos. McGraw-Hill, 1990.

Page 196: Inteligencia Artificial y Sistemas Expertos

196

[16] Russell S., Norving P. Inteligencia Artificial – Un enfoque moderno. Prentice-Hall, 1996.

[17] Sánchez J.P., Beltrán. Sistemas Expertos – Una metodología deProgramación. Macrobit – Rama, México, 1990.

[18] Spector L., et al. Advances in Genetic Programming. MIT Press, 1999.

[19] Stan F. Artificial Minds. MIT Press, 1997.

[20] Staugaard A. Robotic and AI. Prentice-Hall, 1987.

[21] Thomas D., et al. Artificial Intelligence: Theory and Practice. Addison-Wesley, 1995.

[22] Winston P. Inteligencia Artificial (Tercera Edición), Addison-WesleyIberoamericana, 1994.

[23] Zimmermann H.J. Fuzzy Sets, Decision Making and Expert Systems.Kluwer Academic Publishers, 1987.

Recursos de Inteligencia Artificial en Linux:http:// www.linux.org/apps/all/scientific/AI.html