Comme indiqué précédemment, l'exemple de Tardos réfute clairement la preuve; il donne une fonction monotone, qui est conforme à CLIQUE sur T0 et T1, mais qui se trouve dans P. Cela ne serait pas possible si la preuve était correcte, car la preuve s'applique également à ce cas. Cependant, pouvons-nous identifier l'erreur? Voici, d'après un article sur le blog de Lipton, ce qui semble être l'endroit où la preuve échoue:
La simple erreur est un point subtil dans la preuve du théorème 6, à savoir à l'étape 1, page 31 (et aussi 33, où le cas dual est discuté) - une affirmation apparemment évidente selon laquelle contient toutes les clauses correspondantes contenues dans etc, semble faux. C N F ' ( g )C′gCNF′( g)
Pour expliquer cela plus en détail, nous devons entrer dans la méthode de preuve et approximation de Berg et Ulfberg, qui réaffirme la preuve originale de Razborov de la complexité monotone exponentielle pour CLIQUE en termes de commutateurs DNF / CNF. Voici comment je le vois:
Pour chaque nœud / porte d’un circuit logique (contenant uniquement des portes binaires OU / ET), une forme normale conjonctive , une forme normale disjonctive et des approximateurs et sont attaché. et sont que les formes normales disjonctives et conjonctives correspondantes de la sortie de porte. et sont aussi des formes disjonctives et conjonctives, mais de quelques autres fonctions, "se rapprochant" de la sortie de la porte. Ils doivent cependant avoir un nombre borné de variables dans chaque monôme pourβ C N F ( g ) D N F ( g ) C k g D r g C N F D N F D R g C k g D r g C k ggβCNF( g)D NF( g)CkgrérgCNFD NFrérgCkgrérg(inférieur à une constante r) et dans chaque clause pour (inférieur à une constante k).Ckg
Il y a la notion d'une "erreur" introduite avec cette approximation. Comment cette erreur est-elle calculée? Nous ne sommes intéressés que par un ensemble T0 d’entrées pour lesquelles notre fonction totale prend la valeur 0 et T1 d’entrées pour lequel notre fonction totale prend la valeur 1 (une "promesse"). Maintenant, à chaque porte, nous ne regardons que les entrées de T0 et T1, qui sont correctement calculées (par et , qui représentent la même fonction - sortie de la porte in ) à la sortie de la porte , et regardez combien d’erreurs / erreurs sont pour etC N F ( g ) g β C k g D r g C k g D r gD NF( g)CNF( g)gβCkgrérg, comparé à cela. Si la porte est une conjonction, la sortie de la porte peut calculer correctement plus d'entrées à partir de T0 (mais les entrées correctement calculées à partir de T1 sont éventuellement réduites). Pour , qui est défini comme une simple conjonction, il n'y a cependant pas de nouvelle erreur sur toutes ces entrées. Maintenant, est défini comme un commutateur CNF / DNF de , il pourrait donc y avoir un certain nombre de nouvelles erreurs sur T0 provenant de ce commutateur. Sur T1 également, il n'y a pas de nouvelles erreurs sur - chaque erreur doit être présente sur l'une ou l'autre des entrées de porte et, de même, sur , le commutateur n'introduit pas de nouvelles erreurs sur T1. L'analyse pour la porte OU est double.CkgrérgCkg D r gCkgrérg
Le nombre d'erreurs pour les approximateurs finaux est donc limité par le nombre de portes dans , multiplié par le nombre maximal d'erreurs possibles introduites par un commutateur CNF / DNF (pour T0) ou par un commutateur DNF / CNF (pour T1). Mais le nombre total d’erreurs doit être "grand" dans au moins un cas (T0 ou T1), car il s’agit d’une propriété des formes normales conjonctives positives avec des clauses liées par , ce qui constituait la clé de la preuve originale de Razborov (Lemma 5 dans le papier de Blum).kβk
Alors, que fait Blum pour traiter les négations (qui sont poussées au niveau des entrées, donc le circuit ne contient toujours que des portes binaires OU / ET)?β
Son idée est de préformer les commutateurs CNF / DNF et DNF / CNF de manière restrictive, uniquement lorsque toutes les variables sont positives. Ensuite, les commutateurs fonctionneraient EXACTEMENT comme dans le cas de Berg et d’Ulfberg, introduisant le même nombre d’erreurs. Il s’avère que c’est le seul cas à prendre en compte.
Ainsi, il suit les lignes de Berg et Ulfberg, avec quelques distinctions. Au lieu d'attacher , , et à chaque porte du circuit , il attache ses modifications, , , et , c'est-à-dire les formes normales disjonctives et conjonctives "réduites", qu'il a définies comme étant différentes de etD N F ( g ) C k g D r g g β C N F ' ( g ) D N F ' ( g ) C ' k g D ' r g C N F ( g ) D N F ( g ) C ' r g D ' rCNF( g)D NF( g)CkgrérggβCNF′( g)D NF′( g)C′kgré′rgCNF( g)D NF( g)par "règle d'absorption", en supprimant les variables négatives de tous les monômes / clauses mixtes (il utilise également à cette fin l'opération notée R, supprimant totalement certains monômes / clauses; comme nous l'avons vu précédemment, sa définition quelque peu informelle de R n'est pas vraiment le problème , R peut être précisé afin qu’il soit appliqué à chaque porte mais ce qui est supprimé dépend non seulement des deux entrées précédentes mais de l’ensemble du circuit menant à cette porte), ainsi que de leurs approximateurs et , qu'il a également introduit.C′rgré′rg
Il conclut, dans le théorème 5, que pour une fonction monotone, et réduits calculent réellement 1 et 0 sur les ensembles T1 et T0, au nœud racine (dont la sortie est la sortie de la totalité de la fonction dans ). Ce théorème est, je crois, correct. D N F ' g 0 βCNF′D NF′g0β
Vient maintenant le comptage des erreurs. Je crois que les erreurs à chaque nœud doivent être calculées en comparant et réduits (qui sont maintenant deux fonctions différentes), à et comme il les a définis. Les définitions d'approximateurs correspondent aux définitions de et (étape 1) lorsqu'il mélange des variables à des variables inversées, mais lorsqu'il traite des variables positives, il utilise le commutateur comme dans le cas de Berg et d'Ulfberg (étape 2). Et effectivement, à l'étape 2, il introduira le même nombre d'erreurs possibles qu'avant (il s'agit du même commutateur et toutes les variables impliquées sont positives).D N F ' ( g ) C ' r gCNF′( g)D NF′( g)C′rg CNF′DNF′ré′kgCNF′D NF′
Mais la preuve est erronée à l' étape 1. Je pense que Blum est source de confusion , , qui viennent vraiment, comme il les définit, de approximateurs précédentes (pour les portes , ), avec des parties positives de et . Il y a une différence et par conséquent, la déclaration " contient toujours toutes les clauses contenues dans avant l'approximation de la porte g qui utilise une clause dans ou " semble être faux en général.γ 2 h 1 h 2 C N F ' β ( h 1 ) C N F ' β ( h 2 ) C ' g C N F ' β ( g ) γ ' 1 γ ' 2γ1γ2h1h2CNF′β( h1)CNF′β( h2)C′gCNF′β( g)γ′1γ′2