Inteligencia Artificial Capítulo Ijjalvarez/asignaturas/IA... · iEl agente queda completamente...

Post on 19-Apr-2020

1 views 0 download

Transcript of Inteligencia Artificial Capítulo Ijjalvarez/asignaturas/IA... · iEl agente queda completamente...

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.