ENS Informatique MP PC 2006Sujet et corrigé
Pas encore noté
Téléchargements
- Rapport du jury : non disponible
Ces sujets peuvent vous intéresser
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.Afficher ou masquer la section
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.
Filière MP (groupes MPI et I)
Épreuve commune aux ENS de Paris, Lyon et Cachan
INFORMATIQUE
Durée : 4 heures
L'usage de calculatrice est interdit
Ordre topologique et circuits booléens
Le sujet aborde la question du calcul des fonctions booléennes, en utilisant le modèle des circuits booléens.
La première partie introduit une notion fondamentale (ordre topologique sur un graphe sans cycle) et demande d'écrire ou d'étudier quelques algorithmes de base relatifs aux ordres topologiques. La seconde partie introduit les fonctions et les circuits booléens et aborde plusieurs questions relatives au calcul dans ce modèle, notamment d'expressivité. La troisième partie demande d'estimer des bornes de complexité, supérieures et inférieures.
Les seconde et troisième parties peuvent largement être abordées même si la première n'a pas été complètement résolue.
Définitions et conventions
Graphes. Un graphe (orienté) est un couple
G = (S, A) où
S est un ensemble fini (les sommets de
G ) et
A un sous-ensemble de
S × S (les arêtes de
G ). Si
G est un graphe à
n sommets, on identifiera
S à
{1, …, n} . Si
X est un ensemble,
|X| désignera son cardinal.
Si
a = (u, v) est une arête, on appelle
u son origine et on la note or
(a) ; on appelle
v l'extrémité de
a et on la note ex(a). Le sommet
v est dit fils de
u .
Un chemin de longueur
s ≥ 1 est une suite d'arêtes
w = a_1, …, a_s telle que ex
(a_i) = or(a_(i + 1)) pour
1 ≤ i ≤ s − 1 . On note
S(w) l'ensemble de sommets
{or(a_i), 1 ≤ i ≤ s} ∪ {ex(a_s)} . Ce chemin est un cycle si ex
(a_s) = or
(a_1) .
Si
j est un sommet de
G , on appelle degré entrant de
j et on note in
(j) le nombre d'arêtes d'extrémité
j ; on appelle degré sortant de
j le nombre d'arêtes d'origine
j . Un sommet de degré entrant nul est appelé une entrée; un sommet de degré sortant nul est appelé une sortie; un sommet qui n'est pas une entrée est dit interne.
Structures de données et algorithmes. Dans la suite on manipulera des listes d'entiers, des tableaux d'entiers, de listes d'entiers, de booléens, ... Les indices d'un tableau de taille
n vont de 1 à
n ; la taille d'un tableau
t sera notée taille
(t) .
La liste vide est notée nil. Une liste
L non vide est formée d'un premier élément, noté tête
(L) , et de la liste formée par les autres éléments, notée queue
(L) . La primitive concat
(a, L) renvoie la liste formée en ajoutant
a en tête de
L . On note
x ∈ L pour indiquer que l'élément
x appartient à la liste
L .
Vous pouvez utiliser le langage ou pseudo-langage de votre choix pour l'écriture de fonctions, en utilisant les structures de contrôle usuelles (Pour, Si, Tant que, . . .). La question 1.4. de la première partie illustre un choix possible. Certaines questions demandent de donner les principes d'un algorithme; pour ces questions, on ne demande pas d'écrire du pseudo-code, mais de décrire l'algorithme en français.
La complexité d'un algorithme désigne le nombre d'opérations élémentaires qu'il effectue : lecture ou écriture dans un tableau, tests, accès à la tête ou à la queue d'une liste, ... La création d'un tableau de taille
n a un coût
O(n) . Si
m est une liste, le coût de l'affection
ℓ ← m est 1 . On ne cherchera pas à estimer les complexités exactement; on se contentera de donner un ordre de grandeur, en utilisant la notation asymptotique
O(⋯) .
1 Ordre topologique et applications
Soit
G = (S, A) un graphe à
n sommets. Un ordre topologique sur
G est une bijection
o :
S = {1, …, n} → {1, …, n} telle que pour toute arête (
u, v ) de
G, o(u) < o(v) ; l'ordre
o est représenté par le tableau
[o[1], …, o[n]] . L'objectif de cette partie est de donner un algorithme pour déterminer un ordre topologique et quelques-unes de ses applications.
Question 1.1.
- Donner un ordre topologique pour chacun des graphes suivants, quand c'est possible.

- Montrer que
G admet un ordre topologique si et seulement s'il est sans cycle. - Écrire une fonction Inverse(o) qui calcule le tableau
[o^(− 1)(1), …, o^(− 1)(n)] . Quelle est sa complexité?
Le graphe
G est donné par listes d'adjacence, c'est-à-dire par un tableau
t , de taille
|S| , de listes d'entiers, tel que
j ∈ t[i] si et seulement si
(i, j) est une arête de
G . De plus, chaque liste est sans répétition.
Question 1.2.
- Écrire une fonction Parents
(t) qui renvoie un tableauu , de taille|S| , contenant des listes d'entiers, tel quej ∈ u[i] si et seulement si(j, i) est une arête deG (chaque liste sera sans répétition). Quelle est sa complexité? - Donner les principes d'un algorithme qui renvoie le tableau de taille
|S| donnant le degré entrant de chaque sommet et d'un algorithme qui renvoie la liste des entrées deG . Quelle est la complexité de ces algorithmes? - En utilisant les algorithmes précédents, donner les principes d'un algorithme qui calcule un ordre topologique sur
G (s'il existe), en complexitéO(|S| + |A|) .
Dans toute la fin de cette partie, on suppose
G sans cycle. Si
o est un ordre topologique sur
G , on dit qu'une liste
L d'éléments distincts de
{1, …, n} est triée selon l'ordre o si, soit
L est vide, soit
L est réduite à un élément, soit
o( tête
(L)) < o( tête(queue
(L)) et queue
(L) est triée selon l'ordre
o .
Question 1.3. Soit
o un ordre topologique sur
G . Écrire une fonction TriSuccesseurs
(o, t) , de complexité
O(|S| + |A|) , qui trie les listes d'adjacence contenues dans le tableau
t selon l'ordre
o .
La fermeture réflexive transitive de
G est le graphe
G^∗ = (S, A^∗) tel que (
u, v ) appartient à
A^∗ si et seulement s'il existe un chemin
a_1, …, a_s dans
G tel que
u = or(a_1) et
v = ex(a_s) , ou bien si
u = v . L'objectif de la fin de cette partie est de calculer cette fermeture. Au vu des questions précédentes, quitte à renuméroter les sommets, on suppose désormais que l'application
o(i) = i forme un ordre topologique sur
G et que les listes d'adjacence du tableau
t sont données triées selon cet ordre.
Question 1.4. On étudie dans cette question l'algorithme de la figure 1, page 4. Il prend en entrée le tableau
t des listes d'adjacence triées.
- Pour le graphe suivant, donner les valeurs de
R etQ à chaque entrée dans la boucle des lignes 2-27, ainsi qu'à la fin de l'algorithme.

- Montrer qu'à l'issue de cet algorithme, le tableau
R fournit une description deG^∗ par listes d'adjacence. -
Q ← CréerTableau( faux,n), R ← CréerTableau( nil,n)
(Q etR sont des tableaux, respectivement de booléens et de listes d'entiers, respectivement initialisés à faux et nil, et de taillen = |S| ) - Pour
i allant den à 1 Faire -
R[i] ← concat(i , nil) -
Q[i] ← vrai -
ℓ ← t[i] - Tant que
ℓ ≠ nil Faire -
j ← tête(ℓ) -
ℓ ← queue(ℓ) -
Si Q[j] = faux Faire -
m ← R[j] - Tant que
m ≠ nil Faire -
k ← tête(m) -
m ← queue(m) -
Si Q[k] = faux Faire -
Q[k] ← vrai -
R[i] ← concat(k, R[i]) - Fin Si
- Fin Tant que
- Fin Si
- Fin Tant que
-
m ← R[i] - Tant que
m ≠ nil Faire -
k ← tête(m) -
m ← queue(m) -
Q[k] = faux - Fin Tant que
- Fin Pour
- Renvoyer
R
Fig. 1 - Algorithme de la question 1.4.
3. SoitA^− le sous-ensemble des arêtes de
G tel que
(u, v) ∈ A^− si et seulement si
(u, v) ∈ A et s'il n'existe pas de chemin de longueur supérieure ou égale à 2 entre
u et
v dans
G . Montrer que le nombre de sommets internes de
G est borné par
|A^−| , que
|A^∗| est borné par
|S||A^−| + |S| et estimer la complexité de l'algorithme étudié en fonction de
|S| et
|A^−| .
Indication : on pourra montrer que les lignes 10 à 18 sont exécutées si et seulement si (i, j ) est dans
A^− .
4. La grandeur|A^−| est toujours inférieure à
|S|^2 . Est-il possible de la majorer par une fonction de type
|S|^α , pour un
α < 2 ?
3. Soit
Indication : on pourra montrer que les lignes 10 à 18 sont exécutées si et seulement si (
4. La grandeur
Une chaîne est un ensemble de sommets de
G soit réduit à un élément, soit de la forme
S(w) , pour un chemin
w .
Question 1.5. On étudie pour conclure cette partie un second algorithme de fermeture réflexive transitive.
- Écrire une fonction Chaines qui calcule une partition de
S en chaînes, avec la propriété (de minimalité) suivante : pour toutes chaînesS_1 etS_2 calculées par cette fonction,S_1 ∪ S_2 n'est pas une chaîne.
Cette fonction renverra un tableau de listes d'entiers triées en ordre croissant (c'est-àdire selon l'ordre topologiqueo(i) = i) et sans répétition. Estimer sa complexité. - Soit
S_1, …, S_k une partition deS en chaînes, donnée par un tableau de listes d'entiers sans répétition, triées en ordre croissant. Pouri = 1, …, |S| eth = 1, …, k , on définitR(h, i) = min{j ∈ S_h|(i, j) ∈ A^∗} si cet ensemble n'est pas vide, etR(h, i) = |S| + 1 sinon. Enfin, on noteC le tableau de taille|S| tel queC[i] est l'unique indiceh pour lequeli ∈ S_h .
(a) Montrer queR(h, i) = i sii ∈ S_h et que, sinon,R(h, i) = min{R(h, j)|(i, j) ∈ A^−} si cet ensemble n'est pas vide.
(b) Soit(i, j) ∈ A et soitB = {ℓ ∈ S|ℓ < j et(i, ℓ) ∈ A^−} . SiB est vide, on poser = |S| + 1 ; sinon, on poser = min{R(C[j], ℓ)|ℓ ∈ B} . Montrer que(i, j) ∈ A^− si et seulement sij < r .
(c) Écrire une fonction calculant les valeursR(h, i) en complexitéO(|A| + k(|S| + |A^−|)) . - Donner les principes d'un second algorithme qui calcule la fermeture réflexive transitive de
G et estimer sa complexité. La sortie sera présentée sous la forme d'un tableau de listes d'adjacence. On ne demande pas que ces listes soient triées.
Remarque : si le grapheG est aléatoire, au sens où chaque arête (i, j ) est présente avec une probabilité0 < ε < 1 fixée, ces idées mènent à un algorithme de complexité moyenneO(|S|^2 log(|S|)) , contreO(|S|^(2.5)) pour celui de la question 1.4.
2 Fonctions booléennes et circuits booléens
Définitions. Pour
n ≥ 1 , on note
Γ_n l'ensemble des fonctions
{0, 1}^n → {0, 1} et on pose
Γ = ∪ _(n ≥ 1)Γ_n; Γ est l'ensemble des fonctions booléennes. On note
∨ ∈ Γ_2 la fonction ou,
∧ ∈ Γ_2 la fonction et,
⊕ ∈ Γ_2 la fonction ou exclusif et
¬ ∈ Γ_1 la fonction non, définies ci-dessous :
|
|
|
|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
|
|
|
|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
|
|
|
|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
|
|
|
| 0 | 1 |
| 1 | 0 |
On définit également les fonctions constantes
0 et
1 ∈ Γ_1 qui valent respectivement 0 et 1 .
Pourn ≥ 1, x = (x_1, …, x_n) et
x^′ = (x_1^′, …, x_n^′) dans
{0, 1}^n , on note
x ≤ x^′ si
x_i ≤ x_i^′ pour tout
i . Pour un sous-ensemble non vide
S = {s_1, …, s_N} de
{1, …, n} , on note
⊕ _(i ∈ S)x_i la valeur
x_(s_1) ⊕ ⋯ ⊕ x_(s_N) (cette valeur est bien définie, en vertu de l'associativité et de la commutativité de
⊕ ) ; si
S est vide,
⊕ _(i ∈ S)x_i vaut 0 . Finalement, une fonction
f ∈ Γ_n est dite :
Pour
- monotone si
x ≤ x^′ impliquef(x) ≤ f(x^′) pour tousx, x^′ dans{0, 1}^n ; - auto-adjointe si
f(¬x_1, …, ¬x_n) = ¬f(x_1, …, x_n) pour tout (x_1, …, x_n ) dans{0, 1}^n ; - affine s'il existe
S ⊂ {1, …, n} etc ∈ {0, 1} tels quef(x) = c ⊕ (⊕ _(i ∈ S)x_i) pour toutx = (x_1, …, x_n) dans{0, 1}^n .
Pourx, a ∈ {0, 1} , on notex^a = x sia = 1 etx^a = ¬x sinon. Pourf ∈ Γ_2 , on dira alors quef est de type - ET s'il existe
a, b, c ∈ {0, 1} tels quef(x_1, x_2) = (x_1^a ∧ x_2^b)^c pour tousx_1, x_2 dans{0, 1} ; - XOR s'il existe
a ∈ {0, 1} tel quef(x_1, x_2) = (x_1 ⊕ x_2)^a pour tousx_1, x_2 dans{0, 1} .
Question 2.1.
- Parmi toutes les fonctions de
Γ_2 , quelles sont celles qui sont de type ET? De type XOR? Des deux types simultanément? - Montrer qu'une fonction de type XOR est affine. Y a-t-il d'autres fonctions affines dans
Γ_2 ? - Que vaut
(x_1^a ∧ x_2^b)^c pourx_1 = ¬a ? Que vaut(x_1 ⊕ x_2)^a pourx_1 = x_2 ?
Soient
f et
f^′ dans
Γ_n . On dit que
f^′ est une spécialisation de
f s'il existe un sous-ensemble
S ⊂ {1, …, n} et des constantes
C = {c_s ∈ {0, 1}|s ∈ S} satisfaisant les conditions suivantes : pour tout
(x_1, …, x_n) ∈ {0, 1}^n, f^′(x_1, …, x_n) = f(x_1^′, …, x_n^′) , avec
x_s^′ = c_s si
s ∈ S et
x_s^′ = x_s sinon. On dit que
f^′ fixe les variables
x_s , pour
s ∈ S .
Question 2.2.
- Montrer par récurrence sur
n ≥ 2 que sif ∈ Γ_n n'est pas affine, il existe une spécialisationf^′ def qui fixe toutes les variables sauf deux d'entre elles,x_i etx_j , et telle quef^′(x_1, …, x_n) = (x_i^a ∧ x_j^b)^c , pour des constantesa, b, c dans{0, 1} . - Pour
n ≥ 1 , montrer que sif ∈ Γ_n n'est pas monotone, il existe une spécialisationf^′ def qui fixe toutes les variables sauf une d'entre elles,x_i , et telle quef^′(x_1, …, x_n) = ¬x_i .
Soit
Ω un ensemble fini de fonctions booléennes. Un circuit
C = (G, g) sur
Ω est la donnée
- d'un graphe sans cycle
G = (S, A) . On suppose queo(i) = i forme un ordre topologique surG et que les entrées sont numérotées de 1 àn . - d'une fonction
g : S → Γ telle queg(s) ∈ Ω ∩ Γ_(in (s)) si in(s) > 0 et, sis est une entrée,g(s)(x_1, …, x_n) = x_s pour(x_1, …, x_n) ∈ {0, 1}^n .
On associe à un circuitC = (G, g) àn entrées une applicationh : S → Γ_n définie ainsi : - pour toute entrée
s deG, h(s) = g(s) ; - si
s est un sommet interne, et si(s_1, s), …, (s_k, s) sont les arêtes d'extrémités , avecs_1 < ⋯ < s_k , on définith(s) parh(s)(x) = g(s)(h(s_1)(x), …, h(s_k)(x)) pour toutx ∈ {0, 1}^n .
Intuitivement, au sommets , on applique la fonctiong(s) aux valeurs calculées dans les sommets précédents. On dit que le sommets calcule la fonctionh(s) . Une fonctionf ∈ Γ est calculée par un circuitC surΩ s'il existe un sommets du graphe associé tel queh(s) = f .
La taille d'un circuit est le nombre de sommets internes deG (c'est-à-dire de sommets qui ne sont pas des entrées). La profondeur d'un circuit est la longueur du plus long chemin dansG .
Question 2.3.
- Dans l'exemple suivant, indiquer quelle fonction est calculée par le sommet entouré deux fois (on ne donne que la numérotation des noeuds d'entrée, aucune ambiguïté n'étant possible).

- Pour
x dans{0, 1}^n , on définitf_x ∈ Γ_n parf_x(x^′) = 1 si et seulement six^′ = x . Montrer quef_x peut être calculée par un circuit sur{0, 1, ∨, ∧, ¬} de tailleO(n) et de profondeurO(log(n)) , en utilisant une approche de type "diviser pour régner". - En déduire que pour tout
n ≥ 1 , toute fonction dansΓ_n peut être calculée par un circuit sur{0, 1, ∨, ∧, ¬} . Quelle est la taille de ce circuit? Sa profondeur?
Question 2.4. Un ensemble
Ω ⊂ Γ est complet si toute fonction de
Γ peut être calculée par un circuit sur
Ω .
- Réinterpréter le résultat de la question 2.3.3 en termes d'ensemble complet. Donner un ensemble complet, minimal au sens de l'inclusion.
- On va caractériser les ensembles
Ω complets. Considérons les conditions suivantes:
(i) il existef ∈ Ω telle quef(0, …, 0) = 1 (ici,0, …, 0 signifie que tous les arguments def sont mis à 0 );
(ii) il existef ∈ Ω telle quef(1, …, 1) = 0 (même remarque que ci-dessus);
(iii) il existef ∈ Ω non monotone;
(iv) il existef ∈ Ω non auto-adjointe;
(v) il existef ∈ Ω non affine;
(vi) il existe un circuitC surΩ à une entrée et un sommet internes du graphe associé tels ques calcule la fonction identitéx ↦ x ∈ Γ_1 .
(a) Montrer que ces conditions sont nécessaires.
(b) Réciproquement, on suppose ces conditions satisfaites.
- Montrer en utilisant (i)-(iii) et (vi) qu'on peut calculer la fonction
x ↦ ¬x ∈ Γ_1 par un circuit surΩ . - Montrer en utilisant (iv) et (vi) qu'on peut calculer les fonctions
0 et1 par des circuits surΩ . - Montrer en utilisant (v) qu'on peut calculer par un circuit sur
Ω une fonction de type ET. Conclure.
3 Bornes supérieures et bornes inférieures
Dans toute cette partie, on pose
Ω = Γ_1 ∪ Γ_2 : tous les sommets des graphes considérés sont donc de degré entrant 0,1 ou 2 . La première question traite un exemple de borne supérieure sur le coût du calcul de certaines fonctions; la fin du problème aborde des questions de bornes inférieures.
Une matrice booléenne
X = (x_(i, j))_(1 ≤ i, j ≤ n) de taille
n est la donnée de
n^2 valeurs
x_(i, j) dans
{0, 1} . Si
X = (x_(i, j))_(1 ≤ i, j ≤ n) et
X^′ = (x_(i, j)^′)_(1 ≤ i, j ≤ n) sont deux telles matrices, on note
Y = XX^′ la matrice booléenne de taille
n définie par
Y = (y_(i, j))_(1 ≤ i, j ≤ n) avec
On note par ailleurs
Z = X + X^′ la matrice booléenne de taille
n définie par
Z = (z_(i, j))_(1 ≤ i, j ≤ n) avec
z_(i, j) = x_(i, j) ∨ x_(i, j)^′ . Pour
m ≥ 0 , on définit les puissances
X^m par récurrence :
X^0 est la matrice
I_n , qui a toute ses entrées nulles, à l'exception de la diagonale
(x_(i, i))_(1 ≤ i ≤ n) , remplie par des 1 ; pour
m ≥ 0 , on pose
X^(m + 1) = XX^m .
Question 3.1.
- Soit
G = (S, A) un graphe àn sommets. Sa matrice d'adjacence est la matrice booléenneX = (x_(i, j))_(1 ≤ i, j ≤ n) de taillen telle quex_(i, j) = 1 si et seulement si(i, j) ∈ A . Caractériser les éléments de(I_n + X)^m en fonction des chemins dansG . - Pour
1 ≤ i, j ≤ n , soitAcc_(i, j) ∈ Γ_(n^2) la fonction qui à la matrice d'adjacence d'un grapheG , de taillen , associe 1 si et seulement sii = j ou s'il existe un chemin dei àj dansG . Montrer que pour tousi, j, Acc_(i, j) peut se calculer par un circuit surΩ de tailleO(n^3 log(n)) et de profondeurO(log(n)^2) .
Pour une fonction booléenne
f , on note
L_Ω(f) la taille minimale d'un circuit qui calcule
f sur
Ω , si un tel circuit existe (sinon, on pose
L_Ω(f) = ∞ ). Un circuit qui calcule
f sur
Ω est optimal pour
f si sa taille vaut
L_Ω(f) .
Question 3.2.
- Soit
G un graphe sans cycle, ayantn entrées,m sorties (toutes distinctes des entrées) etp sommets (internes ou non) de degré sortant supérieur ou égal à 2 . Montrer que si tout sommet interne deG a un degré entrant inférieur ou égal à 2 , alorsG contient au moinsn − m + p sommets internes.
Indication : on pourra compter le nombre d'arêtes de deux façons différentes. - Soit
f dansΓ_n et soitC = (G, g) un circuit surΩ qui calculef . Montrer les assertions suivantes :
(a) SiC est optimal pourf , alors :
- si
s_1 ets_2 sont deux sommets distincts deG, h(s_1) ≠ h(s_2) ; - il existe un unique sommet
s deG tel queh(s) = f et c'est une sortie deG ; - il existe au plus un sommet interne de
G qui soit une sortie.
(b) On suppose quef n'est ni constante, ni de la forme(x_1, …, x_n) ↦ ¬x_i . On suppose également queG ak sommets interness_1, …, s_k pour lesquelsg(s_i) est dansΓ_1 ou n'est ni de type ET ni de type XOR. Montrer qu'alorsL_Ω(f) + k est plus petit que la taille deC .
Question 3.3. Soit
k ≥ 1 . Pour
α = (α_1, …, α_k) dans
{0, 1}^k , on note
α¯ l'entier
1 + ∑_(1 ≤ i ≤ k)α_i 2^(i − 1) . Posant
n = 2^k , on définit la fonction
f_k ∈ Γ_(k + n) par
Le but de cette question est de donner une borne inférieure sur
L_Ω(f_k) . Pour cela, pour
1 ≤ z ≤ n , on définit
A_z ⊂ Γ_(k + n) par
f ∈ A_z ⟺ ∃Z ⊂ {1, …, n} de cardinal
z tel que
∀(α, x), α¯ ∈ Z ⟹ f(α, x) = x_(α¯) .
Soit
f dans
A_z , avec
z dans
{2, …, n} , soit
C un circuit sur
Ω qui calcule optimalement
f et soit
α ∈ {0, 1}^k tel que
i = α¯ est dans un ensemble
Z associé à
f selon la définition ci-avant. En fixant
x_i , construire une fonction
f^′ dans
A_(z − 1) telle que
L_Ω(f^′) ≤ L_Ω(f) − 2 . En déduire que
L_Ω(f_k) ≥ 2n − 2 .
Indication : on pourra distinguer selon le degré sortant de l'entrée correspondant àx_i . Si ce degré est 1, on discutera selon la nature du fils et on utilisera la question 2.1.3.
Indication : on pourra distinguer selon le degré sortant de l'entrée correspondant à
Question 3.4. Soit
f dans
Γ_n , pour
n ≥ 3 . On suppose qu'il existe
Z ⊂ {1, …, n} de cardinal au moins 2, satisfaisant la propriété suivante : pour tous
i, j ∈ Z , avec
i ≠ j , il existe des spécialisations
f_(i, j)^′ et
f_(i, j)^(′′) de
f qui fixent toutes les variables sauf
x_i et
x_j , et des constantes
a_(i, j), b_(i, j), c_(i, j), d_(i, j) ∈ {0, 1} telles que
- Soit
C un circuit optimal qui calculef surΩ . Soienti etj dansZ , aveci ≠ j , etw_i, w_j des chemins de l'entréei (respectivement l'entréej ) às_f , l'unique sommet deC qui calculef . On notes le sommet de plus petit indice commun aux deux ensemblesS(w_i) etS(w_j) . Montrer qu'il existe, dansS(w_i) ou dansS(w_j) , un sommett d'indice strictement plus petit que celui des et de degré sortant supérieur ou égal à 2 . - Montrer qu'il existe
|Z| − 1 élémentsi_1, …, i_(|Z| − 1) tels que, pour toutℓ, 1 ≤ ℓ < |Z| , tout chemin dei_ℓ às_f contient un sommet de degré sortant au moins 2 . Montrer de plus qu'on peut choisir ces sommets de sorte qu'ils soient tous distincts. En déduire l'inégalitéL_Ω(f) ≥ 2|Z| − 2 . - Pour
c ∈ {1, …, n − 1} , que dire de la fonctionf_c définie parf_c(x_1, …, x_n) = 1 si et seulement si∑_(1 ≤ i ≤ n)x_i = c ?
Question 3.5. Montrer que pour
n assez grand, il existe
f_n ∈ Γ_n telle que
L_Ω(f_n) > 2^(n − 1)/n . Indication : on pourra compter le nombre d'éléments dans
Γ_n et utiliser une majoration sur le nombre de circuits de taille
L à
n entrées qu'on peut construire sur
Ω .
Pas de description pour le moment
