Universalidade é uma noção um tanto informal. O que isso significa aproximadamente é que, para cada função computável existe um "programa" no modelo, de modo que "executar" em qualquer entrada sempre "pára" e "gera" a resposta correta. (Observe que as máquinas de Turing não aparecem aqui: elas são apenas um exemplo de modelo de computação universal.)P P xfPPx
As palavras citadas são aquelas que precisam ser definidas. Para máquinas de Turing:
- Um programa é especificado como uma lista de estados, um alfabeto de fita, um estado inicial, estados finais e transições.
- Executar uma máquina de Turing em uma entrada significa que inicializamos a fita com uma codificação de e executamos a máquina nessa fita de acordo com as regras usuais.x x TT xxT
- A Máquina de Turing pára se atingir um estado final. (Existem algumas variantes aqui.)
- O que a máquina de Turing produz (se parar) é o conteúdo da fita.
A regra 110, como modelo de computação, precisa ser definida formalmente da mesma maneira. Uma definição é razoável se for possível simular computacionalmente o modelo de computação, no seguinte sentido: existe uma função computável tal que para todo programa e entrada (ambos codificados como números naturais), pára se pára em , e se parar, sua saída é idêntica à saída de em .P x S ( P , x ) P x S ( p , x ) P xSPxS(P,x)PxS(p,x)Px
Se você estiver curioso sobre a configuração específica da Regra 110 como um sistema de computação, sugiro que você dê uma olhada no artigo de Matthew Cook, que prova a universalidade da Regra 110 (ou melhor, de um sistema de computação construído em torno da Regra 110).
Quanto a outras regras, como a Regra 30 e a Regra 90, não sabemos que elas não são universais. Pode haver sistemas de computação convincentes construídos em torno deles que sejam universais, mas simplesmente não temos conhecimento de nenhum.