Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:mfe:ia [2015/04/11 17:44]
stuetzle [Applications of the Multi-objective ACO framework]
teaching:mfe:ia [2016/03/14 16:18]
mdorigo [Swarm construction: Development of remote monitoring software for intelligent structures]
Line 1: Line 1:
-====== MFE 2013-2014 : Intelligence Artificielle ======+====== MFE 2015-2016 : Intelligence Artificielle ======
  
 ===== Introduction ===== ===== Introduction =====
Line 178: Line 178:
     * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​
  
- 
-===== Optimising Ant Colony Algorithms for Performance ====== 
- 
-Ants have inspired a number of computational techniques and among the most successful is ant colony optimization (ACO). ACO is an optimization technique that can be applied to tackle a wide variety of computational problems that arise in computer science, telecommunications,​ and engineering. 
- 
-The goal of this project is to improve the performance of ACO algorithms by investigating and testing various implementation techniques: intrinsic functions (MMX/SSE floating-point operations),​ CPU cache effects, or GPU programming. 
- 
-Required skills: knowledge of C programming. Some knowledge about computer architecture. 
- 
-  * Contacts :  
-    * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​ 
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​ 
-    
  
  
Line 213: Line 200:
     * [[http://​iridia.ulb.ac.be/​~lperez|Leslie Perez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~lperez|Leslie Perez (IRIDIA)]]
  
- 
- 
-===== Stochastic Local Search heuristics for solving NP-complete puzzles. ====== 
- 
-This project is about single player games (puzzles) and the design of algorithms for tackling hard combinatorial optimisation problems. ​ 
-Example puzzles are: [[http://​en.wikipedia.org/​wiki/​Light_Up|Light Up]], [[http://​en.wikipedia.org/​wiki/​Mastermind_(board_game)|Mastermind]],​ [[http://​en.wikipedia.org/​wiki/​Minesweeper_(video_game)|Minesweeper]],​ etc. 
- 
-The student will learn how to design and implement a Stochastic Local Search algorithm to solve NP-complete puzzles. The student will also learn how to analyse the performaces of the algorithm and perform statistically sound comparisons with the other algorithms available in literature. 
- 
-Required skills: good knowledge of C or C++ programming. ​ 
- 
- 
-  * Contacts :  
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​ 
-    * [[http://​iridia.ulb.ac.be/​~fmascia|Franco Mascia (IRIDIA)]] ​   
  
  
Line 244: Line 216:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​
 +    * [[http://​code.ulb.ac.be/​iridia.people.php?​id=1393|Alberto Franzin (IRIDIA)]] ​
  
  
  
-===== Formal verification of a swarm robotics behavior through statistical model checking ===== 
- 
-The goal of this thesis is to apply statistical model 
-checking to formally verify properties of a collective behavior of a 
-robot swarm. Verifying that a system behaves as desired in all 
-possible situations is necessary when autonomous robots are involved. 
-This is particularly true in swarm robotics systems, where the 
-interactions of large number of individuals can result in behaviors 
-difficult to predict. Model checking is a common technique to formally 
-prove properties of a system. However, its results are limited to 
-small systems, because medium-sized or large systems are 
-computationally impossible to analyze. 
- 
-This thesis is will explore the application of a novel model checking technique, called statistical model checking, to formally verify a swarm robotics system. A collective behavior will be firstly implemented in 
-simulation and then analyzed through statistical model checking. 
- 
-Required skills: the candidates should be acquainted with C/C++ 
-programming and have a working knowledge of the English language. 
- 
-  * Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Manuele Brambilla (IRIDIA) 
- 
- 
-===== ROBO-POINTER -- A New Device for Human-Robot Interaction ===== 
- 
-In this project, the student will design and implement a novel human-robots interaction system. 
-The human uses a special laser pointer (called robo-pointer),​ and by simply pointing to a specific robot he can select it, check its status on a dedicated monitor and send to the robot instructions. ​ 
- 
-Now, our arena is equipped with a multi-camera tracking system that allows to detect the 3D position of the robots. 
-The student will design a radio sensor network to detect the 3D position of the robo-pointer.  ​ 
-The two pieces of information will be combined to trigger the selection of the pointed robot. 
- 
-* Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Andreagiovanni Reina (IRIDIA) 
- 
- 
-===== Let a robot swarm get around home! ===== 
- 
-Robot swarms have very limited knowledge of their environment and therefore, moving around a complex environment (i.e., room with obstacles, building, ...) is a complex task. The idea of this project is to allow an overhead multi-camera tracking system -- that has a complete vision and knowledge of the environment -- to interact with a robot swarm in order to help the swarm move to a specific goal in the environment (for instance, moving from the kitchen to a bedroom of a house). ​ 
-The multi-camera tracking system'​s software is already developed. The student will be supposed to (i) develop a GUI that allows a human operator to specify a goal in the environment,​ (ii) design and implement a communication protocol (between the tracking system and the robot swarm) that guarantees efficiency and scalability and finally, (iii) test the interaction system in a simulated environment. 
- 
-* Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Gaëtan Podevijn, and Andreagiovanni Reina (IRIDIA) 
- 
- 
- 
- 
-===== Collective Decision Making with Heterogeneous Agents ===== 
- 
-Swarm robotics is an interesting approach to the coordination of hundreds of robots as it promotes the realization of systems which are scalable, robust and flexible. ​ 
-The master thesis will study how to provide a swarm system with the cognitive capability of collective decision making. 
-Each agent has partial knowledge of the available alternatives and of their quality estimate, however the swarm, as a whole, is able to decide for the best option. Recently, numerous works have studied strategies and algorithms to implement this process in distributed systems (often taking inspiration from biology, e.g., bees or cockroaches behaviour). One of the common characteristic of these works is that all the agents of the swarm has the same behaviour. In the Master Thesis project, the student will study how heterogeneity influences the global outcome. We will consider heterogeneity both in the individual behaviour (for instance, robots can estimate different option characteristics) and in the interaction network. 
- 
-In practice, the student is supposed to (i) model the collective decision making problem 
-(ii) design and implement multi-agents simulations,​ and (iii) analyse and discuss the obtained 
-results. Depending on the student skills and preferences,​ the work can focus more on theoretical 
-aspects, thus favouring the modelling and analysis of the problem, or can be more practical, 
-thus centring the thesis on the multi-agent implementation part. Possibly, a more practical 
-thesis could result (depending on the student skills) in the implementation of a real world 
-demonstrator with a swarm of up to 100 robots. 
- 
-* Contacts : [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo]] and Andreagiovanni Reina (IRIDIA) 
- 
- 
-===== Online Framework to Compose Robotic Solutions ===== 
- 
-The design of swarm robotics systems is a challenging task due to difficulties to predict and model swarm systems. 
-The most common approach is a trial-and-error process where the developer tries solutions, tests them in simulation and corrects the code to eventually achieve the desired global outcome. ​ 
- 
-The project aims to ease this design process: the developer have access to the code of already solved problems (called code-modules),​ and he can graphically combine the code-modules through a graphical interface to create his own solution. 
- 
-The student is supposed to design this novel online framework that offers two main functionalities:​ (1) to compose new solutions combining the existing code-models to solve new open problems, and (2) to code new code-modules and submit them to the online system. ​ 
- 
-* Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Andreagiovanni Reina, and Gianpiero Francesca (IRIDIA) 
- 
- 
-===== UML for Swarm robotics: formal specification of a collective behavior ===== 
- 
-Swarm robotics is an interesting approach to the 
-coordination of hundreds of robots as it promotes the realization of 
-systems which are scalable, robust and flexible. However, up to now, 
-swarm robotics application has been quite limited, also due to the 
-lack of an engineering approach to its development. 
-In particular, formal specification has not been applied yet to swarm 
-robotics systems. 
- 
-In this thesis, we will explore possible ways to formally specify 
-swarm robotics systems. As a starting point we will consider UML and 
-UML extensions like AUML and UML for multi-agent systems. If 
-necessary, we will develop a specific extension for swarm robotics 
-systems. Once the preliminary work is done we will consider an 
-example, perform formal specification of a task and then implement the 
-system in simulation. 
- 
-Required skills: the candidates should be acquainted with C/C++ 
-programming,​ have a good knowledge of formal specification and UML, 
-and have a working knowledge of the English language. 
- 
-  * Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Manuele Brambilla (IRIDIA) 
- 
- 
-===== A GUI for debugging the behavior of a robot swarm ===== 
- 
-Debugging a robot swarm is a complex and difficult task. 
-The desired behavior of the swarm is the result of the complex 
-non-linear interactions of tens or hundreds of robots. When 
-implementing a swarm robotics system, very often it is necessary to 
-analyze individually the output of the execution of each robot, a very 
-long and boring process. Since the goal of the developer is to obtain 
-a specific collective behavior, it would be better to debug the system 
-at the collective level and, only if necessary, at the individual 
-level. 
- 
-In this thesis we will analyze a possible way to debug the collective 
-behavior of a swarm of robots, using macroscopic and microscopic 
-modeling. The goal is to develop a GUI that shows the state of the 
-collective behavior of the system, and if the user requires it, the 
-state of a single robot. We will start with a version of the debugging 
-GUI that interface with the ARGoS simulator and eventually one that 
-interfaces with the real robots. 
- 
-Required skills: the candidates should be acquainted with C/C++ 
-programming,​ GUI programming (QT/C++ or QT/Python or Java) and have a 
-working knowledge of the English language. 
- 
- 
-  * Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Manuele Brambilla (IRIDIA) 
- 
- 
- 
- 
-===== A virtual machine for mobile code in a swarm of robots ===== 
- 
-Mobile code is a technology whereby nodes in a network of 
-computing nodes exchange code. In other words, code migrates from 
-machine to machine like an agent navigating an environment. Mobile 
-code is a promising technology for swarm robotics because it would 
-enable a new, novel type of robot-to-robot interaction. The aim of this 
-project is produce a simple, yet high-performance virtual machine to 
-support code exchange in a swarm of robots. A simple experiment with 
-the robots demonstrating the capabilities of the VM will be performed. 
- 
-Required Skills: Good knowledge of C 
- 
- 
-  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Carlo Pinciroli (IRIDIA) ​ 
- 
- 
- 
-===== Swarmscope ===== 
- 
-One the main problems in the development of swarm robotics 
-systems is the difficulty of producing, analyzing and debugging code for 
-large distributed systems. The aim of this project is to produce a set of 
-innovative tools to aid the development of complex swarm robotics 
-systems. The produced tools will involve new, creative visualization 
-methods and media, novel human-robot swarm interaction and effective 
-debugging tools. 
- 
-Required Skills: Good knowledge of C++ and Qt4 
- 
-  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Carlo Pinciroli (IRIDIA) ​ 
- 
- 
-===== Automatic fitness function definition in evolutionary robotics ===== 
- 
-Evolutionary robotics is a fascinating approach to the design of robot controllers that takes inspiration from natural evolution. 
- 
-In order to obtain a robot that is able to perform a desired task, the evolutionary robotics approach considers a population of robots that evolves in time. Each robot is characterized by a genotype that defines somehow its behavior. Each robot is evaluated according to a fitness function that measures the ability of the robot to perform the desired task. Robots with a low fitness are eliminated. Robots with a high fitness remain in the population and generate offsprings -- e.g., robots with a similar genotype obtained via mutation and/or cross-over. Through this process, generation by generation, the evolutionary robotics approach is able to obtain robots that present higher and higher fitness and that are therefore able to perform the desired task more and more effectively. 
- 
-One of the main open problems in evolutionary robotics is that the definition of an appropriate fitness function is a very complex, labor-intensive,​ and time-consuming activity that requires the attention of an expert researcher. 
- 
-The goal of this master thesis is to devise an automatic method to define a fitness function in order to obtain a robot that is able to perform a desired task. This automatic method will be based on machine learning and metaheuristic algorithms. In particular, it will draw ideas from the fields of reinforcement learning and of on-line adaptation of parameters in optimization algorithms. 
- 
-Required skills: The candidates should be acquainted with C/C++ programming and have a working knowledge of the English language. 
-  
-* Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Marco Dorigo, Vito Trianni (IRIDIA) ​ 
- 
- 
-===== Evolution of Modular Controllers for Simulated and Real Robots ===== 
- 
-The goal of this master thesis is investigating how modularity in a robot controller can influence the quality of the behaviours obtained through artificial evolution. 
-Similarly to the nervous system that can be divided in central and peripheral, the project will study a modular architecture for neural network controllers. The peripheral modules encode the information coming from the sensory subsytems or going to the motor apparatus. The central system encodes the behavioural rules that map sensations to actions. The project will study methods to develop the peripheral modules by maximising the information transfer from the sensory input and to the motor output, on the basis of measures derived from Information Theory. 
-The project will involve experimental activities with both simulated and real robots, and will investigate both individual and collective behaviours. 
- 
-Required skills: The candidates should be acquainted with C/C++ programming and have a working knowledge of the English language. 
- 
-* Contact: [[http://​iridia.ulb.ac.be/​~vtrianni|Vito Trianni]], Marco Dorigo (IRIDIA) ​ 
- 
- 
-===== Localisation and tracking of components in self-assembling systems ===== 
- 
-The goal of this project is to apply computer vision techniques to track the growth of structures in self-assembling systems. The ability to track the growth of structures will shed light on the dynamics of self-assembly;​ an aspect of self-assembly that has not been well researched in the macroscopic context. 
- 
-As part of the project, the student will have to: (a) find suitable hardware (combination of camera, lens, lighting, etc.), (b) localise multiple components in an environment,​ (c) track the components in the environment,​ and (d) track the assembly of components in the environment. 
- 
-Required skills: the candidates should be able to program in C++ and have a working knowledge of the English language. 
- 
- * Contacts : [[http://​iridia.ulb.ac.be/​~mdorigo/​HomePageDorigo/​ | Marco Dorigo]] and Dhananjay Ipparthi (IRIDIA) 
  
  
Line 533: Line 310:
  
  
-===== Automatic fine-tuning of an evolutionary multi-objective framework ===== 
  
-The goal of this project is to explore the possibilities of using automatic configuration tools for fine-tuning an existing [[http://​paradiseo.gforge.inria.fr/​index.php?​n=Paradiseo.MOEO|evolutionary multi-objective framework]]. The student will learn about automatic configuration tools, evolutionary algorithms for multi-objective optimization problems and analysis and comparison of multi-objective algorithms. 
- 
-  * Contacts :  
-    * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]] 
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]] ​ 
- 
-  
 
teaching/mfe/ia.txt · Last modified: 2024/07/01 16:15 by stuetzle