Beruflich Dokumente
Kultur Dokumente
3
Temario
1. Introducción
2. Tema
- Subtemas
Agente resolvente de Problemas
-----
Agente resolvente de Problemas
Objetivos
function AGENTE-RESOLVENTE-PROBLEMAS(percepcion)
return accion
datos:
solución # secuencia de acciones (vacía)
estado # el actual del mundo en cada momento
objetivo # estado a alcanzar (nulo)
problema # formulación del problema a resolver
estado ← ACTUALIZAR-ESTADO(percepcion)
if solución.ESTA-VACIO() then
objetivo ← FORMULAR-OBJETIVO(estado)
problema ← FORMULAR-PROBLEMA(estado, objetivo)
solución ← BUSCAR-SOLUCION(problema)
if solucion = fallo then
return accion-nula
accion ← EXTRAER-PRIMERA-ACCION(solucion)
return accion
Definición de Problemas de búsqueda
-----
Definición de Problemas de Búsqueda
Estado Inicial
• Ejemplo:
• Representar el estado:
– Se debe expresar en que cuadrante está la aspiradora.
– Además, se debe saber los cuadrantes que están sucios.
Definición de Problemas de Búsqueda
Acciones
• Ejemplo:
– Acción[1]: Left - ir a la izquierda
– Acción[2]: Right - ir a la derecha
– Acción[3]: Suck - aspirar
Definición de Problemas de Búsqueda
Modelo de Transiciones
• Ejemplo:
• Resultado( , Right) ->
Definición de Problemas de Búsqueda
Función Objetivo
• Ejemplo:
• Sólo estos dos estados devolverán Verdadero en la
función.
Definición de Problemas de Búsqueda
Función Costo del camino
• El puzzle de 8,
consiste en un
tablero 3 × 3 con
mosaicos y un
espacio en blanco.
• Un mosaico
adyacente al espacio
en blanco puede
deslizarse hacia el
espacio en blanco.
• El objetivo es
alcanzar un estado
objetivo especificado,
como el que se
muestra a la derecha
de la figura.
Definición de Problemas de Búsqueda
Ejemplo: Puzzle de 8
• Representar el estado
• Estado Inicial
• Acciones
Definición de Problemas de Búsqueda
Ejemplo: Puzzle de 8
• Modelo de Transición
• El test-objetivo
-----
Tipos de Problemas
Subtema
• Problemas de Juguete
– Ilustran y permite definir y probar algoritmos.
– Definición clara y concisa.
– Se usa para comparar el rendimiento de algoritmos.
– Incluso en los problemas de juguete, muchos algoritmos ya
son intratables.
• Problemas del Mundo Real
– Sus definiciones no son claras, y suelen ser muy complejos.
– Pero son los que la gente está interesada en solucionar.
Espacio de Estados
Definición
• Se compone de:
1. Estado Inicial
2. Acciones
3. Modelo de Transiciones
• Conjunto de estados alcanzables desde estado inicial.
• Se modeliza como un grafo dirigido, los enlaces son las
acciones y los caminos son secuencias de estados y
acciones.
Espacio de Estados
Grafico del Espacio de Estados
• Representación de un problema.
• Cada nodo es un estado y los enlaces son las acciones
realizadas.
• Los objetivos puede ser uno o más estados.
• Cada estado aparece una y sólo una única vez.
• Suele ser demasiado grande para construirlo completo.
• Puede ser infinito.
Espacio de Estados
Grafico del Espacio de Estados
Árbol de búsqueda
-----
Árbol de búsqueda
Subtema
-----
Infraestructura
Nodo
• nodo.ESTADO → estado
• nodo.PADRE → nodo
• nodo.ACCION → acción
• nodo.ACCIONES → lista-acciones
• nodo.COSTO → costo-camino
• g(n): costo del camino.
Tratamiento de estados repetidos
-----
Búsqueda de Soluciones
Tree-Search
frontera.AGREGAR(problema.ESTADO-INICIAL)
loop
if frontera.ESTA-VACIA() then
return fallo
nodo-hoja ← frontera.POP() # Según tipo
if problema.ES-OBJETIVO(nodo-hoja) then
return nodo-hoja
nodos ← nodo-hoja.EXPANDIR(problema)
frontera.AGREGAR(nodos)
Búsqueda de Soluciones
Graph-Search
frontera.AGREGAR(problema.ESTADO-INICIAL)
loop
if frontera.ESTA-VACIA() then
return fallo
nodo-hoja ← frontera.POP() # Según tipo
if problema.ES-OBJETIVO(nodo-hoja) then
return nodo-hoja
explorada.AGREGAR(nodo-hoja.ESTADO)
nodos ← nodo-hoja.EXPANDIR(problema)
foreach nodo in nodos do
if (nodo.ESTADO not in frontera.ESTADOS() &&
nodo.ESTADO not in explorada) then
frontera.AGREGAR(nodo)
Preguntas…
Si, luego del estudio de este material, tienes dudas sobre
alguno de los temas, ingresa al Aula Virtual y participa en el
foro de dudas académicas de la unidad.
Continúa con las actividades
propuestas en la sesión.