Transcript

Inteligencia artificial

Inteligencia artificialMtodos de Bsqueda Ciega e InformadosTemasMtodos de Bsqueda CiegaAmplitudProfundidadNo determinsticoMtodos InformadosLa funcin EvaluadoraAscenso a la ColinaPrimero el MejorA*Ramificacin y AcotacinMtodos de bsqueda ciegaSon procedimientos de bsqueda del estado meta sobre el rbol de estado.Slo consideran la relacin de precedencia entre estados.No se considera informacin de beneficio o utilidad de pasar de un estado a otro.Mtodos de bsqueda ciegaImplementacin con Listas:

LE Lista de nodos en espera de procesoLV Lista de nodos ya procesadosMtodos de bsqueda ciega: bsqueda en amplitudEl procedimiento consiste en:Iniciar en el nodo raz.Mientras que el nodo no corresponde al nodo metaGenerar nodos sucesores no redundantes a esteTerminar si se encontr el estado meta o no hay ms nodos para verificar.Mtodos de bsqueda ciega: bsqueda en amplitudImplementacin con listas:Se compara el primer elemento de LE

Se registran los sucesores al final de LEPQRQRHijos(P)Mtodos de bsqueda ciega: bsqueda en amplitudAlgoritmo:Inicio1. LE := (Estado_Inicial);2. LV:= ();Test de Parada3. Si (LE = ()) entoncesEscribir (No hay solucin), PARE;4. LISTA := Primer (LE);5. P := Ultimo (LISTA);6. Si (P es meta) entoncesEscribir (Solucin: , P), PARE;Genera Sucesores7. Adiciona_ultimo (P, LV);8. Elimina_primer (LE);9. Para (Nodos (Hijos(P) - LV))W_LISTA := LISTA;Adiciona_ultimo (Nodo, W_LISTA); Adiciona_ultimo(W_LISTA, LE); Fin_Para10. Ir para 3Mtodos de bsqueda ciega: bsqueda en amplitudEjemplo: Determine un camino para a-k

Mtodos de bsqueda ciega: bsqueda en amplitud#LEPLV1((a))a()2((a b) (a d) (a c))b(a)3((a d) (a c) (a b i) (a b h))d(a b)4((a c) (a b i) (a b h) (a d e))c(a b d)5((a b i) (a b h) (a d e) (a c f) (a c g))i(a b d c)6((a b h) (a d e) (a c f) (a c g))h(a b d c)7((a d e) (a c f) (a c g) (a b h k))e(a b d c h)8((a c f) (a c g) (a b h k) (a d e b))f(a b d c h e)9((a c g) (a b h k) (a d e b) (a c f j) g(a b d c h e f)10((a b h k) (a d e b) (a c f j) k(a b d c h e f g)La ruta solucin es a-b-h-kMtodos de bsqueda ciega: Bsqueda en ProfundidadConceptos:HojaNodo del rbol que no tiene sucesores.RamaCamino que inicia en el nodo raz y termina en un nodo hoja.Mtodos de bsqueda ciega: Bsqueda en ProfundidadEl procedimiento consiste en:Buscar por las ramas del rbol de estados.Mientras que en la rama no se encuentra el estado metaGenerar nodos sucesores no redundantes a esteTerminar si se encontr el estado meta o no hay ms ramas para investigar.

Mtodos de bsqueda ciega: bsqueda en profundidadImplementacin con listas:Se compara el primer elemento de LE

Se registran los sucesores al inicio de LEPQRHijos(P)QRMtodos de bsqueda ciega: bsqueda en profundidadAlgoritmo:Inicio1. LE := (Estado_Inicial);2. LV:= ();Test de Parada3. Si (LE = ()) entoncesEscribir (No hay solucin), PARE;4. LISTA := Primer (LE);5. P := Ultimo (LISTA);6. Si (P es meta) entoncesEscribir (Solucin: , P), PARE;Genera Sucesores7. Adiciona_ultimo (P, LV);8. Elimina_primer (LE);9. Para (Nodos (Hijos(P) - LV))W_LISTA := LISTA;Adiciona_ultimo (Nodo, W_LISTA); Adiciona_primero (W_LISTA, LE); Fin_Para10. Ir para 3Mtodos de bsqueda ciega: bsqueda en profundidadEjemplo: Determine un camino para a-k

Mtodos de bsqueda ciega: bsqueda en profundidad#LEPLV1((a))a()2((a b) (a d) (a c))b(a)3((a b i) (a b h) (a d) (a c))i(a b)4((a b h) (a d) (a c))h(a b i)5((a b h k) (a d) (a c))k(a b i h)La ruta solucin es a-b-h-kMtodos de bsqueda ciega: bsqueda No determinsticaEl procedimiento consiste en seleccionar un nodo aleatoriamente de la lista LE.Los nodos sucesores pueden ser colocados tanto al inicio como el final.Mtodos de bsqueda ciega: bsqueda no deterministaAlgoritmo:Inicio1. LE := (Estado_Inicial);2. LV:= ();Test de Parada3. Si (LE = ()) entoncesEscribir (No hay solucin), PARE;4. P := Aleatorio(LE);5. Si (P es meta) entoncesEscribir (Solucin: , P), PARE;Genera Sucesores6. Adiciona_ultimo (P, LV);7. Elimina_Aleatorio(LE);8. Adiciona_inicio (Hijos(P)-LV, LE);9. Ir para 3Mtodos informadosSe aplica un conocimiento al proceso de bsqueda para hacerlo ms eficiente.El conocimiento esta dado por una funcin que estima lo deseable de expandir un nodo.La funcin evaluadoraMapea cada nodo de bsqueda N a un nmero real f(N).Mide la utilidad de la informacin adicional asociado a cada estado.h(N) Funcin Heurstica, costo real del camino mnimo que une N y un nodo objetivo. g(N) costo del camino de mnimo costo que une el nodo inicial y N.f(N) costo del camino de mnimo costo que pasa por N, entre el nodo inicial y un nodo objetivo.

f(N) = h(N) bsqueda Primero el Mejorf(N) = g(N) + h(N)Mtodos informados de bsqueda: Ascenso a la colinaProcedimiento semejante a la bsqueda en profundidad.La diferencia es que los nodos sucesores son ordenados del mejor al peor valor de su funcin de evaluacin antes de adicionarse a la lista LE.Minimizacin menor a mayor valorMaximizacin mayor a menor valor

Implementacin con listas:Se compara el primer elemento de LE

Se registran los sucesores al inicio de LE luego de haberlos ordenado.PQRHijos(P)QRMtodos informados de bsqueda: Ascenso a la colinaMtodos informados de bsqueda: Ascenso a la colinaAlgoritmo:Inicio1. LE := (Estado_Inicial);2. LV:= ();Test de Parada3. Si (LE = ()) entoncesEscribir (No hay solucin), PARE;4. LISTA := Primer o(LE);5. P := Ultimo(LISTA);6. Si (P es meta) entoncesEscribir (Solucin: , P), PARE;

Genera Sucesores7. Adiciona_ultimo (P, LV);8. Elimina_primero (LE);9. Hijos_diferentes := Hijos (P) LV;10. Ordena(Hijos_diferentes);11. Para (Nodo Hijos_diferentes)InicioW_LISTA := LISTA;Adiciona_final(Nodo,W_LISTA);Adiciona_inicio(W_LISTA, LE);Fin_Para12. Ir para 3Mtodos informados de bsqueda: Ascenso a la colinaEjemplo:Considerar el siguiente laberinto, en el cual se puede pasar desde una casilla a cualquiera de las posibles adyacentes (arriba, abajo, izquierda o derecha), salvo si hay una barrera entre ellas:

Se trata de encontrar el camino ms corto para ir desde la casilla I a la casilla F.ABCDEWMNGWPQRTIFMtodos informados de bsqueda: Ascenso a la colinaFuncin de evaluacin:F(n) = Distancia Manhattan a la casilla F

La ruta es I-Q-R-T-K-M-F#LEPLV1((I)-4)(I-4)()2((I Q)-3 (I W)-3 (I G)-5)(Q-3)(I)3((I Q R)-2 (I Q P)-4 (I W)-3 (I G)-5)(R-2)(I Q)4((I Q R T)-1 (I Q P)-4 (I W)-3 (I G)-5)(T-1)(I Q R)5((I Q R T K)-2 (I Q P)-4 (I W)-3 (I G)-5)(K-2)(I Q R T)6((I Q R T K M)-1 (I Q R T K W)-3 (I Q R T K C)-3 (I Q P)-4 (I W)-3 (I G)-5)(M-1)(I Q R T K)7((I Q R T K M F)-0 (I Q R T K M N)-2 (I Q R T K M D)-2 (I Q R T K W)-3 (I Q R T K C)-3 (I Q P)-4 (I W)-3 (I G)-5)(F-0)(I Q R T K M)Mtodos informados de bsqueda:Primero el mejorEn este procedimiento se ordenan los nodos despus de insertarlos a LE.De esta manera el criterio de seleccin es dado por el nodo LE que presenta el mejor valor de la funcin de evaluacin.Mtodos informados de bsqueda:Primero el mejorImplementacin con listas:Se compara el primer elemento de LE

Se registran los sucesores en LE.

Se ordenan los elementos de LE.PQRHijos(P)QRMtodos informados de bsqueda:Primero el mejorAlgoritmo:Inicio1. LE := (Estado_Inicial);2. LV:= ();Test de Parada3. Si (LE = ()) entoncesEscribir (No hay solucin), PARE;4. LISTA := Primer o(LE);5. P := Ultimo(LISTA);6. Si (P es meta) entoncesEscribir (Solucin: , P), PARE;

Genera Sucesores7. Adiciona_ultimo (P, LV);8. Elimina_primero (LE);9. Hijos_diferentes := Hijos (P) LV;10. Para (Nodo Hijos_diferentes)InicioW_LISTA := LISTA;Adiciona_final(Nodo,W_LISTA);Adiciona_inicio(W_LISTA, LE);Fin_Para11. Ordena(LE);12. Ir para 3Mtodos informados de bsqueda:Primero el mejorEjemplo:Considerar el siguiente laberinto, en el cual se puede pasar desde una casilla a cualquiera de las posibles adyacentes (arriba, abajo, izquierda o derecha), salvo si hay una barrera entre ellas:

Se trata de encontrar el camino ms corto para ir desde la casilla I a la casilla F.ABCDEWMNGWPQRTIFMtodos informados de bsqueda:Primero el mejorFuncin de evaluacin:F(n) = Distancia Manhattan a la casilla F

La ruta es I-Q-R-T-K-M-F#LEPLV1((I)-4)(I-4)()2((I Q)-3 (I W)-3 (I G)-5)(Q-3)(I)3((I Q R)-2 (I W)-3 (I Q P)-4 (I G)-5)(R-2)(I Q)4((I Q R T)-1 (I W)-3 (I Q P)-4 (I G)-5)(T-1)(I Q R)5((I Q R T K)-2 (I W)-3 (I Q P)-4 (I G)-5)(K-2)(I Q R T)6((I Q R T K M)-1 (I Q R T K C)-3 (I W)-3 (I Q R T K W)-3 (I Q P)-4 (I G)-5)(M-1)(I Q R T K)7((I Q R T K M F)-0 (I Q R T K M D)-2 (I Q R T K M N)-2 (I Q R T K C)-3 (I W)-3 (I Q R T K W)-3 (I Q P)-4 (I G)-5)(F-0)(I Q R T K M)Mtodos informados de bsqueda: bsqueda a*Se considera la siguiente funcin de evaluacin:f(N) = g(N) + h(N)donde:g(N) = costo de la mejor ruta a N encontrada hasta aquh(N) = funcin heurstica admisible

Mtodos informados de bsqueda: bsqueda a*Ejemplo:Considerar el siguiente laberinto, en el cual se puede pasar desde una casilla a cualquiera de las posibles adyacentes (arriba, abajo, izquierda o derecha), salvo si hay una barrera entre ellas:

Se trata de encontrar el camino ms corto para ir desde la casilla I a la casilla F.ABCDEWMNGWPQRTIFMtodos informados de bsqueda: bsqueda a*Funcin de evaluacin:F(n) = g(n) + h(n)Donde:g(n): Nmero de Casillas que ha avanzadoh(n): Distancia Manhattan a la casilla FMtodos informados de bsqueda: bsqueda a*La ruta es I-W-K-M-F#LEPLV1((I)-4)(I-4)()2((I Q)-4 (I W)-4 (I G)-6)(Q-4)(I)3((I Q R)-4 (I W)-4 (I G)-6 (I Q P)-6)(R-4)(I Q)4((I Q R T)-4 (I W)-4 (I G)-6 (I Q P)-6)(T-4)(I Q R)5((I W)-4 (I G)-6 (I Q R T K)-6 (I Q P)-6)(W-4)(I Q R T)6((I W K)-4 (I G)-6 (I Q R T K)-6 (I Q P)-6)(K-4)(I Q R T W)7((I W K M)-4 (I W K T)-4 (I W K C)-6 (I G)-6 (I Q R T K)-6 (I Q P)-6)(M-4)(I Q R T W K)8((I W K M F)-4 (I W K T)-4 (I W K C)-6 (I W K M D)-6 (I G)-6 (I Q R T K)-6 (I W K M N)-6 (I Q P)-6)(F-4)(I Q R T W K M)Ramificacin y acotacinRamificar:Proceso de generar los nodos sucesores de cierto nodo de un rbol.Criterios de Ramificacin:Primero el mejorFIFOLIFO

Ramificacin y acotacinAcotacinProceso de simplificacin de la bsqueda a travs de la poda de ramas o subrboles que presentan peores soluciones.Actualizacin de la CotaCota del nodo es el valor de la funcin de evaluacin que tiene un nodo ya procesado.Si en la ramificacin se genera un nodo con mejor valor, entonces la cota se actualiza.Ramificacin y acotacinAlgoritmo:Inicio1. LE := (Estado_Inicial); LV:= (Estado_Inicial); Cota(Estado_Inicial) :=0;Test de Parada3. Si (LE = ()) entonces Escribir (No hay solucin), PARE;4. LISTA := Primer o(LE); P := Ultimo(LISTA);5. Si (P es meta) entonces Escribir (Solucin: , P), PARE;Ramificacin y Acota6. Elimina_Mejor(LE);7 Para (Nodo Hijos(P))W_LISTA := LISTA;Si (Nodo LV)Adiciona_final(Nodo,W_LISTA);Adiciona_inicio(W_LISTA, LE);Cota(nodo) := f(W_LISTA);Adiciona_ultimo (Nodo, LV);sinoSi (f(W_LISTA) < Cota(Nodo))Adiciona_final(Nodo,W_LISTA);Adiciona_inicio(W_LISTA, LE);Cota(nodo) := f(W_LISTA);Fin_Si Fin_Para8. Ordena(LE);9. Ir para 2


Top Related