]> AND Private Git Repository - hdrcouchot.git/blob - annexesccg.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
sdcs
[hdrcouchot.git] / annexesccg.tex
1 Soit $\alpha\in\Bool$. 
2 On nomme $f^{\alpha}$ la fonction de $\Bool^{{\mathsf{N}}-1}$ 
3 dans lui-même définie pour 
4 chaque $x\in\Bool^{{\mathsf{N}}-1}$ par 
5 \[
6 f^{\alpha}(x)=(f_1(x,\alpha),\dots,f_{{\mathsf{N}}-1}(x,\alpha)).
7 \]
8 On nomme $\textsc{giu}(f)^\alpha$ le sous-graphe
9 de $\textsc{giu}(f)$ engendré par le sous-ensemble
10 $\Bool^{{\mathsf{N}}-1} \times \{\alpha\}$ de $\Bool^{\mathsf{N}}$.
11
12
13
14
15 Énonçons et prouvons tout d'abord les lemmes techniques suivants:
16
17 \begin{lemma}\label{lemma:subgraph}
18 $G(f^\alpha)$ est un sous-graphe de $G(f)$: chaque arc de $G(f^\alpha)$ est
19 un arc de $G(f)$. De plus si $G(f)$ n'a pas d'arc de ${\mathsf{N}}$ vers un autre 
20 sommet $i\neq {\mathsf{N}}$, alors on déduit
21 $G(f^\alpha)$ de $G(f)$ en supprimant le sommet ${\mathsf{N}}$ ainsi que tous les 
22 arcs dont ${\mathsf{N}}$ est soit l'extrémité, soit l'origine (et dans ce dernier  
23 cas, les arcs sont des boucles sur ${\mathsf{N}}$).
24 \end{lemma}
25
26 \begin{proof}
27 Supposons que $G(f^{\alpha})$ possède un arc de  $j$ vers $i$ de signe 
28 $s$. Par définition, il existe un sommet $x\in\Bool^{{\mathsf{N}}-1}$ tel que
29 $f^{\alpha}_{ij}(x)=s$, et puisque 
30 $f^{\alpha}_{ij}(x)=f_{ij}(x,\alpha)$, on en déduit que $G(f)$ possède un arc
31 de $j$ à $i$ de signe $s$. Ceci prouve la première assertion. 
32 Pour démontrer la seconde, il suffit de  prouver que si
33 $G(f)$ a un arc de $j$ vers $i$ de signe $s$, avec $i,j\neq {\mathsf{N}}$, alors
34 $G(f^\alpha)$ contient aussi cet arc. Ainsi, supposons que $G(f)$ a un 
35 arc de $j$ vers $i$ de signe $s$, avec $i,j\neq {\mathsf{N}}$.
36 Alors, il existe
37 $x\in\Bool^{{\mathsf{N}}-1}$ et $\beta\in\Bool$ tels que
38 $f_{ij}(x,\beta)=s$. Si $f_{ij}(x,\beta)\neq f_{ij}(x,\alpha)$, alors
39 $f_i$ dépend du  ${\mathsf{N}}^{\textrm{ème}}$ composant, ce qui est en contradiction 
40 avec les hypothèses.
41 Ainsi $f_{ij}(x,\alpha)$ est égal à $s$.
42 On a donc aussi
43 $f^{\alpha}_{ij}(x)=s$. Ainsi $G(f^\alpha)$ possède un arc 
44 arc de $j$ vers $i$ de signe $s$.
45 \end{proof}
46
47 \begin{lemma}\label{lemma:iso}
48 Les graphes $\textsc{giu}(f^\alpha)$ et $\textsc{giu}(f)^\alpha$ sont isomorphes.
49 \end{lemma}
50
51 \begin{proof}
52 Soit $h$ la bijection de $\Bool^{{\mathsf{N}}-1}$ vers
53 $\Bool^{{\mathsf{N}}-1}\times \{\alpha\}$ définie par $h(x)=(x,\alpha)$ pour chaque
54 $x\in\Bool^{{\mathsf{N}}-1}$.
55 On voit facilement que $h$ permet de définir un isomorphisme
56 entre $\textsc{giu}(f^\alpha)$ et $\textsc{giu}(f)^\alpha$: 
57 $\textsc{giu}(f^\alpha)$ possède un arc de $x$ vers $y$ si et seulement si 
58 $\textsc{giu}(f)^\alpha$ a un  arc de $h(x)$ vers $h(y)$.
59 \end{proof}
60
61
62 On peut alors prouver le théorème:
63 \thAdrien*
64
65 \begin{proof}
66 La preuve se fait par induction sur ${\mathsf{N}}$. 
67 Soit $f$ une fonction de $\Bool^{\mathsf{N}}$ dans lui-même et qui vérifie les hypothèses 
68 du théorème.
69 Si ${\mathsf{N}}=1$ la démonstration est élémentaire:
70 en raison du troisième point du théorème, $G(f)$ a une boucle négative;
71 ainsi $f(x)=\overline{x}$ et $\textsc{giu}(f)$ est un cycle de longueur 2.
72 On suppose donc que ${\mathsf{N}}>1$ et que le théorème est valide pour toutes les 
73 fonctions de $\Bool^{{\mathsf{N}}-1}$ dans lui-même. 
74 En raison du premier point du théorème, $G(f)$
75 contient au moins un sommet $i$ tel qu'il n'existe pas dans $G(f)$
76 d'arc de $i$ vers un autre sommet $j\neq i$.
77 Sans perte de généralité, on peut considérer que 
78 ce sommet est  ${\mathsf{N}}$.
79 Alors, d'après le lemme~\ref{lemma:subgraph}, 
80 $f^0$ et $f^1$ vérifient les conditions de l'hypothèse.
81 Alors, par hypothèse d'induction $\textsc{giu}(f^0)$ et
82 $\textsc{giu}(f^1)$ sont fortement connexes. 
83 Ainsi, d'après le lemme~\ref{lemma:iso}, 
84 $\textsc{giu}(f)^0$ et $\textsc{giu}(f)^1$ sont fortement 
85 connexes. 
86 Pour prouver que $\textsc{giu}(f)$ est fortement connexe, il suffit 
87 de prouver que $\textsc{giu}(f)$ contient un arc $x\to y$ avec 
88 $x_{\mathsf{N}}=0<y_{\mathsf{N}}$ et un arc $x\to y$ avec $x_{\mathsf{N}}=1>y_{\mathsf{N}}$. 
89 En d'autres mots, il suffit de prouver que:
90 \begin{equation}\tag{$*$}
91 \forall \alpha\in\Bool,~\exists x\in\Bool^{\mathsf{N}},\qquad  x_{\mathsf{N}}=\alpha\neq f_{\mathsf{N}}(x).
92 \end{equation}
93
94 On suppose tout d'abord que ${\mathsf{N}}$ a une boucle 
95 négative.
96 Alors, d'après la définition de 
97 $G(f)$, il existe $x\in\Bool^{\mathsf{N}}$ tel que $f_{{\mathsf{N}}{\mathsf{N}}}(x)<0$. 
98 Ainsi si $x_{\mathsf{N}}=0$, on a  $f_{\mathsf{N}}(x)>f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$, et donc 
99 $x_{\mathsf{N}}=0\neq f_{\mathsf{N}}(x)$ et
100 $\overline{x}^{\mathsf{N}}_{\mathsf{N}}=1\neq f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$; 
101 et si  $x_{\mathsf{N}}=1$, on a 
102 $f_{\mathsf{N}}(x)<f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$, donc $x_{\mathsf{N}}=1\neq f_{\mathsf{N}}(x)$ et $\overline{x}^{\mathsf{N}}_{\mathsf{N}}=0\neq
103 f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$. 
104 Dans les deux cas, la condition ($*$) est établie.
105
106 Supposons maintenant que  ${\mathsf{N}}$ n'a pas de boucle négative.
107 D'après la seconde hypothèse, 
108 ${\mathsf{N}}$ n'a pas de boucle, \emph{i.e.}, la valeur de $f_{\mathsf{N}}(x)$
109 ne dépend pas de la valeur de $x_{\mathsf{N}}$. 
110 D'après la troisième hypothèse, 
111 il existe $i\in [{\mathsf{N}}]$ tel que $G(f)$ a un arc de 
112 $i$ vers ${\mathsf{N}}$.
113 Ainsi, il existe $x \in \Bool^{\mathsf{N}}$ tel que $f_{{\mathsf{N}}i}(x) \neq 0$ et donc 
114 %$n$ n'est donc pas de degré zéro dans $G(f)$, \emph{i.e.} 
115 $f_{\mathsf{N}}$ n'est pas constante.
116 Ainsi, il existe $x,y\in \Bool^{\mathsf{N}}$ tel que
117 $f_{\mathsf{N}}(x)=1$ et $f_{\mathsf{N}}(y)=0$. 
118 Soit  $x'=(x_1,\dots,x_{{\mathsf{N}}-1},0)$ et
119 $y'=(y_1,\dots,y_{{\mathsf{N}}-1},1)$. 
120 Puisque la valeur de $f_{\mathsf{N}}(x)$
121 (resp. de $f_{\mathsf{N}}(y)$) ne dépend pas de la  valeur de  $x_{\mathsf{N}}$ (resp. de  $y_{\mathsf{N}}$),
122 on a $f_{\mathsf{N}}(x')=f_{\mathsf{N}}(x)=1\neq x'_{\mathsf{N}}$ (resp. $f_{\mathsf{N}}(y')=f_{\mathsf{N}}(y)=0\neq
123 y'_{\mathsf{N}}$). 
124 Ainsi la  condition ($*$) est établie, et le théorème est prouvé.
125 \end{proof}
126
127
128