You are on page 1of 18

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta Guayaquil, martes 2 de marzo de 2010.

Inteligencia artificial

Programa de estudio
1) Introduccin a la inteligencia artificial Conceptos importantes. Historia de la inteligencia artificial. Aplicaciones y campos de aplicacin 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) Clculo de predicados El lenguaje de lgica de predicados. Inferencia en lgica de predicados. Sistemas de produccin. Marcos y redes semnticas. 4) Estrategias de bsqueda 5) Prolog ANSI prolog versin 5.0.3 Visual prolog. Bibliografa: Inteligencia artificial, autores: Stuart Russell / Peter Novig Conceptos Inteligencia.- es una capacidad del ser humano de saber o aprender a travs de los sentidos, imaginacin, memoria y otros elementos ms 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 relacin 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, percepcin, decisin y comprensin. Objetivos de la I.A. Con la ayuda de mquinas 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 fsicas como mentales, en especial mentales. Hiptesis de separacin de Chandrasekarn Comportamiento Dems actividades: Filosofa, religin, costumbres, sentimientos, etc. Humano Inteligencia. Razonamiento. Pensamiento

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

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta Evolucin histrica de la I.A. 1937 - 1940 Alan Turing lanz un libro que contena los parmetros de una mquina que en lo posterior se la conocer como la Mquina Universal de Turing la cual contena los principios bsicos de lo que sera despus el computador. 1956 Se cree que por primera vez se habl del trmino Inteligencia artificial, en una conferencia acerca de computacin terica 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 investigacin cientfica. A esta conferencia asisti Marvin Minsky que se dedicaba a la docencia universitaria y a la investigacin cientfica. Se cree que en est conferencia se habl por primera vez del trmino 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 ao producto del trabajo de este grupo de I.A. se cre el programa Logic theorist que era un programa que demostraba teoremas matemticos para probarlos, se utilizaron 52 teoremas de la obra Principios matemticos de las cuales fueron demostradas correctamente por el programa 38 teoremas. Primeras realizaciones de la I.A. Lingsticas.- comprensin del lenguaje natural. Juegos.- rompecabezas, ajedrez. Matemticas.- demostracin de teoremas. Tcnicas de revolucin de problemas.- rbol de bsqueda, tcnica de bsqueda (heurstica). En esta poca al inicio de la I.A. el tiempo de ejecucin de las creaciones de la I.A. crecieron exponencialmente por lo que no tuvo acogida en la invencin de software y hardware para la industria 1957 Crearon el sistema GPS que viene de las siglas (General problem solver). Desarrollado por Newell, Slvanom y Simn. Este programa trata de transformar un estado inicial en una situacin final valindose 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 atrs buscando operadores que aproximen el estado inicial al final. 1959 McCarthy desarroll el Advice Taker que es considerado para algunos autores el primer ejemplo de la ingeniera del conocimiento. En este mismo ao 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. deberan soportar. Los primeros resultados de la I.A. NO fueron los esperados, pues no haba disponibilidad de computadoras que permitieron desarrollar programas de esta naturaleza. Con la llegada de las tcnicas de miniaturizacin electrnica, surgieron computadores ms potentes y rpidos que permitieron un mayor desarrollo de la I.A. 1975 Se desarrollaron dos programas de sistemas de inferencia llamado OPS y Drilling advisor. Utilizado para diagnosticar problemas en pozos petroleros e interpretacin de sondeos. Inferencia.- la inferencia nos permite razonar sacando de una o ms proposiciones dadas una proposicin nueva para llegar a un resultado. 1981 Lanzamiento de los computadores de 5ta generacin en Tokio-Japn, en una conferencia internacional, donde se present a Prolog como el lenguaje fundamental que deban soportar esos computadores y la I.A.

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

Evolucin histrica de la Inteligencia artificial

1.937 - 1.940 Alan Turing (parmetros para la Mquina universal de Turing) principios bsicos para la creacin de la computadora..

1.956 Creacin del programa Logic theorist, fueron demostradas 38 teoremas correctamente con este programa.

1.957 Creacin del sistema GPS (General problem solver) trabaja con encadenamiento hacia atrs 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 interpretacin de sondeos.

1.981 Computadoras de 5 ta generacin y se present Prolog (PROgramming LOGic) en Tokio, Japn

Productos comerciales y no comerciales 1) Eliza.- escrito en LISP por Joseph Weizenbaum, ms bien en plan de broma, desafortunadamente muchas personas se la tomaron en serio. Se ha hecho clebre debido a que ciertas personas llegaron a tener la impresin que est verdaderamente dialogando con un psicoanalista, cosa que contribuy a dar mala reputacin a la I.A. 2) Dentral.- daba la frmula desarrollada de un cuerpo orgnico a partir de su frmula bruta y de su espectrograma de masa. Origen: Universidad de Stanford. 3) MyCin.- diagnostica enfermedades infecciosas, los mdicos se resistan a aceptar las advertencias de un programa de diagnstico que sea capaz de explicar su razonamiento a la entera satisfaccin de dichos mdicos. El programa MyCin razona hacia atrs partiendo desde sus objetivos hasta determinar la causa de la enfermedad del paciente. Origen: Universidad de Stanford, 1974. 4) R1.- programa de informtica que configura sistemas particulares a las necesidades de los clientes. R1 es pionero en este gnero. Estos programas normalmente necesitan minutos para realizar las tareas que tomaran horas para un ingeniero. Estos programas evalan si se ahorra o gana dinero. Origen: Universidad Carnegie Mellon, 1980 5) LISP.- dispone de una seccin de memoria dinmica, es decir, que la memoria se organiza durante el clculo, por consiguiente, el programa puede modificar la forma de los datos. La forma de representacin se denomina s-expresin. Fue muy utilizado en la I.A. como lenguaje de programacin. Trabaja eficazmente con los signos de bsqueda de soluciones a problemas generales, etc. 6) Prolog.- su abreviatura es PROgramming LOGic la formacin de este lenguaje se obtiene gracias a la lgica, 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 Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

Antecedentes. La idea de fabricar modelos computacionales autmatas (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 informtica, porque crean que los programadores e investigadores de la I.A. trabajaban para crear pensamientos. A los investigadores de la I.A. se los consideraba como fanticos de la Informtica, por eso evitaban dar referencias de la I.A. La I.A. tiene como objetivo hacer que los computadores sean ms tiles cuando ayuden al ser humano, y que puedan tomar decisiones ms rpidas y que su entendimiento sea ms inteligente. Guayaquil, martes 16 de marzo del 2010. Ncleo de la I.A.

1.2.3.4.5.-

Representacin del conocimiento (se crean bases para los mecanismos que permiten a un agente tomar una decisin). Razonamiento lgico (predicados). Investigaciones heursticas (lo contrario a un algoritmo). Lenguaje y herramientas. Retro seguimiento (retroalimentacin).

Campos de aplicacin 1) Sistemas expertos.- son sistemas desarrollados con el conocimiento de uno o varios expertos de manera que mientras interacta 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 aplicacin verdaderamente operacional, se sita en el punto de unin de los dos enfoques de la I.A. La representacin del conocimiento y la demostracin automtica. 2) Procesamiento de lenguaje natural.- el lenguaje es todo un proceso de comunicacin, sea el humano verbal o no verbal, y que combinado con elementos naturales produce un significado. Es todo un sistema de comunicacin para lenguas humanas. 3) Visin y robtica.- una de las reas de investigacin que se incluyen en la percepcin correspondiente a la visin y habla tratando de ser imitadas por las mquinas actuales como los robots. 4) Resolucin de problemas.- es la bsqueda de solucin de un problema, buscando una estrategia de control genrica que sea apropiada para resolver problemas. 5) Reconocimiento de modelos.- es la forma de designar el tipo de modelo en el campo de aplicacin de la I.A. 6) Lgica.- 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 numricos como lo hace el procesamiento de datos convencional, pero si trata con conocimientos que son abstractos y simblicos. Por lo tanto se puede decir que los programas de la I.A. estn relacionados con procesos simblicos que evalen incertidumbre y ambigedad. o Los procesos simblicos son usualmente aquellos por los cuales NO hay soluciones algortmicas, siendo necesario investigar la solucin por tentativa y errores. o La programacin algortmica NO es adecuada para la solucin de problemas inteligentes. o Los programas de I.A. definen y representan problemas dentro del computador de tal modo que la aplicacin de ciertas reglas conduzca a una solucin si acaso existe alguna, de manera que provea de un medio diferente de direccionar la bsqueda para la solucin del problema usando conocimientos del sentido comn. o El desarrollo de sistemas inteligentes se centra en los temas de inferencia y bsqueda heurstica y depende esencialmente del manejo de smbolos. Hiptesis de separacin de Chandrasekarn

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A 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 hiptesis no es verdadera ni falsa.

Comportamiento

Humano Inteligencia Razonamiento Pensamiento

Dems actividades: filosofa, religin, costumbres, sentimientos, etc.

Guayaquil, jueves 18 de mazo del 2010. Agentes inteligentes. Objetivo: aprender la naturaleza de los agentes ideales, sus diversos hbitos 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.

AGENTE SENSORES (percepciones) M E D I O A M B I E N T E

?
ACTUADORES (acciones)

Ejemplos: Agente humano: tiene ojos, odos 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 informacin y paquetes va red como entradas sensoriales y acta sobre el medio con mensajes en el monitor, escribiendo archivos y enviando informacin por la red. Percepcin: 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 decisin en un momento dado dependiendo de la secuencia completa de percepciones hasta ese instante. El comportamiento del agente viene dado por la funcin del agente, la cual proyecta una percepcin en una accin. El programa del agente es la implementacin de la funcin del agente.

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta La funcin del agente es una descripcin matemtica abstracta, mientras que el programa del agente es la implementacin completa, que se ejecuta sobre la arquitectura del agente.

Buen comportamiento del agente Concepto de racionalidad Un 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 hbitat 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 disear medidas de utilidad de acuerdo con lo que se quiere para el entorno ms 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. Definicin del agente racional. En cada posible secuencia de percepciones un agente racional deber emprender aquella accin que maximice su medida de rendimiento, basndose en las evidencias aportadas por la secuencia de percepciones y en el conocimiento que el agente mantiene almacenado. Omnisciencia, aprendizaje y autonoma. Un agente omnisciente es aquel que conoce el resultado de su accin y acta 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 perfeccin, porque la racionalidad maximiza el rendimiento esperado mientras que la perfeccin maximiza el resultado real. El agente racional no slo debe recopilar informacin, sino tambin que aprender lo mximo posible de lo que est percibiendo. Los agentes con xito dividen las tareas de calcular la funcin del agente en 3 periodos diferentes:

1.2.3.-

Cuando se est diseando el agente, y estn los diseadores encargados de realizar algunos de estos clculos. Cuando est pensando en la siguiente operacin, el agente realiza ms clculos. Y cuando est aprendiendo de la experiencia, el agente lleva a cabo ms clculos para decidir como modificar su forma de comportarse.

Autonoma Se dice que un agente carece de autonoma cuando se apoya ms en el conocimiento inicial que le proporciona su diseador que en sus propias percepciones. Un agente racional debe ser autnomo, debe saber aprender a determinar como tiene que compensar el conocimiento incompleto o parcial inicial. La naturaleza del entorno de trabajo El 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 acrnimo REAS (Rendimiento, Entorno, Actuadores y Sensores).

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

Guayaquil, jueves 25 de marzo del 2010. Especificacin del entorno de trabajo REAS: es el anlisis 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 desempear. c) Actuadores.- los medios que le permiten producir acciones sobre el entorno. d) Sensores.- elementos que le permiten recibir percepciones de su entorno. Ejemplo: anlisis de un conductor de taxi automatizado (taxista automatizado).

Tipo de agente

Medidas de rendimient o
Seguro Rpido Legal Viaje confortable Maximizacin del beneficio

Entorno

Actuadores
Direccin Acelerador Freno Seal Bocina Visualizador (pantalla)

Sensores
Cmaras Velocmetro GPS Tacmetro (kilometraje) Visualizador de aceleracin Teclado Sensores del motor

Taxista

Carreteras , otro trfico, peatones, clientes

Guayaquil, martes 30 de marzo del 2010. Realice el anlisis de REAS para los siguientes agentes: a) Sistema de diagnstico mdico: programa que acta como si fuera un mdico, de manera que tenga iguales metas u objetivos del mdico. b) Robot clasificador de componentes: el robot se encuentra frente a una banda transportadora de componentes y est los coloca en los cubos correctos, clasificndolos en forma correcta. c) Tutor interactivo de ingls: programa que cumple la labor de un profesor de ingls con los mismos objetivos y metas. d) Controlador de una refinera: programa que controla el proceso de refinar petrleo y convertirlo en sus derivados como gasolina, kerex, gas, etc.

Tipo de agente
Mdico

Medidas de rendimient o
Quirfano limpio Salud del paciente

Entorno
Sala de operacin Paciente Enfermeros Fbrica Otras mquinas Componentes Banda Cubos de componentes

Actuadores
Pulso del paciente Retina del paciente Temperatura del paciente Temporizador Cantidad Velocidad de la banda

Sensores
Cmaras Equipos mdicos detectores de signos vitales Cmara Tamao, color, textura Cdigo de barras

Robot (androide)

Rapidez Correcta clasificacin

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta Aprendizaje de los alumnos. Rapidez Salas confortables Calidad. Cantidad Equipos de sonidos Aula Alumnos Refinera Barriles Gasolina y derivados Diccin de estudiantes. Cantidad de estudiantes Precio Cantidad Lecciones Vocalizacin de alumnos Teclado Sensores del motor

Tutor

Convertidor

Guayaquil, jueves 01 de abril del 2010. Propiedades de los entornos de trabajo El rango de los entornos de trabajo en los que se utilizan tcnicas de I.A. es obviamente muy grande. Sin embargo, se puede identificar un pequeo nmero de dimensiones en la que se pueden categorizar estos entornos. Este anlisis es til para la implementacin 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 informacin de parte del sistema.
b) Determinista versus estocstico

Si el siguiente estado est totalmente determinado por el estado actual y la accin ejecutada por el agente, entonces se dice que el entorno es determinista, de otra forma es estocstico. El entorno determinista es totalmente observable, un agente no se tiene que preocupar de la incertidumbre. Se recomienda pensar en entornos deterministas o estocsticos desde el punto de vista del agente.
c) Episdico versus secuencial.

En un entorno episdico, la experiencia del agente se divide en episodios atmicos. Cada episodio consiste en la percepcin del agente y la realizacin de una accin posterior. Es muy importante tener en cuenta que la realizacin de un episodio NO depende de la realizacin de episodios previos, dependiendo cada episodio de s mismo en cuanto a su ejecucin. En entornos secuenciales, la decisin presente puede afectar a decisiones futuras.
d) Esttico versus dinmico

Si el entorno puede cambiar mientras el agente est deliberando, el entorno es dinmico para el agente. Los medios estticos son ms fciles de usar debido a que el agente NO tiene que estar pendiente del mundo mientras est tomando una decisin respecto a una accin a emprender.
e) Discreto versus continuo

El entorno discreto tiene un nmero 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 pker tiene un nmero finito de jugadores
f) Agente individual versus multiagente

Depende del nmero de agentes que intervengan en el entorno. Para dos o ms es multiagente y para el individual uno slo. Ejemplo: Anlisis del entorno. JUEGO DEL AJEDREZ Totalmente observable Determinista Secuencial Esttico

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A 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 pker (programa) Sistema de diagnstico mdico (programa) Tutor interactivo de ingls (programa) Conductor de taxi automatizado (programa y hardware)

Guayaquil, martes 8 de abril del 2010. Estructura de los agentes Agente = arquitectura + programa. Arquitectura: computador con sus sensores fsicos y actuadores. Programa del agente: es la implementacin de la funcin del agente que proyecta las percepciones en las acciones. La arquitectura puede ser un comn o un auto robotizado, cmaras, sensores. Si el programa recomienda la accin caminar, la arquitectura debe tener piernas (hardware). La arquitectura hace que las percepciones de los sensores estn disponibles para el programa. Programa agente dirigido mediante tabla Funcin agente_dirigido_mediante_tabla (percepcin) devuelve una accin. Variables estticas Percepciones, una secuencia vaca inicialmente. Aadir la percepcin al final de las percepciones. Accin consulta (percepcin, tabla) devolver accin. 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 fsico como para almacenar la tabla. b. Al diseador le tomara demasiado tiempo disear y terminar la tabla. c. Ningn agente podra 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 tamao razonable, el diseador NO tendra quien le asesore en la forma de rellenar la tabla. Los programas de agentes bsicos que tienen los sistemas inteligentes son:

1.2.3.4.-

Agentes reactivos simples. Agentes reactivos basados en modelos. Agentes basados en objetivos. Agentes basados en utilidad.

Carrera de Ingeniera en Sistemas Computacionales

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

5.-

Agentes que aprenden.

1.- Agentes reactivos simples.

Diagrama esquemtico
Sensores Como es el mundo ahora Reglas de configuracin Que accin debo tomar ahora Actuadores

AGENTE

M E D I O A M B I E N T E

Funcin agente_reactivo_simple (percepcin) devuelve una accin. Esttico: reglas, un conjunto de reglas condicin_accin Estado interpretar_entrada (percepcin). Regla regla_coincidencia (estado, reglas). Accin regla_accin (reglas) devolver una accin. Es el tipo de programa de agente ms sencillo. Estos agentes seleccionan las acciones sobre la base de las percepciones actuales, ignorando el resto de las percepciones histricas. Este programa de agente utiliza las reglas condicin _accin como medio de conexin entre la percepcin y la accin a emprender. El esquema de una regla condicin_accin es el siguiente. si _____________ entonces _____________. antecedente consecuente donde el antecedente contiene las condiciones y el consecuente la accin a emprender, por ejemplo una de las reglas condicin_accin para el agente conductor de taxi automatizado sera: si el_carro_que_circula_delante_est_frenando entonces iniciar_frenado

El antecedente debe ser verdadero para que la accin 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 grfico se usan rectngulos para denotar el estado interno actual del proceso de toma de decisiones del agente. Los valos corresponden a la informacin base utilizada en el proceso de decisin. En la funcin del agente, existe una funcin interpretar_entrada que genera una descripcin abstracta del estado actual a partir de la percepcin.

Carrera de Ingeniera en Sistemas Computacionales

10

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta La funcin regla_coincidencia devuelve la primera regla del conjunto de reglas que coincide con la descripcin del estado generado por interpretar_entrada. Este programa de agente es til nicamente en entornos totalmente observables. Ejemplo del conductor de taxi automatizado. Percepcin.- la luz roja del carro que circula delante est encendida estado el_carro_que_circula_delante_esta_frenando regla_coincidencia (estado, reglas) si el_carro_que_circula_delante_est_frenando entonces iniciar_frenado

Accin: iniciar_frenado devolver_accin El agente reactivo simple nicamente sirve en entornos totalmente observables. Guayaquil, martes 13 de abril del 2010. 2.- Agentes reactivos basados en modelos La forma ms efectiva que tienen estos agentes de manejar la visibilidad parcial es almacenar informacin 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, slo la fotografa anterior de la cmara, facilitando al agente la deteccin de dos luces rojas encendindose y apagndose simultneamente a los costados del vehculo. Para otros aspectos de la conduccin, como por ejemplo un cambio de carril, el agente tiene que mantener informacin de la posicin de autos si no los puede ver. La actualizacin de la informacin del estado interno segn pasa el tiempo, requiere codificar dos tipos de conocimiento en el programa del agente: 1. Se necesita alguna informacin acerca de cmo evoluciona el mundo independientemente del agente. Por ejemplo: que un coche que est rebasando estar ms cerca, detrs, que un momento inmediatamente anterior. 2. Se necesita ms informacin sobre como afectan al mundo las acciones del agente, por ejemplo: si gira en este momento o despus de 5 minutos a la derecha, como afecta al mundo del agente en este caso. Este conocimiento de cmo funciona el mundo se denomina modelo del mundo.

Diagrama esquemtico

Estado

Sensores
Cmo es el mundo ahora?
M E D I O A M B I E N T E

Cmo evoluciona el mundo?

Qu efectos causan mis acciones?

Reglas condicin_accin

Qu accin debo tomar ahora?

Actuadores

Carrera de Ingeniera en Sistemas Computacionales

11

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

Funcin agente_reactivo_con_estado(percepcin) devuelve una accin. Esttico: estado, una descripcin actual del estado del mundo. Reglas, un conjunto de reglas condiccion_accion. Accin, la accin ms reciente inicialmente ninguna. estado actualizar_estado(estado,accin,percepcion). regla regla_coincidencia(estado_reglas). accin regla_accion(reglas). Devolver accin. El estado interno (antiguo) se combina con la percepcin actual para generar el estado, que es la descripcin actualizada del estado actual, la cual se genera aparte de la percepcin actual y el estado interno, utiliza informacin sobre como evoluciona el mundo, la cual contiene informacin de las partes NO VISIBLES.

3.- Agentes basados en objetivos.

Diagrama esquemtico

Agente Sensores Estado Cmo evoluciona el mundo? Cmo es el mundo ahora?


M E D I O A M B I E N T E

Qu efectos causan mis acciones?

Qu pasar si realiz la accin A?

Objetivos

Qu accin debo llevar?

Actuadores

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 informacin 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 informacin de los resultados de las acciones posibles para elegir las acciones que permitan alcanzar el destino.

Carrera de Ingeniera en Sistemas Computacionales

12

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

4.- Agentes basados en utilidad

Diagrama esquemtico

Sensores Agente Cmo es el mundo ahora?


M E D I O A M B I E N T E

Estado

Cmo evoluciona el mundo

Qu pasar si realiz la accin A?

Qu efectos causan mis acciones?

Estar contento en este estado?

Utilidad

Qu accin debo llevar a cabo ahora?

Actuadores

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

1.2.-

Cuando haya objetivos conflictivos y slo se puedan alcanzar algunos de ellos. All la funcin de utilidad determina el equilibrio adecuado. Cuando haya varios objetivos y ninguno de ellos se puedan alcanzar con certeza. La funcin de utilidad pondera la probabilidad de xito en funcin de la importancia de los objetivos.

Carrera de Ingeniera en Sistemas Computacionales

13

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta

Guayaquil, jueves 15 de abril del 2010. 5.- Agentes que aprenden Este mtodo propone construir mquinas que aprendan y despus ensearlas. En muchas reas de la I.A. este es ahora el mtodo ms adecuado para crear sistemas novedosos. El aprendizaje tiene otras ventajas: permite que el agente opere en medios inicialmente desconocidos y que sea ms competente que si slo utilizar un conocimiento inicial.

Diagrama esquemtico

Agente Sensores
M E D I O A M B I E N T E

CRITICA Cambios Elemento de aprendizaje Conocimiento Objetivos a aprender Generador de problemas

Elemento de actuacin

Actuadores

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

Guayaquil, martes 20 de abril del 2010. Representacin del conocimiento Este captulo tiene importancia en relacin a que el conocimiento es vital para un agente inteligente para tomar decisiones. De ah la necesidad de representar el conocimiento. Existen muchas formas de representacin del conocimiento, de las cuales nombraremos algunas de las ms conocidas:

Carrera de Ingeniera en Sistemas Computacionales

14

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta 1. 2. 3. 4. Lgica de predicados. Marcos. Redes semnticas. Guiones o scripts, etc.

Lgica de predicados. La lgica 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 lgica de predicados consta de dos partes: hechos o proposiciones y reglas que permiten inferir. HECHOS Es una oracin 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 ms de una palabra se unen con subguin. En este predicado NO se pueden incluir nombres propios ni el sujeto de la oracin, en este predicado debe incluirse el verbo, el complemento siempre y cuando no sea un nombre propio. El argumento se escribe entre parntesis a continuacin 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 Juan es profesor. Lgica de predicados es_profesor(juan). es(juan,profesor). es(Juan,profesor). es_profesor(juan,pedro). es_profesor(Juan, Pedro). usa_arma(juan). usa(juan,arma). usa(Juan,arma). usa_arma(juan,colt_45). usa_arma(Juan,colt_45). tiene_edad(juan,45). edad(juan,45). edad(Juan,45).

Juan es profesor de Pedro. Juan usa un arma.

Juan usa un arma colt_45. Juan tiene 45 aos de edad.

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

Guayaquil, martes 4 de mayo del 2010.

Carrera de Ingeniera en Sistemas Computacionales

15

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta Lgica de predicados 1. Hechos. 2. Reglas y sus elementos. a) Constantes o tomos. Se escriben con minscula. Como por ejemplo: profesor, arma, etc. Tambin 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) Variables Las variables se escriben con mayscula la primera letra o precedido de un subguin el nombre de la variable, sin importar que dicho nombre se escriba con maysculas o minsculas, ejemplos: Arma _arma _Arma _arMA X _x Y _y Se usa en lgica 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 lgicas unen dos proposiciones o hechos. 1) and Tabla de verdad X F F V V 2) or Tabla de verdad X F F V V Donde X y Y son hechos d) Clusulas contienen la negacin, la cual se representa con not. El not niega el valor lgico 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 dems casos, dejar un espacio en blanco suele generar error e) Reglas Contiene dos partes antecedente y consecuente. El antecedente se usa entre el si y el entonces, y contiene las condiciones de la regla. Carrera de Ingeniera en Sistemas Computacionales 16 Y F V F V X and Y F V V V

Y F V F V

X and Y F F F V

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta El consecuente contiene la conclusin, 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 ms hechos, unidos usando conectivas lgicas. 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 oracin dicha oracin ser una regla. Guayaquil, martes 18 de mayo del 2010. Ejemplos de reglas en lgica de predicados. 1. Para sufragar hay que ser ecuatoriano y tener 18 aos de edad o ms. Si alguien es ecuatoriano y (alguien) tiene 18 aos de edad o ms entonces (alguien) puede sufragar. Alguien X es desconocido y pueden representar una o ms 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 calabrs. Si alguien traiciona a Vito Corleone entonces(a alguien) se le aplica el abrazo siciliano (a alguien) o se le aplica el beso calabrs (a alguien). Si traiciona(X,Vito_Corleone) entonces se aplica(X,abrazo_siciliano) or se aplica(X,beso_calabrs). 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 Representa las siglas de programming logic, que significa programacin lgica.

Carrera de Ingeniera en Sistemas Computacionales

17

Inteligencia artificial Ing. Carlos Aveiga S5A Galo Galarza Acosta A Prolog se lo conoce como un lenguaje de programacin interpretado. Porque Prolog fue diseado usando intrprete, pero con el paso del tiempo le fue agregado el compilador debido a que Prolog se comunica y conecta con lenguajes de programacin de alto nivel como Java, Visual Basic, C, Delphi, etctera, los cuales utilizan compiladores y no intrpretes por lo que fue necesario que Prolog usar compiladores para poder reconocer y ejecutar cdigo de programacin de aquellos lenguajes de programacin de alto nivel. Semejanzas entre compilador e intrprete. Ambos traducen el lenguaje desarrollado en alto nivel al lenguaje que comprende el computador antes de pasarlos a unos y ceros. Diferencias El compilador genera un archivo al compilar cdigo, el intrprete NO genera un archivo.

Carrera de Ingeniera en Sistemas Computacionales

18

You might also like