Les fonctions booléennes sont-elles complètes

9

Une fonction booléenne est une fonction f:{0,1}n{0,1} .

La base booléenne (,) est connue pour être complète de Turing car elle permet à toute séquence d'être retournée ou de rester inchangée. On peut en dire autant des portes .X O Rs{0,1}XOR

En ce sens, nous pouvons commencer par une configuration initiale de la machine telle que et avec des valeurs successives :b i{ 0 , 1 } X O R v ib=(b1,,bn)bi{0,1}XORvi

bv1v2v3

Chaque état représenterait une permutation d'un élément dans b . Ce processus imite efficacement une machine de Turing et suppose qu'il existe un générateur pour les valeurs v i .vibvi

Alors peut-on dire que les fonctions booléennes de Turing sont complètes?

user13675
la source
1
Comment cette machine peut-elle rester coincée dans une boucle infinie?
Guildenstern
Je suppose que le truc, c'est que si le formalisme du circuit booléen est isomorphe au formalisme de Turing, il ne vous dit pas comment construire ou générer un tel programme ... Vous avez en quelque sorte besoin de simplement "connaître" les valeurs .. .vi
user13675

Réponses:

8

De manière informelle, un langage (de programmation) est Turing complet si chaque fonction calculable a une représentation. Une fonction calculable générale accepte une entrée de taille arbitraire. Les fonctions booléennes, en revanche, acceptent une entrée de taille fixe. Par conséquent, les fonctions booléennes ne peuvent même pas être considérées comme potentiellement complètes de Turing.

La notion pertinente d'exhaustivité est ici une base complète de connecteurs. Un ensemble de connecteurs ( fonctions -ary sur les valeurs booléennes pour k arbitraire ) est complet si chaque fonction booléenne sur x 1 , , x n (pour arbitraire n 1 ) peut être représentée à l'aide des connecteurs. Les ensembles suivants sont complets: la base de Morgan { ¬ , , } et la base { ¬ , } . En revanche, { ¬ , }kkX1,,Xnn1{¬,,}{¬,}{¬,} n'est pas complet: il ne peut exprimer que des fonctions linéaires.

Yuval Filmus
la source
Leur homologue, les circuits booléens, serait-il Turing complet? Je suppose qu'ils le sont puisque Cook (dans sa preuve de l'exhaustivité NP de 3SAT) a montré comment les machines de Turing et les circuits booléens sont équivalents?
user13675
@ user13675 Non, c'est exactement le même problème. Chaque machine Turing à l'arrêt peut être convertie en un circuit ou une formule booléenne équivalente pour chaque taille d'entrée, mais pour chaque taille, vous en aurez besoin d'une autre.
Yuval Filmus
5

à strictement parler comme YF l'a répondu, les circuits finis ne peuvent pas être Turing complets.

Cependant, il vaut la peine de mentionner une piste en réponse à cette question (et peut-être ce que vous recherchez), un concept étroitement lié utilisé assez largement en théorie où les circuits sont utilisés pour calculer les fonctions d'une manière plus forte que Turing complète.

nCn

vzn
la source