Propriedades decidíveis de reais computáveis


10

O "teorema de Rice para os reais computáveis" - ou seja, nenhuma propriedade não trivial do número representado por um determinado real computável é decidível - é verdade?

Isso corresponde de alguma maneira direta à conexão dos reais?

Respostas:


8

Sim, o teorema de Rice para reais é válido em todas as versões razoáveis ​​de reais computáveis.

Primeiro, provarei um certo teorema e um corolário e explicarei o que ele tem a ver com a computabilidade posteriormente.

Teorema: Suponha é um mapa e dois reais tais que e . Existe uma sequência Cauchy tal que para todos os j \ in \ mathbb {N} .p:R{0,1}a,bRp(a)=0p(b)=1(xi)ip(limixi)p(xj)jN

Prova. Construímos uma sequência de pares de reais seguinte maneira: Observe-se que para todos os :( y 0 , z 0 )(yi,zi)i

(y0,z0)=(a,b)(yi+1,zi+1)={(yi,(yi+zi)/2)if p((yi+zi)/2)=1((yi+zi)/2,zi)if p((yi+zi)/2)=0
iN
  • p ( z i ) = 1p(yi)=0 ep(zi)=1
  • |ziyi|=|ba|2i
  • |yi+1yi||ba|2i
  • |zi+1zi||ba|2i

Assim, as seqüências e são Cauchy e convergem para um ponto comum . Se , tomamos , e se , tomamos . ( z i ) i c = lim i y i = lim i z i p ( c ) = 0 ( x i ) i = ( z i ) i p ( c ) = 1 ( x i ) i = ( y i ) i(yi)i(zEu)Euc=limEuyEu=limEuzEup(c)=0 0(xi)i=(zi)ip(c)=1(xi)i=(yi)i

Corolário: Suponha e dois reais tais que e . Então, toda máquina de Turing funciona para sempre ou não para sempre.a , b R p ( a ) = 0 p ( b ) = 1p:R{0,1}a,bRp(a)=0p(b)=1

Prova. Pelo teorema, existe uma sequência de Cauchy tal que para todos os . Sem perda de generalidade podemos assumir que e . p ( x j ) p ( lim i x i ) j B p ( x j ) = 1 p ( lim i x i ) = 0(xi)ip(xj)p(limixi)jBp(xj)=1p(limixi)=0

Seja uma máquina de Turing. Defina uma sequência por A sequência está bem definida, porque podemos simular até etapas e decidir se ela parou ou não nessas etapas. Em seguida, observe que é uma sequência de Cauchy porque é uma sequência de Cauchy (deixamos isso como um exercício). Seja . Ou ou :y i y i = { x j se  T  parar no passo  j  e  j i x i se  T  não parar dentro de  i  passos T i ( y i ) i ( x i ) i z = lim i y i p ( z ) = 0 p ( z ) = 1Tyi

yi={xjif T halts in step j and jixiif T does not halt within i steps
Ti(yi)i(xi)iz=limiyip(z)=0p(z)=1
  • se então é executado para sempre. De fato, se ele parasse após etapas, teríamos , e então contradiz .T j z = x j p ( z ) = p ( x j ) = 1 p ( z ) = 0p(z)=0Tjz=xjp(z)=p(xj)=1p(z)=0

  • se então não é executado para sempre. De fato, se , teríamos , e então , contradizendo . T z = lim i x i p ( z ) = p ( lim i x i ) = 0 p ( z ) = 0 p(z)=1Tz=limixip(z)=p(limixi)=0p(z)=0

Agora podemos explicar por que isso nos dá o teorema de Rice para números reais. As provas são construtivas, portanto geram procedimentos computáveis. Isso vale para qualquer modelo de computabilidade e qualquer estrutura computacional de reais que mereçam ser chamados. De fato, você pode voltar e ler a prova como instruções para criar um programa - todas as etapas são computáveis.

Assim, se teve um mapa calculável e calculável de tal modo que e , poderíamos aplicar os procedimentos computáveis ​​decorrentes das provas construtivas do teorema e do corolário para criar o oráculo Halting. Mas o oráculo Halting não existe, portanto, todo mapa computável é constante.a , b R p ( a ) = 0 p ( 1 ) = 1 p : R{ 0 , 1 }p:R{0,1}a,bRp(a)=0p(1)=1p:R{0,1}

Suplementar: Havia também uma pergunta sobre se o teorema de Rice está relacionado à conexão dos reais. Sim, é essencialmente a afirmação de que os reais estão conectados.

Vamos primeiro observar que um mapa contínuo (adotamos a topologia discreta em ) corresponde a um par de clopen separado (fechado e aberto) define tal que . De fato, considere e . Uma vez que é contínua e e estão abertas, e vai ser aberta, separado, e que, obviamente, abranger todos de . Por outro lado, qualquer par de clausulas disjuntas que cubram determina um mapa contínuo{ 0 , 1 } U , V X U V = X U = p - 1 ( { 0 } ) V = p - 1 ( { 1 } ) p { 0 } { 1 } U V X ( U , V ) X pp:X{0,1}{0,1}U,VXUV=XU=p1({0})V=p1({1})p{0}{1}UVX(U,V)Xp:X{0,1} que mapeia elementos de a e elementos de a .0 V 1U0V1

A partir desta aprendemos que um espaço é desligada, se, e somente se, existe um mapa contínuo e tal que e (eu preciso de e modo que temos uma decomposição não-trivial de ). Existe outra maneira de dizer a mesma coisa: um espaço é conectado se, e somente se, todos os mapas contínuos forem constantes.p : X { 0 , 1 } a , b X p ( a ) = 0 p ( 1 ) = b a b X X X { 0 , 1 }Xp:X{0,1}a,bXp(a)=0p(1)=babXXX{0,1}

Na matemática computável, temos um teorema básico: todo mapa computável é contínuo . Portanto, enquanto estamos dentro do domínio dos objetos computáveis, o teorema de Rice afirma que um determinado espaço está conectado. No caso do teorema clássico de Rice, o espaço em questão é o espaço de funções computáveis ​​parciais .NN


Obrigado! Era isso que eu estava procurando. Alguma idéia sobre a outra questão - se isso está diretamente relacionado à conexão dos reais?
Shachaf

Adicionei uma explicação sobre o fato de o teorema de Rice ser de fato uma forma de teorema da conexão.
Andrej Bauer

Suponha que e defina se não parar nos passos e caso contrário. Se T não parar, converge para , caso contrário, converge para . Se são computáveis, então, dado , pode-se gerar uma máquina computando o limite de . Por que isso não é suficiente para mostrar que não pode ser computável ou mesmo semidecidável (como não pára se ép(x)=1,p(x)=0yi=xTiyi=xyixxx,xTyipTp1no limite). Obviamente, estou perdendo alguma coisa, pois existem propriedades não triviais que são semidecidáveis.
Ariel

11
Sua definição de está correta, mas você também precisa de uma taxa de convergência computável da sequência para afirmar que seu limite é computável. Como não podemos calcular em qual índice a sequência pode pular de para (ou então poderíamos calcular em que etapa será interrompida), não é possível obter uma taxa de convergência computável. TyiiyixxT
Andrej Bauer

-1

Não. Ou, pelo menos, a prova não é trivial, pois você pode escolher entre as (geralmente muitas) maneiras possíveis de calcular um real e pode escolher um com uma estrutura que seja totalmente da propriedade escolhida para que você não reduz o teste da propriedade ao problema de interrupção.

Além disso, acho que preciso entender melhor o que "não trivial" significa escrever as propriedades dos números. Para o teorema de Rice, "não trivial" é basicamente não sintático e não está implícito na sintaxe. No entanto, cada número real computável não é um único programa, mas uma classe de equivalência cheia de programas.


11
Não sei bem o que você quer dizer aqui. Você está tentando distinguir entre números reais computáveis ​​(por exemplo, , , etc.) e os programas que os computam? Certamente, existem infinitos programas que computam cada real computável, mas também existem infinitamente muitas máquinas de Turing que decidem qualquer linguagem decidível, e o teorema de Rice comum não tem nenhum problema com isso. 222/7π
David Richerby

Representações diferentes de reais computáveis ​​realmente têm propriedades de computabilidade significativamente diferentes? Digamos que estou usando uma das definições em en.wikipedia.org/wiki/Computable_number , por exemplo, um real computável é representado por um programa que aceita um erro racional vinculado e produz uma aproximação dentro desse limite. Quero dizer "trivial" no mesmo sentido do teorema de Rice: uma propriedade que se aplica a todos os reais computáveis ​​ou a nenhum deles. É verdade que cada número pode ser representado por vários programas, mas isso também ocorre com funções parciais.
Shachaf

@ Shachaf Isso é mais "trivial" do que o Teorema de Rice exige. As propriedades "sintáticas" também são triviais - por exemplo, "possui pelo menos 4 estados alcançáveis ​​a partir do estado inicial", "possui um gráfico de estado conectado", "não possui transição que grava X na fita", etc. - e eles precisam não se aplica a todas as máquinas.
Boyd Stephen Smith Jr.

@DavidRicherby Sim, acho que a distinção é necessária. Se você é capaz de trabalhar exclusivamente com representações totais ou produtivas, tem mais poder.
Boyd Stephen Smith Jr.

O teorema de Rice trata de propriedades de funções parciais, não de algoritmos que as computam. Da mesma forma, estou perguntando sobre propriedades de reais computáveis, não sobre programas que as computam.
Shachaf
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.