Você está se perguntando sobre questões gerais aqui. Um número natural pode canonicamente ser representado em notação unária, mas essa representação é bastante ineficiente em termos de espaço. Você também pode representá-lo em notação binária, que é mais eficiente em termos de espaço, mas não é mais canônica, porque você também pode usar notação de inquilino ou notação decimal. Mas observe que a representação por circuitos não é significativamente menos eficiente que a notação binária; veja, por exemplo,
101101 = (((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
E observe que isso (...)*(1+1)
pode ser substituído por x:=(...) in x+x
, então você nem precisa de multiplicação para isso. Mas, como você tem multiplicação, pode representar números como eficientemente 1011^101101
. Observe também que você pode adicionar, subtrair e multiplicar números com eficiência nessa representação. Mas essa representação não se limita a números; ela funciona exatamente da mesma maneira para funções polinomiais multivariadas. E para os polinômios, é até uma representação bastante natural, porque os polinômios são a álgebra livre para anéis comutativos e a representação como circuito pode ser usada para qualquer álgebra livre.
Mas vamos voltar aos números (naturais) por um momento, números como
. NJ Wildberger escreveu alguns discursos ultrafinitistas, por exemplo, Teoria dos Conjuntos: Você Deveria Acreditar? . Na seção Mas e os números naturais? a existência de números como é admitida, porque você pode obviamente anotá-los. Mas a existência de quase todos os números naturais entre e c 0 cc=1010101010c0cé negado, porque a maioria desses números conteria mais informações do que poderia ser representado pelo universo físico. A maior parte do discurso apenas me fez rir, mas esse ponto me fez pensar. Filósofos como Willard Van Orman Quine protestaram contra a alegação da existência de possíveis não-realizados, entre outros, porque esses levam a elementos desordenados que não podem ser considerados significativos como idênticos a si mesmos e distintos um do outro. Por isso, achei bastante razoável me perguntar sobre apresentações de números para as quais uma ainda realiza adição, subtração e multiplicação, e pelo menos de forma significativa determinar se dois números são distintos um do outro. A representação do circuito consegue isso ...
Voltar para polinômios e representações de circuitos de álgebras livres. Aqui estão algumas perguntas gerais:
- Essa representação de uma álgebra livre sempre permite testes probabilísticos de identidade eficientes ou é limitada a anéis comutativos?
-> O teste de identidade é muitas vezes até indecidível: para , a rede modular livre gerada por elementos é infinita e, de fato, apresenta um problema indecidível de palavras (Freese, Herrmann).n≥4n
- Existe uma álgebra livre para a qual testes de identidade determinísticos eficientes invalidariam quaisquer conjecturas comumente consideradas, como P! = NP?
-> Sim, o teste de identidade da álgebra livre para anéis comutativos regulares é NP-completo. Não percebi isso por um longo tempo, veja abaixo ...
- Um teste de identidade determinística eficiente para (= álgebra livre de anéis comutativos) invalidaria alguma conjectura interessante ?Z[x1,…,xn]
Estou me perguntando especialmente sobre a álgebra livre para anéis comutativos regulares aqui (ou seja, anéis com uma operação inversa generalizada), pois eles permitiriam representar números racionais e funções racionais. Observe que, se tivéssemos usado essa representação apenas para números, poderíamos ter nos perguntado se podemos testar eficientemente a < b
essa representação. Essa pergunta não faz sentido para o anel comutativo livre, mas pode fazer sentido para polinômios, se os interpretarmos no contexto de anéis parcialmente ordenados livres. Mas um anel parcialmente ordenado é apenas uma estrutura relacional em vez de uma álgebra, então esse é um tipo diferente de pergunta ...
O lema de Schwartz-Zippel se aplica aqui, pois é válido para campos gerais e e existe um algoritmo aleatório eficiente para esse problema.Z⊂Q
Bem, é verdade que o lema de Schwartz-Zippel se aplica aqui e que existe um algoritmo aleatório eficiente para esse problema, mas esses dois fatos não estão diretamente relacionados. Lembre-se de que é fácil representar com eficiência polinômios como por um circuito. Portanto, se é o tamanho do circuito, é fácil obter magnitudes de coeficiente de ou . Dito isto, a identidade polinomial probabilístico testando ainda funciona sobre . O limite dos coeficientes é algo comon 7 2 n / 2 5 3 n / 3 Z B = exp ( exp ( n ) ) O ( log B )((33+3)3+x)3−((22+5)3+x)2xn72n/253n/3ZB=exp(exp(n)), e você só precisa adivinhar aleatoriamente um número primo que não divide simultaneamente todos os coeficientes. Existem números primos suficientes da ordem para fazer isso de maneira probabilística eficiente.O(logB)
Eu consideraria bastante surpreendente se PIT acima de pudesse ser derandomizado. Mas uma surpresa semelhante aconteceu comigo antes, quando o teste de primalidade foi des randomizado.Z[x1,…,xn]
Por outro lado, também acredito que você pode usar qualquer gerador de números pseudoaleatórios razoável e, assim, decidir o PIT para todos os fins práticos, se você apenas testar o tempo suficiente. Eu só acredito que você nunca pode se livrar da dúvida restante (pequena infinitesimal), semelhante aos conjuntos de medidas zero, que permanecem irritantes por não estarem vazios.