EL MUNDO DE WUMPUS
M.Sc. Ing. Raul Ricardo Sulla Torres
CONOCIMIENTO
Niveles del entendimiento
Es humano.
Es una apreciación del por qué.
Entendimiento Puede generar conocimiento.
sabiduría
crítica del
entendimiento
entendimiento
entendiendo
principios
conocimiento
entendiendo
patrones
información
entendiendo
relaciones
datos entendimiento
Conocimiento
La semántica.
Determina los hechos del mundo a los que se hace
alusión en las oraciones o sentencias.
implican
Oraciones Oraciones
Semántica
Semántica
Representación
Mundo
Hechos Hechos
producen
Ejercicio
V3
V2
V5
Ejercicio
Intente identificar una fórmula para representar algún
estado para el problema de la dama china. Entregar la
fórmula para los tres estados indicados
El objetivo del juego es llegar al casillero inicial del
oponente. Los movimientos posibles son: [arriba ( ↗),
arriba(↖)] o [abajo (↘), abajo(↙)], no es posible avanzar de
frente [frente (→), frente(←)], pero se puede saltar una
ficha del oponente [saltar (S)], no es posible “comer una
pieza”.
RACIONALIDAD
Racionalidad
Aprender de la experiencia
Encontrar sentido a mensajes ambiguos
Responder rápidamente a situaciones
nuevas.
Entender e inferir en forma racional.
Aplicar conocimiento para manipular el
medio que nos rodea.
Aplicar y adquirir conocimiento nuevo.
Pensar y razonar.
Aspectos de la Inteligencia
INTELIGENCIA ARTIFICIAL
Percepción
INTELIGENCIA HUMANA Aprendizaje
Percepción Memoria y asociación
Aprendizaje El pensamiento abstracto.
Memoria y asociación Razonamiento
El pensamiento Solución de problemas
abstracto. Creatividad e imaginación
Razonamiento
Conciencia
Solución de problemas
Creatividad e
imaginación
Conciencia
Ejercicio
http://cogsci.ucsd.edu/~asaygin/tt/ttest.html
La prueba de Turing
Lógica fuzzy(1968)
Actuar racionalmente:
El agente racional
Procesos INTERNOS
ENTRADAS
Conoce
Sensor del ambiente Comprensión/
intencionalidad
Vé
Oye Razona
Toca
Gusta
Huele
Comportamiento
SALIDAS
Tipificando a un agente inteligente
SENSORES
PERCEPCIONES
?
AMBIENTE
AGENTE
ACCIONES
EFECTORES
Qué es un agente inteligente
Actuante racionalmente
Actuar de forma de lograr las metas deseadas
“El enfoque del agente racional” - a ser encarado en esta disciplina.
Imagine usted mismo como se hacen las decisiones correctas
• a veces pensando racionalmente (enfoque europeo)
• otras teniendo reflejos racionales (enfoque truqués)
Qué es un agente racional
Satisfacción de restricciones
Depende de
LA SECUENCIA DE PERCEPCIONES - TODO LO
QUE EL AGENTE HA PERCIBIDO HASTA AHORA
(GESTIÓN DE LA MEMORIA).
• No se puede criticar a un agente por no saber lo que
nunca supo
LA MEDIDA DE BUEN ÉXITO ELEGIDA
• función de utilidad
CUÁNTO CONOCE EL AGENTE DEL AMBIENTE
EN QUE OPERA
• Lista de hipótesis de cómo es el mundo
LAS ACCIONES QUE EL AGENTE ESTÉ EN
CONDICIONES DE REALIZAR
AGENTE INTELIGENTE IDEAL
Ejemplo - Glóbulos vivos finitos predictores -
de Dewdney - ingresar iterativamente
010011010011010011
Contrajemplo : ingresar 011000010110
• imposible e
• impráctica.
Algo más (Herbert Simon)
La razón es solamente un
instrumento porque
no nos puede predecir hacia donde ir - no
nos propone metas
a lo sumo nos ayuda a decidirnos cómo
llegar a una meta (a través del análisis de
medios y fines)
Algo más (Randall Beer)
Ejemplos de
descripciones
PaMA de un
dado agente
ttípico
P-percepción
a-acción
M-meta
A-ambiente
Análisis PaMA
La meta de la IA es la construcción de agentes inteligentes: En cualquier
algoritmo aplicado a un tema de IA debemos reconocer cómo cada parte
contribuye a dicha meta.
Analicemos las máquinas (limitadas) de la IA como agentes inteligentes.
La meta planteada por la medida del buen éxito de ese agente suele ser
combinación de varias submetas.
• Las técnicas para combinar submetas o multiobjetivos tienen un EJEMPLO
muy instructivo en el APH de Thomas Saaty.
El análisis PaMA es un ejemplo de
la estrategia general de la ingeniería de “dividir para conquistar”
• P+a+M+A cada sumando es más fácil que la suma ponderada.
la aplicación del ANÁLISIS DE REQUISITOS , que resuelve un problema
analizando qué es obtenible como input y qué es deseado como output.
• Otro Ejemplo: al analizar un sistema de imágenes satelitales,
percepciones: pixels de intensidad y longitud de onda variables
acciones: mover la cámara, cambiar el filtro, imprimir letreros como
”tanque82"
metas: identificación cercana a la realidad de todos los objetos de la
imagen
ambiente: imágenes distorsionadas provenientes de una cámara satelital
Tachero new agepiloto automático
Percepciones
– video
– acelerómetro, instrumental del tablero
– sensores del motor
– teclado
acciones
– gestión del volante
– acelerar y frenar
– bocina
– hablar/graficar
Metas
– seguridad, llegar a destino, maximizar ganancias,
obedecer las leyes, satisfacción del cliente
Ambiente
– calles urbanas, avenidas, tráfico, peatones, clima, tipo de
cliente
Estructura de un agente inteligente
Como todos los agentes tienen una estructura básica o mínima
o esquelética igual, se puede investigar cuál es ella.
Resulta así un AGENTE ESQUELÉTICO:
function
functionSkeleton-Agent(percept)
Skeleton-Agent(percept)returns
returnsaction
action
static: memory, the agent's memory of the world
static: memory, the agent's memory of the world
memory
memory Update-Memory(memory,
Update-Memory(memory,percept)
percept)
action
action Choose-Best-Action(memory)
Choose-Best-Action(memory)
memory
memory Update-Memory(memory,
Update-Memory(memory,action)
action)
return action
return action
Desde un punto de vista estricto, no es necesario que el agente
guarde en su memoria las percepciones entrantes depende
del dominio. Un dominio es un fragmento del mundo acerca del
que deseamos adquirir conocimiento.
El agente esquelético no incorpora la medida de buen éxito en su
meta se entiende que ella está siendo aplicada externamente.
Código en Lisp del agente esquelético
\code{\func{Skeleton-Agent}{{\ts}\var{percept}}{action}
\firststatic{memory}{the agent's memory of the world}
\bodysep
\setq{\var{memory}}{\prog{Update-Memory}
(\var{memory{\ac}percept})} \setq{\var{action}}
{\prog{Choose-Best-Action}(\var{memory})}
\setq{\var{memory}}{\prog{Update-Memory}
(\var{memory{\ac}action})}
\key{return} \var{action}}
IDEAL: DISPONER DE UNA TABLA
Lo básico de un agente tabla-intensivo:
function
functionTable-Driven-Agent(percept)
Table-Driven-Agent(percept)returns
returnsaction
action
static:
static:percepts,
percepts,aasequence,
sequence,initially
initiallyempty
empty
table,
table,aatable
tableindexed
indexedby
bypercept
perceptsequences,
sequences,initially
initiallyfully
fullyspecified
specified
append
appendpercept
percepttotothe
theend
endofofpercepts
percepts
action
action LookUp(percepts,
LookUp(percepts,table)
table)
return action
return action
Agente
.
Sensores
Ambiente
cambios Qué acción debo
Reglas Si-
hacer en este
Entonces
conocimiento momento
Efectores
¿Qué es un agente reactivo simple?
Las reglas condición-acción
permiten establecer la conexión
entre percepción y acción.
A la derecha del agente se indica
el estado interno, único en un
momento dado del proceso
decisional.
A la derecha está la base de
conocimiento en forma de reglas
de producción.
El sencillo programa del agente
aparece más abajo
Interpret-input genera una function
descripción abstracta del estado functionSimple-Reflex-Agent(percept)
Simple-Reflex-Agent(percept)returns
returnsaction
action
static: rules, a set of condition-action rules
static: rules, a set of condition-action rules
mostrado por la percepción
Rule-match produce una regla del state
state Interpret-Input(percept)
Interpret-Input(percept)
conjunto que satisface la rule
rule Rule-Match(state,rules)
Rule-Match(state, rules)
percepción action
action Rule-Action[rule]
Rule-Action[rule]
return
returnaction
action
¿Qué es un agente reactivo cuasi-pro-
activo?
Agente
. Estado
Sensores
Cómo evoluciona el mundo
Cómo es el mundo en este
momento
Qué producen mis acciones
Ambiente
Qué acción debo
Reglas Si
Hacer en este
- Entonces
momento
conocimiento
Efectores
¿Qué es un agente reactivo cuasi-pro-activo?
Agentes bien informados de lo que pasa
Agente
. Estado
Sensores
Cómo evoluciona el mundo
Cómo es el mundo en este
momento
Qué producen mis acciones
Ambiente
¿Qué sucedería si
emprendo la acción A?
Efectores
Agentes Meta-Intensivos
Input
Inputpercept
percept
state
state Update-State(state,
Update-State(state,percept)
percept)
goal
goal Formulate-Goal(state,
Formulate-Goal(state,perf-measure)
perf-measure)
search-space
search-space Formulate-Problem(state,
Formulate-Problem (state,goal)
goal)
plan Search(search-space , goal)
plan Search(search-space , goal)
while
while(plan
(plannot
notempty)
empty)do
do
action
action Recommendation(plan,
Recommendation(plan,state)
state)
plan Remainder(plan, state)
plan Remainder(plan, state)
output
outputaction
action
end
end
Agente
. Estado
Sensores
Cómo evoluciona el mundo
Cómo es el mundo en este
momento
Qué producen mis acciones
Ambiente
¿Qué sucedería si
emprendo la acción A?
Efectores
Agentes Utilidad-Intensivos
Función Utilidad
es un mapeo de estados bajo la forma de números
reales
lleva a decisiones racionales en dos tipos de situaciones
Utilidad
Función que caracteriza el grado de satisfacción
En temas venideros se mencionará frecuentemente el
PRINCIPIO DE MAXIMA UTILIDAD ESPERADA
AHP analytical hierarchy process
.
Diferencia Sensor
o error
Retroali-
mentación
Ambiente
cambios
Elemento de Elemento
aprendizaje de desempeño
conocimiento
Meta de
aprendiz
Generador de
problema Efectores
Un modelo novedoso
Racionalidad (+)Percepción
(-)Conocimiento Previo
Agente
Es un sistema que percibe y que actúa sobre su medio
ambiente.
Tiene:
• Sensores con los que perciben
• Efectores con los que producen acciones
Para cada conjunto de percepciones, el agente toma la
acción que maximiza su rendimiento basado en la
información de la percepción y su propio conocimiento
implícito.
Agente
SI medio ambiente
Ventajas:
Proporciona criterios transparentes para evaluar
una acción.
Permite obtener resultados en tiempos razonables.
Agente Inteligente
Actúan de forma racional en su entorno
Determinantes de un comportamiento racional :
• medida de rendimiento: define el grado de éxito del agente
• secuencia de percepciones: la experiencia del agente
• conocimientos a priori sobre su entorno
• capacidades: las acciones que el agente pueda emprender
Comportamiento Racional
a partir de la secuencia de percepciones hasta el momento, y el conocimiento a priori sobre el
entorno
elegir entre las capacidades la acción que maximice la medida de rendimiento.
Racionalidad ≠ Omniscencia
la selección racional de acciones sólo se basa en la información disponible
Agente autónomo
Agente racional ideal: dado una percepción que genere la
acción que maximice su desempeño, en función a:
(+) la secuencia de percepciones anteriores.
(-) el conocimiento incorporado en el agente.
Agente=arquitectura + programa
caminar
Ahora definimos los tipos de agentes de acuerdo a su orden de
generalidad
Clase 1
Un agente conocimiento-intensivo.
El ambiente del mundo de wumpus
Representación, Razonamiento y Lógica
Clase 2
Lógica propositiva
Un agente para el mundo de wumpus
Resumen
Se introduce el diseño de un agente basado
en el conocimiento
Se presenta un lenguaje lógico sencillo pero
insuficiente, el de la lógica propositiva,
Se ejemplifica con un agente capaz de
desempeñarse bien en el mundo de
Wumpus, siendo Wumpus un juego que
provoca adicción
Representación del Conocimiento
La meta consiste en que
loop
loopforever
forever
Input ESTE
ESTEOTROOTROAGENTE,
AGENTE,aa
Inputperce
percepts
pts
KB
KB tell(KB,make-sentence(percept))
tell(KB, make-sentence(percept)) cada
cadai nstante,
i nstante,
action
action ask(KB, action-query)
ask(KB
Out put action
, action-query) cual
cualesqui
esquiereraasean
seansus
sus
Out put action
KB
KB tell(KB,
tell(KB,make-sentence(action))
make-sentence(action)) percepcio
percepciones,
nes,lolo hace
haceen en
end
end form
formaadedeoraci
oración.
ón.P.ej
P.ej. .
F ound atio ns of Art ifici al I ntell igence “ “estoy
estoyhham
ambriento”
briento” 22
Arquitectura de un agente basado en el
conocimiento
Nivel de conocimiento
es el nivel más abstracto - describimos al agente
Nivel lógico
es el nivel en el cual el conocimiento queda
codificado en oraciones
p.ej.: enlaces (Bristol, La Perla, ruta costanera
rápida)
Arquitectura de un agente basado en el
conocimiento
Nivel de implementación
es el nivel en el cual hay una representación física de las oraciones
en el nivel lógico
p.ej.:”enlaces (Bristol, La Perla, ruta costanera rápida)”
conexión{B,P,rcr} = 1
(un 1 en una tabla tridimensional)
(un conjunto de apuntadores dirigidos a los símbolos)
Representación, Razonamiento,
Lógica
Representar: lograr que sea entendible para una
computadora; y así el agente puede operar
sintaxis, forma usada para representar oraciones
semántica, mapeo desde oraciones hacia hechos del mundo
p.ej. Simulador del mundo de wumpus
• - hechos ”son consecuencia" de hechos
• - oraciones ”son consecuencia” de oraciones
• -conjuntos de oraciones “son consecuencia” de conjuntos de
oraciones.
Representación,Razonamiento y Lógica
compromiso ontológico
• para el agente, qué existe en el mundo
– en el caso de la lógica propositiva, para el agente existen
hechos que serán verdaderos o falsos
compromiso epistemológico
• para el agente, cuál es la actitud con respecto a los hechos
– en el caso de la lógica propositiva, el agente cree que
una oración es verdadera o falsa, o no ha llegado a
conclusión alguna
Tipos de lógicas y sus preocupaciones
Lenguaje Ontología Epistemología
(lo que existe) (qué cree de los hechos)
-----------------------------------------------------------------------------------
Lógica Propositiva hechos verdadero/falso/no
sabe
Lógica de primer hechos, objetos, enlaces
orden verdadero/falso/no
sabe
Lógica temporal hechos, objetos,
enlaces, tiempos verdadero/falso/no
sabe
Teoría de la
probabilidad hechos grado de certidumbre
Lógica
Lógica
lógica propositiva => 6.4
Agentes y entornos
Racionalidad
Medidad del comportamiento, entorno , actores y
sensores
Tipos de entorno
Tipos de agentes
Los agentes y el entorno
percibe
ambiente agente
acciones
efectores
Un agente
La medida de comportamiento?
El entorno?
Actores?
Sensores?
Esto supone que se pueden definir vario tipos de
entorno
Observable
S S N N
Deterministico
S N Parcialmente N
Episodico
N N N N
Estatico
S +- +- N
Discreto
S S S N
agente-solo
(Persona) S S N excep N
Podemos decir que
Solitario
Chaquette o backgammon
Taxi
Accesible ??
Determinístico ??
Episódico ??
Estático ??
Discreto ??
Tipos de ambientes y sus características
Solitario sí - sí - no - sí - sí
Chaquette o backgammon sí - no - no -semi -sí
Taxi no - no -no - no - no
Accesible
Determinístico
Episódico
Estático
Discreto
Ambientes en Internet
e_mail
Grupos de noticias
WWW
FTP
Juegos en línea
Foros
Buscadores con diversos agentes
Ambiente apto para minería de datos
Bibliotecas virtuales (p.ej., de IA)
Tipos de ambientes y sus
características
An Agent Portfolio
34
[Fig6.2]
- Percepción = [Hedor, Brisa, Resplandor, Golpe, Grito]
- el agente no puede percibir su propia ubicación
- Acciones = [avanzar, girarizquierda, girarderecha, capturar,
dispararflecha, trepar]
- agente muere al entrar a un habitáculo con pozo o con Wumpus
vivo.
- meta del agente es encontrar oro, volver al habitáculo [1,1] y
trepar.
El ambiente del mundo de Wumpus
razonamiento
ejemplos de inferencias: ubicación de
• pozos,
• wumpi y
• habitáculos sin riesgo
El ambiente del mundo de Wumpus
detalles
mundos de wumpus elegidos al azar
agentes múltiples, en comunicación
wumpi móviles
múltiples piezas de oro
lenguaje natural
aprendizaje
visión
habla
Ayudas en el mundo de wumpus
El mundo de wumpus
Percepciones
acciones ..avanzar,girarizq, etc.
Meta - Capturar el oro y volver
Ambiente – mundo de wumpus
Primer paso
Segundo paso
¿Por qué (x,y) está bien?
Percepciones: Percepciones:
[No,No,No,No,No] [No,Brisa,No,No,No]
Dos pasos mas adelante
2 olor brisa
brisa
3 W pozo brisa
olor
brisa oro
4 olor
1 2 3 4 5
Wumpus World
2 olor brisa
brisa
3 W pozo brisa
olor
brisa oro
4 olor
1 2 3 4 5
Wumpus World
1 ok ok
A
2 ok
[nil,nil,nil,nil,nil]
3 A = agente
ok= seguro
4 v = visitado
5 s =olor
b = brisa
1 2 3 4 5 g = brillo
u = bump
c = grito
Wumpus World
ok
1 ok v
b A pozo? [nil,b,nil,nil,nil]
2 ok pozo? A = agente
ok= seguro
3 v = visitado
s =olor
4
b = brisa
5 g = brillo
1 2 3 4 5 u = bump
c = grito
Cálculo de Situaciones
Ejemplos
Pared ([0,1])
Resultado(acción, S0) = S1
Resultado(Izquierda, S0) = S1
Localización
Orientación(Agente, S0) = 0o
Orientación(Agente, S0) = 0o
localidad-siguiente
p,l,s At(p,l,s) localidad-siguiente(p,s) =
dirección(l, orientación (p,s))
Adyacencia
l1,l2 adyacente(l1,l2 ) d l1=dirección(l2 ,d)
Pared
x,y pared([x,y]) (x=0 x=lim y=0 y=lim)
Localización
Ausencia de variable = 0;
Brisa = 50;
Hedor = 50;
Oro = 250;
En caso de encontrar brisa y hedor se suma sus
valores = 100;
Bibliografía