Existem classes de complexidade estabelecidas com números reais?

14

Recentemente, um aluno me pediu para verificar uma prova de dureza NP para eles. Eles realizaram uma redução ao longo das linhas de:

Reduzo esse problema P que é conhecido como NP-completo para o meu problema (com uma redução de múltiplos de um tempo múltiplo), de modo que é NP-difícil.PP

Minha resposta foi basicamente:

Como possui instâncias com valores de , não é trivialmente computável em Turing, portanto você pode pular a redução.PR

Embora formalmente verdade, não acho que essa abordagem seja perspicaz: certamente gostaríamos de capturar a "complexidade inerente" de um problema de decisão (ou otimização) com valor real, ignorando as limitações que enfrentamos ao lidar com problemas reais. números; investigar esses problemas é para outro dia.

Obviamente, nem sempre é tão fácil quanto dizer: "a versão discreta do Subset Sum é NP-completa, portanto a versão contínua também é 'NP-hard'". Nesse caso, a redução é fácil, mas há casos famosos da versão contínua sendo mais fácil, por exemplo, programação linear versus número inteiro.

Ocorreu-me que o modelo de RAM naturalmente se estende a números reais; deixe cada registro armazenar um número real e estender as operações básicas de acordo. O modelo de custo uniforme ainda faz sentido - tanto quanto no caso discreto, de qualquer maneira - enquanto o modelo logarítmico não.

Portanto, minha pergunta se resume a: existem noções estabelecidas de complexidade de problemas com valor real? Como eles se relacionam com as classes discretas "padrão"?

As pesquisas do Google produzem alguns resultados, por exemplo, isso , mas não tenho como dizer o que é estabelecido e / ou útil e o que não é.

Rafael
fonte
1
Você pode achar interessante "Complexidade e Real Computação" amazon.com/Complexity-Real-Computation-Lenore-Blum/dp/...
Kurt Mueller
Parece-me que sua resposta ao seu aluno foi injustificada por uma simples razão: qualquer cálculo que estamos acostumados a ver com base nos reais pode ser realizado também usando reais computáveis . Não sei se essa é uma resposta que pode ser usada para o objetivo de seu aluno, mas deveria pelo menos acabar com a falta do argumento da computabilidade de Turing. Infelizmente, não sou especialista o suficiente nessas questões para aprofundar isso.
babou 4/09/14
@babou No que diz respeito à computabilidade, essa pode ser uma restrição razoável (mas que eles precisariam declarar!). No entanto, o que acontece com a complexidade?
Raphael
@ Rafael Meu argumento é, na verdade, que nem mesmo é uma restrição e não precisa ser declarado. É simplesmente inevitável. Os únicos reais que você pode considerar em um cálculo são os reais computáveis ​​(Tese de Church-Turing). A parte boa é aparentemente que ela não altera nenhuma das matemáticas relevantes, com o devido cuidado. Ir além dos reais computáveis ​​é, como usar níveis mais altos da hierarquia de Turing, especulações fascinantes, provavelmente com pouco impacto em algo real (trocadilho inevitável).
babou 5/09/14

Respostas:

8

Sim. Tem.

Existe o modelo de RAM / BSS real mencionado na outra resposta. O modelo tem alguns problemas e o AFAIK não possui muita atividade de pesquisa. Indiscutivelmente, não é um modelo realista de computação .

A noção mais ativa de computabilidade real é a do modelo de computação de tipo superior. A idéia básica é que você defina a complexidade para funções de tipo mais alto e use funções de tipo mais alto para representar números reais.

O estudo da complexidade das funções de tipo superior remonta a pelo menos 1. Para trabalhos recentes, verifique os documentos da Akitoshi Kawamura sobre a complexidade de operadores reais.

A referência clássica para a complexidade de funções reais é o livro de Ker-I Ko [2]. No sexto capítulo, o livro mais recente de Klause Weihrauch [3] também discute a complexidade da computação real (mas é mais focada na computabilidade do que na complexidade).

  • [1] Stephen Cook e Bruce Kapron, "Caracterizações dos funcionais básicos viáveis ​​do tipo finito", 1990.

  • [2] Ker-I Ko, "Complexidade computacional de funções reais", 1991.

  • [3] Klaus Weihrauch '"Computable Analysis", 2000.

Kaveh
fonte
O que torna o modelo de função de tipo superior mais realista que o modelo de RAM real?
Raphael
1
@ Rafael, acho que expliquei na questão vinculada. Se você deseja um tratamento mais detalhado, existem vários, um é o capítulo 9 de Weirauch. IIRC, outro bom artigo é de Tucker e Stolenberg-Hansen.
Kaveh
1
Na minha opinião, o modelo de RAM real tem dois problemas principais: por um lado, não possui a noção de aproximação racional de precisão arbitrária de números reais, que é indiscutivelmente sua propriedade principal; por outro, permite a comparação de números reais que AFAIK ninguém conhece. como fazer na prática. Como resultado, algumas funções reais que consideramos eficientemente computáveis ​​na prática não são computáveis ​​no modelo, enquanto algumas funções reais eficientemente computáveis ​​no modelo não são computáveis ​​na prática.
Kaveh 22/09
@ Kaveh Estou incomodado com a imprecisão de toda a discussão, na pergunta e nas respostas. Estamos falando de reais incontáveis ​​tradicionais ou de reais computáveis. Desde o seu último comentário, você está falando de "funções reais que consideramos eficientemente computáveis ​​na prática", por isso acredito que se trata de reais computáveis. O que você realmente quer dizer?
babou
8

O modelo que você descreve é ​​conhecido como modelo Blum-Shub-Smale (BSS) (também modelo Real RAM) e, de fato, é usado para definir classes de complexidade.

Alguns problemas interessantes neste domínio são as classes , N P R , e, claro, a questão de saber se P R = N P R . Por P R queremos dizer o problema é polinomialmente decidíveis, N P R é o problema é polinomialmente verificável. Existem dureza / completude dúvidas sobre a classe N P R . Um exemplo de um problema completo N P R é o problema de Q P S , Sistema Polinomial Quadrático, em que a entrada é polinômio real emPRNPRPRNPRPRNPRNPRNPRQPS variáveis, e p 1 , . . . , P nR [ x 1 , . . . , x n ] de grau no máximo 2, e cada polinômio tem no máximo 3 variáveis. A questão de saber se existe uma verdadeira solução comum R n , de tal modo que p 1 ( uma ) , p 2 ( um ) , . . . p n ( a ) = 0mp1,...,pn R[x1,...,xn]Rnp1(uma),p2(uma),...pn(uma)=0 0. Este é um problema completa.NPR

PCPPCPRNPNPRNPR . Há também uma extensão que diz que a "Versão curta quase (aproximada)" também é verdadeira. Podemos estabilizar a prova e detectar falhas inspecionando consideravelmente menos componentes (reais) que n ? Isso leva a perguntas sobre a existência de zeros para (sistema de) polinômios univariados dados pelo programa em linha reta. Além disso, por "provas longas transparentes" queremos dizerPCPR(poeuy,O(1))n

  1. "transparente" - somente a ser lido,O(1)

  2. número superpolinomial longo de componentes reais.

A prova está ligada a , e com certeza uma maneira de analisar problemas com valor real é como ela pode estar relacionada à Subconjunto - até mesmo algoritmos de aproximação para problemas com valor real seriam interessantes - como para otimização - Programação Linear que conhecemos está na classe F P , mas sim, seria interessante ver como approximatability pode afetar a integridade / dureza para o caso de N P R problemas. Além disso, outra pergunta seria a N P R = c o - N P R ? 3SUMATFPNPRNPR = co-NPR

NPR#Pf{0 0,1} NMpnNx{0 0,1}nf(x)y{0 0,1}p(n)M{x,y}#P#Pumadd essa classe é útil no estudo dos números de Betti e também da característica de Euler.

user3483902
fonte
A máquina de RAM real (Random Access Machine), ou BSS (Blum-Shub-Smale) é o modelo, mencionado anteriormente, é amplamente aceito como norma para raciocinar sobre essas classes.
User3483902
Não, essa afirmação é absolutamente falsa. Por exemplo, dê uma olhada no CCA-Net e veja quantos pesquisadores estão usando esse modelo.
Kaveh 22/09
Bem, os modelos usados ​​para as classes de complexidade no post usam o modelo BSS e, à medida que o tempo avança, pode haver outros modelos, esses outros modelos funcionam com as classes de complexidade no post? BTW, o comentário foi um esclarecimento sobre os modelos utilizados nas classes em questão, abordadas pelo post, portanto não houve esclarecimentos sobre a existência de outros modelos. Novamente, o esclarecimento foi sobre os modelos utilizados nas aulas, não houve reclamação.
user3483902