grafos y evitar eventos repetitivos inteligencia artifical
TRANSCRIPT
GRAFOS Y EVITAR EVENTOS REPETITIVOS
MATERIA :INTELIGENCIA ARTIFICIAL
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
GRAFO
VERTICES DEL GRAFON:{A,B,C,D,E,F,G}
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
GRAFO NO ORIENTADO
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
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.
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
Para poder implementar un procedimiento de búsqueda sobre un grafo se necesitan dos listas de nodos:
ABIERTOS CERRADOS
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.
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.
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
Ejemplo:
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)
DETECION DE EVENTOS REPETITIVOS “Los algoritmos que olvidan su historia
están condenados a repetirla.”
¿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.
Continuación…..
Podemos modificar el algoritmo en general para incluir una estructura de datos llamada LISTA CERRADA
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.
Ejemplo
Ejemplo
PSEUDOCODIGO
Código en JAVA