Download Inteligencia artificial

Document related concepts

Cyc wikipedia , lookup

Inteligencia artificial simbólica wikipedia , lookup

Representación del conocimiento wikipedia , lookup

Inteligencia artificial wikipedia , lookup

Historia de la inteligencia artificial wikipedia , lookup

Transcript
Inteligencia artificial
Sistemas de producción/razonamiento
Rn: SI
ENTONCES
condición
acción
Inteligencia Artificial
condición = {afirmaciones simples-identidad objeto}
acción = {conclusión identificación del objeto}
Pares de condición-acción
SI condición (o premisa o antecedente) ocurre;
ENTONCES acción (resultado, conclusión o
consecuente) deberá (o debería) ocurrir.
Inteligencia Artificial
Pueden ser vistas como una simulación del
comportamiento cognitivo de especialistas humanos.
Cada regla representa un “pedazo” de conocimiento
independiente.
Representan el conocimiento de forma modular.
Sistemas de razonamiento
Utilizan:
„ Lenguaje de representación de conocimiento (KRL)
Lenguaje lógico
¾ Lógica proposicional
¾ Lógica de 1er orden
Reglas de producción
¾ Lógica temporal
Inteligencia Artificial
Lenguaje objetos
¾ Frames (marcos)
¾ Redes semánticas
¾ Scripts (guiones) - De clases - De actores
Tipos de inferencia
„
Deducción: a partir de hechos de conocimiento
representados adecuadamente, se utilizan reglas de
inferencia válidas para generar nuevos hechos.
Ej.: SI hay fuego, habrá humo.
„
Abducción: inverso de deducción.
Inteligencia Artificial
Ej.: SI hay humo, hay fuego.
Inducción: Se parte de los hechos en reglas generales.
Ej.: SI Isabel no canta bien, y también Sheila no canta
bien, ENTONCES ninguna alumna canta bien.
Inteligencia Artificial
Analógico: Resolución basada en experiencias pasadas.
Ej.: Demostración automática de teoremas.
Inteligencia Artificial
Sistemas de razonamiento
„
Probadores de teoremas
9 Utilizan resolución para probar sentencias en lógica de 1er
orden.
Usados para tareas matemáticas y de razonamiento científico.
Ejemplos: SAM, AURA, OTTER.
„
Lenguajes de programación lógica
Restringen a la lógica, no permiten el tratamiento completo de la
negación, disyunción y/o igualdad.
Generalmente usan encadenamiento regresivo.
Pueden poseer algunas características no lógicas de los
lenguajes de programación.
Ejemplos: Prolog, MRS, Life.
Sistemas de razonamiento
„
Inteligencia Artificial
„
Sistemas de redes semánticas
9 Consisten en nodos conectados por arcos, donde los nodos
representan usualmente objetos del mundo y los arcos una
relación binaria entre ellos.
Ejemplos: SNEPS, NETL, Conceptual Graphs.
9
Sistemas frames
9 Consisten en una jerarquía de frames (marcos) conectados por
atributos, donde los frames representan objetos del mundo y los
atributos muestran usualmente la relación entre ellos.
Ejemplos: OWL, FRAIL, KODIAK.
Sistemas de razonamiento
„
Inteligencia Artificial
„
Sistemas de lógica descriptiva
9 Expresan y razonan con definiciones complejas de objetos y
clases y, relaciones entre ellas, utilizando redes semánticas
como principio de organización.
Ejemplos: KL-ONE, CLASSIC, LOOM.
9
Sistemas de producción
Son representaciones de patrones de sistemas que usan
implicaciones.
Las acciones son consecuencias de las implicaciones.
Las acciones pueden ser insertadas y removidas de las bases
de conocimiento.
Utilizan encadenamiento progresivo.
Usualmente poseen mecanismos de resolución de conflictos.
Ejemplos: OPS-5, CLIPS, SOLAR.
Arquitectura: sistema de razonamiento
Agente
ambiente
Inteligencia Artificial
sensores
Base de conocimiento
Máquina de inferencia
Mecanismo de aprendizaje
efectores
Inteligencia Artificial
Operaciones básicas en los sistemas de
razonamiento
„
Adicionar un hecho nuevo a la base de conocimiento.
„
Adicionar nuevas reglas (Un hecho nuevo, genera nuevas
conclusiones).
„
Decidir si una base de conocimiento atiende a una consulta
realizada.
„
Decidir si una consulta está explícitamente almacenada en
la base de conocimiento.
„
Remover hechos y reglas de la base de conocimiento.
Mantenimiento: base de conocimiento
Técnicas para mantener una base de conocimiento
con recuperación eficiente:
„
„
Inteligencia Artificial
„
Unificación
Recuperación
Indexación
Basada en tablas
Basada en árboles
Inteligencia Artificial
Encadenamiento progresivo y regresivo
„
A través del encadenamiento, poder adicionar un nuevo
hecho p a una base de conocimiento.
„
A través de inferencia, encontrar respuestas para las
cuestiones hechas a la base de conocimiento.
„
Usar denominación.
„
Ex.:
Practica (x, Natación) y Practica (y, Natación) denominaciones
Practica (x, x) e Practica (x,y) - no son denominaciones
Usar composición de sustituciones.
son
Modos de razonamiento
„
Encadenamiento progresivo (Forward Chaining):
Se parte de sentencias (reglas de inferencia) de la base de
conocimiento para producir conclusiones (afirmaciones);
También se llama procedimiento dirigido a datos (Data Driven),
pues el proceso de inferencia no es direccionado para resolver
un problema particular.
Inteligencia Artificial
Encadenamiento regresivo (Backward Chaining):
Se parte de una hipótesis a probar, procurando reglas en la
base de conocimiento retroactivamente para analizar las
asertivas que soportan la hipótesis en cuestión;
SI la premisa (antecedente) es una conjunción, sus términos son
procesados uno a uno para que sea obtenido o sea unificador.
Arquitectura
Base de conocimiento
Memoria de trabajo
Inteligencia Artificial
Conocimiento
• hechos
• reglas de producción
• Redes semánticas
• Frames
• estrategias de resolución de
problemas
• estrategias de recuperación
...
Conocimiento del problema
* aserciones relevantes
• reglas relevantes
...
Metaconocimiento
• como activar un
conocimiento relevante
Datos simbólicos
• hipótesis actuales
• objetivos actuales
• estado actual del
problema
...
Mecanismo
de
Inferencia
Agenda
• conjunto de posibles
reglas a ser aplicadas
Sistemas de producción
Inteligencia Artificial
„
Componentes
Memoria de trabajo de un sistema consiste en una
colección de asertivas verdaderas.
Base de reglas es el conjunto de sentencias (reglas de
inferencia) que determinan las acciones que deben tomarse
de acuerdo con las percepciones.
Motor de inferencia es la parte del sistema que determina
el método de razonamiento, utiliza estrategias de búsqueda
y resuelve conflictos.
Inteligencia Artificial
Funcionamiento de los sistemas de
producción
„
Tres fases: casamiento, resolución de conflictos y
ejecución.
„
Casamiento
El sistema, en cada ciclo computa un subconjunto de reglas
cuya izquierda es satisfecha por los contenidos actuales de
la memoria de trabajo.
La forma más simple de realizar unificación y eficiencia,
entonces como solución tenemos el algoritmo Rete (rede).
Ventajas del algoritmo Rete:
elimina duplicación entre reglas;
elimina duplicación a lo largo del tiempo.
Funcionamiento de los sistemas de
producción
Inteligencia Artificial
„
Resolución de conflictos
El sistema decide cuáles reglas deben ser activadas.
En esta fase podemos utilizar algunas estrategias de control:
No duplicación: no ejecutar la misma regla ni los mismos
argumentos dos veces.
Regencia: preferir reglas que se refieren a elementos de la
memoria de trabajo creados recientemente.
Especificidad: preferir reglas que son mas específicas.
Prioridad de operación: preferir acciones con prioridad
mayor, especificada por alguna categoría.
„
Ejecución de acciones
Un sistema deductivo que identifica animales:
ZOOKEEPER
„
Características de ZOOKEEPER:
Utiliza reglas con antecedentes;
Genera asertivas intermedias a partir de las reglas;
Combina estas asertivas con las originales para
producir una conclusión;
Observa hábitos y características físicas para
identificar los animales;
Inteligencia Artificial
Reglas:
Q
Q
Q
Inteligencia Artificial
Q
Q
Q
Q
Q
R1: SI x es carnívoro, x es color leonado, x tiene
manchas oscuras
ENTONCES x es una ONZA
R2: SI x da leche
ENTONCES x es mamífero
R3: SI x tiene plumas
ENTONCES x es ave
R4: SI x vuela, x pone huevos
ENTONCES x es ave
Q
Q
Q
Q
Inteligencia Artificial
Q
Q
Q
Q
Q
R5: SI x es ave, x no vuela,
x tiene cuello largo
ENTONCES x es AVESTRUZ
R6: SI x es mamífero, x tiene garras, x tiene
dientes agudos.
ENTONCES x es carnívoro.
R7: SI x es mamífero, x tiene pezuñas
ENTONCES x es ungulado.
R8: SI x es mamífero, x rumia.
ENTONCES x es ungulado.
Q
Q
Q
Inteligencia Artificial
Q
Q
Q
R9: SI x tiene pelo
ENTONCES x es mamífero
R10: SI x es carnívoro, x es color leonado, x tiene
franjas negras
ENTONCES x es TIGRE
R11: SI x es ungulado, x tiene patas largas, x tiene
cuello largo, x es color leonado, x tiene manchas
oscuras
ENTONCES x es JIRAFA
R12: SI x es mamífero, x come carne
Q ENTONCES x es carnívoro
Q R13: SI x es ungulado, x es color blanco,
x tiene franjas negras
Q
Q ENTONCES x es CEBRA
Q R14: SI x es ave, x no vuela, x nada
Q ENTONCES x es PINGUINO
Inteligencia Artificial
Q
R15: SI x es ave, x vuela, x vive en rocas
Q ENTONCES x es ALBATROS
Q R16: SI x es ave, x vuela, x tiene garras
Q ENTONCES x es AGUILA
Q R17: SI x es ave, x vuela, x vive hogar
Q ENTONCES x es GALLINA
Inteligencia Artificial
Q
Rk: SI xx1, xx2, xx3,
Q ENTONCES yyy
Q
Rn: SI zz1, zz2, zz3,
Q ENTONCES cxs
Inteligencia Artificial
Q
Encadenamiento progresivo en ZOOKEEPER
„
Para identificar un animal con ZOOKEEPER:
Hasta que las reglas no produzcan nuevas asertivas;
Hasta que el animal sea identificado.
Para cada regla
Concordar cada uno de los antecedentes de las reglas con los
hechos conocidos.
SI todos los antecedentes de reglas están confrontados,
ejecute el consecuente, a menos que ya exista una asertiva
idéntica.
Repetir las alternativas que deben ser consultadas.
Inteligencia Artificial
Encadenamiento hacia delante
(Progresivo)
Hechos
Q H1:
Q H2:
Q H3:
Q H4:
Q H5:
Q H6:
Inteligencia Artificial
Q
z tiene pelo
z tiene patas largas
z rumia
z tiene cuello largo
z es color leonado
z tiene manchas oscuras
Q
R9 establece que z es un mamífero
R8 concluye que z es ungulado,
Q porque z rumia y es mamífero.
Inteligencia Artificial
Q
Q
R11 conduce a que z es una jirafa,
„
El flujo de información se da a través de una serie de reglas
antecedente-consecuente, a partir de las asertivas para las
conclusiones.
Tiene
pelo
R9
es un mamífero
Inteligencia Artificial
Rumia
Tiene piernas largas
Tiene cuello largo
Tiene color leonado
Tiene manchas oscuras
R8
es un ungulado
R11
es una jirafa
Algoritmo
Q
Q
Enc_adelante()
HQ ninguna regla produzca una afirmación o el objeto
sea identificado
–
–
Inteligencia Artificial
–
Q
Q
Seleccionar regla
Comprobar cada antecedente contra hechos conocidos
Si corroborados los antecedentes de la regla, instancie el valor de
la variable en el consecuente (nuevo hecho)
FHQ
FinEnc_adelante.
Encadenamiento hacia atrás
hipótesis: ¿Z es ONZA?
Q hechos:
Q
Y tiene pelo,
Q
Y es de color leonado,
Q
Y tiene manchas oscuras
Inteligencia Artificial
Q
Q
R1 = necesita: Z sea carnívoro, de color
leonado y tiene manchas oscuras
se busca que Z es carnívoro.
Q Existen 2 reglas
Inteligencia Artificial
Q
R6 = debe verificar que Z es mamífero
Q de nuevo existen dos alternativas R2 y R9.
Q
R9 = Z tiene pelo, luego Z es mamífero
Q para cumplir que sea carnívoro se requiera
que Z coma carne o que tenga garras o.
Q Aunque se tienen los hechos de : Z es de
color leonado y Z tiene manchas oscuras
Q no se cumple carnívoro
Q se concluye NO Z es ONZA.
Inteligencia Artificial
Q
Algoritmo
Q
Q
Enc_atrás()
HQ todas las hipótesis se hayan intentado y alguna no se
pueda comprobar o hasta que los objetos sean
identificados
–
Para cada regla cuyo consecuente coincida con la hipótesis
Q
Q
Inteligencia Artificial
Q
–
–
–
Q
Q
confronte antecedentes con hechos,
SI se cumple V: continúe
F: considere el antecedente como hipótesis
SI todos los antecedentes se corroboraron con hechos
V: anuncie ÉXITO (hipótesis es verdadera)
F: anuncie FALLO
FHQ
Fin_alg_enc_atrás.
¿Cuál encadenamiento emplear?
Encadenamiento regresivo
Conjunto antecedentes lleve a muchas conclusiones.
Inteligencia Artificial
Si hechos conducen a conclusiones, pero número de
reglas es reducido muchos consecuentes.
Si no tiene hechos, y le interesa saber si una
conclusión es verdadera.
Encadenamiento progresivo
Q
Inteligencia Artificial
Q
Q
Una hipótesis conduce a muchas preguntas
Si número de reglas es grande, número de
conclusiones es reducido;
Si tiene los hechos y desea saber que puede
concluir.
Ventajas y desventajas de los sistemas de
producción
Ventajas
Las reglas son de fácil comprensión.
Inferencia y explicaciones son fácilmente derivadas.
El mantenimiento es relativamente simple, debido a la modularidad.
La “Incertidumbre” es fácilmente combinada en las reglas.
Inteligencia Artificial
Cada regla es (normalmente) independiente de las otras.
Desventajas
Conocimiento complejo requiere muchas (millares de) reglas.
El exceso de reglas crea problemas para utilizar y mantener el sistema.
No es robusto y no aprende.
La adquisición del conocimiento es difícil.
Sistemas de inferencia dirigidos a patrones
Programas
IA
PDIS
Inteligencia Artificial
SBR
PS
Convencional
Otros
Imperativos
Funcionales
SBN
TS
Sistemas
Lógicos
Orientados a
Objetos
Sistemas
Gramaticales
Donde:
PDIS - Sistemas de inferencia
dirigidos a patrones
SBR - Sistemas basados en reglas
SBN - Sistemas basados en redes
PS - Sistemas de producción
TS - Sistemas de transformación
Inteligencia Artificial
Preguntas
„
¿Se razona de manera natural con reglas?
„
¿Las reglas son fáciles de construir?
„
Sistemas de producción versus
Programación lógica.
Sistemas de Reacción Basados en Reglas
Q
La parte del SI
–
Q
La parte ENTONCES
–
Inteligencia Artificial
especifican condiciones que deben satisfacerse.
especifica una acción o una operación que debe
realizarse (conclusiones).
Necesitan:
Memoria de trabajo
Q Afirmaciones sobre los objetos a manipular
Q Cuál es el paso que se esta efectuando
Q Qué objetos ha manipulado
Q Cuáles falta por manipular.
Inteligencia Artificial
Q
Inteligencia Artificial
BAGGER (pasos)
1. Verificación de la orden: Analiza los productos,
detecta cuáles productos lleva y sugiere al cliente
productos que faltan.
2. Empaque de productos grandes: Empaca los
productos grandes. Botellas primero.
3. Empaque de productos medianos: Empaca
productos de tamaño mediano, productos congelados
en
empaque de
especial.
4. Empaque
productos pequeños: Empaca los
productos de tamaño pequeño.
Inteligencia Artificial
Artículos
P roducto
T ipo de
em p aq ue
T am año
C ongelado
G alletas
envase cartón
M ediano
no
Y ogurt
vaso plástico
pequeño
no
P apas fritas
bolsa plástico
m ediano
no
H elado
envase cartón
m ediano
si
P ollo
bolsa plástico
m ediano
si
G aseosa
botella
grande
no
B ocadillo
caja m adera
grande
no
BAGGER requiere saber
Q
Q
Inteligencia Artificial
Q
Cuál es el paso que esta
efectuando.
Cuál bolsa es la que se
está llenando.
Qué productos se han
empacado.
Paso = verificar orden
Bolsa actual = 1
artículos bolsa actual = 0
artículos por empacar = 7
Galletas
Yogurt
Papas fritas
Helado
Pollo
Gaseosa
Bocadillo
B1: SI Paso = verificar orden
Q Papas fritas se van a empacar
Q No existe gaseosa en los productos
Q ENTONCES sugiera llevar gaseosa
Inteligencia Artificial
Q
B2: SI Paso = verificar orden
Q
ENTONCES Paso = no verificar orden
Q Paso = empacar productos grandes
Q
Q
Q
Q
Q
Inteligencia Artificial
Q
Q
Q
Q
Q
B2: SI Paso = verificar orden
ELIMINE Paso = verificar orden
ADICIONE Paso = empacar productos grandes
B3: SI Paso = empacar productos grandes
Empacar producto grande
Producto grande es botella
Bolsa con menos de 6 productos
ELIMINE Empacar producto grande
ADICIONE Producto grande en bolsa actual
Q
Q
Q
Q
Inteligencia Artificial
Q
B4: SI Paso = empacar productos grandes
Empacar producto grande
Bolsa con menos de 6 productos
ELIMINE Empacar producto grande
ADICIONE Producto grande en bolsa actual
Inteligencia Artificial
B5: SI Paso = empacar productos grandes
Empacar producto grande
Bolsa vacía disponible
ELIMINE Bolsa actual
ADICIONE Bolsa vacía es bolsa actual
B6: SI Paso = empacar productos grandes
ELIMINE Paso = empacar productos grandes
ADICIONE Paso = empacar productos medianos
Inteligencia Artificial
Paso = empacar productos
medianos
Bolsa actual = 1
artículos bolsa actual = 2
artículos por empacar = 5
Galletas
Yogurt
Papas fritas
Helado
Pollo
Inteligencia Artificial
B7: SI Paso = empacar productos medianos
Empacar producto mediano
Producto congelado, no empaque especial
ELIMINE Producto congelado no empaque especial
ADICIONE Producto congelado empaque especial.
B8: SI Paso = empacar productos medianos
Empacar producto mediano
Bolsa actual vacía y sin productos grandes
Bolsa con menos de 12 productos
ELIMINE Empacar producto mediano
ADICIONE Producto mediano en bolsa actual
Inteligencia Artificial
B9: SI Paso = empacar productos medianos
Empacar producto mediano
Bolsa vacía disponible
ELIMINE Bolsa actual
ADICIONE Bolsa vacía es bolsa actual
B10: SI Paso = empacar productos medianos
ELIMINE Paso = empacar productos medianos
ADICIONE Paso = empacar productos pequeños
Inteligencia Artificial
Paso = empacar productos pequeños
Bolsa actual = 2
artículos bolsa actual = 4
artículos por empacar = 1
Yogurt
Inteligencia Artificial
B11: SI Paso = empacar productos pequeños
Empacar producto pequeño
Bolsa actual sin productos grandes
Bolsa actual sin productos medianos
Bolsa con menos de 18 productos
ELIMINE Empacar producto pequeño
ADICIONE Producto pequeño en bolsa actual
Inteligencia Artificial
B12: SI Paso = empacar productos pequeños
Empacar producto pequeño
Bolsa vacía disponible
ELIMINE Bolsa actual
ADICIONE Bolsa vacía es bolsa actual
B13: SI Paso = empacar productos pequeños
ELIMINE Paso = empacar productos pequeños
ADICIONE Empaque finalizado
Terminar
Inteligencia Artificial
Paso = empaque finalizado
Bolsa actual = 3
artículos bolsa actual = 1
artículos por empacar = 0
Inteligencia Artificial
Sistemas Basados en Casos
Inteligencia Artificial
Sistemas Basados en Casos
El ingeniero observa el mensaje de error que
existe en pantalla, apaga el computador,
busca en su maletín algo. Un diskette. Lo
coloca en la unidad. Prende el computador,
contesta rápidamente a un conjunto de
mensajes y luego dice, listo.
Inteligencia Artificial
El ingeniero nuevo observa el mensaje de error que
existe en pantalla, busca en su maletín un libro, pasa
cerca de 15 minutos leyendo algunos apartes, pasado
ese tiempo, apaga el computador.
Busca un diskette en el maletín, comparando la
referencia o titulo del diskette con el que esta en el
libro.
Al fin coloca uno en la unidad, prende el
computador, contesta cada uno de los mensajes en
pantalla después de leerlos adecuadamente y
observando el libro; al fin dice, listo.
Q
Q
Inteligencia Artificial
Q
En ambos casos la acción tomada fue la misma, sin
embargo, los procedimientos usados para llegar a
la conclusión fue diferente.
El primer ingeniero, se baso en su experiencia.
El segundo se remitió a una documentación que
contenía solución de problemas, es decir, contenía
modelos o casos de solución de problemas.
Un SRBC
Utiliza una biblioteca, en lugar de un conjunto de principios
iniciales.
Debe saber responder a:
Los casos en la memoria y su organización.
Inteligencia Artificial
Método a utilizar para recobrar los casos.
Cómo adaptar casos almacenados a los nuevos complejos
mecanismos para la creación de índices.
Capacidad de recordar experiencias pasadas.
Tomar el mejor caso y adaptarlo a la situación.
Sistemas Basados en Modelos
Dependen del conocimiento de la estructura,
del comportamiento del equipo,
se razona usando los primeros principios
Inteligencia Artificial
Los modelos: matemáticos o estructurales,
especialmente frames y reglas
Las reglas pueden ser:
reglas de simulación o reglas de inferencia.
Existen otros tipos de sistemas como
Inteligencia Artificial
...
Inteligencia Artificial
Jackson Peter. Introduction to Expert Systems. 2a ed.,
Addison-Wesley Publishing Company, 1990.
Russel Stuart; Norvig Peter. Artificial Intelligence. A
Modern Approach. Prentice-Hall Inc., 2004.
Winston Patrick Henry. Artificial Intelligence. AddisonWesley Publishing Company, 1998.
Inteligencia Artificial