Cuadro comparativo de IA

JerrinsonGarcia 243 views 1 slides Apr 16, 2019
Slide 1
Slide 1 of 1
Slide 1
1

About This Presentation

Cuadro Comparativo de los tipos de busquedas y sus algoritmos


Slide Content

Busqueda Primero es 
el mejor 
La cual trata de expandir el nodo más cercano al objetivo para poder encontrar 
una solución que lo conduzca hacia un estado objetivo, esta búsqueda evalúa 
los nodos mediante una función heurística f(n)=h(n) la cual es un componente 
clave de este tipo de algoritmos. La función
 de evaluación es la encargada de 
devolver los valores de la expansión de los nodos en donde se escoge el nodo 
que posea una mejor evaluación. Un defecto de este tipo de búsqueda es que 
no tiene en cuenta el costo que tendrá n hasta llegar a su objetivo
Algoritmo Asociado
Tipo de Busqueda Definicion Caracteristicas Aplicación Ventajas Desventajas
1.Tratar de expandir el nodo más cercano para conseguir más rápidamente la 
solución.
2.Evalúa los nodos utilizando solo la función heurística.
3.Encuentra la solución sin expandir un nodo que este el camino de solución.
1.Admite costes variables de acciones.
2.Reduce complejidad con buena heurística.
3.Evita visitar demasiados 
caminos inútiles
1.Puede hacernos difundir nodos que no son necesarios
2.Se puede llegar a callejones sin salida,si no se tiene cuidado con los nodos repetidos
3.No es optima y es incompleta
1.Despues de expandir el nodo voy a elegir el mejor nodo hijo es decir el que tenga mejor heuristica
2.Luego va
 empezar su recorrido por el nodo hijo viendo que nodo tiene su mejor heuristica
3. Si al finalizar la ramificacion no encuentra en Nodo (hoja) o Destino aplicara el Backtraking para recorrer otro 
camino.
4.La busqueda Terminara cuando se encuentre el nodo de Inicio y Destino
Es usado en problemas en donde 
las acciones se comportan como si fuesen un 
único camino hacia la solución
Busqueda General en 
Grafos
Se trata de un algoritmo de búsqueda sobre grafos que soluciona el problema 
del camino mínimo (de ahí que también sea conocido como algoritmo de 
caminos mínimos) en grafos de aristas con pesos no negativos
1.Es un algoritmo greddy.
2.Trabaja por etapas, y toma en cada etapa la mejor solución sin considerar 
consecuencias futuras.
3.El óptimo encontrado en una etapa puede modificarse posteriormente si surge una 
solución mejor.
1.Sea V un conjunto de vértices de un grafo.
2.Sea C una matriz de costos de las aristas 
del grafo, donde en C[u,v] se almacena el costo de la arista entre u y v.
3.Sea S un conjunto que contendrá los vértices para los cuales ya se tiene determinado el camino mínimo.
4.Sea D un arreglo unidimensional tal que D[v] es el costo del camino mínimo del vértice origen al
 vértice v.
5.Sea P un arreglo unidimensional tal que P[v] es el vértice predecesor de v en el camino mínimo que se tiene 
construido.
6.Sea vinicial el vértice origen. Recordar que el Algoritmo Dijkstra determina los caminos mínimos que existen 
partiendo de un vértice origen al resto de los vértices.
BUSQUEDAS INFORMADAS (HEURISTICAS)
1.Ocupa muy poco espacio.
2.Si hay una solución, la encuentra siendo esta la más óptima.
3.Evita la generación de nodos repetidos.
1.Expande muchos nodos inútiles.
2.Coste constante y no negativo. Usado para la resolución de problemas en general.
Busqueda Sin Informacion Del Dominio
Algoritmo Asociado
     Sea G = (V, A) un grafo conexo, V’ = V un conjunto de vértices, A’ un 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.
2.Mientras V’ no sea vacío repetir los puntos 3
 y 4. En otro caso parar.
3.Se toma el primer 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 último elemento.
Se elimina de V’.
Se inserta en A’ el arco que 
le une con el vértice activo.
Si el vértice activo no tiene adyacentes se elimina de P.
1.La principal ventaja de esta algoritmo radica en el reducido valor de su 
complejidad espacial. 
2.Cuando existen múltiples soluciones posibles la eficiencia del algoritmo 
aumenta.
1.La dificultad estriba en el tiempo requerido. El algoritmo
 puede dedicarse a recorrer un camino 
demasiado largo que no conduzca a ninguna solución. 
2.Si no se guarda constancia de los nodos que forman el camino recorrido se podría caer en ciclos 
y el proceso no acabaría.  
 3.El problema por tanto es determinar cuál debe ser lp.  Si éste
 es inferior a la longitud real del 
camino de la solución, ésta nunca se encontraría, y si es mucho mayor sería ineficiente. Esta es la 
razón por la que  lp  debería llamarse límite de exploración.
Sea G = (V, A) un grafo conexo, V’ = V  un conjunto de vértice, A’un
 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 último elemento.
Se elimina de V’.
Se inserta en A’ el arco que le une con el vértice activo.
Si el vértice activo no tiene adyacentes se elimina de P.
Desventajas
Se 
refiere en buscar esta vez no por niveles sino según sea el camino que se aya 
elegido recorrerlo hasta que ya no existan mas nodos al final, es decir en 
expandir un único camino desde la raíz hasta el ultimo en esa rama si ya no 
existen mas nodos retrocede y
 selecciona otro camino a los siguientes nodos 
por descubrir.
1.La búsqueda en profundidad no garantiza que se encuentre la solución si el árbol 
tiene ramas infinitas 
2.La complejidad en espacio es lineal en el tamaño del camino que e se está 
explorando.
Es usado en espacios de estados en donde 
las acciones están limitadas.
Esta técnica su fin es recorrer todos los nodos del mismo nivel que de donde se 
encuentra como todo siempre la posición sera el inicio y como final el 
objetivo buscado
1.Si el problema tiene una solución este procedimiento garantiza el 
encontrarla. 
2.Si hubiera varias soluciones se
 obtiene la de menor coste (la óptima), 
es decir, la que requiere un menor número de pasos (si consideramos un 
coste uniforme de aplicación de los operadores).
1.Si el nivel de profundidad asociado a la solución es significativamente menor que el factor 
de ramificación se expandirían demasiados nodos inútilmente. 
2.Por
 otro lado la principal desventaja de este método es el espacio de almacenamiento 
requerido. Esto lo hace prácticamente inviable para problemas complejos, como suelen ser los del 
mundo real.
Busqueda en 
Profundidad
Tipo de Busqueda Definicion Caracteristicas Aplicación Ventajas
Busqueda En Anchura
1.Si el factor de ramificación de todos los nodos es finito, la
búsqueda 
en anchura encuentra una solución (si existe).
2.Además encuentra el camino con menos arcos.
3.La complejidad en tiempo es exponencial en la longitud del camino: bn, con b el 
factor de ramificación y n la longitud del camino.
4.La complejidad en espacio es también exponencial en la longitud del camino: bn.
Es usado en problemas realmente pequeños, en donde el coste de las acciones es 
el mismo para todas
1.No es óptimo porque no consigue la solución más óptima.
1.Necesitamo una variable denominada K ‐> es el factor  maximo  de ramificacion en ese arbol = la cantidad  mayor 
de hijos  que tenga
 un modo
2. A partir  del origen o estado  incial se escoge para el siguiente nivel los k mejores nodos, que cumplan con la 
condicion de tener un padre que haya sido escogido en el nivel anterior
Algoritmo A*
En esta búsqueda se evalúa el nodo sumando al costo de alcanzar el
 nodo, el 
costo estimado de ir al nodo objetivo, esta estrategia deberá cumplir con el 
requisito de nunca sobreestimar el costo de alcanzar el objetivo.
1.Conseguir buenas soluciones (óptimas).
2.Ganar en eficiencia (reduciendo el árbol de búsqueda).1.Soluciones más cercanas a la raíz.1.La función de evaluación se complica
Es usado
 en donde la heurística es admisible, donde el coste de ir al nodo objetivo 
no sobreestime el coste de alcanzar el nodo objetivo.
1.‐ Establecer el nodo s como origen. Hacer f(s)=0, y f(i)=∞ para todos los nodos i diferentes del nodo s. Iniciar el 
conjunto Q vacío.
2.‐ Calcular el 
valor de f(s) y mover el nodo s al conjunto Q .
3.‐ Seleccionar el nodo i del conjunto Q que presente menor valor de la función f(i) y eliminarlo del conjunto Q.
4.‐ Analizar los nodos vecinos j de i. Para cada enlace (i, j) con coste cij hacer:
4.1.‐Calcular:  f(j)’=g(i)+cij  +h(j)
4.2.‐Si f(j)’<f(j),
4.2.1.‐Actualizar la etiqueta de j y su nuevo valor será: f(j)= g(i)+cij +h(i)
4.2.2.‐Insertar el nodo j en Q
4.3.‐Si f(j)’≥f(j)
4.3.1.‐Dejar la etiqueta de j como está, con su valor f(j)
5.‐ Si Q está vacío el algoritmo se termina. Si no está
 vacío, volver al paso 3.
Busqueda en Haz
Pretende acelerar el proceso de búsqueda reduciendo en cada paso del 
algoritmo el número de nodos generados que van a poder ser expandidos.
1.Parte de K estados generados aleatoriamente
2.Genera los hijos de todos los estados
3.Conserva los K estados con mejor valor 
de la función de evaluación heurística
Es aplicado en algoritmos genéticos en donde cada estado sucesor combina dos 
estados padres.
1.Disminuye la cantidad de nodos a generar.
BUSQUEDA CON ADVERSARIOS
Metodo Minimax
Minimax es un método de decisión para minimizar la pérdida máxima esperada 
en juegos con adversario y con información perfecta.
1.Minimax es un algoritmo recursivo.
2.El funcionamiento de Minimax puede resumirse como elegir mejor movimiento 
para ti mismo suponiendo que tu contrincante escogerá el peor para ti. 
Usado ampliamente 
en juegos en donde se necesita saber cuáles son las posibles 
opciones a elegir en una partida.
El algoritmo tiene la capacidad de aprender de su oponente.
1.Cada estado debe ser visitado dos veces: una vez para encontrar sus hijos, y otra para evaluar el 
valor heurístico.
2.Tiende a ser demasiado 
lento.
3.El factor de ramificación es cada vez más profundo.
Para aplicar el algoritmo se requiere:
1.Generar el árbol entero hasta nodos terminales
2.Aplicar función de utilidad a nodos terminales
3.Propagar hacia arriba para generar nuevos valores de utilidad para todos los nodos
4.Elegir jugada con máximo valor de utilidad
1.La eficacia es 
debido a la forma en como examina los sucesores.
2.La poda no afecta el resultado final.
3.Es más eficiente debido a que usa menos variables.
1.Es posible que no consiga una solución aunque exista. Metodo Poda
Es una técnica de búsqueda que reduce el número de nodos evaluados en un 
árbol de
 juego por el algoritmo Minimax. Se trata de una técnica muy utilizada 
en programas de juegos entre adversarios.
1.Se centrán en los nodos en donde se consiga posiblemente la solución.
2.Se abandonara una solución cuando se compruebe que esta es peor que otras ya 
conocidas.
Esta técnica es usada por un
 gran número de problemas NP‐hard, tales como:
Problema de la mochila.
Programación lineal.
Programación no lineal.
Problema del viajante.
Problema de la asignación cuadrática.
Problema de máxima satisfacibilidad (Versión Inglesa).
Búsqueda del vecino más cercano (Versión Inglesa).
Análisis del ruido falso.