L'Approche du portfolio d'algorithmes pour la construction des algorithmes robustes et adaptatifs - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2010

On the construction of algorithm portfolio for the design of robust and adaptive algorithms

L'Approche du portfolio d'algorithmes pour la construction des algorithmes robustes et adaptatifs

Résumé

On many problems, it is hard to find an algorithm that solves all its instances with the shortest execution time. We are interested here by the design of approaches for combining several algorithms solving the same problems in order to determine a good combination over the whole set of instances. Such approaches can be developed at a system level (with libraries, adaptive languages and components, etc.) or at an algorithmic level. In this work we are interested on generic algorithmic approaches for combining algorithms.We mainly focus on approaches based on the algorithm portfolio concept. An algorithm portfolio defines a concurrent execution of many algorithms solving a same problem. The execution of algorithms is interleaved in time or in space. The execution is interrupted on the instance to solve when one algorithm finds a solution. We propose in this thesis a classification of existing techniques for combining algorithms. In this classification, we define for each technique the most suitable context for its utilisation. Then, we propose two techniques for designing porftolio of algorithms. The first technique is based on an adaptation of the nearest neighbour method in machine learning for the combination of algorithms. This technique is adaptive because for each instance to solve, we aim at determining the most suitable subset of algorithms that can perform well on it. We apply this technique to the resolution of sparse linear systems of equations with iterative solvers and we show experimentally on around one thousand matrices that this technique can effectively be used to reduce the number of iterations and the execution time necessary on the resolution.Moreover, on some experimentations, we were able to predict on almost all the cases the well suited algorithms for solving instances. The second technique is based on a formulation of the resource sharing problem. Given a target problem, a benchmark of problem instances, a set of candidate algorithms, and the behaviour in execution time of candidate algorithms on the benchmark, the objective in the resource sharing is to find the best way of deploying ressources to candidate algorithms in order to minimize of the execution time necessary to benchmark instances. Our objective with this problem is to build a robust algorithm in sharing ressources to candidate algorithms that are executed in the portfolio. We show that the formulated problem is NP-complete and we propose two families of heuristics and exact algorithms to solve it. Then, we validate our algorithms on a database of SAT problems. The obtained results show that the proposed solutions can serve effectively to exploit complementarities between algorithms in order to propose more robust algorithms.
Sur plusieurs problèmes il est difficile d'avoir un seul algorithme qui résout optimalement (en temps d'exécution) toutes ses instances. Ce constat motive l'élaboration des approches permettant de combiner plusieurs algorithmes résolvant le même problème. Les approches permettant la combinaison d'algorithmes peuvent être mise en oeuvre au niveau système (en construisant des bibliothèques, des langages et composants adaptatifs etc.) ou au niveau purement algorithmique. Ce travail se focalise sur les approches génériques de combinaison d'algorithmes au niveau algorithmique avec en particulier l'approche du portfolio d'algorithmes. Un portfolio d'algorithmes définit une exécution concurrente de plusieurs algorithmes résolvant un même problème. Dans une telle exécution, les algorithmes sont entrelacées dans le temps et/ou l'espace. Sur une instance à résoudre, l'exécution est interrompue dès qu'un des algorithmes trouve une solution. Nous proposons dans cette thèse une classification des techniques de combinaison d'algorithmes. Dans celle ci nous précisons pour chaque technique le contexte le plus adapté pour son utilisation. Nous proposons ensuite deux techniques de construction des portfolio d'algorithmes. La première technique est basée sur une adaptation de la méthode des plus proches voisins en apprentissage automatique pour la combinaison des algorithmes. Cette technique est adaptative car elle essaie sur chaque instance de trouver un sous ensemble d'algorithmes adaptés pour sa résolution. Nous l'appliquons dans la combinaison des algorithmes itératifs pour la résolution des systèmes linéaires et nous montrons sur un jeu d'environ mille matrices creuses qu'elle permet de réduire le nombre d'itérations et le temps nécéssaire dans la résolution. En outre, sur certains jeux d'expérimentations, ces résultats montrent que la technique proposée peut dans la plupart des cas trouver l'algorithme le plus adapté à sa résolution. La seconde technique est basée sur le problème de partage de ressources que nous formulons. Etant donnés, un problème cible, un jeu de données le représentant, un ensemble d'algorithmes candidats le résolvant et le comportement en temps d'exécution du jeu de données sur les algorithmes candidats, le problème de partage de ressources a pour objectif de trouver la meilleure répartition statique des ressources aux algorithmes candidats de sorte à minimiser en moyenne le temps de résolution du jeu de données cibles. Ce problème vise à trouver une solution en moyenne plus robuste que chacun des algorithmes candidats pris séparémment. Nous montrons que ce problème est NP-complet et proposons deux familles d'algorithmes approchés et exacts pour le résoudre. Nous validons les solutions proposées en prenant des données issues d'une base de données pour SAT. Les résultats obtenus montrent que les solutions proposées permettent effectivement de bénéficier de la complémentarité des algorithmes résolvant un même problème pour la construction des algorithmes robustes.
Fichier principal
Vignette du fichier
these.pdf (914.87 Ko) Télécharger le fichier
Loading...

Dates et versions

tel-00786253 , version 1 (08-02-2013)

Identifiants

  • HAL Id : tel-00786253 , version 1

Citer

Yanik Ngoko. L'Approche du portfolio d'algorithmes pour la construction des algorithmes robustes et adaptatifs. Algorithme et structure de données [cs.DS]. Université de Grenoble, 2010. Français. ⟨NNT : ⟩. ⟨tel-00786253⟩
417 Consultations
396 Téléchargements

Partager

Gmail Facebook X LinkedIn More