El problema de Satisfactibilidad y su aplicación a problemas de planificación y scheduling.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "El problema de Satisfactibilidad y su aplicación a problemas de planificación y scheduling."

Transcripción

1 El problema de Satisfactibilidad y su aplicación a problemas de planificación y scheduling. Héctor Sanvicent e Sánchez y Marco Antonio Cruz Chávez ITESM - Morelos Lógica Comput acional Abstract En años recientes ha habido una gran explosión de trabajos de investigación dentro de satisfactibilida d proposicional (SAT), impulsa dos principalment e por la mejora de algoritmos de solución para SAT, lo cual ha su vez ha incentivado la transform ación o codificación de otros problema s clasificados como NP- completos como proble ma s de SAT, entre los más importa nte s se tienen los problem as de planeación y scheduling. En estos enfoque s la clave es encontrar una función de reducción eficiente que genere a su vez un problem a que sea mas fácil de resolver en satisfactibilida d que en su plantea mient o original. Este trabajo prese nt a los métodos desarrollados a la fecha para codificar problem as de planeación y scheduling a SAT y se establece un análisis de la complejida d del problema en SAT en función del número de cláusulas y de variables. Se presenta también la eficiencia que muestra n algunos algorit mos aplicados a SAT en problem as prácticos como lo es el área de scheduling. 1 Introducción El desarrollo de un proyecto o actividad muchas veces requiere de su descom po sición en etapas o el cumplir con ciertos requisitos para alcanza r la meta deseada. Cuando estas etapas o requisitos deben cum plirse en su totalida d represe nt a n restriccione s que se tienen que satisfacer, de manera que el alcanzar la meta puede verse como un proble ma de satisfacción de restriccione s. Más formalme nte, un problem a de satisfacción de restricciones (CSP) consiste en determina r si un conjunto de restricciones definida s a través de ecuaciones pueden ser satisfechas. Cada restricción debe tener una forma que sea fácil de evaluar, de manera que cualquier dificulta d de solucionar el problem a viene de las interacciones que existen entre las restricciones y la necesidad de encont ra r una asignación para las variables que las integran, la cual simultánea m en te las satisfaga [Gu, et. al., 1997]. En el proble ma de satisfactibilidad (SAT) cada restricción es expresa da media nte una ecuación booleana (aquella compue st a por variables que puede n asumir únicame nte los valores de verdadero (V) o falso (F)), que denomi na re m os cláusula proposicional, y el conjunto de cláusulas establecen una fórmula booleana. De esta forma, el problem a consiste en determi na r una asignación de valores de verda d para las variables que satisfaga la fórmula proposicional (que la haga verdadera), esto es, que satisfaga toda s las restriccione s. De lo mencionado se establece que SAT es un caso especial de CSP. Un modelo CSP consiste de los siguientes tres componen te s [Gu, et al., 1997]. Variables: {x 1, x 2,..., x n }. Una asignación es una tupla de n valores asignados a las n variables. Dominios: {D 1, D 2,..., D n }. El dominio D i contiene d posibles valores (también llamados etiquetas) con los que x i puede ser instanciada, esto es, D i = {l i,1, l i,2,..., l i,d}. Un conjunto de restricciones. Un subconjunto de D 1 x D 2 x... x D n es un conjunto de restriccione s. Un conjunto de restricciones de orden- l (l n) impuest o sobre un

2 subconjunto de variables {x i1, x i2,..., x il} {x 1, x 2,..., x n} es denotado como C i1, i2,..., il D i1 x D i2 x...x D il. 2 El Problema de Satisfactibilidad Una fórmula booleana se crea a partir de un conjunto {x i} de variables booleanas y de conectivos lógicos (or ( ), and ( ) y not (~)). Por ejemplo, ~x 1 (x 2 x 3). Dado un valor t(x) para cada variable es posible evaluar la fórmula booleana. Al conjunt o de valores asignados a cada variable se le conoce como asignación de valores de verdad y determina a su vez el valor que toma la fórmula. Por ejemplo, si en la fórmula anterior t(x 1) = V, t(x 2 ) = F y t(x 3 ) = V, la fórmula tomará el valor de F, pero si en cambio t(x 1 ) = F, t(x 2 ) = F y t(x 3) = V, la fórmula tomará el valor de V. Cuando una fórmula boolena toma o resulta verdade ra para una asignación de valores de verdad se dice que es satisfactible o consistente. Debe señalarse que no todas las fórm ulas son satisfactibles, hay algunas que no pueden ser verdaderas para ninguna asignación de verdad, básicamente porque en ellas existen contra dicciones. Una form a muy común de escribir una fórmula booleana, también llamada fórm ula proposicional, es la denomina da Forma Normal Conjuntiva (CNF, por sus siglas en inglés) [Dowsing, et. al., 1986]. La forma CNF es una conjunción de cláusulas, esto es, cláusulas unidas a través del conector lógico and ( ); una cláusula es una disyunción de literales (literales unidas mediante el conector lógico or ( )) y una literal es una variable booleana negada o no- negada. Una cláusula que contiene sólo una literal es llama da cláusula unitaria. Una cláusula que no contiene literales es llamada cláusula vacía y es interpre ta da como falsa. De la estruct ura del CNF y los operadores lógicos conteni dos se tiene que para que una fórm ula escrita en CNF sea verdadera, cada cláusula en la fórmul a debe ser verdade ra. La estruct ura inversa a CNF es la forma normal disyuntiva (DNF). De lo mencionado, se pue de definir el problem a de satisfactibilida d (SAT) como [Gent, et al., 1999; Gu, et al., 1997; De Ita y Morales, 1996]: Definición: Dadas m cláusulas C 1, C 2,..., C m, las cuales emplean las variables booleanas x 1, x 2,..., x n, es satisfactible la fórmula C 1 C 2... C m? El proble ma de satisfactibilida d (SAT) es un problem a muy simple de enunciarse, y su solución puede verse de manera combinatoria como el tratar todas las posibles asignaciones de valores de verdad para ver si alguna satisface la fórmula. Sin embargo, este no es un algoritmo eficiente, ya que hay 2 m asignaciones de verdad que probar, con una elección binaría para cada variable, por lo que el tiempo de ejecución del algorit mo crece exponencialmente con el tamaño de la entrada del problema. En realidad, SAT fue el primer proble ma que se demostró ser NP- complet o [Cook, 1971], por lo que constituyó la piedra angular de la teoría de la complejidad com putacional [Papadi mitriou, 1994; Papadi mit riou and Steiglitz, 1982]. El hecho de que SAT sea NPcompleto implica que cualquier problema puede ser transfor ma do a una instancia de él, por lo que cualquier mejora a los algoritmos que los resuelven puede transform a rse en mejora s a los algoritmos que resuelvan la clase NP- completo. Aun más, el hallar un algoritmo eficiente para uno de los problema s en la clase NP- comple to, repercute en la resolución del problema abierto P = NP? O de si existe un algoritmo que pueda resolver los problema s de la clase NP- completo en el peor de los casos en tiempo polinomial. NP- completes es generalment e considera do para marcar el límite entre tractabilidad e intractabilida d de los proble ma s [Garey and Johnson, 1979]. Debido a que SAT es NPcompleto, es poco proba ble que exista un algoritm o que lo resuelva en el peor de los casos

3 en tiempo polinomial. Sin embargo, una gran cantida d de investigacione s en los últimos años a mostra do que muc hos problem a s de satisfactibilidad de interés práctico pueden resueltos eficientem ent e. Por ejemplo, k- SAT es la clase de proble ma s de decisión en los cuales todas las cláusulas son de longitud k. El problema k- SAT es NP- completo para cualquier k 3, pero es polinomial para k = 2 [Garey and Johnson, 1979]. 3 Métodos de Solución Gu, Purdom, Franco y Wah [1997] en su trabajo Algorithm s for the Satisfiability (SAT) Problem: A Survey llevan a cabo un estudio muy completo sobre los algoritmos que se han empleado para solucionar el problem a de SAT. Ellos form ulan el problem a de SAT como un problem a de optimización (MIN- SAT o MAX- SAT, depe ndie ndo de si se minimiz a el núm ero de cláusulas no satisfechas o se maximiza el número de cláusulas satisfechas) y clasifican los algoritmos para solucionarlo dependiendo del tipo de variables (discreta s o continuas), de si es form ulado como un problem a con restricciones o no (restringidos o no restringidos) y de si pue den ejecutarse de manera paralela. La tabla 1 muest ra los algoritmos reporta dos por Gu, Purdom, Franco y Wah [1997] para solucionar el problem a de SAT. Las clases report ada s en las tablas 1 son las establecidas por los autores aunque la clasificación no es muy clara y en algunos casos podría considerars e errónea como en el caso de los algoritmos de progra mación irrestricta. Las definiciones de las clases dada s por los autores son: Algoritmos discretos restringidos: Los algorit mos de esta categoría tratan una fórmula SAT como una instancia de un problem a de decisión restringido, aplicando procedi mientos de búsque da discreta e inferencia para determinar una solución. Algoritmos discretos no restringidos: En esta clase, el número de cláusulas no satisfactibles CNF (o satisfactibles DNF) es form ulado como el valor de la función objetivo, transfor m a nd o el problema SAT dentro de un proble ma de minimización discreto no restringido a la función objetivo. Algoritmos de program ación restringida: Los métodos en esta clase fueron desarrollados en el hecho de que las fórmulas CNF o DNF pueden ser transform a da s a instancias de program ación entera y posibleme nte soluciona das usando relajación de progra mación lineal. Como puede notarse de la definición de esta clase de algoritmos, clasificados como continuos, en realida d son parte de los algoritm os discretos restringidos pues utilizan técnicas de program ación entera. Algoritmos de optimización global irrestrictos: Modelos especiales han sido form ulados para transformar una fórmula discreta en el espacio booleano {0, 1} n (un problema de decisión) dentro de un problema irrestricto Uni- SAT en el espacio E n (un problema de optimiz ación global irrestricto). Las fórmulas transfor ma da s pueden ser soluciona da s por muchos métodos de optimización global existente s. Discreto Continuo Restringido No restringido Restringido No restringido 1960: Davis- Putnam (DP) 1987: Búsqueda local aleatoria 1965: Resolución 1987: Búsqueda local paralela 1971: Algoritmo s de 1988: Búsqueda local para consistencia n- queen 1986: Ramificar y acotar 1987: Modelos UniSAT 1988: Modelos de 1987: Optimización global program ación 1988: Planos de corte 1989: Modelos de redes neuronales

4 1978: Davis - Putman Logeman Loveland (DPLL) 1986: Parallel consistency chips 1986: Diagramas de decisión binaria (BDD) 1990: Algoritmo Unison y hardware 1991: Búsqueda local compleja 1991: Búsqueda local para 2- SAT 1988: Chip and conquer 1992: Búsqueda local con trampa s 1990: Heurística DPL plus 1992: Búsqueda local glotona (GSAT) 1989: Búsqueda local y backtracking 1993: Backtracking y prueba 1994: DP paralelo 1994: Sistema de matriz de desigualdad 1996: CSAT Tabla 1: Algunos algoritmos típicos para el proble ma de SAT. 1989: Ramificar y cortar 1990: Optimización global y backtracking 1989: Método del punto 1991: Algoritmos SAT14 interior Otra clasificación más adecuada es la que divide a los algoritm os en Completos e Incom ple tos o de aproximación [Gent y Walsh, 1999; Gu, et al., 1997]. Los algoritmos completos pueden efectuar una de las siguientes acciones: (1) determinar si una solución existe, (2) dar los valores de verdad para una solución, (3) encontrar todas las soluciones o la solución óptima y (4) probar que no hay solución. Los algorit mos incom pletos o de aproximación alguna s veces encuent ra n una solución pero en otros casos no y no se sabe si la entrada no tiene solución o si el algoritmo no buscó suficiente. Como métodos com pletos se tienen aquellos basados en Davis- Putman: DP, DPLL, DP con heurísticas de ramificación (ejemplo MOMS), ISAMP. También se tienen árboles de discriminación, backtraking inteligentes (TABLEAU), el método de resolución, diagra ma s de decisión binaria (BDD), técnicas de OR y métodos basados en progra m ación entera (Ramificar y acotar, planos de corte, etc.). Entre los métodos de aproximación se tienen: Procedimiento de semi- decisión, Algoritm o simple glotón, GSAT, Procedimientos de Gu, Gen SAT, Weights, Caminat a aleatoria, WalkSAT, Novelty, SASAT(recocido simula do SAT), TSAT (Búsque da Tabú SAT), NNSAT (Red Neuronal SAT), GASAT (Algoritmo genético SAT), etc. Como el objetivo de este trabajo no es describir los diferentes métodos de solución para SAT, se dejarán mencionado s exclusivamente, pero el lector podrá tener una descripción de ellos en los trabajos referenciados anteriorment e y consultar si así lo prefiere los artículos semillas. Sin embargo, los métodos más usados para solucionar problem as de planeación y sche duling codificados en problem as de SAT serán explicados más adelante. 4 Planeación como Satisfactibilidad Planeación ha sido tradicionalme nte formalizada como un problem a de deducción [McCarthy and Hayes, 1986] en el cual se usan axiomas que establecen que los efectos de una acción son implicados por la ocurrencia de esta cuando sus precondicione s existen. Planeación es entonce s formaliz ado como el proceso de encontra r una prueba deductiva de una declaración que establece que las condiciones iniciales seguidas de una secuencia de acciones implica las condiciones de la meta. El proble ma complem ent ario a deduc tibilidad es satisfactibilida d, esto es, encontra r un modelo a partir de un conjunto de axiomas. Tanto el proble ma de planeación como el problem a de satisfactibilidad son problem a s NPcompletos, por lo que no se conoce hasta la actualidad un algoritmo que los resuelva eficiente me nte. Sin embargo, dura nt e mucho tiempo en inteligencia artificial se pensó, sin funda m e nt o, que la tarea de buscar en el espacio exponencialment e grande de asignación

5 de valores de verda d para encont ra r un modelo era mucho más ardua que buscar en el espacio de prueba s de resolución del enfoque deductivo. Ante la suposición sin funda m e nt o menciona da anteriorme nte, Kautz and Selman [1992] alentados por los resulta dos alcanza dos en la solución de problem as extrema da m e nt e grandes y difíciles, expresados como un conjunt o de cláusulas proposicionales, esto es como un problem a de SAT, reporta dos por Selman, Levesque and Mitchell [1992] con su algoritmo glotón aleatorio (GSAT) propusieron una forma o lenguaje de codificación de problem as de planeación a satisfactibilidad. La gran aportación de este enfoque es que una vez codificado el proble ma de planeación en SAT, este puede ser resuelto por cualquiera de los métodos de solución menciona dos anteriorme nte, aunque el algoritmo más usado es GSAT o su derivación WalkSAT o WSAT. Este algoritmo será brevement e explicado cuando se trate scheduling. Por otro lado, el enfoque deductivo siempre a tenido la desventaja de que es posible generar planes que no sean realizables, lo que ha motivado la búsqueda de alternativas en la generación de un plan. Quizá los dos enfoque s alternativos más conocidos y exitosos son aquellos que emplean una estruct ura de Graphplan [Blum and Furst, 1997, Blum and Langford, 1999] y los que llevan a cabo una codificación del proble ma de planeación a un problem a de satisfactibilidad [Kautz and Selman, 1992]. En la actualidad ambos enfoques tienen una convergencia en el sentido de que es posible codificar el grafo de GraphPlan a una fórm ula proposicional de SATPlan [Kautz, et al., 1996; Kautz and Selman, 1999]. 5 Codificación de planes en lógica proposicional Problemas de planeación puede n ser soluciona dos a través de lógica proposicional [Kautz and Selman, 1992; Kautz, et al., 1996; Kautz and Selman, 1998; Kautz and Selman, 1999; Brafman, 1999, Huang et al., 1999]. Sin embargo, debido a que tanto planeación como SAT son problem as NP- complet os, la clave de este enfoque es tanto el obtener una reducción polinomial entre ambos proble mas como el que el problem a resultante sea más fácil de resolver en SAT que en planeación. De esta forma se tienen que establecer límites prácticos del tamaño del problem a reducido en función de la teoría de la complejida d. Esto es, si el tamaño del problem a reducido o codificado en SAT, en función de su número de cláusulas y variables, es tal que los algoritmos conocidos para solucionar SAT tomará n un tiem po mayor que los establecidos para planeación la reducción no será aceptable. Kautz, McAllester and Selman [1996] reportan algunos límites prácticos del tama ño del problem a de SAT según su experiencia: Fórmulas que contenga n alrededor de 2000 variables pue den ser soluciona das tanto por búsque da s sistem ática s como estocasticas en unos cuantos segundos. Los límites para el algoritmo sistemá tico TABLEAU de Crawford y Auton publicado en 1993 fue alcanza do a las 2800 variables y 6 hrs de tiempo de ejecución. Para el algoritmo estocástico de Walksat publicado por Selman fue de 6700 variables en 15 minut os. En la actualidad se tienen 3 métodos para codificar un problema de planeación en satisfactibilida d, estos métodos han sido desarrollados, conform e se profundiz a en el conocimiento de la transform ación, de manera progresiva, para reducir el tamaño del problem a de SAT generado. Antes de describir los métodos de codificación se establecerá cuando un problema de planeación es reducible a un problem a de satisfactibilida d. Además para todo el desarrollo siguiente se considerara que el problem a de planeación está especificado usando la

6 notación clásica estándar de STRIPS definida por Fikes and Nilsson en 1971[Blum and Langford, 1999; Kautz et al., 1996]. La notación STRIPS consiste de condiciones iniciales que describen el esta do inicial del mundo; operadore s los cuales describen las acciones legales que puede n ser ejecutada s, y metas que represe nt an aquellos hechos que se desea sean verdaderos al final del plan. Formal mente se tiene en notación STRIPS que un problem a de planeación Π es una tupla (Ops, Dom, S 0, S 1), Donde Ops es un conjunto de definiciones de operadores, Dom es un dominio de individuos, y S 0 y S 1 son los estados inicial y final respectivamente. Los operadores son definidos por esquem a s que poseen una lista de precondiciones conjuntivas y listas de agregación y de borrado; por ejemplo: Move(x, y, z) PRE: CLEAR(x), ON(x, y), CLEAR(z) ADD: CLEAR(y), ON(x, z) DEL: CLEAR(z), ON(x, y) El esquem a usa variables de manera que el opera dor puede ser instanciado a partir del dominio de individuos y represent a al conjunt o finito de operaciones de este tipo que se pueden hacer dentro del dominio. Todas las variables que aparecen en la definición de un operador deben aparecer en su encabe za do. Las variables puede n asumir valores de átom os negados o no. La instanciación de un operador sobre el dominio es llamada una acción (p. ej., MOVE(A, B, C)) y la insta nciación de un predica do es llamado un fluent (p. ej., ON(A, B)). Los estados son conjuntos de fluents. Una acción aplicada a un estado agrega o borra su lista de fluents a partir del estado. Las funcione s Pre(), Add() y Del() mapean un operador o una acción a su correspondient e lista de predicados o fluents. Una secuencia de acciones es una solución al problem a de planeación si esta transfor m a el estado inicial dentro del estado meta ( la meta necesita estar únicamente parcialmente especificada). Las precondiciones de cada acción deben estar definidas o aparecer en el estado sobre el cual esta aplica y ninguna acción puede agregar y borrar el mismo fluent. En un proble ma de planificación acotado, la longitud de la solución debe ser n para algún n fijo. Definición: Una función Γ que toma un proble ma de planeación Π y un límite de longitud n y retorna un problema de SAT se dice que reduce un problem a de planeación acotada a SAT si y solo si Γ(Π, n) es resoluble por un plan con un máximo de n operaciones y Γ(Π, n) es satisfactible. El SAT generado es llamado constructivo si una solución a Π puede ser eficiente me nte extraída a partir de cualquier solución a Γ(Π, n), más específicame nte, si existe una operación en tiempo polinomial ε tal que para cualquier Π, n y asignación de valores de verda d σ que satisfaga Γ(Π, n), se tiene que ε (Π, n, σ) es una solución a Π. 5.1 Codificación líneal El enfoque más conocido para form alizar la planificación ha sido, sin duda, el cálculo de situaciones de McCarthy and Hayes [1986]. En este siste ma la ejecución de una acción es explícita mente represent ad a por la aplicación de una función a un término que represe nt a el estado en el cual la acción es ejecuta da. Por esta razón, la primera codificación, desarrollada para reducir un proble ma de planeación a SAT, llama da codificación líneal, es muy similar a una versión proposicional del cálculo de situaciones [Kautz and Selman,

7 1992; Kautz et al., 1996], pero con axiomas adicionales incluidos para desecha r ciertos modelos no previstos o erróneos, los cuales son inoperant es en la formalización deduc tiva, pero que si no se incluyen producirían errores en el enfoque de satisfactibilida d. En este modelo la codificación agrega un pará met ro correspondient e a un índice de tiempo a cada acción o fluent, para indicar el estado en el cual la acción comienz a o el fluent es mantenido. Para un problema acotado por n, las acciones son indexadas de 0 a n- 1, y los fluents de 0 a n. También se incluyen variables dumm y correspondiente s a acciones nulas para problem as de planeación que son más cortos que n. Esta reducción se lleva a cabo mediante la transform a ción siguiente: El estado inicial es completamente especificado: si un fluent f S 0, entonces ~f 0. El esta do méta puede ser ya sea total o parcialmente especificado. Si una acción se ejecuta en el tiempo i, sus precondiciones deben existir al tiempo i, su lista de fluents de agregación existirán al tiempo i+1, y la negación de cada uno de sus fluents de borrado existirá al tiempo i + 1. Las condiciones clásicas de estruct ura se mantienen para todas las acciones, esto es, si un fluent no es agregado o borrado por una acción, este se mantiene verdade ro o falso cuando la acción ocurre. Únicamente una acción ocurre en cada instante de tiempo (exclusivida d). En esta codificación las proposiciones indexadas por 0 exacta ment e corresponde n al estado inicial dado, y aquellas indexa da s por i+1 describen un estado legal que pue de ser alcanza do a partir de uno descrito por proposicione s indexadas por i. La función ε simpleme nte extrae la secuencia de instancias de acción que son verdaderas en una asignación de valores de verdad que satisfaga el problema. Debe notarse que esta codificación produce una suposición de mundo cerrado para el esta do inicial El cual se propaga mediante las condicione s de estruct ura. Sin embargo, según los autores esta suposición no afecta el conjunto de soluciones para un proble ma dada debido a la forma restrictiva de definir los operadores. La com plejidad del proble ma de satisfactibilida d generado se establecerá mediante el tama ño de éste, el cual se medirá en función del número de variables y el número de cláusulas. De esta forma se tomarán los siguientes valores en estas definiciones: número de operadores Ops, predicados Pre, elementos del dominio Dom, longitud n, número máximo de argume nto s de los opera dores Aops y de los predicados Apred. Ademá s se abreviará el número de acciones, definido como Ops Dom Aops, como A y el número de fluents, definido como Pred Dom Apred, como F. Con las convencione s anteriores se tiene que el núm ero de variables usada s es O(n A + n F ). El tama ño de la fórmula CNF es dominado por las cláusula s correspondient es a los axiomas de exclusividad y estructura, y es O(n A 2 + n A F ). Como puede notarse entonces los factore s críticos para determinar si esta reducción es práctica o no son las dimensiones de los opera dores y los predicados (Aops, Apred). Para reducir el tamaño del problema de SAT Kautz and Selman [1992] propone n dos artificios o modificaciones. La primera es llevar a cabo una partición de los operadore s y está basada en el hecho de que si nada m ás ocurre una acción en un paso de tiempo, entonces una acción con m argume ntos puede ser represe nt a da como la conjunción de m acciones de un solo argument o. La segunda, toma la propues ta alternativa de describir los axiomas de estruct ura dada por Hass en 1987 y Schubert en 1989 denomi na da explicativa, la cual dice:

8 Si el valor de verdad de un fluent cambia, entonces una de las acciones que agrega o borra esta debe haber ocurrido. Si ninguna de estas acciones ocurre, entonce s por modus tolens el valor de verda d del fluent debe persistir a lo largo hasta que otra acción ocurra. La partición de operadores reduce el núme ro de variables a O(n Aops Ops D om + n F ) y los axiomas de exclusividad llegan a ser más pequeños, requiriendo únicamente O(n Aops 2 Ops 2 Dom 2 ) cláusulas binarias. El uso de axiomas de estructura explicativos produce únicame nte O(n F ) cláusula s. Sin embargo, hay que mencionar que cada cláusula puede ser muy larga, y en el peor de los casos el tamaño total de la fórm ula es el mismo, aunque los autores establecen que en la práctica este esque ma produce codificaciones menores. 5.2 Codificación basada en Graphplan Graphpla n es un planeador basado en compliar un problema de planeación especificado en STRIPS dentro de una estruc tura de grafo compacta, de tamaño polinomial, llamado grafo de planeació en el cual la información puede ser rápida me nt e propagada para ayudar en la búsque da de un plan [Blum and Furst, 1997; Blum and Langford, 1999]. Un grafo de planeación es un grafo de niveles dirigido. El primer nivel tiene un nodo por cada proposición de las condiciones iniciales. El siguiente nivel tiene un nodo por cada acción que puede posible mente ser ejecutada en ese tiem po 1: esto es, un nodo por cada acción cuyas precondiciones existen en las condiciones iniciales. El siguiente nivel del grafo lista todos las preposicione s que puede n ser verdade ros en el tiem po 2, es decir, la unión de los efectos de agregación de todas las acciones en el nivel de acción previo, incluyendo la acción no- ops (Graphpla n incluye una acción no- ops, que simpleme nte propaga proposicione s a lo largo del tiempo). El siguiente nivel consiste de acciones que puede n posibleme nte ser ejecutada s en el tiempo 2, y así sucesivament e. Los arcos en un grafo de planeación conecta n las acciones a sus precondiciones y a sus efectos de agregación y borra do. Graphpla n comienz a por crear un grafo de planeación, el cual es construido en sentido hacia delante, comenza n do desde las condicione s iniciales hasta que todas las metas aparecen en el grafo. Este entonces busca en un sentido hacia atrás, de las metas hacía las condiciones iniciales, un plan sobre el grafo. Si la búsque da no encuent ra un plan, entonce s el grafo es extendido un paso de tiem po más y el proceso es repetido. El planeador también tiene un mecanism o para paro eventual si, de hecho, el problem a no tiene solución. Graphpla n posee varias heurísticas de optimización, entre las más importa nt es están: (a) propagación de pares de relaciones de exclusión mutua entre proposiciones y entre acciones en sentido hacia delante mientra s el grafo es creado. Estas relaciones le dicen al planeador que, para ciertas instancias, las proposiciones P y Q no pueden ser hechas ambas verdade ra s al mismo paso de tiempo, y son usadas para podar la búsque da en sentido hacia atrás. A estas relaciones se les da el nombre de mutex. (b) permitir al plan efectua r varios operadore s en paralelo, mient ras que ellos no tengan conflicto entre sí, es decir, un operador no borre una precondición o un efecto del otro. (c) memori zar los resultados de búsque da s fallida s. Una solución es un subgrafo del grafo de planeación que contiene todas las proposiciones en el nivel inicial y en el nivel de meta, y cuyos dos opera dores en la misma capa no tienen conflictos. Así, un operador correspon de a un plan parcialmente ordena do, el cual puede contener varios operadore s ocurriendo en el mismo paso de tiempo, con la semá ntica de que estos pueden ocurrir en cualquier orden (o aun en paralelo).

9 Un grafo de planeación es muy similar a una fórmula proposicional y puede fácilmente ser convertido a notación CNF [Kautz et al., 1996]. La transform ación comienza en el nivel de metas del grafo y avanza en sentido inverso. La transform ación es: El esta do inicial se mantiene en el nivel 1 (totalmente especificado), y las metas se mantiene en el nivel más alto. Los operadore s implican sus precondiciones. Cada proposición en el nivel i implica la disjunción de todos los operadore s en el nivel i - 1 que tienen a esta como un efecto de agregación (encadena mie nto en sentido hacia atrás). Las acciones que presenten conflictos son mutua m en te exclusivas. Debido a que el grafo de planeación acepta paralelismo, este puede tener mucho menos niveles y su transform a ción ser más corta que el número de pasos en la transform ación lineal. La fórm ula CNF tiene O(n A + n F ) variables. El tama ño de la fórmula esta dado por O(n m A + n A 2 + n k F ), donde m denota la longitud máxima combinada de las listas de precondiciones, y efectos de agregación y borrado y k es el número de acciones que pueden intervenir para un cambio en el valor de verda d de un fluent. Debe ser notado que en el peor de los casos todos los operadore s son mutua me nt e exclusivos, y entonces, se cae a una codificación lineal la cual puede ser muy grande para los algoritmos de satisfactibilida d. Sin embargo, en muchos dominios prácticos se tienen acciones en paralelo que generan codificaciones peque ñas. 5.3 Codificación basado en ligado causal (Lifted Causal) Una ultima codificación reporta da por Kautz, McAllester and Selman [1996], es una reducción inspirada en el planea dor SNLP de ligas causales de McAllester y Resenblitt de El principio básico de este planea dor es que cada prerequisito, incluyendo las declaraciones del estado final deben tener una fuente causal, la cual puede ser el esta do inicial. Una liga causal aterrizada (ground causal link) es una declaración de la forma o i Φ o j donde o i y o j son pasos del plan (posiblemente el paso inicial y el final), y Φ es un fluent aterrizado, esto es, un prerequisito de o j. La declaración de liga causal es verdadera si o i agrega Φ, o j necesita a Φ como prerrequisito y ningún paso entre o i y o j agrega o borra Φ. Un planea dor nolineal causal aterriza do trabaja con conjunt os de nombres de pasos (step names) donde dos diferentes nombres de pasos pueden ser asignados a la misma acción (algunos planes requieren que la misma acción sea ejecutada dos veces en diferente tiempo). Sean o 1,..., o n los nombres de paso. No hay un orden temporal a priori sobre los nombres de pasos, y las declaraciones de la forma o i < o j son usadas para establecer que el paso o i ocurre antes que el paso o j. Un plan causal comple to es una asignación de acciones aterriz ada s a nombre s de pasos, un conjunto de ligas causales, y un conjunto de declaraciones de orden de pasos que satisfacen las siguientes condicione s: Cada prerequisito tiene una causa. Si Φ es un prerequisito de la acción asigna da a el paso o i entonces el plan incluye una liga causal de la forma o j Φ o i. Cada liga causal es verdadera. Si el plan contiene o j Φ o i entonces la acción asignada a o j agrega Φ, el plan contiene la declaración de orden o j < o i, y para cada nombre de paso ok diferente de o i y o j tal que la acción asignada a o k borre Φ, el plan contiene una declaración de o k < o j o o i < o k. Las restricciones de orden son consistentes. Si las restricciones de orden contienen o k < o j y o i < o k entonces ellas contienen o i < o j y ningún paso las precede a si misma.

10 5.3.1 Codificación basada en planeación nolineal causal aterrizada Se puede reducir la planificación nolineal causal aterriz ada directa me nte a SAT [Kautz et al., 1996] mediant e los siguientes esquem as de axiomas: 1. ACTION(o, a 1)... ACTION (o, a m) o O, a i A 2. ~(ACTION(o, a) ACTION(o,b)) o O, a,b A, a b 3. ~ADDS(I,Φ) Φ F - S o 4. NEEDS(F,Φ) Φ S G 5. ADDS(o, Φ) ( ACTION(o, a 1 )... ACTION (o, a K )) o O, Φ Add(a i ) 6. DELS(o, Φ) ( ACTION(o, a 1)... ACTION (o, a K)) o O, Φ Del(a i) 7. NEEDS(o, Φ) ( ACTION(o, a 1)... ACTION (o, a K)) o O, Φ Pre(a i) 8. NEEDS (o, Φ) (o 1 Φ p... o n Φ p) o i O {I}, p Ο {F}, Φ F 9. o Φ p ADDS(o, Φ) o O {I}, p Ο {F}, Φ F 10. o Φ p DELS(r, Φ) (r < o p < r) o O {I}, p Ο {F}, r O - {o,p}, Φ F 11. I < o o O 12. o < F o O 13. ~(o < o) o O {I,F} 14. o < p p < r o < r p,q,r Ο {I,F} Donde I y F son las acciones inicial y final, A es el conjunto de acciones que no incluyen I y F, O es el conjunto de nombre s de pasos que no incluyen los pasos inicial y final y F es el conjunto de todos los fluent aterriza dos. Suponiendo que el proble ma de planeación aterrizado es derivado de un conjunto fijo de operadores lifted (lifted operators) definidos. Esto implica que cada acción tiene un número acotado de precondiciones, agregacione s y borrados. Con esta suposición se tiene que A es O( Dom Aops ) y F es O( Dom Apred + S 0 + S G ). El número de variables booleanas es dominado por las ligas causales, el cual es O(n 2 F ), y el número de variables de la forma ACTION(o, a), el cual es O(n A ). El número de ocurrencia de las literales es dominado por el esquema 10 el cual involucra O(n 3 F ) cláusulas. La codificación causal elimina la necesidad de axiomas de estructura, pues se encuentra n implícitos en el esquem a Codificación basa da en cláusula s lifted (lifted clause) Una cláusula lifted es únicament e una cláusula de primer orden, una disyunción de literales de primer orden posiblem ente conteniendo variables libres. Un proble ma lifted SAT es solame nte un conjunto de cláusulas lifted [Kautz et al., 1996]. Un proble ma lifted SAT es satisfactible si existe una substit ución aterriz ada (una mapeo de las variables a los términos aterrizados) tal que el proble ma de SAT aterriz ado resultante es satisfactible, sujeto a las restricciones que una igualdad atómica aterriza da de la forma t = w es verda d si y solo sí t y w son el mismo término. Teorema: Un problem a lifted SAT es satisfactible si y solo sí existe una relación de equivalencia sobre las fórm ulas atómicas y una asignación de valores de verda d a las fórmula s atómicas respecto de esta relación (literales equivalentes son asigna da s al mismo valor de verda d), tal que la asignación de valores de verdad satisface todas las cláusulas y el problem a de unificación definido por la relación de equivalencia es soluble. Clarame nte lifted SAT incluye SAT como un caso especial, y entonces es NP- com pleto. El problem a anterior muest ra que el problema es NP porque se pue de adivinar no determinística me nte la relación de equivalencia y la asignación de valores de verdad.

11 Se pue de establecer una reducción de planeación a un proble ma de lifted SAT y posteriorm ent e una reducción de lifted SAT a SAT. En la reducción de planeación a lifted SAT es necesario crear una copia fresca (fresh copy) de la definición de cada operador en cada paso. Por cada nombre de paso o se tiene un A o consistente de una copia fresca de cada definición de opera dor. Las copias frescas son const ruidas por medio de renombra r los parámetros formales. La variables que aparecen en A o son disyunciones a partir de las variables que aparecen en A p para distintos o y p. Para cualquier conjunto fijo de operadores se tiene que A o es O(1). Sea A la unión de todos los A o, entonces A es O(n). Lo cual contrasta con el caso aterrizado donde A es O( Dom Aops ). Esta reducción en A es el principal beneficio del plante amiento del problema lifted SAT. La reducción de un problem a de planeación o un proble ma lifted SAT es definida mediante el siguiente conjunt o de esque ma s de axiomas: 1. ACTION(o, a 1 )... ACTION (o, a m ) o O, a i A o 2. ~(ACTION(o, a) ACTION(o,b)) o O, a,b A o, a b 3. x=c 1... x = c n x Vars(A), c i Dom 4. ACTION(o, a) NEEDS(o,Φ) o O, a A o, Φ Pre(a i) 5. NEEDS(F,Φ) Φ Pre(F) 6. NEEDS(p, Φ) (o 1 Φ p... o n Φ p) o i O {I}, p Ο {F}, Φ Pre(A p) 7. o Ψ p o < p o O {I}, p Ο {F}, Ψ Pre(A p) 8. o Φ p ADDS(o, Φ) o O {I}, p Ο {F}, Φ Pre(p) 9. ACTION(o, a) ADDS(o,Ψ) o O, a A o, Ψ Pre(A {F}), Φ j Add( a) (Ψ = Φ 1... Ψ = Φ n) 10. ADDS(I, Ψ) (Ψ = Φ 1... Ψ = Φ n ) Ψ Pre(A), Φ i Add(I) 11. ~ADDS(I, Ψ) Ψ Pre(F) - Add( I) 12. ACTION(o, a) Ψ = Φ DELS (o, Ψ) o O, a A o, Ψ Pre(A {F}), Φ Del(a) 13. o Ψ p DELS(r, Ψ) (r < o p < r) o O {I}, p Ο {F},Ψ Pre(A p), r O - {o,p} 14. o < r r < p o < p o,r,p O {I,F} 15. ~(p < p) p O {I,F} Donde para cualquier conjunt o de acciones S, Pre(S) es el conjunt o de todos los prerequisitos de las operaciones en S, de manera simila rpara Add(S) y Del(S). A I y A F son los conjuntos de una sola operación donde A I agrega las declaraciones iniciales y A F requiere las declaraciones finales. Var(A) denota el conjunt o de toda s las variables que aparecen en A. Para completar la reducción del proble ma de planeación a SAT, se tiene que establecer una reducción del problem a general de lifted SAT a SAT, la cual es establecida por Kautz et al. [1996] a través de adicionar las siguientes cláusulas a la reducción anterior. 1. t = t t T(L) 2. t = u u = t t, u T(L) 3. t = u u = w t = w t, u, w T(L) 4. (f(t 1,...t n ) = f(u 1,...u n )) f(t 1,...t n ) T(L) (t 1 = u 1... t n = u n) f(u 1,...u n) T(L) 5. ~(t = u) t, u T(L), t, u clash 6. OCCURS - IN(t i, f(t 1,...t n )) f(t 1,...t n ) T(L) 7. OCCURS - IN(u,w) OCCURS- IN(w,t) u,w,t T(L) OCCURS - IN (u,t) 8. ~OCCURS - IN (t, t) t T(L) 9. P(t 1,...t n) t 1 = u 1... t n = u n P(u 1,...u n) P(t 1,...t n) F(L), P(u 1,...u n) F(L)

12 i t i,u i unificable Donde L es un problem a lifted SAT, T(L) es el conjunto de términos en L y F(L) es el cónjunto de todas las fórmula s atómicas en L. 6 Problemas prácticos con aplicación de SAT En la actualidad los investigadore s de SAT han dado gran importancia a los proble mas prácticos de la vida, por ejem plo, en inteligencia artificial a los métodos de deducción lógica y prueba de teore ma s, en el área de scheduling se están enfocando a la asignación de vuelos de aviones a pistas de aterrizaje [Johnson 1999] y también de tripulaciones a vuelos comerciales, surgiendo publicaciones de software para scheduling. Y como ejemplo en planeación se prese nt a la producción de automóviles en fábricas [Brian 1997]. 6.1 Problemas de scheduling contra problemas 3SAT Los problem a s de scheduling son muy grandes y con pocas restricciones que se deben de satisfacer por completo (CSP) de aquí que tengan la característica de contener un gran núm ero de solucione s, por el contrario los problema s que se utilizan en 3SAT son generados de form a aleatoria y restringidos de forma critica y tamaño arbitrario, siendo estos malos casos de prueba para proble ma s prácticos [Crawford 1994], he de aquí la importa ncia que conlleva el realizar codificación de proble ma s sche duling a problema s SAT para poder obtener sobre la base de sus evaluacione s resultados mas cercanos a la realidad práctica en el área de Satifactibilidad. 6.2 Descripción de Job shop scheduling En la actualidad los procesos de manufac tura se han vuelto muy complica dos debido a que las máquinas que intervienen en estas tareas pueden ejecut ar un mayor número de operaciones a diferencia de antes que solo podía realizarse una en cada máquina. También las herramienta s que se utilizan en las máquina s para ciertas operaciones son muy caras y por lo mismo las máquinas tienen que compartirla s a distintos tiempos con el fin reducir los costos de los produc tos. Esto se debe a que el mercado hoy en día requiere de gran disponibilidad, calidad, variedad y pequeños costos de los product os para ser altamente competitivos. En el caso de los opera dores, estos deben de cuidar a mas de una máquina por ser estas prácticame nte autom ati za da s. La planeación y control debe de tom ar en cuenta las dependencias mencionada s en el sistema de manufac turación y tratar de establecer un scheduling que pueda minimiza r tiempos y dar un buen dese mpe ño en la entrega de product os. Debido a la alta competencia en los mercados al proble ma de job shop scheduling se le ha dado una mayor atención de estudio en la actualidad por ser un problem a práctico que puede ayuda r a eficientar los procesos de manufac tura [Adams et al 1998]. El problem a de job shop se describe de forma general como sigue: se tiene un taller que consiste de un conjunto de máquinas m = {M 1, M 2,,M m }. Sobre estas máquinas un conjunto de tareas j = {1,2,,n} que necesita obtener un schedule. Cada máquina esta disponible al tiempo cero y puede procesa r un solo trabajo en un instante de tiempo. Cada tarea requiere de una serie de operaciones O 1j, O 2j,,O nj,j, aquí nj indica el número de operaciones a realizar por la tarea j, la secuencia de máquina s que cada tarea debe de realizar se define antes de generar el schedule [Adams et al 1998]. La operación O ij no se puede iniciar antes de que se termine la operación O i- 1,j. La operación O 1j esta disponible desde el tiempo cero. A cualquier operación no se le puede interrum pi r su procesa mient o en ninguna máquina hasta su terminación. El objetivo que se busca generalme nte es el de obtener un schedule que minimice el tiem po de terminación máximo de la última tarea en el sistema [Schutte n 1998].

13 Jop shop scheduling esta cataloga do como uno de los más duros problem as de optimiz ación combinat oria. Problema s de solo 10 trabajos y 10 máquinas han quedado sin resolver por mas de 25 años [Schutte n 1998], debido a esta dificultad, diversos autores desarrollan algoritm os de tipo heurísticos (branch and bound) para resolver el problema. El Job shop que se ha utilizado para codificarse en forma de SAT y poder evaluar los algoritmos aplicados en esta área es un poco más sencillo, en este tipo de shop no se permite recirculación, la que puede ocurrir cuando una tareas puede visitar una máquina mas de una vez simplificándose el proble ma pues cada trabajo se efectúa en una sola máquina sin embargo sigue siendo un problema hard. El siste ma scheduling esta sujeto a restriccione s de sucesiones y a restricciones de capacida d de recursos. Se tienen diez trabajos en los que cada uno efectúa cinco operaciones que serán ejecutada s en un orden especifico propue st o inicialmente. También cada tarea para efectuarse requerirá del uso de una sola maquina. Y cada máquina puede efectua r una sola tarea a un tiempo, la asignacion se realiza con restricciones de recurzos Codificación de jop shop scheduling como un problema tipo SAT Jop shop maneja las siguientes restricciones. a) Restricciones de secuencias: i j indica que la operación i debe de terminarse antes de comenza r la operación j. Lo que equivale a si + pi sj esto es, el tiempo de inicio de la operación i mas su tiem po de procesa miento debe de ser menor o igual que el tiempo de inicio de la operación j. b) Restricciones de recursos: La capacidad de recursos se representa por c ij y es una forma de evitar los conflictos que ocurren cuando dos operaciones requieren de una misma máquina al mismo tiempo. Esta se define como una disyunción c ij = ( si + pi sj ) ( sj + pj si ) lo que significa que i debe de terminarse antes de que inicie j o bien j debe de terminarse antes de que inicie i. c) Restricciones del tipo release date: El tiempo de descarga (release date) de una tareas para efectuar su operación i se representa por r i. La tarea i no puede empezar su procesamiento antes de su tiempo de descarga. Si esto no fuera una restricción entonce s el procesa mie nt o de la operación de la tarea i podría comenzar en cualquier tiempo. Así pues se tiene que si ri

14 d) Restricciones del tipo deadline: Este es el tiem po en que la operación i deberá ser completa da a mas tardar de forma obligatoria (no se debe de sobrepasar) y se representa por d i, de tal forma que si + pi di De esta manera, puesto que se trata de obtener el tiempo de inicio s i para cada operación de las tareas tratando de minimizar el makespan 1 (Cmax), el modelo de scheduling que se transform a ra a uno de SAT es, siguiendo la nomenclatura tradicional [Pinedo 1995]: J5 ri, di C max Donde, J5 Indica un sistem a de job shop con cinco máquina s como recursos, cuyas restriccione s de procesa miento tendrá n como requisito un release date y un deadline, con una función objetivo a minimizar se define por el Makespan 1. En la traducción de las restriccione s a una forma de variables de verdad, se debe de tom ar en cuenta a los tiempos de inicio de operación debido a que se tiene que decidir la operación que se debe de asignar a una máquina cuando al mismo tiempo se tiene mas de una disponible en espera; esto es, se tiene que decidir si i se asigna antes que j o bien j se asigna antes que i. Para cada par de operaciones i,j en sus restricciones se realiza un mapeo al conjunt o booleano ={falso, verda dero} por lo que se introduce la siguiente variable boolea na: i j. Se traduce como pr i,j = verdadero. Significa que i precede a j. c i,j. Se traduce como pr i,j V pr j,i =verdadero. Significa que i precede a j o j precede a i. r i. Se traduce como sa i,ri = verdadero. Significa que i comienza al tiempo de descarga i o mas adelante. d i. Se traduce como eb i,di = verdadero. Significa que i termina al tiempo del deadline. Con este conjunt o de variables y con la ayuda de las leyes de la lógica proposicional incluyendo las de De Morgan [Chang 1973], se obtienen las siguientes cláusulas que son relevantes en las operaciones y en los tiem pos de asignación [Crawford 1994]. 1. sa i, t sa i, t 1 2. eb i, t eb i, t sa i, t cb i, t + pi, sa pr sa + 4. ( i, t i, j ) j t pi Al realizarse cualquier mapeo de las variables p i,j al conjunto booleano={t,f} se extenderá a un modelo de tipo C S que describirá un conjunto de soluciones para el problem a de job shop scheduling, donde S es el conjunto de cláusula s encontra da s y C es el conjunt o de restriccione s generadas en el primer mapeo realizado. 1 Makespan es equivalente al tiempo de terminación de la último tarea que abandona el sistema. Un Makespan mínimo implica un alto uso de la(s) máquina(s).

15 Por medio del modelo encontrado según los valores de las variables p r se puede obtener un conjunto de resulta dos en el que cada uno de estos es un schedule factible Algoritmos SAT aplicados a Job shop scheduling Para el problem a de Job Shop, Crawford y Baker compara n la eficiencia de tres algoritm os clásicos aplicados en SAT y que se presenta n acontinuación alguna s características de cada uno de ellos: TABLEAU: Es un algorit mo sistem ático del tipo DPLL y aplica un procedimient o de búsqueda en profundi da d (depth- first) sin información. La búsque da es en un árbol de decisión en el que siempre se expande uno de los nodos a su nivel mas profundo y solo cuando se llega a un camino sin salida se regresa a niveles menos profun dos. Cada nodo que se explora genera todos sus sucesores antes de que otro nodo sea explorado. Después de cada expansión el nuevo hijo es seleccionado nuevam ente para su expansión. Utiliza una unidad de propagación para realizar una revisión por delante (forward checking) a través de una estructura de datos eficiente, esto reduce el número de nodos en la búsque da del árbol [Morales 1999]. El algoritm o es de la siguiente forma Tableau(teoría) { Unidad_propagada(teoría); SI se descubre una contradicción regresa(falso); DE LO CONTRARIO SI todas las variables son estimadas regresa(asignación actual); DE LO CONTRARIO{ X = alguna variable sin valor; Regresa(ta bleau(teoría AND x) OR tableau(teoría AND NOT x)); } } La unidad de propagación consiste de la aplicación de la regla de inferencia, para x se tiene x y1 yn. y1 yn Esta disminuye el número de cláusulas en una form ula [Edwards 1996]. GSAT: Es el algoritm o estocástico mas popular aplicado en SAT y aplica una estrategia de búsque da basa da en optimiz ación local (hill- climbing) con información y arranque aleatorio. Sigue la dirección de ascenso/ d e s ce ns o mas empina da a partir de su posición y requiere de muy poco costo computacional y no permite un regreso a otra alternativa. GSAT se aplica con un cambio el cual aña de aleatoriedad parecido a recocido simulado, esto es, con una probabilida d P se selecciona la misma variable que GSAT y con proba bilida d P- 1 se selecciona una variable aleatoriam ent e con una cláusula no satisfecha [Morales 1999]; esta propiedad da lugar al algoritm o WSAT el cual se muestra a continuación. WSAT(teoría) { For i = 1 to MAXIMO- PRUEBAS{ A = asignación de verdad aleatoria;

16 For j = 1 to MAX-CAMBIOS{ If A satisface FNC regresar esta; ELSE{ C = Escoger aleatoriame te una cláusula no satisfecha; Con probabilidad P, se cambia una variable aleatoria en C; Por otra parte (con proba bilidad 1- P) Cambiar una variable en C resultando en un mayor decrecimiento el núm ero de cláusulas no satisfechas. } } } regresa r fracaso; } ISAMP: Es una variante del algoritm o TABLEAU, se evita utilizar una búsqueda de tipo dept h- first en lugar de esto simpleme nte los valores de las variables se escogen aleatoriame nt e pero con una revisión por delante (forward checking) y se reinicia desde la raíz del árbol de búsque da cuando se encuent ra una contra dicción, a esta técnica se le da el nombre de iterative sam pling ; este enfoque solo trabaja bien cuando el problema tiene un gran núm ero de soluciones. A continua ción se presenta el algoritmo Isamp(teoría) { For i = 1 to MAX- PRUEBAS{ Fijar a toda s las variables sin asignar; loop{ If todas las variables tienen valor regresar(la asignación actual); V = variable sin valor tomada aleatoriam ent e; Dar a V un valor elegido aleatoriame nte. Unidad_propaga da( teoría); Si existe contra dicción salir del loop; } } regresa r fracaso; } ISAMP la mejor alternativa para evaluar problemas practicos codificados en forma SAT Debido a las características que prese nt an los problema s de scheduling muy diferentes a los que normal ment e se evalúan en 3SAT y que son genera dos de una forma aleatoria [Crawford 1994]. En los experiment os realizados por Crawford muestra que ISAMP es el que mejor se adapt a a proble ma s prácticos (scheduling), ya que este puede encontra r alguna solución del gran conjunto de solucione s que se puede n tener en estos dirigido a través de una revisión por delante (forward- checking) y esto lo hace en tan solo un prome dio de 64 reinicios (sin el uso de heurísticas) para problema s del tipo job shop ya descritos anteriorm en te, de aquí que Crawford menciona que las heurísticas común me n te usadas en scheduling (Branch and Bound) son menos útiles de lo que se pudiera pensar. Por otro lado es acepta do por la gran mayoría de los investiga dores que los problema s generados de forma aleatoria 3SAT no son adecua dos para represent ar proble mas prácticos debido a sus características que difieren de los del tipo scheduling [Edwards 1996].

17 Conclusiones Dada la importa ncia de los problema s prácticos del tipo planeación- scheduling y a su gran dificultad de obtener soluciones por ser del tipo NP- Completo, es de relevancia el dirigir nuestra mirada a SAT pues puede dar un camino para una import ante simplificación en el trato de estos problem as. Sin embargo, es necesario determinar el tamaño del problema en satisfactibilida d (complejida d en función del número de cláusulas y variables), para de aquí llevar a cabo un análisis de cual es el algorit mo más adecuado para solucionarlo. Sobre esta misma línea se observa que falta mucha investigación en el área de scheduling- SAT para encontrar o definir codificaciones de scheduling a SAT que reduzca la complejida d del problem a de SAT, una opción podría ser tomar los esquem as establecidos de planeación a SAT. REFERENCIAS [Adams et al. 1998] J. Adams, E. Balas y D. Zawack, The Shifting Bottlenec k Procedure for job shop scheduling, Management Science Vol. 34, No 3, March [Blum and Furst, 1997] A. Blum and M. Furst. "Fast planning through planning graph analysi s", Artificial Intellingence, 90: , [Blum and Langford, 1999] A. Blum and J. C. Langford, "Probabilistic planning in the Graphplan framework", / ~ a vrim / pgp.ht ml., {avrim, [Brafman, 1999] R. I. Brafman, "Reachability, rele vanc e, resolution and planning as Satisfiability approach", / ac.il/ brafm a n. [Brian 1997] H. Brian, Can t get no satisfaction, American Scientist; Research Triangle Park; 85(1997) [Chang 1973] C. Chang and R. C. Lee, Symbolic Logic and Mechanical Theorem Proving, Academic Press, Inc, San Diego, California, [Crawford 1994] J.M. Crawford and A.B. Baker, Experimental Results on the Application of Satisfiability Algoritms to Scheduling Problems, Computational Intelligence Research Laboratory, [Cook, 1971] S.A. Cook, "The complexity of theorem proving procedures", Proc. Of 3 rd. Annual ACM Symposium on the Theory of Computing, pp-, [De Ita y Morales, 1996] G. De Ita y G. Morales, "Heurísticas para mejorar la búsqueda local en el tratamiento de problemas de máxima satisfactibilidad", Memorias Iberamia- 96, Puebla, México, [Edwards 1996] D.D. Edwards, Research Summary, / w w w.sitewright.com /dde / uc b / re search- summary.html#articles., [Garey and Johnson, 1979] M.R. Garey and D.S. Johnson, "Computers and intractability: a guide to the theory of NP- completene ss", W.H. Freeman and Company, USA, 340 pp., [Gent and Walsh, 1999] I.P. Gent and T. Walsh, " The Search for Satisfaction", / dream.dai.ed.ac.uk/group/ tw / s at., {ipg, [Gu, et. al., 1997] J.Gu, P.W. Purdom, John Franco and B. W. Wah, "Algortthms for the satisfiability (SAT) problem: a surve y", DIMACS series in Discrete Mathematics and Theoretical Computer Science, [Huang, et. al., 1999] Yi- Cheng Huang, B. Selman and H. Kautz, "Control knowle dge in planning: Benefits and Tradeoffs", Proc. AAAI- 99, Orlando FL., [Jonson 1999] G. Jonson, Separating the Insolvable and Merely Difficult, New York Times, New York, UMI Publication No , Jul 13, 1999.

18 [Kautz and Selman, 1999] H. Kautz and B. Selman, "Unifying SAT- based and Graphbased Planning", Proc. IJCAI- 99, [Kautz and Selman, 1998] H. Kautz and B. Selman, "The role of domain- specific knowledge in the planning as satisfiability framework", Proc. AIPS- 98, Pittsburg, PA., [Kautz, et al., 1996] H. Kautz, D. McAllester and B. Selman, "Encoding plans in propositional logic", Proc. KR- 96, Boston, MA., [Kautz and Selman, 1992] H. Kautz and Selman, "Planning as Satisfiability". ECAI- 92, Vienna, Austria, [McCarthy and Hayes, 1986] J. McCarthy and P. Hayes, "Some philosophical problems from the standpoint of artificial intelligence", Machine Intelligence 4, pp., [Morales 1999] E. Morales, Apuntes de la materia de Optimización y búsqueda impartida en el ITESM, mor.ites m.mx, / w 3.mor.itesm.mx / ~ op timiza/optibusca/ se siones.html. [Papadimitriou, 1994] C.H. Papadimitriou, "Computational comple xity", Addison Wesley Pub. Co., USA. ISBN , 523 pp., [Papadimitriou and Steiglitz, 1982] C.H. Papadimitriou and K. Steiglitz, "Combinatorial optimization: algorithms and comple xity", Prentice Hall Inc., USA. ISBN , 496 pp., [Pinedo 1995] M. Pinedo, Scheduling Theory, Algorithms, and Systems, Prentice Hall, U.S.A., [Levesque et. al., 1992] H. Levesque, B. Selman and D. Mitchell, "A new method for solving hard satisfiability problems", Proc. AAAI- 92, pp., [Schutten 1998] J.M.J. Schutten, Practical job shop scheduling, Annals of Operations Research 83(1998)

Problemas de Satisfacción de Restricciones

Problemas de Satisfacción de Restricciones Problemas de Satisfacción de estricciones José Luis uiz eina José Antonio Alonso Jiménez Franciso J. Martín Mateos María José Hidalgo Doblado Dpto. Ciencias de la Computación e Inteligencia Artificial

Más detalles

Tema 5: Problemas de satisfacción de restricciones

Tema 5: Problemas de satisfacción de restricciones Tema 5: Problemas de satisfacción de restricciones José Luis uiz eina José Antonio Alonso Franciso J. Martín Mateos María José Hidalgo Departamento de Ciencias de la Computación e Inteligencia Artificial

Más detalles

Una heurística para la asignación de máquinas a trabajos fijos

Una heurística para la asignación de máquinas a trabajos fijos VIII Congreso de Ingeniería de Organización Leganés, 9 y 10 de septiembre de 2004 Una heurística para la asignación de máquinas a trabajos fijos José Manuel García Sánchez, Marcos Calle Suárez, Gabriel

Más detalles

Scheduling Problem. Cuándo y dónde debo hacer cada trabajo?

Scheduling Problem. Cuándo y dónde debo hacer cada trabajo? Scheduling Problem Cuándo y dónde debo hacer cada trabajo? Ejemplos de problemas de asignación de recursos Fabricación de varios tipos de productos Asignación de turnos de trabajo Inversión financiera

Más detalles

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI

Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI Ricardo Köller Jemio Departamento de Ciencias Exactas e Ingeniería, Universidad

Más detalles

Implementación y análisis de rendimiento de un sistema de planeamiento lineal basado en el modelo MPBH

Implementación y análisis de rendimiento de un sistema de planeamiento lineal basado en el modelo MPBH Implementación y análisis de rendimiento de un sistema de planeamiento lineal basado en el modelo MPBH Tesis para obtener el Título Profesional de Ingeniero de Sistemas Christian Danniel Paz Trillo Miembros

Más detalles

Tema 3: Problemas de Satisfacción de Restricciones

Tema 3: Problemas de Satisfacción de Restricciones Tema 3: Problemas de Satisfacción de Restricciones Universidad de Granada Tema 3: Satisfacción de Restricciones Contenido Problemas de satisfacción de restricciones Métodos de búsqueda Búsqueda local para

Más detalles

Capítulo VI MÉTODOS DE SOLUCIÓN PARA JOB SHOP SCHEDULING

Capítulo VI MÉTODOS DE SOLUCIÓN PARA JOB SHOP SCHEDULING Capítulo VI MÉTODOS DE SOLUCIÓN PARA JOB SHOP SCHEDULING 6.1. HEURÍSTICAS CONVENCIONALES El problema de job shop scheduling (JSSP) es un problema muy importante [69]; está entre los problemas de optimización

Más detalles

Restricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

Restricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani Restricciones Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani 1 Tema 2: Agentes basados en Búsqueda Resumen: 2. Agentes basados en búsqueda

Más detalles

Problemas de satisfacción de restricciones. Javier Ramírez Rodríguez Departamento de Sistemas Universidad Autónoma Metropolitana

Problemas de satisfacción de restricciones. Javier Ramírez Rodríguez Departamento de Sistemas Universidad Autónoma Metropolitana Problemas de satisfacción de restricciones Javier Ramírez Rodríguez Departamento de Sistemas Universidad Autónoma Metropolitana La programación con restricciones (PR) ha generado gran expectación entre

Más detalles

3.- ALGUNOS CONCEPTOS BÁSICOS DE ÁLGEBRA DE BOOLE 4.- TRANSFORMACIÓN DE EXPRESIONES LÓGICAS A EXPRESIONES ALGEBRAICAS

3.- ALGUNOS CONCEPTOS BÁSICOS DE ÁLGEBRA DE BOOLE 4.- TRANSFORMACIÓN DE EXPRESIONES LÓGICAS A EXPRESIONES ALGEBRAICAS TEMA 12: MODELADO CON VARIABLES BINARIAS 1.- MOTIVACIÓN 2.- INTRODUCCIÓN 3.- ALGUNOS CONCEPTOS BÁSICOS DE ÁLGEBRA DE BOOLE 4.- TRANSFORMACIÓN DE EXPRESIONES LÓGICAS A EXPRESIONES ALGEBRAICAS 5.- MODELADO

Más detalles

Reducción de la Planificación Conformante a SAT mediante Compilación a d DNNF

Reducción de la Planificación Conformante a SAT mediante Compilación a d DNNF Reducción de la Planificación Conformante a SAT mediante Compilación a d DNNF Héctor Palacios 1 and Héctor Geffner 1 1 Universitat Pompeu Fabra Passeig de Circumval lació, 8. Barcelona, España hector.palacios@upf.edu

Más detalles

MODELOS DE PLANIFICACIÓN

MODELOS DE PLANIFICACIÓN MODELOS DE PLANIFICACIÓN Santiago de Compostela, Octubre 2006 1 s jk C max P Jm prmt L max NP Rm tree C j Algoritmos wj U j Uj Calendarios Fm prec w j U j Práctica CONTENIDO. Contents 1 Descripción del

Más detalles

Desarrollo de un nuevo algoritmo para resolver programas lineales enteros y su aplicación práctica en el desarrollo económico.

Desarrollo de un nuevo algoritmo para resolver programas lineales enteros y su aplicación práctica en el desarrollo económico. Desarrollo de un nuevo algoritmo para resolver programas lineales enteros y su aplicación práctica en el desarrollo económico. 7071 Febrero, 2014 Resumen Es importante señalar que en un entorno social

Más detalles

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2)

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2) Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2) Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009

Más detalles

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n Búsqueda en Inteligencia Artificial Fernando Berzal, berzal@acm.org Búsqueda en I.A. Introducción Espacios de búsqueda Agentes de búsqueda Uso de información en el proceso de búsqueda Búsqueda sin información

Más detalles

Notas de Clase para IL

Notas de Clase para IL Notas de Clase para IL 5. Deducción en Lógica de Primer Orden Rafel Farré, Robert Nieuwenhuis, Pilar Nivela, Albert Oliveras, Enric Rodríguez, Josefina Sierra 3 de septiembre de 2009 1 1. Formas normales

Más detalles

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por.

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por. 2. Nociones sobre Teoría de Conjuntos y Lógica Para llevar a cabo nuestro propósito de especificar formalmente los problemas y demostrar rigurosamente la correctitud de nuestro programas, introduciremos

Más detalles

Programación de tareas, un reto diario en la empresa

Programación de tareas, un reto diario en la empresa Programación de tareas, un reto diario en la empresa Pedro Sánchez Martín Ingeniero del ICAI (1993) y Doctor en Ingeniería Industrial por la UPCO (1998). Profesor del Departamento de Organización Industrial

Más detalles

El proyecto realizado consiste en un resolutor de sudokus mediante CSP.

El proyecto realizado consiste en un resolutor de sudokus mediante CSP. Introducción El proyecto realizado consiste en un resolutor de sudokus mediante CSP. El problema del sudoku fue inventado por Howard Garns en 1979 y se volvió muy popular en Japón en 1986. En España ha

Más detalles

TEMA 3 (parte 2). Representación del Conocimiento

TEMA 3 (parte 2). Representación del Conocimiento TEMA 3 (parte 2). Representación del Conocimiento Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática ribadas@uvigo.es 13 de noviembre de 2009 FJRP ccia [Inteligencia Artificial] 3.2.2 Lógica

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Programación Lineal Entera

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Programación Lineal Entera Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 11 de septiembre de 2003 1. Introducción Un LP donde se requiere que todas las variables sean enteras se denomina un problema

Más detalles

Las reglas se parecen un poco a las vistas relacionales. Especifican relaciones virtuales que no están

Las reglas se parecen un poco a las vistas relacionales. Especifican relaciones virtuales que no están BASES DE DATOS DEDUCTIVAS Introducción: El interés de los Sistemas de Gestión de Bases de Datos Deductivas tiende a incrementarse conforme se amplía su campo de aplicación (Gestión, Sistemas Expertos).

Más detalles

Problemas de satisfacción de restricciones.

Problemas de satisfacción de restricciones. Problemas de satisfacción de restricciones. In whitch we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding

Más detalles

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Pablo Ezzatti CeCal, Facultad de Ingeniería Universidad de la República, Uruguay pezzatti@fing.edu.uy Sergio Nesmachnow

Más detalles

Editor: Editorial de la Universidad de Granada Autor: Óscar Jesús García Pérez D.L.: Gr. 1885-2007 ISBN: 978-84-338-4439-2

Editor: Editorial de la Universidad de Granada Autor: Óscar Jesús García Pérez D.L.: Gr. 1885-2007 ISBN: 978-84-338-4439-2 Editor: Editorial de la Universidad de Granada Autor: Óscar Jesús García Pérez D.L.: Gr. 1885-2007 ISBN: 978-84-338-4439-2 II - Índice de ilustraciones...viii III - Índice de algoritmos...x IV - Presentación...2

Más detalles

DEPARTAMENTO DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN OPCIÓN I

DEPARTAMENTO DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN OPCIÓN I 1INSTITUTO TECNOLÓGICO DE CIUDAD MADERO DEPARTAMENTO DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN OPCIÓN I TESIS: Desarrollo de Algoritmos de Retroceso Aplicados a la solución del Problema del Diseño de la

Más detalles

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Pablo Ezzatti CeCal, Facultad de Ingeniería Universidad de la República, Uruguay pezzatti@fing.edu.uy Sergio Nesmachnow

Más detalles

Programación Lineal Entera

Programación Lineal Entera Programación Lineal Entera P.M. Mateo y David Lahoz 2 de julio de 2009 En este tema se presenta un tipo de problemas formalmente similares a los problemas de programación lineal, ya que en su descripción

Más detalles

Programación con Restricciones Constraint Programming

Programación con Restricciones Constraint Programming Programación con Restricciones Constraint Programming Introducción basada en Roman Barták: Guide to Constraint Programming http://kti.ms.mff.cuni.cz/~bartak/constraints/index.html Constraint Programming

Más detalles

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba La computadora, a diferencia de otras herramientas que en general apoyan el esfuerzo físico de los humanos, fue inventada

Más detalles

Razonamiento. con. Restricciones. Esquema Global. Tutorial CAEPIA 2003. 1. Introducción - Definiciones - Ejemplos

Razonamiento. con. Restricciones. Esquema Global. Tutorial CAEPIA 2003. 1. Introducción - Definiciones - Ejemplos Esquema Global Razonamiento con Restricciones Tutorial CAEPIA 2003 Javier Larrosa Dep. LSI, UPC, Barcelona Pedro Meseguer IIIA, CSIC, Bellaterra 1. Introducción - Definiciones - Ejemplos 2. Métodos de

Más detalles

Optimización de consultas Resumen del capítulo 14

Optimización de consultas Resumen del capítulo 14 Optimización de consultas Resumen del capítulo 14 Libro: Fundamentos de Bases de Datos Silberschatz et al. 5ed. Dr. Víctor J. Sosa Agenda 1. Visión general 2. Estimación de las estadísticas de los resultados

Más detalles

1 Agencia de viajes: enunciado

1 Agencia de viajes: enunciado 1 AGENCIA DE VIAJES: ENUNCIADO 1 1 Agencia de viajes: enunciado Una agencia de viajes mantiene una base de datos con exactamente N clientes y M destinos turísticos. En una situación real, estos valores

Más detalles

Representación con Restricciones de Medidas Cualitativas: Aplicación a un Problema de Scheduling

Representación con Restricciones de Medidas Cualitativas: Aplicación a un Problema de Scheduling Representación con Restricciones de Medidas Cualitativas: Aplicación a un Problema de Scheduling Salvador E. Ayala-Raggi German Cuaya-Simbro Modesto G. Medina-Melendrez Angélica Muñoz-Meléndez Instituto

Más detalles

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1 Sistemas de producción y búsqueda de soluciones Area de Computación e Inteligencia Artificial 1 Técnicas de búsqueda Resolución de problemas en Inteligencia Artificial. En general, podemos afirmar que

Más detalles

Ingeniería Técnica en Informática de Gestión

Ingeniería Técnica en Informática de Gestión Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Febrero 2006. 1 a parte Normas generales del examen El tiempo para realizar

Más detalles

Uso de algoritmos genéticos para resolver el modelo determinista y estocástico para el diseño de una red de recogida de residuos

Uso de algoritmos genéticos para resolver el modelo determinista y estocástico para el diseño de una red de recogida de residuos International Conference on Industrial Engineering & Industrial Management - CIO 2007 1443 Uso de algoritmos genéticos para resolver el modelo determinista y estocástico para el diseño de una red de recogida

Más detalles

Búsqueda Heurística para Problemas de Scheduling *

Búsqueda Heurística para Problemas de Scheduling * IX Congreso de Ingeniería de Organización Gijón, 8 y 9 de septiembre de 2005 Búsqueda Heurística para Problemas de Scheduling * María Sierra Sánchez 1, Ramiro Varela Arias 2 1 Dpto. de Informática. Campus

Más detalles

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33 Introducción Búsqueda Local A veces el camino para llegar a la solución no nos importa, buscamos en el espacio de soluciones Queremos la mejor de entre las soluciones posibles alcanzable en un tiempo razonable

Más detalles

TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 1

TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 1 Técnicas de planificación y control de proyectos Andrés Ramos Universidad Pontificia Comillas http://www.iit.comillas.edu/aramos/ Andres.Ramos@comillas.edu TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Más detalles

Jhoan Sebastián Cadavid Jaramillo Ingeniero Industrial, Universidad Nacional de Colombia, jscadav0@unal.edu.co RESUMEN

Jhoan Sebastián Cadavid Jaramillo Ingeniero Industrial, Universidad Nacional de Colombia, jscadav0@unal.edu.co RESUMEN PROBLEMA DE PROGRAMACIÓN DE PRODUCCIÓN ABIERTA CON CARACTERÍSTICAS DE MÁQUINAS MÓVILES DEDICADAS Y CON TIEMPOS DE PREPARACIÓN DEPENDIENTES DE LA SECUENCIA ENTRE ETAPAS Alexander Alberto Correa Espinal

Más detalles

Ingeniería en Informática

Ingeniería en Informática Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

FastForward. Javier Béjar cbea (CS - FIB) Planificación con FastForward IA - Curso 2013/2014 1 / 13

FastForward. Javier Béjar cbea (CS - FIB) Planificación con FastForward IA - Curso 2013/2014 1 / 13 FastForward FastForward Fast Forward es un planificador que permite ejecutar planes definidos en el lenguaje PDDL El programa se puede descargar de http://fai.cs.uni-saarland.de/hoffmann/ff.html, hay un

Más detalles

Temario III Algoritmos Combinatorios y Metaheurísticas

Temario III Algoritmos Combinatorios y Metaheurísticas Temario III Algoritmos Combinatorios y Metaheurísticas Verificación y Validación de Software UNCo 1 Contenidos Combinación de Datos de Test Algoritmos Combinatorios Metaheurísticas Búsqueda Tabú Algoritmos

Más detalles

La formalización existente de acción en programación lógica están. adecuadas solamente para la clase más simple de razonamiento temporal

La formalización existente de acción en programación lógica están. adecuadas solamente para la clase más simple de razonamiento temporal CAPITULO 2 Formulación de Código en AnsProlog La formalización existente de acción en programación lógica están adecuadas solamente para la clase más simple de razonamiento temporal Proyección temporal.

Más detalles

Definición de la lógica proposicional

Definición de la lógica proposicional Capítulo 2 Definición de la lógica proposicional 2.1. Qué es una lógica? Para los propósitos de este texto, una lógica constará siempre de dos partes: 1. Sintaxis. La definición de la sintaxis de una lógica

Más detalles

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas INDICE Prologo XVII Prólogo a la edición en español XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas 1 1.1.1. Introducción 1.1.2. Algunos argumentos lógicos importantes 2 1.1.3. Proposiciones

Más detalles

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09 Introducción a los Algoritmos Genéticos Tomás Arredondo Vidal 17/4/09 Esta charla trata de lo siguiente: Introducción a algunos aspectos de los algoritmos genéticos. Introducción a algunas aplicaciones

Más detalles

7. Conclusiones. 7.1 Resultados

7. Conclusiones. 7.1 Resultados 7. Conclusiones Una de las preguntas iniciales de este proyecto fue : Cuál es la importancia de resolver problemas NP-Completos?. Puede concluirse que el PAV como problema NP- Completo permite comprobar

Más detalles

Estado del Arte del Job Shop Scheduling Problem

Estado del Arte del Job Shop Scheduling Problem Estado del Arte del Job Shop Scheduling Problem Víctor Peña y Lillo Zumelzu Departamento de Informática, Universidad Técnica Federico Santa María Valparaíso, Chile vpena@inf.utfsm.cl 17 de mayo de 2006

Más detalles

INTRODUCCIÓN A. Autor: José Antonio Glez. Reboredo

INTRODUCCIÓN A. Autor: José Antonio Glez. Reboredo INTRODUCCIÓN A Autor: José Antonio Glez. Reboredo 1. MÉTODOS FORMALES... 3 1.1. INTRODUCCIÓN... 3 1.2. ESPECIFICACIÓN... 4 1.3. VERIFICACIÓN... 5 1.3.1. COMPROBACIÓN DE MODELOS... 5 1.3.2. PRUEBA DE TEOREMAS...

Más detalles

III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3.

III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3. III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3. Búsquedas con retroceso. III.3.1. Búsquedas con retroceso a ciegas. III.3.1.1. Procedimientos con retroceso. La búsqueda con retroceso, o backtracking, es

Más detalles

PROCEDIMIENTO HEURÍSTICO PARA MINIMIZAR EL C max EN CELDAS ROBOTIZADAS CON BUFFERS FINITOS Y PIEZAS DISTINTAS

PROCEDIMIENTO HEURÍSTICO PARA MINIMIZAR EL C max EN CELDAS ROBOTIZADAS CON BUFFERS FINITOS Y PIEZAS DISTINTAS 27 Congreso Nacional de Estadística e Investigación Operativa Lleida, 8 11 de abril de 2003 PROCEDIMIENTO HEURÍSTICO PARA MINIMIZAR EL C max EN CELDAS ROBOTIZADAS CON BUFFERS FINITOS Y PIEZAS DISTINTAS

Más detalles

Algoritmos para CSP 1

Algoritmos para CSP 1 Algoritmos para CSP 1 1. Técnicas de Consistencia, o Inferenciales I. Inferencia, o consistencia completa Proceso que permite la síntesis de todas las restricciones de un problema en una única restricción

Más detalles

Clase 6: Invariantes de representación y funciones de abstracción

Clase 6: Invariantes de representación y funciones de abstracción Clase 6: Invariantes de representación y funciones de abstracción 6.1 Introducción En esta clase, vamos a describir dos herramientas utilizadas para la comprensión de tipos de datos abstractos: los invariantes

Más detalles

Análisis del juego televisivo QUIÉN QUIERE SER MILLONARIO? R

Análisis del juego televisivo QUIÉN QUIERE SER MILLONARIO? R Análisis del juego televisivo QUIÉN QUIERE SER MILLONARIO? R Federico Perea Justo Puerto * MaMaEuSch ** Management Mathematics for European Schools 94342 - CP - 1-2001 - DE - COMENIUS - C21 * Universidad

Más detalles

Algoritmos de planificación basados en restricciones para la sustitución de componentes defectuosos Irene Barba Rodríguez, 48861238S irenebr@us.

Algoritmos de planificación basados en restricciones para la sustitución de componentes defectuosos Irene Barba Rodríguez, 48861238S irenebr@us. Algoritmos de planificación basados en restricciones para la sustitución de componentes defectuosos Irene Barba Rodríguez, 48861238S irenebr@us.es Supervised by Prof. Dr. Carmelo del Valle Sevillano Thesis

Más detalles

Combinación de Algoritmos Evolutivos y Técnicas Heurísticas para Problemas de Scheduling

Combinación de Algoritmos Evolutivos y Técnicas Heurísticas para Problemas de Scheduling Combinación de Algoritmos Evolutivos y Técnicas Heurísticas para Problemas de Scheduling Ramiro Varela, Javier Blanco, Camino Rodríguez, Jorge Puente y César Alonso Centro de Inteligencia Artificial. Universidad

Más detalles

METAHEURISTICAS Ideas, Mitos, Soluciones

METAHEURISTICAS Ideas, Mitos, Soluciones METAHEURISTICAS Ideas, Mitos, Soluciones OPTIMIZACION COMBINATORIA Qué es un problema de optimización combinatoria? Cómo se modela matemáticamente un problema de optimización combinatoria? Minimizar (o

Más detalles

Apuntes de Matemática Discreta 6. Relaciones

Apuntes de Matemática Discreta 6. Relaciones Apuntes de Matemática Discreta 6. Relaciones Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 6 Relaciones Contenido 6.1 Generalidades.....................................

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Modelado de flujo en redes. Jhon Jairo Padilla A., PhD.

Modelado de flujo en redes. Jhon Jairo Padilla A., PhD. Modelado de flujo en redes Jhon Jairo Padilla A., PhD. Conceptos básicos Demanda o volumen de Demanda: Es el tráfico que están requiriendo los usuarios de una red. Para transportar el volumen de demanda

Más detalles

Números Reales. MathCon c 2007-2009

Números Reales. MathCon c 2007-2009 Números Reales z x y MathCon c 2007-2009 Contenido 1. Introducción 2 1.1. Propiedades básicas de los números naturales....................... 2 1.2. Propiedades básicas de los números enteros........................

Más detalles

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos Introducción César Ignacio García Osorio Lógica y sistemas axiomáticos 1 La lógica ha sido históricamente uno de los primeros lenguajes utilizados para representar el conocimiento. Además es frecuente

Más detalles

MATEMÁTICAS II APUNTES DE TEORÍA CURSO ACADÉMICO 2012-13. Carlos Ivorra

MATEMÁTICAS II APUNTES DE TEORÍA CURSO ACADÉMICO 2012-13. Carlos Ivorra MATEMÁTICAS II APUNTES DE TEORÍA CURSO ACADÉMICO 2012-13 Carlos Ivorra Índice 1 Introducción a la optimización 1 2 Programación entera 18 3 Introducción a la programación lineal 24 4 El método símplex

Más detalles

Una (muy) breve introducción a la teoría de la computación

Una (muy) breve introducción a la teoría de la computación Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

2 Métodos combinatorios

2 Métodos combinatorios 2 Métodos combinatorios Las pruebas pueden aplicarse de muchas maneras, es decir, existen diferentes formas de preparar casos de prueba. En este capítulo se presentan dos formas de prueba muy fáciles de

Más detalles

MLM 1000 - Matemática Discreta

MLM 1000 - Matemática Discreta MLM 1000 - Matemática Discreta L. Dissett Clase 04 Resolución. Lógica de predicados c Luis Dissett V. P.U.C. Chile, 2003 Aspectos administrativos Sobre el tema vacantes: 26 personas solicitaron ingreso

Más detalles

Cómo se usa Data Mining hoy?

Cómo se usa Data Mining hoy? Cómo se usa Data Mining hoy? 1 Conocer a los clientes Detectar segmentos Calcular perfiles Cross-selling Detectar buenos clientes Evitar el churning, attrition Detección de morosidad Mejora de respuesta

Más detalles

LA INVESTIGACIÓN OPERATIVA EN LAS LICENCIATURAS DE ECONOMÍA Y DE ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS

LA INVESTIGACIÓN OPERATIVA EN LAS LICENCIATURAS DE ECONOMÍA Y DE ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS LA INVESTIGACIÓN OPERATIVA EN LAS LICENCIATURAS DE ECONOMÍA Y DE ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS Ibar Alonso, Raquel Dpto. Métodos Cuantitativos para la Economía Facultad de Ciencias Económicas

Más detalles

Computación Evolutiva: Técnicas de Selección

Computación Evolutiva: Técnicas de Selección Computación Evolutiva: Técnicas de Selección Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. Gregorio

Más detalles

Diseño de redes viales urbanas usando algoritmos genéticos. M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C.

Diseño de redes viales urbanas usando algoritmos genéticos. M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C. Diseño de redes viales urbanas usando algoritmos genéticos M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C. e-mail: mapinnin@inf.udec.cl * Departamento de Ingeniería Informática y Ciencias

Más detalles

Satisfacción de Restricciones

Satisfacción de Restricciones Satisfacción de Restricciones Introducción Componentes del estado: Variables Dominios (valores posibles para las variables) Restricciones binarias entre las variables Objetivo: Encontrar un estado que

Más detalles

Resumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración

Resumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración 5053 Martes, 9 de abril Ramificación y acotamiento () Entregas: material de clase Resumen de técnicas para resolver problemas de programación entera Técnicas de enumeración Enumeración completa hace una

Más detalles

Capítulo V Operaciones Booleanas

Capítulo V Operaciones Booleanas 85 Capítulo V Operaciones Booleanas 5.1 Introducción Es muy posible que en muchos casos sea necesario comparar dos objetos y determinar cuál es su parte común. Esto implica intersectar los dos objetos

Más detalles

Un modelo híbrido de inteligencia computacional para resolver el problema de Job Shop Scheduling

Un modelo híbrido de inteligencia computacional para resolver el problema de Job Shop Scheduling Un modelo híbrido de inteligencia computacional para resolver el problema de Job Shop Scheduling Jacob Meneses Angel, Marcela Rivera Martínez, Luis René Marcial Castillo, Sandoval Solís Lourdes Benemérita

Más detalles

Una permutación eficiente para minimizar la suma de los tiempos de acabado de "n" trabajos en "m" máquinas Freddy Abarca R. fabarca@ic-itcr.ac.

Una permutación eficiente para minimizar la suma de los tiempos de acabado de n trabajos en m máquinas Freddy Abarca R. fabarca@ic-itcr.ac. Una permutación eficiente para minimizar la suma de los tiempos de acabado de "n" trabajos en "m" máquinas Freddy Abarca R. fabarca@ic-itcr.ac.cr El problema de la asignación de cargas de trabajo, a pesar

Más detalles

SECUENCIACIÓN DE SISTEMAS DE TIPO JOB SHOP MEDIANTE APRENDIZAJE AUTOMÁTICO

SECUENCIACIÓN DE SISTEMAS DE TIPO JOB SHOP MEDIANTE APRENDIZAJE AUTOMÁTICO SECUENCIACIÓN DE SISTEMAS DE TIPO JOB SHOP MEDIANTE APRENDIZAJE AUTOMÁTICO Paolo Priore Moreno Raúl Pino Diez Alberto Gómez Gómez UNIVERSIDAD DE OVIEDO Una forma habitual de secuenciar de modo dinámico

Más detalles

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

Lógica de Primer Orden

Lógica de Primer Orden Capítulo 2 Lógica de Primer Orden Resumen En términos generales, la Programación Lógica concierne al uso de la lógica para representar y resolver problemas. Más adelante precisaremos que, en realidad,

Más detalles

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero Fundamentos de Investigación de Operaciones y Vendedor Viajero 23 de mayo de 2004 Si bien la resolución del problema de transporte mediante tableau parece ser muy expedita, existen ciertos tipos de problemas

Más detalles

Resolución de Problemas

Resolución de Problemas Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar el camino en un laberinto Resolver

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Optimización n Tradicional Problemas

Más detalles

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍA ELÉCTRICA PROGRAMA DE MAESTRÍA EN INGENIERÍA ELÉCTRICA

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍA ELÉCTRICA PROGRAMA DE MAESTRÍA EN INGENIERÍA ELÉCTRICA UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍA ELÉCTRICA PROGRAMA DE MAESTRÍA EN INGENIERÍA ELÉCTRICA ALGORITMOS GRASP Y SIMULATED ANNEALING COMO INICIALIZADORES DE BRANCH AND BOUND EN LA SOLUCIÓN

Más detalles

Unidad Académica Profesional UAEM Tianguistenco, Paraje El Tejocote, San Pedro Tlaltizapán, Tianguistenco, México CP 52640

Unidad Académica Profesional UAEM Tianguistenco, Paraje El Tejocote, San Pedro Tlaltizapán, Tianguistenco, México CP 52640 Estudio de Tres Algoritmos Heurísticos para Resolver un Problema de Distribución con Ventanas de Tiempo: Sistema por Colonia de Hormigas, Búsqueda Tabú y Heurístico Constructivo de una Ruta Manuel González

Más detalles

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales Matemáticas 2º BTO Aplicadas a las Ciencias Sociales CONVOCATORIA EXTRAORDINARIA DE JUNIO 2014 MÍNIMOS: No son contenidos mínimos los señalados como de ampliación. I. PROBABILIDAD Y ESTADÍSTICA UNIDAD

Más detalles

Estado del Arte en Planificación con Incertidumbre

Estado del Arte en Planificación con Incertidumbre Estado del Arte en Planificación con Incertidumbre Alberto Reyes Ballesteros Doctorado en Ciencias Computacionales Programa ITESM-IIE ITESM Campus Cuernavaca Abril 2003 Resumen. Durante casi 40 años ha

Más detalles

SIGACLE: SIMULADOR GRÁFICO ASISTIDO POR COMPUTADOR PARA LA ENSEÑANZA DE PROGRAMACIÓN DE LENGUAJES ESTRUCTURADOS

SIGACLE: SIMULADOR GRÁFICO ASISTIDO POR COMPUTADOR PARA LA ENSEÑANZA DE PROGRAMACIÓN DE LENGUAJES ESTRUCTURADOS IV Congresso RIBIE, Brasilia 1998 SIGACLE: SIMULADOR GRÁFICO ASISTIDO POR COMPUTADOR PARA LA ENSEÑANZA DE PROGRAMACIÓN DE LENGUAJES ESTRUCTURADOS George Franco Cendales - María Paula Díaz - Rafael J. Barros

Más detalles

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12 Teoría de conjuntos. Teoría de Conjuntos. personal.us.es/elisacamol Curso 2011/12 Teoría de Conjuntos. Teoría de conjuntos. Noción intuitiva de conjunto. Propiedades. Un conjunto es la reunión en un todo

Más detalles

Tareas 20% Primer Examen Parcial 20% Segundo Examen Parcial 20% Proyecto Final 25% Examen Final 15%

Tareas 20% Primer Examen Parcial 20% Segundo Examen Parcial 20% Proyecto Final 25% Examen Final 15% Introducción a la Computación Evolutiva Dr. Carlos Artemio Coello Coello CINVESTAV-IPN Departamento de Computación Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro Zacatenco México, D.F. 07360

Más detalles

Algoritmos Genéticos

Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

4 o Ingeniería Informática

4 o Ingeniería Informática Esquema del tema 1. Introducción 4 o Ingeniería Informática II26 Procesadores de lenguaje Estructura de los compiladores e intérpretes 2. Etapas del proceso de traducción 3. La interpretación 4. La arquitectura

Más detalles

Nuevas Tendencias y Retos en Métodos Heurísticos para Problemas de Scheduling

Nuevas Tendencias y Retos en Métodos Heurísticos para Problemas de Scheduling Nuevas Tendencias y Retos en Métodos Heurísticos para Problemas de Scheduling Ramiro Varela Grupo de Tecnologías de la Computación. Departamento de Informática. Centro de Inteligencia Artificial Universidad

Más detalles

www.abaco.com.ve www.abrakadabra.com.ve www.miprofe.com.ve

www.abaco.com.ve www.abrakadabra.com.ve www.miprofe.com.ve Autor: José Arturo Barreto M.A. Páginas web: www.abaco.com.ve www.abrakadabra.com.ve www.miprofe.com.ve Correo electrónico: josearturobarreto@yahoo.com Capítulo I El Problema 1.1 Planteamiento del problema

Más detalles

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 1 de 13 TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Desarrollo de Habilidades De Pensamiento

Más detalles