Está en la página 1de 26

Sistemas Inteligentes

Flix Gmez Mrmol e o a


3o Ingenier Informtica a a

Indice general
1. Elementos de un Problema 1.1. Problemas y Representacin de Problemas . . . . . . . . . . o 1.1.1. Representacin mediante Estados . . . . . . . . . . . o 1.1.2. Representacin por Reduccin . . . . . . . . . . . . o o 1.2. Caracter sticas de los Problemas . . . . . . . . . . . . . . . 1.2.1. Problemas Descomponibles . . . . . . . . . . . . . . 1.2.2. Problemas Recuperables e Ignorables . . . . . . . . . 1.2.3. Problemas de cualquier camino y de mejor camino . 1.2.4. Consistencia y papel del conocimiento . . . . . . . . 1.3. Caracter sticas de los Procesos de Bsqueda . . . . . . . . . u 1.3.1. Bsqueda de la Solucin. Arboles y Grafos . . . . . u o 1.3.2. Razonamiento hacia delante y hacia atrs . . . . . . a 1.3.3. Representacin de Conocimiento y el Problema de la o 1.3.4. Operadores . . . . . . . . . . . . . . . . . . . . . . . 1.3.5. Heur sticas . . . . . . . . . . . . . . . . . . . . . . . 1.4. Introduccin a la Organizacin de Control . . . . . . . . . . o o 5 5 5 5 6 6 6 6 6 7 7 8 8 8 8 9 11 11 12 13 13 14 14 14 15 15 15 16 17 18 20 21 21 22 22 23 23 24 24

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructura . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

2. Mtodos Bsicos para la Resolucin de Problemas e a o 2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 2.1.1. Catalogacin de los Problemas . . . . . . . . . . . . . . . . . . o 2.1.2. Elementos para describir los Algoritmos . . . . . . . . . . . . . 2.1.3. Evaluacin de los Algoritmos . . . . . . . . . . . . . . . . . . . o 2.2. Bsqueda a Ciegas sobre una representacin mediante Estados . . . . u o 2.2.1. Bsqueda Primero en Anchura . . . . . . . . . . . . . . . . . . u 2.2.2. Bsqueda de Costo Uniforme . . . . . . . . . . . . . . . . . . . u 2.2.3. Bsqueda Primero en Profundidad . . . . . . . . . . . . . . . . u 2.2.4. Bsqueda Primero en Profundidad Limitada . . . . . . . . . . u 2.2.5. Bsqueda Primero en Profundidad Iterativa . . . . . . . . . . . u 2.2.6. Bsqueda Bidireccional . . . . . . . . . . . . . . . . . . . . . . u 2.3. Bsqueda en Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . u 2.3.1. Problemas sin Sensores . . . . . . . . . . . . . . . . . . . . . . 2.4. Bsqueda a Ciegas sobre una representacin mediante Reduccin . . . u o o 2.4.1. Algoritmo de Bsqueda en Arboles YO . . . . . . . . . . . . . u 2.4.2. Bsqueda Primero en Anchura sobre Arboles YO . . . . . . . . u 2.4.3. Bsqueda Primero en Profundidad sobre Arboles YO . . . . . u 2.4.4. Bsqueda Primero en Profundidad Limitada sobre Arboles YO u

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

3. Introduccin a los Sistemas Inteligentes Articiales o 3.1. Denicin de Sistema Inteligente Articial . . . . . . . . . . . . . . . . . . . . o 3.2. Estructura de un Sistema Inteligente Articial . . . . . . . . . . . . . . . . . 3.2.1. Fases de los Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

INDICE GENERAL

3.3. Objetivos Actuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24 25

Cap tulo 1

Elementos de un Problema
1.1. Problemas y Representacin de Problemas o

Los sistemas de resolucin de problemas estn compuestos por tres elementos principales: o a Datos o Representacin: Describe la situacin del problema, el objetivo que quereo o mos alcanzar y la situacin inicial. o Representacin mediante estados o Representacin por reduccin o o Operadores: Permiten manejar y modicar la representacin. o Estrategia de Control: Dene la secuencia de operadores que debemos aplicar para conseguir el objetivo.

1.1.1.

Representacin mediante Estados o

Representa el problema como una coleccin de elementos (instantes del problema), entre o los que hay un estado inicial, un estado objetivo y estados intermedios. Para transitar de un estado a otro aplicamos los operadores siguiendo las indicaciones que dicte la estrategia de control. Ejemplo 1.1 El problema del 8-puzzle es un problema t pico de representacin mediante o estados. 1 2 3 1 2 3 4 5 = 4 5 6 7 8 6 7 8

Operadores: , , ,

1.1.2.

Representacin por Reduccin o o

Partimos de un problema que descomponemos en subproblemas ms sencillos hasta llegar a a un subproblema de solucin inmediata. o A continuacin deberemos recomponer la solucin nal, a partir de las soluciones inmeo o diatas halladas. Ejemplo 1.2 Resolver una integral. (x + x2 )dx xdx x2 dx

Cap tulo 1. Elementos de un Problema

1.2.
1.2.1.

Caracter sticas de los Problemas


Problemas Descomponibles

Un problema es descomponible si se puede descomponer en un conjunto de subproblemas independientes ms sencillos. a Ejemplo 1.3 El problema de resolver la integral (x2 + 3x + sin2 x cos2 x)dx es un problema descomponible ya que (x2 + 3x + sin2 x cos2 x)dx = x2 xdx + 3xdx + sin2 x cos2 xdx

Ejemplo 1.4 El problema de apilar y desapilar bloques no es descomponible porque los subproblemas no son independientes entre s (no se puede, por ejemplo, desapilar un bloque que no est en la cima). e

1.2.2.

Problemas Recuperables e Ignorables

Un problema es ignorable cuando parte del camino (desde el punto de partida hasta el objetivo) es ignorable porque no entorpece para encontrar la solucin (aunque s ha consumido o recursos -tiempo y esfuerzo-). Ejemplo 1.5 Demostracin de un teorema en la que se demuestran proposiciones que luego o no se utilizan para demostrar realmente el teorema. Un problema es recuperable si los pasos hacia la solucin se pueden deshacer. o Ejemplo 1.6 Si en el problema del 8-puzzle hacemos movimientos intiles, podemos desu hacerlos ms tarde. a No ocurre as por ejemplo, en el juego del ajedrez. ,

1.2.3.

Problemas de cualquier camino y de mejor camino

Los problemas de mejor camino, requieren explorar todos los caminos hasta la solucin, o mientras que los de cualquier camino son mucho menos exhaustivos. Ejemplo 1.7 Dado un conjunto de axiomas, demostrar otro es un problema de cualquier camino. El problema del viajante de comercio es un problema de mejor camino.

1.2.4.

Consistencia y papel del conocimiento

El conocimiento del problema debe ser consistente, es decir, el punto de partida no puede ser contradictorio, as como tampoco puede serlo la solucin encontrada. o Ejemplo 1.8 Qu debemos hacer para acertar en una diana a 50 metros de distancia con e una bala a 500 km/h? Para resolver el problema suponemos que la trayectoria de la bala es una l nea recta. Inconsistencia!, pues la bala describir una parbola. a a

1.3 Caracter sticas de los Procesos de B squeda u

En resumen, no podemos suponer conocimiento que haga inconsistente el problema. En cuanto al papel del conocimiento, existen problemas que requieren poco conocimiento para ser resueltos, mientras que en otros ocurre todo lo contrario. Ejemplo 1.9 El juego del ajedrez, en el que slo es preciso conocer la reglas del juego, es un o ejemplo de problema que requiere poco conocimiento.1 Ejemplo 1.10 El problema de analizar una noticia en el peridico y que el ordenador la o explique, requiere de mucho conocimiento: diccionarios, reglas gramaticales, dobles sentidos, etc.

1.3.
1.3.1.

Caracter sticas de los Procesos de B squeda u


B squeda de la Solucin. Arboles y Grafos u o

Las estructuras de datos subyacentes que van a aparecer respecto a los dos tipos de representaciones que hemos visto (estados y reduccin) son los rboles y los grafos. o a La diferencia entre ambos es que en los grafos existen ciclos (y por lo tanto suelen ser ms a dif ciles de tratar), mientras que en los rboles no. a As emplearemos un grafo o un rbol dependiendo de las caracter , a sticas del problema. Representacin mediante Estados o Emplearemos rboles y grafos ordinarios en los que a cada nodo se le pueden aplicar n a operadores para obtener n nodos hijo nuevos. Si en nuestro problema aparecern pocos estados repetidos, usaremos un rbol, en caso a a contrario, trataremos con un grafo. Llamaremos solucin a la secuencia de operadores empleados para llegar desde el estado o inicial hasta el estado nal. Es decir, el camino seguido (en el caso de un rbol) desde el nodo a ra hasta el nodo hoja que es solucin del problema. z o Puede suceder que lleguemos al mismo estado solucin por distintos caminos. La eleccin o o de uno u otro depende del enunciado del problema (camino ms corto, menor coste, etc). a Algunas situaciones que podemos encontrar que dependen del tipo de solucin son: o Que el estado solucin no est en la estructura, por lo tanto, no existe solucin. o e o Que el estado solucin sea unico. o Que el estado solucin sea mltiple (debe existir algn criterio para seleccionar uno de o u u ellos). Representacin por Reduccin o o Emplearemos rboles YO en los que cada nodo representa un subproblema simple (nodo a O) o un conjunto de subproblemas a resolver (nodo Y). Un nodo que no se descompone o simplica se llama nodo terminal. Un nodo terminal con solucin se corresponde con un problema primitivo y se llama Primitiva. o Si al aplicar un operador se produce un conjunto de subproblemas solucin alternativos, o entonces se genera un nodo O. Si por el contrario se produce un conjunto de subproblemas que deben ser resueltos necesariamente, entonces se produce un nodo Y. Un nodo de un rbol YO tiene solucin (es resoluble) si se cumple alguna de las siguientes a o condiciones:
1

El resto de conocimiento slo sirve para limitar la bsqueda o u

Cap tulo 1. Elementos de un Problema

Es un nodo primitiva Es un nodo no terminal de tipo Y y sus sucesores son todos resolubles. Es un nodo no terminal de tipo O y alguno de sus sucesores es resoluble.

1.3.2.

Razonamiento hacia delante y hacia atrs a

En un razonamiento hacia delante partimos de lo que conocemos para intentar alcanzar nuestro objetivo, mientras que en un razonamiento hacia atrs ocurre lo contrario: partimos a de la solucin e intentamos llegar a la situacin inicial. o o Para determinar qu tipo de razonamiento es mejor en cada caso debemos considerar lo e siguiente: Existen ms estados inicio posibles o estados meta? Deber a amos movernos hacia el conjunto de estados ms grande (as es ms fcil encontrarlo). a a a En qu direccin es el factor de ramicacin2 ms grande? Deber e o o a amos proceder en la direccin en la que el factor de ramicacin sea ms pequeo. o o a n Otra posibilidad es emplear ambos razonamientos, dando lugar a una bsqueda bidiu reccional, la cual no sabemos cundo acabar (probablemente cuando ambas bsquedas se a a u corten).

1.3.3.

Representacin de Conocimiento y el Problema de la Estructura o

El problema de la representacin del conocimiento nos plantea si debemos representar de o forma global el estado o subproblema o de forma m nima uniendo varias representaciones. Ejemplo 1.11 En el problema del 8-puzzle, podr amos representar cada estado como un vector que indica qu operador aplicamos sobre qu pieza (representacin m e e o nima), o bien representar el tablero entero (representacin global). o El problema de la estructura est relacionado con la unidad ms pequea a la que se a a n aplica un operador, pues ste debe determinar qu transformaciones tienen lugar sobre el e e estado al que se aplica y qu cosas quedan inalteradas en dicho estado. e

1.3.4.

Operadores

El proceso de emparejamiento consiste en que si existe un unicador que haga ciertas las precondiciones de un operador a partir del estado actual, podremos aplicar dicho operador.

Se deben denir operadores genricos (no espec e cos de un estado concreto), que cumplan unas condiciones. Precondiciones Adicin o Operador Supresin o

1.3.5.

Heur sticas

Informacin adicional adquirida a travs de la experiencia, que nos permite resolver los o e problemas de manera ms eciente. a Una funcin heur o stica nos mide cunto de bueno es un estado para seguir expandindolo a e o elegir otro para avanzar.
2

No medio de nodos hijo que tiene un nodo

1.4 Introduccin a la Organizacin de Control o o

1.4.
1. 2.

Introduccin a la Organizacin de Control o o


Programacin orientada a los procedimientos. o El objeto est disgregado por todos los procedimientos. a Programacin orientada a los objetos. o

Existen dos modalidades para implementar todo lo anteriormente dicho:

Otra forma de actuar ser dividir el problema y repartir el trabajo entre distintos agentes a que se comunican entre s para dar lugar a la solucin nal. o

10

Cap tulo 1. Elementos de un Problema

Cap tulo 2

Mtodos Bsicos para la Resolucin e a o de Problemas


2.1. Introduccin o

Veamos un agente encargado de resolver un problema, para centrarnos en el procedimiento de bsqueda sin ningn tipo de informacin (bsqueda a ciegas): u u o u Funcin agente_resolvedor_problema(Percepcin) devuelve una accin o o o Estado := actualizar_estado(Estado,Percepcin); o Si secuencia est vaca entonces hacer a Objetivo := Formular_objetivo(Estado); Problema := Formular_problema(Estado,Objetivo); Secuencia := Bsqueda(Problema); u Accin := Primero(Secuencia); o Secuencia := Resto(Secuencia); Devolver Accin; o
1

Formular objetivo nos dice dnde queremos llegar, mientras que Formular problema calo cula el camino ms corto desde el estado inicial hasta el objetivo y Bsqueda devuelve la a u secuencia de acciones. Observar que el agente no devuelve la secuencia, sino una accin, por lo tanto es capaz o de manipular su entorno. Cuando aplicamos un agente como ste suponemos que: e El entorno es esttico, ya que suponemos que la bsqueda de la solucin y la aplicacin a u o o de la misma son independientes. Se conoce el estado inicial (ya que existen problemas en los que esto no se puede asegurar). El entorno es discreto, esto es, existe un nmero nito de acciones a aplicar (lo que se u traduce en un factor de ramicacin nito). o El entorno es determinista, no aparece incertidumbre en la accin. o Para el caso de emplear la representacin mediante estados tendremos en cuenta los o siguientes elementos:
1

Se comprueba que la secuencia est vac porque en caso contrario el agente ya ha resuelto el problema e a

11

12 Cap tulo 2. Mtodos Bsicos para la Resolucin de Problemas e a o

Estado inicial. Descripcin de los operadores aplicables. o Test objetivo: Dice si un estado intermedio pertenece al conjunto de estados nales. Funcin costo: Mide el costo asociado a la aplicacin de cierto operador. o o

2.1.1.
1. 2.

Catalogacin de los Problemas o

Problemas de juguete: Problemas preparados para aplicar en el laboratorio. Sirven para probar la eciencia de los algoritmos. Problemas del mundo real: Son problemas obtenidos del ambiente o entorno. Muchas veces no podemos probar la eciencia del algoritmo.

Ejemplo 2.1 El problema de la aspiradora es un problema de juguete. Estados iniciales: A suc suc o A suc suc

Estados posibles: 2 22 = 8 (en general n 2n ). Test objetivo: Funcin que comprueba si el estado actual pertenece al conjunto de estados o nales. A , A Funcin sucesor: Operadores que puedo aplicar en cada estado o Mover a la izquierda Mover a la derecha Aspirar Funcin Costo: En este problema el costo de pasar de un estado a otro es siempre el o mismo. Ejemplo 2.2 El problema del 8-puzzle es otro problema de juguete. Estados: Disponemos de 8 piezas y un blanco. Estado inicial: Conguracin elegida. o Sucesor: Mover blanco (arriba, izquierda, derecha, abajo) Test objetivo: Comprobar que le estado actual es el estado objetivo. Funcin Costo: El mismo para todos los operadores. o Conguraciones alcanzables: 8-puzzle: 9! = 181440 estados 2 15-puzzle: 13 millones de estados 8-puzzle: 1023 estados Ejemplo 2.3 Problemas del mundo real:

2.1 Introduccin o

13

Bsqueda de una ruta area. u e Problemas tur sticos. El viajante de comercio. Distribucin de circuitos (VSI) o Bsqueda en internet u Obsrvese que el espacio de estados est formado por todos los estados en los que se e a puede estar segn el problema, mientras que el espacio de bsqueda lo constituyen todos los u u posibles caminos dentro del espacio de estados.

2.1.2.

Elementos para describir los Algoritmos

Cada nodo (estado) del espacio de bsqueda contiene: u Una descripcin del estado al que se reere. o Una descripcin del nodo padre. o Una mencin a la accin aplicada. o o Costo del camino hasta el estado. Profundidad del estado. Adems, en todo momento el algoritmo cuenta con lo que se conoce como frontera. a La frontera es el conjunto de nodos que se han generado pero que todav no han sido a estudiados (no han sido expandidos).2 De ese conjunto, que implementaremos como una cola, el procedimiento de bsqueda va u cogiendo los nodos a estudiar.

2.1.3.

Evaluacin de los Algoritmos o

Los criterios de evaluacin de estos algoritmos son: o 1. 2. 3. 4. Completitud: Un algoritmo es completo si encuentra una solucin cuando sta exista. o e o o o Optimalidad: Un algoritmo es ptimo si encuentra la solucin, si existe, y es ptima. Complejidad en tiempo: Tiempo que tarda en encontrar la solucin. o Complejidad en espacio: Cantidad de memoria que necesita el algoritmo. Para medir la complejidad en tiempo y memoria, haremos uso de los siguientes parmetros: a b: factor de ramicacin. o d: profundidad del nodo objetivo ms supercial, es decir, el ms cercano al nodo inicial. a a m: longitud mxima de cualquier camino en el espacio de bsqueda. a u El tiempo lo mediremos en trminos del nmero de nodos generados en la bsqueda, miene u u tras que el espacio lo mediremos en trminos del nmero de nodos que podemos almacenar e u en memoria. La complejidad del algoritmo se puede medir como la complejidad de tiempo y espacio, o bien la complejidad en tiempo y espacio ms la complejidad de hallar y aplicar la solucin. a o
2

Tambin se conoce como conjunto de abiertos e

14 Cap tulo 2. Mtodos Bsicos para la Resolucin de Problemas e a o

2.2.
2.2.1.

B squeda a Ciegas sobre una representacin mediante u o Estados


B squeda Primero en Anchura u

En este algoritmo la frontera es una cola FIFO (primero en entrar, primero en salir) en la que se insertan los nodos al nal sin importar el orden de insercin (pues todos los nodos o pertenecen al mismo nivel). Los nodos se recorren por niveles. Evaluacin de la Eciencia o 1. 2. 3. 4. Es completo. Si existe solucin la encuentra, pues hace un barrido del espacio de bsqueo u da. Es ptimo dependiendo del problema, pues encuentra el camino ms corto, pero no o a necesariamente el de menor costo. Complejidad en tiempo. El nmero de nodos generados es b + b2 + b3 + + bd + (bd+1 1) O(bd+1 ) u Complejidad en espacio. O(bd+1 ) ya que necesitamos que todos los nodos estn en e memoria para poder reconstruir la solucin. o

Ejemplo 2.4 Suponiendo un factor de ramicacin b = 10, que se generan 10000 nodos/s y o que ocupa en memoria 1000 bytes/nodo, se tiene la siguiente tabla: Profundidad Nodos Tiempo Memoria 2 1100 11 seg 1 Mega 4 11100 5 min 106 Megas 6 107 19 min 10 Gigas 9 8 10 31 horas 1 Terabyte 10 1011 129 d as 101 Terabytes 12 1013 35 aos n 10 Petabytes 14 1015 3523 aos n 1 Exabyte

2.2.2.

B squeda de Costo Uniforme u

Para cada nodo j se tiene su costo asociado desde el nodo inicial hasta dicho nodo j, calculado como g(j) = g(i) + C[i, j] donde C[i, j] es el costo de aplicar un operador para pasar del nodo i al j. Ahora la frontera es una cola ordenada segn el coste, de menor a mayor. Por lo tanto, u antes de llegar a la solucin se estudiarn todos los nodos con menor coste que los nodos del o a camino ptimo. o Evaluacin de la Eciencia o 1. 2. Es completo siempre que los costes sean positivos (en caso contrario el algoritmo podr a quedar en un bucle innito, pues el costo del camino ser cada vez menor). a Complejidad en tiempo y espacio. Sea c el costo de la solucin ptima y sean todos los costos ci > 0. As la compleo o c jidad en tiempo y espacio O b .

2.2 B squeda a Ciegas sobre una representacin mediante u o Estados

15

2.2.3.

B squeda Primero en Profundidad u

La frontera se implementa ahora como una cola LIFO (ltimo en entrar, primero en salir). u Ahora no hay que almacenar en memoria todos los nodos, sino slo aquellos que formarn o a parte de la solucin. o Evaluacin de la Eciencia o 1. 2. 3. 4. No es completo, pues si entra en una rama innita, el algoritmo no termina nunca. No es ptimo, pues devuelve la primera solucin que encuentra, que no tiene por qu ser o o e la ptima. o Complejidad en tiempo: O(bm ) Complejidad en espacio: O(bm) si para cada nodo expandimos todos sus descendientes o O(m) si expandimos los nodos uno a uno.

2.2.4.

B squeda Primero en Profundidad Limitada u

El algoritmo es igual que el anterior con una cota mxima de profundidad, denotada por a l, de modo que cuando se llega a dicha profundidad no se expanden los nodos, aunque tengan hijos. Evaluacin de la Eciencia o 1. Es completo dependiendo de l. Si l d es completo. Si l < d no es completo. Es ptimo dependiendo de l o Si l < d no es ptimo. o Si l > d la solucin no tiene por qu ser la ptima. o e o Si l = d encontramos la solucin de camino ms corto, pero no tiene por qu ser la de o a e menor costo. Complejidad en tiempo: O(bl ) Complejidad en espacio: O(bl) O(l)

2.

3. 4.

2.2.5.

B squeda Primero en Profundidad Iterativa u

Consiste en aplicar bsqueda primero en profundidad limitada con l = 1, 2, 3, 4, . . .. Es u decir, incrementando l hasta encontrar la solucin. o Hace un barrido como la bsqueda en anchura aunque es mejor que sta, ya que slo u e o almacena en memoria los nodos que forman parte de la solucin. Sin embargo tiene el incono veniente de generar varias veces los mismos nodos. Evaluacin de la Eciencia o 1. 2. 3. Es completo, ya que realiza un barrido del espacio de bsqueda. u No es ptimo, ya que encuentra la solucin de camino ms corto, no necesariamente la o o a de menor costo. Complejidad en tiempo y espacio: O(bd )

16 Cap tulo 2. Mtodos Bsicos para la Resolucin de Problemas e a o

Ejemplo 2.5 Sean b = 10 y d = 5, los nodos generados en una bsqueda primero en anchura u e iterativa son: Iterativa: 5 10 + 4 102 + 3 103 + 2 104 + 106 Anchura: 10 + 102 + 103 + 104 + 105 + (106 10)

2.2.6.

B squeda Bidireccional u

Es necesario poder denir operadores inversos a los que tenemos as como el nodo objetivo. Por ejemplo, esto no es posible en el ajedrez, pero s en el 8-puzzle. El costo de la bsqueda bidireccional es O b 2 + b 2 u menor que el de la bsqueda unidireccional. u
d d

= O 2b 2

= O b 2 , por lo tanto

A 1 B 2 D 3 E 1 N 1 G I F 3 G 5 3 C 4 5 H 1 G

Figura 2.1: Arbol del espacio de bsqueda u Ejemplo 2.6 Muestra el contenido de la frontera durante todo el proceso de bsqueda (el u nodo objetivo es el G) para el arbol de la gura 2.1 siguiendo todos los algoritmos vistos anteriormente. Anchura A B, C Costo 7 C, D, E Nodos 8 D, E, F, G, H Solucin: A-C-G o E, F, G, H F, G, H, N G, H, N Costo Uniforme A B = 1, C = 3 Costo 6 C = 3, D = 3, E = 4 Nodos 10 D = 3, E = 4, F = 6, G = 7, H = 8 Solucin: A-B-E-N-G o E = 4, F = 6, G = 7, H = 8 N = 5, F = 6, G = 7, H = 8 G = 6, F = 6, G = 7, H = 8

2.3 B squeda en Grafos u

17

Primero Profundidad A Costo 6 B, C Nodos 7 D, E, C Solucin: A-B-E-N-G o E, C N, C G, C Profundidad Limitada l=1 l=2 l=3 l=4 A A A A Para l = 2: B, C B, C B, C B, C Costo 7 D, E, C D, E, C D, E, C Nodos 11 E, C E, C E, C Solucin: A-C-G o C N, C N, C F, G, H C G, C G, H F, G, H G, H Profundidad Iterativa l=1 l=2 A A Costo 7 B, C B, C Nodos 11 D, E, C Solucin: A-C-G o E, C C F, G, H G, H Resumen Estrategias Primero Anchura b = SI ci = K i SI O(bd+1 ) O(bd+1 ) Profundidad Limitada NO NO O(bl ) O(bl) Costo Uniforme b = , c > 0 SI SI O b O b
c c

Completo Optimo Tiempo Espacio

Primero Profundidad NO NO O(bm ) O(bm) Bidireccional (si es posible) Anchura SI Anchura SI O b2 O b2


d d

Completo Optimo Tiempo Espacio

Profundidad Iterativa b = , c > 0 SI ci = K i SI O(bd ) O(bd)

2.3.

B squeda en Grafos u

Para evitar el inconveniente de los estados repetidos que aparec en los anteriores aparan tados, vemos ahora la bsqueda en grafos. u Denicin 2.1 El conjunto de cerrados es el conjunto de los nodos que ya han sido expano didos.

18 Cap tulo 2. Mtodos Bsicos para la Resolucin de Problemas e a o

1 0 0 1

0 0 1 0

0 1 0 0

0 0 0 0

Cuadro 2.1: Tablero de juego Mediante conjunto de cerrados se realiza el control de los nodos repetidos. La modicacin que se hace consiste en comprobar que el nodo que vayamos a introducir o en la frontera no se encuentre ya en ella. Si el nodo SI est en Cerrados Lo eliminamos. a Si el nodo NO est en Cerrados Lo insertamos. a Si el nodo SI est en la Frontera Nos quedamos con el ptimo. a o Si el nodo NO est en la Frontera Lo insertamos. a Ejercicio 2.1 Dado el tablero 2.1, se tiene un pen que se puede colocar en cualquier casilla o de la primera la. Desde una casilla con un 0, el pen puede moverse hacia abajo, si el cuadrado de abajo o es un 0; si el cuadrado de abajo es un 1, el pen slo puede moverse horizontalmente. o o Desde una casilla con un 1, no puede realizar ningn movimiento. u El objetivo es alcanzar una casilla con un 0, en la cuarta la. Ser mejor resolverlo con un rbol o con un grafo? a a Con qu estrategia lo resolver e as?

2.3.1.

Problemas sin Sensores

Hasta ahora slo hemos visto problemas completos, en los que el espacio de estados es o observable y determinista y en los que se conoce perfectamente los cambios producidos por la aplicacin de cada operador. o En los problemas sin sensores, no hay ningn sensor que nos diga en qu estado nos u e encontramos. Por lo tanto, no conocemos el estado inicial (supondremos que s conocemos lo que produce cada operador o accin). o Ejemplo 2.7 El mundo de la aspiradora. 1.
2. ASP SUC SUC ASP SUC 5. ASP SUC ASP SUC ASP

SUC ASP SUC

6.

3.

7. ASP

4.

SUC

8.

ASP

Tenemos ahora estados de creencia, es decir, estados en los que creo estar. El estado inicial ser la conguracin de estados donde creo empezar, en nuestro caso: a o {1, 2, 3, 4, 5, 6, 7, 8} Si movemos la aspiradora a la derecha, llegamos al estado {2, 4, 6, 8}. Si ahora aspiramos llegamos al estado {4, 8}.

2.3 B squeda en Grafos u

19

ASP SUC ASP SUC ASP SUC ASP SUC

SUC

ASP SUC ASP SUC ASP SUC ASP SUC

SUC

SUC

SUC

SUC

SUC

SUC

SUC

ASP SUC ASP SUC

SUC

ASP SUC ASP SUC

SUC

D I

ASP SUC

SUC

ASP SUC ASP SUC

SUC

ASP
ASP SUC SUC SUC

SUC

SUC

ASP SUC ASP SUC

SUC

ASP SUC ASP SUC

SUC

SUC

SUC

ASP
ASP SUC ASP SUC SUC ASP SUC ASP SUC

D
ASP SUC ASP SUC ASP SUC ASP SUC

ASP
SUC SUC

SUC

D I

SUC

SUC

SUC

SUC

ASP
ASP SUC ASP SUC

ASP
ASP SUC ASP SUC

SUC

SUC

SUC

SUC

I
ASP SUC ASP SUC

D
SUC

D ASP I
SUC

I
SUC

ASP SUC

ASP SUC

ASP
SUC

ASP SUC ASP SUC

SUC

SUC

Figura 2.2: Grafo completo del problema de la aspiradora Y si aplicamos izquierda y aspiramos llegamos al estado nal {7}. El grafo completo es el mostrado en la gura 2.2.

20 Cap tulo 2. Mtodos Bsicos para la Resolucin de Problemas e a o

2.4.

B squeda a Ciegas sobre una representacin mediante u o Reduccin o

En la representacin mediante estados part o amos del estado inicial. Ahora partimos del problema que queremos resolver y aplicamos operadores hasta llegar a subproblemas primitivos. Este proceso es factible si los subproblemas son ms sencillos que el problema del que se a descomponen. La solucin ahora es la secuencia de operadores que nos produce u subrbol de bsqueda o a u que conecta el problema inicial con los problemas primitivos. La bsqueda de dicha solucin u o es una bsqueda hacia atrs, ya que partimos del problema nal. u a Ejemplo 2.8 Dado el arbol YO de la gura 2.3, en el que los nodos enmarcados identican a los problemas primitivos, las posibles soluciones son: 1,2,4,8,9 1,3,5,6,7,10 1,3,5,6,7,11 Es decir, los subrboles mostrados en la gura 2.4. a 1 2 4 8 9 5 3 6 10 7 11

Figura 2.3: Arbol YO del ejemplo 2.8 1 2 4 8 9 5 1 3 6 7 10 5 1 3 6 7 11

Figura 2.4: Soluciones del Arbol YO del ejemplo 2.8 Para simplicar el problema nosotros supondremos que: 1. 2. Slo trabajaremos con arboles (no con grafos). o Cada subproblema se resolver independientemente de los dems y en el orden que a a queramos.

2.4 B squeda a Ciegas sobre una representacin mediante u o Reduccin o

21

2.4.1.

Algoritmo de B squeda en Arboles YO u

Denicin 2.2 La frontera es el conjunto de subproblemas que han sido generados pero que o todav no se han estudiado (expandido). a Denicin 2.3 Funcin EXPANDIR-YO(nodo) o o Para cada sucesor, m, de nodo Si m es un conjunto de subproblemas (e.d. es un nodo Y) entonces Generar los sucesores de m e insertarlos en SUC Sino (m es un nodo O) entonces Insertamos m en SUC. Devolver SUC Ejemplo 2.9 El resultado de expandir el nodo 1, en el arbol de la gura 2.3, ser {2, 5, 6, 7} a Denicin 2.4 Algoritmo de Bsqueda en Arboles YO o u En cada paso del bucle del algoritmo, hacemos: 1. 2. 3. Tomamos el primer nodo de la frontera, llammosle n1 . e Insertamos en la frontera todos los sucesores del nodo n1 segn la funcin EXPANDIRu o YO. Si n1 no tiene sucesores, lo marcamos como irresoluble

2.4.2.

B squeda Primero en Anchura sobre Arboles YO u


1 2 5 11 6 12 17 13 18 3 7 8 14 4 9 15 10 16

Figura 2.5: Arbol YO de ejemplo La Frontera es una cola FIFO. Aadimos los sucesores al nal de la frontera. n El primer nivel de anchura para el rbol de la gura 2.5 es {5, 6, 3, 8, 9, 10}. a Ejemplo 2.10 A continuacin se muestra el contenido de la frontera en cada pasada del o algoritmo, para el arbol de la gura 2.5: 1a pasada Frontera: 1 5 6 3 8 9 10 5 6 3 10

22 Cap tulo 2. Mtodos Bsicos para la Resolucin de Problemas e a o

2a pasada Frontera:

6 3 10 Marcamos 5 como irresoluble 2 irresoluble quitamos hijos de 2 3 10 10 10 10

3a pasada Frontera:

13 13

14

13 13 15 16 13 16 Como se puede observar en la gura 2.6, la solucin obtenida es la optima. o 1

4a pasada Frontera:

10

15

Figura 2.6: Solucin del ejemplo 2.10 o

2.4.3.

B squeda Primero en Profundidad sobre Arboles YO u

La Frontera es una cola LIFO. Aadimos los sucesores al nal de la frontera. n Si una rama es innita, el algoritmo no para, aunque exista solucin. o

2.4.4.

B squeda Primero en Profundidad Limitada sobre Arboles YO u

Igual que el anterior, pero con una cota mxima de profundidad. a

Cap tulo 3

Introduccin a los Sistemas o Inteligentes Articiales


3.1. Denicin de Sistema Inteligente Articial o

A continuacin se presentan las deniciones que la Real Academia Espaola de la Lengua o n da a los trminos sistema. inteligencia e inteligencia articial. e Denicin 3.1 Sistema.o Conjunto de elementos que ordenadamente relacionados entre s contribuyen a un determi nado objetivo. Denotamos como entorno a lo que rodea al sistema. Denicin 3.2 Inteligencia o Capacidad de entender o comprender. || Capacidad de resolver problemas. || Conocimiento, comprensin, acto de entender. || Sentido en que se puede tomar una sentencia, un dicho o o una expresin. || Habilidad, destreza y experiencia. o Denicin 3.3 Inteligencia Articial o Desarrollo y utilizacin de ordenadores con los que se intenta reproducir los procesos de o la inteligencia humana. || Conjunto de tcnicas que empleando la informtica permite la e a realizacin de operaciones hasta ahora exclusivas de la inteligencia humana. o Veamos ahora nuestras propias deniciones: 1. Denicin Cualicada.-1 o La inteligencia articial es la parte de la ciencia de los computadores concerniente con el diseo de computadores inteligentes, es decir, sistemas que exhiben las caracter n sticas que asociamos con la inteligencia en la conducta humana. 2. Denicin Operacional.-2 o Aplicamos una prueba a un sistema inteligente y a un humano para saber si una mquina a es tan inteligente como una persona. PC Humano Realizador de la Prueba
1 2

Denicin dada por los expertos en el tema o Denicin dada por Alan Turing o

23

24Cap tulo 3. Introduccin a los Sistemas Inteligentes Articiales o

3. Denicin por Extensin.o o Inteligencia es una capacidad o conjunto de ellas para desarrollar un conjunto de propiedades presentes en los seres biolgicos en distintos grados, segn su escala evolutiva. o u De entre esas propiedades, destacamos las siguientes: Interpretar en trminos semnticos un entorno. e a Tomar decisiones acerca de las acciones a desarrollar. Deducir a partir de un conjunto de hechos conocidos. Aprender de una realidad dada de hechos. Abstraer. Planicar o simular la evolucin de los modelos. o Denicin 3.4 Articial o Lo creado por el ser humano. Denicin 3.5 Inteligencia Articial o Mquina con comportamiento humano con las anteriores propiedades. a Denicin 3.6 Sistema Inteligente Articial o Sistema que aprende durante su existencia y que acta continuamente de forma interna o u externa de manera que alcanza su objetivo cada vez mejor.

3.2.

Estructura de un Sistema Inteligente Articial


Base Base Datos Modelos Interfaz entre Sistema y Usuario Sistema Tareas Usuario Entorno

3.2.1.

Fases de los Sistemas

Introducimos la informacin en el sistema sobre el entorno. o Los datos son tratados en el preproceso, eliminando lo que no necesitamos. Aprendizaje de la mquina. a Damos informacin de cmo hemos obtenido la informacin y/o realimentamos de nuevo o o o la mquina. a

3.3.
1. 2. 3. 4.

Objetivos Actuales
Desarrollo de entornos de programacin que ayuden a construir sistemas inteligentes o o sistemas basados en el conocimiento. Desarrollo de aplicaciones. Desarrollo de sistemas de comunicacin en lenguaje natural. o Desarrollo de entornos de automatizacin. o

3.4 Aplicaciones

25

3.4.
1. 2. 3.

Aplicaciones
Construccin de sistemas expertos (es un caso particular de sistema inteligente en el o que la informacin ha sido aportada por expertos en una determinada rea). o a Conocer la demostracin de teoremas matemticos. o a Robots que modelan algo.

26Cap tulo 3. Introduccin a los Sistemas Inteligentes Articiales o

También podría gustarte