Enumeration complexity and matroid decomposition

Ce travail comporte deux parties principales, d'une part l'etude des algorithmes d'enumeration et leur complexite et d'autres part la verification pour des hypergraphes et des matroides decomposes de proprietes exprimes en logique monadique du second ordre. L'enumeration est d'abord etudie d'un point de vue structurel : on donne les definitions des classes de complexite les plus naturelles et leur relations sont etudiees. On tente d'expliquer le role de l'ordre dans cette problematique ainsi que l'effet d'operations ensemblistes sur les solutions. Puis on donne une serie de resultats sur l'enumeration des monomes de polynomes donnes soit comme des boites noires, soit comme des circuits. Les algorithmes developpes peuvent ensuite etre utilises pour resoudre des problemes combinatoires plus classiques, tel que l'enumeration des hyperarbres couvrants d'un hypergraphe 3-uniforme. Dans la deuxieme partie, on donne une representation arborescente alternative des matroides de largeur de branche bornee. Cela permet d'exprimer localement la propriete d'independance et ainsi de decider en temps lineaire des proprietes monadiques du second ordre sur ces structures. On obtient egalement une enumeration a delai lineaire des objets definissables en LMSO, par exemple les circuits d'un matroide. On montre que cette decomposition s'etend facilement a d'autres classes de matroides et en poussant l'abstraction plus loin a des hypergraphes decomposables.