Cours 4.2: Complexit´e en espace.
Olivier Bournez
LIX, Ecole Polytechnique
INF561 Algorithmes et Complexit´e
1
Au menu
Classes de complexit´e en espace
Relations entre espace et temps
Quelques r´esultats & r´esum´e
2
Sous menu
Classes de complexit´e en espace
Mesure de l’espace d’un calcul
Classe PSPACE
Espace et structures non-finies
Espace non-d´eterministe
3
Taille d’une structure
Consid´erons une structure du premier ordre sur la signature
(f1,· · · ,fu,r1,· · · ,rv).
On rappelle que l’on dit qu’un emplacement (f,m) est utile, si
fiest un symbole de fonction dynamique, et son contenu
[[(f,m)]] n’est pas undef.
La taille (m´emoire) de la structure M, not´ee size(X) est le
nombre d’emplacements utiles de X.
4
Espace de calcul
Soit Aun algorithme.
A chaque entr´ee west associ´ee une ex´ecution X0,X1,· · · ,Xt
du syst`eme de transitions associ´e `a Ao`u X0=X[w] est un
´etat initial qui code w, et chaque Xiest un ´etat, et
Xi+1 =τA(Xi) pour tout i.
Supposons que wsoit accept´ee, c’est-`a-dire qu’il existe un
entier tavec Xtterminal :
IRappel : le temps de calcul est l’entier t.
IL’espace (m´emoire) de calcul sur l’entr´ee w, not´e
SPACE(A,w), est d´efini comme
SPACE(A,w) = max
0it
size(Xi)
5
Soit Aun algorithme qui termine sur toute entr´ee.
L’ espace (m´emoire) de l’algorithme Aest la fonction
f:NNtelle que
f(n) = max
|w|=n
SPACE(A,w).
6
Soit t:NNune fonction.
On d´efinit la classe
SPACE(t(n)) = {L|Lest un langage d´ecid´e par
un algorithme en espace O(t(n))}.
7
Conventions
Pour pouvoir parler d’espace f(n)n,
. . .on ne compte pas l’entr´ee et la sortie dans l’espace :
Il’entr´ee est accessible en lecture uniquement,
Iet la sortie en ´ecriture uniquement
8
Sous menu
Classes de complexit´e en espace
Mesure de l’espace d’un calcul
Classe PSPACE
Espace et structures non-finies
Espace non-d´eterministe
9
Classe PSPACE et LOGSPACE
PSPACE =[
kN
SPACE(nk).
LOGSPACE =SPACE(log(n)).
10
Sous menu
Classes de complexit´e en espace
Mesure de l’espace d’un calcul
Classe PSPACE
Espace et structures non-finies
Espace non-d´eterministe
11
Espace et structures non-finies
Sur N, tout algorithme peut se coder par une machine `a 2
compteurs et donc en espace O(1) (au prix d’une perte de
temps qui peut ˆetre exponentielle).
Sur la structure (R,0,1,+,,,=, <) tout algorithme peut
ˆetre r´ealis´e par un algorithme qui fonctionne en espace
constant (au prix d’une perte de temps qui peut ˆetre
exponentielle).
On ne parlera que des structures finies dans la suite
12
Sous menu
Classes de complexit´e en espace
Mesure de l’espace d’un calcul
Classe PSPACE
Espace et structures non-finies
Espace non-d´eterministe
13
Classe NPSPACE
Soit Mun alphabet fini.
Un probl`eme LMest dans NPSPACE s’il existe un
polynˆome p:NNet un probl`eme A(appel´e erificateur
pour L) tels que
Ipour tout mot w,
wLsi et seulement si uMtel que <w,u>A,
Iet tels que d´eterminer si <w,u>Aadmette un algorithme
en espace p(|w|).
14
Lien avec les machines non-d´eterministes
Soit Mun alphabet fini.
Th´eor`eme
Un probl`eme L Mest dans NPSPACE si et seulement s’il est
ecid´e en espace non-d´eterministe polynomial.
15
Au menu
Classes de complexit´e en espace
Relations entre espace et temps
Quelques r´esultats & r´esum´e
16
Sous menu
Relations entre espace et temps
Relations triviales
Temps non-d´eterministe vs d´eterministe
Temps non-d´eterministe vs espace
Espace non-d´eterministe vs temps
Espace non-d´eterministe vs espace d´eterministe
Espace logarithmique non-d´eterministe
17
Relations triviales
Th´eor`eme
SPACE(f(n)) NSPACE(f(n)).
Th´eor`eme
TIME(f(n)) SPACE(f(n)).
18
Preuve
Un probl`eme d´eterministe ´etant un probl`eme non-d´eterministe particulier.
Un algorithme ´ecrit au plus un nombre fini d’emplacements (m´emoire) `a chaque
´etape.
19
Sous menu
Relations entre espace et temps
Relations triviales
Temps non-d´eterministe vs d´eterministe
Temps non-d´eterministe vs espace
Espace non-d´eterministe vs temps
Espace non-d´eterministe vs espace d´eterministe
Espace logarithmique non-d´eterministe
20
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !