Materia Inteligencia Artificial

24

Click here to load reader

Transcript of Materia Inteligencia Artificial

Page 1: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Guayaquil, martes 2 de marzo de 2010.Inteligencia artificial

Programa de estudio1) Introducción a la inteligencia artificial

Conceptos importantes.Historia de la inteligencia artificial.Aplicaciones y campos de aplicación de la I.A.Paradigma.

2) Agentes y ambientes (entornos).Concepto de agente.Comportamiento de los agentes, tipos.Estructura de los agentes.Ambientes o entornos: conceptos y propiedades.

3) Cálculo de predicadosEl lenguaje de lógica de predicados.Inferencia en lógica de predicados.Sistemas de producción.Marcos y redes semánticas.

4) Estrategias de búsqueda5) Prolog

ANSI prolog versión 5.0.3Visual prolog.

Bibliografía: Inteligencia artificial, autores: Stuart Russell / Peter Novig

ConceptosInteligencia.- es una capacidad del ser humano de saber o aprender a través de los sentidos, imaginación, memoria y otros elementos más que nos permiten saber o aprender.

Razonamiento.- equivalente a inferencia, se obtienen nuevas proposiciones en base a las ya conocidas generando un nuevo conocimiento para el agente o individuo.

Pensamiento.- es la relación vivida con el medio que rodea al individuo o agente. Es todo aquello relacionado con la experiencia.

Inteligencia artificial.- es una ciencia, la cual es una rama de las ciencias computacionales, que analiza el comportamiento humano en los dominios de la inteligencia, razonamiento, pensamiento, percepción, decisión y comprensión.

Objetivos de la I.A.Con la ayuda de máquinas creadas por la I.A. generar el comportamiento humano en los dominios de la inteligencia, razonamiento y pensamiento con la finalidad de ayudar al ser humano en sus actividades, tanto físicas como mentales, en especial mentales.

Hipótesis de separación de Chandrasekarán

Comportamiento Humano

Demás actividades:Filosofía, religión, costumbres,

sentimientos, etc.

Inteligencia.Razonamiento.Pensamiento

Si es posible separar en el ser humano las actividades que tengan un comportamiento de inteligencia, razonamiento y pensamiento de las demás actividades del ser humano.Esta hipótesis a lo largo del tiempo, no se la ha considerado ni verdadera ni falsa.

Carrera de Ingeniería en Sistemas Computacionales 1

Page 2: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Evolución histórica de la I.A.1937 - 1940Alan Turing lanzó un libro que contenía los parámetros de una máquina que en lo posterior se la conocerá como la “Máquina Universal de Turing” la cual contenía los principios básicos de lo que sería después el computador.

1956Se cree que por primera vez se habló del término “Inteligencia artificial”, en una conferencia acerca de computación teórica dictada por John McCarthy, a la cual asistieron algunas personas importantes de la época. John McCarthy se dedicaba a la docencia universitaria y a la investigación científica. A esta conferencia asistió Marvin Minsky que se dedicaba a la docencia universitaria y a la investigación científica.Se cree que en está conferencia se habló por primera vez del término “Inteligencia artificial”, debido a que luego de ella John McCarthy y Marvin Minsky formaron el primer grupo de trabajo de I.A. que se conoció, junto con un grupo de estudiantes universitarios.En este mismo año producto del trabajo de este grupo de I.A. se creó el programa “Logic theorist” que era un programa que demostraba teoremas matemáticos para probarlos, se utilizaron 52 teoremas de la obra “Principios matemáticos” de las cuales fueron demostradas correctamente por el programa 38 teoremas.

Primeras realizaciones de la I.A.Lingüísticas.- comprensión del lenguaje natural.Juegos.- rompecabezas, ajedrez.Matemáticas.- demostración de teoremas.Técnicas de revolución de problemas.- árbol de búsqueda, técnica de búsqueda (heurística).

En esta época al inicio de la I.A. el tiempo de ejecución de las creaciones de la I.A. crecieron exponencialmente por lo que no tuvo acogida en la invención de software y hardware para la industria

1957Crearon el sistema GPS que viene de las siglas (General problem solver). Desarrollado por Newell, Slvanom y Simón.Este programa trata de transformar un estado inicial en una situación final valiéndose de operadores que mediante aplicaciones sucesivas, hacen alcanzar el objetivo deseado. Los operadores no son siempre aplicables sino que deben cumplir ciertas condiciones para que puedan actuar sobre un estado GPS, trabaja con encadenamiento hacia atrás buscando operadores que aproximen el estado inicial al final.

1959McCarthy desarrolló el “Advice Taker” que es considerado para algunos autores el primer ejemplo de la ingeniería del conocimiento. En este mismo año McCarthy y su grupo desarrollaron LISP lenguaje de procesamiento de listas que se consideró como el lenguaje fundamental que los programas creados en I.A. deberían soportar. Los primeros resultados de la I.A. NO fueron los esperados, pues no había disponibilidad de computadoras que permitieron desarrollar programas de esta naturaleza. Con la llegada de las técnicas de miniaturización electrónica, surgieron computadores más potentes y rápidos que permitieron un mayor desarrollo de la I.A.

1975Se desarrollaron dos programas de sistemas de inferencia llamado OPS y Drilling advisor. Utilizado para diagnosticar problemas en pozos petroleros e interpretación de sondeos.

Inferencia.- la inferencia nos permite razonar sacando de una o más proposiciones dadas una proposición nueva para llegar a un resultado.

1981Lanzamiento de los computadores de 5ta generación en Tokio-Japón, en una conferencia internacional, donde se presentó a Prolog como el lenguaje fundamental que debían soportar esos computadores y la I.A.

Carrera de Ingeniería en Sistemas Computacionales 2

Page 3: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Productos comerciales y no comerciales

1) Eliza.- escrito en LISP por Joseph Weizenbaum, más bien en plan de broma, desafortunadamente muchas personas se la tomaron en serio. Se ha hecho célebre debido a que ciertas personas llegaron a tener la impresión que está verdaderamente dialogando con un psicoanalista, cosa que contribuyó a dar mala reputación a la I.A.

2) Dentral.- daba la fórmula desarrollada de un cuerpo orgánico a partir de su fórmula bruta y de su espectrograma de masa.Origen: Universidad de Stanford.

3) MyCin.- diagnostica enfermedades infecciosas, los médicos se resistían a aceptar las advertencias de un programa de diagnóstico que sea capaz de explicar su razonamiento a la entera satisfacción de dichos médicos. El programa MyCin razona hacia atrás partiendo desde sus objetivos hasta determinar la causa de la enfermedad del paciente.Origen: Universidad de Stanford, 1974.

4) R1.- programa de informática que configura sistemas particulares a las necesidades de los clientes. R1 es pionero en este género. Estos programas normalmente necesitan minutos para realizar las tareas que tomarían horas para un ingeniero. Estos programas evalúan si se ahorra o gana dinero.Origen: Universidad Carnegie Mellon, 1980

5) LISP.- dispone de una sección de memoria dinámica, es decir, que la memoria se organiza durante el cálculo, por consiguiente, el programa puede modificar la forma de los datos. La forma de representación se denomina s-expresión. Fue muy utilizado en la I.A. como lenguaje de programación. Trabaja eficazmente con los signos de búsqueda de soluciones a problemas generales, etc.

6) Prolog.- su abreviatura es PROgramming LOGic la formación de este lenguaje se obtiene gracias a la lógica, el cual se compone de proposiciones o predicados sobre cierto tema. Prolog se parece a una base de datos que permite manipular o recuperar datos.

Carrera de Ingeniería en Sistemas Computacionales

Evolución histórica de laInteligencia artificial

1.937 - 1.940 Alan Turing (parámetros para la Máquina universal de Turing) principios básicos para la creación de la computadora..

1.956 Creación del programa Logic theorist, fueron demostradas 38 teoremas correctamente con este programa.

1.957 Creación del sistema GPS (General problem solver) trabaja con encadenamiento hacia atrás buscando operadores que aproximen el

estado inicial al final.1.959 McCarthy desarrolló Advine Taker y con su grupo LISP

(lenguaje de procesamiento de listas). Eliza fue escrito en LISP

1.975 Dos programas de sistemas de inferencia OPS y Drilling advisor para pozos petroleros e interpretación de sondeos.

1.981 Computadoras de 5 ta generación y se presentó Prolog (PROgramming LOGic) en Tokio, Japón

3

Page 4: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Antecedentes.La idea de fabricar modelos computacionales autómatas (similares al comportamiento humano), capaces de realizar facultades propias de los seres humanos, fue ambicionada durante mucho tiempo.Hace NO mucho tiempo la I.A. fue calificada como el lado oscuro de la ciencia informática, porque creían que los programadores e investigadores de la I.A. trabajaban para crear pensamientos.A los investigadores de la I.A. se los consideraba como fanáticos de la Informática, por eso evitaban dar referencias de la I.A.La I.A. tiene como objetivo hacer que los computadores sean más útiles cuando ayuden al ser humano, y que puedan tomar decisiones más rápidas y que su entendimiento sea más inteligente.

Guayaquil, martes 16 de marzo del 2010.

Núcleo de la I.A.

1.- Representación del conocimiento (se crean bases para los mecanismos que permiten a un agente tomar una decisión).

2.- Razonamiento lógico (predicados).

3.- Investigaciones heurísticas (lo contrario a un algoritmo).

4.- Lenguaje y herramientas.

5.- Retro seguimiento (retroalimentación).

Campos de aplicación1) Sistemas expertos.- son sistemas desarrollados con el conocimiento de uno o varios expertos de manera que

mientras interactúa con él sistema es tal como si lo hiciera con un experto.Este tipo de sistemas ahorra tiempo y dinero. El sistema va adquiriendo experiencia y destreza a medida que va interactuando con el medio que se desenvuelve.Los sistemas expertos corresponden a la primera aplicación verdaderamente operacional, se sitúa en el punto de unión de los dos enfoques de la I.A. La representación del conocimiento y la demostración automática.

2) Procesamiento de lenguaje natural.- el lenguaje es todo un proceso de comunicación, sea el humano verbal o no verbal, y que combinado con elementos naturales produce un significado. Es todo un sistema de comunicación para lenguas humanas.

3) Visión y robótica.- una de las áreas de investigación que se incluyen en la percepción correspondiente a la visión y habla tratando de ser imitadas por las máquinas actuales como los robots.

4) Resolución de problemas.- es la búsqueda de solución de un problema, buscando una estrategia de control genérica que sea apropiada para resolver problemas.

5) Reconocimiento de modelos.- es la forma de designar el tipo de modelo en el campo de aplicación de la I.A.6) Lógica.- es un conjunto de hechos y reglas para representar el conocimiento.

Perspectivas de la I.A.o La I.A. NO trata fundamental con procesos numéricos como lo hace el procesamiento de datos

convencional, pero si trata con conocimientos que son abstractos y simbólicos. Por lo tanto se puede decir que los programas de la I.A. están relacionados con procesos simbólicos que evalúen incertidumbre y ambigüedad.

o Los procesos simbólicos son usualmente aquellos por los cuales NO hay soluciones algorítmicas, siendo necesario investigar la solución por tentativa y errores.

o La programación algorítmica NO es adecuada para la solución de problemas inteligentes.o Los programas de I.A. definen y representan problemas dentro del computador de tal modo que la

aplicación de ciertas reglas conduzca a una solución si acaso existe alguna, de manera que provea de un medio diferente de direccionar la búsqueda para la solución del problema usando conocimientos del sentido común.

o El desarrollo de sistemas inteligentes se centra en los temas de inferencia y búsqueda heurística y depende esencialmente del manejo de símbolos.

Hipótesis de separación de Chandrasekarán

Carrera de Ingeniería en Sistemas Computacionales 4

Page 5: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Afirma que se puede estudiar la inteligencia sin preocuparse de otros aspectos de la vida mental tales como la subjetividad y conciencia, que es posible separar en el ser humano las actividades que tengan un comportamiento de inteligencia, razonamiento y pensamiento de las actividades del ser humano. Esta hipótesis no es verdadera ni falsa.

Guayaquil, jueves 18 de mazo del 2010.

Agentes inteligentes.Objetivo: aprender la naturaleza de los agentes ideales, sus diversos hábitos y las formas de organizar los tipos de agentes existentes.

Agentes y su entorno.Un agente es cualquier cosa capaz de percibir de su medio ambiente con la ayuda de sensores y actuar en ese medio utilizando actuadores. La figura ilustra esta idea.

Ejemplos:Agente humano: tiene ojos, oídos y otros elementos sensoriales a parte de los actuadores que son sus manos, boca, piernas, etc., que le permiten actuar.

Agente robot: recibe pulsaciones del teclado, archivos de información y paquetes vía red como entradas sensoriales y actúa sobre el medio con mensajes en el monitor, escribiendo archivos y enviando información por la red.

Percepción: significa que el agente puede recibir entradas en cualquier instante.

La secuencia de percepciones de un agente refleja el historial completo de lo que el agente ha recibido.Un agente tomará una decisión en un momento dado dependiendo de la secuencia completa de percepciones hasta ese instante.El comportamiento del agente viene dado por la función del agente, la cual proyecta una percepción en una acción. El programa del agente es la implementación de la función del agente.

Carrera de Ingeniería en Sistemas Computacionales

Comportamiento Humano

Demás actividades: filosofía, religión,

costumbres, sentimientos, etc.

Inteligencia

Razonamiento

Pensamiento

5

AGENTE

SENSORES (percepciones)

ACTUADORES (acciones)

?

MEDIO

AMBIENTE

Page 6: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

La función del agente es una descripción matemática abstracta, mientras que el programa del agente es la implementación completa, que se ejecuta sobre la arquitectura del agente.

Buen comportamiento del agenteConcepto de racionalidadUn agente racional es aquel que hace lo correcto. Pero, ¿qué significa hacer lo correcto para un agente?Lo correcto es aquello que permite al agente obtener un resultado mejor.

Medidas de rendimiento.Incluye los criterios que determinan el éxito en el comportamiento del agente. Cuando se ubica un agente en un medio, este genera una secuencia de acciones de acuerdo con las percepciones que recibe. Esta secuencia de acciones hace que su hábitat pase por una secuencia de estados. Si la secuencia es la deseada, entonces el agente habrá actuado correctamente. Obviamente, no hay una única medida adecuada para todos los agentes.Los criterios de éxito que se elijan para el agente deben de ser objetivos medibles.

Guayaquil, martes 23 de marzo del 2010.

Como regla general, es mejor diseñar medidas de utilidad de acuerdo con lo que se quiere para el entorno más que de acuerdo con como se cree que el agente debe comportarse.

Racionalidad - factores.La racionalidad en un momento determinado depende de cuatro factores:

1. La medida de rendimiento que define el criterio de éxito.2. El conocimiento del medio en el que habita acumulado por el agente.3. Las acciones que el agente puede llevar a cabo.4. La secuencia de percepciones del agente hasta ese momento.

Definición del agente racional.En cada posible secuencia de percepciones un agente racional deberá emprender aquella acción que maximice su medida de rendimiento, basándose en las evidencias aportadas por la secuencia de percepciones y en el conocimiento que el agente mantiene almacenado.

Omnisciencia, aprendizaje y autonomía.Un agente omnisciente es aquel que conoce el resultado de su acción y actúa de acuerdo con él.En la realidad la omnisciencia NO es posible. Para alcanzar la racionalidad NO es necesaria la omnisciencia.La racionalidad NO es lo mismo que perfección, porque la racionalidad maximiza el rendimiento esperado mientras que la perfección maximiza el resultado real.El agente racional no sólo debe recopilar información, sino también que aprender lo máximo posible de lo que está percibiendo.Los agentes con éxito dividen las tareas de calcular la función del agente en 3 periodos diferentes:

1.- Cuando se está diseñando el agente, y están los diseñadores encargados de realizar algunos de estos cálculos.

2.- Cuando está pensando en la siguiente operación, el agente realiza más cálculos.

3.- Y cuando está aprendiendo de la experiencia, el agente lleva a cabo más cálculos para decidir como modificar su forma de comportarse.

AutonomíaSe dice que un agente carece de autonomía cuando se apoya más en el conocimiento inicial que le proporciona su diseñador que en sus propias percepciones.Un agente racional debe ser autónomo, debe saber aprender a determinar como tiene que compensar el conocimiento incompleto o parcial inicial.

La naturaleza del entorno de trabajoEl entorno de trabajo es el medio en que se desenvuelve el agente, que son los problemas para los que los agentes racionales son las soluciones. Para analizar el entorno de trabajo de un agente, es necesario analizar el acrónimo REAS (Rendimiento, Entorno, Actuadores y Sensores).

Carrera de Ingeniería en Sistemas Computacionales 6

Page 7: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Guayaquil, jueves 25 de marzo del 2010.

Especificación del entorno de trabajoREAS: es el análisis de la racionalidad de un agente.

a) Rendimiento.- se refiere a las medidas de rendimiento que definen el criterio de éxito de un agente.b) Entorno.- se refiere a los medios donde se desempeñará.c) Actuadores.- los medios que le permiten producir acciones sobre el entorno.d) Sensores.- elementos que le permiten recibir percepciones de su entorno.

Ejemplo: análisis de un conductor de taxi automatizado (taxista automatizado).

Tipo de agente

Medidas de rendimient

oEntorno Actuadores Sensores

Taxista

SeguroRápidoLegal

Viaje confortableMaximización del

beneficio

Carreteras , otro tráfico, peatones,

clientes

DirecciónAcelerador

FrenoSeñal

BocinaVisualizador

(pantalla)

CámarasVelocímetro

GPSTacómetro

(kilometraje)Visualizador de

aceleraciónTeclado

Sensores del motor

Guayaquil, martes 30 de marzo del 2010.

Realice el análisis de REAS para los siguientes agentes:a) Sistema de diagnóstico médico: programa que actúa como si fuera un médico, de

manera que tenga iguales metas u objetivos del médico.b) Robot clasificador de componentes: el robot se encuentra frente a una banda

transportadora de componentes y esté los coloca en los cubos correctos, clasificándolos en forma correcta.

c) Tutor interactivo de inglés: programa que cumple la labor de un profesor de inglés con los mismos objetivos y metas.

d) Controlador de una refinería: programa que controla el proceso de refinar petróleo y convertirlo en sus derivados como gasolina, kerex, gas, etc.

Tipo de agente

Medidas de rendimient

oEntorno Actuadores Sensores

MédicoQuirófano limpioSalud del paciente

Sala de operaciónPaciente

Enfermeros

Pulso del pacienteRetina del paciente

Temperatura del paciente

CámarasEquipos médicos

detectores de signos vitales

Robot (androide)RapidezCorrecta

clasificación

FábricaOtras máquinasComponentes

BandaCubos de

componentes

TemporizadorCantidad

Velocidad de la banda

CámaraTamaño, color,

texturaCódigo de barras

Carrera de Ingeniería en Sistemas Computacionales 7

Page 8: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Tutor

Aprendizaje de los alumnos.Rapidez

Salas confortables

Equipos de sonidosAula

Alumnos

Dicción de estudiantes.Cantidad de estudiantes

LeccionesVocalización de

alumnos

ConvertidorCalidad.Cantidad

RefineríaBarriles

Gasolina y derivados

PrecioCantidad

TecladoSensores del motor

Guayaquil, jueves 01 de abril del 2010.

Propiedades de los entornos de trabajoEl rango de los entornos de trabajo en los que se utilizan técnicas de I.A. es obviamente muy grande. Sin embargo, se puede identificar un pequeño número de dimensiones en la que se pueden categorizar estos entornos.Este análisis es útil para la implementación del agente. Las propiedades a analizar para los entornos son:

a) Totalmente observable versus parcialmente observable.Un entorno es totalmente observable, si los sensores del agente le proporcionan acceso al estado completo del medio en cada momento, es decir, si los sensores pueden detectar todos los aspectos que son relevantes en la toma de decisiones. La relevancia en cada momento, depende de las medidas de rendimiento.Un entorno puede ser parcialmente observable debido a varias causas, como por ejemplo: sensores poco exactos, o porque los sensores no reciben información de parte del sistema.

b) Determinista versus estocásticoSi el siguiente estado está totalmente determinado por el estado actual y la acción ejecutada por el agente, entonces se dice que el entorno es determinista, de otra forma es estocástico.El entorno determinista es totalmente observable, un agente no se tiene que preocupar de la incertidumbre.Se recomienda pensar en entornos deterministas o estocásticos desde el punto de vista del agente.

c) Episódico versus secuencial.En un entorno episódico, la experiencia del agente se divide en episodios atómicos. Cada episodio consiste en la percepción del agente y la realización de una acción posterior. Es muy importante tener en cuenta que la realización de un episodio NO depende de la realización de episodios previos, dependiendo cada episodio de sí mismo en cuanto a su ejecución.En entornos secuenciales, la decisión presente puede afectar a decisiones futuras.

d) Estático versus dinámicoSi el entorno puede cambiar mientras el agente está deliberando, el entorno es dinámico para el agente. Los medios estáticos son más fáciles de usar debido a que el agente NO tiene que estar pendiente del mundo mientras está tomando una decisión respecto a una acción a emprender.

e) Discreto versus continuoEl entorno discreto tiene un número finito de estados distintos. Es importante analizar SI las entradas (percepciones) recibidas, tienen un rango de valores discretos o continuos. Por ejemplo: la velocidad tiene un rango continuo de valores, el juego del póker tiene un número finito de jugadores

f) Agente individual versus multiagenteDepende del número de agentes que intervengan en el entorno. Para dos o más es multiagente y para el individual uno sólo.

Ejemplo:Análisis del entorno.

JUEGO DEL AJEDREZ

Totalmente observable

Determinista

Secuencial

Estático

Carrera de Ingeniería en Sistemas Computacionales 8

Page 9: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Discreto

Multiagente

Trabajo en clase:Determine para cada agente que propiedades se cumplen, 6 en total para cada uno, para el respectivo entorno del agente.

Juego del crucigrama (programa)

Juego del póker (programa)

Sistema de diagnóstico médico (programa)

Tutor interactivo de inglés (programa)

Conductor de taxi automatizado (programa y hardware)

Guayaquil, martes 8 de abril del 2010.

Estructura de los agentes

A g e n t e = a r q u i t e c t u r a + p r o g r a m a .

Arquitectura: computador con sus sensores físicos y actuadores.Programa del agente: es la implementación de la función del agente que proyecta las percepciones en las acciones.La arquitectura puede ser un común o un auto robotizado, cámaras, sensores. Si el programa recomienda la acción caminar, la arquitectura debe tener piernas (hardware). La arquitectura hace que las percepciones de los sensores estén disponibles para el programa.

Programa agente dirigido mediante tablaFunción agente_dirigido_mediante_tabla (percepción) devuelve una acción.Variables estáticasPercepciones, una secuencia vacía inicialmente.Añadir la percepción al final de las percepciones.Acción consulta (percepción, tabla) devolver acción.Este agente dirigido mediante tabla tiene las siguientes limitaciones que lo conducen al fracaso:

a. Las tablas para un agente son demasiado grandes, por lo que no hay agente que tenga el espacio físico como para almacenar la tabla.

b. Al diseñador le tomaría demasiado tiempo diseñar y terminar la tabla.c. Ningún agente podría aprender todas las entradas de la tabla a parir de su experiencia.d. Incluso si el entorno es lo suficientemente simple para generar una tabla de tamaño razonable, el diseñador

NO tendría quien le asesore en la forma de rellenar la tabla.

Los programas de agentes básicos que tienen los sistemas inteligentes son:

1.- Agentes reactivos simples.

2.- Agentes reactivos basados en modelos.

3.- Agentes basados en objetivos.

Carrera de Ingeniería en Sistemas Computacionales 9

Page 10: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

4.- Agentes basados en utilidad.

5.- Agentes que aprenden.

1.- Agentes reactivos simples.

Función agente_reactivo_simple (percepción) devuelve una acción. Estático: reglas, un conjunto de reglas condición_acciónEstado ← interpretar_entrada (percepción).Regla ← regla_coincidencia (estado, reglas).Acción ← regla_acción (reglas) devolver una acción.

Es el tipo de programa de agente más sencillo. Estos agentes seleccionan las acciones sobre la base de las percepciones actuales, ignorando el resto de las percepciones históricas.Este programa de agente utiliza las reglas condición _acción como medio de conexión entre la percepción y la acción a emprender.El esquema de una regla condición_acción es el siguiente.

si _____________ entonces _____________. antecedente consecuente

donde el antecedente contiene las condiciones y el consecuente la acción a emprender, por ejemplo una de las reglas condición_acción para el agente conductor de taxi automatizado sería:

si el_carro_que_circula_delante_está_frenando entonces iniciar_frenado

El antecedente debe ser verdadero para que la acción del consecuente se lleve a cabo.

Los humanos tenemos muchas de estas conexiones, algunas de las cuales son respuestas aprendidas y otras son innatas.

En el gráfico se usan rectángulos para denotar el estado interno actual del proceso de toma de decisiones del agente.Los óvalos corresponden a la información base utilizada en el proceso de decisión.

Carrera de Ingeniería en Sistemas Computacionales

Reglas de configuración

Que acción debo tomar

ahora

Como es el mundo ahora

AGENTESensores

Actuadores

MEDIO

AMBIENTE

10

Diagrama esquemático

Page 11: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

En la función del agente, existe una función interpretar_entrada que genera una descripción abstracta del estado actual a partir de la percepción.La función regla_coincidencia devuelve la primera regla del conjunto de reglas que coincide con la descripción del estado generado por interpretar_entrada. Este programa de agente es útil únicamente en entornos totalmente observables.Ejemplo del conductor de taxi automatizado. Percepción.- la luz roja del carro que circula delante está encendidaestado ≡ el_carro_que_circula_delante_esta_frenando

regla_coincidencia (estado, reglas)

si el_carro_que_circula_delante_está_frenando entonces iniciar_frenado

Acción: iniciar_frenadodevolver_acciónEl agente reactivo simple únicamente sirve en entornos totalmente observables.

Guayaquil, martes 13 de abril del 2010.

2.- Agentes reactivos basados en modelos

La forma más efectiva que tienen estos agentes de manejar la visibilidad parcial es almacenar información de las partes del mundo que NO pueden ver, manteniendo algo que se llama “estado interno”, el cual depende de la historia percibida y de este modo refleje por lo menos algunos de los aspectos NO OBSERVABLES del estado actual.Para el caso del conductor de taxi automatizado que observa que las luces rojas del carro de enfrente se encienden, el estado interno no es demasiado extenso, sólo la fotografía anterior de la cámara, facilitando al agente la detección de dos luces rojas encendiéndose y apagándose simultáneamente a los costados del vehículo.Para otros aspectos de la conducción, como por ejemplo un cambio de carril, el agente tiene que mantener información de la posición de autos si no los puede ver.La actualización de la información del estado interno según pasa el tiempo, requiere codificar dos tipos de conocimiento en el programa del agente:

1. Se necesita alguna información acerca de cómo evoluciona el mundo independientemente del agente. Por ejemplo: que un coche que está rebasando estará más cerca, detrás, que un momento inmediatamente anterior.

2. Se necesita más información sobre como afectan al mundo las acciones del agente, por ejemplo: si gira en este momento o después de 5 minutos a la derecha, como afecta al mundo del agente en este caso.

Este conocimiento de cómo funciona el mundo se denomina “modelo del mundo”.

Carrera de Ingeniería en Sistemas Computacionales 11

Diagrama esquemático

Sensores

¿Cómo es el mundo ahora?

¿Qué acción debo tomar

ahora?

MEDIO

AMBIENTE

Estado

¿Cómo evoluciona el mundo?

¿Qué efectos causan mis acciones?

Reglas condición_acción

Page 12: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Función agente_reactivo_con_estado(percepción) devuelve una acción.Estático: estado, una descripción actual del estado del mundo.Reglas, un conjunto de reglas condiccion_accion.Acción, la acción más reciente inicialmente ninguna.

estado ← actualizar_estado(estado,acción,percepcion).regla ← regla_coincidencia(estado_reglas).acción ← regla_accion(reglas).

Devolver acción.El estado interno (antiguo) se combina con la percepción actual para generar el estado, que es la descripción actualizada del estado actual, la cual se genera aparte de la percepción actual y el estado interno, utiliza información sobre como evoluciona el mundo, la cual contiene información de las partes NO VISIBLES.

3.- Agentes basados en objetivos.

El conocimiento sobre el estado actual del mundo NO es siempre suficiente para decidir que hacer, por ejemplo: si un taxi automatizado quiere girar sea a la derecha, izquierda o seguir adelante, dependerá hacia donde desea ir el taxi. Por lo tanto el agente necesita información sobre su meta que describa las situaciones que son deseables, como por ejemplo, llegar al destino propuesto por el pasajero. El programa del agente combina la información de los resultados de las acciones posibles para elegir las acciones que permitan alcanzar el destino.

Carrera de Ingeniería en Sistemas Computacionales 12

Actuadores

Diagrama esquemático

Agente

¿Cómo es el mundo ahora?

¿Qué pasará si realizó la acción A?

¿Qué acción debo llevar?

Sensores

Actuadores

MEDIO

AMBIENTE

Estado

¿Cómo evoluciona el mundo?

¿Qué efectos causan mis acciones?

Objetivos

Page 13: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

4.- Agentes basados en utilidad

La función de utilidad proyecta un estado o una secuencia de estados en un número real, que representa un nivel de felicidad. La función de utilidad es muy útil para tomar decisiones racionales en dos casos en que el basado en objetivos (metas) son inadecuados.

1.- Cuando haya objetivos conflictivos y sólo se puedan alcanzar algunos de ellos. Allí la función de utilidad determina el equilibrio adecuado.

2.- Cuando haya varios objetivos y ninguno de ellos se puedan alcanzar con certeza. La función de utilidad pondera la probabilidad de éxito en función de la importancia de los objetivos.

Carrera de Ingeniería en Sistemas Computacionales 13

Diagrama esquemático

¿Cómo es el mundo ahora?

¿Qué pasará si realizó la acción A?

¿Qué acción debo llevar a cabo ahora?

Sensores

Actuadores

¿Estaré contento en este estado?

Agente

Estado

¿Cómo evoluciona el mundo

¿Qué efectos causan mis acciones?

Utilidad

MEDIO

AMBIENTE

Page 14: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Guayaquil, jueves 15 de abril del 2010.

5.- Agentes que aprendenEste método propone construir máquinas que aprendan y después enseñarlas. En muchas áreas de la I.A. este es ahora el método más adecuado para crear sistemas novedosos. El aprendizaje tiene otras ventajas: permite que el agente opere en medios inicialmente desconocidos y que sea más competente que si sólo utilizaré un conocimiento inicial.

Elemento de aprendizaje.- es el responsable de hacer mejoras.

Guayaquil, martes 20 de abril del 2010.

Representación del conocimientoEste capítulo tiene importancia en relación a que el conocimiento es vital para un agente inteligente para tomar decisiones. De ahí la necesidad de representar el conocimiento.

Carrera de Ingeniería en Sistemas Computacionales 14

CRITICA

Elemento de aprendizaje

Generador de problemas

Elemento de actuación

Sensores

Actuadores

MEDIO

AMBIENTE

Cambios

Conocimiento

Objetivos a aprender

Agente

Diagrama esquemático

Page 15: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Existen muchas formas de representación del conocimiento, de las cuales nombraremos algunas de las más conocidas:

1. Lógica de predicados.2. Marcos.3. Redes semánticas.4. Guiones o scripts, etc.

Lógica de predicados.La lógica de predicados es una forma de representar el conocimiento de manera que pueda trasladarlo al computador para que desarrollen bases de conocimiento que le permitan tomar decisiones al agente.La lógica de predicados consta de dos partes: hechos o proposiciones y reglas que permiten inferir.

HECHOSEs una oración que tiene sujeto y predicado, todo hecho está compuesto de dos partes: predicado y argumento.El predicado se escribe como primer elemento del hecho, y si tiene más de una palabra se unen con subguión. En este predicado NO se pueden incluir nombres propios ni el sujeto de la oración, en este predicado debe incluirse el verbo, el complemento siempre y cuando no sea un nombre propio.El argumento se escribe entre paréntesis a continuación del predicado y sus elementos se separan entre comas. El primer elemento del argumento siempre será el sujeto y el segundo elemento de dicho argumento puede ser el complemento. En caso de que sea nombre propio, es obligatorio que el complemento se encuentre en el segundo elemento del argumento. Si NO es nombre propio puede incluirse o en el predicado o en el argumento.

NO nombre propio Puede incluir aquí si NO es nombre propio

verbo_complemento(sujeto,complemento). predicado argumento

Todo hecho termina con punto al final obligatorio, como parte de la sintaxis.

Oraciones Lógica de predicados

Juan es profesor. es_profesor(juan).es(juan,profesor).es(‘Juan’,profesor).

Juan es profesor de Pedro. es_profesor(juan,pedro).es_profesor(‘Juan’, ‘Pedro’).

Juan usa un arma. usa_arma(juan).usa(juan,arma).usa(‘Juan’,arma).

Juan usa un arma colt_45. usa_arma(juan,colt_45).usa_arma(‘Juan’,colt_45).

Juan tiene 45 años de edad. tiene_edad(juan,45).edad(juan,45).edad(‘Juan’,45).

NO se debe dejar espacios en blanco, porque genera error al compilar

Guayaquil, martes 4 de mayo del 2010.

Carrera de Ingeniería en Sistemas Computacionales 15

Page 16: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Lógica de predicados1. Hechos.2. Reglas y sus elementos.

a) Constantes o átomos.Se escriben con minúscula.Como por ejemplo: profesor, arma, etc.También las constantes o átomos se pueden escribir de la siguiente manera:‘Profesor’, ‘arma’, etc. Ejemplos: usa(juan,‘arma’). usa(juan,arMA). usa(juan,arma). La usualmente usada

b) VariablesLas variables se escriben con mayúscula la primera letra o precedido de un subguión el nombre de la variable, sin importar que dicho nombre se escriba con mayúsculas o minúsculas, ejemplos:Arma_arma_Arma_arMAX_xY_ySe usa en lógica de predicados una variable para representar un valor desconocido, el cual usted desea conocer. Las variables se deben usar únicamente en el argumento, ejemplos: es(X,ingeniero).

c) Conectivas lógicas unen dos proposiciones o hechos.1) and

Tabla de verdadX Y X and YF F FF V FV F FV V V

2) orTabla de verdad

X Y X and YF F FF V VV F VV V V

Donde X y Y son hechos

d) Cláusulas contienen la negación, la cual se representa con not. El not niega el valor lógico de un hecho, es decir, si es verdadero, lo convierte en falso o viceversa.El not debe anteceder a un hecho dejando un espacio en blanco entre el hecho y not, ejemplo:

not usa (juan,arma).

Nota: este es el único espacio en blanco que se puede utilizar, en los demás casos, dejar un espacio en blanco suele generar error

e) Reglas

Carrera de Ingeniería en Sistemas Computacionales 16

Page 17: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Contiene dos partes antecedente y consecuente. El antecedente se usa entre el si y el entonces, y contiene las condiciones de la regla.El consecuente contiene la conclusión, la cual será verdadera SI el antecedente es verdadero, caso contrario será falso.

Si_______________entonces______________. Indispensable el punto al final. antecedente consecuente

Ejemplos:Si a alguien le gusta la pizza entonces es italiano.

Alguien valor desconocido (variable).Nota: el antecedente contiene uno o más hechos, unidos usando conectivas lógicas.

Si gusta_pizza(X) entonces es_italiano(X).Si gusta(X,pizza) entonces es(X,italiano).

Las reglas pueden ser escritas de diferentes formas, pero significan lo mismo, así no contengan las palabras si……….. entonces.Ejemplo: Todo aquel que le gusta pizza es italiano.Todo es un cuantificador.Nota: el cuantificador NO se escribe en la regla. Representa o da la idea de la cantidad de posibilidades de valores que puede tomar una variable.Toda regla contiene antecedente o condiciones y consecuente o conclusiones.Si usted identifica ambos elementos en una oración dicha oración será una regla.

Guayaquil, martes 18 de mayo del 2010.

Ejemplos de reglas en lógica de predicados.

1. Para sufragar hay que ser ecuatoriano y tener 18 años de edad o más.Si alguien es ecuatoriano y (alguien) tiene 18 años de edad o más entonces (alguien) puede sufragar.

Alguien X es desconocido y pueden representar una o más personas.

Si es(X,ecuatoriano) and edad(X,Y) and Y>=18 entonces sufragar(X).

2. Todo aquel que trabaja con Vito Corleone, Corleone lo soborna o lo traiciona.

Si alguien trabaja con Vito Corleone entonces Vito Corleone soborna(a alguien) o Vito Corleone traiciona(a alguien).Si trabaja(X,Vito_Corleone) entonces soborna(Vito_Corleone,X) or traiciona(Vito_Corleone,X).

3. Toda persona ama a alguien. ama(X,Y).

4. Todo aquel que traiciona a Vito Corleone se le aplica el abrazo siciliano o el beso calabrés.Si alguien traiciona a Vito Corleone entonces(a alguien) se le aplica el abrazo siciliano (a alguien) o se le aplica el beso calabrés (a alguien).Si traiciona(X,Vito_Corleone) entonces se aplica(X,abrazo_siciliano) or se aplica(X,beso_calabrés).

5. Si Vito Corleone es padre del asesino y el asesino es capo y usa un arma colt 45, entonces se le aplica (al traidor) el abrazo siciliano.

Si es_padre(Vito_Corleone,Y) and es(Y,capo) and usa_arma(Y,colt_45) entonces se aplica(X,abrazo_siciliano).

PROLOG

Carrera de Ingeniería en Sistemas Computacionales 17

Page 18: Materia Inteligencia Artificial

Inteligencia artificial Ing. Carlos AveigaS 5 A Galo Galarza Acosta

Representa las siglas de programming logic, que significa programación lógica.A Prolog se lo conoce como un lenguaje de programación interpretado. Porque Prolog fue diseñado usando intérprete, pero con el paso del tiempo le fue agregado el compilador debido a que Prolog se comunica y conecta con lenguajes de programación de alto nivel como Java, Visual Basic, C, Delphi, etcétera, los cuales utilizan compiladores y no intérpretes por lo que fue necesario que Prolog usará compiladores para poder reconocer y ejecutar código de programación de aquellos lenguajes de programación de alto nivel.

Semejanzas entre compilador e intérprete.Ambos traducen el lenguaje desarrollado en alto nivel al lenguaje que comprende el computador antes de pasarlos a unos y ceros.

DiferenciasEl compilador genera un archivo al compilar código, el intérprete NO genera un archivo.

Carrera de Ingeniería en Sistemas Computacionales 18