As funções booleanas estão completas?


9

Uma função booleana é uma função .f:{0 0,1 1}n{0 0,1 1}

A base booleana é conhecida por ser Turing completa, pois permite que qualquer sequência s { 0 , 1 } seja invertida ou permaneça inalterada. O mesmo pode ser dito dos portões X O R.(,)s{0 0,1 1}XOR

Nesse sentido, podemos começar com uma configuração inicial da máquina modo que b i{ 0 , 1 } e X O R com valores sucessivos v i :b=(b1 1,,bn)bEu{0 0,1 1}XORvEu

bv1 1v2v3

Cada estado representaria uma permutação de algum elemento em b . Esse processo imita efetivamente uma máquina de Turing e assume que existe algum gerador para os valores v i .vEubvEu

Então, podemos dizer que as funções booleanas de Turing estão completas?


11
Como esse maquinário pode ficar preso em um loop infinito?
Guildenstern

Eu acho que a coisa é que, enquanto o formalismo circuito booleano é isomorfo ao formalismo Turing, não dizer-lhe como construir ou gerar um tal programa ... Você tipo de necessidade de apenas "conhecer" os valores .. .vEu
user13675

Respostas:


8

Informalmente, uma linguagem (de programação) é Turing completa se todas as funções computáveis ​​tiverem uma representação. Uma função computável geral aceita uma entrada de tamanho arbitrário. As funções booleanas, por outro lado, aceitam uma entrada de tamanho fixo. Portanto, as funções booleanas nem se qualificam como potencialmente completas de Turing.

A noção relevante de integridade aqui é uma base completa de conectivos. Um conjunto de conectivos ( funções ar em valores booleanos para k arbitrário ) será concluído se todas as funções booleanas em x 1 , , x n (para arbitrário n 1 ) puderem ser representadas usando os conectivos. Os seguintes conjuntos estão completos: a base de Morgan { ¬ , , }kkx1 1,,xnn1 1{¬,,} e a base . Por outro lado, { ¬ , }{¬,}{¬,} não está completo: só pode expressar funções lineares.


Seu colega, circuitos booleanos, seria Turing completo? Eu estou supondo que eles são desde que Cook (em sua prova da NP-completude do 3SAT) mostrou como as máquinas de Turing e os circuitos booleanos são equivalentes?
User13675

@ user13675 Não, é exatamente o mesmo problema. Cada máquina de Turing com parada pode ser convertida em um circuito ou fórmula booleana equivalente para cada tamanho de entrada, mas para cada tamanho você precisará de um diferente.
Yuval Filmus

5

a rigor, como YF respondeu, os circuitos finitos não podem ser completos de Turing.

no entanto, vale a pena mencionar um lead em resposta a essa pergunta (e talvez o que você está procurando), um conceito intimamente relacionado, amplamente utilizado na teoria em que os circuitos são usados ​​para calcular funções de uma maneira que é mais forte do que Turing completo.

nCn

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.