Professional Documents
Culture Documents
Programa Programa
Introduccin histrica Lenguaje de programacin LISP Paradigmas de representacin del conocimiento Frames Sistemas de produccin Paradigma lgico Exploracin de espacios de estados. Bsqueda Exploracin de rboles de juego Planificacin Aprendizaje simblico. ID3 Algoritmos genticos
Bibliografa Bibliografa
Serradilla, F.; Barros, B. Representacin e Inferencia en Inteligencia Artificial. Un Enfoque Prctico. Escuela Universitaria de Informtica, UPM. 1996. Russell, S, Norvig, P. Artificial Intelligence, a modern approach. Prentice-Hall. 1995. Barros, B; Foulqui, T; Serradilla, F. Programacin Funcional en Lisp. Escuela Universitaria de Informtica, UPM. 1992. Feigenbaum y otros. The Handbook of AI (4 volmenes). Addison-Wesley. Luger, G. F. & Stubblefield, W. A. Artificial Intelligence: structures and strategies for complex problem solving. The Benjamin-Cummings Redwood City. 1993. Nilsson, Nilss J. Principios de Inteligencia Artificial . Daz de Santos. 1987. Rich, E. Inteligencia Artificial. Mac Graw-Hill. 1991. Winston, P. H. Inteligencia Artificial. 3 ed. Addison-Wesley. 1992. Winston, P. H. Lisp. Addison-Wesley. 1993.
Racionalidad
Sistemas que piensan racionalmente (Winston) Sistemas que actan racionalmente (Luger)
Conducta
Historia Historia
La IA es el punto de encuentro de varias lneas de investigacin
Rama lgico-matemtica Rama de la psicologa Rama de la informtica Conferencia de Darmouth Rama de la simulacin Panorama actual
Objeto
Mundo
Representacin
Mente
Conexiones
Cerebro
Objetivo + -
Error
CONTROL
Actuacin
SISTEMA
Medida
SENSOR
Comportamiento
Recursividad. Definiciones muy claras y concisas Interpretado. Desarrollo rpido de prototipos Compacto: funcional + recursivo + listas
Funcionalidad:
No se deben utilizar variables globales dentro de funciones. Atenta contra la reusabilidad y la claridad del programa. En su lugar, se utilizan variables locales o paso de parmetros No se deben utilizar estructuras iterativas, sino recursividad
Paradigma C-R Se independiza el proceso de resolucin del problema, inferencia, de la naturaleza del mismo
Problema
Modelizacin
Representacin
Inferencia
Solucin
Explicacin
Sistemas de produccin
H: Ternas objeto-atributo-valor R: Reglas de produccin M: Parmetros, metarreglas I: Encadenamiento de reglas
Introduccin Introduccin
En los sistemas de produccin se representa el conocimiento mediante hechos , reglas de produccin y metaconocimiento.
Metaconocimiento
Hechos Hechos
Los hechos se representan por ternas Objeto-Atributo-Valor (<objeto>, <atributo>, <valor>) Ejemplos:
(rayo, es-un, caballo) (veloz, es-un, caballo) (cometa, es-un, caballo) (rayo, valioso, s) (veloz, hijo-de, cometa) (cometa, rpido, s)
Reglas Reglas
Tienen el siguiente formato: IF THEN <expresin-lgica> <acciones> Antecedente Consecuente
Una terna en el antecedente es cierta slo si existe en la base de hechos Si se aplica la regla, se ejecutan todas las acciones del consecuente, que pueden ser nuevas ternas o llamadas a funcin
R1: IF (X, es-un, caballo) AND (X, hijo-de, Y) AND (Y, es-un, caballo) AND (Y, rpido, s) THEN (X, valioso, s)
Metaconocimiento Metaconocimiento
El metaconocimiento ayuda a determinar qu regla se aplica cuando hay varias aplicables Criterios de aplicacin de reglas:
La primera regla de la base de reglas Azar La ms especfica (con ms elementos en el antecedente) La ms genrica (con menos elementos en el antecedente) La ms recientemente utilizada La menos recientemente utilizada La que aada ms informacin (con ms elementos en el consecuente) Todas
Hasta que el hecho buscado est en la base de hechos o la base de hechos no haya cambiado
Frames Frames
Frames Frames
Introduccin Estructura de un frame Herencia Demonios Tipos de facets Representacin en LISP Funciones de manipulacin de frames Inferencia en frames
Introduccin Introduccin
Un frame es una estructura activa de almacenamiento de informacin Utiliza mecanismos para buscar automticamente un dato si ste no se encuentra en el propio frame Estos mecanismos son:
Herencia: mediante una relacin de jerarqua, busca el dato solicitado en otros frames Demonios (o valores activos): son funciones que son llamadas automticamente cuando se hace referencia a ciertos datos
Un frame se puede relacionar con otro con relaciones de pertenencia, inclusin o de usuario
Pedro
Value Default Value Hombre Pintor 180
Herencia Herencia
Si A tiene una relacin de instancia o de subclase con B, los atributos de A que no tengan ningn valor lo toman de los que tengan esos mismos atributos en B Una relacin de instancia se define a travs del atributo IS-A (ES-UN). Su valor ser el nombre del frame del que hereda Una relacin de subclase se define a travs del atributo AKO (a kind of) En una cadena de herencia puede haber varios atributos AKO, pero slo uno IS-A
Demonios Demonios
Los demonios o valores activos son funciones que se disparan automticamente cuando se almacenan o se recuperan datos en un frame Un demonio tiene dos parmetros: frame y slot IF-NEEDED se dispara al intentar recuperar el valor de un atributo que no tiene ningn valor asociado. Proporciona la informacin requerida ejecutando un algoritmo
El demonio ASK pregunta al usuario el valor de un atributo
FFIND encuentra los frames que mejor se equiparan con ciertas restricciones
( FFIND ( Slot1 Valor1 ) ( Slot2 Valor2 ) ... ( SlotN ValorN ) )
Introduccin
Unificacin de predicados
Introduccin Introduccin
Procesamiento realizado por el lenguaje de programacin PROLOG Representacin basada en:
Trminos : variables (A, B, X), constantes (juan, 2, caballo) y funciones cuyos argumentos son trminos (f(x), padre(juan)) Predicados : smbolos de n argumentos (que son trminos) que toman valor verdadero o falso caballo(X), valioso(veloz), es-padre(veloz, padre(cometa)) Clusulas de Horn : hechos o reglas formadas por varios antecedentes (conjuncin) y un consecuente consecuente :- antecedente1, antecedente2 ... La disyuncin se representa aadiendo reglas
Encadenamiento Encadenamiento de de reglas reglas dirigido dirigido por por el el objetivo objetivo
1. Se parte de una lista L de objetivos O1 O2 ... On 2. Seleccin 2.1 Seleccionar un objetivo Oi por orden de aparicin 2.2 Seleccionar una clusula Rj por orden de aparicin. Renombrar sus variables. Si el consecuente de Rj puede unificarse con Oi, se crea una nueva rama realizando las sustituciones necesarias; si no se puede unificar la rama termina en FRACASO 3. Resolucin: Oi se sustituye en L por el antecedente de Rj . A todas las clusulas de L se les aplica las sustituciones de la unificacin 4. Si L vaca la rama termina en XITO si no, volver al paso 2 El algoritmo termina cuando se han recorrido todas las ramas
Representacin en rbol
Introduccin Introduccin
La exploracin de espacios de estados es una de las tcnicas ms importantes en IA Se manejan estados (hechos del problema), transiciones (reglas) y funciones heursticas (metaconocimiento). La inferencia se realiza a travs de algoritmos de bsqueda Un estado es cada configuracin posible de un problema. Se representan con estructuras de datos. Ej: Problema del Metro estado: estar en la estacin X
Los sucesores son los estados que se pueden alcanzar en un nico paso desde un estado. Son el resultado de una transicin de estado Ej: Metro sucesores: estaciones consecutivas
Devolver R
B D F
Algoritmo Algoritmo A* A*
A* encuentra la solucin ptima siempre que la funcin heurstica cumpla la condicin de minorancia:
h(e) h*(e) e
h(e) valor del heurstico en el estado e h*(e) coste real del menor camino desde e hasta el estado solucin La distancia eucldea cumple la condicin de minorancia
Introduccin Introduccin
Shannon (1950) public Programando un ordenador para jugar al ajedrez El ajedrez plantea problemas similares a los de la deduccin lgica: hay que elegir entre varias situaciones posibles y el objetivo no est totalmente definido El modelo discreto que define Shannon se conoce como rbol de juego y el modelo matemtico como teora de juegos de suma cero de dos jugadores con informacin completa
Juego de suma cero: aqul en el que los intereses de los jugadores son contrarios. Si uno gana el otro pierde Juego de informacin completa: aqul en el que cada jugador conoce las posibles jugadas que puede realizar el adversario
Elegir como mejor jugada la correspondiente al valor elegido por el nodo raz
Dejar tenedor
Mano libre
Coger cuchillo
Cuchillo en la mano
Cortar pan
Pan cortado
Un nodo de FALLO es aqul en el cual, para alcanzar un determinado objetivo A, es necesario que A se cumpla
Introduccin Introduccin
El aprendizaje automtico se puede clasificar en:
Mtodos simblicos: basados en smbolos
Sintticos o inductivos: ID3 Analticos o deductivos
El objetivo del algoritmo ID3 consiste en clasificar varios elementos, utilizando ejemplos y valores de condicin, representndolos en forma de rbol de decisin
Cada ejemplo es un individuo Los valores de condicin son propiedades Los elementos se clasifican segn el valor de una propiedad concreta binaria llamada resultado (con 2 valores posibles)
Un individuo nuevo se clasifica atravesando las ramas del rbol hasta llegar a una propiedad resultado REGLAS Para clasificar los individuos se utiliza la idea de entropa. La entropa mide la cantidad de informacin necesaria para representar los datos de un conjunto (n bits). A menor valor de entropa, mayor orden en los datos
Parmetros Parmetros del del algoritmo algoritmo ID3 ID3 (II) (II)
nc nc Entropa = Pc log 2 Pc = log 2 nt nt c c
nb
log 2
bc
nb
(Recordatorio:
; si x=0,
Un conjunto es homogneo si todos los ejemplos dan como resultado el mismo valor c Un conjunto es equilibrado si los valores de su propiedad resultado son equiprobables (mxima entropa)
Generacin Generacin de de las las reglas reglas derivadas derivadas del del rbol rbol ID3 ID3
A partir del rbol ID3 generado se puede obtener un conjunto de reglas para clasificar nuevos individuos Cada nodo hoja genera una regla diferente Para ello:
Se recorre el rbol desde la raz hasta las hojas El antecedente de cada regla se crea tomando la etiqueta de la raz ms la etiqueta de la rama que recorre Se aade un AND por cada pareja raz-rama que se recorre El consecuente de la regla es el nodo hoja
Algoritmo general
Introduccin Introduccin
Los algoritmos genticos son adecuados cuando se dispone de mecanismos para establecer el rendimiento de un sistema, modificando ciertos parmetros El problema de aprendizaje consiste en encontrar una configuracin adecuada de los parmetros, para que el rendimiento sea ptimo Ejemplo: ajuste del flujo de agua de un generador hidroelctrico para que la produccin elctrica sea mxima Los algoritmos genticos se apoyan en las teoras evolutivas de Charles Darwin (1859, El Origen de las Especies)
La principal caracterstica es la robustez del sistema Surge una nueva rama, la Programacin Gentica : generacin automtica de programas que evolucionan para resolver cada vez mejor la tarea encomendada
Principios Principios de de Evolucin Evolucin por por Seleccin Seleccin Natural Natural
1. Cada individuo tiende a transmitir sus rasgos a su progenie 2. La naturaleza produce individuos con rasgos diferentes 3. Los individuos ms adaptados, cuyos rasgos son ms favorables para desenvolverse en el medio, tienden a producir ms progenie 4. Durante largos perodos de tiempo se puede acumular la variacin produciendo nuevas especies completamente adaptadas a nichos particulares
E1
0
E2 E3
3/N ... 1
1/N 2/N
Procedimientos Procedimientos Generales Generales de de Eleccin Eleccin Aleatoria Aleatoria (II) (II)
C) Elegir entre N elementos no equiprobables :
Calcular las probabilidades acumuladas Generar random() y ver dnde cae
ak = pi
i =1
E1
0
E2
a1
E3
a2 a3
... 1