Théorème de SavitchLe théorème de Savitch est un théorème de théorie de la complexité, un domaine de l'informatique théorique. Il a été prouvé par Walter Savitch en 1970 et donne une relation entre les classes de complexité en espace, déterministes et non-déterministes. Une conséquence importante est que NPSPACE = PSPACE, c'est-à-dire, tout problème décidable sur une machine non-déterministe en espace polynomial, l'est aussi sur une machine déterministe en espace polynomial. HistoireWalter Savitch a démontré ce théorème dans sa thèse de master sous la direction de Stephen Cook[1]. Il a été publié dans un article de recherche dans le Journal of Computer and System Sciences en 1972[2]. Des idées de la preuve étaient déjà présentes dans un article de Philip Lewis, Juris Hartmanis et Richard Stearns publié en 1965[1]. Énoncé du théorèmeLe théorème stipule que pour toute fonction ƒ(n) ≥ log(n),
DémonstrationConsidérons un problème décidable par une machine de Turing M non-déterministe en espace ƒ(n). La démonstration consiste à se ramener un problème d'accessibilité dans le graphe des configurations de la machine M. On donne ensuite un algorithme récursif basé sur diviser pour régner qui utilise un espace ƒ2(n) pour le résoudre[3]. Égalités de classes en espaceUn corollaire important est l'égalité des classes polynomiales en espace : PSPACE = NPSPACE. Il en va de même pour les classes exponentielles en espace : EXPSPACE = NEXPSPACE. Bibliographie
Notes et références
|