Anda di halaman 1dari 25

Inteligencia Artificial Trabajo de Investigacin Grafos

GRAFOS Un grafo est formado por un conjunto de nodos(o vrtices) y un conjunto de arcos. Cada arco en un grafo se especifica por un par de nodos. El conjunto de nodos es {A, B, C, D, F, G, H} y el conjunto de arcos {(A, B), (A, D), (A, C), (C, D), (C, F), para el siguiente grafo.

Si los pares de nodos en los arcos dirigidostienen una direccin definida, el grafo se denomina grafo directo, dirigido odgrafo. TERMINOLOGA Al nmero de nodos del grafo se le llama orden del grafo. Un grafo nulo es un grafo de orden 0. Dos nodos son adyacentes si hay un arco que los une. En un grafo dirigido, si A es adyacente de B, no necesariamente B es adyacente de A. Camino es una secuencia de uno o ms arcos que conectan dos nodos. Un grafo se denomina conectado cuando existe siempre un camino que une dos. nodos cualesquiera y desconectado en caso contrario. Un grafo es completo cuando cada nodo esta conectado con todos y cada uno de losnodos restantes. El camino de un nodo as mismo se llama ciclo.

Pgina 1

Inteligencia Artificial Trabajo de Investigacin Grafos

Matriz de adyacencia

Un grafo sin ciclos es un rbol. El entregado de un nodo indica el nmero de arcos que llegan a se nodo. El fuera de grado de un nodo indica el nmero de arcos que salen de l. Un grafo de N vrtices o nodos es un rbol si cumple las siguientes condiciones a) Tiene N-1 arcos b) Existe una trayectoria entre cada par de nodos. c) Esta mnimamente conectado.

Un grafo esta etiquetado si sus arcos tiene valores asignados.- Si este valor es numrico se dice que el grafo tiene peso.

Pgina 2

Inteligencia Artificial Trabajo de Investigacin Grafos

GRAFOS Y SUS APLICACIONES Terminologa de teora de grafos: Esta seccin recoge alguna de la terminologa principal asociada con la teora de grafos. Podemos clasificar los grafos en 2 tipos bsicos, dirigidos y no dirigidos. 1. Los grafos dirigidos estn formados por vrtices y arcos. Los arcos son pares ordenados de vrtices, es decir, A -> B, el vrtice A es el primero y B el segundo, y esta unidos por un arco que marca el orden.

2. Los grafos no dirigidos estn formados por vrtices y aristas, que son pares de vrtices no ordenados, al contrario que pasa con los arcos.

3. Podemos asociar un grafo no dirigido a uno dirigido si ignoramos la direccin de los arcos y siempre que tengan en mismo conjunto de vrtices. 4. Un grafo mixto es aquel que contiene tanto arcos como aristas. 5. Los extremos de una arista o arco (los vrtices) se dice que son incidentes con la arista o arco.

Los vrtices A y B son incidentes con la arista e1. 6. Dos vrtices que comparten una misma arista o arco, es decir, que sonincidentes con esta, se dice que son adyacentes el uno con el otro.
Pgina 3

Inteligencia Artificial Trabajo de Investigacin Grafos

Los vrtices A y B son adyacentes.

7. Un bucle es una arista o arco cuyos extremos son el mismo vrtice.

El vrtice 1 tiene un bucle.

TIPOS PARTICULARES DE GRAFOS: 1. Un grafo simple es un grafo sin bucles y en el que no hay dos aristas que unan el mismo par de vrtices. Si el grafo es dirigido diremos que es simple si no tiene bucles y no hay dos arcos uniendo el mismo par de vrtices y con la misma direccin. Cuando un grafo NO es simple, se le llama multigrafo.

Grafo simple

Multigrafo

Pgina 4

Inteligencia Artificial Trabajo de Investigacin Grafos

Multigrafo 2. Un grafo se dice que es completo si hay al menos una arista o arco uniendo cada par de vrtices distintos. A un grafo no dirigido y simple lo denominamos Kn.

Grafo completo K6 3. Un grafo no dirigido diremos que es bipartito si existe una particin {X, Y} del conjunto de vrtices de forma que toda arista tiene un extremos en X y otro en Y. Para los grafos dirigidos diremos que es bipartito si lo es su grafo no dirigido asociado.

Pgina 5

Inteligencia Artificial Trabajo de Investigacin Grafos

V1={A,B,C,D,E}, V2={F,G,H,I} TEOREMA 1. Sea G=(V,A) un grafo, entonces:

2. Sea G=(V,A) un grafo dirigido, entonces:

COROLARIO El nmero de vrtices de grado impar de un grafo es par. Grafos y multigrafos Un grafo G consiste en dos cosas: a) Un conjunto V de elementos llamados nodos (o puntos o vrtices) b) Un conjunto E de aristas tales que cada arista e de E esta identificada por un nico (desordenado) par [u,v] de nodos de V, denotado por e-[v,u]. A veces denotamos un grafo escribiendo G= (V, E)

Pgina 6

Inteligencia Artificial Trabajo de Investigacin Grafos

Suponga que e = [u, v], entonces los nodos u y v se llaman extremos de e, u y v se diceque son nodos adyacentes o vecinos. El grado de un nodo u, escrito grad (u), es el nmero de artistas que contienen a u. Si grad(u)= 0, o sea, si u no pertenece a ninguna arista, entonces se dice que u es un nodo aislado. Un camino P de longitud n desde un nodo u se define comola secuencia de n +1 nodos.

Tal que u =v0i, v1, es adyacente a vi-1 para i=1,2,n; y vn=v. El camino P se dice que escerrado si v0 =vn .El camino P se dice que es simple si todos los nodos son distintos, aexcepcin de v0 que puede ser igual a vn; es decir, P es simple si los nodos v0, v1.vn-1son distintos y los nodos v1, v2.vn son distintos. Un ciclo es un camino simple cerradode longitud 3 o ms. Un ciclo de longitud k se llama k-ciclo. Un grafo G se dice que es conexo si existe un camino entre cualesquiera dos de sus nodos. Mostraremos en el problema 8.18 que si existe un camino P desde un nodo u a un nodo v, entonces eliminando las aristas innecesarias, se puede obtener un camino simple Q de ua v, de acuerdo con esto podemos establecer la siguiente proposicin. Proposicin1 : Un grafo G es conexo si y slo si existe un camino simple entre cualquiera de los nodos de G. Se dice que un grafo G es completo si cada nodo u de G es adyacente a todos los demsnodos de G claramente, un grafo as es conexo, un grafo completo de n nodos tendr n(n-1)2 aristas. Un grafo conexo T sin ciclos se llama grafo rbol o rbol libre o simplemente rbol. Estosignifica en particular, que existe un nico camino simple P entre cada dos nodos uye deT mas an, si T es un rbol finito de m nodos, entonces T tendr (m -1) aristas. Un grafo G se dice que esta etiquetado si sus aristas tiene datos asignados. En particular se dice que G tiene peso si cada arista e de G tiene asignado un valor numrico nonegativo w (e) llamado peso o longitud de e. En ese caso, a cada camino P de G se leasigna un peso o una longitud que es la suma de lo pesos de las aristas que constituyen el camino P, si no se da otra informacin sobre pesos, asumiremos que cada grafo G tienepeso pero de forma que los pesos w (e) de cada arista e de G es igual a 1. La definicin de un grafo puede ser generalizada si permitimos lo siguiente: 1) Aristas mltiples: Dos aristas e y e distintas se llama aristas mltiples si conectan losmismos extremos, o sea, si e [u, v] y e= [u, v].
Pgina 7

Inteligencia Artificial Trabajo de Investigacin Grafos

2) Bucles. Una arista ese llama bucle si tiene extremos idnticos, o sea, si e = [u, v]. Tal generalizacin M se llama multgrafo. En otras palabras la definicin de un grafonormalmente no permite ni aristas mltiples ni bucles. Un multgrafoM se dice que es finito si tiene un nmero finito de nodos y de aristas. Observe que un grafo G con un nmero finito de nodos debe tener automticamente un nmerofinito de aristas; pero esto no es necesariamente cierto para unmultigrafo M, ya que M puede tener mltiples aristas. A menos que se indique locontrario, los grafos y multigrafos de este texto sern finitos. Ejemplo 1 (a) La figura 1(a) es un dibujo de un grafo conexo con cinco nodosA,B,C,D y E yseis aristas ;[A,B],[B,C], [C,D],[D,E], [A,E], [C,E], [A,C] Hay dos caminos simples de longitud 2 entre B y E; (B, A, E) y (B, C, E). Hay un solocamino simple de longitud dos desde B hasta D:(B, C, D). Anotamos que (B, A, D) no es un camino, ya que [A, D] no es una arista. Hay dos 4-ciclos en el grafo:[A, B, C, E, A] y [A, C, D, E, A] Note que grad(A)=3, ya que A pertenece a tres aristas. Similarmente, grad(C)=4 y grad (D)=2. (b)La figura 1(b) no es un grafo sino un multigrafo. La razn es que tiene aristasmltiples ------>ei= [B, C] y e5= [B, C] --- y tiene un bucle e6=[D, D]. La definicin deun grafo normalmente no permite aristas mltiples ni bucles. (c) La figura 1(c) es un grafo rbol con m=6 nodos y, consecuentemente, m-1=5 aristas. Se puede verificar que hay un nico camino simple entre cada dos nodos delgrafo rbol. (d) La figura 1(d) es el mismo grafo que la figura 8-1(a), excepto que ahora el grafo tiene peso. Observe que P1=(B, C, D) y P2=(B, A, E, D) son ambos caminos del nodoB al nodo D. Sin embargo, aunque P2 contiene mas aristas que P1 el peso w(P2)=9 esmenor que el peso w(P1)=10.

Pgina 8

Inteligencia Artificial Trabajo de Investigacin Grafos

Figura 1 Grafos dirigidos Un grafo dirigido G, tambin llamado dgrafo o grafo, es lo mismo que un multigrafo, soloque cada arista e de G tiene una direccin asignada o, en otras palabras, cada arista e estidentificada por un par ordenado (u, v) de nodos G en vez del par desordenado [u.v]. Suponga que G es un grafo dirigido con una arista dirigida e=(u,v).Entonces e tambin sellama arco. Ms an se usa la siguiente terminologa: 1) e empieza en u y termina en v 2) u es el origen o punto inicial de e,y v es el destino o punto terminal de e . 3) u es un predecesor de v y v es un sucesor o vecino de u 4) u es adyacente hacia v y v es adyacente a u El grado de salida de un nodo u de G, escrito gradsal (u), es el nmero de aristas queempiezan en u similarmente, el grado de entrada u, escrito gradent (u), es el nmero dearistas que terminan en u. Un nodo u se llama fuente si tiene un grado de salida positivo yun grado de entrada nulo. Similarmente u se le llama sumidero si tiene un grado de salidanulo y un grado de entrada positivo. Las nociones de camino, camino simple y ciclo se aplican en los grafos dirigidos igual que en los grafos no dirigidos excepto que la direccin de cada arista de un camino (ciclo) debe coincidir con la direccin del camino (ciclo). Se dice que un nodo v es alcanzable desde un nodo u si existe un camino (dirigido) de u a v. Un grafo dirigido G se dice que es conexo, o fuertemente conexo, si para cada par u,v de nodos de G existe un camino de u a v y tambin un camino de v a u. Por otro lado, G se dice que es unilateralmente conexo para cada par u,v de nodos de G hay un camino de u a v o un camino de v a u.

Pgina 9

Inteligencia Artificial Trabajo de Investigacin Grafos

Ejemplo 2 La figura 2 muestra un grafo dirigido G con cuatro nodos y siete aristas (dirigidas).Las aristas e2 y e3 se dice que son paralelas, ya que las dos empiezan en B y terminan en A.La arista e7-es un bucle, ya que empieza y termina en el mismo nodo B. La secuencia P1=(D, C, B, A), no es un camino ya que (C, B) no es una arista o sea, la direccin de la arista e5=(B, C) no concuerda con la direccin del camino P1. Por otro lado P2=(D, B, A) es uncamino de D a A, ya que (D, B) y (B, A) son aristas .As A es alcanzable desde D. No existe camino entre C y el resto de los nodos, as que G no es fuertemente conexo. Sin embargo G es unilateralmente conexo. Observe que gradent(D)=1 y gradsal(D)=2. El nodo C es un sumidero, ya que gradent(C)=2 y gradsal(C)=0. Ningn nodo G es una fuente

Figura 2 Sea T un grafo rbol no vaco. Suponga que elegimos un nodo R de T. As T con ese nodo R designado se llama rbol con raz y R se llama su raz. Recuerde que existe un nico camino simple desde la raz R hasta cualquier otro nodo de T. Esto define una direccin para las aristas de T, as que el rbol con raz puede ser visto como un grafo dirigido. Ms an suponga que tambin ordenamos los sucesores de cada nodo v de T. Entonces T se llama rbol con raz ordenado. Los rboles con raz ordenados no son otra cosa que los rboles generales. Un grafo dirigido G se dice que es simple si no tiene aristas paralelas. Un grafo simple G puede tener bucles, pero no puede tener mas de un bucle en un nodo dado. Un grafo G no dirigido puede verse como un grafo dirigido simple asumiendo que cada arista [u,v] de G representa dos aristas dirigidas (u,v) y (v.u). (Observe que usamos la notacin (u,v) para denotar un par ordenado).

Pgina 10

Inteligencia Artificial Trabajo de Investigacin Grafos

2.-Representacion secuencial de grafos: Matriz de adyacencia matriz de caminos Existen dos formas estndar de mantener un grafo G en la memoria de una computadora. Una forma llamada presentacin secuencial de G, se basa en la matriz de adyacencia de A. La otra forma, llamada representacin enlazada de G, se basa en las listas enlazadas de vecinos. Esta seccin cubre la primera representacin y muestra como se puede usar la matriz de adyacencia A de G para responder fcilmente ciertas cuestiones sobre conectividad de G. Independientemente de la forma que se mantenga el grafo G en la memoria de la computadora, el grafo G normalmente se introduce en la computadora por su definicin formal: un conjunto de nodos y un conjunto de aristas. Matriz de adyacencia Suponga que G es un grafo dirigido simple de m nodos y suponga que los nodos de G han sido ordenados y llamados v1, v2vm .As la matriz de adyacencia A=(ai,j) del grafo G es la matriz de m x m elementos definida como sigue:

Una matriz A as, que contiene entradas de 0y1, se llama matriz de bits o matriz booleana. La matriz de adyacencia de A del grafo G depende de la ordenacin de los nodos de G; esto es, diferentes ordenaciones de los nodos pueden resultar en diferentes matrices de adyacencia. Sin embargo las matrices obtenidas por dos ordenaciones diferentes estn fuertemente relacionadas en cuanto que a una puede ser obtenida de la otra simplemente cambiando filas y columnas. A menos que se indique lo contrario asumiremos que los nodos de nuestro grafo G tienen un orden fijo. Suponga que G es un grafo no dirigido. Entonces la matriz de adyacencia de G, A ser una matriz simtrica, o sea, con a(i,j)= a(j,i) para cada i y j . Esto viene del hecho de que cada arista no dirigida [u,v] corresponde a las dos aristas dirigidas (u,v),(v,u). La anterior representacin matricial de un grafo se puede extender a multigrafos. Especficamente, si G es un multigrafo, entonces la matriz de adyacencia de G es la matriz A de m x m= a (i, j) definida haciendo a (i, j) igual al numero de aristas desde vi hasta vj. Considere el grafo G de la figura 3, Suponga que los nodos se guardan en memoria en un array lineal Datos tal como sigue:
Pgina 11

Inteligencia Artificial Trabajo de Investigacin Grafos

DATOS: X, Y, Z, W Asumimos que el orden de los nodos de G es el siguiente v1=X, v2=Y, v3=Z y va=W. La matriz de adyacencia de A de G es la siguiente:

Observe que el nmero 1 en A es igual al nmero de aristas en G.

.
Figura 3

Considere las potencias A, A (1), A (2), A (3), de la matriz de adyacencia de A de un grafo G. Sea a1(i,j)=la entrada i j de la matriz A(M) potencia. Observe que a1(i,j)=a(i,j) da el numero de caminos de longitud 1 desde el nodo v1 hasta el nodo v3 . Se puede demostrar que a2 (i,j) da el numero de caminos de longitud 2 desde v1,hasta v3. De hecho, en el problema 8.19 probaremos el siguiente resultado general. Proposicin 2 Sea A la matriz de adyacencia de un grafo G de la figura3. Entonces ak (i,j), la entrada ij en la matriz , ak da el nmero de caminos de longitud k desde v1 hasta v3. Considere el nuevo grafo G de la figura3 cuya matriz de adyacencia A se da en el ejemplo 3. Las potencias A(2),A(3), A(4), de la matriz A son las siguientes.

As en particular, hay un camino de longitud 2 de v4 a v1, hay dos caminos de longitud 3 de v2 a v3 y hay 3 caminos de longitud 4 de v2 a v4 (Aqu, v1=X, v2=Y, v3=Z y v4=W) Suponga que ahora definimos la matriz B como sigue: B =r A+A2 +A3 +....+Ar
Pgina 12

Inteligencia Artificial Trabajo de Investigacin Grafos

Entonces la entrada ij de la matriz B, da el nmero de caminos de longitud r o menor, del nodo vi al vj. Matriz de Caminos: Sea G un grafo dirigido simple con m nodos v1,v2..vm. La matriz de caminos o matriz de alcance de G es la matriz m-cuadrada P= v(i,j) definida como sigue:

Suponga que hay un camino desde vi hasta vj. Entonces tiene que haber un camino simple desde vi hasta vj cuando vi=vj, o un ciclo de vi a vj cuando vi=vj. Como G solo tiene m nodos n un camino simple as ha de tener longitud m-1 o menor, o un ciclo as ha de tener longitud m o menor. Esto significa que existe una entrada ij no nula de la matriz Bm definida de la anterior subseccin. De acuerdo con esto, tenemos la siguiente relacin entre la matriz de caminos P y la matriz de adyacencia A. Proposicin 3. Sea A la matriz de adyacencia y P= pi,j, la matriz de caminos de un grafo G , Entonces pi,j =1 si y solo si hay un nmero positivo en la entrada ij de la matriz. Bm=A+A2 +A3+....+Am Considere el grafo G con m=4 nodos de la figura 3 .Sumando las matrices con las potencias A,A(2),A(3) y A(4) obtenemos la siguiente matriz B4 , remplazando las entradas positivas por 1, obtenemos la matriz de caminos P del grafo G .

Examinando la matriz P, vemos que el nodo v2 no es alcanzable por ninguno de los otros nodos. Recuerde que se dice que un dirigido G es fuertemente conexo si, para cada par de nodos u y v de G, existe tanto un camino de u a v como de v a u. Por tanto, G es fuertemente conexo si y solo si la matriz de caminos P de G no tiene entradas nulas. As el grafo G de la figura 3 no es fuertemente conexo. El cierre transitivo de un grafo G se define como el grafo G tal que G ti ene los mismos nodos que G y existe una arista (vi,vj) en G siempre que existe un camino de vi a vj en G.
Pgina 13

Inteligencia Artificial Trabajo de Investigacin Grafos

As la matriz de caminos P del grafo G es precisamente la matriz de adyacencia de su cierre transitivo G`. Mas an un grafo G es fuertemente conexo si y solo si su cierre transitivo es un grafo completo. Nota: La matriz de adyacencia A y la matriz de caminos P de un grafo G se pueden ver como matrices lgicas (booleanas), donde el 0 representa Falso y el 1 representa cierto. As como las operaciones lgicas de (Y) y O(V) se pueden aplicar a las entradas de A y P los valores de Y y O aparecen en la figura 8.4. Las operaciones se usarn en la siguienteseccin

Figura 4

BSQUEDA DE SOLUCIONES Estrategias de Bsqueda Una estrategia de bsqueda queda definida por el orden en que se expanden los nodos. Las estrategias son evaluadas por medio de las siguientes dimensiones: Completitud: Si un algoritmo es completo tenemos la garanta de que hallar la solucin, si no lo es, es posible que el algoritmo no acabe o que sea incapaz de encontrarla. Complejidad temporal: Nos indicar el coste temporal de la bsqueda en funcin del tamao del problema, generalmente a partir del factor de ramificacin y la profundidad a la que se encuentra la solucin (nmero de nodos generados) Complejidad espacial: Espacio requerido para almacenar los nodos pendientes de explorar. Tambin se puede tener en cuenta el espacio para almacenar los nodos ya explorados si es necesario para el algoritmo (nmero mximo de nodos en memoria). Optimalidad: Si es capaz de encontrar la mejor solucin segn algn criterio de preferencia o coste (si existen varias).

Pgina 14

Inteligencia Artificial Trabajo de Investigacin Grafos

Las complejidades temporal y espacial se miden en trminos de b: mximo factor de ramificacin (mximo nmero de sucesores de cualquier nodo) del rbol de bsqueda d: profundidad de la solucin de menor coste. m: profundidad mxima del espacio de estados (puede ser )

Atendiendo a estos criterios podemos clasificar los algoritmos principales en: a) Algoritmos de bsqueda no informada Llamadas de bsqueda ciega, porque slo usan la informacin de la definicin del problema. Estos algoritmos no tienen en cuenta el coste de la solucin durante la bsqueda. Su funcionamiento es sistemtico, siguen un orden de visitas de nodos fijo, establecido por la estructura del espacio de bsqueda. Los principales ejemplos de estos algoritmos son: Bsqueda primero en amplitud Bsqueda de costo uniforme Bsqueda primero en profundidad Bsqueda en profundidad limitada Bsqueda por profundizacin iterativa Bsqueda bidireccional

b) Algoritmos de bsqueda heurstica y bsqueda local: Estos algoritmos utilizan una estimacin del coste o de la calidad de la solucin para guiar la bsqueda, de manera que se basan en algn criterio heurstico dependiente del problema. Estos algoritmos no son sistemticos, de manera que el orden de exploracin no lo determina la estructura del espacio de bsqueda sino el criterio heurstico. Algunos de ellos tampoco son exhaustivos y basan su menor complejidad computacional en ignorar parte del espacio de bsqueda. Existen bastantes algoritmos de este tipo con funcionamientos muy diferentes, no siempre garantizan el encontrar la solucin ptima, ni tan siquiera el hallar una solucin. Los principales ejemplos de estos algoritmos son A*, IDA*, Branch & Bound, Hillclimbing.

Pgina 15

Inteligencia Artificial Trabajo de Investigacin Grafos

Bsqueda No Informada Los algoritmos de bsqueda no informada, tambin conocidos como algoritmos de bsqueda ciega, no dependen de informacin propia del problema a la hora de resolverlo. Es decir, son algoritmos generales y por lo tanto se pueden aplicar en cualquier circunstancia. El trmino bsqueda ciega significa que ellas no tienen informacin adicional acerca de los estados, ms all de la que proporciona la definicin del problema. Todo lo que ellas pueden hacer es generar los sucesores y distinguir entre un estado objetivo de uno que no lo es. Estos algoritmos se basan en la estructura del espacio de estados y determinan estrategias sistemticas para su exploracin. Es decir, siguen una estrategia fija a la hora de visitar los nodos que representan los estados del problema. Se trata tambin de algoritmos exhaustivos, de manera que pueden acabar recorriendo todos los nodos del problema para hallar la solucin. Existen bsicamente dos polticas de recorrido de un espacio de bsqueda, en anchura y en profundidad. Todas las estrategias se distinguen por el orden de expansin de los nodos. Al ser algoritmos exhaustivos y sistemticos su coste puede ser prohibitivo para la mayora de los problemas reales, por lo tanto slo ser aplicables en problemas pequeos. Su ventaja es que no nos hace falta obtener ningn conocimiento adicional sobre el problema, por lo que siempre son aplicables.

Bsqueda Primera en Anchura Primera en Amplitud

La bsqueda primero en anchura intenta explorar el espacio de bsqueda haciendo un recorrido por niveles, de manera que un nodo se visita solamente cuando todos sus predecesores y sus hermanos anteriores en orden de generacin ya se han visitado. Es una estrategia sencilla en la que se expande primero el nodo raz, a continuacin se expanden todos los sucesores del nodo raz, despus sus sucesores, etc. En general, se expanden todos los nodos a una profundidad en el rbol de bsqueda antes de expandir cualquier nodo del prximo nivel. La bsqueda primero en anchura se puede implementar llamando a la Funcin Busqueda_General con una frontera vaca que sea una estructura Cola (primero en entrar primero en salir, FIFO), asegurando que los nodos primeros visitados sern los primeros expandidos.

Pgina 16

Inteligencia Artificial Trabajo de Investigacin Grafos

La estructura FIFO pone todos los nuevos sucesores generados al final de la cola, lo que significa que los nodos ms superficiales se expanden antes que lo nodos ms profundos.

En el siguiente grfico se muestra el progreso de la bsqueda: Algoritmo de bsqueda en amplitud 1. Crear una lista de nodos llamada ABIERTA e inicializarla con un nico nodo raz, al que se le asigna el estado inicial del problema. 2. Hasta que ABIERTA est vaca o se encuentre una meta realizar las siguientes acciones: 2.1 Extraer el primer nodo de ABIERTA y llamar a ese nodo m. 2.2 Expandir m (generar todos los sucesores). Para cada operador aplicable y cada forma de aplicacin: 1) Aplicar el operador a m, obtener un nuevo estado y crear un puntero que permita saber que su predecesor es m. 2) Si el nuevo estado generado es meta, salir del proceso iterativo iniciado en 2.2 y devolver dicho estado.
Pgina 17

Inteligencia Artificial Trabajo de Investigacin Grafos

3) Incluir el nuevo estado al final de ABIERTA (una vez completado este proceso para todos los sucesores de m -cuando no se haya encontrado una meta- se contina el proceso iterativo en el paso 2) En este algoritmo la lista ABIERTA va a funcionar como una cola FIFO. Los nodos que haya en ABIERTA sern aquellos que haya sido generados, pero que todava no han sido expandidos. Los elementos que van a ser expandidos se toman al comienzo de la lista ABIERTA. Sus sucesores se aaden al final. De esta forma siempre se expandirn los nodos ms antiguos. Ventajas: Si el problema tiene una solucin este procedimiento garantiza el encontrarla. Si hubiera varias soluciones se obtiene la de menor coste (la ptima), es decir, la que requiere un menor nmero de pasos (si consideramos un coste uniforme de aplicacin de los operadores) Desventajas: Si el nivel de profundidad asociado a la solucin es significativamente menor que el factor de ramificacin se expandiran demasiados nodos intilmente. Por otro lado la principal desventaja de este mtodo es el espacio de almacenamiento requerido. Esto lo hace prcticamente inviable para problemas complejos, como suelen ser los del mundo real. Bsqueda Primero en Profundidad o Profundidad Prioritaria

Es aqul procedimiento de control en el que se centra en expandir un nico camino desde la raz. En el caso de llegar a un callejn sin salida se retrocede hasta el nodo ms cercano desde donde se puede tomar una ruta alternativa para poder seguir avanzando. Para llevar a cabo este tipo de bsqueda debe utilizarse una estructura de tipo pila (LIFO) que vaya almacenando los nodos generados. Suele establecerse el llamado lmite de exploracin, que marca la mxima longitud que puede alcanzar cualquier camino desde laraz durante el proceso de bsqueda.

Pgina 18

Inteligencia Artificial Trabajo de Investigacin Grafos

Algoritmo de bsqueda en profundidad 1. Crear una lista de nodos llamada ABIERTA e inicializarla con un nico nodo raz, al que se le asigna el estado inicial del problema. 2. Hasta que ABIERTA est vaca o se encuentre una meta realizar las siguientes acciones: 2.1 Extraer el primer nodo de ABIERTA y llamar a ese nodo m. 2.2 Si la profundidad de m es igual a lp regresar a 2.1. En caso contrario continuar. 2.3 Expandir m (generar todos los sucesores). Para cada operador aplicable y cada forma de aplicacin: 1) Aplicar el operador a m, obtener un nuevo estado y crear un puntero que permita saber que su predecesor es m. 2) Si el nuevo estado generado es meta, salir del proceso iterativo iniciado en 2.1 y devolver dicho estado. 3) Incluir el nuevo estado al principio de ABIERTA en un orden arbitrario. Si algn sucesor de m es meta, abandonar el proceso iterativo sealado en 2.1devolviendo el camino de la solucin que se obtienerecorriendo los punteros de sus antepasados. Si algn sucesor de m se encuentra en un callejn sin salidaeliminarlo de ABIERTA y continuar en 2.2 Ventajas:
Pgina 19

Inteligencia Artificial Trabajo de Investigacin Grafos

La principal ventaja de este algoritmo radica en el reducido valor de su complejidad espacial. Cuando existen mltiples soluciones posibles la eficiencia del algoritmo aumenta. Desventajas: La dificultad estriba en el tiempo requerido. El algoritmo puede dedicarse a recorrer un camino demasiado largo que no conduzca a ninguna solucin. Es ms, si no se guarda constancia de los nodos que forman el camino recorrido se podra caer en ciclos y el proceso no acabara. El problema por tanto es determinar cul debe ser lp. Si ste es inferior a la longitud real del camino de la solucin, sta nunca se encontrara, y si es mucho mayor sera ineficiente. Esta es la razn por la que lp debera llamarse lmite de exploracin. PROFUNDIDAD LIMITADA Una variante de la bsqueda primero en profundidad, que trata de aliviar el problema de los rboles ilimitados (con ramas infinitas), el algoritmo de profundidad limitada. ste impone un lmite mximo de profundidad (l) que impone la longitud mxima de los caminos recorridos. Esta limitacin garantiza que el algoritmo acaba, pero no garantiza la solucin ya que esta puede estar a mayor profundidad que el lmite impuesto. Lamentablemente se aade alguna complicacin adicional si escogemos l tal que l<d. Entonces el objetivo est fuera del lmite de profundidad El lmite de profundidad puede estar basado en el conocimiento previo del problema: Por ejemplo, en el mapa de Rumania hay 20 ciudades, luego la solucin debe ser como mucho con l=19 La estrategia se puede implementar modificando la Funcin Busqueda_General con una condicional del lmite de la profundidad.

Pgina 20

Inteligencia Artificial Trabajo de Investigacin Grafos

Nodos Repetidos Respecto al tratamiento de nodos repetidos, podemos ver los diferentes casos en el siguiente grfico:

Si el nodo generado actual est repetido en niveles superiores (ms cerca de la raz), su coste ser peor ya que su camino desde la raz es ms largo, si est al mismo nivel, su coste ser el mismo. En ambos casos podemos olvidarnos de este nodo. En el caso de que el repetido corresponda a un nodo de profundidad superior, significa que hemos llegado al mismo estado por un camino ms corto, por tanto deberemos mantenerlo y continuar su exploracin, ya que nos permitir llegar a mayor profundidad que antes. Si se considera un lmite de profundidad, el tratamiento de nodos repetidos no es crucial, pues los ciclos no llevarn a caminos infinitos. De este modo se mantendr el coste espacial lineal, lo cual es una gran ventaja. El evitar tener que tratar repetidos y tener un coste espacial lineal supone una caracterstica diferenciadora que hace muy ventajosa a la bsqueda en
Pgina 21

Inteligencia Artificial Trabajo de Investigacin Grafos

profundidad. Este algoritmo ser capaz de obtener soluciones que se encuentren a gran profundidad Bsqueda de Costo Uniforme La bsqueda primero en anchura es ptimo cuando todos los costes son iguales, ya que expande el nodo menos profundo. La bsqueda de coste uniforme es una extensin de primero en anchura de forma que es ptimo para cualquier funcin de coste (estrictamente positiva). Se expande el nodo con el camino de menor coste desde el nodo raz. Si todos los costes de cada accin son iguales, es idntico a primero en anchura. Esta bsqueda est dirigida por los costes de los caminos ms que por las profundidades. No puede haber acciones de coste 0 (CERO) que conduzcan al mismo estado, pues generara un bucle infinito. La estructura de los nodos abiertos, se implementa mediante una cola (FIFO) prioritaria, con una insercin en orden de coste creciente.

EJERCICIOS: Un granjero fue al mercado y compr un lobo, una cabra y una col. Para volver a su casa tena que cruzar un ro. El granjero dispone de una barca para cruzar a la otra orilla, pero en la barca solo caben l y una de sus compras. Si el lobo se queda solo con la cabra se la come, si la cabra se queda sola con la col se la come. El reto del granjero era cruzar l mismo y dejar sus compras a la otra orilla del ro, dejando cada compra intacta. Cmo lo hizo?
Pgina 22

Inteligencia Artificial Trabajo de Investigacin Grafos

Solucin: -> (0) -> (1) -> Orden: Cabra, Col, Lobo, Hombre Estado inicial = (0, 0, 0, 0) Estado final= (1, 1, 1, 1)

NODO 1 2 3 4 5 6 7 8 9

ACTUAL (0, 0, 0, 0) (1, 0, 0,1) (1, 0, 0, 0) (1, 1, 0, 1) (1, 0, 1, 1) (0, 1, 0, 0) (0, 0,1,0) (0, 1, 1, 1)

SUCESOR (1, 0, 0,1) (1, 0, 0, 0) (1, 1, 0, 1) (1, 0, 1, 1) (0, 1, 0, 0) (1, 0, 0, 0) (0, 0, 1, 0) (0, 1, 1, 1) (0, 1, 1, 0) (1, (0, 1,1, 1,1, 1) 0)

FRONTERA (0, 0, 0, 0) (1, 0, 0,1) (1, 0, 0, 0) (1, 1, 0, 1) (1, 0, 1, 1) (1, 0, 1, 1) (0, 1, 0, 0) (0, 1, 0, 0) (0, 0, 1, 0) (0, 0, 1, 0) (0, 1, 1, 1) (0,1,1,1) (0, 1, 1, 0) (1, 1, 1, 1)

Chiclayo

Piura

Tumbes

Chepen Pacasmayo Cajamarca Guadalupe Paijan Trujillo Huaraz


Pgina 23

Amazonas

Lima

Cuzco

Inteligencia Artificial Trabajo de Investigacin Grafos

NODO 1 2 3

ACTUAL Chiclayo Chepn Cajamarca

SUCESORES Chepn, Cajamarca, Piura Pacasmayo Huaraz, Amazonas

FRONTERAS Chepn, Cajamarca, Piura Cajamarca, Piura, Pacasmayo Piura, Pacasmayo, Huaraz, Amazonas Pacasmayo, Huaraz, Amazonas, Tumbes Huaraz, Amazonas, Tumbes, Guadalupe Amazonas, Tumbes, Guadalupe, Trujillo, Lima Tumbes, Guadalupe, Trujillo, Cuzco

Piura

Tumbes

Pacasmayo

Guadalupe

Huaraz

Trujillo, Lima

Amazonas

Cuzco

Lima,

Pgina 24

Inteligencia Artificial Trabajo de Investigacin Grafos

Tumbes

Guadalupe, Trujillo, Cuzco

Lima,

9 10 11 12

Guadalupe Trujillo Lima Cuzco

Paijan -

Trujillo, Lima, Cuzco, Paijan Lima, Paijan Cuzco,

Cuzco, Paijan

Primero en Profundidad

NODO 1 2 3 4 5 6 7 8

ACTUAL Chiclayo Chepn Pacasmayo Guadalupe Paijan Trujillo Lima Cuzco

SUCESORES Chepn, Cajamarca, Piura Pacasmayo Guadalupe Paijan Trujillo Lima, Huaraz Cuzco

FRONTERAS Chepn, Cajamarca, Piura Pacasmayo, Cajamarca, Piura Guadalupe, Cajamarca, Piura Paijan, Cajamarca, Piura Trujillo, Cajamarca, Piura Lima, Huaraz, Cajamarca, Piura Cuzco, Huaraz, Cajamarca, Piura

Pgina 25

Anda mungkin juga menyukai