Existe algum número transcendental computável conhecido tal que o seu º dígito é computável em tempo polinomial, mas não em ?O ( n )
cc.complexity-theory
comp-number-theory
XL _At_Here_There
fonte
fonte
Respostas:
Aqui está a construção desse número. Você pode argumentar se isso significa que esse número é "conhecido".
Tomar qualquer função a partir de N de { 1 , 2 , ... , 8 } onde o n 'th dígito não é calculável no S ( n ) de tempo. Essa função existe, por exemplo, pela técnica usual de diagonalização. Interpretar f ( n ) como o n 'th dígitos decimais de algum número real α . Agora, para cada n da forma 2 2 k , k ≥ 1 , altere os dígitos de αf N { 1 , 2 , … , 8 } n O ( n ) f( N ) n α n 22k k≥1 α nas posições a 0 's. O número resultante β evidentemente retém a propriedade de que o n 'th dígito não é calculável no S ( n ) de tempo, mas tem um número infinito de muito boas aproximações por racionais, dizer a fim ó ( q - 3 ) , da forma p / q . Então, pelo teorema de Roth, β não pode ser algébrico. (Não é racional porque possui blocos arbitrariamente longos de 0n,n+1,…,3n 0 β n O(n) O(q−3) p/q β 0 desencadeado por nonzeros de ambos os lados.)
fonte
De maneira mais geral, para qualquer constante , existem números transcendentais computáveis no tempo polinomial, mas não no tempo O ( n k ) .k≥1 O(nk)
Primeiro, pelo teorema da hierarquia do tempo, existe uma linguagem não computável no tempo O ( 2 k n ) . Podemos assumir L ⊆ { 0 , 1 } ∗ , e também podemos supor que todas as strings w ∈ L tenham comprimento divisível por 3 .L0∈E O(2kn) L⊆{0,1}∗ w∈L 3
Segundo, seja a versão unária de L 0 . Para definiteness, para qualquer w ∈ { 0 , 1 } * , deixe N ( w ) denotam o número inteiro cuja representação binária é um W , e colocar G 1 = { um N ( w ) : w ∈ G 0 } . Então L 1 ∈ P , mas L 1 não é computável no tempo OL1 L0 w∈{0,1}∗ N(w) 1w L1={aN(w): w ∈ L0 0} eu1 1∈ P eu1 1 . Além disso, L 1 tem a seguinte propriedade: para qualquer m , L 1 não contém um a n tal que 2 3 m + 1 ≤ n < 2 3 m + 3 .O ( nk) eu1 1 m eu1 1 uman 23 m + 1≤ n < 23 m + 3
Terceiro, deixe (Estou assumindo aqui que a pergunta é sobre computação de números em binário. Caso contrário, os 2 acima podem ser substituídos por qualquer base desejada, isso não importa.)
Então é computável em tempo polinomial, pois podemos calcular seus primeiros n bits verificando se a , a 2 , … , a n estão em L 1 . Pela mesma razão, não é computável no tempo O ( n k ) , pois o n- ésimo bit determina se um n ∈ L 1 .α n a , a2, … , Umn eu1 1 O ( nk) n uman∈ L1 1
Para qualquer , seja p = ∑ { 2 2 3 m + 1 - n : n ∈ L 1 , n < 2 3 m + 1 } = ⌊ α 2 2 3 m + 1 and , e q = 2 2 3 m + 1 . Então | α - pm
fonte