Réseaux de preuves booléens sous-logarithmiques · Réseaux de preuves booléens...

Preview:

Citation preview

Réseaux de preuves booléenssous-logarithmiques

Mémoire en vue de l’obtention du M2 L.M.F.I.à l’Université Paris VII

Encadrants :V. Mogbil (L.I.P.N. - Université Paris XIII)P. Jacobé de Naurois (L.I.P.N. - C.N.R.S.)

Clément Aubert

Institut Galilée - Université Paris-Nord99, avenue Jean-Baptiste Clément

93430 Villetaneuse

23 septembre 2010

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuves

Correspondance ?

Problème : linéarise le temps de calcul.• Profondeur• Taille

• Uniformité• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuves

Correspondance ?

Évaluation parallèle Élimination des coupures

Problème : linéarise le temps de calcul.• Profondeur• Taille

• Uniformité• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuves

Évaluation parallèle Élimination des coupures

Machine de Turing

Problème : linéarise le temps de calcul.• Profondeur• Taille

• Uniformité• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuves

Évaluation parallèle Élimination des coupures

Machine de Turing

Problème : linéarise le temps de calcul.

• Profondeur• Taille

• Uniformité• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuvesbooléens

Évaluation parallèle Élimination des coupuresTraduction

Simulation

Problème : linéarise le temps de calcul.• Profondeur• Taille

• Uniformité• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuvesbooléens

Évaluation parallèle Élimination des coupuresTraduction

Simulation

Problème : linéarise le temps de calcul.

• Profondeur• Taille

• Uniformité• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuvesbooléens

Évaluation parallèle Élimination des coupuresTraduction

Simulation

Problème : linéarise le temps de calcul.

• Profondeur• Taille• Uniformité

• Ressources allouées à la transformation

Deux modèles du calcul parallèle

Circuits booléens Réseaux de preuvesbooléens

Évaluation parallèle Élimination des coupuresTraduction

Simulation

Problème : linéarise le temps de calcul.

• Profondeur• Taille• Uniformité• Ressources allouées à la transformation

Tableau de correspondance

Circuits booléens Réseaux booléensEntrées Valeurs booléennes Réseaux de preuve de

type booléen

0 et 1

⊗`

•• ⊗

`

• •

Profondeur Chemin maximal Formule de coupureTaille Nombre de nœuds Nombre de liensCalcul Évaluation parallèle Élimination des coupures

Traduction

Simulation

Tableau de correspondance

Circuits booléens Réseaux booléensEntrées Valeurs booléennes Réseaux de preuve de

type booléen

0 et 1

⊗`

•• ⊗

`

• •

Profondeur Chemin maximal Formule de coupureTaille Nombre de nœuds Nombre de liensCalcul Évaluation parallèle Élimination des coupures

Traduction

Simulation

Tableau de correspondance

Circuits booléens Réseaux booléensEntrées Valeurs booléennes Réseaux de preuve de

type booléen

0 et 1

⊗`

•• ⊗

`

• •

Profondeur Chemin maximal Formule de coupure

Taille Nombre de nœuds Nombre de liensCalcul Évaluation parallèle Élimination des coupures

Traduction

Simulation

Tableau de correspondance

Circuits booléens Réseaux booléensEntrées Valeurs booléennes Réseaux de preuve de

type booléen

0 et 1

⊗`

•• ⊗

`

• •

Profondeur Chemin maximal Formule de coupureTaille Nombre de nœuds Nombre de liens

Calcul Évaluation parallèle Élimination des coupures

Traduction

Simulation

Tableau de correspondance

Circuits booléens Réseaux booléensEntrées Valeurs booléennes Réseaux de preuve de

type booléen

0 et 1

⊗`

•• ⊗

`

• •

Profondeur Chemin maximal Formule de coupureTaille Nombre de nœuds Nombre de liensCalcul Évaluation parallèle Élimination des coupures

Traduction

Simulation

Tableau de correspondance

Circuits booléens Réseaux booléensEntrées Valeurs booléennes Réseaux de preuve de

type booléen

0 et 1

⊗`

•• ⊗

`

• •

Profondeur Chemin maximal Formule de coupureTaille Nombre de nœuds Nombre de liensCalcul Évaluation parallèle Élimination des coupures

Traduction

Simulation

1 Circuits booléens

2 Réseaux booléens

3 Exemples et composition

4 Circuits de preuve

5 Simulation

6 Résultats

Circuits booléens, familles de circuits

Exemples (Circuits booléens)

Définition (Uniformité)Une famille de circuits C = (Cn)n∈N est uniforme s’il existe unemachine de Turing déterministe qui étant donné n et le nom du nœudg peut déterminer toutes les informations sur le nœud g de Cn.

Circuits booléens, familles de circuits

Exemples (Circuits booléens)

Définition (Bases)B0 = {¬,∧2,∨2

}

B1 = {¬, (∧n)n>2, (∨n)n>2}.

Définition (Uniformité)Une famille de circuits C = (Cn)n∈N est uniforme s’il existe unemachine de Turing déterministe qui étant donné n et le nom du nœudg peut déterminer toutes les informations sur le nœud g de Cn.

Circuits booléens, familles de circuits

Exemples (Circuits booléens)

0 x1 x2

∧2 ¬

∨2

∧2

Définition (Bases)B0 = {¬,∧2,∨2

}

B1 = {¬, (∧n)n>2, (∨n)n>2}.

Définition (Uniformité)Une famille de circuits C = (Cn)n∈N est uniforme s’il existe unemachine de Turing déterministe qui étant donné n et le nom du nœudg peut déterminer toutes les informations sur le nœud g de Cn.

Circuits booléens, familles de circuits

Exemples (Circuits booléens)

0 x1 x2

∧2 ¬

∨2

∧2

1 0 x1 x2

∧3 ¬

∨3

Définition (Bases)B0 = {¬,∧2,∨2

}

B1 = {¬, (∧n)n>2, (∨n)n>2}.

Définition (Uniformité)Une famille de circuits C = (Cn)n∈N est uniforme s’il existe unemachine de Turing déterministe qui étant donné n et le nom du nœudg peut déterminer toutes les informations sur le nœud g de Cn.

Circuits booléens, familles de circuits

Exemples (Circuits booléens)

0 x1 x2

∧2 ¬

∨2

∧2

1 0 x1 x2

∧3 ¬

∨3

Définition (Uniformité)Une famille de circuits C = (Cn)n∈N est uniforme s’il existe unemachine de Turing déterministe qui étant donné n et le nom du nœudg peut déterminer toutes les informations sur le nœud g de Cn.

Classes de complexité

Définition (NC i (resp. AC i))Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de circuits booléens uniformes, où pour chaque circuit ayantn entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n,• ses nœuds sont étiquetés par des fonctions de B0 (resp. B1).

NC =⋃i∈N

NC i et AC =⋃i∈N

AC i .

ThéorèmePour tout k > 0, NCk

⊆ ACk⊆ NCk+1.

AC0 ( NC1⊆ L ⊆ NL ⊆ AC1

AC0(UstCONN2) ⊆ AC1

Classes de complexité

Définition (NC i (resp. AC i))Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de circuits booléens uniformes, où pour chaque circuit ayantn entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n,• ses nœuds sont étiquetés par des fonctions de B0 (resp. B1).

NC =⋃i∈N

NC i et AC =⋃i∈N

AC i .

Définition (UstCONN2)Étant donnés le codage d’un graphe non-dirigé de degré 2 et lesnuméros de deux sommets, cette fonction détermine s’il existe unchemin entre ces deux sommets.

UstCONN2 ∈ L

ThéorèmePour tout k > 0, NCk

⊆ ACk⊆ NCk+1.

AC0 ( NC1⊆ L ⊆ NL ⊆ AC1

AC0(UstCONN2) ⊆ AC1

Classes de complexité

Définition (NC i (resp. AC i))Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de circuits booléens uniformes, où pour chaque circuit ayantn entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n,• ses nœuds sont étiquetés par des fonctions de B0 (resp. B1).

NC =⋃i∈N

NC i et AC =⋃i∈N

AC i .

Définition (UstCONN2)Étant donnés le codage d’un graphe non-dirigé de degré 2 et lesnuméros de deux sommets, cette fonction détermine s’il existe unchemin entre ces deux sommets.UstCONN2 ∈ L

ThéorèmePour tout k > 0, NCk

⊆ ACk⊆ NCk+1.

AC0 ( NC1⊆ L ⊆ NL ⊆ AC1

AC0(UstCONN2) ⊆ AC1

Classes de complexité

Définition (NC i (resp. AC i))Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de circuits booléens uniformes, où pour chaque circuit ayantn entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n,• ses nœuds sont étiquetés par des fonctions de B0 (resp. B1).

NC =⋃i∈N

NC i et AC =⋃i∈N

AC i .

ThéorèmePour tout k > 0, NCk

⊆ ACk⊆ NCk+1.

AC0 ( NC1⊆ L ⊆ NL ⊆ AC1

AC0(UstCONN2) ⊆ AC1

Principaux résultats

Théorème ([Terui, 2004] )Pour tout circuit booléen C de taille |C | et de profondeur p(C) sur labase B1(UstCONN2), il existe un réseau de preuve booléen de tailleO(|C |4) et de profondeur O(p(C)) qui accepte le même ensemble.

Théorème ()Pour tout i ∈N, la traduction d’une famille de circuits booléensappartenant à AC i(UstCONN2) vers une famille de réseaux booléensde mBNi est dans L .

Principaux résultats

Théorème ([Terui, 2004] )Pour tout circuit booléen C de taille |C | et de profondeur p(C) sur labase B1(UstCONN2), il existe un réseau de preuve booléen de tailleO(|C |4) et de profondeur O(p(C)) qui accepte le même ensemble.

Problèmes :1 UstCONN2 ∈ L

2 Concernant B0 ?

Théorème ()Pour tout i ∈N, la traduction d’une famille de circuits booléensappartenant à AC i(UstCONN2) vers une famille de réseaux booléensde mBNi est dans L .

Principaux résultats

Théorème ([Terui, 2004] )Pour tout circuit booléen C de taille |C | et de profondeur p(C) sur labase B1(UstCONN2), il existe un réseau de preuve booléen de tailleO(|C |4) et de profondeur O(p(C)) qui accepte le même ensemble.

Problèmes :1 UstCONN2 ∈ L2 Concernant B0 ?

Théorème ()Pour tout i ∈N, la traduction d’une famille de circuits booléensappartenant à AC i(UstCONN2) vers une famille de réseaux booléensde mBNi est dans L .

Principaux résultats

Théorème ( [Aubert, 2010])Pour tout circuit booléen C de taille |C | et de profondeur p(C) sur labase B0 (resp. B1), il existe un réseau de preuve booléen de tailleO(|C |) (resp. O(|C2

|)) et de profondeur O(p(C)) qui accepte le mêmeensemble.

Théorème ()Pour tout i ∈N, la traduction d’une famille de circuits booléensappartenant à AC i(UstCONN2) vers une famille de réseaux booléensde mBNi est dans L .

Principaux résultats

Théorème ( [Aubert, 2010])Pour tout circuit booléen C de taille |C | et de profondeur p(C) sur labase B0 (resp. B1), il existe un réseau de preuve booléen de tailleO(|C |) (resp. O(|C2

|)) et de profondeur O(p(C)) qui accepte le mêmeensemble.

Théorème ([Mogbil et Rahli, 2007])Pour tout i ∈N, la traduction d’une famille de circuits booléensappartenant à AC i(UstCONN2) vers une famille de réseaux booléensde mBNi est dans L .

Principaux résultats

Théorème ( [Aubert, 2010])Pour tout circuit booléen C de taille |C | et de profondeur p(C) sur labase B0 (resp. B1), il existe un réseau de preuve booléen de tailleO(|C |) (resp. O(|C2

|)) et de profondeur O(p(C)) qui accepte le mêmeensemble.

Théorème ([Aubert, 2010])Pour tout i ∈N, la traduction d’une famille de circuits booléensappartenant à AC i ou NC i vers une famille de réseaux booléens deCCP i est dans AC0 .

1 Circuits booléens

2 Réseaux booléens

3 Exemples et composition

4 Circuits de preuve

5 Simulation

6 Résultats

Règles de MLLu

Définition (Les règles de MLLu)ax .

` A ,A⊥` Γ1,A1 . . . ` Γn,An

⊗n

` Γ1, . . . , Γn,⊗n(A1, . . . ,An)

` Γ,A ` ∆,A⊥cut

` Γ,∆` Γ,An, . . . ,A1 `n` Γ,`n(An, . . . ,A1)

⊗`

••

⊗`

• •

Règles de MLLu

Définition (Les règles de MLLu)ax .

` A ,A⊥` Γ1,A1 . . . ` Γn,An

⊗n

` Γ1, . . . , Γn,⊗n(A1, . . . ,An)

` Γ,A ` ∆,A⊥cut

` Γ,∆` Γ,An, . . . ,A1 `n` Γ,`n(An, . . . ,A1)

Définition (Le type booléen, [Terui, 2004])Le type booléen B est défini comme étant `3(α⊥, α⊥, α ⊗ α).

ax .` α⊥, α

ax .` α⊥, α

⊗2

` α⊥, α⊥, α ⊗ α`3

` `3(α⊥, α⊥, α ⊗ α)

⊗`

••

⊗`

• •

Règles de MLLu

Définition (Les règles de MLLu)ax .

` A ,A⊥` Γ1,A1 . . . ` Γn,An

⊗n

` Γ1, . . . , Γn,⊗n(A1, . . . ,An)

` Γ,A ` ∆,A⊥cut

` Γ,∆` Γ,An, . . . ,A1 `n` Γ,`n(An, . . . ,A1)

ax .` α⊥, α

ax .` α⊥, α

⊗2

` α⊥, α⊥, α ⊗ α`3

` `3(α⊥, α⊥, α ⊗ α)

⊗`

•• ⊗

`

• •

Règles de MLLu

Définition (Les règles de MLLu)ax .

` A ,A⊥` Γ1,A1 . . . ` Γn,An

⊗n

` Γ1, . . . , Γn,⊗n(A1, . . . ,An)

` Γ,A ` ∆,A⊥cut

` Γ,∆` Γ,An, . . . ,A1 `n` Γ,`n(An, . . . ,A1)

ax .` p : α⊥,p : α B axp

ax .` q : α⊥,q : α B axq

⊗2

` p : α⊥,q : α⊥, r : α ⊗ α B tenseurp,qr (axp ,axq)

`3` s : `3(α⊥, α⊥, α ⊗ α) B parq,p,r

s (tenseurp,qr (axp ,axq))

⊗`

•• ⊗

`

• •

Règles

Typage Réseau

ax .`

p :

A ,

p :

A⊥

. axp

p p

` Γ1,

p1 :

A1

. P1

. . . ` Γn,

pn

: An

. Pn

⊗n

` Γ1, . . . , Γn,

s :

⊗n (A1, . . . ,An)

. tenseur−→ps (−→P )

. . .Γ1

p1⊗. . .

. . .Γn

pn

s

` Γ,

pn :

An, . . . ,

p1 :

A1

. P

`n

` Γ,

s :

`n (An, . . . ,A1)

. parpn ,...,p1s (P)

. . .Γ

pn p1

`s

` Γ,

p :

A

. P

` ∆,

q :

A⊥

.Q

cut` Γ,∆

. cutp,q(P,Q). . .Γ

p . . .∆

q

Règles

Typage Réseau

ax .` p : A ,p : A⊥ . axp

p p

` Γ1,

p1 :

A1

. P1

. . . ` Γn,

pn

: An

. Pn

⊗n

` Γ1, . . . , Γn,

s :

⊗n (A1, . . . ,An)

. tenseur−→ps (−→P )

. . .Γ1

p1⊗. . .

. . .Γn

pn

s

` Γ,

pn :

An, . . . ,

p1 :

A1

. P

`n

` Γ,

s :

`n (An, . . . ,A1)

. parpn ,...,p1s (P)

. . .Γ

pn p1

`s

` Γ,

p :

A

. P

` ∆,

q :

A⊥

.Q

cut` Γ,∆

. cutp,q(P,Q). . .Γ

p . . .∆

q

Règles

Typage Réseau

ax .` p : A ,p : A⊥ . axp

p p

` Γ1,p1 : A1 . P1 . . . ` Γn,pn : An . Pn⊗

n

` Γ1, . . . , Γn, s : ⊗n (A1, . . . ,An) . tenseur−→ps (−→P )

. . .Γ1

p1⊗. . .

. . .Γn

pn

s

` Γ,

pn :

An, . . . ,

p1 :

A1

. P

`n

` Γ,

s :

`n (An, . . . ,A1)

. parpn ,...,p1s (P)

. . .Γ

pn p1

`s

` Γ,

p :

A

. P

` ∆,

q :

A⊥

.Q

cut` Γ,∆

. cutp,q(P,Q). . .Γ

p . . .∆

q

Règles

Typage Réseau

ax .` p : A ,p : A⊥ . axp

p p

` Γ1,p1 : A1 . P1 . . . ` Γn,pn : An . Pn⊗

n

` Γ1, . . . , Γn, s : ⊗n (A1, . . . ,An) . tenseur−→ps (−→P )

. . .Γ1

p1⊗. . .

. . .Γn

pn

s

` Γ,pn : An, . . . ,p1 : A1 . P`n

` Γ, s : `n (An, . . . ,A1) . parpn ,...,p1s (P)

. . .Γ

pn p1

`s

` Γ,

p :

A

. P

` ∆,

q :

A⊥

.Q

cut` Γ,∆

. cutp,q(P,Q). . .Γ

p . . .∆

q

Règles

Typage Réseau

ax .` p : A ,p : A⊥ . axp

p p

` Γ1,p1 : A1 . P1 . . . ` Γn,pn : An . Pn⊗

n

` Γ1, . . . , Γn, s : ⊗n (A1, . . . ,An) . tenseur−→ps (−→P )

. . .Γ1

p1⊗. . .

. . .Γn

pn

s

` Γ,pn : An, . . . ,p1 : A1 . P`n

` Γ, s : `n (An, . . . ,A1) . parpn ,...,p1s (P)

. . .Γ

pn p1

`s

` Γ,p : A . P ` ∆,q : A⊥ .Qcut

` Γ,∆ . cutp,q(P,Q). . .Γ

p . . .∆

q

Réseaux booléens

Définition (Réseau de preuve booléen, [Terui, 2004])Un réseau de preuve booléen à n entrées est un réseau de preuveP(−→p ) de type

` p1 : B⊥[A1], . . . ,pn : B⊥[An], s : ⊗1+m(B[A ],C1, . . . ,Cm)

Définition

. . .b0

b1

b0

b1. . . ⊗. . .

Réseaux booléens

Définition (Réseau de preuve booléen, [Terui, 2004])Un réseau de preuve booléen à n entrées est un réseau de preuveP(−→p ) de type

` p1 : B⊥[A1], . . . ,pn : B⊥[An], s : ⊗1+m(B[A ],C1, . . . ,Cm)

Définition (→m et→a)Soit ◦ ∈ {•, (`n)n>2, (⊗n)n>2}.

`⊗. . . . . . . . . . . .

→m

. . . . . . . . . . . .

•→a

Définition

. . .b0

b1

b0

b1. . . ⊗. . .

Réseaux booléens

Définition (Réseau de preuve booléen, [Terui, 2004])Un réseau de preuve booléen à n entrées est un réseau de preuveP(−→p ) de type

` p1 : B⊥[A1], . . . ,pn : B⊥[An], s : ⊗1+m(B[A ],C1, . . . ,Cm)

Définition

−→b ≡ . . .

b0

b1

b0

b1P(−→p ) ≡

. . . ⊗. . .

Réseaux booléens

Définition (Réseau de preuve booléen, [Terui, 2004])Un réseau de preuve booléen à n entrées est un réseau de preuveP(−→p ) de type

` p1 : B⊥[A1], . . . ,pn : B⊥[An], s : ⊗1+m(B[A ],C1, . . . ,Cm)

Définition

. . .b0

b1

b0

b1. . . ⊗. . .

P(−→b ) ≡

Réseaux booléens

Définition (Réseau de preuve booléen, [Terui, 2004])Un réseau de preuve booléen à n entrées est un réseau de preuveP(−→p ) de type

` p1 : B⊥[A1], . . . ,pn : B⊥[An], s : ⊗1+m(B[A ],C1, . . . ,Cm)

Définition

. . .b0

b1

b0

b1. . . ⊗. . .

P(−→b ) ≡

⊗b0

b1

. . .

1 Circuits booléens

2 Réseaux booléens

3 Exemples et composition

4 Circuits de preuve

5 Simulation

6 Résultats

Un premier exemple : la négation

⊗`

••

⊗`

Un premier exemple : la négation

⊗`

••

⊗`

Un premier exemple : la négation

⊗`

••

⊗`

→m•• ⊗

`

Un premier exemple : la négation

⊗`

••

⊗`

→m•• ⊗

`

Un premier exemple : la négation

⊗`

••

⊗`

→m•• ⊗

`

↓a

•• ⊗

`

Un premier exemple : la négation

⊗`

••

⊗`

→m•• ⊗

`

↓a

•• ⊗

`

≡⊗

`

• •

Un premier exemple : la négation

⊗`

••

⊗`

→m•• ⊗

`

↓a

•• ⊗

`

≡⊗

`

• •

↓ev

Second exemple : le conditionnel

⊗`

• •

⊗•

⊗`•• ⊗

`

• •

→m

⊗`•• ⊗

`

• •

⊗• ••

→a ⊗⊗

`••⊗

`

• •

Nécessite de composer :

P

`

Q

...

`⊗••

•...

Second exemple : le conditionnel

⊗`

• •

⊗•

⊗`•• ⊗

`

• •

→m

⊗`•• ⊗

`

• •

⊗• ••

→a ⊗⊗

`••⊗

`

• •

Nécessite de composer :

P

`

Q

...

`⊗••

•...

Second exemple : le conditionnel

⊗`

• •

⊗•

⊗`•• ⊗

`

• •

→m

⊗`•• ⊗

`

• •

⊗• ••

→a ⊗⊗

`••⊗

`

• •

Nécessite de composer :

P

`

Q

...

`⊗••

•...

Second exemple : le conditionnel

⊗`

• •

⊗•

⊗`•• ⊗

`

• •

→m

⊗`•• ⊗

`

• •

⊗• ••

→a ⊗⊗

`••⊗

`

• •

Nécessite de composer :

P

`

Q

...

`⊗••

•...

Second exemple : le conditionnel

⊗`

• •

⊗•

⊗`•• ⊗

`

• •

→m

⊗`•• ⊗

`

• •

⊗• ••

→a ⊗⊗

`••⊗

`

• •

Nécessite de composer :

P

`

Q

...

`⊗••

•...

Un exemple de simulation

x1 x2 x3 x4

∨4

Simulation de [Terui, 2004]

`•

•b1

⊗•e1

e2 ⊗b1

e3

`

⊗`•

••

⊗b1

e4

`

•• ⊗

Un exemple de simulation

x1 x2 x3 x4

∨4

Simulation de [Aubert, 2010]

`•

•b1

⊗•e1

e2 ⊗b1

e3

`

⊗b1

e4

`

1 Circuits booléens

2 Réseaux booléens

3 Exemples et composition

4 Circuits de preuve

5 Simulation

6 Résultats

Pièces de circuits de preuves

b0 ≡

⊗`

••

s

b1 ≡

⊗`

• •

s

DUPL1≡

e

⊗•b0 b1

`

• s

g

NEG ≡

⊗`

e s

Pièces de circuits de preuves

On pose 2 6 j 6 i.

DUPL i≡

⊗•⊗ ⊗

e

b0 b0

i fois︷ ︸︸ ︷b1 b1

i fois︷ ︸︸ ︷. . . . . . . . . . . .

`

`

g

...

••

• s1s2

si

si−1

Pièces de circuits de preuves

On pose 2 6 j 6 i.

DISJ i≡

`•

g1b1

⊗•e1

e2

⊗b1

ej

`

gj−1

⊗b1

ei

`•

gi−1

s

i − 3 fois

Pièces de circuits de preuves

On pose 2 6 j 6 i.

CONJ i≡

⊗`

e1•b0

g1

e2

⊗b0

ej

`

gj−1

⊗b0

ei

`•

gi−1

s

i − 3 fois

Composition de pièces et de circuits de preuves

Définition (Circuit de preuve)1 On compose des pièces (identifie une sortie d’une pièce avec

une entrée d’une autre pièce), sans boucler,2 on étiquette les entrées des pièces restées libres,3 on ajoute un tenseur conclusion qui collecte la sortie de la

dernière pièce et les poubelles générées.

Théorème ([Aubert, 2010])Tout circuit de preuve est un réseau de preuve booléen de MLLu.

Lemme (Traduction)Il est possible d’associer à tout circuit booléen Cn un circuit de preuveT (Cn) tel que si Cn s’évalue en i, T (Cn)→ev bi .

Composition de pièces et de circuits de preuves

Définition (Circuit de preuve)1 On compose des pièces (identifie une sortie d’une pièce avec

une entrée d’une autre pièce), sans boucler,2 on étiquette les entrées des pièces restées libres,3 on ajoute un tenseur conclusion qui collecte la sortie de la

dernière pièce et les poubelles générées.

Définition (Composition de circuits de preuves)Soient C1 et C2 deux circuits de preuves. On les représente ainsi :

pièces de Ci

. . .entrées

sortie⊗poubelles

...

Théorème ([Aubert, 2010])Tout circuit de preuve est un réseau de preuve booléen de MLLu.

Lemme (Traduction)Il est possible d’associer à tout circuit booléen Cn un circuit de preuveT (Cn) tel que si Cn s’évalue en i, T (Cn)→ev bi .

Composition de pièces et de circuits de preuves

Définition (Circuit de preuve)1 On compose des pièces (identifie une sortie d’une pièce avec

une entrée d’une autre pièce), sans boucler,2 on étiquette les entrées des pièces restées libres,3 on ajoute un tenseur conclusion qui collecte la sortie de la

dernière pièce et les poubelles générées.

Définition (Composition de circuits de preuves)

pièces de C2

. . . . . .

⊗...

pièces de C1

. . ....

Théorème ([Aubert, 2010])Tout circuit de preuve est un réseau de preuve booléen de MLLu.

Lemme (Traduction)Il est possible d’associer à tout circuit booléen Cn un circuit de preuveT (Cn) tel que si Cn s’évalue en i, T (Cn)→ev bi .

Composition de pièces et de circuits de preuves

Définition (Circuit de preuve)1 On compose des pièces (identifie une sortie d’une pièce avec

une entrée d’une autre pièce), sans boucler,2 on étiquette les entrées des pièces restées libres,3 on ajoute un tenseur conclusion qui collecte la sortie de la

dernière pièce et les poubelles générées.

Théorème ([Aubert, 2010])Tout circuit de preuve est un réseau de preuve booléen de MLLu.

Lemme (Traduction)Il est possible d’associer à tout circuit booléen Cn un circuit de preuveT (Cn) tel que si Cn s’évalue en i, T (Cn)→ev bi .

Composition de pièces et de circuits de preuves

Définition (Circuit de preuve)1 On compose des pièces (identifie une sortie d’une pièce avec

une entrée d’une autre pièce), sans boucler,2 on étiquette les entrées des pièces restées libres,3 on ajoute un tenseur conclusion qui collecte la sortie de la

dernière pièce et les poubelles générées.

Théorème ([Aubert, 2010])Tout circuit de preuve est un réseau de preuve booléen de MLLu.

Lemme (Traduction)Il est possible d’associer à tout circuit booléen Cn un circuit de preuveT (Cn) tel que si Cn s’évalue en i, T (Cn)→ev bi .

Principaux théorèmes

Soient Cn un circuit booléen, p(Cn) sa profondeur, |Cn | sa taille, et T (Cn) sontraduit en circuit de preuve, de profondeur d(T (Cn)) et de taille |T (Cn)|.

Théorème (Profondeur de T (Cn), [Aubert, 2010])d(T (Cn)) = O(p(Cn)).

Théorème (Taille de T (Cn), [Aubert, 2010])Si Cn appartient à une famille de circuits booléens comprise dans NC i (resp.AC i), |T (Cn)| = O(|Cn |) (resp. |T (Cn)| = O(|Cn |

2)).

Démonstration• Soit k le nombre d’arrêtes de Cn, k 6 2 × |Cn | (resp. k 6 |Cn |

2),

• un nœud de Cn d’arité entrante n et sortante m est représenté par unréseau de preuve de taille au plus 9(n + m),

• la somme des arités entrantes et sortantes de l’ensemble des nœuds deCn ne peut dépasser k .

Principaux théorèmesSoient Cn un circuit booléen, p(Cn) sa profondeur, |Cn | sa taille, et T (Cn) sontraduit en circuit de preuve, de profondeur d(T (Cn)) et de taille |T (Cn)|.

Théorème (Profondeur de T (Cn), [Aubert, 2010])d(T (Cn)) = O(p(Cn)).

LemmeSoit P une pièce d’un circuit de preuve à n > 1 entrées et m > 1 sorties.Soient As1 , . . . ,Asm les formules à sa sortie et Ae1 , . . . ,Aen les formules à sonentrée. On a pour j ∈ {1, . . . ,n}

d(Aej ) 6 d(B) + max(d(As1), . . . ,d(Asm ))

Théorème (Taille de T (Cn), [Aubert, 2010])Si Cn appartient à une famille de circuits booléens comprise dans NC i (resp.AC i), |T (Cn)| = O(|Cn |) (resp. |T (Cn)| = O(|Cn |

2)).

Démonstration• Soit k le nombre d’arrêtes de Cn, k 6 2 × |Cn | (resp. k 6 |Cn |

2),

• un nœud de Cn d’arité entrante n et sortante m est représenté par unréseau de preuve de taille au plus 9(n + m),

• la somme des arités entrantes et sortantes de l’ensemble des nœuds deCn ne peut dépasser k .

Principaux théorèmesSoient Cn un circuit booléen, p(Cn) sa profondeur, |Cn | sa taille, et T (Cn) sontraduit en circuit de preuve, de profondeur d(T (Cn)) et de taille |T (Cn)|.

Théorème (Profondeur de T (Cn), [Aubert, 2010])d(T (Cn)) = O(p(Cn)).

LemmeSoit P une pièce d’un circuit de preuve à n > 1 entrées et m > 1 sorties.Soient As1 , . . . ,Asm les formules à sa sortie et Ae1 , . . . ,Aen les formules à sonentrée. On a pour j ∈ {1, . . . ,n}

d(Aej ) 6 d(B) + max(d(As1), . . . ,d(Asm ))

Démonstration• Soit xi l’entrée de T (Cn) où la formule de coupure est la plus profonde,

• le chemin de la sortie à xi passe par au plus p(Cn) × 2 pièces,

• on a donc d(T (Cn)) 6 p(Cn) × 2 × d(B).

Théorème (Taille de T (Cn), [Aubert, 2010])Si Cn appartient à une famille de circuits booléens comprise dans NC i (resp.AC i), |T (Cn)| = O(|Cn |) (resp. |T (Cn)| = O(|Cn |

2)).

Démonstration• Soit k le nombre d’arrêtes de Cn, k 6 2 × |Cn | (resp. k 6 |Cn |

2),

• un nœud de Cn d’arité entrante n et sortante m est représenté par unréseau de preuve de taille au plus 9(n + m),

• la somme des arités entrantes et sortantes de l’ensemble des nœuds deCn ne peut dépasser k .

Principaux théorèmes

Soient Cn un circuit booléen, p(Cn) sa profondeur, |Cn | sa taille, et T (Cn) sontraduit en circuit de preuve, de profondeur d(T (Cn)) et de taille |T (Cn)|.

Théorème (Profondeur de T (Cn), [Aubert, 2010])d(T (Cn)) = O(p(Cn)).

Théorème (Taille de T (Cn), [Aubert, 2010])Si Cn appartient à une famille de circuits booléens comprise dans NC i (resp.AC i), |T (Cn)| = O(|Cn |) (resp. |T (Cn)| = O(|Cn |

2)).

Démonstration• Soit k le nombre d’arrêtes de Cn, k 6 2 × |Cn | (resp. k 6 |Cn |

2),

• un nœud de Cn d’arité entrante n et sortante m est représenté par unréseau de preuve de taille au plus 9(n + m),

• la somme des arités entrantes et sortantes de l’ensemble des nœuds deCn ne peut dépasser k .

Principaux théorèmes

Soient Cn un circuit booléen, p(Cn) sa profondeur, |Cn | sa taille, et T (Cn) sontraduit en circuit de preuve, de profondeur d(T (Cn)) et de taille |T (Cn)|.

Théorème (Profondeur de T (Cn), [Aubert, 2010])d(T (Cn)) = O(p(Cn)).

Théorème (Taille de T (Cn), [Aubert, 2010])Si Cn appartient à une famille de circuits booléens comprise dans NC i (resp.AC i), |T (Cn)| = O(|Cn |) (resp. |T (Cn)| = O(|Cn |

2)).

Démonstration• Soit k le nombre d’arrêtes de Cn, k 6 2 × |Cn | (resp. k 6 |Cn |

2),

• un nœud de Cn d’arité entrante n et sortante m est représenté par unréseau de preuve de taille au plus 9(n + m),

• la somme des arités entrantes et sortantes de l’ensemble des nœuds deCn ne peut dépasser k .

1 Circuits booléens

2 Réseaux booléens

3 Exemples et composition

4 Circuits de preuve

5 Simulation

6 Résultats

Définition (t-réduction)• •

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)•

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

. . .

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

. . .

→t

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

. . .

→t

Définition (⇒)On écrit P ⇒ Q si Q peut être obtenu depuis P en éliminant toutesles a-, m- ou t- coupures en parallèle.

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

. . .

→t

Définition (⇒)On écrit P ⇒ Q si Q peut être obtenu depuis P en éliminant toutesles a-, m- ou t- coupures en parallèle.

Théorème ([Terui, 2004])Il existe une séquence de réductions parallèles

P ⇒ P1 ⇒ . . .⇒ Pn

telle que Pn est sans coupures et n 6 3 × d(P).

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

. . .

→t

Théorème ([Terui, 2004])Pour tout réseau de preuve P de taille |P | et de profondeur d(P), ilexiste un circuit booléen C de taille O(|P |4) et de profondeur O(d(P))sur la base B1(UstCONN2) qui accepte le même ensemble que P.

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

Définition (t-réduction)• •

. . .

→t

Théorème ([Terui, 2004])Pour tout réseau de preuve P de taille |P | et de profondeur d(P), ilexiste un circuit booléen C de taille O(|P |4) et de profondeur O(d(P))sur la base B1(UstCONN2) qui accepte le même ensemble que P.

DémonstrationC est composé de cinq sous-circuits :

1 transforme le code de P en fonction des entrées,2 simule les→t -réduction en parallèle,3 simule les→a-réduction en parallèle,4 simule les→m-réduction en parallèle,5 identifie si le résultat de l’évaluation est b0 ou b1.

1 Circuits booléens

2 Réseaux booléens

3 Exemples et composition

4 Circuits de preuve

5 Simulation

6 Résultats

Classes de complexité

Définition (NC i (resp. AC i))Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de circuits booléens uniformes, où pour chaque circuit ayantn entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n,• ses nœuds sont étiquetés par des fonctions de B0 (resp. B1).

NC =⋃i∈N

NC i et AC =⋃i∈N

AC i

Classes de complexité

Définition (APN i, [Terui, 2004] (resp.mBN i,[Mogbil et Rahli, 2007]))Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de réseaux booléens non-uniformes (resp.uniformes), oùpour chaque circuit ayant n entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n.

APN =⋃i∈N

APNi (resp. mBN =⋃i∈N

mBNi)

Classes de complexité

Définition (CCP i [Aubert, 2010])Pour i ∈N, ensemble des fonctions booléennes calculables parfamilles de circuits de preuves uniformes, où pour chaque circuitayant n entrées,• sa profondeur est bornée par O(logi n),• sa taille est polynomiale en n.

CCP =⋃i∈N

CCP i

Le problème traduction

Définition (Traduction de AC i vers CCP i)On pose le problème suivant :

Entrée : Une description d’une famille de circuits booléensappartenant à AC i .

Sortie : Une description d’une famille de circuits de preuvesappartenant à CCP i tels que le résultat de l’évalua-tion via élimination des coupures de chaque circuitde preuve coïncide avec le résultat de l’évaluationdu circuit booléen correspondant.

ThéorèmeTraduction de AC i vers CCP i appartient à AC0.

1 0 x1 x2

∧3 ¬

∨3

Le problème traduction

Définition (Traduction de AC i vers CCP i)On pose le problème suivant :

Entrée : Une description d’une famille de circuits booléensappartenant à AC i .

Sortie : Une description d’une famille de circuits de preuvesappartenant à CCP i tels que le résultat de l’évalua-tion via élimination des coupures de chaque circuitde preuve coïncide avec le résultat de l’évaluationdu circuit booléen correspondant.

ThéorèmeTraduction de AC i vers CCP i appartient à AC0.

1 0 x1 x2

∧3 ¬

∨3

Le problème traduction

ThéorèmeTraduction de AC i vers CCP i appartient à AC0.

1 0 x1 x2

∧3 ¬

∨3

Le problème traduction

ThéorèmeTraduction de AC i vers CCP i appartient à AC0.

1 0 x1 x2

∧3 ¬

∨3

b1 b0 DUPL2

NEGCONJ3

DISJ3

Le problème traduction

ThéorèmeTraduction de AC i vers CCP i appartient à AC0.

1 0 x1 x2

∧3 ¬

∨3

b1 b0 DUPL2

NEGCONJ3

DISJ3

Inclusion des classes de complexité

ThéorèmePour i ∈N, AC i

⊆ CCP i .

RemarquePour i ∈N, CCP i

⊆ mBNi .

RemarqueAC0

⊆ CCP0⊆ AC0(UstCONN2).

Inclusion des classes de complexité

ThéorèmePour i ∈N, AC i

⊆ CCP i .

RemarquePour i ∈N, CCP i

⊆ mBNi .

RemarqueAC0

⊆ CCP0⊆ AC0(UstCONN2).

Inclusion des classes de complexité

ThéorèmePour i ∈N, AC i

⊆ CCP i .

RemarquePour i ∈N, CCP i

⊆ mBNi .

RemarqueAC0

⊆ CCP0⊆ AC0(UstCONN2).

Aubert, C. (2010).Réseaux de preuves booléens sous-logarithmiques.Mémoire de M2 L.M.F.I., Paris VII, L.I.P.N.

Mogbil, V. et Rahli, V. (2007).Uniform circuits, & Boolean proof nets.In Proceedings of L.F.C.S., pages 401–421. Springer.

Terui, K. (2004).Proof Nets and Boolean Circuits.In Proceedings of LICS’04, pages 182–191.

Recommended