SC-2150 Inteligencia Artificial - PowerPoint PPT Presentation

About This Presentation
Title:

SC-2150 Inteligencia Artificial

Description:

Title: Inteligencia Artificial Author: M.C. Rolando Rafael Hern ndez Cisneros Last modified by: Usuario Created Date: 2/21/2000 5:17:09 PM Document presentation format – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 79
Provided by: MC160
Category:

less

Transcript and Presenter's Notes

Title: SC-2150 Inteligencia Artificial


1
SC-2150 Inteligencia Artificial
Universidad de Monterrey
  • 2. Procedimientos para la Solución de Problemas

2
2.1 Solución de Problemas Mediante la Búsqueda
  • Objetivo Particular
  • Comprender cómo puede un agente encontrar una
    secuencia de acciones que cumpla sus metas,
    cuando ninguna acción individual lo puede lograr.

3
Introducción
  • Los agentes reflejos sencillos basan sus acciones
    en un mapeo directo de estados a acciones.
  • Dichos agentes no pueden operar bien en ambientes
    en los cuales este mapeo sería demasiado grande
    para almacenar y tomaría demasiado tiempo para
    ser aprendido.
  • Los agentes basados en metas, por otra parte,
    pueden tener éxito considerando acciones futuras
    y deseabilidad de sus salidas.

4
Introducción
  • Un agente para la solución de problemas es un
    tipo de agente basado en metas que determina
    secuencias de acciones que le permiten obtener
    estados deseables.
  • Este tipo de agente utiliza algoritmos no
    informados, en el sentido que no se les
    proporciona otra información sobre el problema
    más que su definición.

5
Agentes que resuelven problemas
  • Los agentes inteligentes deben actuar de manera
    que el entorno experimente una serie de estados
    tales que permitan un máximo de la medida de
    rendimiento.
  • El logro de este objetivo se simplifica cuando el
    agente tiene una meta y se esfuerza por lograrla.

6
Agentes que resuelven problemas
Neamt
Oradea
Iasi
Zerind
Vaslui
Fagaras
Sibiu
ARAD
Rimnicu Vilcea
Urziceni
Timisoara
Pitesti
Lugoj
Hirsova
BUCHAREST
Mehadia
Giurgiu
Eforie
Craiova
Dobreta
7
Agentes que resuelven problemas
  • La formulación de metas es el primer paso para la
    resolución de problemas.
  • Se considera que las metas son conjuntos de
    estados del mundo solo aquellos que permiten el
    logro de la meta.
  • Se puede considerar que las acciones son las
    causantes de la transición entre uno y otro
    estado del mundo.

8
Agentes que resuelven problemas
  • La formulación de un problema es el procesos que
    consiste en decidir qué acciones y estados habrán
    de considerarse y es el paso que sigue a la
    formulación de metas.
  • Para el problema del viaje a través de Rumania,
    se considera una estado el estar en una ciudad
    determinada, y como acción, el traslado de una
    ciudad a otra.

9
Agentes que resuelven problemas
  • Cuando un agente tiene ante sí diversas opciones
    inmediatas cuyo valor ignora, para decidir lo que
    debe hacer primero tiene que evaluar las diversas
    secuencias de acciones posibles que le conducen a
    estados cuyo valor se conoce, y luego decidirse
    por la mejor. A este proceso se le conoce como
    búsqueda.
  • Una vez encontrada una solución, se procede a
    ejecutar las acciones que ésta recomienda. A la
    anterior se le denomina fase de ejecución.

10
Agentes que resuelven problemas
  • Función Agente-sencillo-para-la-solución-de-proble
    mas (p) responde con una acción
  • entradas p, una percepción
  • estática s, una secuencia de acciones
    originalmente
  • vacía.
  • estado, una descripción del estado actual del
  • mundo.
  • g, una meta, originalmente nula.
  • problema, la formulación de un problema
  • estado ? Actualizar-estado (estado, p)
  • si s está vacío entonces
  • g ? Formular-meta (estado)
  • problema ? Formular-el-problema (estado, g)
  • s ? Buscar (problema)
  • acción ? Recomendación (s, estado)
  • s ? Resto (s, estado)
  • responder con acción

11
Agentes que resuelven problemas
  • El agente recien descrito asume que el ambiente
    es
  • Estático (formular y resolver el problema se hace
    sin poner atención a los cambios que podrían
    ocurrir en el ambiente).
  • Observable (asume que el estado inicial es
    conocido).
  • Discreto (se pueden enumerar cursos alternativos
    de acción).
  • Determinístico (Las soluciones a los problemas
    son simples secuencias de acciones, no se pueden
    manejar eventos inesperados).

12
Problemas bien definidos y soluciones
  • Un problema es un conjunto de información que el
    agente utiliza para decidir lo que va a hacer.
  • Los elementos básicos para definir un problema
    son
  • Estado Inicial
  • Operadores
  • Prueba de Meta
  • Costo de Ruta

13
Problemas bien definidos y soluciones
  • Los operadores son las posibles acciones que el
    agente puede emprender. La formulación mas común
    usa una función de sucesor. Dado un estado
    particular x, SUCCESOR-FN(x) regresa un conjunto
    de pares ordenados ltacción, sucesorgt
  • SUCCESOR-FN(En(Arad)) Z
  • ltIr_a(Sibiu),En(Sibiu)gt, ltIr_a(Timisoara),En(Tim
    isoara)gt, ltIr_a(Zerind),En(Zerind)gt
  • Lo anterior define el espacio de estados, que es
    el conjunto de todos los estados que pueden
    alcanzarse a partir del estado inicial, mediante
    una secuencia de operadores.

14
Problemas bien definidos y soluciones
  • Una ruta en el espacio de estados es una
    secuencia de acciones que permite pasar de un
    estado a otro.

15
Problemas bien definidos y soluciones
  • La prueba de meta es la que el agente aplica a la
    descripción de un solo estado para decidir si se
    trata de un estado meta. A veces se compara el
    estado actual con un conjunto de estados meta, y
    otras, se busca una propiedad.
  • El costo de ruta es una función mediante la que
    se asigna un costo a una ruta determinada. El
    costo total es la suma de todos los costos de
    cada una de las acciones individuales a lo largo
    de una ruta. Se denota como g.

16
Problemas bien definidos y soluciones
  • El costo de paso de tomar la acción a para ir del
    estado x al estado y se denota por c(x,a,y).
  • Los costos de paso para el problema de Rumania
    son las distancias de ruta. Se asumirá que los
    costos de paso son no negativos.

17
Problemas bien definidos y soluciones
  • El estado inicial, los operadores, la prueba de
    meta y el costo de ruta son entradas para los
    algoritmos de búsqueda. Su salida se denomina
    solución, una ruta que va del estado final a
    algún estado que cumpla la prueba de meta. Una
    solución óptima tiene el menor costo de ruta de
    todas las soluciones
  • Para problemas de estado múltiple, existe un
    conjunto de estados iniciales, desde los cuales
    se puede llegar a otro conjunto de estados. Se
    tiene un espacio de conjuntos de estados.

18
Formulación de problemas
  • El verdadero arte de la solución de problemas
    consiste en saber qué decidir qué es lo que
    servirá para describir estados y operadores y qué
    no.
  • El proceso de eliminación de detalles de una
    representación se denomina abstracción.

19
Problemas de Ejemplo
  • El enfoque de solución de problemas se ha
    aplicado a una amplia gama de ambientes de
    trabajo. Estos se pueden clasificar en
  • Problemas de juguete
  • Empleados para ejemplificar o ejercitar métodos
    para la solución de problemas. Su naturaleza
    permite describirlos de manera concisa y exacta.
  • Problemas del mundo real
  • Tienden a ser más difíciles, su solución es
    importante para alguien. Tienden a no tener una
    sola caracterización que goce de consenso

20
Problemas de EjemploProblemas de Juguete
  • Problema del mundo de la aspiradora
  • En este mundo hay dos posibles ubicaciones.
  • En ellas puede o no haber mugre.
  • El agente se encuentra en una de las dos
  • El mundo puede asumir ocho posibles estados
  • Son tres las acciones posibles A la izquierda, A
    la derecha y Aspirar.
  • Se puede suponer que la eficiencia del aspirado
    es 100
  • La meta es eliminar toda la mugre.

21
Problemas de EjemploProblemas de Juguete
  • Problema del mundo de la aspiradora

22
Problemas de EjemploProblemas de Juguete
  • Problema del mundo de la aspiradora
  • Estados El agente está en una de dos
    ubicaciones, cada una de las cuales puede o no
    contener mugre. Por lo tanto, puede haber 2 x 22
    8 estados posibles del mundo.
  • Estado inicial Cualquier estado puede ser
    designado como estado inicial.
  • Función de sucesor Esto genera los estados
    legales que resultan de intentar las tres
    acciones (izquierda, derecha y aspirar).
  • Prueba de Meta Esto revisa si las dos
    ubicaciones están limpias.
  • Costo de ruta Cada paso cuesta 1, así el costo
    de ruta es el número de pasos en la ruta.

23
Problemas de EjemploProblemas de Juguete
1
2
3
4
5
6
7
8
24
Problemas de EjemploProblemas de Juguete
  • El juego de las ocho fichas

25
Problemas de EjemploProblemas de Juguete
  • El juego de las ocho fichas
  • Estados Ubicación de cada una de las ocho placas
    en los nueve cuadrados. Conviene incluir la
    ubicación del espacio vacío.
  • Estado inicial Cualquier estado puede ser
    designado como estado inicial. Note que cualquier
    meta dada puede ser alcanzada desde exactamente
    la mitad de los estados iniciales posibles.
  • Función de sucesor Esta genera los estados
    legales que resultan de intentar las cuatro
    acciones (el espacio vacío puede moverse a la
    izquierda, derecha, arriba y abajo).
  • Prueba de meta Verifica que el estado actual
    coincida con un estado predefinido previamente
    como estado final.
  • Costo de ruta Cada paso cuesta 1, así que el
    costo de la ruta corresponde a la longitud de la
    ruta.

26
Problemas de EjemploProblemas de Juguete
  • El juego de las ocho fichas
  • Abstracciones Se ignoran las ubicaciones
    intermedias cuando la ficha se está deslizando,
    si se tiene que sacudir el tablero cuando las
    piezas se atoran, o si se extraen las piezas con
    un cuchillo y se colocan de nuevo en orden.
  • El juego de las ocho fichas pertenece a la
    familia de rompecabezas de piezas deslizantes,
    los cuales son a menudo usados como problemas de
    prueba para nuevos algoritmos de IA.
  • Esta clase general es del tipo NP-completo.
  • El juego de las ocho fichas tiene 9!/2 181,440
    estados alcanzables y es fácilmente solucionado.

27
Problemas de EjemploProblemas de Juguete
  • EL problema de las ocho reinas

28
Problemas de EjemploProblemas de Juguete
  • El problema de las ocho reinas
  • Estados cualquier disposición que tenga de 0 a 8
    reinas en el tablero.
  • Estado inicial ninguna reina en el tablero.
  • Función de sucesor añadir una reina a un cuadro
    vacío.
  • Prueba de meta 8 reinas en el tablero, ninguna
    con posibilidad de atacar.
  • Costo de ruta cero

29
Problemas de EjemploProblemas de Juguete
  • El problema de las ocho reinas (otras
    formulaciones)
  • Formulación 2
  • Estados Disposiciones de 0 a 8 reinas, sin que
    se pueda atacar ninguna de ellas
  • Función de Sucesor Poner una reina en la columna
    vacía del extremo izquierdo de manera que ninguna
    otra reina la pueda atacar.
  • Formulación 3
  • Estados Disposiciones de 8 reinas, una en cada
    columna.
  • Función de sucesor Cambiar las reinas que puedan
    ser atacadas a otro cuadro de la misma columna.

30
Problemas de EjemploProblemas de Juguete
  • Criptoaritmética

FORTY TEN TEN --------- SIXTY
2976 850 850 --------- 31486
31
Problemas de EjemploProblemas de Juguete
  • Criptoaritmética
  • Estados Un problema de criptoaritmética en el
    que algunas letras están reemplazadas con
    dígitos.
  • Estado inicial Ninguna letra ha sido reemplazada
    por algún dígito.
  • Función de sucesor Reemplazar todas las veces
    que aparezca una letra con un dígito que no haya
    aparecido en el problema.
  • Prueba de meta Si en el problema sólo hay
    dígitos y representan una suma correcta
  • Costo de la ruta Cero. Todas las soluciones son
    igualmente válidas.

32
Problemas de EjemploProblemas de Juguete
  • Misioneros y Caníbales
  • 3 misioneros y tres caníbales salen a pasear a la
    selva, y necesitan cruzar el río. Hay un bote,
    pero este sólo puede llevar a una o dos personas.
    Encuentre la manera de cruzar a todos, evitando
    que el número de caníbales sea superior al número
    de misioneros.
  • Cuáles son los Estados, Estado inicial, Función
    de Sucesor, Prueba de Meta, Costo de Ruta?

33
Problemas de EjemploProblemas de Juguete
  • El problema de la jarra de agua
  • Supón que tienes 2 tarros, uno de 4 galones, y
    otro de 3. Y no tienen ninguna marca de medición
    en éstos. Hay una bomba que puede ser usada para
    llenar los tarros con agua. Cómo se puede llenar
    con exactamente 2 galones de agua, el tarro de 4
    galones?
  • Cuáles son los Estados, Estado inicial, Función
    de Sucesor, Prueba de Meta, Costo de Ruta?

34
Problemas de EjemploProblemas Reales
  • Determinación de una ruta
  • Consiste en definir una ruta en función de la
    especificación de ubicaciones y las transiciones
    mediante los vínculos que relacionan una y otra
    ubicación.
  • Los algoritmos que resuelven estos problemas se
    usan en ruteo de redes de cómputo, sistemas
    automatizados de asesores de viajes, sistemas
    para planificación de viajes aéreos,
    bonificaciones a viajeros frecuentes, etc.

35
Problemas de EjemploProblemas Reales
  • Determinación de una ruta
  • Problema de determinar una ruta aérea
  • Estados Cada uno es representado por un
    aeropuerto y la hora actual.
  • Estado inicial Es especificado por el problema.
  • Función de sucesor Regresa los estados
    resultantes de tomar cualquier vuelo programado,
    que sale después de la hora actual, más el tiempo
    de vuelo entre aeropuertos, desde el aeropuerto
    actual a otro.
  • Prueba de meta Verifica si estamos en el destino
    a una hora pre-especificada.
  • Costo de ruta Depende del costo monetario, el
    tiempo de espera, el tiempo de vuelo,
    procedimientos de migración, calidad de asiento,
    hora del día, tipo de avión, bonificaciones por
    viajes frecuentes, etc.

36
Problemas de EjemploProblemas Reales
  • Problema del agente viajero
  • Visitar todas las ciudades importantes de
    Rumania por lo menos una vez, comenzando y
    terminando en Bucarest
  • Este problema es un Touring Problem requiere
    más información sobre el espacio de estados.
    Además de la ubicación del agente, un registro de
    las ciudades visitadas.
  • La prueba de meta consistiría en verificar si el
    agente está en Bucarest y se han visitado todas
    las ciudades UNA SOLA VEZ.
  • El objetivo es determinar cuál es el recorrido
    más corto, es un problema de complejidad NP.
  • Los algoritmos que lo resuelven también se
    aplican para tareas tales como planeación de
    movimientos de taladros automáticos para
    circuitos impresos.

37
Problemas de EjemploProblemas Reales
  • Distribución de componentes en circuitos VLSI
  • Es una de las tareas más complejas de diseño en
    la ingeniería actual.
  • El objetivo es colocar los miles de compuertas
    del circuito integrado de tal manera que no se
    encimen y ocupando un mínimo de área y de
    longitud de conexiones, con el fin de obtener un
    máximo de velocidad.

38
Problemas de EjemploProblemas Reales
  • Navegación de robots
  • Es una generalización del problema de la
    determinación de ruta en vez de hacerlo en un
    espacio discreto, ahora es continuo.
  • Las acciones y estados posibles son (en
    principio) infinitos.
  • Este problema puede ser bi o tridimensional.

39
Problemas de EjemploProblemas Reales
  • Secuencia de ensamble
  • En este problema, la dificultad radica en
    determinar la secuencia adecuada para el ensamble
    de las partes de un objeto determinado.
  • Si se elige un orden equivocado, algunas partes
    ya no se podrán agregar.

40
Problemas de EjemploProblemas Reales
  • Secuencia de ensamble
  • En este problema, la dificultad radica en
    determinar la secuencia adecuada para el ensamble
    de las partes de un objeto determinado.
  • Si se elige un orden equivocado, algunas partes
    ya no se podrán agregar.

41
Problemas de EjemploProblemas Reales
  • Búsqueda en Internet
  • En años recientes se ha incrementado la demanda
    por robots de software que busquen en Internet
    por respuestas a preguntas, información
    relacionada, o para opciones de compra.
  • Ésta es una buena aplicación para técnicas de
    búsqueda, porque es fácil conceptualizar la
    Internet como un grafo con nodos (páginas)
    conectadas por enlaces.

42
Búsqueda de Soluciones
  • Después de definir un problema e identificar una
    solución, se prosigue con la búsqueda de la
    solución.
  • La búsqueda se hace en el espacio de estados, y
    la idea es mantener y ampliar un conjunto de
    secuencias de solución parciales.

43
Generación de secuencias de acciones
  • Primero, conviene evaluar el estado inicial para
    determinar si es un estado meta.
  • Al aplicar los operadores a un estado
    determinado, se genera un conjunto de estados.
  • Al proceso anterior se le llama expansión del
    estado.

44
Generación de secuencias de acciones
  • Si hay varios estados que se pueden expandir, la
    elección del que se expanderá primero se hace con
    una estrategia de búsqueda.
  • Conviene concebir el proceso de búsqueda como la
    construcción de un árbol de búsqueda sobrepuesto
    al espacio de estados.

45
Generación de secuencias de acciones
  • La raíz del árbol de búsqueda es el nodo de
    búsqueda y corresponde al estado inicial
  • Los nodos hoja del árbol de búsqueda o no tienen
    sucesores o no se han expandido, o al expandirlos
    generaron un conjunto vacío

46
Generación de secuencias de acciones
  • Estado inicial

Arad
47
Generación de secuencias de acciones
  • Después de expandir Arad

Arad
Timisoara
Sibiu
Zerind
48
Generación de secuencias de acciones
  • Después de expandir Sibiu

Arad
Timisoara
Sibiu
Zerind
Arad
Fagaras
Oradea
Rimnicu Vilcea
49
Algoritmo General de Búsqueda
  • Función búsqueda-general (problema, estrategia)
    produce una
  • solución, o falla
  • inicializa el árbol de búsqueda empleando el
    estado inicial del
  • problema
  • ciclo hacer
  • si no hay candidatos para la expansión,
    responder con
  • falla
  • escoger un nodo hoja para hacer la expansión,
    de confor-
  • midad con la estrategia
  • si el nodo contiene un estado meta, responder
    con la
  • solución respectiva
  • o bien expanda el nodo y añada los nodos
    resultantes al
  • árbol de búsqueda
  • fin

50
Estructuras de datos para los árboles de búsqueda
  • Un nodo es una estructura de datos con cinco
    componentes
  • El estado en el espacio de estados al que
    corresponda el nodo
  • El nodo del árbol de búsqueda que generó este
    nodo (nodo padre)
  • El operador que se aplicó al generar el nodo
  • Cuántos nodos de la ruta hay desde la raíz hasta
    dicho nodo (profundidad)
  • El costo de la ruta desde el estado inicial al
    nodo

51
Estructuras de datos para los árboles de búsqueda
  • El margen o frontera es el grupo de nodos que
    están en espera de ser expandidos.
  • Este grupo de nodos se puede implantar como una
    lista de espera, con operaciones como
  • Hacer-lista-espera (elementos)
  • Está vacía? (lista de espera)
  • Quitar-primero (lista de espera)
  • Poner-en-lista (elementos, lista de espera)

52
Algoritmo General de Búsqueda
  • Función búsqueda-general (problema,
    Función-lista-de-espera)
  • produce una solución, o falla
  • nodos ? Hacer-lista-de-espera (Hacer-nodo(Estado-
    inicialproblema))
  • ciclo hacer
  • si nodos está vacío, contestar con falla
  • nodo ? Quitar-primero (nodos)
  • si Prueba-Metaproblema se aplica a
    Estado(nodo) y se
  • tiene éxito, contestar con nodo
  • nodos ? Función-lista-de-espera(nodos,
  • Expandir(nodo, Operadoresproblema))
  • fin

53
Estrategias de búsqueda
  • Las estrategias se evalúan de acuerdo a su
  • Completez
  • La estrategia garantiza encontrar una solución,
    si ésta existe?
  • Complejidad temporal
  • Cuánto tiempo se necesitará para encontrar una
    solución?
  • Complejidad espacial
  • Cuánta memoria se necesita para efectuar la
    búsqueda?
  • Optimalidad
  • Con esta estrategia se encontrará una solución
    de la más alta calidad, si hay varias soluciones?

54
Estrategias de búsqueda no informada
  • No existe información sobre la cantidad de
    estados intermedios o el costo de ruta para pasar
    del estado actual a la meta.
  • Sólo se sabe distinguir si estamos en el estado
    meta o no
  • A esta búsqueda se le conoce también como
    búsqueda ciega

55
Estrategias de búsqueda no informada
  • Búsqueda preferente por amplitud
  • Búsqueda de costo uniforme
  • Búsqueda preferente por profundidad
  • Búsqueda limitada por profundidad
  • Búsqueda por profundización iterativa
  • Búsqueda bidireccional

56
Búsqueda preferente por amplitud
  • En este caso, primero se expande el nodo raíz y
    luego todos los nodos generados por éste, luego
    sus sucesores y así sucesivamente.
  • Todos los nodos que están a profundidad d se
    expanden antes que los nodos con profundidad d1.

57
Búsqueda preferente por amplitud
  • Función Búsqueda-preferente-por-amplitud(problema)
    responde
  • con solución o falla
  • responde con Búsqueda-general (problema,
    Lista-de-espera-
  • al-final)

58
Búsqueda preferente por amplitud
  • Si hay solución, es seguro que se encontrará
    mediante la búsqueda preferente por amplitud.
  • Si son varias soluciones, siempre encontrará
    primero el estado de meta más próximo (menos
    profundidad, más a la izquierda).
  • La búsqueda preferente por amplitud es completa y
    óptima siempre y cuando el costo de ruta sea una
    función que no disminuya al aumentar la
    profundidad del nodo.

59
Búsqueda preferente por amplitud
  • Si b es el factor de ramificación de los estados,
    y la solución está a una profundidad d, entonces
    la cantidad máxima de nodos expandidos antes de
    encontrar la solución es
  • 1 b b2 b3 ... bd (bd1 b)
  • La complejidad de este algoritmo es O(bd1).

60
Búsqueda preferente por amplitud
  • Si b10, se analizan 10,000 nodos por segundo y
    cada nodo requiere 1000 bytes de almacenamiento

Profundidad Nodos Tiempo Memoria
2 1100 .11 segundos 1 Megabyte
4 111,100 11 segundos 106 Megabytes
6 107 19 minutos 10 Gigabytes
8 109 31 horas 1 Terabyte
10 1011 129 días 101 Terabyte
12 1013 35 años 10 Petabytes
14 1015 3523 años 1 Exabyte
61
Búsqueda de costo uniforme
  • Con la búsqueda anterior no siempre se encuentra
    la solución de costo de ruta mínimo.
  • La búsqueda de costo uniforme expande siempre el
    nodo de menor costo en el margen, medido por el
    costo de ruta g(n) en vez del nodo de menor
    profundidad.
  • Si se cumplen ciertas condiciones, es seguro que
    la primera solución encontrada será la más barata.

62
Búsqueda de costo uniforme
A
S
0
Frontera
1
10
B
5
5
S
G
S es el único nodo en la frontera (nodos
pendientes por expandir). Debido a que no es la
meta, se procede a su expansión...
15
5
C
NOTA NO SE GENERARÁN NUEVAMENTELOS ESTADOS
ANALIZADOS PREVIAMENTE
63
Búsqueda de costo uniforme
A
S
0
1
10
B
5
5
S
G
A
15
5
C
B
15
1
5
C
Frontera
Hay 3 nodos en la frontera (A, B y C), y se elige
el de menor costo de ruta (A). Como no es una
meta, se procede a su expansión...
64
Búsqueda de costo uniforme
A
S
0
1
10
B
5
5
S
G
A
15
5
C
B
15
5
C
Frontera
G
11
Hay 3 nodos en la frontera (G, B y C), de los
cuales B es el que tiene el menor costo de ruta,
por lo que se procede a expandirlo. Note que
aunque ya hay una solución en la fron- Tera (G),
el algoritmo la ignora porque la rama S-B tiene
posibili- dades de encontrar una solución mejor
que S-A-G.
65
Búsqueda de costo uniforme
A
S
0
1
10
B
5
5
S
G
A
15
5
C
B
15
C
Frontera
G
G
11
10
Hay 3 nodos en la frontera (G, G y C), de los
cuales el segundo G es el que tiene el menor
costo de ruta, por lo que se procede a
expandirlo. En ese momento se detecta que es una
solución (sólo genera nodos ya analizados) y la
búsqueda termina. Note que hay dos nodos (las dos
Gs en la frontera) que representan a un
mismo estado, y que el algoritmo ni siquiera
intenta expandir C, que no tiene posibilidades
de llevar a una mejor solución (S-C ya tiene
un costo de 15).
66
Búsqueda de costo uniforme
  • Este método puede encontrar la solución más
    barata siempre y cuando se satisfaga un requisito
    sencillo el costo de ruta nunca debe ir
    disminuyendo conforme avanzamos por la ruta, es
    decir, g(Sucesor(n)) ? g(n) para todos los nodos
    n.

67
Búsqueda preferente por profundidad
  • En esta búsqueda siempre se expande uno de los
    nodos que se encuentre en lo más profundo del
    árbol.
  • Sólo si la búsqueda conduce a un callejón sin
    salida (un nodo que no es meta y que no tiene
    expansión), se revierte la búsqueda y se expanden
    los nodos de niveles menos profundos.
  • Lo anterior se logra mediante el algoritmo de
    Búsqueda-General, con una función de lista de
    espera que ponga los estados recién generados al
    principio de la lista.

68
Búsqueda preferente por profundidad
  • Función Búsqueda-preferente-por-profundidad(proble
    ma) responde con solución o falla
  • responde con Búsqueda-general (problema,
    Lista-de-espera-
  • al-principio)

69
Búsqueda preferente por profundidad
NOTA Se supone que el factor de ramificación es
2 y que los nodos de nivel 3 no tienen sucesores.
70
Búsqueda preferente por profundidad
  • Sólo es necesario guardar la ruta que va del nodo
    raíz al nodo hoja, junto con los nodos restantes
    no expandidos, por cada nodo de la ruta.
  • Si un espacio de estados tiene factor de
    ramificación b y profundidad máxima m, se
    requieren almacenar bm nodos.
  • La complejidad temporal es de O(bm).

71
Búsqueda preferente por profundidad
  • Si la cantidad de soluciones en un problema es
    grande, se recomienda esta búsqueda (BPPP) sobre
    la búsqueda preferente por amplitud (BPPA).
  • La desventaja de esta búsqueda es que se puede
    quedar estancada al avanzar por una ruta
    equivocada, ya que muchos árboles de búsqueda
    pueden ser muy profundos o infinitos. Por lo
    tanto, la BPPP no es ni la mas completa ni la más
    óptima.

72
Búsqueda limitada por profundidad
  • Con esta búsqueda se eliminan las dificultades de
    la búsqueda preferente por profundidad, al
    imponer un límite a la profundidad máxima de una
    ruta.
  • El establecer este límite es difícil, ya que no
    conocemos mucho sobre el espacio de estados.
  • La búsqueda limitada puede no ser completa ni
    óptima un límite de profundidad muy pequeño
    puede que no contenga la solución, y uno muy
    grande puede que contenga soluciones no óptimas
    que son encontradas primero.
  • La complejidad espacio-temporal de la búsqueda
    limitada por profundidad es similar a la de la
    búsqueda preferente por profundidad requiere un
    tiempo de O(bl) y un espacio O(bl), donde l es
    el límite de profundidad.

73
Búsqueda por profundización iterativa
  • Elimina la dificultad de elegir un límite
    adecuado de profundidad en la búsqueda limitada
    por profundidad.
  • Lo anterior lo hace probando todos los límites de
    profundidad posibles, primero la profundidad 0,
    luego la 1, luego la 2, etc.
  • En la profundización iterativa se combinan las
    ventajas de las búsquedas preferente por
    profundidad y preferente por amplitud. Es óptima
    y completa, como la búsqueda preferente por
    amplitud, pero la memoria que necesita es la de
    la búsqueda preferente por profundidad.

74
Búsqueda por profundización iterativa
  • Función Búsqueda-por-profundización-iterativa(prob
    lema) responde con una secuencia de solución.
  • entradas problema, un problema.
  • para profundidad ? 0 a ? hacer
  • si Búsqueda-limitada-por-profundidad(problema,
  • profundidad) tiene éxito, entregue el
  • resultado obtenido
  • fin-para
  • responda con falla

75
Búsqueda por profundización iterativa
Límite 0
Límite 1
Límite 2
Límite 3
...
76
Búsqueda por profundización iterativa
  • La búsqueda por profundización iterativa puede
    parecer un desperdicio, por repetir expansiones
    de estados, pero en la mayoría de los problemas
    esta expansión múltiple es realmente pequeña.
  • La complejidad temporal sigue siendo O(bd) y la
    complejidad espacial es O(bd).
  • La profundización iterativa es el método idóneo
    para aquellos casos donde el espacio de búsqueda
    es grande y se ignora la profundidad de la
    solución.

77
Búsqueda bidireccional
  • Es básicamente una búsqueda simultánea que avanza
    a partir del estado inicial y que retrocede a
    partir de la meta y que se detiene cuando ambas
    búsquedas se encuentran en algún punto
    intermedio.
  • Si en un problema el factor de ramificación b es
    el mismo en ambas direcciones, la búsqueda
    bidireccional puede ser muy útil. Si la solución
    está a profundidad d, entonces la solución estará
    a O(2bd/2) O(bd/2) pasos

78
Búsqueda bidireccional
  • Cuestiones a resolver
  • La búsqueda hacia atrás implica la sucesiva
    generación de predecesores a partir del nodo
    meta.
  • Si todos los operadores son reversibles, los
    conjuntos de predecesor y sucesor son idénticos,
    pero en algunos problemas, el cálculo de los
    predecesores puede resultar muy difícil.
  • Si hay varios estados meta listados en forma
    explícita, se puede aplicar una función de
    predecesor al conjunto de estados como en el caso
    de la búsqueda de estado múltiple. Pero si sólo
    hay una descripción de los estados meta, es
    realmente difícil (qué estados son predecesores
    del jaque mate en ajedrez?)
  • Se requiere una manera eficiente de verificar
    cada uno de los nodos nuevos para ver si ya están
    en el otro árbol.
  • Se tiene que definir un tipo de búsqueda para
    cada mitad. Amplitud amplitud, amplitud
    profundidad, etc. La complejidad espacial es
    igual a la temporal para esta búsqueda.
Write a Comment
User Comments (0)
About PowerShow.com