Introducción a la IAIntroducción a la IA
Inte
ligen
cia
Art
ifici
al
Cap
ítulo
I
Agentes inteligentes
2
3
4
Un agente inteligente
Comprensión/intencionalidad
Comportamiento
VéOyeTocaGustaHuele
ENTRADAS Procesos INTERNOS
SALIDAS
Sensor del ambiente
Razona
Conoce
5
Tipificando a un agente inteligente
AMBIENTEAGENTE
?
EFECTORES
SENSORES
PERCEPCIONES
ACCIONES
6
Qué es un agente inteligentei Un agente inteligente es cualquier cosa que pueda4percibir un mundo perceptual en que esté anidado (“ambiente”)
mediante SENSORES y4actuar sobre ese mundo mediante EFECTORES (o actuadores)
hsinónimo de ambiente es “espacio de problema”hsinónimo de agente inteligente es “operador que transforma un input en
output dentro del espacio de problema”
iMETA de la IA ⇒ Diseñar un agente inteligente/racional queopere o actúe adecuadamente en sus ambientes.4Discusión sobre “adecuadamente”hFijar alguna medida de “adecuadamente” (buen éxito)hTener en cuenta el PRR ⇒ Principio de Racionalidad Restringida
de Herbert Simon
7
PRR (Herbert Simon)iEl Principio de la Racionalidad Restringida alega que la
racionalidad óptima ideal NO es el buen éxito perfecto.i Ningun ser humano apela a una mayor racionalidad que
justo la necesaria para sus fines prácticos.iLas limitaciones de un agente
hcon los SENSORES que tienehcon los EFECTORES que tiene yhcon la POTENCIA COMPUTACIONAL
– disponible y– (en algunos casos) óptima económica
4conducen a que la racionalidad ideal seahimposible ehimpráctica.
8
Algo más (Herbert Simon)
iLa razón es solamente uninstrumento porque
i no nos puede predecir hacia donde ir - no nospropone metasia lo sumo nos ayuda a decidirnos cómo llegar a
una meta (a través del análisis de medios y fines)
Agentes Racionales
Racionalidad e Inteligencia
10
Qué es un agente racional
iEl que actúa maximizando el valoresperado de la medida de buen éxito(función de utilidad) en el logro de su metaiRacional no es omniscienteiRacional no es clarividenteiRacional ideal en conflicto con el PRR
11
Racionalidad
iSatisfacción de restriccionesiDepende de4LA SECUENCIA DE PERCEPCIONES - TODO LO QUE EL
AGENTE HA PERCIBIDO HASTA AHORA (GESTIÓN DE LAMEMORIA).h No se puede criticar a un agente por no saber lo que nunca supo
4LA MEDIDA DE BUEN ÉXITO ELEGIDAh Función de utilidad
4CUÁNTO CONOCE EL AGENTE DEL AMBIENTE EN QUEOPERAhLista de hipótesis de cómo es el mundo
4LAS ACCIONES QUE EL AGENTE ESTÉ EN CONDICIONES DEREALIZAR
12
Grado de Racionalidad - Nivelde Conocimiento - Newell
iGrado de racionalidad ⇒ grado con el cual elagente racional maximiza su medida de buenéxito en lograr una meta,sujeta a su disponibilidad de4 sensores, efectores, potencia de cómputo y
conocimiento internalizado.
Allen Newell define el nivel de conocimiento por elnúmero de reglas usadas respecto de sudisponibilidad total de reglas. Ningun robot esresponsable por no usar reglas que no conoce.
…a un termostato le han dado dos reglas y las usa…
13
AGENTE INTELIGENTE IDEALiEl agente inteligente ideal es el que,
para cualquier secuencia arbitraria depercepciones, logre con su ACCIONmaximizar la medida de su buen éxito.iPara ello usa4conocimiento interiorizado4secuencia de percepciones
14
Agentes autónomos
iSon agentes autónomos los que no se guíanpor reglamento externo alguno.
Agentes Racionales y problemas
Complejidad y racionalidad
16
P, NP, NP completo, NP duroiP. Son problemas que se pueden resolver en tiempo polinómico (lo
cual significa rápido). Son muy frecuentes. Son P los que tienentiempos de ejecución O(n) y O(log n)
iNP. Un problema es NP si se puede verificar rapidamente (esto es, entiempo polinómico) que la solución hallada es correcta (aunque hayasido complicadísimo hallar dicha solución). NP se refiere a “tiempopolinomial no-determinístico” donde la voz “no-determinístico”significa en la práctica “obtenida por adivinación”. Si alguien adivinaalguna solución, es rápido verificar si es correcta como solución.
i No se ha podido probar que un arbitrario problema NP se puedareducir a P, lo cual lleva al tema de la clase de problemas NP-duros.
i La subclase “de problemas NP-completos” se interpretan como quela voz “completo” indica el ejemplo más difícil de resolver dentro deltipo de problema.
17
Teoría de la completitud NPProblemas NP-duros. Si fuesen polinómicos se verificaría P =
NP. Algunos problemas, como quizás el clásico del viajante decomercio, es probable que sean imposibles de resolver encualquier computadora arbitraria (se trata de un problema NP-duro, hasta donde se conoce). Se lo debe resolver, p. ej., deforma aproximada y no exacta, o usando heurísticas.
i De ello se deduce que4 ya sea la inteligencia natural4 o la inteligencia artificial
NO son ilimitadas en sus capacidades.i De ello se vuelve a deducir que la racionalidad práctica resulta
estar restringida.i⇒ Nadie debe esmerarse por aplicar la racionalidad más allá de
sus necesidades prácticas. ⇒ PRR4 Caso límite ⇒ el termóstato con sus dos reglas - Alto nivel de conocimiento.
Agentes Racionales
Percepciones y acciones
19
Mapeo idealpercepciones ⇒ acciones
iEl diseño o mapeo ideal especifica quéacciones debe encarar el agente idealen respuesta a cualquier secuenciaarbitraria de percepcionesiSe concreta con una tabla real o
virtualiEjercicio de la racionalidad ⇒4Sandwich Percepciones ⇒ Razonamiento ⇒ Acciones
20
Cometido de la IAEl cometido de la IA es el diseño de un Programade agente : una función que permita implantar elmapeo del agente para pasar de percepcionesa acciones. Este programa se ejecutará enalgún tipo de dispositivo de cómputo, al que sedenominará arquitectura (puede ser unacomputadora sencilla o hardware especial). Enalguno ámbitos se utilizan agentes de software(o robots de software o softbots).
Agente = arquitectura + programa
21
Funciones y programas de agentesi El agente queda completamente especificado con la función del
agente que mapea lo que describe la ecuación– a = f (P,M,A)
h sobre todo el componente principal a = f (P)hen principio uno puede suministrar cualquier secuencia perceptual posible para ver
qué sucede - una tabla que resuma esa información podría ser inmensa
i El programa de agente trata de implementar la función deagente en forma concisa (ejemplo: cálculo de la raiz cuadrada enuna calculadora de bolsillo)
i Un programa de agente toma una percepción singular comoinput y mantiene el estado interno
22
PaMAEstrategia de “divide y vencerás”ia = f(datos)ia = f(P,M,A)4Ejemplo - Piloto automático (taxista reemplazado por
un agente inteligente )
hPercepciones ??hacciones ??hMetas ??hAmbiente ??
23
PaMAi Para identificar a un agente debemos analizar su PaMA:
Ejemplos dedescripcionesPaMA de undado agentetípicoP-percepcióna-acciónM-metaA-ambiente
24
Análisis PaMA4 En cualquier algoritmo aplicado a la IA debemos reconocer cómo cada parte
contribuye a dicha meta.4 Analicemos las máquinas (limitadas) de la IA como agentes inteligentes.4 La meta planteada por la medida del buen éxito de ese agente suele ser
combinación de varias submetas.i El análisis PaMA es un ejemplo de4 la estrategia general de la ingeniería de “dividir para conquistar”
h ⇒ P+a+M+A ⇒ cada sumando es más fácil que la suma ponderada.4 la aplicación del ANÁLISIS DE REQUISITOS , que resuelve un problema
analizando qué es obtenible como input y qué es deseado como output.hOtro Ejemplo: al analizar un sistema de imágenes por satelite,
4 percepciones: pixels de intensidad y longitud de onda variables4 acciones: mover la cámara, cambiar el filtro, imprimir información4 metas: identificación cercana a la realidad de todos los objetos de la imagen4 ambiente: imágenes distorsionadas provenientes de una cámara de satelite.
25
Taxista Robot⇒piloto automáticoiPercepciones
– video– acelerómetro, instrumental del tablero– sensores del motor– teclado
iacciones– gestión del volante– acelerar y frenar– bocina– hablar/dibujar
iMetas– seguridad, llegar a destino, maximizar ganancias, obedecer las leyes,
satisfacción del cliente
iAmbiente– calles urbanas, avenidas, tráfico, peatones, clima, tipo de cliente
26
Estructura de un agente inteligentei ESQUEMA GENÉRICO DE UN AGENTE:
4 Desde un punto de vista estricto, no es necesario que el agente guarde en sumemoria las percepciones entrantes ⇒ dependería del dominio. Un dominio esun fragmento del mundo acerca del que deseamos adquirir conocimiento.
4 El esquema del agente no incorpora la medida de buen éxito en su meta ⇒ seentiende que ella está siendo aplicada externamente.
function Skeleton-Agent(percept) returns action static: memory, the agent's memory of the world memory ← Update-Memory(memory, percept) action ← Choose-Best-Action(memory) memory ← Update-Memory(memory, action) return action
function Skeleton-Agent(percept) returns action static: memory, the agent's memory of the world memory ← Update-Memory(memory, percept) action ← Choose-Best-Action(memory) memory ← Update-Memory(memory, action) return action
Estructura de los AgentesRacionales
Tipos de Agentes
28
Tipos de Agentes
Agentes sin información actualizada de su mundo
i Tabla4 encontrar la acción siguiente ⇒ usar una tabla en memoria del tipo “secuencia de
percepciones/acción”. Sería una tabla demasiado voluminosa para repetir la acción yaexperimentada antes.
i Agentes reflejos con un único estado (simples)4 se basan en reglas condición/acción y se implementan con un sistema de
PRODUCCIÓN. Carecen de memoria referida a estados pasados del mundo.
29
Lo más sencillo:DISPONER DE UNA TABLA
i ¿Por qué fracasa el ideal de disponer de una tabla de consulta?4 Esta arquitectura tiene los siguientes inconvenientes
h tamaño excesivo (no factible)h falta de adaptación.
4 ¿Qué tamaño tendría que tener la tabla? (Caso límite, el ajedrez)4 El agente ¿podrá aprender de sus errores?4 ¿De dónde provendría dicha table en primera instancia?
function Table-Driven-Agent(percept) returns action static: percepts, a sequence, initially empty table, a table indexed by percept sequences, initially fully specified
append percept to the end of percepts action ← LookUp(percepts, table)return action
function Table-Driven-Agent(percept) returns action static: percepts, a sequence, initially empty table, a table indexed by percept sequences, initially fully specified
append percept to the end of percepts action ← LookUp(percepts, table)return action
30
Agente reactivo simpleA
mbiente
Am
biente
ReglasReglas SiSi--EntoncesEntonces
QuéQué acciónacción debodebohacerhacer en en este este
momentomomento
cambioscambios
conocimientoconocimiento
EfectoresEfectores
Sensores
Cómo es el mundo en estemomento
Agente
31
¿Qué es un agente reactivo simple?
function Simple-Reflex-Agent(percept) returns action static: rules, a set of condition-action rules
state ← Interpret-Input(percept) rule ← Rule-Match(state, rules) action ← Rule-Action[rule] return action
function Simple-Reflex-Agent(percept) returns action static: rules, a set of condition-action rules
state ← Interpret-Input(percept) rule ← Rule-Match(state, rules) action ← Rule-Action[rule] return action
i Las reglas condición-acciónpermiten establecer la conexiónentre percepción y acción.
i Se indica el estado interno, únicoen un momento dado del procesode decisión.
i Se indica la base de conocimientoen forma de reglas deproducción.
i Programa del agente:
4 Interpret-input genera unadescripción abstracta del estadomostrado por la percepción
4 Rule-match proporciona una regladel conjunto que satisface lapercepción
32
Tipos de Agentes
Bien informados de lo que pasa en su mundo
i Agentes con memoria4 con un estado interno que sirve para seguirle la pista a los estados pasados de su mundo.
i Agentes focalizados en encontrar la meta4 además de disponer de información sobre el estado, tienen información sobre situaciones
deseables para alcanzar la meta. Lógicamente, agentes de este tipo tienen bajoconsideración eventos del futuro.
i Utilidad focalizados en mejorar la utilidad de sus acciones4 basan su decisión en la teoría axiomática clásica de la utilidad para actuar racionalmente.
33
¿Qué es un agente bien informado?A
mbiente
Am
biente
ReglasReglas Si Si - - EntoncesEntonces
QuéQué acciónacción debodebohacerhacer en en esteeste
momentomomentoconocimientoconocimiento
CómoCómo evolucionaevoluciona el el mundomundo
Qué producen mis acciones
Estado
Cómo es el mundo en estemomento
SensoresAgente
Efectores
34
Agentes bien informados
function Reflex-Agent-With-State(percept) returns action static: rules, a set of condition-action rules state, a description of the current world
state ← Update-State(state, percept) rule ← Rule-Match(state, rules) action ← Rule-Action[rule] state ← Update-State(state, action) return action
function Reflex-Agent-With-State(percept) returns action static: rules, a set of condition-action rules state, a description of the current world
state ← Update-State(state, percept) rule ← Rule-Match(state, rules) action ← Rule-Action[rule] state ← Update-State(state, action) return action
i La actualización del estadointerno requiere dos tipos deconocimiento codificado4 conocimiento acerca de la forma en
que el mundo cambia,independientemente de las accionesdel agente.
4 conocimiento acerca de la forma enque el mundo cambia con motivo dela acción del agente
i Pero el conocimiento del estadointerno no siempre es suficiente4 al elegir entre dos rutas alternativas
(en una intersección ¿girar o no girarel volante del coche?) no se alcanzaráel objetivo final
4 pues se requiere conocer la meta alograr para finalizar la tarea con éxito
35
¿Qué es un agente orientado ametas?
Am
bienteA
mbiente
ReglasReglas Si Si - - EntoncesEntonces
QuéQué acciónacción debodebohacerhacer en en esteeste
momentomomentoconocimientoconocimiento
¿ ¿Cómo evolucionaCómo evoluciona el el mundomundo??
¿Qué producenmis acciones?
Estado
Cómo es el mundo en estemomento
SensoresAgente
Efectores
¿Qué sucedería siemprendo la acción A?
36
Agentes basados en Metas
i Razonando acerca de acciones4 un agente reflejo solo actúa basado en conocimientos precomputados (reglas)4 la búsqueda y la planificación ayudan a razonar acerca de qué acción logra la meta4 el agente es menos eficiente pero más adaptativo y flexible
i Qué argumentar acerca de acciones alternativas que llegan a la meta4 hay que maximizar la utilidad de las acciones, esto es, elegir aquella que logra la meta
mejor de todas.
37
Arquitectura General de Agentes basados en Metas
i Los agentes simples no tienen acceso a su medida de buen éxito4 En ese caso el diseñador elige la meta y la incorpora por diseño a su agente
i Similarmente, los agentes tontos no pueden formular su propio problema4 en cuyo caso dicha formulación tambien se debe incorporar al diseño
i El bucle “while” (mientras) - ver arriba - es la fase de ejecución de laconducta de este tipo de agentes4 Nótese que en esta arquitectura se sobreentiende que para la fase de ejecución no
importa monitorizar el ambiente.
Input perceptstate ← Update-State(state, percept)goal ← Formulate-Goal(state, perf-measure)search-space ← Formulate-Problem (state, goal)plan ← Search(search-space , goal)while (plan not empty) do action ← Recommendation(plan, state) plan ← Remainder(plan, state) output actionend
Input perceptstate ← Update-State(state, percept)goal ← Formulate-Goal(state, perf-measure)search-space ← Formulate-Problem (state, goal)plan ← Search(search-space , goal)while (plan not empty) do action ← Recommendation(plan, state) plan ← Remainder(plan, state) output actionend
38
¿Qué es un agente basado enutilidad?
Am
bienteA
mbiente
UTILIDADUTILIDAD ¿¿Soy Soy felizfeliz asíasí??¿¿QuéQué hagohago ahoraahora??
conocimientoconocimiento
¿ ¿Cómo evolucionaCómo evoluciona el el mundomundo??
¿Qué producenmis acciones?
Estado
Cómo es el mundo en estemomento
SensoresAgente
Efectores
¿Qué sucedería siemprendo la acción A?
39
Agentes basados en Utilidad
i Función Utilidad4 es un mapeo de estados bajo la forma de números reales4 lleva a decisiones racionales en dos tipos de situaciones
hevaluación de compromisos entre metas en conflictohevaluación de metas en conflicto
40
Agentes basados en utilidad Las metas no bastan para generar una conducta de altacalidad.
Las metas permiten establecer una distinción entre estados“felices” e “infelices”.
Si se prefiere un estado en lugar de otro, se dice que ese estadoofrece mayor “utilidad” al agente.
UtilidadFunción que caracteriza el grado de satisfacciónEn temas venideros se mencionará frecuentemente elPRINCIPIO DE MAXIMA UTILIDAD ESPERADA
Ambientes
Características y tipos
42
Propiedades de los Ambientesi Accesible/Inaccesible4 Si los sensores proporcionan todo lo que hay que saber sobre el estado
completo del ambiente - necesario para elegir una acción - entonces elambiente es accesible al agente. Esos ambiente resultan convenientes, ya queliberan al agente de la tarea de mantener actualizado su inventario del mundo.
i Determinístico/No-determinístico (estocástico)4 Si el estado siguiente del ambiente está determinado plenamente por el estado
presente del mismo, y por la acción del agente - se trata de un ambientedeterminístico. Así el agente escapa de la incertidumbre.
i Episódico/No-episódico4 Un ambiente episódico implica que los episodios siguientes no dependen de las
acciones que ocurrían en episodios previos (como en las clásicas cadenas deMarkov). Esto permite al agente que no se preocupe por la planificación de loque pueda ocurrir.
43
Propiedades de los Ambientes (2)i Estático/Dinámico4 Será estático todo ambiente que no cambie mientras el agente está “pensando”.
No tiene importancia el tiempo que se usa en pensar y no necesita monitorizarel mundo mientras piensa. El tiempo carece de valor mientras se computa unabuena estrategia. En otro caso será dinámico.
i Discreto/Continuo4 Discreto - con escaso número de percepciones y acciones en el ambiente.4 Continuo - en otro caso.
i Sin adversario/con adversarios racionales4 Sin adversario - ausencia de otros agentes racionales adversarios: la
consecuencia es que el agente se libera de competir con dichos adversarios enel mismo juego.
4 Los ambientes ingenieriles suelen ser sin adversario.4 Los ambientes sociales y económicos aumentan en su complejidad por la
presencia de interacciones entre uno o más adversarios (por ejemplo en laBolsa).
44
Tipos de ambientes y sus característicasi Solitarioi Taxi
i Accesible ??i Determinístico ??i Episódico ??i Estático ??i Discreto ??
45
Tipos de ambientes y sus característicasi Solitario sí - sí - no - sí - síi Taxi no - no -no - no - no
i Accesiblei Determinísticoi Episódicoi Estáticoi Discreto
46
Ambientes en Internetie_mailiGrupos de noticiasiWWWiFTPiJuegos en líneaiForosiBuscadores con diversos agentesiAmbiente apto para minería de datosiBibliotecas virtuales (p.ej., de IA)
47
Tipos de ambientes y suscaracterísticas
48
34
An Agent Portfolio
Broker-Corredor de comercio---Spider-Buscador, literal araña.
49
Programa básico para el ambienteprocedure Run-Environment(state, Update-Fn, agents, termination) input: state, the initial state of the environment Update-Fn, function to modify the environment agents, a set of agents termination, a predicate to test when we are done
repeat for each agent in agents do Percept[agent] ← Get-Percept(agent, state) end for each agent in agents do Action[agent] ← Program[agent](Percept[agent]) end state ← Update-Fn(actions, agents, state) until termination(state)
procedure Run-Environment(state, Update-Fn, agents, termination) input: state, the initial state of the environment Update-Fn, function to modify the environment agents, a set of agents termination, a predicate to test when we are done
repeat for each agent in agents do Percept[agent] ← Get-Percept(agent, state) end for each agent in agents do Action[agent] ← Program[agent](Percept[agent]) end state ← Update-Fn(actions, agents, state) until termination(state)
i Programa básico para simular ambientes4 proporciona las percepciones a los agentes anidados en ese ambiente4 absorbe una acción de cada agente en la unidad de tiempo4 actualiza el ambiente cada unidad de tiempo
50
Simulador de ambiente al tanto de lasmedidas de buen éxito de los agentes
function Run-Eval-Environment(state, Update-Fn, agents,termination, Performance-Fn) returns scores
local : scores, a vector the same size as agents, initially all 0
repeat for each agent in agents do Percept[agent] ← Get-Percept(agent, state) end for each agent in agents do Action[agent] ← Program[agent](Percept[agent]) end state ← Update-Fn(actions, agents, state) scores ← Performance-Fn(scores, agents, state) until termination(state) return scores
function Run-Eval-Environment(state, Update-Fn, agents,termination, Performance-Fn) returns scores
local : scores, a vector the same size as agents, initially all 0
repeat for each agent in agents do Percept[agent] ← Get-Percept(agent, state) end for each agent in agents do Action[agent] ← Program[agent](Percept[agent]) end state ← Update-Fn(actions, agents, state) scores ← Performance-Fn(scores, agents, state) until termination(state) return scores
i Casi siempre, los agentes se han diseñado para satisfacer unacierta clase de ambiente4 medición de buen éxito en ese ambiente, definido por un estado inicial singular
y una función de actualización particular.
Resumen
Tema I
52
ResumenLos principales contenidos del tema I son:i Un agente percibe y actúa en un cierto ambiente, posee una
arquitectura dada y está implementado a través de un programade agente.
i Un agente ideal (omnisciente) siempre elige aquella acciónmediante la cual se maximiza su logro esperado, sujeta a lasecuencia de percepciones recibida hasta ese momento.
i Un agente autónomo usa su experiencia propia en lugar de usarconocimiento incorporado por su diseñador referente alambiente.
i Un programa de agente mapea la ruta entre percepción y accióny actualiza el estado interno de dicho agente.
i Un agente reflejo (o reactivo) responde de inmediato a laspercepciones según la regla acción/percepción. (jugador de pingpong).
53
Resumen
i Un agente basado en metas actúa de tal manera que puedaobtener el logro de la meta programada.
i Un agente basado en utilidad maximiza su propia función deutilidad.
i Poder representar el conocimiento (y a veces lograr que eseconocimiento pueda ser legible por el humano) es importantepara que el diseño tenga buen éxito.
i No todos los ambientes son iguales para el agente. Hay unos queson más difíciles que otros. Los más difíciles son los ambientesinaccesibles, no-determinísticos, no-episódicos, dinámicos ycontinuos.
i Uno fácil sería el de un robot encargado de hacer tostadas.
54
Resumen y conclusiones razonadasi La inteligencia artificial se ha presentado como la tecnología de la construcción
de agentes inteligentes, con lo cual se unifican temas que no tenían relación conotros enfoques (caso de la robótica y la visión).
i Es evidente que el hilo conductor es el de ir complicando gradualmente losprogramas de agente , las funciones de agente ( utilidad,, actualización ydesempeño) y los programas de ambiente ( información básica y detallada).
i Obviamente la noción de agente aglutina en una meta clara a toda lainteligencia artificial, la cual, sin embargo, al estar enlazada con los ambientes,pierde – por suerte – toda posibilidad de ser una disciplina auto-contenida,pasando a tener condición de multi-disciplinar.