grafos y evitar eventos repetitivos inteligencia artifical

22
GRAFOS Y EVITAR EVENTOS REPETITIVOS MATERIA :INTELIGENCI A ARTIFICIAL

Upload: gonzalo-negrete-montano

Post on 25-Jul-2015

96 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Grafos y evitar eventos repetitivos Inteligencia Artifical

GRAFOS Y EVITAR EVENTOS REPETITIVOS

MATERIA :INTELIGENCIA ARTIFICIAL

Page 2: Grafos y evitar eventos repetitivos Inteligencia Artifical

GRAFO

Un grafo es un tipo de dato abstracto que representa un conjunto finito N de nodos llamados vértices relacionados entre si por un conjunto R de arco

Page 3: Grafos y evitar eventos repetitivos Inteligencia Artifical

GRAFO

VERTICES DEL GRAFON:{A,B,C,D,E,F,G}

Page 4: Grafos y evitar eventos repetitivos Inteligencia Artifical

Grafo no orientado

Es irrelevante el sentido en los arcos El arco que los relacionan aparece una

sola vez en el conjunto de arcos del grafo

Page 5: Grafos y evitar eventos repetitivos Inteligencia Artifical

GRAFO NO ORIENTADO

Page 6: Grafos y evitar eventos repetitivos Inteligencia Artifical

GRAFOS TIPO O

En ocasiones es importante realizar la búsqueda sobre un grafo de forma que los caminos duplicados no se exploren.

Tal algoritmo debe realizar la búsqueda en un grafo dirigido donde un nodo representa un punto en el espacio de estados

Page 7: Grafos y evitar eventos repetitivos Inteligencia Artifical

Cada nodo contiene de además de una descripción de lo que representa en el estado de espacios, una indicación de lo prometedor que es, un enlace paterno que apunta a un mejor nodo desde el que se ha generado el actual y una lista de nodos que se genera a partir de el.

Page 8: Grafos y evitar eventos repetitivos Inteligencia Artifical

El enlace paterno nos posibilita restablecer el camino hacia el objetivo una ves encontrado.

La lista de sucesores hará posible, si se ha encontrado un camino mejor a un nodo ya existente, propagando la mejora a sus sucesores.

A los grafos de este tipo se les denomina grafos o

Page 9: Grafos y evitar eventos repetitivos Inteligencia Artifical

Para poder implementar un procedimiento de búsqueda sobre un grafo se necesitan dos listas de nodos:

ABIERTOS CERRADOS

Page 10: Grafos y evitar eventos repetitivos Inteligencia Artifical

ABIERTOS– nodos que se han generado y a los que se les ha aplicado la función heurística, pero que no han sido examinados.

CERRADOS– nodos que ya se han examinado. Es necesario mantener estos nodos en memoria si lo que se desea es hacer una búsqueda sobre un grafo y no sobre un árbol, debido a que cuando se genera un nuevo nodo, se debe verificar si ese nodo se había generado con anterioridad.

Page 11: Grafos y evitar eventos repetitivos Inteligencia Artifical

Olvida una rama cuando su coste supera la mejor alternativa.

El coste de la rama olvidada se almacena en el padre como su nuevo coste.

Page 12: Grafos y evitar eventos repetitivos Inteligencia Artifical

EVITAR EVENTOS REPETITIVOS

Hemos ignorado una de las complicaciones mas importantes sobre el proceso de búsqueda

La posibilidad de perder tiempo expandiendo estados que hayan sido visitados

Page 13: Grafos y evitar eventos repetitivos Inteligencia Artifical

Ejemplo:

Page 14: Grafos y evitar eventos repetitivos Inteligencia Artifical

DETECION DE EVENTOS REPETITIVOS Si el algoritmo no detecta los estados

repetidos estos se pueden provocar que un problema resoluble sea irresoluble

Para la búsqueda en profundidad los únicos nodos en memoria son aquellos del camino que esta desde la raíz hasta el nodo actual(esto permite eliminar caminos que forman ciclos)

Page 15: Grafos y evitar eventos repetitivos Inteligencia Artifical

DETECION DE EVENTOS REPETITIVOS “Los algoritmos que olvidan su historia

están condenados a repetirla.”

Page 16: Grafos y evitar eventos repetitivos Inteligencia Artifical

¿A QUE SE REFIERE?

Si un algoritmo recuerda cada estado que ha visitado entonces puede verse como la exploración directamente del grafo de espacios de estados.

Page 17: Grafos y evitar eventos repetitivos Inteligencia Artifical

Continuación…..

Podemos modificar el algoritmo en general para incluir una estructura de datos llamada LISTA CERRADA

Page 18: Grafos y evitar eventos repetitivos Inteligencia Artifical

LISTA CERRADA La búsqueda en grafos en profundidad

interactiva tiene que comprobar si un camino recién descubierto aun nodo es mejor que el original y si es así podría tener que revisar las profundidades y los costos del camino de los descendentes nodos.

Page 19: Grafos y evitar eventos repetitivos Inteligencia Artifical

Ejemplo

Page 20: Grafos y evitar eventos repetitivos Inteligencia Artifical

Ejemplo

Page 21: Grafos y evitar eventos repetitivos Inteligencia Artifical

PSEUDOCODIGO

Page 22: Grafos y evitar eventos repetitivos Inteligencia Artifical

Código en JAVA