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 [2011/03/22 14:48]
stuetzle
teaching:mfe:ia [2013/04/03 11:06]
stuetzle
Line 1: Line 1:
-====== MFE 2011-2012 : Intelligence Artificielle ======+====== MFE 2013-2014 : Intelligence Artificielle ======
  
 ===== Introduction ===== ===== Introduction =====
Line 7: Line 7:
 Ces sujets sont prêt à être encadrer, mais il va s'en dire qu'ils ne sont pas uniques. Les étudiants sont vivement encouragés à prendre contact avec Hugues Bersini (bersini AT ulb.ac.be) ou Marco Dorigo (mdorigo AT ulb.ac.be) afin de discuter de l'une ou l'​autre initiative inspirée pouvant faire l'​objet dun autre sujet de MFE ou de préciser le cadres, le contenu et les attentes relatives au sujets présentés. Ces sujets sont prêt à être encadrer, mais il va s'en dire qu'ils ne sont pas uniques. Les étudiants sont vivement encouragés à prendre contact avec Hugues Bersini (bersini AT ulb.ac.be) ou Marco Dorigo (mdorigo AT ulb.ac.be) afin de discuter de l'une ou l'​autre initiative inspirée pouvant faire l'​objet dun autre sujet de MFE ou de préciser le cadres, le contenu et les attentes relatives au sujets présentés.
  
-===== Exploration,​ exploitation and evaluation of the .Net Linq library for the problem of object permanence. ===== 
  
-The MFE will consist in a deep exploration of the +===== Développer un programme informatique permettant une analyse statistique en vue de  l'​évaluation d'un module psychothérapeutique=====
-very new microsoft Linq library which aims at resolving +
-the classical problem of mapping between the OO and the relational +
-and the XML world. The different additions of .Net necessary +
-to the implementation of this library will be studied. The +
-library will also be tested in terms of robustness and performance +
-as compared with the previous existing solutions coming from other technological platforms (Java, PHP, ...). This memoire will be a follow up of a previous memoire+
  
 +Ce mémoire se fera en collaboration avec l'​équipe médicale du centre pour l'​anorexie et la boulimie de l'​hôpital Erasme. Il consistera en l'​analyse informatisée des données récoltées lors d'​entretiens avec le patient et sa famille au cours du traitement. Les données sont actuellement stockées dans dans une base de données SPSS.  Le mémoire consistera pour l'​essentiel au traitement de ces données par des approches "​Machine Learning"​ et "Data Mining"​ dans une perspective de Quality Management. ​
  
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​
  
-===== Développer un programme informatique permettant une analyse statistique en vue de  ​l'évaluation d'un module psychothérapeutique. ​=====+===== Contribution à l'amélioration de la plateforme génomique In Silico DB =====
  
-Ce mémoire se fera en collaboration avec l'équipe médicale du centre pour l'anorexie ​et la boulimie ​de l'hôpital Erasme. Il consistera ​en l'analyse informatisée des données récoltées lors d'​entretiens avec le patient et sa famille au cours du traitement+Une nouvelle spin-off a vu le jour depuis un an à IRIDIA: In Silico DB (https://​insilicodb.org/​) mettant à disposition sous une forme aisément exploitable des centaines de milliers d'échantillons de données génomiques permettant un meilleur diagnostic des maladies d'origine génétique ​et une meilleure compréhension de la biologie moléculaire. L'​équipe qui s'en occupe a un besoin pressant ​de développeurs informatiques permettant d'​en ​améliorer ​l'interface. Des connaissances en programmation Web sont souhaitées
  
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​
  
  
 +===== Etude pratique et expérimentale du langage de programmation F# =====
 +
 +Depuis quelques années, Microsoft met en avant un nouveau langage de programmation F# créé dans le sillage des langages dits déclaratifs ou fonctionnels. Il semblerait que ce langage soit idéal pour le traitement des données. Le MFE consistera en une étude expérimentale de ce langage et un comparatif avec les langages de programmation aujourd'​hui les plus usités. ​
 +
 + * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​
  
 ===== Etude et réalisation orientée objet d'une cellule minimale ===== ===== Etude et réalisation orientée objet d'une cellule minimale =====
Line 39: Line 38:
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​
  
 +===== Réorganisation sous forme OO et UML d’un code de simulation climatique =====
  
 +Ce mémoire se déroulera en collaboration avec le professeur Jean-Pascal van Ypersele de l’UCL, vice président du GIEC, groupe de recherche sur l’évolution climatique. La plupart des codes de simulation climatique sont rédigés en Fortran en exploitant peu les principes de la programmation OO. Ce mémoire consistera en la sélection d’un logiciel de simulation climatique assez simple, plutôt à vocation didactique, et sa réécriture sous forme OO, en faisant un recours intensif aux diagrammes UML et aux Design Patterns.
 +
 +  * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]] ​
 +
 +===== Réorganisation sous forme OO et UML d’un code de contagion systémique d'un réseau de crédits interbancaire ​ =====
 +
 +La crise financière actuelle a permis de mettre en lumière les risques de contagion systémique liés à la faillite de certaines banques. En effet, la plupart du temps, les banques forment entre elles un réseau de crédit interbancaire qui, à la fois les rend plus solides, mais aussi plus vulnérables à la défection de l’une ou l’autre. De nombreux logiciels ont été écrits afin d’étudier plus en détail ce risque. Le mémoire consistera en la sélection d’un de ces logiciels déjà clairement identifiés et sa réécriture sous forme OO, en faisant un recours intensif aux diagrammes UML et aux Design Patterns.
 +
 +  * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
 + 
 ===== Data/text mining - Traitement automatique de documents sur base de leur contenu ===== ===== Data/text mining - Traitement automatique de documents sur base de leur contenu =====
  
Line 66: Line 76:
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
  
 +===== Etude de la topologie de réseaux d'​acteurs extraits à partir de romans célèbres ​ ===== 
 +
 +De plus en plus de scientifiques sont convaincus qu’une même topologie de réseaux (c'​est-à-dire la manière dont les nœuds en sont connectés) se retrouve dans de nombreux réseaux, pourtant extraits de réalités très diverses (Web, Internet, réseaux sociaux, biologiques,​ épidémiques). Cette topologie leur conférerait des propriétés intéressantes comme une plus grande robustesse ou une communication réduite entre les nœuds. Il est possible de construire des réseaux lexicaux à partir d’un document quelconque, par exemple, en connectant deux mots qui apparaissent dans une même phrase. Le MFE consistera en un développement logiciel ayant pour but la réalisation automatique d'un réseau de personnages de romans (Harry Potter, les Misérables et autres) à partir des dialogues présents dans ces romans. Les liens seront également pondérés comme résultat d'une analyse de sentiments faite à partir de ces mêmes dialogues. On procédera ensuite à l’étude automatisée de leur topologie : distance inter-nœuds,​ degré de clustering, etc …
 +
 +  * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
  
 ===== Expérimentation des designs patterns pour la modélisation de systèmes biologiques complexes ===== ===== Expérimentation des designs patterns pour la modélisation de systèmes biologiques complexes =====
Line 94: Line 109:
  
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
 +
 +===== Mise au point d’un système automatique de génération d'​équations différentielles au départ d’un diagramme d’état-transition =====
 +
 +Le diagramme d’état-transition représente le cycle de vie d’un objet, de sa naissance à sa disparition,​ en suivant les différents états par lesquels cet objet transite. Lorsqu'​il s'agit d'​objets biologiques,​ il est possible de ré-interpréter ce diagramme comme la transition d'​une ​
 +partie d'une population d'​objets dans un certain d'​état dans l'​état qui
 +suit. Dans ce cas, ce diagramme peut se traduire sous forme d'un système
 +d'​équations différentielles que l'on devra pouvoir générer automatiquement. ​
 +
 +  * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
 +  * 
 ===== Mise au point d’un langage de modélisation de systèmes biologiques inspiré des diagrammes de classe et d'​état/​transition UML ===== ===== Mise au point d’un langage de modélisation de systèmes biologiques inspiré des diagrammes de classe et d'​état/​transition UML =====
  
Line 99: Line 124:
  
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
 +
 ===== Comparaison via la simulation informatique d'une économie de marché de nature concurrentielle et une autre plus redistributive===== ===== Comparaison via la simulation informatique d'une économie de marché de nature concurrentielle et une autre plus redistributive=====
  
 Les économistes nous assènent à l'envi que l'​économie se doit d'​être compétitive et parfaitement concurrentielle. Est-ce si vrai ? L'​économie de marché ne peut-elle exister que sur un mode concurrentiel pour assurer au mieux le bonheur du plus grand nombre d'​agents économiques ? Nous adresserons cette question par l'​entremise de modèles économiques multi-agents mettant en présence des producteurs,​acheteurs,​ consommateurs et vendeurs, et les faisant se comporter d'​abord sur un monde compétitif (économie de marché de type enchère) et ensuite aléatoire. Nous étudierons ​  la manière dont le bien-être cumulé par les agents consommateur est distribué parmi eux. Ce mémoire fait suite à un mémoire réalisé par un étudiant de Solvay l'​année passée et donc il pourra repartir d'un logiciel existant. ​ Les économistes nous assènent à l'envi que l'​économie se doit d'​être compétitive et parfaitement concurrentielle. Est-ce si vrai ? L'​économie de marché ne peut-elle exister que sur un mode concurrentiel pour assurer au mieux le bonheur du plus grand nombre d'​agents économiques ? Nous adresserons cette question par l'​entremise de modèles économiques multi-agents mettant en présence des producteurs,​acheteurs,​ consommateurs et vendeurs, et les faisant se comporter d'​abord sur un monde compétitif (économie de marché de type enchère) et ensuite aléatoire. Nous étudierons ​  la manière dont le bien-être cumulé par les agents consommateur est distribué parmi eux. Ce mémoire fait suite à un mémoire réalisé par un étudiant de Solvay l'​année passée et donc il pourra repartir d'un logiciel existant. ​
 +
 +  * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
 +
 +===== Etude des instabilités dynamiques des marchés boursiers =====
 +
 +Malgré la théorie économique voyant dans le marché un processus auto-régulé et stable, le fonctionnement de la bourse et de la finance se caractérisent par d'​incessantes instabilités dynamiques: bulles spéculatives et autres... Ce MFE aura pour objet une modélisation d'un marché boursier très simplifié dans lesquels seront pris en compte les mimétismes des "​traders"​ souvent responsables de phénomènes de feedbacks positifs menant à ces instabilités. ​
  
   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]   * Contact : [[http://​code.ulb.ac.be/​iridia.people.php?​id=1|Hugues Bersini (IRIDIA)]]
Line 127: Line 159:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari (IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
Line 142: Line 174:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari (IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
Line 158: Line 190:
  
   * Contacts :    * Contacts : 
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
  
  
-===== Stochastic local search algorithms for weighted maximum clique problems. ====== 
  
-The Maximum Clique Problem is an NP-hard combinatorial optimisation problem that asks to find the biggest completely +===== Design ​of a graphical interface for an automatic configuration tool=====
-connected component ​of a graph. It has relevant applications in information retrieval, computer vision, social network +
-analysis, computational biochemistry,​ bioinformatics and genomics+
  
-Among the possible generalisations ​of the problem ​there is the Vertex Weighted ​and Edge Weighted Maximum Clique which asks to find the clique of maximum weight. Being generalisations they are also NP-hard. The goal of the project is to devise heuristic algorithms or adapt existing algorithms ​of the Maximum Clique ​for weighted version. +Optimization algorithms have a number of parameters that strongly 
- +affect their efficiency. For many years the setting ​of these 
-Required skills: good knowledge ​of C or C++ programming+parameters was done by hand; a tedious task that requires a lot of 
 +human involvement. Nowadays, some tools are available to automatize this task by considering ​the setting of the parameters as a "​meta"​-optimization ​problem. One of these tools for automatic configuration (the irace package: http://​iridia.ulb.ac.be/​irace) has been developed at IRIDIA, ​and has been already applied successfully ​to many algorithms. The goal of this project is to design a graphical interface on top of the existing software, to help the user to set-up his particular tuning problem, to visualize information about the tuning process while it is on-going and when it has completed, and to integrate statistical tools for the analysis ​of the tuner results.
  
 +The student will have to implement a Graphical front-end on top of the
 +existing software implemented in R, using a cross-platform library
 +such as Qt (http://​qtinterfaces.r-forge.r-project.org/​). ​ Some
 +additions to the original software may be required, and the student
 +will have to work in collaboration with the team of developers of
 +irace at IRIDIA.
  
   * Contacts :    * Contacts : 
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]]  +    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]]  
-    * [[http://​iridia.ulb.ac.be/​~fmascia|Franco Mascia ​(IRIDIA)]] ​  ​+    * [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari (IRIDIA)]]  
 +    * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]] 
 +    * [[http://​iridia.ulb.ac.be/​~jdubois|Jérémie Dubois-Lacoste ​(IRIDIA)]]
  
  
Line 182: Line 220:
  
 This project is about single player games (puzzles) and the design of algorithms for tackling hard combinatorial optimisation problems. ​ This project is about single player games (puzzles) and the design of algorithms for tackling hard combinatorial optimisation problems. ​
-Example puzzles are: <a href="http://​en.wikipedia.org/​wiki/​Light_Up">Light Up</a><a href="http://​en.wikipedia.org/​wiki/​Mastermind_(board_game)">Mastermind</a><a href="http://​en.wikipedia.org/​wiki/​Minesweeper_(video_game)">Minesweeper</a>, etc.+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. 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.
Line 190: Line 228:
  
   * Contacts :    * Contacts : 
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~fmascia|Franco Mascia (IRIDIA)]] ​       * [[http://​iridia.ulb.ac.be/​~fmascia|Franco Mascia (IRIDIA)]] ​  
  
  
-/*+===== Analysis of Local Optima Networks for the Max-Clique problem. ======
  
-===== Swarm robotics using the e-puck platform =====+Stochastic Local Search algorithms search for optimal solutions in a large space of candidate solutions. Local Optima Networks (LON) are representations of search landscapes of combinatorial optimisation problems. In these networks, nodes are local optima of the problem, and edges are weighted transitions between the optima. These networks model in a more compact way the properties of the larger search spaces they represent.
  
 +The goal of this project is to build LON of small instances of the Maximum Clique (MC) problem, and measure properties that could illustrate the differences between instance families.
  
-The e-Puck is robot developed by the Ecole Polytechnique Fédérale de Lausanne, Switzerland. It is equipped with a dsPIC micro-controller,​ it has an RS232 and a bluetooth interface8 infrared proximity sensorsa 3 axis accelerometer3 microphones and a speakera color camera with a resolution of 640x480 pixels ​and 8 red leds for displaying patterns.+The MC problem is an NP-hard combinatorial optimisation problem that asks to find the biggest completely connected component of graph. It has relevant applications in information retrievalcomputer visionsocial network analysiscomputational biochemistrybioinformatics ​and genomics.
  
-In the last years, a number of projects carried out at IRIDIA developed a set of tools and a fully functional platform to work efficiently with  e-puck robots. In particular, a precise description of the properties of the robots, software libraries and an accurate simulator are now available. ​ A number of controllers were developed and successfully tested on the robots. 
  
-The goal of the project ``Swarm robotics using the e-puck platform''​ is to design and carry out experiments of swarm robotics that are typically bio-inspired and involve several robots. ​ Possible experiments include p2p communication networks for path finding, flocking for exploration,​ transport of objects and aggregation of robots. 12 e-Puck will be available for the project.+Required skills: good knowledge ​of C or C++ programming
  
-The project is tightly connected to the research in swarm robotics carried out at IRIDIA and in particular to the EU funded //​Swarmanoid//​ project, the aim of which is to study new approaches to the design and implementation of self-organizing and self-assembling artifacts. See [[http://​www.swarmanoid.org]] for more details. 
  
-Required skills: The candidates should ​be acquainted with C/C++ programming and have working ​knowledge of the English language.+  * Contacts ​ 
 +    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle (IRIDIA)]]  
 +    * [[http://​iridia.ulb.ac.be/​~fmascia|Franco Mascia (IRIDIA)]] ​   
 + 
 + 
 +===== Feature Extraction and Automatic Algorithm Selection. ====== 
 + 
 +The performance of (Stochastic Local Search) algorithms for a given problem depends on the algorithm design and on the setting of the algorithm'​s parameter. Given a heterogeneous set of instances for a given problem a good algorithm design (or parameter configuration) for one instance is not necessary the best design for all instances. On the contrary a tuning of an algorithm on a specific family of similar instances may affect negatively its performance on other families of instances.  
 + 
 +The thesis will focus on devising automatic methods for extracting features from the instances, select the relevant features, and learning (in the framework of multi-class classification) the 
 +relationship,​ if there is one, between the instances features and the best algorithm for the instance. ​The results will be instrumental for algorithm selection or the creation of portfolios of complementary algorithms suitable for large sets of diverse instances for a given problem. 
 + 
 + 
 +Required skills: good knowledge of or C++ programming and of scripting language (e.g., python); good knowledge of machine learning methods would also be helpful 
  
   * Contacts :    * Contacts : 
-    * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo ​(IRIDIA)]]  +    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas Stützle ​(IRIDIA)]]  
-    * [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari ​(IRIDIA)]] ​ +    * [[http://​iridia.ulb.ac.be/​~fmascia|Franco Mascia ​(IRIDIA)]] ​  ​
-  +
-*/+
  
-===== Self-organized task allocation in swarm robotics ===== 
  
-Swarm robotics is an innovative branch of collective robotics that aims at designing robot behaviors by taking inspiration from social animals, such as ants and bees. "Task allocation"​ in such robotic swarms is the problem of "who is doing what job and when?" Obviously, this problem of assigning jobs to a whole swarm robots can be very difficult, especially when using many robots that cannot communicate with each other on a global level. 
  
-The goal of the project is to implement new algorithms for solving this problem on the e-Puck robot and run extensive experiments with this robot in various environments. The project will involve experimentation with about 30 real e-Pucks. The project is tightly connected to the research in swarm robotics ​carried out at IRIDIA.+===== Formal verification ​of swarm robotics ​behavior through statistical model checking =====
  
-Required skills: ​The candidates should be acquainted with C/C++ programming and have working knowledge ​of the English language.+The goal of this thesis is to apply statistical model 
 +checking to formally verify properties of collective behavior ​of 
 +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.
  
-  * Contacts: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Marco Dorigo, Arne Brutschy, Giovanni Pini (IRIDIA)+This thesis is will explore the application of a novel model checking technique, called statistical model checking, to formally verify a swarm robotics systemA collective behavior will be firstly implemented in 
 +simulation and then analyzed through statistical model checking.
  
-===== Studying collaboration between flying robots ​and ground-based robots =====+Required skills: the candidates should be acquainted with C/C++ 
 +programming ​and have a working knowledge of the English language.
  
-In previous studies, it has been shown that multiple ground-based robots can autonomously form various patterns by attaching to each otherThese robots used simple rule sets and local communication to form pre-defined or random patternsIn this thesis, the student will study how flying robots can collaborate with ground-based robots to select and control the pattern formation processThe student will implement the results of his study and various other algorithms that would facilitate such a collaboration. In order to gain a sound understanding of the matter, the student will first study and benchmark collaboration techniques used in existing robotic systems including flying and ground-based robots.+  * Contacts : [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] ​and Manuele Brambilla (IRIDIA)
  
-A possible candidate student must be very motivated, ready to invest extra hours into the thesis, and have a good grasp of C++.  The working ​ language is English. 
  
-  * Contacts[[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Marco Dorigo, Nithin Mathews (IRIDIA)+===== UML for Swarm roboticsformal specification of a collective behavior =====
  
-===== Adaptive collective alignment with a swarm of e-puck ​robots ​=====+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.
  
-Flocking is a fascinating behavior that birds are able to achieve without ​leader or a common frame of referenceMoreoverin some cases, the group goes in the correct direction even if only small proportion of the group knows the goal directionThis allows birds to avoid a predator even if only a subset of the flock sees it. We want to study one of the most interesting aspects of this mechanism, that is how a group can align collectively to common direction ​and change this direction over time according to some stimuli perceived only by a small minority of individuals.+In this thesis, we will explore possible ways to formally specify 
 +swarm robotics systems. As starting point we will consider UML and 
 +UML extensions like AUML and UML for multi-agent systemsIf 
 +necessarywe will develop ​specific extension for swarm robotics 
 +systemsOnce the preliminary work is done we will consider an 
 +example, perform formal specification ​of a task and then implement the 
 +system in simulation.
  
-The goal of this project is to apply a methodology,​ so far studied only in simulation, to the e-puck robotsin order to tackle the adaptive collective alignment problem. A group of e-pucks has to reach consensus ​and turn to a common random heading directionusing common light source as reference point. Furthermore,​ when an obstacle is perceived by a small minority ​of the group, consensus should be achieved in order to align to a new direction which allows them to avoid the obstacle.+Required skills: ​the candidates should be acquainted with C/C++ 
 +programminghave a good knowledge ​of formal specification ​and UML, 
 +and have working knowledge ​of the English language.
  
-Required skillsThe 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)
  
  
-  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Marco Dorigo, Eliseo Ferrante, Ali Emre Turgut (IRIDIA)+===== A GUI for debugging the behavior of a robot swarm =====
  
-===== Scalable aggregation in swarm robotics without global information ​or environmental clues =====+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.
  
-Several studies in biology have shown that group of social insects are able to gather ​to a particular spotThis process ​is usually driven by environmental clues such as shadows projected by shelter (cockroaches) or temperature gradients (bees). These studies have been a source ​of inspiration for several algorithms in swarm robotics. Is it possible to achieve ​the same result without an environmental clue? Do we need global information in order to let a group of robot gather in one place?+In this thesis we will analyze a possible way to debug the collective 
 +behavior of swarm of robots, using macroscopic and microscopic 
 +modelingThe goal is to develop ​GUI that shows the state of the 
 +collective behavior of the system, and if the user requires ​itthe 
 +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.
  
-The goal of this project is to study how to solve an aggregation task without relying on environmental clues or global signaling. The problem can be seen as an exploration-exploitation trade-off tackled by a single robot. The robot has to select between keeping exploring, that is, finding the the largest aggregate, or exploiting, that is join previously created aggregate. The study will be conducted only in simulation and will concern comparing different approaches for decision making or different communication strategies.+Required skills: the candidates should ​be acquainted with C/C++ 
 +programmingGUI programming (QT/​C++ ​or QT/Python or Java) and have a 
 +working knowledge of the English language.
  
-Required skills: The candidates should be acquainted with C++ programming and have a working knowledge of the English language. 
  
-  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]], Marco Dorigo, Eliseo Ferrante, Ali Emre Turgut ​(IRIDIA)+  * Contacts ​: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] ​and Manuele Brambilla ​(IRIDIA)
  
-===== A comparison of decision-making strategies for adaptive foraging in swarm robotics ===== 
  
-Group of social insects are able to efficiently find the (shortest) path to the a food source and even to differentiate between the quality of two food sources. Studies with ants showed that this mechanism is driven by the perception of stimuli from chemical substances like pheromone. Moreover ants are able to collectively modify their choices if there are changes in the environment,​ that is, if a source becomes better than another. These ideas have been a source of inspiration for several algorithms in swarm robotics which solves a similar problem (retrieval of objects) by using different types of stimuli such as the encounter rate of objects. 
  
-The goal of this project is to perform a study on how to solve a foraging task in which robots have to choose between staying at the nest or go foraging for different energy sources. The optimal strategy might change over time. What happens if all the robots go to the best source? Will these "​traffic jams" slow the process? Is it possible to avoid this problem? What if source quality changes over time? The study will be conducted only in simulation and will concern comparing different approaches and different metrics to measure stimuli. 
  
-Required skills: The candidates should be acquainted with C++ programming and have working knowledge ​of the English language.+===== A virtual machine for mobile code in swarm of robots =====
  
-  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]]Marco Dorigo, Eliseo Ferrante, Manuele Brambilla (IRIDIA)+Mobile code is a technology whereby nodes in a network of 
 +computing nodes exchange codeIn other words, code migrates from 
 +machine to machine like an agent navigating an environmentMobile 
 +code is a promising technology for swarm robotics because it would 
 +enable a new, novel type of robot-to-robot interactionThe aim of this 
 +project is produce a simpleyet 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.
  
-===== KaleidoscopeCreating temporal motion patterns in a swarm of robots =====+Required SkillsGood knowledge ​of C
  
-In swarm robotics, agents are programmed in such a way that local actions and simple interactions among agents result in complex, swarm-level dynamics. At present, the design of swarm robotic control systems is more of a craft than a science, mainly because significant design patterns are still to be identified and studied. This project aims to discover and study temporal patterns in robot motion, and subsequently to encode them into reusable design patterns. Each robot is assumed to possess a limited set of capabilities,​ such as the ability to change body color and to perceive other robots and their  
-colors in a short range. Individual controllers are derived from a very simple but powerful mathematical model. The work of the student will be to code and analyze robot controllers,​ both with simulated and real robots. The most important required skills are a good knowledge of C and C++ and no fear of mathematics. The working language is English. 
  
 +  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]] and Carlo Pinciroli (IRIDIA) ​
  
-  * Contact: [[http://​iridia.ulb.ac.be/​~mbiro|Mauro Birattari]],​ Marco Dorigo, 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) ​
 +
 +
 +===== Self-organized visual coverage in a swarm of robots =====
 +
 +Systems composed of several inter-connected cameras are already a reality in our everyday lives. The prime application of such systems is video-surveillance,​ but the possibilities off ered by multiple-camera systems can extend to other interesting scenarios, such as environment mapping, 3D shape-reconstruction and object recognition. In all these scenarios, the problem of finding the right
 +position of a set of cameras in order to maximize the visual field, or the amount of information available, is not always a simple one. Furthermore,​ systems consisting of cameras in a fixed position present obvious issues of robustness and flexibility.
 +Multi-robots systems can provide an interesting mean to overcome this issues. Robots navigating in the enviroment can change their position as a result of changes in the enviroment or in the overall system'​s objective. A centralized control solution for these systems is still not a desirable one, as it introduces a single point of failure and it can suff er from performance issues.
 +The Swarm Robotics paradigm o ffers a valid approach to the design of a multiple camera system. In this project, we want to study the possibility to develop a control strategy that enables a swarm of robots to position themselves into an unknown environment,​ maximizing the area covered by their visual fields, while relying only on their image processing system and on local communication.
 +
 +Required skills: The candidate 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]] and Alessandro Stranieri (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) ​
  
  
Line 385: Line 522:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
  
  
Line 394: Line 531:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
     * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​     * [[http://​iridia.ulb.ac.be/​~mdorigo|Marco Dorigo (IRIDIA)]] ​
  
Line 404: Line 541:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
  
  
Line 413: Line 550:
   * Contacts :    * Contacts : 
     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]     * [[http://​iridia.ulb.ac.be/​~manuel|Manuel López-Ibáñez (IRIDIA)]]
-    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stuetzle ​(IRIDIA)]] ​+    * [[http://​iridia.ulb.ac.be/​~stuetzle|Thomas ​Stützle ​(IRIDIA)]] ​
  
    
 
teaching/mfe/ia.txt · Last modified: 2024/07/01 16:15 by stuetzle