Sei sulla pagina 1di 9
32 2.2 PROBIEMAS DE BUSQUEDA. METODOS ‘Com seb indieado antes, en general el problema de bis- ‘queda tiene pr propésito encontrar rutas soluciones- de un ‘estado Ca ofoF, llamado objetivo o fin. Dependierlo del grado de precisi de la solucién requerida, 2° presentar3 casos de busqueda: do obetivos,rutas simples y rulas éptimss Bn el primer caso, alo ae exige determinar si ceisten 0 norutas que parten de C y leyan a F;en el segundo ‘eo, es neourio hallar rutas de C a F, y, en ol wltimo caso, ‘ademas oe myieren que éstas tengan un valor éptimo (maximo ‘0 minimo) oa respect a una funcion dada, Baisten dversos métodos o procedimientos que se utilizan en 1a resolucéede estos problemas, Para buscar objetivos y rutas simples se tinea los métodos de bisqueds ‘@) enyofundidad (o primero en profundidad, b) en.ashura (o primero on anchura), ©) escdmiento dela colina, ya) prigro el mejor para russ dptimas ©) ranfcacin y acotacién Les métas a), by €) se desarrollan en las seeciones si Agvientes, ys rostantos, en Tos ejercicios 4 y 5, See. 23. ‘Problemas de Biaqueda 33 2.2.1 BUSQUEDA EN PROFUNDIDAD Y EN ANCHURA ALGORITMO I (Objetivos) Para determinar si exate una ruta de C a F (estado cbje tivo) se procede ast: (PD) Se forman dos listas de estados COLA y VISITADOS, la primera con el estado Cy la segunda sin estados: oD 18) SiCOLA es vacfa, se indica que no existe ruta ye termina el proceso, D) Si F e¢ igual a P, el primer elemento de COLA, se Indica que existe ruta y se coneluy. ©) Sesuprime P de COLA y se agrega a VISITADOS 4) Se agregan a COLA por la inquierda (busqueda en profundidad), o por la derecha (hisqueda en anchu: ra), los sueesores de P que no pertenezcan a VISITADOS. Lucgo se repite(p2). OBSERVACIONES. 1. Elalgoritmo de bisqueda en profundidad busea a F “descendiendo" a través de estados susesores: En cambio, cuando la busqueda es en anchura, se visi- tan los estados en forma “horizonta’ 2, Modiante la lista de estados VISITADOS ae imide el reingreso a COLA de aquellos estadas que son descen- dientes de s mismos o que forman rutas corradas: Problemas de Bisqueda % elo contrario, en estos estados, el algoritmo se repeti- ria indefinidamente. Si el espacio de bisqueda carece de esta clase de esta os, e8 claro que la lista VISITADOS puede ser omi- tide EJEMPLO1 Aplicando el algoritmo de bisqueda en profundidad de- terminamos si hay una ruta entre los estados a h del espa cio de busqueda definid por el diagrama: ven 66 @9O 38, La siguiente tabla muestra los valores de COLA y ‘VISITADOS al finaizar ls sucesivas aplicaciones del proce: dimiento OLA. ViSITADOS i lo 0 2 [eo ia 3 aco oa) 4 |veeo [ado 6 weno Gd.b.0) 6 lee fab) 7 [aio Bxplicamos algunos pasos PASO 1. Se iniian los valores de las dos listas: COLA con el estado a y VISITADOS, sin elementos. PASO 2. Al comienzo se tiene: COLA =(a) y VISITADOS=( ) ads por el paso anterior. Puesto que A es distinio de a, se desplaza a de COLA a VISITADOS y te asiaden a COLA por la inguierda todos sus sucesores, by ¢, pues ninguno se halla en VISITADOS. Ast, se obtione COLA=(b,<) , VISITADOS =(0) Problemas de Buisqueda 1 PASO 4, Por el pato3: COLA =(d,e,¢) , VISIFADOS =(6,2) Como hes diferente ded se desplaza el estado d VISITADOS y se agrogan a COLA por la izquierda los sucesores fe i, excluyendo al estado a por ha- arse enVISITADOS. Luege: COLA =(f,i,e,¢) , VISITADOS = (6,0) PASO 7. El proceso termina indicando que existe una ruta centre a y h, pues el estado abjetivo h es el primer elemento de COLA. ‘ALGORITMO I (Rutas) El procedimiento para hallar una ruta entre dos estados C {YF otiliza una lista COLA euyos miembros Ry, ..., R, son rutas que parten de C: COLA =(Ry, Ry, Ry) ‘endonde R,=C...P, une C con un estado P, , al que lama- rremos destino de R, Los pasos a seguir son: (pD Se inicin COLA con Ia rata eompuesta tinicamente por el estado C: COLA =(0) {yl sta de estado VISITADOS, sin elementos:

Potrebbero piacerti anche