Contributions to searching in sorted sets: from sequential to parallel models
Contributions à la recherche dans des ensembles ordonnés : du séquentiel au parallèle
Abstract
Le problème de la recherche d'un élément dans un ensemble donne est un des problèmes fondamentaux en informatique non numérique, lie, par exemple, aux bases de données, a la compilation, a l'optimisation combinatoire, etc... Dans cette thèse nous abordons le problème de la recherche dans des ensembles ordonnes et quelques problèmes qui lui sont lies. Une matrice est dite triée si elle possédé une relation d'ordre total sur chaque ligne et chaque colonne. Un cas particulier est l'ensemble des matrices définies par x+y, la somme cartésienne de deux vecteurs tries. Après un tour d'horizon des problèmes de la sélection, de la recherche et du tri sur des ensembles de la forme x=y, nous démontrons des bornes inférieures et introduisons des bornes supérieures pour les problèmes de la recherche et de la sélection. Nous proposons, en outre, plusieurs algorithmes parallèles pour la recherche dans x+y. Ensuite nous montrons comment appliquer ces résultats a la resolution en parallèle du problème de décision du sac-a-dos, ou, étant donnes plusieurs objets et un sac de capacité définie a remplir, on veut décider s'il existe une combinaison des objets qui remplit exactement le sac. Des algorithmes avec une accélération optimale sont introduits pour divers modèles de machines parallèles a mémoire partagée et distribuée. Pour ce problème les approches existantes se ramènent soit a la recherche dans x+y, soit a la traversée d'un espace combinatoire a l'aide de la technique du Branch & Bound. Cette dernière technique est aussi discutée dans ce travail, ou nous présentons un algorithme de Branch & Bound en vue de la resolution de problèmes d'optimisation combinatoire sur la connexion machine. Enfin, toujours dans le domaine de l'optimisation combinatoire, nous étudions le comportement de l'algorithme de recuit simule. Nous prouvons que, malgré la confiance qu'il inspire et sa grande utilisation pour des application