Introducción a la IAIntroducción a la IA
Inte
lige
nci
a A
rtif
icia
l C
apít
ulo
I
Agentes inteligentes
2
3
4
Un agente inteligente
Comprensión/intencionalidad
Comportamiento
VéOyeTocaGustaHuele
ENTRADASProcesos INTERNOS
SALIDAS
Sensor del ambiente
Razona
Conoce
5
Tipificando a un agente inteligente
AMBIENTEAGENTE
?
EFECTORES
SENSORES
PERCEPCIONES
ACCIONES
6
Qué es un agente inteligente Un agente inteligente es cualquier cosa que pueda
percibir un mundo perceptual en que esté anidado (“ambiente”) mediante SENSORES y
actuar sobre ese mundo mediante EFECTORES (o actuadores) sinónimo de ambiente es “espacio de problema” sinónimo de agente inteligente es “operador que transforma un input en
output dentro del espacio de problema”
META de la IA Diseñar un agente inteligente/racional que opere o actúe adecuadamente en sus ambientes. Discusión sobre “adecuadamente”
Fijar alguna medida de “adecuadamente” (buen éxito) Tener en cuenta el PRR Principio de Racionalidad Restringida
de Herbert Simon
7
PRR (Herbert Simon) El Principio de la Racionalidad Restringida alega que la
racionalidad óptima ideal NO es el buen éxito perfecto. Ningun ser humano apela a una mayor racionalidad que
justo la necesaria para sus fines prácticos. Las limitaciones de un agente
con los SENSORES que tiene con los EFECTORES que tiene y con la POTENCIA COMPUTACIONAL
– disponible y – (en algunos casos) óptima económica
conducen a que la racionalidad ideal sea imposible e impráctica.
8
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)
Agentes Racionales
Racionalidad e Inteligencia
10
Qué es un agente racional
El que actúa maximizando el valor esperado de la medida de buen éxito (función de utilidad) en el logro de su meta
Racional no es omnisciente Racional no es clarividente Racional ideal en conflicto con el PRR
11
Racionalidad
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
12
Grado de Racionalidad - Nivel de Conocimiento - Newell
Grado de racionalidad grado con el cual el agente racional maximiza su medida de buen éxito en lograr una meta, sujeta a su disponibilidad de sensores, efectores, potencia de cómputo y conocimiento
internalizado.
Allen Newell define el nivel de conocimiento por el número de reglas usadas respecto de su disponibilidad total de reglas. Ningun robot es responsable por no usar reglas que no conoce.
…a un termostato le han dado dos reglas y las usa…
13
AGENTE INTELIGENTE IDEAL
El agente inteligente ideal es el que, para cualquier secuencia arbitraria de percepciones, logre con su ACCION maximizar la medida de su buen éxito.
Para ello usa conocimiento interiorizado secuencia de percepciones
14
Agentes autónomos
Son agentes autónomos los que no se guían por reglamento externo alguno.
Agentes Racionales y problemas
Complejidad y racionalidad
16
P, NP, NP completo, NP duro P. Son problemas que se pueden resolver en tiempo polinómico (lo
cual significa rápido). Son muy frecuentes. Son P los que tienen tiempos de ejecución O(n) y O(log n)
NP. Un problema es NP si se puede verificar rapidamente (esto es, en tiempo polinómico) que la solución hallada es correcta (aunque haya sido complicadísimo hallar dicha solución). NP se refiere a “tiempo polinomial no-determinístico” donde la voz “no-determinístico” significa en la práctica “obtenida por adivinación”. Si alguien adivina alguna solución, es rápido verificar si es correcta como solución.
No se ha podido probar que un arbitrario problema NP se pueda reducir a P, lo cual lleva al tema de la clase de problemas NP-duros.
La subclase “de problemas NP-completos” se interpretan como que la voz “completo” indica el ejemplo más difícil de resolver dentro del tipo 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 de comercio, es probable que sean imposibles de resolver en cualquier computadora arbitraria (se trata de un problema NP-duro, hasta donde se conoce). Se lo debe resolver, p. ej., de forma aproximada y no exacta, o usando heurísticas.
De ello se deduce que ya sea la inteligencia natural o la inteligencia artificial
NO son ilimitadas en sus capacidades. De ello se vuelve a deducir que la racionalidad práctica resulta
estar restringida. Nadie debe esmerarse por aplicar la racionalidad más allá de
sus necesidades prácticas. PRR Caso límite el termóstato con sus dos reglas - Alto nivel de conocimiento.
Agentes Racionales
Percepciones y acciones
19
Mapeo idealpercepciones acciones
El diseño o mapeo ideal especifica qué acciones debe encarar el agente ideal en respuesta a cualquier secuencia arbitraria de percepciones
Se concreta con una tabla real o virtual Ejercicio de la racionalidad
Sandwich
Percepciones Razonamiento Acciones
20
Cometido de la IAEl cometido de la I A es el diseño de un Programade agente : una f unción que permita implantar el
mapeo 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 sof tware(o robots de sof tware o sof tbots).
Agente = arquitectura + programa
21
Funciones y programas de agentes El agente queda completamente especificado con la función del
agente que mapea lo que describe la ecuación
– a = f (P,M,A) sobre todo el componente principal a = f (P) en principio uno puede suministrar cualquier secuencia perceptual posible para ver
qué sucede - una tabla que resuma esa información podría ser inmensa
El programa de agente trata de implementar la función de agente en forma concisa (ejemplo: cálculo de la raiz cuadrada en una calculadora de bolsillo)
Un programa de agente toma una percepción singular como input y mantiene el estado interno
22
PaMA
Estrategia de “divide y vencerás” a = f(datos) a = f(P,M,A)
Ejemplo - Piloto automático (taxista reemplazado por un agente inteligente )
Percepciones ?? acciones ?? Metas ?? Ambiente ??
23
PaMA Para identificar a un agente debemos analizar su PaMA:
Ejemplos de descripciones PaMA de un dado agente típicoP-percepcióna-acciónM-metaA-ambiente
24
Análisis PaMA En cualquier algoritmo aplicado a la 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. 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 por satelite, percepciones: pixels de intensidad y longitud de onda variables acciones: mover la cámara, cambiar el filtro, imprimir información metas: identificación cercana a la realidad de todos los objetos de la
imagen ambiente: imágenes distorsionadas provenientes de una cámara de
satelite.
25
Taxista Robotpiloto automático Percepciones
– video– acelerómetro, instrumental del tablero– sensores del motor – teclado
acciones – gestión del volante– acelerar y frenar– bocina– hablar/dibujar
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
26
Estructura de un agente inteligente ESQUEMA GENÉRICO DE UN AGENTE:
Desde un punto de vista estricto, no es necesario que el agente guarde en su memoria las percepciones entrantes dependería del dominio. Un dominio es un fragmento del mundo acerca del que deseamos adquirir conocimiento.
El esquema del agente no incorpora la medida de buen éxito en su meta se entiende 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 Agentes Racionales
Tipos de Agentes
28
Tipos de Agentes
Agentes sin información actualizada de su mundo
Tabla 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 ya experimentada antes.
Agentes reflejos con un único estado (simples) 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
¿Por qué fracasa el ideal de disponer de una tabla de consulta? Esta arquitectura tiene los siguientes inconvenientes
tamaño excesivo (no factible) falta de adaptación.
¿Qué tamaño tendría que tener la tabla? (Caso límite, el ajedrez) El agente ¿podrá aprender de sus errores? ¿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
mb
iente
Am
bien
te
Reglas Si-Reglas Si-EntoncesEntonces
Qué acción deboQué acción debohacer en este hacer en este
momentomomento
cambioscambios
conocimientoconocimiento
EfectoresEfectores
Sensores
Cómo es el mundo en este momento
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
Las reglas condición-acción permiten establecer la conexión entre percepción y acción.
Se indica el estado interno, único en un momento dado del proceso de decisión.
Se indica la base de conocimiento en forma de reglas de producción.
Programa del agente:
Interpret-input genera una descripción abstracta del estado mostrado por la percepción
Rule-match proporciona una regla del conjunto que satisface la percepción
32
Tipos de Agentes
Bien informados de lo que pasa en su mundo
Agentes con memoria con un estado interno que sirve para seguirle la pista a los estados pasados de su mundo.
Agentes focalizados en encontrar la meta 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 bajo consideración eventos del futuro.
Utilidad focalizados en mejorar la utilidad de sus acciones 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
mb
iente
Am
bien
te
Reglas Si Reglas Si - Entonces- Entonces
Qué acción deboQué acción debohacer en estehacer en este
momentomomentoconocimientoconocimiento
Cómo evoluciona el mundoCómo evoluciona el mundo
Qué producen mis acciones
Estado
Cómo es el mundo en este momento
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
La actualización del estado interno requiere dos tipos de conocimiento codificado conocimiento acerca de la forma en
que el mundo cambia, independientemente de las acciones del agente.
conocimiento acerca de la forma en que el mundo cambia con motivo de la acción del agente
Pero el conocimiento del estado interno no siempre es suficiente al elegir entre dos rutas alternativas
(en una intersección ¿girar o no girar el volante del coche?) no se alcanzará el objetivo final
pues se requiere conocer la meta a lograr para finalizar la tarea con éxito
35
¿Qué es un agente orientado a metas?
Am
bien
teA
mb
iente
Reglas Si Reglas Si - Entonces- Entonces
Qué acción deboQué acción debohacer en estehacer en este
momentomomentoconocimientoconocimiento
¿¿Cómo evoluciona el mundo?Cómo evoluciona el mundo?
¿Qué producenmis acciones?
Estado
Cómo es el mundo en este momento
SensoresAgente
Efectores
¿Qué sucedería siemprendo la acción A?
36
Agentes basados en Metas
Razonando acerca de acciones un agente reflejo solo actúa basado en conocimientos precomputados (reglas) la búsqueda y la planificación ayudan a razonar acerca de qué acción logra la meta el agente es menos eficiente pero más adaptativo y flexible
Qué argumentar acerca de acciones alternativas que llegan a la meta 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
Los agentes simples no tienen acceso a su medida de buen éxito En ese caso el diseñador elige la meta y la incorpora por diseño a su agente
Similarmente, los agentes tontos no pueden formular su propio problema en cuyo caso dicha formulación tambien se debe incorporar al diseño
El bucle “while” (mientras) - ver arriba - es la fase de ejecución de la conducta de este tipo de agentes 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 en utilidad?
Am
bien
teA
mb
iente
UTILIDADUTILIDAD ¿¿Soy feliz así?Soy feliz así?¿Qué hago ahora?¿Qué hago ahora?
conocimientoconocimiento
¿¿Cómo evoluciona el mundo?Cómo evoluciona el mundo?
¿Qué producenmis acciones?
Estado
Cómo es el mundo en este momento
SensoresAgente
Efectores
¿Qué sucedería siemprendo la acción A?
39
Agentes basados en Utilidad
Función Utilidad es un mapeo de estados bajo la forma de números reales lleva a decisiones racionales en dos tipos de situaciones
evaluación de compromisos entre metas en conflicto evaluación de metas en conflicto
40
Agentes basados en utilidad Las metas no bastan para generar una conducta de alta
calidad.
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 estado ofrece mayor “utilidad” al agente.
Utilidad Función que caracteriza el grado de satisfacción En temas venideros se mencionará frecuentemente el
PRINCIPIO DE MAXIMA UTILIDAD ESPERADA
Ambientes
Características y tipos
42
Propiedades de los Ambientes Accesible/Inaccesible
Si los sensores proporcionan todo lo que hay que saber sobre el estado completo del ambiente - necesario para elegir una acción - entonces el ambiente es accesible al agente. Esos ambiente resultan convenientes, ya que liberan al agente de la tarea de mantener actualizado su inventario del mundo.
Determinístico/No-determinístico (estocástico) 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 ambiente determinístico. Así el agente escapa de la incertidumbre.
Episódico/No-episódico 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 de Markov). Esto permite al agente que no se preocupe por la planificación de lo que pueda ocurrir.
43
Propiedades de los Ambientes (2) Estático/Dinámico
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 monitorizar el mundo mientras piensa. El tiempo carece de valor mientras se computa una buena estrategia. En otro caso será dinámico.
Discreto/Continuo Discreto - con escaso número de percepciones y acciones en el ambiente. Continuo - en otro caso.
Sin adversario/con adversarios racionales Sin adversario - ausencia de otros agentes racionales adversarios: la
consecuencia es que el agente se libera de competir con dichos adversarios en el mismo juego.
Los ambientes ingenieriles suelen ser sin adversario. Los ambientes sociales y económicos aumentan en su complejidad por la
presencia de interacciones entre uno o más adversarios (por ejemplo en la Bolsa).
44
Tipos de ambientes y sus características Solitario Taxi
Accesible ?? Determinístico ?? Episódico ?? Estático ?? Discreto ??
45
Tipos de ambientes y sus características Solitario sí - sí - no - sí - sí Taxi no - no -no - no - no
Accesible Determinístico Episódico Estático Discreto
46
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)
47
Tipos de ambientes y sus caracterí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)
Programa básico para simular ambientes proporciona las percepciones a los agentes anidados en ese ambiente absorbe una acción de cada agente en la unidad de tiempo actualiza el ambiente cada unidad de tiempo
50
Simulador de ambiente al tanto de las medidas 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
Casi siempre, los agentes se han diseñado para satisfacer una cierta clase de ambiente 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: Un agente percibe y actúa en un cierto ambiente, posee una
arquitectura dada y está implementado a través de un programa de agente.
Un agente ideal (omnisciente) siempre elige aquella acción mediante la cual se maximiza su logro esperado, sujeta a la secuencia de percepciones recibida hasta ese momento.
Un agente autónomo usa su experiencia propia en lugar de usar conocimiento incorporado por su diseñador referente al ambiente.
Un programa de agente mapea la ruta entre percepción y acción y actualiza el estado interno de dicho agente.
Un agente reflejo (o reactivo) responde de inmediato a las percepciones según la regla acción/percepción. (jugador de ping pong).
53
Resumen
Un agente basado en metas actúa de tal manera que pueda obtener el logro de la meta programada.
Un agente basado en utilidad maximiza su propia función de utilidad.
Poder representar el conocimiento (y a veces lograr que ese conocimiento pueda ser legible por el humano) es importante para que el diseño tenga buen éxito.
No todos los ambientes son iguales para el agente. Hay unos que son más difíciles que otros. Los más difíciles son los ambientes inaccesibles, no-determinísticos, no-episódicos, dinámicos y continuos.
Uno fácil sería el de un robot encargado de hacer tostadas.
54
Resumen y conclusiones razonadas 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 con otros enfoques (caso de la robótica y la visión).
Es evidente que el hilo conductor es el de ir complicando gradualmente los programas de agente , las funciones de agente ( utilidad,, actualización y desempeño) y los programas de ambiente ( información básica y detallada).
Obviamente la noción de agente aglutina en una meta clara a toda la inteligencia 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.
Top Related