sílabo desarrollado

Anuncio
ISI 504 Inteligencia Artificial
UNIVERSIDAD DEL AZUAY
FACULTAD DE CIENCIAS DE LA ADMINISTRACIÓN
ESCUELA DE INGENIERÍA DE SISTEMAS
A) DATOS GENERALES
Materia:
Nivel:
5
Número de créditos:
Prerrequisito:
Periodo Lectivo:
Profesor:
ISI 504 Inteligencia Artificial
4
ISI 405 Programación Declarativa
Marzo 2006 a Julio 2006
Ing. Pablo Pintado
[email protected]
097031452
B) OBJETIVO GENERAL Y ESPECÍFICOS DE LA MATERIA
Conseguir que el alumno conozca los principales problemas y técnicas
relacionadas con la Inteligencia Artificial y los Sistemas Expertos,
proporcionándole una visión unificada de la misma.
C) CONTENIDO DE LA MATERIA
Introducción
Concepciones de la Inteligencia Artificial (IA)
Áreas de la Inteligencia Artificial
Juegos Inteligentes (I trabajo práctico - programación)
Min-Max
Estrategia de Poda
Procesamiento de lenguaje natural
Niveles de procesamiento de lenguaje natural
Arquitectura
Dificultades
Aplicaciones
Robótica
Leyes
Morfología
Clasificación
Categorías
Grados de libertad
Sensores y efectores
Formas de comunicarse con el robot
Metodología del diseño de un Robot
Aplicaciones
Videos
Redes Neuronales (I trabajo práctico - programación)
Red neuronal artificial
1
ISI 504 Inteligencia Artificial
Entrenamiento
Red Perceptron
Red Adaline
Red Hebb
Red Hopfield
Algoritmos Genéticos
Lógica borrosa (fuzzy logic)
Diseño de un algoritmo genético (GA)
Operadores genéticos
SMA (MAS) Sistemas multiagentes
Agentes Inteligentes
Tipos de Agentes
Ambientes
Características de agentes
Clasificación de agentes
Características de los SMA
Estructura de los SMA
Pilares de los SMA
Estrategia para representar el Conocimiento
Redes semánticas especializadas
Ternas objeto-atributo-valor
Reglas
Marcos
Expresiones lógicas
Lógica proporcional
Lógica de predicados especializadas
Sistemas Expertos
Concepto Sistemas Expertos
Componentes (subsistemas) de un Sistemas Experto
Experto Humano
Ingeniero del Conocimiento
Subsistema del control de la coherencia
Subsistema de Adquisición del conocimiento
Conocimiento abstracto
Conocimiento concreto
Base del Conocimiento
La memoria de trabajo
El motor de inferencia
Conclusiones simples
Conclusiones compuestas
Mecanismo resolución
Técnicas de razonamiento incierto
Estrategia de encadenamientos
Subsistema de demanda de información
Interfase de Usuario
Subsistema de ejecución de órdenes
Subsistema de explicación
Subsistema de propagación de la incertidumbre
Medidas de Incertidumbre
2
ISI 504 Inteligencia Artificial
Subsistema de aprendizaje
Subsistema de experiencias
Funciones del Sistema Experto
Etapas de desarrollo de un Sistema Experto
Tipos de Sistemas Expertos
Algoritmo de sistema experto basado en reglas (II Trabajo
practico - programación)
Solución de problemas mediante búsqueda
Definición del problema y soluciones
Estructura de datos para árboles de búsqueda
Búsquedas sin respaldo de información (ciega) (III Trabajo
practico - programación)
Búsqueda de costo uniforme
Búsqueda limitada por profundidad
Búsqueda por profundización interactiva
Búsqueda bidireccional
Búsqueda con respaldo de información (III Trabajo practico programación)
Búsqueda heurística avara
Búsqueda heurística admisible
Búsqueda por ascenso de cima
Endurecimiento simulado
Sistemas expertos modelos
Sistemas de diagnostico
Sistemas aproximaciones asociativa y causal
Sistemas de reducción de grandes espacios de búsqueda mediante
podas.
D.- METODOLOGÍA
Se desarrollará el temario planteado en el transcurso de las clases de una
forma dinámica insertando la participación del estudiante, conjuntamente con la
expresión de experiencias reales tanto por parte del Profesor como del
estudiante. Se tomaran lecciones orales al inicio de cada clase sobre la clase
anterior, las mismas que serán evaluadas como parte del aprovechamiento. Se
desarrollaran trabajos, los mismos que serán sustentados en clases o en el
Laboratorio de Cómputo.
Adicionalmente se tomarán al menos tres pruebas sobre el contenido de la
materia, las mismas que serán avisadas con anticipación de una semana. Y
finalmente se tomara un examen final.
E.- EVALUACIÓN
1 Aporte
Lecciones
Trabajos
Pruebas
Total 1 Aporte
1 puntos
6 puntos
3 puntos
-------10 puntos
3
ISI 504 Inteligencia Artificial
2 Aporte
Lecciones
Trabajo
Pruebas
Total 2 Aporte
3 Aporte
Lecciones
Trabajo
Pruebas
Total 3 Aporte
Total Aporte del ciclo
Examen Final
Total general del ciclo
1 puntos
5 puntos
4 puntos
-------10 puntos
1 puntos
5 puntos
4 puntos
-------10 puntos
30 puntos
20 puntos
------50 puntos
F) BIBLIOGRAFÍA





INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, Stuart Russell,
Peter Norving,
SISTEMAS EXPERTOS, Nebendahl Dieter
SISTEMAS EXPERTOS, PRINCIPIOS Y PROGRAMACION, Giarratono
Joseph, Riley Gary, Internacional Thomson Editores
AI AND EXPERT SYSTEMS, Robert levine, McGraw-Hill
REDES NEURONALES ALGORITMOS, APLICACIONES Y TECNICAS
DE PROGRAMACION, James A Freeman, David M Skapura,
SMA o MAS (sistemas multiagentes conceptos) – Universidad de los Andes de
Colombia, http://agamenon.uniandes.edu.co/yubarta/agentes/agentes2.htm
SMA o MAS (sistemas multiagentes) – Universidad Alberta (links a otras
universidades ciencia de la computación) – aprendizaje Bayesiano, redes de
conocimiento, http://www.cs.ualberta.ca
Programas de procesamiento de lenguaje natural,
http://www.zonagratuita.com/_vti_bin/shtml.exe/buscador.htm
ga (algoritmos genéticos) conceptos, programa en visual basic,
http://www.geocities.com/siliconValley/Byte/4713/ga/E-GA8.htm
robótica, http://www.robotica.org
robótica Universidad de Leida.incluye matlab,
http://www.micropic.arrakis.es/marcos.htm
http://robotics.stanford.edu
4
ISI 504 Inteligencia Artificial
http://www.stanford.edu/
inteligencia artificial, redes neuronales, procesamiento de lenguaje natural,
http://csone.kaist.ac.kr/~chopin/bookmark.htm
DESARROLLO DEL TEMARIO
Introducción
La Inteligencia al ser humano le permite tener la habilidad de:
 Tener actitudes mentales (creer, deseo, intención)
 Aprender (habilidad de adquirir nuevos conocimientos)
 Resolver problemas (habilidad de romper problemas complejos en pequeños)
 Comprender
 Planificación y predicción de consecuencias por acciones contempladas
 Conocer sus limitaciones de conocimiento y habilidades
 Deducir diferencias entre situaciones aparentemente similares
 Ser original (adquirir sus nuevas propias ideas y conceptos)
 Generalizar (encontrar situaciones comunes de situaciones superficialmente
distintas)
 Percibir y modelar el mundo externo
 Comprender y usar los lenguajes y utilitarios de símbolos relacionados.
Inteligencia Artificial: “Es simplemente una vía para crear computadoras
pensando inteligentemente”.
Áreas de la IA
Varias son las áreas entre ellas tenemos:
Juegos Inteligentes
Los programas de juegos han alcanzado gran desarrollo hoy en día, llegando a
ganar a expertos en el tema como es el caso del ajedrez (eje: ID3 genera
programas de ajedrez, MEPHISTO IV: programa de ajedrez)
ANEXO (tres en raya) MIN-MAX (simulación)
MÍN-MAX (SIMULACIÓN)
- Algunos antecedentes para la explicación del método:
o Estado inicial: que incluye la posición inicial en el tablero y una
indicación de a quien le toca jugar
5
ISI 504 Inteligencia Artificial
-
o Operadores: quienes definen que jugadas están permitidas a
un jugador
o Prueba Terminal: que define el termino del juego, es decir, los
estados donde termina el juego
o Utilidad: conocida como función resultado, donde asigna un
valor numérico al resultado obtenido en un juego
Lo que se trata es hacer que MAX encuentre una estrategia que
conduzca a un estado Terminal ganador, independiente de lo que
haga MIN
6
ISI 504 Inteligencia Artificial
grafico pag. 133 (inteligencia artificial)
7
ISI 504 Inteligencia Artificial
donde se observa un árbol de búsqueda parcial del juego del tres en
raya y al final en cada nodo hoja un numero que representa el valor
de utilidad del estado Terminal desde el punto de vista de MAX y
malos para MIN
- de ahí que nace el algoritmo MÍN-MAX que sirve para obtener la
estrategia mas optima para MAX, posee 5 pasos:
o Generación de todo el árbol de juego, completamente hasta
alcanzar los estados terminales
o Aplicación de la función de utilidad a cada estado Terminal y
obtención de su valor respectivo
o Uso de la utilidad de los estados terminales para calcular la
utilidad de los nodos del siguiente nivel superior en el árbol de
búsqueda.
- Es así que si la utilidad que estamos calculando del nivel
superior es cuando le toca jugar a MIN se deberá
escoger o poner la menor utilidad (en referencia que
estamos buscando el algoritmo de MAX) de los nodos
descendientes,
- En cambio, si la utilidad que estamos calculando del
nivel superior es cuando le toca jugar a MAX se deberá
escoger o poner la mayor utilidad (en referencia que
estamos buscando el algoritmo de MAX) de los nodos
descendientes
o Continuación de esta transferencia de utilidad en dirección a la
raíz, una capa a la vez
o Finalmente si los valores transferidos llegan a la parte superior
del árbol, en este sitio MAX elige la jugada que le permita
obtener el valor mas alto, esta decisión se la conoce como
decisión min-max
PODA ALFA-BETA (SIMULACIÓN)
-
-
-
Si se nota en la búsqueda anterior, se debe barrer todos los nodos
del árbol de búsqueda, lo cual es valido para casos de pocos nodos,
pero si el árbol es demasiado grande es recomendable buscar un
algoritmo correcto sin tener que explorar todo, esto se denomina
PODA y específicamente Poda-alfa-beta que se aplica al árbol mínmax estándar
Donde hará la misma jugada pero elimina las ramas que no le
representan alternativas positivas y no influyan en la decisión final
Recuérdese que la búsqueda mín-max es preferente por profundidad,
es decir, que en todo momento es necesario considerar todos los
nodos que están en una sola ruta del árbol
o Sea α el valor mejor opción encontrada hasta entonces en un
punto dentro de la ruta MAX
o β el valor mejor opción encontrada hasta entonces en un
punto dentro de la ruta MIN (valor mas bajo)
8
ISI 504 Inteligencia Artificial
o estos dos valores anteriores irán variando a lo largo de la
búsqueda, en donde se encuentra un subárbol que es peor
valor que α y β y se lo elimina.
Procesamiento de lenguaje natural
Lenguaje Natural “Lenguaje natural es el sistema de comunicación entre el
hombre y el ordenador”
PLN es la área de IA que hace que los ordenadores lean, hablen y entiendan
en lenguaje de las personas. Este tipo de programas denominados “proceso de
lenguaje natural”.
 Facilitar la comunicación hombre-computadora por medio del lenguaje
humano, o lenguaje natural
9
ISI 504 Inteligencia Artificial


producir sistemas informáticos que posibiliten dicha comunicación, por
medio de la voz o del texto
disciplina tan antigua como el uso de las computadoras (años 50), de gran
profundidad, y con aplicaciones tan importantes como la traducción
automática o la búsqueda de información en Internet
Niveles de Procesamiento de Lenguaje Natural
Estos son utilizados para la explicación de la arquitectura de un sistema de PLN.
 Nivel Fonológico: cómo las palabras se relacionan con los sonidos que
representan.
 Nivel Morfológico (léxico): Cómo las palabras se construyen a partir de
unidades de significado mas pequeñas llamadas morfemas.
Ejemplo: Rápida + Mente = Rápidamente.
Sufijo (ando, endo) trabajando
Raíz (ar, ir) salir
Prefijo (in) incomodar.
 Nivel Sintáctico: cómo las palabras pueden unirse para formar oraciones,
mediante reglas gramaticales tenemos:
Frase nominal: FN (nombre), (articulo, nombre), (articulo, nombre,
adjetivo), etc.
Frase Verbal: FV (Verbo), (Verbo, complemento), (verbo, nombre),
(verbo, adverbio, nombre) etc.
 Nivel Semántico: trata del significado de las palabras y de cómo los
significados se unen para dar significado a una oración
Ejemplo: de una oración con artículo, nombre, verbo; se la define reglas por
el orden de las palabras.
ANEXO (análisis gramatical grafico)
 Nivel Pragmático: Cómo las oraciones se usan en distintas situaciones y
de cómo el uso afecta al significado de las oraciones. Se suele reconocer un
subnivel recursivo: discursivo, que trata de cómo el significado de una
oración se ve afectado por las oraciones inmediatamente anteriores.
El problema de la Ambigüedad
 Uno de los grandes problemas del PLN se produce cuando una expresión en
LN posee más de una interpretación.
 Este problema de la ambigüedad se presenta en todos los niveles del
lenguaje, sin excepción. Ejemplo:
 "Juan vio a María, con el telescopio”
 "Juan vio a María con el telescopio”
 Al presentarse en todos los niveles del lenguaje, se tienen que desarrollar
programas (en lenguaje formal) para solucionarlos en cada caso.
Arquitectura de un sistema de PLN
Conocidos los niveles del lenguaje, el siguiente paso es la elaboración de la
arquitectura del sistema de PLN, o sea, como va la computadora a interpretar y
analizar las oraciones que le sean proporcionadas, basándose en el siguiente
esquema:
 El usuario le expresa a la computadora que es lo que desea hacer.
10
ISI 504 Inteligencia Artificial




La computadora analiza las oraciones proporcionadas, en el sentido
morfológico y sintáctico, es decir, si las frases contienen palabras
compuestas por morfemas y si la estructura de las oraciones es correcta.
El siguiente paso, es analizar las oraciones semánticamente, es decir saber
cual es el significado de cada oración, y asignar el significado de estas a
expresiones lógicas (T o F).
Luego se realiza el análisis pragmático de la instrucción, obteniéndose la
expresión final.
Una vez obtenida la expresión final, el siguiente paso es la ejecución de
esta, para obtener así el Resultado y poder proporcionárselo al usuario.
Dificultades en el PLN
 Detección de separación entre las palabras En la lengua hablada, no se
suelen hacer pausas entre palabra y palabra. Mientras que en la lengua
escrita, idiomas como el idioma chino mandarín tampoco tienen
separaciones entre las palabras
 Ambigüedad semántica Cualquier palabra puede tener varios significados, se
selecciona el significado que tiene un mayor sentido dentro del contexto
 Ambigüedad sintáctica La gramática de lenguas naturales tienen
normalmente ambigüedades estructurales, pudiéndose construir distintos
árboles sintácticos. Para escoger el más apropiado, a menudo, hay que
tener en cuenta información semántica y contextual
 Información pragmática Una oración, a menudo, no significa lo que
realmente se está diciendo. Elementos tales como la ironía tienen un papel
importante en la interpretación del mensaje
 Recepción imperfecta de datos Acentos extranjeros, regionalismos o
dificultades en la producción del habla, errores de mecanografiado o
expresiones no gramaticales.
Aplicaciones del PLN
 Traducción automática: la traducción correcta de un lenguaje a otro,
tomando en cuenta lo que se quiere expresar en cada oración, y no solo
palabra por palabra. Ejemplo Babilón,
 Recuperación de la información: Se da una instrucción en LN y el
computador responde lo referente al tema
 Extracción de Información y Resúmenes: Programas que tienen capacidad
de crear un resumen de un documento
 Resolución cooperativa de problemas: Cooperar con los humanos para la
solución de problemas complejos, proporcionando datos e información,
debiendo existir una excelente interactividad
 Tutores inteligentes: Es una aplicación académica, ya que se refiere a la
enseñanza asistida por computadora, con capacidad de evaluar al educando
y tener la capacidad de adaptarse a cada tipo de alumno
 Reconocimiento de Voz: El reconocimiento de voz puede tener dos posibles
usos: para identificar al usuario o para procesar lo que el usuario dicte,
existiendo ya programas comerciales, que son accesibles por la mayoría de
los usuarios, ejemplo: ViaVoice.
11
ISI 504 Inteligencia Artificial
Robótica
El objetivo de esta área es que los ordenadores interaccionen con el mundo
exterior desarrollándoles capacidades sensoriales (SHRDLU robot que puede
mover bloques, hablar y otras funciones mas)
Una maquina puede hacer el trabajo de 100 hombres, pero ninguna maquina
puede hacer el trabajo de un hombre extraordinario.
Robot, un manipulador reprogramable de uso general con sensores externos e
internos que puede realizar diferentes tareas específicas.
La robótica es un área formada por:
 Mecánica: Diseño, Análisis Estático y Dinámico
 Microelectrónica: Transmitir información
 Informática: Programas, coordinación mecánica
 Locomoción y manipulación: ligados con componentes mecánicos
 Percepción: ligada con dispositivos que proveen información
 Razonamiento: seleccionan acciones que deben tomar para realizar una
tarea
 Ambientes Preparados y ambientes no predecibles.
Leyes de la Robótica:
 Primera Ley: Un robot no puede dañar a un humano
 Segunda Ley: Deben obedecer al humano excepto cuando este en contra
de la primera ley
 Tercera Ley: Proteger su existencia siempre y cuando no este en
conflicto con la 1 y la 2 ley.
Morfología del Robot:
12
ISI 504 Inteligencia Artificial
Clasificación de los Robots:
De acuerdo a:
 Generación
o Robots Play-back, regeneran una secuencia de instrucciones
grabadas, ejemplo: robot utilizado para recubrimiento de spray o
soldadura por arco. Estos robots comúnmente tienen un control
de lazo abierto.
13
ISI 504 Inteligencia Artificial
o Robots controlados por sensores, estos tienen un control en
lazo cerrado de movimientos manipulados, y hacen decisiones
basados en datos obtenidos por sensores.
o Robots controlados por visión, donde los robots pueden
manipular un objeto al utilizar información desde un sistema de
visión.
14
ISI 504 Inteligencia Artificial
o Robots controlados adaptablemente, donde los robots
pueden automáticamente reprogramar sus acciones sobre la base
de los datos obtenidos por los sensores.
o Robots con inteligencia artificial, donde los robots utilizan las
técnicas de inteligencia artificial para hacer sus propias decisiones
y resolver problemas.
15
ISI 504 Inteligencia Artificial



A su nivel de inteligencia
o Dispositivos de manejo manual, controlados por una persona.
o Robots de secuencia arreglada.
o Robots de secuencia variable, un operador puede modificar la
secuencia fácilmente.
o Robots regeneradores, el operador humano conduce el robot a
través de la tarea.
o Robots de control numérico, el operador alimenta la
programación del movimiento, hasta que se enseñe manualmente
la tarea.
o Robots inteligentes, los cuales pueden entender e interactuar
con cambios en el medio ambiente.
A su nivel de control
o Nivel de inteligencia artificial, el programa aceptará un
comando como "levantar el producto" y descomponerlo dentro de
una secuencia de comandos de bajo nivel basados en un modelo
estratégico de las tareas.
o Nivel de modo de control, los movimientos del sistema son
modelados, para lo que se incluye la interacción dinámica entre
los diferentes mecanismos, trayectorias planeadas, y los puntos
de asignación seleccionados.
o Niveles de servosistemas, los actuadores controlan los
parámetros de los mecanismos con el uso de una
retroalimentación interna de los datos obtenidos por los sensores,
y la ruta es modificada sobre la base de los datos que se obtienen
de sensores externos. Todas las detecciones de fallas y
mecanismos de corrección son implementadas en este nivel.
A su nivel de lenguaje de programación: La clave para una
aplicación efectiva de los robots, es el desarrollo de lenguajes de alto
nivel. Existen muchos sistemas de programación de robots, aunque la
mayoría del software más avanzado se encuentra en los laboratorios de
investigación
16
ISI 504 Inteligencia Artificial
o Sistemas guiados, en el cual el usuario conduce el robot a
través de los movimientos a ser realizados.
o Sistemas de programación de nivel-robot, en los cuales el
usuario escribe un programa de computadora al especificar el
movimiento y el sensado.
o Sistemas de programación de nivel-tarea, el usuario
especifica la operación por sus acciones sobre los objetos que el
robot manipula.
Categorías de los Robots:
 Cartesiano (horizontal, vertical),

Cilíndrico (rota en un eje),

Esférico Polar(rotación esférica: rotación, angular, lineal),

Brazo Articulado (movilización en todo sentido)
17
ISI 504 Inteligencia Artificial
Grados de libertad:
Es el número y tipo de movimientos del robot

se obtiene observando los movimientos del brazo y de la muñeca
18
ISI 504 Inteligencia Artificial
tanto en el brazo como la muñeca se encuentra la variación de tres
grados de libertad
 en la muñeca pueden existir los siguientes grados:
o giro (hand rotate)
o elevación (wrist flex)
o desviación (wrist rotate)
 en el brazo los grados de libertad dependen de su anatomía o
configuración.
Sensores de Robots:
• Posición y proximidad: Internos o externos.
• Velocidad y aceleración.
• Dimensiones y entornos de objetos
• Sensores de Temperatura, Presión (Presductores), etc.
• Sensores Optoeléctricos: led, fotodiodos, fototransistores
• Galgas Extensiométricas: medir fuerza, material flexible

Sensores de proximidad: inductivos, capacitivos, triangulación
Sensores Eléctricos: Estado de motores de corrientes continuas
Sensores Electromecánicos: tacómetros, transductores de vibración,
sensores de efecto Hall
• Sensores Ultrasónicos.
Efectores:
 dispositivos que producen efectos en el entorno bajo el control del robot
 herramientas para ejecución
 es el “actuador”
Formas de comunicarse con el Robot:
 reconocimiento de palabra discreta y continua, reconocimiento por parte
del robot de cierto grupo de palabras discretas (lenguaje natural)
 enseñar y reproducir(propiocepcion), se lo hace en tres pasos
o se lo dirige lentamente al robot con control manual
o edición y reproducción del movimiento enseñado
o si es correcta la enseñanza se ejecuta a una velocidad apropiada y
de forma repetitiva
 lenguajes de programación de alto nivel, los conocidos son el AL
(Universidad de Stanford) y al AML (IBM).
 Enviando estímulos a los sensores.
Metodología del diseño de un Robot
 El proyecto consta básicamente de cuatro etapas; Etapa de
Investigación, Etapa de Síntesis Informativa, Etapa de Diseño y
Construcción, Etapa de pruebas, calibración y control.
I. Etapa de Investigación
a) Adquisición de Bibliografía.
•
•
•
19
ISI 504 Inteligencia Artificial
b) Búsqueda de las fuentes de información específicas de
aquellos elementos que constituyen el prototipo.
c) Investigación de las variables que intervienen en el
proceso de control del prototipo.
d) Adquisición y estudio del software para el desarrollo e
implementación de los algoritmos de control.
II. Etapa de Síntesis de la Información Se basa en la etapa
anterior y da como resultado una serie de elementos que son
necesarios para el desarrollo de las siguientes etapas de el
proyecto.
III. Etapa de Diseño y Construcción Se aplica toda la
información que se recaba y consulta, y que el diseño del
prototipo requiere para el cumplimiento de los objetivos
planteados anteriormente. En base a estos lineamientos se
construyen las piezas que conforman el prototipo, con el
material y componentes adecuados.
IV. Etapa de Pruebas, Calibración y Control Ésta es la etapa
final, se adoptan las medidas necesarias para alcanzar los
objetivos planteados. Se aplican los algoritmos de control y se
prueban hasta conseguir el resultado esperado.
Para que sirven los Robots:
-
fabricación y manejo de materiales
o en actualidad existen 600.000 robots, de los cuales el 70% están
en USA, Japón y Francia
o industria automotriz, microelectrónica
o presencia en la construcción para mover objetos muy pesados con
precisión y eficiencia
o esquila de ovejas(Australia) (automáticos, percepción sensorial,
retroalimentación táctil)
20
ISI 504 Inteligencia Artificial
-
-
-
Mensajero
o Móviles
o En edificios, hospitales, al fondo de mar
o Sus requerimientos son pedidos a través de terminales de
computo
o Gran disponibilidad
o Confiabilidad
o Monitoreo
Ambiente peligrosos
o Disminución de riesgos para la vida humana
o Mantenimiento rutinario a plantas nucleares
o Eliminación de residuos tóxicos
o Rescate a profundidad
o Exploración minera
o No deberán producir daño a los seres humanos presentes en el
entorno
Tele presencia y Realidad Virtual
o Sitios remotos y/o imaginarios
o Para diversión
o Robots teleoperador para dar solución al desarmado de bombas
o Ingenieros y arquitectos utilizan para mostrar sus proyectos en
detalle
o Médicos especialistas que consultan e intervienen quirúrgicamente
a miles de kilómetros
o Sentido de tacto remoto
21
ISI 504 Inteligencia Artificial
Ampliación de capacidades humanas
o Duplicar extremidades humanas perdidas
o Perros lazarillos
o Visión artificial
o Los brazos biónicos y las articulaciones artificiales. En los Estados
Unidos ya hay 85.000 rodillas mecánicas, 120.000 caderas y
70.000 hombros. Parte de ellos ya cuentan con sistemas robóticos
para su implantación.
o En Israel están perfeccionando un sistema de “retroalimentación
continuo”, proveniente de los sensores implantados en los nervios
del hombro del miembro amputado, que produce una respuesta
inmediata a la comunicación eléctrica de un nervio, en la misma
forma en que se comporta el sistema nervioso. Eso permite que el
brazo biónico (que encierra una mini computadora) funcione
suavemente, casi como uno normal.
Videos
-
22
ISI 504 Inteligencia Artificial
Redes Neuronales
Neurona
-
-
-
El tejido nervioso está constituido por células nerviosas, fibras nerviosas
y la neuroglia,
La célula nerviosa se denomina neurona, las hay neuronas bipolares, con
dos prolongaciones de fibras y multipolares, con numerosas
prolongaciones. Pueden ser neuronas sensoriales, motoras y de
asociación
Se estima que en cada milímetro del cerebro hay cerca de 50.000
neuronas.
El cuerpo de la neurona o Soma contiene el núcleo, el cual se encarga de
todas las actividades metabólicas de la neurona y recibe la información
de otras neuronas vecinas a través de las conexiones sinápticas.
Las dendritas son las conexiones de entrada de la neurona.
El axón es la "salida" de la neurona y se utiliza para enviar impulsos o
señales a otras células nerviosas. que forman sinápsis con el soma o
axones de otras células. Esta unión puede ser "inhibidora" o "excitadora"
según el transmisor que las libere.
La Red Neuronal
-
-
El sistema de neuronas biológicas esta compuesto por neuronas de
entrada (sensores) conectados a una compleja red de neuronas
"calculadoras" (neuronas ocultas), las cuales, a su vez, están conectadas
a las neuronas de salidas que controlan, por ejemplo, los músculos.
Los sensores pueden ser señales de los oídos, ojos, etc. las respuestas
de las neuronas de salida activan los músculos correspondientes.
En el cerebro hay una gigantesca red de neuronas "calculadoras" u
ocultas que realizan la computación necesaria. De esta manera similar,
una red neuronal artificial debe ser compuesta por sensores del tipo
mecánico o eléctrico.
Funcionamiento de las sinapsis
23
ISI 504 Inteligencia Artificial
-
-
-
Cientos de datos fluyen por los nervios hasta cada sinapsis, donde son
procesados. Una vez analizada y tratada la información esta sale ya
transformada por los canales nerviosos
En los seres vivos no pueden permitirse el lujo de la especialización ya
que si algo se rompe otro elemento debe hacerse cargo de la función.
Por eso cada sinapsis es simultáneamente una compuerta Ad, Or, Not
etc.
Una sinapsis suma las tensiones de los impulsos entrantes. Cuando se
sobrepasa un determinado nivel de tensión; el llamado umbral de
indicación; esta se enciende, esto es deja libre el camino para que pasen
los impulsos.
o Si el umbral de indicación de tensión es demasiado bajo, la
sinapsis es como una puerta lógica del tipo Or, pues en tal caso
pocos impulsos bastan para que tenga lugar la conexión.
o En cambio cuando el umbral de indicación es alto, la sinapsis
actúa como una puerta And, ya que en ese caso hace falta que
lleguen la totalidad de los impulsos para que el camino quede
libre.
o También existen conducciones nerviosas que tienen la
particularidad de bloquear el paso apenas llegan los impulsos.
Entonces la sinapsis hace la función de una compuerta inversora.
Esto demuestra la flexible del sistema nervioso.
REDES REURONALES ARTIFICIALES
La Neurona Artificial
-
-
-
Un circuito eléctrico que realiza la suma ponderada de las diferentes
señales que recibe de otras unidades iguales y produzca en la salida un
uno o un cero según el resultado de la suma con relación al umbral o
nivel de disparo,
a función de transferencia para la activación o disparo de la neurona
puede ser:
o de umbral lógico
o de limitación duración
o de función tipo.
Se produce un entrenamiento, cuando se presenta un mismo tipo de
ambiente varias veces y cierto numero de neuronas se activan, esto
produce un refuerzo, la red queda entrenada y con el peso de
conexiones definido. Así, se puede cargar a la neurona con los valores
predeterminados.
24
ISI 504 Inteligencia Artificial
Redes Neuronales Artificiales
25
ISI 504 Inteligencia Artificial
Son construidos imitando el proceso de aprendizaje biológico humano
inteligente, auto modificación, y aprendizaje por creación de inferencias,
proveen un aprendizaje por experiencia dinámica. Funcionan con la
interconexión de neuronas que ejecutan cálculos dando resultados que son
transmitidos a otras neuronas a lo largo de todas las vías. Esos resultados o
señales son igualmente procesados y enviados a otras si los resultados del
proceso lo permiten. Si la entrada esta inhibida es señal negativa y si es exitosa
es valor positivo. Si la suma de valores positivos y negativos superan el
“threshold Level” (Umbral), la neurona puede enviar señal a otras, este proceso
se conoce con el nombre “firing” (encendiendo).
Estructuras de conexión de atrás hacia delante
Hay tres tipos de capas de neuronas: de entrada, ocultas y de salida.
Entre dos capas de neuronas existe una red de pesos de conexión que pueden
ser de los tipos: Hacia delante, hacia atrás, lateral y de retardo.




Conexiones hacia delante: los datos de las neuronas de una capa inferior
son propagadas hacia las neuronas de la capa superior.
Conexiones hacia atrás: llevan los datos de las neuronas de una capar
superior a otras de la capa inferior.
Conexiones laterales: ejemplo es el circuito(winner-takes-all, “el ganador
toma todo” que cumple un papel importante en la elección del ganador.
Conexiones con retardo: se incorporan en las conexiones para
implementar modelos dinámicos y temporales, es decir, modelos que
precisan de memoria.
Entrenamiento
Redes Neuronales Supervisadas y no Supervisadas
26
ISI 504 Inteligencia Artificial
Las redes neuronales se clasifican comúnmente en términos de sus
correspondientes algoritmos o métodos de entrenamiento:
Redes de Pesos Fijos:
- no existe ningún tipo de entrenamiento.
Redes de entrenamiento Supervisado:
-
-
-
modelos de redes más desarrolladas desde el inicio.
Los datos para el entrenamiento están constituidos por varios pares
de patrones de entrenamiento de entrada y de salida.
El hecho de conocer la salida implica que el entrenamiento se
beneficia la supervisión de un maestro.
Dado un nuevo patrón de entrenamiento, por ejemplo, (m+1)-ésimo,
los pesos serán adaptados de la siguiente forma:
Wij(m+1) = Wij(m) + ∆Wij(m)
un diagrama esquemático de un sistema de entrenamiento
supervisado:
tienen 2 fases:
o
o
Fase de Prueba:
 los parámetros de diseño de la red neuronal se han
obtenido a partir de unos patrones representativos de
las entradas que se denominan patrones de
entrenamiento.
 Los resultados pueden ser tanto calculados de una vez
como adaptados iterativamente, según el tipo de red
neuronal, y en función de las ecuaciones dinámicas de
prueba.
 Una vez calculados los pesos de la red, los valores de
las neuronas de la última capa, se comparan con la
salida deseada para determinar la validez del diseño.
Fase de Aprendizaje:
 Aprenden por la actualización o cambio de los pesos
sinápticos que caracterizan a las conexiones.
27
ISI 504 Inteligencia Artificial


-
Los pesos son adaptados de acuerdo a la información
extraída de los patrones de entrenamiento nuevos que
se van presentando.
Normalmente, los pesos óptimos se obtienen
optimizando (minimizando o maximizando) bajo una
función determinada
ejemplos típicos (supervisados) son:
o red perceptron: en la fase de entrenamiento determina
funciones discriminantes, que dictaminan las regiones de
decisión
o red adaline: usa la fórmula de aproximación basada en el
criterio del error cuadrático medio lineal.
 Minimizar E = ½ ∑Mm=1(y(m) – t(m))2
Redes de entrenamiento No Supervisado
- El conjunto de datos de entrenamiento consiste sólo en los patrones
de entrada
- Por lo tanto, la red es entrenada sin el beneficio de un maestro
- La red aprende a adaptarse basada en las experiencias recogidas de
los patrones de entrenamiento anteriores.
- El diagrama esquemático es similar al supervisado sino sin el Maestro
(teacher), pero igual con retroalimentación.
- Ejemplos típicos (no supervisados) son:
o Regla de Aprendizaje de Hebb: consiste en reforzar el peso
que conecta dos nodos que se excitan simultáneamente
o Regla de Aprendizaje Competitiva: si un patrón nuevo se
determina que pertenece a una clase reconocida previamente,
entonces se da la inclusión de este nuevo patrón a esta clase.
Si el patrón de la entrada se determinó que no pertenece a
ninguna de las clases reconocidas anteriormente, entonces la
estructura y los pesos de la red neuronal serán ajustados para
reconocer la nueva clase.
ALGORITMOS GENETICOS
COMO EVOLUCIONA LA VIDA
- 2 hipótesis:
- el azar o random:
- cuantificar la influencia de casualidad en la creación de resultados
inteligentes,
- “se puede decir que una computadora programada para escribir
textos al azar continuamente, terminara, la obra de cualquier autor
conocido con el tiempo”
- la diferencia de los seres vivos es por pura casualidad,
- este patrón manifiesta la elevación o disminución de habilidades sin
un orden preestablecido, sin importar niveles anteriores
28
ISI 504 Inteligencia Artificial
-
plantea un crecimiento exponencial de datos, lo que hace que se no
viable en la practica
- la evolución acumulativa:
- la vida se desarrolla a partir de las mejoras introducidas por la
naturaleza en las generaciones pasadas
- influenciado por las capacidades adquiridas de generación en
generación, se van acumulando,
- se toma en cuenta que existe la mutación al azar, y estas solo dan
pequeños cambios de entre las grandes variaciones evolutivas
- se habla que al unirse dos seres el ser resultante adquiere
características de los anteriores, e inclusive se da la sinergia (mejor
resultados que los 2 anteriores)
- es así, que se incrementa las capacidades
- A-life(vida artificial):
- Son modelos de n-variables en paralelo que están sujetos a
restricciones, donde se los hace competir y se selecciona los mas
robustos
- Estos modelos actúan bajo un entorno “mundo” con reglas
generales
- Una forma de representación es por medio de Objetos (POO),
donde se manejan datos y métodos que representan el
comportamiento del objeto
- En el mundo están los objetos que contienen:
- Un numero variable de descendientes de si mismo
- Y que pueden desactivarse “morir” luego de un determinado
tiempo o condición
- Se forma una estructura de generaciones
ALGORITMOS GENETICOS (DEFINICIÓN)
- como se dijo que los ejemplares u objetos compiten por sobrevivir en el
mundo o entorno, pudiendo los mas fuertes reproducirse
- algoritmos genéticos (GA) son: “funciones matemáticas o rutinas de
software que toma como entrada los objetos y retorna como salida cuales
de ellos deben generar descendencia para nuevas generaciones”
- unas versiones mas avanzadas de GA son aquellos que hacen un ciclo
interactivo donde toma a los objetos y crea una nueva generación un
numero de veces determinado, de acuerdo al diseño
- si este concepto lo trasladamos a la resolución de problemas, podemos
decir, que al utilizar GA optimizaremos la solución descartando la soluciones
no deseables y la selección de las mas robustas
- es una especialidad de sistemas expertos, donde va perfeccionando su
propia heurística en el proceso de ejecución, por lo que no requiere de
largos procesos de entrenamiento por parte del ser humano
COMPARACIÓN DE METODOS DE OPTIMIZACION
GA VS MATEMÁTICAS
- Existen problemas de optimización que pueden ser resueltos con métodos
tradicionales
- Matemáticas
- Función “es el doble de” f(x) = 2x
29
ISI 504 Inteligencia Artificial
- Función “el numero mas grande”
- GA
- Función de problema continuo, esto no es computable, donde GA
encuentra un mínimo aceptable si no es posible encontrar el optimo
- Función del problema dinámico, cuando la relación entre variables
cambia dependiendo de los valores que tomen las mismas. “X es
igual a Y si el valor de X es chico; X es 1.5 de Y si el valor de X es
grande” no se sabe que pasa para los valores medios de X.
GA VS METODOS ENUMERATIVOS
- encontrar soluciones a problemas enumerando todas las soluciones posibles
para todos los casos, entonces, se limita a una búsqueda eficiente. Ejemplo:
la tabla de logaritmos tiene todos los valores usuales, donde la solución
consiste solo en buscar en la lista el número decimal y retornar el logaritmo
dado.
- Este método manejable siempre y cuando sean valores manejables. Para el
caso del juego de ajedrez, es mal complicado, para esto se utilizan otros
métodos que ayudan a optimizar como podas, jugadas de acuerdo a tal
situación o jugadas preestablecidas, etc. Que igualmente tienen su dificultad
en la practica
- GA utiliza heurística para resolución de problemas, lo cual limita los datos
a utilizar
LOGICA BORROSA (FUZZY LOGIC)
- la lógica borrosa trata de acercar la matemática a lenguaje impreciso del
hombre común. Ejemplo: hace mucho calor, hace frió, hoy llovió mucho, no
llovió casi nada, apenas unas gotitas (conceptos vagos). A diferencia de
decir: En este momento hay 30 grados centígrados, y se espera para el
resto del día la temperatura se eleve hasta 35 grados, que luego a lo largo
de la noche decaerá a los 20 grados.
- La lógica es considerado un método “optimizado de control”, hace que sea
flexible. Muy usado en manejo de electrodomésticos (lavadora, heladeras
japonesas con logotipo fuzzy logic incorporado).
- SI hay poco vapor en el sistema ENTONCES abra las compuertas y libere
mas vapor,
- SI hay mucho vapor en el sistema ENTONCES cierre las compuertas de
vapor
- SI la temperatura es alta ENTONCES abra el conducto de agua fría hasta
que la temperatura vuelva a ser normal
- FUNCIONES BORROSAS
- La lógica borrosa trabaja con llamadas a funciones borrosas
- Ejemplo: definir función “mucho” dentro de una serie de valores
- Se toma la serie, se la ordena de mayor a menor y se extrae el valor
mas grande (limite superior) y el valor mas chico (limite inferior)
LI(a0..an) = Minimo(a0..an)
LS(a0..an) = Maximo(a0..an)
- Se establece como amplitud de la serie como la diferencia del
limite superior e inferior: A = LS(a0..an) – LI(a0..an)
- La función “mucho”:
f(x, A) = x/A
30
ISI 504 Inteligencia Artificial
-
-
- esto variara entre: 0 <= f(x, A) <= 1
si normalizamos los limites LS1 y LI1 entre el rango (0, n) tenemos:
LI1(a0..an) = LI0(a0..an) – LI0(a0..an) = 0
LS1(a0..an) = LS0(a0..an) – LI0(a0..an)
(normalizado) se dispone de una muestra de 20 veces que se
tomaron la temperatura desde las 09h00 hasta las 18h00 y sus
temperaturas varían desde 3 grados hasta 35 grados. Se hace la
pregunta ¿hizo mucho calor a las 16h00? Esto no es posible
responder con métodos tradicionales, pero con la ayuda de lógica
borrosa es posible
LS0 = Máximo(t1..t10) = 35
LI0 = Mínimo(t1..t10) = 3
LS1 = Máximo(t1..t10) = 35 – 3 = 32
LI1 = Mínimo(t1..t10) = 3 – 3 = 0
A = LS(t1..t10) – LI(t1..t10) = 35 – 3 = 32
f(34-3, 32) = 31/32 = 0,9685  96,85% (34% a las 16h00)
cuando mas cercano esta a 100% mas valida es la información de
“mucho”
si quisiéramos la función “poco” simplemente debemos restar de 1 y
el resto es igual
f(x, A) = 1 – mucho(x, A)
ETAPAS DEL DISENO DE UN GA (8 etapas)
ETAPA 1: Análisis de factibilidad de utilizar un GA
- encuadrar el problema a tratar, puesto que el GA es un método adecuado
para optimizar o minimizar problemas. Si es de este tipo de problemas muy
bien, caso contrario buscar otro método.
ETAPA 2: Definición del problema en particular
- supongamos que tenemos 2 series de datos y se desea establecer una
correlación lineal entre los mismos (supongamos que no tenemos la
ecuación ni la forma de poder saber)
Serie A
Serie B
1
5
2
7
3
9
4
11
5
13
6
15
7
17
8
19
9
21
10
23
- entonces la función seria:
f(a(i) = b(i)
f(a(i)) – b(i) = 0
31
ISI 504 Inteligencia Artificial
ETAPA 3: Definición de las variables pertinentes
- una función lineal tiene una estructura del tipo:
- y = ax + b
- donde x = serie A
- y = serie B
- es obvio que nuestras variables a utilizar son a y b
- entonces el objetivo del GA es obtener un cromosoma con dos genes, el
mismo que va evolucionando hasta alcanzar los valores deseados para la
ecuación de la recta
ETAPA 4: Definición del cromosoma y los genes
- para construir cromosomas es recomendable cadenas binarias
- creamos una cadena binaria que represente al cromosoma, este a su vez se
definirá como la unión de dos genes, cada uno representado por a y b
- la estructura básica de cada gen:
- un bit para identificar el signo (+ o -)
- varios bits para identificar la parte entera
- varios bits para identificar la parte decimal
- como se sabe que la representación de números en binario, se necesita la
potencia de 2 mas una unidad en numero de bits, es decir, para representar
23 se necesita (3+1) bits
- f(x) = x + 1
- necesitamos 2 genes y cada uno tendrá 3 elementos:
- el signo de la variable (1 digito)
- la parte entera de la variable, para el ejemplo +- 215 es decir, se necesita
(15+1) = 16 dígitos
- la parte decimal de la variable, para el caso de 2 decimales (100 valores
posibles) necesitaremos 7 bits
Elemento
Bits
Signo del termino dependiente
1
Dígitos enteros del termino dependiente
16
Dígitos decimales del termino dependiente
7
Signo del termino independiente
1
Dígitos enteros del termino independiente
16
Dígitos decimales del termino independiente
7
TOTAL
48
- los genes tendrán 48 bits para cada gene
- al concatenar (+) los genes y armar el cromosoma tendremos:
- CROMOSOMA = GENE A + GENE B
- Es decir, CROMOSOMA = 48 + 48 = 96 bits
Tendremos entonces que:
GENE A= 00000000000000000000000000000000000000000000000000
GENE B = 00000000000000000000000000000000000000000000000000
32
ISI 504 Inteligencia Artificial
el gene y la correspondencia de sus bits a las variables del modelo
Cuadro GA 10 Estructura del Gene
CROMOSOMA 0 = 000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
Podemos partir de un cromosoma con valores nulos como el precedente
cromosoma 0 de uno generado al azar como el cromosoma 1.
CROMOSOMA 1 = 010001000010000100001000001000010000100010010
010001000010000100001000010000100001000010001000100101.
ETAPA 5: Elección de la arquitectura del GA
- depende del criterio del programador
- algunas arquitecturas podrán ayudar a maximizar o minimizar el tiempo de
búsqueda o pueden abarcar mas numero de variables
- e aquí algunas arquitecturas
- PRIMERA ARQUITECTURA: los GA fueron concebidos para hallar valores
“posibles” (mínimos y/o máximos locales) mientras van iterando, y a
medida de su ejecución estos locales van siendo reemplazados por
valores mas cercanos a la solución absoluta. (en la mayoría de casos
dinámicos no-lineales reales se prefiere soluciones posible en un plazo
determinado antes que optimo en un plazo indeterminado. GA
proporciona los 2. eje: damas, ajedrez)
- SEGUNDA ARQUITECTURA: los GA con estructura de tipo Anulativa,
aquí se genera una función de convergencia iteractiva, la cual contiene la
totalidad de las ecuaciones (funciones) del modelo
33
ISI 504 Inteligencia Artificial
-
De esta función se anulan estructuradamente variables, las cuales se
incorporan como cromosomas al GA para su evolución
- Una vez terminado el proceso anterior, se vuelve a activar dicha
variable con sus valores optimizados y la iteración continua hasta que
no existan genes por optimizar
- Esta arquitectura tiene gran ventaja por ser ahorradora de tiempo de
procesamiento
- Aunque su desventaja es que tiene que tener mayor intuición “a
priori” del modelo al cual se quiere llegar
- Se insiste en el tiempo, por cuanto la cantidad crece de forma
exponencial con respecto a la longitud del cromosoma. Si se trata de
implicar varios genes en el mismo, el tiempo crecerá. Esta parte se ve
superada hoy en día con equipos con procesadores muy potentes,
antes, los autores corrían sus laboratorios en mainframe o batería de
servidores para evitar estas desventajas.
ETAPA 6: Diseño de la función de convergencia y control
- construir una función de convergencia y control adecuada para el GA
- consiste en crear una ecuación que mida la diferencia entre los valores que
posee el cromosoma en el estado actual y los valores objetivo, de tal
manera de conocer el nivel de acercamiento que el GA posee con la realidad
y servir de retroalimentación para el mismo.
- En el ejemplo: esta la función de convergencia que mide la diferencia entre
los valores de la serie objetivo (SERIE B) y los valores de la serie original
(SERIEA A), para luego compararlos. (esto hasta llegar al estado de
convergencia y se para el proceso (margen de error))
(Función de convergencia: grado de cercanía o adaptabilidad que el cromosoma
posee con lo que se espera de el)
ETAPA 7: Introducción del cromosoma en el programa de GA y
programación en el mismo de la función de convergencia
- la forma de introducción de los cromosomas y funciones de convergencia
depende del diseño:
- algunos los ponen dentro del fuente, tiene ventaja que aceleran el
tiempo de ejecución, pero tienen la desventaja que cada vez que
introducen datos deben recompilar el programa fuente para poder
ejecutarse
- Otros diseños incluyen tablas, o bases de datos en donde se cargan los
cromosomas y las funciones de convergencia. Cuando el programa se
34
ISI 504 Inteligencia Artificial
ejecuta empieza por leer estos datos y luego sigue su procesamiento.
Este diseño tiene la ventaja de ser mas flexible, ya que no requiere estar
compilando la aplicación ante un cambio de los datos, pero vuelve al
programa notoriamente mas lento.
ETAPA 8: Ejecución del GA
- Una vez introducidos los datos, se ejecuta el programa.
- El GA estará programado para mostrar los resultados por pantalla o impresora
- Si el GA se utiliza como módulo dentro de un modelo mas complejo, el
resultado obtenido por el mismo sera comunicado al módulo oportuno.
Resumen del funcionamiento del GA
Un algoritmo genético consiste, en un programa de computadora que:






Aceptará datos de entrada correspondientes a los cromosomas originales
o los generará al azar y a los cromosomas objetivo o datos del entorno
Tendrá una función de convergencia que mida el grado de asimilación
del cromosoma al entorno.
Elaborará " generaciones " de cromosomas compuestas por varios
cromosomas actuando al mismo momento La generación tiene un tiempo
establecido de vida. Los especimenes de las generaciones competirán
entre sí utilizando los operadores genéticos. Sólo los mas aptos se
reproducen. La generación siguiente solamente contiene hijos de los mas
aptos, que heredan estas características.
Entrará en Convergencia. Esto significa que no se percibe incremento en
los ejemplares de las generaciones siguientes. Cada nuevo ejemplar
tiene los mismos genes. En este punto el proceso evolutivo termina.
Comunicará al operador humano este hecho o ejecutará una acción
preprogramada para este evento.
En cuanto a la programación de los GA no necesitan de ningún lenguaje
específico para su programación.
o En el ámbito de la Inteligencia Artificial se han utilizado
tradicionalmente lenguajes ad-hoc. Los dos mas conocidos son el
LISP , usado mayoritariamente en Estados Unidos y el PROLOG
para Europa y Japón. Estos lenguajes manejan bien la lógica de
predicados y por ende los operadores lógicos , por lo que su uso
en IA facilita la tarea.
o Los GA , por otro lado , manejan operadores genéticos , los cuales
deben ser programados ya que no están incorporados a ningún
lenguaje. Por ende , da lo mismo elegir uno u otro entorno de
programación. Se puede utilizar Visual BASIC (visual.net), el
lenguaje más popular en este momento. Algoritmos en visual
Basic de GA esta en:
http://www.geocities.com/siliconValley/Byte/4713/ga/E-GA8.htm
OPERADORES GENÉTICOS
35
ISI 504 Inteligencia Artificial
El GA trabaja en base a los operadores genéticos. Un operador genético
consiste en una serie de pasos estructurados que se aplican a los cromosomas
y forman resultados concretos, al igual que las operaciones matemáticas y
lógicas.
Los operadores matemáticos usuales son suma, resta, multiplicación, división y
exponenciación. aunque todos pueden ser calculados a partir de la suma , que
es la operación básica.
Los operadores lógicos o booleanos más comunes son:





conjunción (Y/AND lógico),
disyunción (O/OR lógico)
negación (NO/NOT/FALSE/FALSO lógico)
afirmación (SI/TRUE/VERDADERO lógico)
O exclusivo (XO/XOR LOGICO)
El tema de algoritmos genéticos ha creado sus propios operadores para
trabajar, que cumplen funciones similares a los detallados anteriormente. Se
utilizan algunos vocablos en inglés por ser de amplia familiaridad en la literatura
específica.
Los más usuales son:





crossover (apareamiento)
mutation (mutación)
fitness (adaptatibilidad)
clonación
inversión = inverso de clonación
El autor sugiere también la posibilidad de usar los siguientes operadores:


REVERSIÓN, en donde un cromosoma de bajo fitness se intercambia por
sí mismo revirtiendo el orden de los bits.
ANULACIÓN o PAVLOV: En donde se anulan genes determinados. los
cuales se fuerzan a evolucionar por separado y se reinsertan al
cromosoma a posteriori.
Fitness
Este operador mide y opera con la adaptación al entorno o competitividad.
Mediante el uso de funciones como la función de convergencia el sistema
reconoce el grado de cercanía o adaptabilidad que el cromosoma posee con lo
que se espera de él. Los mas parecidos son seleccionados para sobrevivir y los
demás para morir. Solo los seleccionados tendrán descendencia , por lo que en
la siguiente generación , solamente quedarán hijos de estos ejemplares para
seguir compitiendo.
36
ISI 504 Inteligencia Artificial
Crossover
Este operador trata de sacar ventaja de la reproducción sexual de las especies
superiores. El razonamiento es el siguiente: Si un macho tiene algunos genes
que lo vuelven mas competitivo , y se aparea con una hembra que posee otros
genes igualmente importantes , algunas de sus crías tendrán ambos genes , por
lo se volverán mas competitivos que sus respectivos padres. Este esquema no
es posible en una reproducción asexuada (clonación) , en donde la cría es
genéticamente igual al padre. El operador extrae genes o pedazos de genes de
cromosomas diferentes y crea un nuevo cromosoma imitando la reproducción
sexual. Si este nuevo cromosoma es mas competitivo , sobrevivirá a la siguiente
vez que se le aplique el operador fitness. En caso contrario , no sobrevivirá a la
competencia.
El cuadro GA 10 esquematiza un proceso de apareamiento entre dos genes.
Cuadro GA 11 Esquema de un Crossover
Mutation
Los genes pueden mutar por influencia de factores naturales (rayos cósmicos ,
luz ultravioleta ) o artificiales (radioactividad ). La mutación consiste en el
cambio de valor de uno a mas bits por otro. Si bien el porcentaje de mutación
es bajo , la acumulación a lo largo de los siglos puede producir efectos
acumulativos importantes. En el ámbito de los GA este efecto se acelera para
no esperar este tiempo , pero se hace de manera de que su incidencia no sea
un factor preponderante , ya que de hacerlo cambiaría el concepto de evolución
acumulativa por la de evolución al azar.
El cuadro GA12 muestra el esquema de una mutación genética.
Cuadro GA12 Mutación genética
37
ISI 504 Inteligencia Artificial
Clonación
La clonación consiste en la duplicación de la estructura genética de un
cromosoma para la generación siguiente. Esto hace que ese ejemplar sobreviva
intacto para competir en la nueva generación. La clonación se puede producir
en forma



explícita: Cuando el software de GA prevé que ante ciertas circunstancias
un cromosoma se duplique a si mismo
implícita: Cuando el programa no prohíbe que en el proceso de crossover
un cromosoma sea seleccionado como pareja de sí mismo para generar
descendencia.
Los cuadros GA13 y GA14 muestran esquemas de los procesos de clonación
implícita y explícita.
Cuadro GA 13 Proceso de clonación explícita
38
ISI 504 Inteligencia Artificial
Cuadro GA 14 Proceso de clonación implícita
Inversión
La inversión consiste en la operación contraria a la clonación. Puede ser:



Total: Un cromosoma muta totalmente por su inverso. Ej.: Dado el
cromosoma 00011, su inverso será 11100.
Parcial: Un gen o parte de un gen mutan por su inverso. Si la mutación
es de un solo bit, el efecto es igual al de la mutación simple. De hecho ,
la mutación puede considerarse como un caso especial de la inversión.
Los cuadros GA15 y GA16 muestran esquemas de los procesos de
inversión total y parcial.
Cuadro GA 15 Inversión total
Cuadro GA 16 Inversión parcial
39
ISI 504 Inteligencia Artificial
Reversión
La reversión consiste en la operación que cambia el cromosoma por sí mismo
ordenado de atrás para adelante. Esta operación no existe en la naturaleza ,
pero se basa un la presunción de que algunos cromosomas poco competitivos
podrían revertir su estado en el orden contrario. Al igual que con la inversión ,
la reversión puede ser:

Total: Un cromosoma se revierte totalmente. Ej.: Dado el cromosoma
00011, su reverso será 11000.

Parcial: Un gen o parte de un gen cambian por su reverso.
Los cuadros GA17 y GA18 muestran esquemas de los procesos de inversión
total y parcial.
Cuadro GA 17 Reversión total
40
ISI 504 Inteligencia Artificial
Cuadro GA 18 Reversión parcial
Anulación o Pavlov
Este operador ha sido inspirado en la metodología utilizada por el conocido
médico ruso , aunque su trabajo no tenga que ver en absoluto con los GA.
Pavlov investigó durante más de 20 años la fisiología de los mamíferos
superiores , preponderantemente de los perros. Sus difundidos trabajos sobre
reflejos condicionados emanan de este hecho. Su metodología se basaba en la
aislamiento de los componentes anatómicos a estudiar , con independencia del
resto de la morfología. En otras palabras, el estudio se centraba en un órgano u
órganos específicos cada vez y se trataba de medir la influencia del entorno en
este tejido en particular. Pavlov intentaba aislar alguna variable y medir el
impacto en la misma de cambios en el entorno. De esta manera , podía
acostumbrar a un perro a estar a oscuras y sin sonidos para averiguar la
preponderancia del olfato ante la estimulación de la comida en un perro privado
del sentido visual. y auditivo. A algunos especimenes se les llegó a cortar las
conexiones nerviosas (equivalente a anular las respuestas del órgano
conectado) para lograr el mismo resultado. (Recordemos que sólo en los
últimos tiempos florece un debate sobre los procedimientos utilizados con los
especimenes para la investigación científica. En la época analizada , tal planteo
no existía)
El organismo del mamífero superior consta de una serie de sustancias químicas
(asimilables a las variables de un sistema matemático) que interactúan entre sí
dinámicamente. Una postura integradora argumentaría que la investigación
debe ser hecha sobre el cuerpo tomado como un todo, ya que todas las
variables (las enzimas) están interrelacionadas. La posición de Pavlov fue la
contraria , ya que basó su método en inferir el comportamiento de todo
estudiando características de las partes o deducir el todo anulando alguna de
ellas.
41
ISI 504 Inteligencia Artificial
Este tipo de planteo es aplicable a los GA, que constan al igual que el cuerpo de
una serie de genes interdependientes. En los seres vivos existen generalmente
mecanismos de compensación, en donde ciertos genes impulsan acciones en un
sentido determinado y ciertos otros en sentido opuesto. La acción final se
produce como consecuencia de la medición de estas fuerzas La anulación
estructurada de alguno de ellos puede servir como base para el entendimiento
del comportamiento del resto del sistema. En el ámbito de la biología estos
genes reciben el nombre de aleles o alelos Si se identificaran y anularan
algunos de los genes que condicionan el valor esperado en sentido opuesto,
esto representaría una mejora idéntica a la de mejorar los valores de los
restantes.
Un operador Pavlov anulará sistemáticamente algunos de los bits del
cromosoma y medirá de esa manera el incremento o no del fitness del mismo.
Dado que el GA tiene los cromosomas estructurados como cadenas binarias , la
anulación se simplifica enormemente ya que para realizarla es suficiente con
cambiar los valores a "0" de los bits "1" o viceversa.
El cuadro GA19 muestra el esquema del operador pavloviano en un GA
Cuadro GA 19 Operador Pavloviano en un GA
En los párrafos precedentes se han vertido los conceptos necesarios para el
entendimiento básico del funcionamiento de un algoritmo genético, sin ahondar
en su mecanismo de funcionamiento.
El lector interesado en conocer profundamente el diseño del mismo , puede
continuar la lectura de la segunda parte , en donde se desarrolla la
programación de un GA en la computadora. Quien solo esté buscando una
descripción sumaria de este tema, puede discontinuar la lectura en este punto.
42
ISI 504 Inteligencia Artificial
SMA – MAS SISTEMAS MULTIAGENTES
Agente: Es un Sistema computacional que opera de forma autónoma, con
capacidad de reaccionar dinámicamente a estímulos externos y comunicarse
entre sí y que posee conocimientos e intencionalidad para resolver problemas
específicos.
Agente Inteligente: es aquel que emprende la mejor acción posible en una
situación dada.
 Percibe su ambiente mediante sensores y que responde mediante efectores
 en el caso de agentes de software sus percepciones o acciones son las
cadenas de bits codificados
 estos agentes deben poseer conocimiento.
Agente racional: aquel que hace correcto las cosas, es decir, con mejor
desempeño (como y cuando hacer).
Secuencia de percepciones: todo lo que el agente haya percibido hasta el
momento, como una historia.
Agente inteligente racional ideal: en todos los casos de secuencia de
percepciones, deberá hacer todas las acciones que favorezcan a tener el
máximo rendimiento, basándose en evidencias aportadas por la secuencia de
percepción y de todo el conocimiento incorporado en el agente.
Tipos de Agentes
Existen varios tipos de agentes, como podemos observar de acuerdo al manejo
de programas se consideran cuatro tipos de agentes:
 Agente de reflejo simple:
43
ISI 504 Inteligencia Artificial






basados en reglas de condición-acción o situación-acción, o reglas sientonces;
toma una acción de acuerdo a una conexión
el agente establece conexión entre percepciones y acciones
ejemplo: si el carro de adelante frena, se prende la luces de alto, la
cámara capta y entonces debe frenar (regla condición-acción: SI el carro
de adelante está frenado ENTONCES empiece a frenar)
gráfico (pag 43- figura 2.7) (los rectángulos son estado internos en un
momento dado de la decisión del agente, los óvalos son información de
base)
Agente bien informado de todo lo que pasa:
 no siempre los sensores no informan acerca del estado del mundo
 si se produce una percepción el agente debe tener un cierto tipo de
estado interno que no es demasiado extenso
 el agente necesita actualizar algo de información en el estado interno
que permita diferenciar entre estados del mundo que generan la misma
entrada de percepciones
 esta actualización de información es de dos tipos:
 de como evoluciona el mundo, independiente de los agentes
 de como afecta al mundo las acciones que puede tomar el agente
 ejemplo: si se quiere cambiar de carril y se ve por retrovisor si existe
carros atrás, se debe tener cuidado si existe carros en el ángulo que el
espejo no ve, y que luego de tomar la acción en que afectara al mundo,
se dejara vacío el espacio que antes ocupaba el carro, etc
 (grafico pag 45 figura 2.9)
44
ISI 504 Inteligencia Artificial

Agente basado en metas:
 no siempre basta con tener información del estado actual del ambiente,
sino también ¿que sucedería si hago tal o cual cosa?
 se requiere de cierta información sobre su meta (situaciones deseables)
 el agente debe combinar la información anterior con esta nueva
información y como resultado se producirán las posibles acciones que se
emprendan
 se habla de agente reflejo donde se permiten elegir aquellas acciones
que permitan alcanzar la meta
 en situaciones sencillas en fácil elegir, pero en situaciones mayores es
necesario tener métodos de búsqueda y planificación que ayudaran a
encontrar la secuencia de acciones que permitan alcanzar las metas de
un agente
 es mas flexible que el anterior, ya que permite dirigirse a varios destinos,
modificando su conducta.
 ejemplo: si esta en una autopista y hay una Y, se debe decidir por donde
ir izquierda o derecha dependiendo cual sea su meta
 (gráfico pag. 46 figura 2.11)

Agente basado en utilidad:
 las metas no bastan para determinar una conducta de alta calidad
(velocidad, seguridad, confiables, etc.)
 de acuerdo a tal o cual resultado se sentirá mayor “felicidad” que
traducido a nuestra área se dice que es Utilidad (calidad de ser útil)
 Utilidad “es una función que correlaciona un estado y un número real
mediante el cual se caracteriza el correspondiente grado de satisfacción”
 esta utilidad se ve implicada al momento que el agente debe elegir entre
varias metas, entonces debe medir la posibilidad de tener éxito
considerando la importancia de las diferentes metas
 (gráfico pag. 48 figura 2.12)
45
ISI 504 Inteligencia Artificial
Propiedades de los Ambientes
 Accesible y no accesible
o Si el aparato sensorial del agente le permite tener acceso al estado
total de un ambiente
o si sus sensores detectan todos los aspectos relevantes a la elección
de una acción
o no necesita de que el agente mantenga un estado interno para estar
al tanto que sucede en el mundo
o ejemplos de accesible: un sistema de análisis de imágenes, capta
todos los aspectos relevantes; ajedrez; backgammon
o ejemplos de no accesible: conducir un taxi; sistema de diagnostico
medico.
 Determinista y no determinista
o Si el estado siguiente de un ambiente se determina completamente
mediante el estado actual y las acciones escogidas por los agentes
o es un punto de vista mejor que el anterior, visto desde el agente
o ejemplos son los mismos de los casos de accesibles y no
 Episódicos y no episódicos
o la experiencia del agente se divide en episodios (partes)
o cada episodio consta de un agente que percibe y actúa
o la calidad actuación dependerá del episodio mismo ya que no
depende de las otras partes o episodios
o ejemplo, tenemos el sistema de análisis de imágenes donde se tiene
episodios de captura de imagen, interpretación de imagen, edición de
imagen, manipulación de imagen
 Estáticos y dinámicos
o dinámico, cuando existe la posibilidad de que el ambiente sufra
modificaciones mientras el agente se encuentra deliberando (cuando
pasa el tiempo) (ejemplo: conducir un taxi, diagnostico medico)
o estático, cuando no varia el ambiente mientras el agente se
encuentra deliberando, (ejemplo: ajedrez sin reloj)
o existe otro tipo que es la mezcla de los dos anteriores donde
básicamente no varía los aspectos principales del ambiente y no
modifica la calificación asignada al agente, estos se denominan
semidinámico (ejemplo: el ajedrez con reloj, varia el tiempo pero no
importa para tomar una acción)
46
ISI 504 Inteligencia Artificial

Discretos y continuos
o discreto, si existe una cantidad limitada de percepciones y acciones
distintas y claramente discernibles (ejemplo: el ajedrez)
o continuo, la cantidad ilimitada de percepciones y acciones distintas
(ejemplo: el conducir un taxi, análisis de imágenes).
En SMA se intenta dividir los problemas en subproblemas cada vez más
sencillos de resolver
Los agentes, tienden a un planteamiento en el que múltiples agentes
autónomos interactúan, se coordinan y todo ello de una forma adaptativa
Porque usar SMA:
 Al ser un solo agente existe problemas de escalabilidad y pérdida de
eficiencia
 Es mejor dividir, consiguiendo así modularidad, flexibilidad, robustez,
modificabilidad, escalabilidad




conocimiento concentrado: ya que si aparecen problemas en el manejo
de un solo agente que concentra todo el conocimiento, se propagan a
todo el sistema
distribución de la carga, de este modo, los agentes de un SMA pueden
diseñarse como componentes autónomos que actúan en paralelo para
resolver problemas de ámbito general
Para problemas excesivamente complejos
Interconexión con otros mecanismos clásicos, como son los sistemas
expertos.
Características de los agentes:
 Intencionalidad: Declaración de metas y medios para llegar a ellas.
 Racionalidad: Capacidad de evaluar y realizar acciones a ejecutar.
 Compromiso: Planificación de las tareas coordinado y negociado entre
agentes.
 Adaptabilidad: Control comportamientos de acuerdo con las funciones
que ejecuta.
47
ISI 504 Inteligencia Artificial
Clasificación de los agentes:
 Estáticos o Móviles según su movilidad.
 Deliberativos y Reactivos de acuerdo con su capacidad de reacción.
 Autónomos o no, si operan sin necesidad de intervención humana.
En IA los agentes de mayor interés son los autónomos, pues presentan
características que los acercan al comportamiento humano, tales como:
racionalidad, habilidad social, cooperación, capacidad de aprendizaje,
reactividad y proactividad
Características principales de SMA
 La no existencia de benevolencia, los agentes son menos vulnerables a
desviaciones del objetivo principal por las influencias externas.
 La obtención de Múltiples metas, capacidad de resolver problemas y
enfrentar el problema de varias formas.
 La Autonomía permite seleccionar la mejor manera para cumplir con sus
objetivos.
 La Heterogeneidad hace necesaria la existencia de un sistema de
comunicación que permita la interacción entre los diferentes agentes.
Estructura organizacional de los SMA
 Estructura Centralizada: Un agente controla la interacción entre los otros
agentes.
 Estructura Horizontal: Todos los agentes están en el mismo nivel, por lo
tanto no hay agentes controladores.
 Estructura Jerárquica
o Formal. Cuando un agente de menor nivel solo puede recibir
ordenes del agente de su nivel inmediatamente superior
o Informal. Cuando puede recibir ordenes de cualquier agente de
un nivel superior al suyo.
48
ISI 504 Inteligencia Artificial

Estructura ‘Ad Hoc’ : Es una mezcla de las anteriores y eso le da una
característica de dinamismo. Los diferentes grupos de agentes se ajustan
entre ellos.
Pilares de los SMA
Cooperación
 Cooperación compartiendo tareas y resultados Con los resultados
generados por los demás agentes, un agente realiza sus propias tareas.
Cooperación por delegación Agente supervisor divide una tarea en
subtareas, asigna a sus agentes para ejecutarlas, y las integra para
hallar solución global.
 Cooperación por ofrecimiento: El agente supervisor divide una tarea
en subtareas las ubica, en una lista esperando que los agentes del
sistema se ofrezcan a realizarlas dependiendo de sus habilidades. El
supervisor elige entre los ofrecimientos y las distribuye.
Coordinación
 Coordinación Global: Cuando el SMA determina y planifica las
acciones de los diferentes agentes.
 Coordinación Individual: El SMA da autonomía a los agentes, es decir
cada agente decide qué hacer y resuelve localmente los conflictos que
detecte con otros agentes.
Control
 Provee apoyo en la implementación de mecanismos de coordinación.
 El control puede ser considerado desde el punto e vista local y global.
 Si se asigna mucho control global aumentaría el tiempo de computo,
mientras que cuando se desborda control local se pierde eficiencia en
operación.
Planificación
 Incluye factores importantes en el tiempo de ejecución:
o Recursos computacionales,
o Disponibilidad de los Agentes,
o Tiempo de ejecución empleado por cada agente.
 Esta información se obtiene del sistema de información histórica
 Proceso
o Inicialmente recibe la Información del Problema
o Subdivide en tareas
o Busca qué agente(s) puede(n) realizarlas
o Negocia con éste las características de la ejecución
o Se crea el cronograma de trabajo
o Se confirman las características de la ejecución
o Se asignan tareas a los agentes
o Luego, durante la ejecución del trabajo, el agente planificador
realizará auditorias periódicas con el fin de verificar la correcta
ejecución del sistema.

ESTRATEGIAS PARA REPRESENTAR EL CONOCIMIENTO
49
ISI 504 Inteligencia Artificial
Redes Semánticas Especializadas
 Es el sistema de representación mas general de todos y mas antiguo
 es una colección de objetos, también llamados nodos(representan objetos)
 unidos mediante arcos o enlaces formando una red (representan relaciones
entre esos objetos) (es, tiene, colabora, etc.)
 Estos elementos llevan asociado una etiqueta o palabra, en el caso de los
nodos un nombre, y en los enlaces es un verbo.
Trabaja en
Pedro -----------------> departamento de producción
Para poder interpretar situaciones donde una serie de objetos diferentes son
ocurrencias del mismo concepto general, ese necesario diferenciar los nodos
específicos especiales denominados “muestra” (token) (<pd-1>), mientras
que los nodos normales se denominaran desde ahora “tipo”. Además, que
podemos utilizar otro concepto nuevo que es la “herencia”, con esto
simplificamos nuestra representación, esto aumenta considerable su velocidad
de procesamiento.
grafico pag. 67 hechos relativos a los Empleados llamados “pedro”
Con lo anterior solo podemos expresar relaciones binarias entre sustantivos, y
la realidad es otra donde necesitamos en algunas ocasiones relacionar sucesos
que por lo general están con límites de espacio o tiempo.
Expresar Pedro-2 trabajó para Pedro-1 desde Abril de 2001 hasta Mayo de
2005, para esto es necesario relaciones en torno a los verbos, manteniendo
distinción entre:
 nodo verbal muestra: representa un suceso especifico (<tb-1>)
 nodo verbal tipo: representa un suceso “prototipo” .
50
ISI 504 Inteligencia Artificial
Trabajar
Acto
Desde
Enero
1998
Hasta
Mayo
2005
<tb-1>
Dativo
<pd-1>
Agente
<pd-2>
Grafico pag. 69 representación de un suceso organizada alrededor del verbo

Para dar una gramática de casos se han definido un conjunto típico de
relaciones:
o Agente: iniciador de la acción identificada por el verbo
o Objeto: sustantivo afectado por la acción o estado
identificado por el verbo
o Localización: localización de la acción o estado identificado
por el verbo
o Dativo: persona afectada por la acción o estado identificado
o Acto: acción.
Ternas objeto-atributo-valor:
 es un caso especial de la red semántica,
 donde existen tres nodos: objetos, atributos y valores y se suprimen los
enlaces
 Hay ocasiones donde se añade a las ternas un factor de certeza que sirve
para medir la confianza que se tiene de que la terna sea correcta
 En otras ocasiones se suprime el atributo y se trabaja solo con parejas
objeto-valor
Reglas:
 Las reglas se usan para representar relaciones y constan de dos partes:
“la premisa” y “la conclusión”
 A su vez la premisa consta del condicional “Si” y de una expresión lógica
(constituida por una o varias ternas objeto-atributo-valor unidas por los
operadores “y”, “o” y “no”). Alguna ocasiones, cuando el sistema amerita
51
ISI 504 Inteligencia Artificial


se forza a que solo exista el operador lógico “y” y solo se maneje con
objeto-valor
La conclusión consta del adverbio “entonces” y de una expresión lógica
Si luego de evaluar la premisa y esta resulta correcta, entonces se hace
que la expresión lógica de la conclusión sea cierta.
Marcos:
 Es otro de las formas de representar objetos y relaciones
 Casos particulares de redes semánticas
 Un marco suministra toda la información existente sobre un objeto
 Esta información puede ser declarativa o descriptiva y de tipo indirecta,
es decir directamente características del objeto o dar procedimientos o
reglas para determinarlas
 Esta forma indirecta hizo popular su uso
Expresiones Lógicas:
 La lógica es una disciplina que esta relacionada con la validez de
argumentos, determinar si unas conclusiones pueden deducirse
correctamente a partir de unos hechos
 En la lógica se comparan los hechos o supuestos contra una serie de
patrones abstractos (modelos que están conformados por reglas que
previamente han sido comprobados y validados de una forma matemática
o formal)
 Existen 2 tipos comunes de notaciones lógicas:
 lógica proporcional:
o es un sistema de lógica común en el que las proposiciones son
expresiones que pueden ser verdaderas o falsas, las mismas que
están unidas por conectivos “y”, “o”, “implica”, “equivalente” y se
denominan expresiones compuestas
o la lógica proporcional se ocupa de las expresiones compuestas
52
ISI 504 Inteligencia Artificial
o Existen diferentes reglas para propagar la veracidad de las
expresiones dependiendo de los conectivos. (eje: si X es verdadero
y Y es falso, la expresión compuesta X e Y es falso; Mientras X o Y
es verdadero. Otras reglas permiten inferencias como, si X es
verdadero y X implica a Y se puede decir que Y es verdadero)
 lógica de predicados:
o es una extensión de lo anterior
o la unidad fundamental es un objeto
o las expresiones acerca del objeto se llaman predicados (a veces
los predicados expresan relación entre objetos)
o Las relaciones se denominan “predicados” y los objetos
“argumentos”, todo esto conforman las “proposiciones” y estas
toman o valor Verdad o Falso
o Es un (pedro, científico en computadoras)
o Es un (pedro, masoquista)
o Es un (pedro, muerto)
o Se deben tomar en cuenta 2 cuestiones:
o El orden de los argumentos
o Que el predicado puede tener cualquier numero de
argumentos
Trabaja (pedro, IBM, científico en computadoras)
o Existen 2 tipos de proposiciones:
o Individuales o llamadas “atómicas”, que constan del
predicado y de los argumentos
o Compuestas, que mediante el uso de conectivas lógicas
unen o combinan a proposiciones las atómicas
(^)=Y
(v)=O
(~)=NO
()=implica, o también SI ... ENTONCES ...
o ejemplos:
es un (pedro, científico en computadoras) ^ lee (pedro, ciencia-ficción)
o sea
“Pedro es un científico en computadoras y lee ciencia-ficción”.
informa-a (pedro, Juan)  supervisa (Juan, pedro)
o sea
“Si Pedro informa a Juan ENTONCES Juan supervisa a Pedro”.
o Los objetos de las proposiciones pueden ser expresados como
constantes (comienzan con una minúscula) que representa un
individuo o una clase determinada o como variable que representa
un individuo o una clase sin especificar
 Es un (X, científico en computadoras)
o Si una variable es sustituida por un nombre de un objeto o
constante se particulariza
53
ISI 504 Inteligencia Artificial
o Cuantificadores:
se
utilizan
para
indicar
cuantas
particularizaciones de variables necesitan tomar el valor “verdad”
para que toda la proposición sea verdad
o cuantificador universal: representado por “¥” (A
invertida), aquí todas las sustituciones de la variable por
elementos del dominio deben tomar el valor “verdad”, es
como decir “Todo”
o cuantificador existencial: representado por ”Э” (E dado
la vuelta), aquí en cambio solamente algunas de las
sustituciones de la variable por elementos del dominio
deben tomar el valor “verdad”, es como decir “Alguno”
o ejemplos:
“todos los científicos en computadoras son programadores”
como
¥(X)(científico en computadoras(X)  programador(X))
“algunos científicos en computadoras son optimistas”
como
Э(X)(científico en computadoras(X)  optimista(X))
o Se pueden mezclar los tipo de cuantificadores dentro de una
misma expresión, importando el orden como se introduzcan los
cuantificadores
o Ejemplos:
¥(X)Э(Y)(empleado(X)  supervisa(Y, X))
Podría leerse como
“todo empleado tiene un supervisor”
Э(Y)¥(X)(empleado(X)  supervisa(Y, X))
Es muy diferenta y podría leerse como
“Hay una persona que supervisa a todos”
o Las conectivas lógicas pueden rescribirse en función de otras
~(~ Científico en computadoras(pedro) v ~ supervisor(pedro))
puede leerse como
científico en computadoras(pedro) ^ supervisor(pedro)
informa-a (Juan, pedro)  supervisa(pedro, Juan)
puede representarse como
~ informa-a (Juan, pedro) v supervisa(pedro, Juan).
Sistemas Expertos:
“Es un sistema informático que simula el proceso de aprendizaje, de
memorización, de razonamiento, de comunicación, y de acción de un experto
humano en una determinada rama de la ciencia, suministrando, de esta forma,
un consultor que puede sustituirse con unas ciertas garantías de éxito”.
Componentes de un SE:
54
ISI 504 Inteligencia Artificial
Los elementos más importantes de un sistema experto son:
 Experto Humano: Es quien aporta el conocimiento en el área de interés
 Ingeniero del Conocimiento: Esta persona interpreta este conocimiento
en forma tal que hace capaz que el sistema asimile.
o Estos dos anteriores van hablar lenguajes distintos,
o Multitud de preguntas de IC al EH,
o IC no se contentará con las respuestas, exigiendo razones,
o IC controlara la coherencia del conocimiento en su conjunto
o EH queda mas especializado, por orden de ideas,
 Subsistema de control de la coherencia:
o Sirve para mantener coherencia con el conocimiento,
o Es un nuevo concepto puesto en SE, muchos SE algunos de los sistemas
actuales no disponen del mismo,
o permite forma mas ordenada,
o mas fiable,
o avisará de las imperfecciones antes señaladas,
o para evitar que existan reglas que se contradigan,
o el sistema debe suministrar información para que controle incoherencias,
o evita que pase la información mala a la base del conocimiento,
 Subsistema de Adquisición del conocimiento:
o encargado de recibir los elementos de conocimiento,
o comprobar que sean elementos nuevos (aun no en Base del
Conocimiento)
o el conocimiento de 2 tipos:
o abstracto: validez general (reglas, espacios probabilisticos), forma
parte del sistema (eje: todas las diferentes enfermedades,
nombres, tratamientos...)
o concreto: validez particular, no forma parte del sistema, es
efímero, es decir se destruye (eje: síntomas de un paciente en
particular)
 Base del Conocimiento:
o Elemento que almacena el conocimiento abstracto
o Pone el conocimiento a disposición del motor de inferencia para su
tratamiento
o Cuando la premisas de algunas reglas coinciden en su totalidad o parte
con las conclusiones de otras, se llama lo que se produce
55
ISI 504 Inteligencia Artificial


“encadenamiento de reglas”, es decir, las premisas de ciertas reglas son
conclusiones de otras
La memoria de trabajo:
o es la que almacena el conocimiento concreto
o igualmente almacena todos los procedimientos de los diferentes sistemas
y subsistemas
o es de carácter transitorio o cambiante
El motor de inferencia:
o Es el corazón de todo sistema experto
o Su función es aplicar el conocimiento abstracto al conocimiento concreto
o Con la acción de obtener conclusiones
o (eje: el diagnostico de una paciente, consiste en analizar los síntomas
(concreto) y detectar la enfermedad que posee mediante el análisis de
diferentes sintomatologías (abstracto))
o existen 2 tipos de conclusiones:
o Conclusiones simples: aquellas que resultan de la aplicación de
sólo una regla
o Conclusiones compuestas: aquellas que resultan del
encadenamiento de varias reglas
o No siempre resulta la conclusiones del análisis de un regla o
encadenamiento de reglas; en estos casos el motor de inferencia podrá
optar por:
o abandonar la regla por no poder concluir nada (luego de un rango
de interacciones)
o preguntar, a través del subsistema de demanda de información,
sobre la verdad o falsedad de las premisas y continuar con el
proceso hasta producir la conclusión
o para obtener conclusiones se utilizan diferentes tipos de estrategias de
inferencia y control de razonamiento:
o para las conclusiones simples:
o modus ponens
 estrategia más común
 afirma que si se tiene la regla “Si A es cierto entonces B es
cierto”
 Si se conoce que “A es cierto”, entonces puede afirmarse
que “B es cierto”, es una afirmación trivial por su
familiaridad
o modus tollens
 estrategia bastante menos corriente que la anterior
 afirma si se sabe que “B es falso”, entonces puede
afirmarse que “A es falso”
56
ISI 504 Inteligencia Artificial

es curioso que algunos SE no incluyen este tipo de
estrategia de inferencia, a pesar que resulta muy sencilla y
práctica su aplicación
o Para conclusiones compuestas:
o mecanismo de resolución, consta de los siguientes pasos
o se sustituye las reglas por expresiones lógicas equivalentes
o se combinan éstas entre si para dar una nueva expresión lógica
o se combina ésta con la evidencia de los hechos
Un ejemplo de este mecanismo:
Sustitución de reglas por expresiones lógicas
“Si llueve las calles de mojan” = “No llueve o las calles se mojan”
Combinar expresiones lógicas
“No llueve” o “se producen filtraciones”
Combinar con evidencias
Evidencia es “lluvia”
“Si llueve las calles de mojan”
“Si las calles de mojan se producen filtraciones”
la conclusión es: “Se producen filtraciones”
o técnicas de razonamiento incierto: (lógica incierta)
(gráfico de implicaciones inciertas pag 52)
o Lógica clásica:
 donde se parte que si la premisa de una regla es cierta la
conclusión también lo será.
“Si A es cierto entonces B es cierto” donde A implica a B con
probabilidad 1. (caso I del gráfico implicaciones inciertas)
 este modelo tiene limitaciones, ya que existen varios casos
donde no siempre es así (en el caso de enfermedades
donde los síntomas no necesariamente da cierta
enfermedad)
57
ISI 504 Inteligencia Artificial
 toda afirmación es siempre segura
 es una lógica de tipo determinista
o Lógica incierta:
 “toda afirmación debe ir acompañada de una medida de
incertidumbre, que expresa la confianza que se tiene de
que esa afirmación sea cierta”
 Incertidumbre (medida de la aleatoriedad de algún suceso)
 cuando se trabaja con implicaciones inciertas, las
afirmaciones hay que entenderlas como posibles en vez de
como seguras
 “A implica B con una probabilidad P(B|A)” (probabilidad de
B condicionada por A o probabilidad de B supuesto que A
es cierta) (caso II del gráfico implicaciones inciertas)
o Para el caso de no implicación “A no implica B” puede tratarse
como caso extremo de implicación “A implica B con probabilidad
nula”. (caso III del gráfico implicaciones inciertas)
o estrategias de encadenamiento
o de estas depende la total eficacia del sistema
o en estas estrategias se debe tener presente:
o procedimientos para decidir por donde empezar, ya que tenemos
los datos en la Base de datos estática y debemos tener
mecanismo que lo pongan a funcionar, como es la forma de
localizar reglas que hagan referencia a un valor de un cierto
objeto.
o además, debe tener mecanismos para que el sistema pueda
decidir como continuar cuando se le presenten varias alternativas
al mismo tiempo
o las estrategias mas comunes: encadenamiento hacia adelante y
hacia atrás
o Durante el proceso de evaluación de las premisas o conclusiones
de las reglas, se da lo que se denomina concluir una regla, se dice
que esa regla se ha “disparado” o que esta “activa”. Estas reglas
serán tomadas en cuenta al momento o forman parte de la base
del subsistema de explicación
o existen búsquedas verticales y horizontales en un árbol de reglas
encadenadas
 búsqueda vertical
 es buscar primero los detalles, es decir penetrando
cada vez más en los detalles siguiendo una cadena
de reglas
 mas usado
 insiste sobre el mismo tema hasta que obtiene toda
la información
 ejemplo: realiza preguntas relacionadas con el tema
al mismo tiempo
 similar a lo que un medico especialista haría
 búsqueda horizontal
58
ISI 504 Inteligencia Artificial

se barre todas las premisas de una regla, antes de
enterarse de ningún detalle
 eficiente cuando una regla funciona y aparece
rápidamente el valor del objetivo
 hay ocasiones que pregunta el sistema preguntas
aparentemente raras, debido a que mezcla temas
diferentes
 ejemplo: hace preguntas fuera del tema; si esta
haciendo la pregunta de análisis de sangre, le
empieza a preguntar como es el análisis, como es su
respiración, como es el color de su piel….
 similar a lo que un medico general haría
o Existe el razonamiento monótono y no monótono
 monótono, si los hechos de las reglas siempre tienen el
mismo valor en la sesión de consulta
 no monótono, si se permite variar los valores de los hechos
de las reglas durante la sesión de consulta; es complejo
esto porque se debe controlar si varia un valor hacerlo
también en sus derivados
o Encadenamiento hacia adelante
 en esta estrategia se diferencian claramente la memoria de
trabajo y la de la base del conocimiento, en memoria de
trabajo esta los datos que surgen en la consulta, y en la
base del conocimiento las reglas
 estos dos tipo de información son comparados, que sus
resultados de esto pasan a incrementar el conocimiento
 esta estrategia se utiliza en problemas orientados a los
datos o de diagnostico, en donde se tiene unos hechos
(síntomas) y se quiere saber cuales son las conclusiones
(enfermedades) que pueden derivarse de ellos
o Encadenamiento hacia atrás
 esta estrategia se utiliza en problemas orientados al
objetivo (enfermedades), en donde se quiere saber que
hechos (síntomas) son necesarios para conseguirlos
59
ISI 504 Inteligencia Artificial





Subsistema de demanda de información:
o Se recurre a este subsistema cuando el conocimiento concreto es muy
limitado y que no se puede sacar conclusiones fiables
o Completa ese conocimiento para proceder de nuevo a la reelaboración y
repetir este ciclo hasta conseguir conclusiones validas
Interfase de Usuario:
o Permite que el usuario introduzca información al sistema
o Se debe usar hardware (ratones, pantallas gráficas, a color, etc.) y
software (menús, Windows, gráficos, etc). Para que sea atractivo al
usuario.
Subsistema de ejecución de ordenes:
o para realizar acciones pertinentes luego de haber sacado las
conclusiones
o (eje: Un sistema de control de una central nuclear puede producir
apertura de ciertas válvulas, la activación de alarmas, etc).
Subsistema de explicación:
o De igual manera luego de tener las conclusiones, el usuario puede pedir
razones
o Que por medio de los procesos hechos por el motor de inferencia,
comunique al usuario el forma ordenada los hechos
o Es recomendable tener un mecanismo de elección que permita elegir el
nivel de contenido de explicación (mas detallada o no)
Subsistema de propagación de la incertidumbre:
o Por su complejidad es el elemento mas débil de los SE
o Entenderlo en el sentido que la propagación de la incertidumbre es
normalmente incorrecto, dando como resultado que las conclusiones no
son muy fiables
o Existen medidas como probabilidades, factores, de certeza, teoría de la
evidencia, lógica difusa
o Básicamente, lo que se hace es asociar a cada hecho una cierta medida
de incertidumbre (probabilidad)
o En el motor de inferencia, una de las formas para obtener conclusiones
compuestas son las técnicas de razonamiento incierto, pero causa
propagación de la incertidumbre, para esto se exponen medidas de
incertidumbre:
 Probabilidad:
 Espacio probabilistico, consta de 2 elementos (U, A): un
conjunto U y una clase A de subconjuntos de U. (ejemplo:
el conjunto U es la población de pacientes y la clase A
constituida por conjuntos que cumplen ciertas condiciones
(sintomas-enfermedades))
 “Se dice que se tiene definido una probabilidad en el
espacio probabilistico (U, A) si a cada subconjunto de A se
le asocia un número real (entre 0 y 1) de tal forma que se
cumpla que la probabilidad del conjunto universal U
60
ISI 504 Inteligencia Artificial
siempre sea 1 y que la probabilidad de cualquier conjunto
unión de conjuntos disyuntos es la suma de sus
probabilidades”
 Existe también el caso especial, y es la probabilidad
condicional P(A|E), (P= número de elementos que pueda
ocurrir (A y E) / número de elementos que ocurra E)
(ejemplo: A aparece un dos por lo menos en un dado, E
suma es 6; P(A|E)=2/5)
 Factor de Certeza:
 medida de certeza que se tiene de un hecho o suceso, su
valor oscila entre (-1, 1)
 medida de credibilidad: mide el decremento relativo de
incredibilidad de una hipótesis A debida a una evidencia o
información E. MC(A, E) = (P(A|E) - P(A)) / (1 - P(A)) y si
el valor sale negativo se pone 0
 medida de incredibilidad: mide el decremento relativo de
credibilidad de una hipótesis A debida a una evidencia o
información E. MI(A, E) = (P(A) - P(A|E)) / P(A) y si el
valor es negativo se pone 0
 FC(A|E) = MC(A, E) - MI(A|E).
 Subsistema de aprendizaje:
o Es uno de los elementos últimamente incorporados
o Dan el concepto de que los SE son capaces de aprender (demostrado)
o Dos tipos aprendizaje:
 Aprendizaje Estructural:
 Relacionado con la estructura del conocimiento (reglas,
espacios probabilisticos, etc)
 La incorporación de nuevas reglas a la base del
conocimiento constituye aprendizaje estructural
 Aprendizaje Parametrico:
 Se refiere a los parámetros de la base del conocimiento
 La determinación de probabilidades en los hechos
constituyen aprendizaje parametrico
 Se pueden manipular estas probabilidades (desde hacerle
nula para evitar el hecho, para luego si la hipótesis es
incorrecta simplemente modificar los parámetros
(probabilidades) para incluir al hecho) (eje: medico).
o Subsistema de experiencias:
o Es la inclusión de la base de datos de experiencias existentes sobre el
tema en el cual se esta aplicando el SE
o Se puede decir que un SE podría generar sin la necesidad de un Experto
Humano (contradictorio con el concepto), partiendo de datos o
experiencias recogidas por no expertos, con garantías casi iguales como
si se lo hiciese con un experto humano.
Funciones de un SE:
61
ISI 504 Inteligencia Artificial
Los elementos anteriores nos sirven para definir claramente las funciones de un
SE, siendo la mejor forma de entender que es lo realmente hay detrás de estos
sistemas y conocer sus posibilidades.
- Adquirir conocimiento
- Almacenar conocimiento
- Razonar e inferir
- Demandar nueva información
- Aprender
- Propagar incertidumbre
- Asistir al experto a dar información coherente
- Explicar las conclusiones
- Realizar ciertas acciones como consecuencia del razonamiento
- Controlar la coherencia del conocimiento del sistema
A estas se le pueden ir adicionando mas conforme avance la tecnología que en
esta área es bien agresiva.
Etapas de desarrollo de un SE:
1. Definición del problema a resolver (Análisis)
 No escatimar tiempo
 trabajar con precisión
2. Búsqueda de un EH o de los datos o experiencia
 EH que este en condiciones de resolver el problema con posibilidades
de éxito (abierto)
 En algunos casos bastara con bases de datos, experiencias que
sustituirán al EH
 prácticamente en todos los casos se cambian algunos aspectos que
ya se definieron en la primera etapa, por orientaciones del EH
3. Diseño del SE
 Donde se incluyen las estructuras para almacenamiento del
conocimiento, motor de inferencia, los sistemas de explicación,
interfase con el usuario, etc
 Se dejaran ventanas abiertas para acceso a información estadístico y
de control.
4. Elección del grado de intervención del usuario
5. Selección de la herramienta, concha o lenguaje de desarrollo
 la etapas 4 y 5, muy necesarias en su elección para evitar esfuerzos
inútiles,
 por otro lado son caras las herramientas o conchas,
 el uso de conchas es mas fiable por su control de calidad
6. desarrollo de un prototipo
7. prueba del prototipo
 las etapas 6 y 7, se convierten en un ciclo de repetición hasta que se
obtengan resultados apetecidos
8. refinamiento y generalización
 relacionado con la anterior, aquí se van puliendo defectos o
incluyendo nuevos casos no contemplados en el diseño inicial
9. mantenimiento
10.actualización
62
ISI 504 Inteligencia Artificial



Las dos ultimas etapas son muy importantes para obtener un
producto de calidad y/o con éxito comercial
En estas etapas habrá que atender las demandas de los clientes,
resolviendo sus problemas,
actualizando el sistema con nuevos avances.
Tipos de SE:
Entre los SE que se destacan están los:
 basados en Reglas
 basados en Probabilidades
Comparación de elementos en los dos sistemas:
Elementos
Modelo Probabilistico
Base del Conocimiento
Abstracto: Estructura
Probalisitica
Concreto: hechos
Motor de Inferencia
Evaluación de
probabilidades
Subsistema de explicación Basado en probabilidades
condicionales (Por
condiciones especiales
como edad, sexo, etc, que
tienen historial de que esto
ya haya ocurrido antes)
Adquisición conocimiento Espacio probabilistico,
Parámetros
Subsistema aprendizaje
Modelo Basado en Reglas
Abstracto: Reglas
Concreto: Hechos
Encadenamiento hacia
atrás y hacia adelante
Basados en reglas activas
Reglas, factores de
certeza(medida de certeza
que se tiene de un hecho.
Una de las medidas de la
Incertidumbre)
Cambio en la estructura del Nuevas reglas
espacio probabilistico
Cambio en los factores de
Cambio en los parametros certeza
(historial)
ALGORITMO SHELL BASADO EN REGLAS
(anexo programa en pascal shell.pas)
BuscarObjeto: busca un objeto en la lista de objetos y devuelve un puntero que
apunta al objeto buscado y otro al anterior. Si alguno de ellos no existe
devuelve “Nill”
- inicializa el indicarencontrado con falso y punteroanterior con nill
- busca desde el primer objeto, es decir, asigna primerobjeto a
punteroobjetoactual
- realiza un bucle: mientras no se acabe la lista de objetos (nill) y el
indicadorencontrado sea falso
o se busca por nombre del objeto
o si el nombre del objeto es igual se activa el incadorencontrado,
caso contrario asigna punteroobjetoactual a punteroanterior y
asigna al punteroobjetoactual el punteroobjetosiguiente
63
ISI 504 Inteligencia Artificial
CrearObjeto: Reserva espacio en memoria para un objeto, lo inicializa con su
nombre y valor=desconocido y conocido=falso (para ver si ya fue usado) y se
agrega a la lista de objetos
- se incrementa el numeroobjetos
- coloca en la cabeza de la lista de objetos el objeto creado
o asigna primerobjeto a apuntadorsiguiente(objeto)
o asigna punteroactual a primerobjeto
DarExpresion: Pide una premisa(objeto valor) y comprueba que el objeto
implicado esta en la lista de objetos; sino existe el objeto lo crea
- busca el objeto en la lista de objetos con BuscarObejto y si no existe
crea el objeto con CrearObjeto
CrearRegla: Reserva espacio en memoria para una regla, la inicializa, solicita
sus premisas y su conclusión, almacena los punteros correspondientes de las
premisas y conclusión en la regla y a su vez coloca la regla en la lista de reglas
- aumenta el numero o contador de reglas
- coloca en la cabeza de la lista de reglas la regla creada
o crea los campos de la regla nueva y deja vacio “nill” los
apuntadores a las premisas y conclusión. Asigna primeraregla
a apuntadorsiguiente(regla)
- pide datos de la primera premisa con Darexpresion con
apuntadorsiguiente(premisa) en “nill”
- luego pide las siguientes premisas Darexpresion hasta cierto limite,
siempre controlando los apuntadores (con el truco de
apuntadoranterior)
para
ir
actualizando
el
apuntadorsiguiente(premisa) de la premisa anterior (guardar
apuntador hacia primera premisa desde regla)
- una vez terminado las premisas pide la conclusión con Darexpresion
(similar a como se hizo con la premisa se hace con la conclusion)
- asigna punteroactual a primeraregla
BuscarRegla: Busca una regla en la lista de reglas y devuelve un puntero que
apunta a la regla buscada y otra a la anterior, si alguno de ellos no existe
devuelve “nill”
- inicializa el indicadorencontrado con falso y punteroanterior con nill
- busca desde la primera regla, es decir, asigna primeraregla a
punteroreglaactual
- realiza un bucle: mientras no se acabe la lista reglas (nill) y el
indicadorencontrado sea falso
o se busca por nombre de la regla
o si el nombre de la regla es igual se activa el
indicadorencontrado, caso contrario asigna punteroreglaactual
a punteroanterior y asigna al punteroreglaactual el
punteroreglasiguiente
BorrarRegla: borra la regla de la lista de reglas y sus premisas y conclusión
- elimina primero las premisas,
- luego elimina la conclusión
- y por ultimo la regla, reordenando los apuntadores de la lista
- baja en uno el contador de reglas
64
ISI 504 Inteligencia Artificial
HayObjetoenReglas: comprueba si un objeto aparece en la lista de reglas, bien
en las premisas o su conclusión, y lo indica
- inicializa el indicadorencontrado con falso
- busca desde la primera regla, es decir, asigna primeraregla a
punteroreglaactual
- realiza un bucle: mientras no se acabe la lista de reglas (nill) y el
indicadorencontrado sea falso
- realiza un bucle: mientras no se acabe la lista de premisas y el
indicadorencontrado sea falso
o se busca por nombre de la regla
- busca en la conclusión si no existe el objeto
- se comunica el nombre de la regla si el objeto aparece en dicha regla
BorrarObjeto: borra un objeto de la lista de objetos
- comprueba si el objeto existe o es usado en la reglas (premisas y
conclusión) por medio del procedimiento HayObjetoenReglas
- si el objeto es el primero de la lista guarda en el apuntador
primerobjeto el apuntador que apunta el elemento segundo de la
lista, caso contrario hace el juego de traspaso de apuntadores entre
el objeto anterior y el siguiente
- reduce en uno el contador de numero de objetos
InicializarObjetos: Inicializa valores de los objetos (hechos) haciendoles de valor
desconocido
- se barre toda la lista de objetos y pone en valor=desconocido y en
conocido=falso
DarValorObjetos: pide por pantalla el nombre del objeto, busca en la lista de
objetos y si encuentra pide valor, en el caso que no existe confirma si quiere
crearlo y si se crea luego pide el valor
- la búsqueda lo hace con el procedimiento buscarobjeto
- si se da valor al objeto se actualiza el valor del objeto incluyendo
tambien conocido=verdadero
BuscaRegla: busca la primera regla que incluye a un objeto dado en su
conclusión
- inicializa el indicadorencontrado con falso
- busca desde la regla que pasan como parámetro
- realiza un bucle: mientras no se acabe la lista de reglas (nill) y el
inidicadorencontrado sea falso
o se busca en el objeto conclusión de cada regla
EncadenamientoHaciaAtras: realiza el encadenamiento de la reglas hacia atrás
- previo a invocar al procedimiento EncadenamientoHaciaAtras se pide
el nombre del objeto a investigar y se verifica si existe en la lista de
objetos mediante el procedimiento BuscarObjeto
- y luego de ejecutar el procedimiento EncadenamientoHaciaAtras y
sino se ha pedido explicación se muestra el nombre del objeto con su
valor
- ahora si nos toca indicar como funciona propiamente el
EncadenamientoHaciaAtras:
o analiza si el objeto buscado ya tiene valor, es decir, si ya es
conocido no hace el proceso
65
ISI 504 Inteligencia Artificial
o sino no es conocido, inicializa el indicadorencontrado=falso,
busca la primera regla que tenga objeto en la conclusión
(buscaregla)
o crea un bucle: mientras no se acabe la lista de reglas y el
indicadorencontrado=falso
- inicializa el indicador mal=falso
- crea un bucle: mientras no se acabe la lista de premisas
de la regla que se esta analizando e indicador mal=falso
 realiza EncadenamientoHaciaAtras con el objeto
de la premisa de la regla
 Si el valor del objeto de la premisa <> al valor
del objeto Entonces activamos el indicador
mal=verdadero
 Caso contrario repite el proceso con la siguiente
premisa
- Si el indicador mal=falso Entonces se activa la regla
porque todas las premisas son ciertas:
 Valor del objeto=valor de la conclusión de la
regla
 Objeto_Conocido=verdadero
 Indicadorencontrado=verdadero
 Si
Indicadorexplicacion=verdadero
Entonces
visualizamos “concluye que: objeto tal=valor tal,
basado en regla: regla tal”
- Repite el proceso con la siguiente regla, mediante el
juego de apuntadores (apuntador siguiente)
o Si indicadorencontrado=falso Entonces solicita el valor del
objeto porque no pudo concluir el encadenamiento de las
reglas (esto pasa cuando el objeto a buscar(Premisa) no
encuentra, pide el valor para valorar o comparar con los
valores del objeto abstracto(Premisa)) . Igualmente:
- Valor del objeto=valor ingresado
- Conocido=verdadero
EncadenamientoHaciaAdelante: realiza el encadenamiento hacia delante de las
reglas
- crea un bucle: repeat (until indicadorconcluye=falso) (para revisar
todas las reglas y no solo salir a la primera regla activada)
o inicializo indicadorconcluye=falso
o comienzo
desde
la
primera
regla,
punteroreglaactual=primeraregla
o crea un bucle: repeat (until punteroreglaactual=nill), es decir,
hasta que se acaben de analizar todas las reglas
- Si el objeto conclusión de la regla analizada es
desconocido (conocido=falso)
 Entonces, analiza las premisas de la regla
o Inicializa indicador mal=falso
66
ISI 504 Inteligencia Artificial
-
o Crea un bucle: mientras no se acabe la
lista de premisas de la regla que se esta
analizando e indicador mal=falso
 Si el valor del objeto de premisa
<> al valor del objeto evidencia
Entonces activamos el indicador
mal=verdadero
 Caso contrario repite el proceso con
la siguiente premisa
o Si el indicador mal=falso Entonces aplicar
la regla si todas las premisas se verifican:
 Valor del objeto=valor de la
conclusión
 Objeto_Conocido=verdadero
 Indicadorconcluye=verdadero
 Si
 Indicadorexplicacion=verdadero
 Entonces visualizamos “ concluye
que: objeto tal = valor tal, basado
en regla: regla tal”; es decir,
comunica que regla ha aplicado
para concluir el valor del objeto
 Caso contrario, solo dice que
concluye pero no dice con que regla
o Repite el proceso con la siguiente regla
(punteroreglaactual=punteroreglasiguiente
)
 Until punteroreglaactual=nill, es decir, hasta que
se acaben de analizar todas las reglas
Until indicadorconcluye=falso.
SOLUCION DE PROBLEMAS MEDIANTE BÚSQUEDA
 esto esta relacionado con agentes basados en metas, donde el
agente deberá determinar secuencias de acciones que les permita
obtener datos deseables, teniendo como meta el solucionar el problema
 formulación de metas: poner los objetivos que el agente quiere
alcanzar, y permiten organizar el curso de acciones
 búsqueda: evaluar de entre diversas secuencias de acciones posibles
que le conducen a cuyo estado que se lo conoce y por ultimo decidir por
la mejor. Su entrada es el problema y su salida es la solución que adopta
la forma de secuencia de acciones “ejecución”.
DEFINICIÓN DEL PROBLEMA Y SOLUCIONES
 problema: es un conjunto de información que el agente utiliza para
decidir lo que va a hacer
 formulación de un problema: es el proceso que consiste en decidir
que acciones y estados habrán de considerarse
 Elementos de un problema:(que serán usados en las búsquedas)
67
ISI 504 Inteligencia Artificial
-
Estado inicial: es el estado actual en el que se encuentra el
-
Conjunto de acciones: conjunto posible de acciones que agente
agente
puede emprender
o Operador: denota la descripción de una acción en función
de la cual se alcanzara un estado
o Función subsecuente S: partimos de un estado particular X,
y por medio de una acción obtenemos un conjunto de
estados. S(x) (estado inmediato siguiente)
- Espacio de estados: es el conjunto de todos los posibles
estados que pueden alcanzarse a partir del estado inicial mediante
cualquier secuencia de acciones
- Prueba de meta: es lo que al agente aplica a un estado para
decidir si se trata de un estado meta
- Costo de ruta: es una función que se asigna un costo a una ruta
determinada
ESTRUCTURA DE DATOS PARA ÁRBOLES DE BÚSQUEDA
 generación de secuencia de acciones: se logra con la expansión de
estados y no es más que partir de un estado inicial en donde se aplica
operadores que hacen que se generen un conjunto de nuevos estados.
Esto hace que tengamos un árbol de búsqueda, y es donde vamos a
aplicar la estrategia de búsqueda que mas nos convenga
 estructuras de datos para los árboles de búsqueda: son muchas la
formas de representar los nodos, pero al menos lo básico del nodo debe
contener:
- estado, en el espacio de estados al que corresponda el nodo,
- el nodo padre, es el nodo que genero el árbol de búsqueda
- el operador, que se aplico para generar el nodo (algoritmo de
expansión de estados)
- profundidad del nodo, cuantos nodos de la ruta hay desde la
raíz hasta dicho nodo
- el costo de ruta, de la ruta que va del estado inicial al nodo.
descripción informal de un algoritmo general de búsqueda
función BÚSQUEDA-GENERAL(problema, estrategia) produce
una solución, o falla
inicializa el árbol de búsqueda empleando el estado inicial
del problema
hacer un bucle
Si no hay candidatos para la expansión,
Responda con falla
Caso Contrario
Escoja un nodo hoja para hacer la expansión,
de conformidad con la estrategia
Si el nodo contiene un estado meta,
Responda con la solución respectiva
Caso Contrario
expanda el nodo y añada los nodos
resultantes al árbol de búsqueda
68
ISI 504 Inteligencia Artificial



Fin del bucle
Fin de la función
margen o frontera, son los nodos que están a la espera de ser
expandidos, donde la estrategia de búsqueda actuaría sobre los
mismos para escoger cual es el próximo a expandir.
Podemos tener una lista de espera que tendrá los siguientes
procesos:
o Hacer lista de espera: crea una lista de nodos con base en
los nodos dados
o Esta Vacía?: Se pregunta a la lista de espera, responderá
afirmativo solo cuando no haya mas elementos en la lista
o Quitar frente: elimina el elemento que encabeza la lista y lo
devuelve para que sea procesado
o Función poner en lista: pone un conjunto de elementos en
la lista de espera. La variación de cómo hacerlo hace que varié
los algoritmos de búsqueda
Algoritmo general de búsqueda
función
BÚSQUEDA-GENERAL(problema,
Función-lista-deespera) Responde una solución, o falla
nodos <-- Hacer-lista-de-espera(hacer nodo(estadoinicial[problema])) (inicializa con el nodo padre)
hacer un bucle
Si nodos esta vació
Responda con falla
Caso Contrario
nodo <-- Quitar-frente(nodos)
Si Prueba-meta[problema] se aplica a Estado(nodo)
y se tiene éxito
Responda con nodo
Caso Contrario
nodos
<-función-lista-de-espera(nodos,
Expandir(nodo, Operadores[problema]))
Fin del bucle
Fin de la función.
BÚSQUEDA SIN RESPALDO DE INFORMACIÓN (CIEGA)
Son búsquedas que no cuentan con información, es decir, no existe información
sobre los pasos necesarios, ni el costo de la ruta para pasar del estado actual a
la meta, lo único que se tiene es como saber si se llego al estado meta.
Dentro de este tipo de búsquedas tenemos:
BÚSQUEDA PREFERENTE POR AMPLITUD
- Esta es la mas sencilla, pues se comienza con la expansión del
nodo raíz, luego todos los nodos generados por este, luego, sus
sucesores y así sucesivamente
- En general los nodos que están en nivel d se expanden mas
rápido de los que están en d+1
- Para implementar esta búsqueda, se utiliza el algoritmo de
búsqueda-general con una función de lista de espera mediante la
69
ISI 504 Inteligencia Artificial
-
que vamos poniendo los estados recién generados al final de la
lista (porque evaluara nivel por nivel), a continuación de los todos
los estados generados previamente
Es muy sistemático, se parte con las rutas de nivel 1, luego de
nivel 2, etc.
Dejando activos las expansiones de los nodos, consume mas
memoria, porque luego tiene que utilizar los nodos expandidos
Si hay varias soluciones, encontrara la primera del estado meta
mas próximo
Es muy eficiente si el costo de ruta es una función que no
disminuye al aumentar la profundidad del árbol
grafico pag. 80 (inteligencia artificial)
BÚSQUEDA DE COSTO UNIFORME
- Se modifica a la búsqueda preferente por amplitud para que al
momento de expandir, lo haga al nodo de menor costo (medido
por el costo de ruta g(n) en vez del nodo de menor profundidad)
- Se encuentra una solución mas barata siempre y cuando el costo
de ruta es una función que no disminuye al aumentar la
profundidad del árbol
- g(Sucesor(n) >= g(n)
en todos los nodos n
- g(n)= costo de ruta desde la partida al nodo n
70
ISI 504 Inteligencia Artificial
grafico pag. 82 (inteligencia artificial)
BÚSQUEDA PREFERENTE POR PROFUNDIDAD
- Consiste en expandir uno de los nodos que se encuentre en lo
mas profundo del árbol. Solo si la búsqueda se conduce a un
callejón sin salida se revierte la búsqueda y se expanden los
nodos de niveles menos profundos
- Para implementar esta búsqueda, se utiliza el algoritmo de
búsqueda-general con una función de lista de espera mediante la
que vamos poniendo los estados recién generados a la cabeza de
la lista, puesto que el nodo recién expandido fue el mas profundo,
los respectivos sucesores estarán a profundidades cada vez
mayores
- Optimiza la memoria, porque libera las ramas de los árboles ya
probados hasta su profundidad porque ya no van ha ser
evaluados luego
- Es peligroso cuando hay árboles de profundidad infinita
71
ISI 504 Inteligencia Artificial
grafico pag. 83 (inteligencia artificial)
BÚSQUEDA LIMITADA POR PROFUNDIDAD
- Se elimina el problema de búsqueda preferente por profundidad,
donde se podría ir al infinito su búsqueda, esto se supera
poniendo limites de profundidad
- Se debe buscar un calculo adecuado para medir estos limites, de
pronto se escoge algo básico como podría ser el numero de
elementos, ejemplo: buscar rutas entre 20 ciudades, no podría
haber profundidad de mas 20 niveles
BÚSQUEDA POR PROFUNDIZACION ITERACTIVA
- Es una mezcla de búsqueda preferente por profundidad y
preferente por amplitud, (libera ramas del arbol en cada búsqueda
de profundidad)
-
-
porque prueba todos los limites de profundidad posibles
(profundidad 0, profundidad 1, profundidad 2, etc.), es decir, hace
ejecutar el método de búsqueda limitada de profundidad con la
limite (0, 1, 2, etc.)
En donde Optimiza la memoria, porque libera las ramas de los
árboles ya probados hasta su profundidad
Es mucho mas optimo y completo que los anteriores
72
ISI 504 Inteligencia Artificial
grafico pag. 85 (inteligencia artificial)
BÚSQUEDA BIDIRECCIONAL
- Es una búsqueda simultanea que comienza a partir del estado
inicial y que retrocede a partir de la meta (en paralelo) hasta que
se detenga cuando ambas búsquedas se encuentren en un punto
intermedio
- Es mucho mas compleja ya que se debe poder arrancar desde
inicio como el resto de búsquedas, pero también desde la meta
hacia atrás.
BÚSQUEDA CON RESPALDO DE INFORMACIÓN (Heurística)
En esta modalidad de búsquedas se cuenta con información, es decir existe
información que nos permite facilitar la búsqueda (obtener la mejor ruta) para
pasar del estado actual a la meta. Mas eficiente que la otra modalidad siempre
y cuando exista información que lo respalde
- Para efectos de decidir que nodo se debe expandir, se debe contar
con una “función de evaluación”, que es la representación de los
deseable (o no deseable) con un numero
- Si los nodos se ordenan de tal modo que se expanda aquel con mejor
evaluación, estaremos hablando de una “búsqueda preferente por lo
mejor”, donde se evalúan 2 tipos de aproximaciones básicas:
o Se trata de expandir el nodo mas cercano a la meta
o Y utilizar la ruta de menor costo
Función
BÚSQUEDA-PREFERENTE-POR-LO-MEJOR(problema,
FUNCION-EVALUACION) Responde con una secuencia de
solución
73
ISI 504 Inteligencia Artificial
Entradas:
problema, un problema
función-Evaluación, una función de evaluación
Función-lista-de-espera  una función que ordena los
nodos mediante FUNCION-EVALUACION
Responde con BUSQUEDA-GENERAL(problema, funciónlista-de-espera)
BÚSQUEDA HEURÍSTICA AVARA
- O denominada “reducir al mínimo el costo estimando para
alcanzar una meta”
- Lo que se pretende es expandir el nodo que este mas cercano a la
meta
- En la mayoría de veces no es posible calcular exacto el costo que
implica el llegar a la meta, por lo que se estima y se dan las
funciones heurísticas (h) “palabra griega encontrar o descubrir”
- h(n)= costo estimado de la ruta mas barata que une el estado del
nodo n con un estado meta, donde h(n)=0 cuando n es una meta
- aquella búsqueda preferente por lo mejor que utiliza (h) para
escoger cual es el siguiente nodo a expandir se denomina
“búsqueda avara”
función BÚSQUEDA-AVARA(problema) Responde con solución o
falla
responde
con
BÚSQUEDA-PREFERENTE-POR-LOMEJOR(problema, h)
- como dijimos (h) puede ser cualquier función que ayude a estimar
el costo mas barato de un ruta, es así, que uno de los mas
populares es la distancia en línea recta hDLR(n) que mide la línea
entre n y la ubicación de la meta
nodo partida ------ nodo n ---h(n)-- nodo meta
-
la búsqueda avara se parece a la búsqueda preferente por
profundidad, porque su método es utilizar una sola ruta hasta
llegar a la meta, pero se atoran cuando existe callejones sin
salida, es decir puede existir los problemas del infinito.
BÚSQUEDA HEURÍSTICA ADMISIBLE
- La búsqueda avara permite reducir al mínimo el costo de la meta
mediante una función heurística (h) que estima el costo desde el
nodo n hasta la meta, pero no es suficiente; En cambio la
búsqueda por costo mínimo g(n) lo que trata es encontrar el costo
mínimo desde el nodo de partida hasta el nodo n.
nodo partida ---g(n)-- nodo n ---h(n)-- nodo meta
-
-
Por esto que se necesita mezclar estas dos metodologías y conseguir
una completa y es la heurística admisible A*, donde sumamos las 2
funciones anteriores y obtenemos f(n)
o F(n) = g(n) + (h(n)
Con esto encontramos una solución completa mas barata
74
ISI 504 Inteligencia Artificial
-
-
Lo importante en esta metodología es nunca sobreestimar (admisible)
el costo que implica alcanzar una meta, porque puede ser mas
cercano a la meta pero puede ser mas costoso
Ejemplo: si queremos conseguir llegar a un nodo, donde, por el un
lado debe pasar por dos nodos de distancias mas largas, que pasar
por otra vía que solo tengo un nodo mas corto, pero resulta ser que
el de dos nodos es menos costoso a pesar que es mas largo.
BUSQUEDA POR ASCENSO A LA CIMA
Es una búsqueda donde se tiene toda la información de cómo encontrar la
solución, siendo irrelevante la ruta a través de la cual se obtiene la solución.
Para estos casos es mejor los algoritmos de mejoramiento iteractivo. La idea
básica es empezar con una configuración completa y efectuar modificaciones
para mejorar su calidad.
Si hacemos una analogía es como si todos los estados están sobre una
superficie de un paisaje; la altura de cada uno de los puntos corresponde a la
función de evaluación del estado de ese punto (fig 4.13). El objetivo de estos
algoritmos es explorar en el paisaje las cimas más altas, es decir de soluciones
más optimas.
Dos son los tipos de búsquedas de mejoramiento iteractivo: ascenso a la cima y
endurecimiento simulado.
La búsqueda por ascenso a la cima, consiste en un bucle que constantemente
se desplaza en dirección de un valor ascendente. Este algoritmo no mantiene
un árbol de búsqueda, la estructura de cada nodo tiene básicamente el registro
del estado y su evaluación (VALOR), es importante mencionar que cuando
existe mas de un sucesor idóneo se escoge al azar o si son muchos se puede
tomar una estrategia especial de decisión (horizontal, vertical). Al tomar al azar
puede causar ciertos inconvenientes:
 Máximos locales: es cuando se encontró una máxima cima local y
no es global, dejando de buscar en el resto de la superficie
75
ISI 504 Inteligencia Artificial
Planicie: donde no se encuentra valores superiores para seguir y
se debe aplicar el concepto de azar
 Riscos: cuando las pendientes son muy pronunciadas y llega
fácilmente al pico, pero luego cae.
Para estos problemas anteriores se debe aplicar el ascenso a la cima con
reinicio aleatorio, en donde si caemos en los inconvenientes anteriores
debemos reiniciar la búsqueda, almacenando lo que se hizo para luego
comparar con los futuros intentos y escoger el mejor.

BUSQUEDA DE ENDURECIMIENTO SIMULADO
En la búsqueda por ascenso a la cima, si teníamos inconvenientes al quedarnos
atorados en máximos locales hacíamos un reinicio al azar, pero en este caso
descendemos unos cuantos pasos para escapar del máximo local.
El algoritmo internamente tiene la búsqueda por ascenso a la cima (azar) si
mejora la situación lo ejecuta, de lo contrario el algoritmo realizara la acción
con cierta probabilidad inferior a 1, haciendo que la probabilidad disminuya con
lo”malo” de la acción.
76
ISI 504 Inteligencia Artificial
SISTEMAS EXPERTOS MODELOS
- Lo que se ha hecho hasta el momento es dar una base para entender
los principios de SE, de modo que se puede saber la fortaleza y
limitaciones de las técnicas actuales
- Los modelos que veremos se basan en”la
programación del
conocimiento” que han cubierto varias áreas de la ciencia como
sistemas de enseñanza, comprensión de lenguaje natural,
diagnostico, entre otros. Además, han cubierto la generación de su
propio conocimiento.
- Así describiremos algunos de los sistemas modelos de
diagnostico(conocimiento-incierto y de aproximación asociativacausal), por otra parte los de reducción de grandes espacios de
búsqueda mediante podas.
(1) SISTEMAS DE DIAGNOSTICO A PARTIR DE CONOCIMIENTO INCIERTO
- basados en reglas con razonamiento a partir de datos y conocimiento
inciertos (no es certero, puede ser P(E|A), FC, etc.)
- estos sistemas son para problemas con conocimiento indefinido y de
datos imprecisos, en vez de los que manejan el espacio del problema.
- Dado lo delicado del dominio de diagnostico, el espacio de búsqueda
se puede mantener aceptablemente pequeño, porque se utiliza una
simple técnica de reducir el problema bajo el concepto de “probar”
una solución determinada
- Razona sin necesidad de conocimientos “causales o teóricos”, tan solo
de conocimiento de “primeros principios”
- Hablamos
de
mycin(enfermedades
infecciosas)
y
el
prospector(geología: evaluación de lugares yacimientos, la
77
ISI 504 Inteligencia Artificial
evaluación de recursos geológicos, y evaluación de mejores lugares
de perforación)
- Mycin utiliza factores de certeza y en cambio Prospector
probabilidades condicionales y teorema de bayes
- Ambos sistemas son creados con estructuras de control simples, cuya
arquitectura se basa en métodos de producción (hechos-clasesrelaciones, reglas-relaciones y estructura de control)
o Micyn:
- colección de hechos (de forma objeto-atributo-valor),
- conjunto de reglas de producción (Si premisa
ENTONCES acción(FC)),
 ejemplo de regla:
 Si
No se sabe si el organismo fue capaz de
desarrollarse
en
presencia
del
aire(aeróbicamente)
Y
(El lugar de cultivo es la sangre
O
El laboratorio ha intentado que el
organismo se desarrolle sin la presencia del
aire (anaerobicamente))
Y
el organismo fue capaz de
desarrollarse anaerobicamente
 ENTONCES
Hay evidencia de que el organismo es
aerobico (.5) o anaerobico (.2)
- generador de inferencias con encadenamiento hacia
delante y hacia atrás, junto con una estructura de
conocimiento que capacita a la estructura de control
para decidir que reglas utilizar de todas la posibles para
hacer el mecanismo de inferencia
o Prospector:
- colección de hechos (de forma objeto-atributo-valor),
- conjunto de reglas de producción,
- los espacios son evidencias observables donde cada uno
tiene un valor de probabilidad para su certidumbre. Los
espacios pueden ser premisas (Y, O o No) y otras
pueden ser acciones, formando así redes. Si algún
espacio de probabilidad cambia, este se propaga en la
red
- un mecanismo que realice inferencias con conocimiento
incierto por medio de probabilidad condicional
(2) SISTEMAS APROXIMACIONES ASOCIATIVA Y CAUSAL AL DIAGNOSTICO
- es el típico razonamiento de médicos clínicos, dando el diagnostico
exacto en situaciones complejas donde se presenta mas de una
enfermedad.
- Se presentan bajo diferentes tipos de redes asociativas de
enfermedades con sus síntomas
78
ISI 504 Inteligencia Artificial
Se basa en armar un conjunto de enfermedades como posibles
candidatas causantes de los síntomas, y, entonces, se emplea alguna
estrategia que depende del numero de candidatos en el propósito de
elegir entre ellos. Hablamos de Internist
o Aquí se eligen inicialmente las enfermedades que tienen
alguna o todas las manifestaciones del paciente, para luego
continuar con la búsqueda de enfermedades con las restantes
manifestaciones y así hasta que no haya síntomas que queden
sin aplicar
o Dentro de la información de las enfermedades contiene:
- Lista de manifestaciones observadas que no se
relacionan con la enfermedad
- Lista de manifestaciones observadas que se relacionan
con la enfermedad
- Lista de manifestaciones que son relacionadas con la
enfermedad pero no están presentes en el paciente
o Utiliza el modelo de “diagnostico diferencial”, es decir, de
enfermedades mutuamente exclusivas
- Existen otros que a más de determinar la enfermedad presente puede
también predecir el progreso de la enfermedad en un intervalo de
tiempo y por supuesto nos da el tratamiento. Hablamos de
Casnet(fortran).
o Basado en “planes de conocimiento”: 3 para enfermedades y 1
para tratamiento, y todos estos relacionados:
1) observaciones (síntomas)
2) estados patofisiologicos
3) categorías de la enfermedad
4) planes de tratamiento
(3) SISTEMAS DE REDUCCION DE GRANDES ESPACIOS DE BUSQUEDA
MEDIANTE PODAS
- enfrente las dificultades derivados del tamaño de espacio del
problema
- para esta solución se ocupa una técnica de planificar-generar y
probar, como es el caso de DENDRAL y META-DENDRAL
(determina la estructura química de algún compuesto desconocido)
- donde se genera un árbol con nodos de estados hasta una
profundidad dada con estados elegidos. Después se aplica pruebas
heurísticas y se toma la decisión de seguir elaborando la rama o
podarla, interrumpiendo la posible propagación
- el éxito de la técnica de planificar-generar-probar depende mucho de
la forma de desarrollar el espacio de estados y también de la
capacidad de predecir pronto en el desarrollo del árbol del problema
que ramas conducirán a la solución.
- Se necesita que el ingeniero del conocimiento conozca del tema por
cuanto el sistema no trata de simular o reemplazar al Químico, sino
mas bien ayudar para descubrir las estructuras
- DENDRAL:
o Se compone de 3 etapas:
-
79
ISI 504 Inteligencia Artificial
Planificación:
 Se emplea para inferir unas listas con las
subestructuras necesarias(Lista correcta) y
con las prohibidas(lista incorrecta).
 Al armar la lista correcta se encontrara con
encadenamiento de reglas que se consideran
 Puede existir un efecto muy drástico al
momento de eliminar subestructuras, tener
cuidado
- Generador:
 Es el centro del sistema Dendral, que genera
el espacio de búsqueda con las posibles
estructuras químicas, que un inicio no tenia
controles para evitar generar estructuras que
los Químicos habrían eliminado de inmediato
- Prueba:
 Maneja 2 programas para probar las
estructuras, un primero que es general y un
segundo que es mas especifico (Prueba meta)
 Como resultado de esto se exponen las
estructuras propuestas
META-DENDRAL:
o Igualmente tiene 3 etapas:
- Planificación (especifico):
 Interpretación de los datos y resumen
-
-

-
-
(semiautomática)
Genera reglas especificas de fragmentación
de moléculas
Generador (general):
 A partir de las reglas especificas de la etapa
anterior, genera reglas generales
 Generan un conjunto de reglas candidatas
Prueba:
 Es necesario probar para quitar redundancia,
eliminando evidencia negativa,
 Dando como resultado reglas generales
depurados.
80
Descargar