Planeación En planeación, dada una descripción del mundo, una situación inicial y una situación deseada, la meta es hallar una secuencia de acciones.

Slides:



Advertisements
Presentaciones similares
Representación del conocimiento
Advertisements

Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Ejemplo La empresa Producciones Valencianas, en el análisis de sus operaciones del último trimestre, muestra una disminución de la producción en comparación.
INVESTIGACION DE OPERACIONES I
Algoritmos Voraces.
funciones Por: Carlos Alberto García Acosta
NUMERO DE CONTROL: NOMBRE DEL TRABAJO: MAPA CONCEPTUAL
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
Grupo 4 Matías Melgar Pablo Carbonell
Analisis deAlgoritmos
INVESTIGACIÓN DESCRIPTIVA
A Theory of Action for MultiAgent Planning Michael Georgeff.
Ciclo de desarrollo del software
Tema 1: Programación dinámica
Son problemas secuenciales: El problema se puede dividir en etapas. Definición: Método que permite determinar de manera eficiente las decisiones que optimizan.
Tipo de Dato Abstracto Tipos de datos:
Unidad académica: Ingenierías
Representación en espacio de estado
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Programación 1 Introducción
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
PROBLEMA DE INVESTIGACION
Complejidad Problemas NP-Completos
Sesión 12: Procesos de Decisión de Markov
Explorar y conocer la técnica de Verificación De Modelos (Model Checking) con la finalidad de poder validar los Modelos de Casos de Uso y así poder ampliar.
AED I. Estructuras de Datos.
GRAFOS HUGO ARAYA CARRASCO.
Teoria de grafos.-clase 4
La Derivada. Ya vimos: los conceptos, métodos ó instrumentos necesarios para establecer el “comportamiento” de una función.  en un entorno de x o [ 
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Universidad de los Andes-CODENSA
I n s t i t u t o T e c n o l ó g i c o d e T e c n o l ó g i c o d e V i l l a h e r m o s a ING. EN SISTEMAS CATEDRATICO: I.I. Zinath Javier Gerónimo.
Solución de problemas por Búsqueda
Problemas de Decisión y Optimización
Estructura de Datos y Algoritmos
Representación de Señales y Ruido por medio de Series Ortogonales
Sesión 12: Procesos de Decisión de Markov. Incertidumbre - MDP, L.E. Sucar2 Procesos de Decisión de Markov Procesos de Decisión Secuenciales Procesos.
Diseño y análisis de algoritmos
(Organización y Manejo de Archivos)
Parte II. Algorítmica. 3. Algoritmos voraces.
5.3 APROXIMACIONES AL DISEÑO
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
INVESTIGACION DE OPERACIONES
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Toma de Decisiones Toda toma de decisión empieza con la detección de un problema. Para tomar la decisión correcta, se debe: Definir el problema en forma.
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad.
Parte I. Estructuras de Datos.
I. Complejidad de Problemas
Ingeniería de software
Sistemas, Procesos y Modelos
Parte I. Estructuras de Datos.
Tema 10: Algoritmos voraces
Agustín J. González ELO320: Estructura de Datos y Algoritmos
BUSQUEDA EN UN ESPACIO DE ESTADOS.
Instituto Tecnológico De Villahermosa Alumno: Lázaro García Hernández.
Mejora Continua.
Escuela de Ciencias Basicas, Tecnología e Ingeniería
Metodología de la programación
ANALISIS DE REDES Problema de Transporte Método de la esquina Noroeste
Microsoft Office Project INTRODUCCIÓN A LA GESTIÓN DE PROYECTOS Microsoft Office Project 2010.
¿QUE ES EL DIAGRAMA DE ESTADO ?
MODELAMIENTO MATEMÁTICO DE PROCESOS INDUSTRIALES
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
Ing. Haydeli del Rosario Roa Lopez
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
MAESTRÍA EN ECONOMÍA APLICADA ASIGNATURA: MATEMÁTICA Y ESTADÍSTICA APLICADA DOCENTE: LYGIA ANDREA MEJÍA MALDONADO.
Transcripción de la presentación:

Planeación En planeación, dada una descripción del mundo, una situación inicial y una situación deseada, la meta es hallar una secuencia de acciones (las cuales pueden cambiar las situaciones), tal que la situación deseada es alcanzada desde el estado inicial. Además, no todas las acciones son aplicables en todas las situaciones. Definición 1. La Planeación es una representación de estados describiendo un comportamiento futuro con la ejecución de un conjunto de acciones bajo un orden con limitantes temporales o algún otro tipo de éstas.

Planeación Definición 2. Un problema de planeación es una cuádrupla < F, A, I, G > donde: F es un conjunto de fluentes, los cuales caracterizan las situaciones A es un conjunto de acciones, con una definición de de sus respectivas precondiciones y efectos o causas. I es un conjunto de fluentes describiendo la situación inicial G es un conjunto de fluentes describiendo la situación meta o deseada

Planeación Definición 3. Dado un PP P = < F, A, I, G > y un entero n, un plan para un PP es una secuencia A = a1, …, an tal que hay n+1 situaciones S0, …, Sn tales que para cada ai en A, Si-1 es consistente con las precondiciones ai’s y Si es modificado desde Si-1, por exactamente los efectos de ai. Para hallar el plan válido para las situaciones dadas, S0 debe ser implicado por I, y G debe ser implicado por Sn.

El mundo de los cubos Ejemplo Configuración Inicial: sobre(a,mesa) sobre(c,mesa) sobre(b,mesa) brazovacio libre(a) libre(c) libre(b) Goal: sobre(a,b) sobre(b,c) Plan: coger(b) poner(b,c) coger(a) poner(a,b)

Sintaxis DLV-k Declaraciones/Fluentes.- Todas las declaraciones y fluentes deben ser declarados usando la declaración de acción de la forma: fluents(actions): p(X1, …, Xn) requires t1, …, tm donde pLact, X1, …, Xn son variables t1, …, tmLtyp, n es la aridad de p todas las Xi ocurren en t1, …, tm y m0 Si m=0 la parte requires puede ser omitido

Sintaxis DLV-k fluents: p(X1, …, Xn) requires t1, …, tm sobre(B,L) requires cubo(B), lugardisponible(L). ocupado(B) requires lugardisponible(B). actions: mover(B,L) requires cubo(B), lugardisponible(L).

Sintaxis DLV-k causation rules: estas son usadas para para definir dependencias estáticas y dinámicas y tiene la forma siguiente: cuased f if b1, …, bk, not bk+1, …, not bl after a1, …, am, not am+1, …, not an donde f puede ser fluente, tipo y acciones  {false} Una condición de ejecución puede ser de la forma: executable a if b1, …, bm, not bm+1, …, not bn

Sintaxis DLV-k executable a if b1, …, bm, not bm+1, …, not bn Ejemplo. Una condición de ejecución puede ser de la forma: executable a if b1, …, bm, not bm+1, …, not bn Ejemplo. always: executable mover(B,L) if not ocupado(B), not ocupado(L), B <> L. inertial sobre(B,L). caused ocupado(B) if sobre(B1,B), cubo(B). caused sobre(B,L) after mover(B,L). caused -sobre(B,L1) after mover(B,L), sobre(B,L1), L <> L1.

Sintaxis DLV-k g1, …, gm, not gm+1, …, not gn ? (i) Un query es de la forma: g1, …, gm, not gm+1, …, not gn ? (i) Donde los gi variables libres y pertenecen a los fluentes, i  0, n  m  0 Ejemplo.

El mundo de los cubos Ejemplo

Tipos de planeadores Scheduling - Decide cuando y como realizar un conjunto dado de acciones Restricciones de tiempo Restricciones de recursos Funciones objetivo Problema NP completo Planning Decide que acciones usar para alcanzar algún conjunto de objetivos Puede ser mucho peor que un problema NP completo Los problemas de scheduling pueden requerir planeación

Principales tipos de planeadores De dominio especifico Hecho para un dominio de planeación especifico No trabaja bien en otros dominios de planeación Independiente del dominio En principio, trabaja en cualquier dominio de planeación En la práctica, necesita restricciones sobre la clase de dominio de planeación Configurable Máquina de planeación independiente del dominio Las entradas incluyen información acerca de como resolver problemas en algún dominio

Planeadores de dominio especifico La mayoría de los sistemas de planificación del mundo real exitosos funcionan de esta manera Frecuentemente usan técnicas de problemas especificos que son difíciles de generalizar a otros dominios de planeación

Planeadores independientes del dominio En principio, trabajan en cualquier dominio de planificación Sin el conocimiento de dominio específico, excepto la descripción del sistema Σ En la práctica No es factible hacer planificadores independientes del dominio que trabajen bien en todos los ámbitos de planificación posibles Hacer supuestos simplificadores para restringir el conjunto de dominios Planeación clásica Enfoque histórico de mucha investigación sobre la planificación automatizada

Hipotesis restrictivas Sistema finito un número finito de estados, acciones y eventos Observable totalmente El controlador siempre esta en el estado actual Σ’s Deterministico Cada acción tiene solo un resultado Estático no hay cambios, para las acciones del controlador Metas de consecución Un conjunto de estados meta u objetivo Planes secuenciales Un plan es una secuencia lineal ordenada linealmente de acciones (a1, a2, …, an) Tiempo implícito no hay duraciones de tiempo; secuencia lineal de estados instantáneos Planeación OFF-line El planeador no tiene conocimiento del status de ejecución

Planeación clásica La planeación clásica requiere de todas las hipótesis restrictivas La generación off-line de secuencias de acciones para un sistema determinístico, estático y finito, con conocimiento completo, metas de logros y tiempo implícito Se reduce al problema siguiente: Dado un problema de planeación P = (Σ, s0, Sg) Hallar una secuencia de acciones (a1, a2, …, an) que produzca una secuencia de transiciones entre estados (s1, s2, …, sn) tal que sn está en Sg. Esto es justamente el camino que se busca en un grafo Nodos = estados Ejes = acciones Es trivial?????

Agente viajero Formulación Intuitiva: Un viajante de comercio debe recorrer una serie de ciudades y volver a la de partida recorriendo la menor distancia posible, es decir, sin pasar dos veces por ninguna de ellas. Se supone que hay caminos entre cada par de ciudades. Formulación matemática: Dado un grafo completo con costos positivos asociados a sus aristas, encontrar un tour (ciclo simple que incluya a todos sus vértices) de costo mínimo (es decir, la suma de los costos de sus aristas es el menor posible).

Problema: Dado un grafo no dirigido y con pesos G = (V, A), encontrar un ciclo simple de costo mínimo que pase por todos los nodos. • Es un problema NP, pero se necesita una solución eficiente. • Problema de optimización, donde la solución está formada por un grupo de elementos en cierto orden: Se puede aplicar el esquema voraz.

Agente viajero inPath(X,Y) v outPath(X,Y) :- arc(X,Y,Cost). Guess :- inPath(X,Y), inPath(X,Y1), Y <> Y1. :- inPath(X,Y), inPath(X1,Y), X <> X1. Check :- node(X), not reached(X). reached(X) :- start(X). Predicado auxiliar reached(X) :- reached(Y), inPath(Y,X). + Optimización :~ inPath(X,Y), arc(X,Y,Cost). [Cost:] Optimiza

conn(brg,ibk,2). conn(ibk,sbg,2). conn(ibk,vie,5). conn(ibk,kla,3). conn(sbg,kla,2). conn(sbg,gra,2). conn(sbg,lin,1). conn(sbg,vie,3). conn(kla,gra,2). conn(lin,stp,1). conn(lin,vie,2). conn(lin,gra,2). conn(gra,vie,2). conn(gra,eis,1). conn(stp,vie,1). conn(eis,vie,1). conn(stp,eis,2). Regla que indica que las conecciones son en ambas direcciones conn(B,A,C) :- conn(A,B,C).

weekday(1,1). weekday(D,W) :- D=D1+1, W=W1+1, weekday(D1,W1), W1 < 7. weekday(D,1) :- D=D1+1, weekday(D1,7). city(T) :- conn(T,_,_). cost(A,B,W,C) :- conn(A,B,C), #int(W), 0 < W, W <= 7, not ecost(A,B,W). ecost(A,B,W) :- cost(A,B,W,C), conn(A,B,C1), C != C1. cost(stp,eis,2,10).

fluents: unvisited. in(C) requires city(C). visited(C) requires city(C). actions: travel(X,Y) requires conn(X,Y,_) costs C where weekday(time,W), cost(X,Y,W,C). always: executable travel(X,Y) if in(X). nonexecutable travel(X,Y) if visited(Y). caused unvisited if city(C), not visited(C). caused in(Y) after travel(X,Y). caused visited(C) if in(C). inertial visited(C). noConcurrency. initially: in(vie). goal: not unvisited? (8)