854 research outputs found

    Constraint-Based Qualitative Simulation

    Full text link
    We consider qualitative simulation involving a finite set of qualitative relations in presence of complete knowledge about their interrelationship. We show how it can be naturally captured by means of constraints expressed in temporal logic and constraint satisfaction problems. The constraints relate at each stage the 'past' of a simulation with its 'future'. The benefit of this approach is that it readily leads to an implementation based on constraint technology that can be used to generate simulations and to answer queries about them.Comment: 10 pages, to appear at the conference TIME 200

    Parameterized verification and repair of concurrent systems

    Get PDF
    In this thesis, we present novel approaches for model checking, repair and synthesis of systems that may be parameterized in their number of components. The parameterized model checking problem (PMCP) is in general undecidable, and therefore the focus is on restricted classes of parameterized concurrent systems where the problem is decidable. Under certain conditions, the problem is decidable for guarded protocols, and for systems that communicate via a token, a pairwise, or a broadcast synchronization. In this thesis we improve existing results for guarded protocols and we show that the PMCP of guarded protocols and token passing systems is decidable for specifications that add a quantitative aspect to LTL, called Prompt-LTL. Furthermore, we present, to our knowledge, the first parameterized repair algorithm. The parameterized repair problem is to find a refinement of a process implementation p such that the concurrent system with an arbitrary number of instances of p is correct. We show how this algorithm can be used on classes of systems that can be represented as well structured transition systems (WSTS). Additionally we present two safety synthesis algorithms that utilize a lazy approach. Given a faulty system, the algorithms first symbolically model check the system, then the obtained error traces are analyzed to synthesize a candidate that has no such traces. Experimental results show that our algorithm solves a number of benchmarks that are intractable for existing tools. Furthermore, we introduce our tool AIGEN for generating random Boolean functions and transition systems in a symbolic representation.In dieser Arbeit stellen wir neuartige Ans atze für das Model-Checking, die Reparatur und die Synthese von Systemen vor, die in ihrer Anzahl von Komponenten parametrisiert sein können. Das Problem des parametrisierten Model-Checking (PMCP) ist im Allgemeinen unentscheidbar, und daher liegt der Fokus auf eingeschränkten Klassen parametrisierter synchroner Systeme, bei denen das Problem entscheidbar ist. Unter bestimmten Bedingungen ist das Problem für Guarded Protocols und für Systeme, die über ein Token, eine Pairwise oder eine Broadcast-Synchronisation kommunizieren, entscheidbar. In dieser Arbeit verbessern wir bestehende Ergebnisse für Guarded Protocols und zeigen die Entscheidbarkeit des PMCP für Guarded Protocols und Token-Passing Systeme mit Spezifikationen in der temporalen Logik Prompt-LTL, die LTL einen quantitativen Aspekt hinzufügt. Darüber hinaus präsentieren wir unseres Wissens den ersten parametrisierten Reparaturalgorithmus. Das parametrisierte Reparaturproblem besteht darin, eine Verfeinerung einer Prozessimplementierung p zu finden, so dass das synchrone Systeme mit einer beliebigen Anzahl von Instanzen von p korrekt ist. Wir zeigen, wie dieser Algorithmus auf Klassen von Systemen angewendet werden kann, die als Well Structured Transition Systems (WSTS) dargestellt werden können. Außerdem präsentieren wir zwei Safety-Synthesis Algorithmen, die einen "lazy" Ansatz verwenden. Bei einem fehlerhaften System überprüfen die Algorithmen das System symbolisch, dann werden die erhaltenen "Gegenbeispiel" analysiert, um einen Kandidaten zu synthetisieren der keine solchen Fehlerpfade hat. Versuchsergebnisse zeigen, dass unser Algorithmus eine Reihe von Benchmarks löst, die für bestehende Tools nicht lösbar sind. Darüber hinaus stellen wir unser Tool AIGEN zur Erzeugung zufälliger Boolescher Funktionen und Transitionssysteme in einer symbolischen Darstellung vor

    The 2011 International Planning Competition

    Get PDF
    After a 3 years gap, the 2011 edition of the IPC involved a total of 55 planners, some of them versions of the same planner, distributed among four tracks: the sequential satisficing track (27 planners submitted out of 38 registered), the sequential multicore track (8 planners submitted out of 12 registered), the sequential optimal track (12 planners submitted out of 24 registered) and the temporal satisficing track (8 planners submitted out of 14 registered). Three more tracks were open to participation: temporal optimal, preferences satisficing and preferences optimal. Unfortunately the number of submitted planners did not allow these tracks to be finally included in the competition. A total of 55 people were participating, grouped in 31 teams. Participants came from Australia, Canada, China, France, Germany, India, Israel, Italy, Spain, UK and USA. For the sequential tracks 14 domains, with 20 problems each, were selected, while the temporal one had 12 domains, also with 20 problems each. Both new and past domains were included. As in previous competitions, domains and problems were unknown for participants and all the experimentation was carried out by the organizers. To run the competition a cluster of eleven 64-bits computers (Intel XEON 2.93 Ghz Quad core processor) using Linux was set up. Up to 1800 seconds, 6 GB of RAM memory and 750 GB of hard disk were available for each planner to solve a problem. This resulted in 7540 computing hours (about 315 days), plus a high number of hours devoted to preliminary experimentation with new domains, reruns and bugs fixing. The detailed results of the competition, the software used for automating most tasks, the source code of all the participating planners and the description of domains and problems can be found at the competition’s web page: http://www.plg.inf.uc3m.es/ipc2011-deterministicThis booklet summarizes the participants on the Deterministic Track of the International Planning Competition (IPC) 2011. Papers describing all the participating planners are included

    Solving the course scheduling problem by constraint programming and simulated annealing

    Get PDF
    Thesis (Master)--Izmir Institute of Technology, Computer Engineering, Izmir, 2008Includes bibliographical references (leaves: 87-62)Text in English; Abstract: Turkish and Englishix, 80 leavesIn this study it has been tackled the NP-complete problem of academic class scheduling (or timetabling). The aim of this thesis is finding a feasible solution for Computer Engineering Department of İzmir Institute of Technology. Hence, a solution method for course timetabling is presented in this thesis, consisting of two phases: a constraint programming phase to provide an initial solution and a simulated annealing phase with different neighbourhood searching algorithms. When the experimental data are obtained it is noticed that according to problem structure, whether the problem is tightened or loosen constrained, the performance of a hybrid approach can change. These different behaviours of the approach are demonstrated by two different timetabling problem instances. In addition to all these, the neighbourhood searching algorithms used in the simulated annealing technique are tested in different combinations and their performances are presented

    Scheduling Live-Migrations for Fast, Adaptable and Energy-Efficient Relocation Operations

    Get PDF
    International audienceEvery day, numerous VMs are migrated inside a datacenter to balance the load, save energy or prepare production servers for maintenance. Despite VM placement problems are carefully studied, the underlying migration scheduler rely on vague adhoc models. This leads to unnecessarily long and energy-intensive migrations. We present mVM, a new and extensible migration scheduler. mVM takes into account the VM memory workload and the network topology to estimate precisely the migration duration and take wiser scheduling decisions. mVM is implemented as a plugin of BtrPlace and can be customized with additional scheduling constraints to finely control the migrations. Experiments on a real testbed show mVM outperforms schedulers that cap the migration parallelism by a constant to reduce the completion time. Besides an optimal capping, mVM reduces the migration duration by 20.4% on average and the completion time by 28.1%. In a maintenance operation involving 96 VMs to migrate between 72 servers, mVM saves 21.5% Joules against BtrPlace. Finally, its current library of 6 constraints allows administrators to address temporal and energy concerns, for example to adapt the schedule and fit a power budget

    Flexible plan execution using temporal planning and probabilistic models

    Get PDF
    Tese de mestrado integrado em Engenharia Física, Universidade de Lisboa, Faculdade de Ciências, 2020A inteligência sempre foi um dos fatores mais importantes para a espécie humana, daí nos termos chamado Homo Sapiens, que significa ”Homem sábio”. Desde a Antiguidade Grega que o Homem procura perceber o mundo à sua volta. Este desejo foi evoluindo durante séculos, até que o estudo da lógica matemática levou Alan Turing à Teoria de Computação, que sugere que uma máquina pode simular qualquer ato de dedução lógico através da manipulação de símbolos tão simples como ‘0’ e ‘1’. Esta ideia levou à cri ação de uma nova área científica, a Inteligência Artificial (IA), cujo propósito é criar programas capazes de demonstrar comportamento inteligente [42]. Um ramo específico da IA é o Planeamento, que trata a construção e execução de planos. Uma aplicação das tecnologias desenvolvidas em IA é a Robótica, que consiste no ramo de tecnologia responsável pelo desenho, construção, operação e aplicação de robôs, assim como de sistemas de controlo. Contudo, o Planeamento e a Robótica continuam a ser duas áreas científicas distintas, com os seus avanços distintos e conferências próprias. O objetivo desta tese consiste em estabelecer uma ponte entre o Planeamento e a Robótica, ao desenvolver um algoritmo inovador capaz de executar um plano temporal num ambiente perturbado, resistindo a mudanças inesperadas no meio ambiente e ao insucesso de ações. O algoritmo desenvolvido, denominado Olisipo, é uma evolução de um algoritmo desenvolvido previamente por Oscar Lima, Michael Cashmore, Daniele Magazzeni, Andrea Micheli e Rodrigo Ventura [33]. A versão original do algoritmo possuía uma fase offline e uma fase online. Este trabalho consistiu em melhorar a fase online, com a fase offline permanecendo inalterada. A fase offline usa um plano totalmente ordenado ∏tt, obtido a partir de um planeador já existente, e relaxa-o para obter um plano parcialmente ordenado ∏′ . Este plano parcialmente ordenado consiste em: uma rede com nós, correspondentes a todas as ações do plano totalmente ordenado inicial; e relações entre nós, nomeadamente temporais e de interferência. A fase online, que ocorre durante a execução do plano, consiste em utilizar uma procura Branch and Bound (B&B) [29] para construir, a partir de ∏′ , o plano totalmente ordenado com maior probabilidade de execução bem sucedida Γ, tendo em conta o estado atual. A procura B&B utiliza uma Rede de Bayes Dinâmica (RBD), construída iterativamente, para calcular a probabilidade de sucesso de um plano totalmente ordenado e podar a procura. Depois de encontrar Γ, a primeira ação desse plano é executada. Após a execução desta ação, o algoritmo Olisipo executa a última ação, de Γ, que seja compatível com o estado atual. Se nenhuma ação do plano for compatível com o estado atual, então um novo Γ é construído, utilizando ∏′ e o estado atual. Para testar e avaliar o algoritmo Olisipo, desenvolveu-se um ambiente virtual capaz de simular as perturbações do mundo real à execução de um plano. Com este propósito, o ambiente de simulação desenvolvido para o algoritmo original [33] foi extendido. Um código em Python foi desenvolvido para perturbar a Knowledge Base do ambiente virtual e, o código original escrito em C++, foi alterado para contabilizar a probabilidade de uma ação ser bem sucedida e a probabilidade dos efeitos de uma ação. As perturbações de factos no mundo e de ações ocorrem de forma aleatória, tendo em conta as probabilidades definidas pelo utilizador num ficheiro de texto. De seguida, estendeu-se o executor Esterel do ROSPlan [8] para servir como termo de comparação ao algoritmo Olisipo. Este simples executor executa um plano totalmente ordenado até a execução de uma ação falhar ou até uma ação deixar de ser aplicável. Quando isto acontece, o executor Esterel constrói um novo plano totalmente ordenado e tenta executá-lo. Este ciclo repete-se até o objetivo ser atingido ou até terem sido efetuados 10 replaneamentos, que foi definido como o número máximo de replaneamentos permitidos para ambos os algoritmos. Utilizou-se o planeador POPF [10] para construir o plano totalmente ordenado do executor Esterel, pois este também foi o planeador utilizado na fase offline do algoritmo Olisipo. Para comparar o algoritmo Olisipo e o executor Esterel, construiu-se um ambiente de simulação de um robô numa fábrica. Neste ambiente, o robô é responsável pela manuntenção de um conjunto de máquinas, de forma a evitar que alguma máquina se avarie e interrompa a produção. Cada máquina possui uma probabilidade diferente de se avariar e pode também receber uma manutenção aleatória não prevista, atualizando o seu estado. A ação de executar manutenção numa máquina, e de a máquina ser efetivamente mantida, tem também uma probabilidade de sucesso associada. A partir deste ambiente, dois domínios foram construídos, um domínio simples com apenas uma ação não-instanciada possível e outro com duas ações não-instanciadas possíveis. Para o domínio mais simples, foram construídos 10 problemas diferentes. Para o domínio mais complicado, foram construídos 8 problemas. As métricas escolhidas para avaliar o desempenho de cada algoritmo são: a probabilidade de uma execução bem sucedida; o número médio de replaneamentos em execuções bem sucedidas; o número médio de ações em execuções bem sucedidas e falhadas. A análise destas métricas foi feita a partir de 2000 tentativas de resolução de cada algoritmo em cada problema. Verificou-se que o algoritmo Olisipo supera o executor Esterel em todas as métricas. A partir dos resultados obtidos, é possível afirmar que o algoritmo Olisipo possui uma probabilidade de execução bem sucedida maior ou equivalente ao executor Esterel em todos os problemas testados, sendo que este aumento na probabilidade pode ir até aos 16%. Relativamente a replaneamentos em execuções bem sucedidas, o algoritmo Olisipo apresentou uma mediana de zero em todos os problemas, enquanto o executor Esterel apresentou uma mediana de até 2,2 replaneamentos. Relativamente ao número de ações executadas em execuções bem sucedidas, a mediana da distribuição correspondente ao algoritmo Olisipo foi sempre inferior à mediana correspondente à distribuição do executor Esterel. A melhoria relativa, apresentada pelo algoritmo Olisipo, no número de ações executadas em execuções bem sucedidas variou entre 10% e 52%. No caso de execuções falhadas, o algoritmo Olisipo também possuiu uma mediana inferior ao executor Esterel em todos os problemas, com uma melhoria relativa entre 39% e 58%. Com base nestes resultados, é possível concluir que o algoritmo Olisipo, relativamente a um simples executor como o Esterel, possui uma probabilidade de execução bem sucedida mais elevada, precisa de replanear menos vezes e executa menos ações, tanto em execuções bem sucedidas como falhadas. Estas vantagens do algoritmo Olisipo tornam-se particularmente interessantes em situações em que a execução de uma ação possui um custo ou resulta em consequências negativas. Considerando o exemplo utilizado anteriormente, de um robô que realiza manuntenção em máquinas numa fábrica, a execução de menos ações contribui para prolongar o tempo de trabalho do robô, uma vez que consumiria menos energia e precisaria de carregar as baterias com menos frequência. Esta vantagem é também útil em situações em que o robô não se encontre facilmente acessível ou em que não pode ser carregado facilmente. Por sua vez, o menor número de replaneamentos possibilita a utilização de um sistema computacional mais simples no robô, contribuindo também para a redução do seu consumo de energia. O código fonte do trabalho desenvolvido nesta tese é público 1 . Como o algoritmo Olisipo recebe apenas um plano totalmente ordenado e realiza uma execução de forma a maximizar a sua probabilidade de sucesso, é possível aplicar diretamente este algoritmo a outros planeadores, tornando a sua execução mais robusta. Relativamente ao trabalho futuro a desenvolver, uma possibilidade consiste em, durante a procura B&B, guardar outros planos totalmente ordenados, para além do plano que maximiza a probabilidade de sucesso. Isto pode ser útil pois as perturbações no ambiente podem, inesperadamente, tornar a execução de outro plano na execução com uma maior probabilidade de sucesso. Uma segunda possibilidade consiste em repetir a fase offline do Olisipo após um certo números de planos Γ serem consecutiva mente construídos ou após não ser possível construir um plano Γ. Uma terceira possibilidade consiste em guardar partes da árvore de procura e RBD, de forma a que, se for necessário procurar por um novo plano Γ e construir uma nova RBD, seja possível utilizar a árvore de procura e RBD anteriores para acelerar e facilitar as suas construções. Uma quarta possibilidade consiste em estudar o impacto da repetição da sub-fase PGen e verificar se podem haver outras soluções mais frutíferas. Uma quinta possibilidade consiste em otimizar o código desenvolvido, utilizando ferramentas como o Cython [3] para acelerar a sua execução. Por último, outra possibilidade consiste na implementação e teste do Olisipo num robô real, de forma a avaliar a sua praticabilidade e vantagens de forma mais concreta e relevante. Esta implementação consistiria num trabalho futuro bastante relevante.Planning is the branch of Artificial Intelligence which concerns the realisation of strategies or action sequences to be executed by intelligent agents. One of the assumptions considered in Classical Planning is the determinism of the world, meaning it is possible to predict with certainty the state resulting from the application of a certain action to another state. However, when the agent executing a plan is a robot interacting with the real world, then the agent is dealing with an uncertain and nondeterministic environment. In the real world, facts can unexpectedly change, actions are not instantaneous and their execution might fail. This makes the planning problem increasingly complex. This thesis aims to address the problem of executing a temporal plan in a perturbed environment. As a way to solve this problem, an algorithm capable of executing a temporal plan, while resisting unforeseen changes in the world, was developed and tested. The developed algorithm, named Olisipo, takes a probabilistic description of the world and aims to maximise the probability of a successful execution. In addition to this, the Olisipo algorithm acts as an add-on to external planners. The Olisipo algorithm is an improved version of the algorithm presented in [33]. This algorithm consists of an offline and an online phase. In the offline phase, a totally-ordered plan is relaxed and converted into a partially-ordered plan. In the online phase, Olisipo uses a Branch and Bound search to find the totally-ordered plan with the highest success probability. The success probability of a plan is calculated with a Dynamic Bayesian Network and a probabilistic description of the world. Afterwards, the algorithm tries to execute this plan while it is compatible with the state of the world, allowing for the skipping and repetition of actions, as well as for ignoring irrelevant facts in the world. If the plan stops being compatible with the state of the world, then a new totally-ordered plan is built. To test the performance of Olisipo, a simulation environment was created with 18 different problems. The Esterel dispatcher, from ROSPlan [8], was extended to act as a comparison term for the Olisipo algorithm. From the obtained results, it was shown that the Olisipo algorithm consistently had a higher probability of successfully solving a problem, performed fewer replans and also executed fewer actions, both for successful and failed executions. Hence, Olisipo offers a substantial improvement in performance for disturbed environments. Olisipo acts as an add-on to external planners and it has a public source code, so it can be implemented to improve the execution of any other planner
    corecore