el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
Presentacion
1. REPUBLICABOLIVARIANADE VENEZUELA
MINISTERIO DEL PODER POPULAR PARALADEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICADE LAFUERZAARMADA
NACIONAL BOLIVARIANA
UNEFA
NÚCLEO- LARA
CRITERIOS DE BUSQUEDA EN
INTELIGENCIA ARTIFICIAL
ESTUDIANTE:
OSVEYRI ALVARADO CI:25630886
SECCION:
7D01IS
2. BÚSQUEDA SIN INFORMACION DEL DOMINIO (A
CIEGAS)
BÚSQUEDA EN AMPLITUD:
ALGORÍTMO ASOCIADO Y EJEMPLO
La búsqueda en anchura le asigna dos valores a cada vértice V:
Una distancia, que da el número mínimo de aristas en cualquier
Camino de vértice de origen al vértice v.
El vértice predecesor de v a lo largo de algún camino más corto del vértice. El predecesor del vértice
de origen es algún valor especial, como null, que indica que no tiene predecesor.
Si no hay un camino del vértice de origen al vértice v, entonces la distancia de v es infinita y su
predecesor tiene el mismo valor especial que el predecesor del vértice de origen.
3. BÚSQUEDA SIN INFORMACION DEL DOMINIO (A
CIEGAS)
Ejemplo:
Aquí hay un grafo no dirigido con ocho vértices, numerados de 0 al 7, con los
números de los vértices mostrados arriba o debajo de los vértices. Dentro de cada
vértice hay dos números: su distancia del origen, que es el vértice 3, seguido de
su predecesor en el camino más corto desde el vértice 3. Un guion indica null.
4. BÚSQUEDA SIN INFORMACION DEL DOMINIO (A
CIEGAS)
En BFS, inicialmente hacemos que la distancia y el predecesor de cada vértice sea el valor
especial(null). Empezamos la búsqueda en el origen y le asignamos una distancia de 0. Después
visitamos a todos los vecinos del origen y a cada vecino le damos una distancia de 1 y hacemos su
predecesor igual al origen. Después visitamos a todos los vecinos de los vértices cuya distancia des
1 y que no hay sido visitados anteriormente, y le damos a cada uno de estos vértices una distancia
de 2 y hacemos que su predecesor sea el vértice a partir del cual lo visitamos. Seguimos avanzando
hasta que todos los vértices alcanzables desde el vértice de origen han sido visitados, siempre
visitando los vértices a una distancia k del origen antes de visitar cualquier vértice a una distancia
k+1.
6. BÚSQUEDA SIN INFORMACION DEL DOMINIO (A
CIEGAS)
BÚSQUEDA EN PROFUNDIDAD:
ALGORÍTMO ASOCIADO Y EJEMPLO
Sea G = (V, A) un grafo conexo, V’ = V un conjunto de vértice, Aun vector de arcos inicialmente vacío y
P un vector auxiliar inicialmente vacío:
1. Se introduce el vértice inicial en P y se elimina del conjunto V’.
2. Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar.
3. Se toma el último elemento de P como vértice activo.
4. Si el vértice activo tiene algún vértice adyacente que se encuentre en V’:
Se toma el de menor índice
Se inserta en P´ como ultimo elemento
Se elimina en V´
Se inserta en A’ el arco que le une con el vértice activo.
Si el vértice activo o tiene adyacente se elimina de P´
7. BÚSQUEDA SIN INFORMACION DEL DOMINIO (A
CIEGAS)
EJEMPLO:
Muchos algoritmos de grafos necesitan visitar de un modo sistemático todos los vértices de un grafo. En la búsqueda en profundidad se
avanza de vértice en vértice, marcando cada vértice visitado. La búsqueda siempre avanza hacia un vértice no marcado, internándose
“profundamente” en el grafo sin repetir ningún vértice. Cuando se alcanza un vértice cuyos vecinos han sido marcados, se retrocede al
anterior vértice visitado y se avanza desde éste. Si dado un grafo simple G, escogemos un vértice v para iniciar la exploración del grafo
utilizando la búsqueda en profundidad, el árbol que se construye es un árbol generador de la componente conexa del grafo que contiene a
v. Sea G(V, E) un grafo conexo y v un vértice de V. El algoritmo de búsqueda en profundidad puede detallarse así:
1. Se comienza en un vértice v (vértice activo) y se toma como la raíz del árbol generador T que se construirá. Se marca el vértice v.
2. Se elige un vértice u, no marcado, entre los vecinos del vértice activo. Si no existe tal vértice, ir a 4.
3. Se añade la arista (v, u) al árbol T. Se marca el vértice u y se toma como activo. Ir al paso 2.
4. Si se han alcanzado todos los vértices de G el algoritmo termina. En caso contrario, se toma el vértice padre del vértice activo como
nuevo vértice activo y se vuelve al paso 2. La complejidad de este algoritmo es O(max{n, m})
8. BÚSQUEDA SIN INFORMACION DEL DOMINIO (A
CIEGAS)
Hallar un árbol generador para el siguiente grafo aplicando el algoritmo de búsqueda en profundidad.
Si no se tuviera la certeza de que el grafo G es conexo, se necesita
modificar el paso 4 para permitir la búsqueda en las componentes
conexas que no contienen a v. Entonces este algoritmo servirá
también para hallar todas las componentes conexas del grafo G,
mediante la construcción de un árbol generador de cada componente
conexa de G.
11. BÚSQUEDAS INFORMADAS (HEURISTICAS)
BÚSQUEDA PRIMERO EL MEJOR:
ALGORÍTMO ASOCIADO
1.sea L una Lista de nodos iniciales.
2. Sea N el nodo más cercano a la meta (el mejor). Si L está vacía, falla.
3. Si N es la meta. Regrese la trayectoria desde el nodo inicial al nodo N.
4. Si N no es una meta. Buscar los hijos de N, colocarlos en L, etiquetándolos con la trayectoria
desde el nodo inicial. Retorne al paso 2.
17. BÚSQUEDA CON ADVERSARIO
Pasos del algoritmo minimax:
Generación del árbol de juego. Se generarán todos los nodos hasta llegar a un estado terminal.
Cálculo de los valores de la función de utilidad para cada nodo terminal.
Calcular el valor de los nodos superiores a partir del valor de los inferiores. Según nivel si es MAX o MIN se elegirán los alcanza.
En el caso del ajedrez los posibles valores son (+1,0,-1) que se corresponden con ganar, empatar y perder respectivamente. En el
caso del backgammon los posibles valores tendrán un rango de [+192,-192], correspondiéndose con el valor de las fichas. Para
cada juego pueden ser diferentes.
Si minimax se enfrenta con el dilema del prisionero escogerá siempre la opción con la cual maximiza su resultado suponiendo que
el contrincante intenta minimizarlo y hacernos perder.
valores mínimos y máximos representando los movimientos del jugador y del oponente, de ahí el nombre de minimax.
Elegir la jugada valorando los valores que han llegado al nivel superior.
El algoritmo explorará los nodos del árbol asignándoles un valor numérico mediante una función de evaluación, empezando por los
nodos terminales y subiendo hacia la raíz. La función de utilidad definirá lo buena que es la posición para un jugador cuando la
18. BÚSQUEDA CON ADVERSARIO
En el siguiente ejemplo puede verse el funcionamiento de
minimax en un árbol generado para un juego imaginario. Los
posibles valores de la función de utilidad tienen un rango de
[1-9]. En los movimientos del contrincante suponemos que
escogerá los movimientos que minimicen nuestra utilidad, en
nuestros movimientos suponemos que escogeremos los
movimientos que maximizan nuestra utilidad.
El primer paso será calcular los nodos terminales, en
verde. Posteriormente calcularemos el cuarto nivel,
movimiento min, minimizando lo elegido (5, 2 y 1). Después
podremos calcular el tercer nivel, movimiento max,
maximizando la utilidad (5, 9). El segundo nivel es un
movimiento min (5, 3 y 1). Finalmente llegamos al primer
nivel, el movimiento actual, elegiremos el nodo que
maximice nuestra utilidad (5).
19. BÚSQUEDA CON ADVERSARIO
METODO DE PODA
ALGORITMO ASOCIADO Y EJEMPLO:
G(x) es la función de estimación del algoritmo.
P es la pila de posibles soluciones.
esFactible es la función que considera si la propuesta es válida.
esSolución es la función que comprueba si se satisface el objetivo.
óptimo es el valor de la función a optimizar evaluado sobre la mejor
solución encontrada hasta el momento.
NOTA: Usamos un menor que (<) para los problemas
de minimización y un mayor que (>) para problemas
de maximización.