Bons exemplos de "dois são fáceis, três são difíceis" em ciências da computação


29

Recentemente, encontrei uma formulação do meta-fenômeno : " dois é fácil, três é difícil " (formulado dessa maneira por Federico Poloni), que pode ser descrito da seguinte forma:

Quando um determinado problema é formulado para duas entidades, é relativamente fácil de resolver; no entanto, um algoritmo para uma formulação de três entidades aumenta tremendamente a dificuldade, possivelmente até tornando a solução inviável ou inviável.

(Congratulo-me com sugestões para tornar o fraseado mais bonito, conciso e preciso.)

Que bons exemplos em várias áreas das ciências computacionais (começando da álgebra linear pura e terminando com uma física computacional de termos gerais) você conhece?


2
A maldição da dimensionalidade vem à mente.
Paul

4
gráfico 2 cores ( fácil ) versus 3 cores ( NP-difícil ), veja aqui
GoHokies

5
@GoHokies Por favor, não poste respostas como comentários.
David Richerby

4
Desde os fundamentos da matemática ou dos antecedentes da recursão, você pode encontrar a função TREE , onde TREE (2) = 3 e TREE (3) é ... bastante grande. (não estando familiarizado com ciências da computação, não tenho certeza se essa é realmente uma resposta que você está procurando, mas parece semelhante o suficiente para deixar um comentário sobre)
BurnsBA

2
Um contraexemplo: "Nunca vá ao mar com dois cronômetros; leve um ou três". Dito isto, existem tantos bons exemplos que não há resposta certa. Esta pergunta deve ser wiki da comunidade.
David Hammen

Respostas:


35

Um exemplo que aparece em muitas áreas da física, em particular a mecânica clássica e a física quântica, é o problema dos dois corpos. O problema de dois corpos aqui significa a tarefa de calcular a dinâmica de duas partículas em interação que, por exemplo, interagem por forças gravitacionais ou de Coulomb. A solução para esse problema geralmente pode ser encontrada de forma fechada por uma transformação variável em coordenadas relativas ao centro de massa e relativas.

No entanto, assim que você considera três partículas, em geral não existem soluções de forma fechada .


3
Nitpick que eu tenho certeza que você sabe, mas sua resposta não diz: Existem soluções de formulário fechado para o problema dos três corpos, mas apenas para alguns casos especiais
llama

bom nitpick, obrigado, "em geral" está faltando aqui.
davidhigh

Observe que o problema dos três corpos tem uma solução em série ( muito lentamente convergente) encontrada por Sundman no início do século XX e uma versão mais fraca (que ignora as singularidades em que os corpos colidem) foi encontrada para o problema dos n corpos em 1990.
WorldSEnder

27

Um exemplo famoso é o problema de satisfação booleana (SAT). O 2-SAT não é complicado de resolver em tempo polinomial, mas o 3-SAT é NP completo.


3
O 3-SAT pode ser reduzido ao gráfico de 3 cores ou vice-versa
GoHokies

8
@GoHokies Eu pensei que isso é verdade para todos os problemas np-completos? Ou há algo especialmente digno de nota nesses dois? Sry, se essa é uma pergunta estúpida, meu conhecimento nessa área é básico. Mas é assim que eu entendo o teorema dos cozinheiros
findusl

2
@ findusl Você está perfeitamente certo. O que torna o 3-SAT e o 3-colorante “especiais” é a dicotomia 2-vs-3 do OP.
GoHokies

26

Em uma e duas dimensões, todas as estradas levam a Roma, mas não em três dimensões.

Especificamente, dada uma caminhada aleatória (com a mesma probabilidade de se mover em qualquer direção) nos números inteiros em uma ou duas dimensões, então não importa o ponto de partida, com probabilidade uma (também conhecida como quase certamente), a caminhada aleatória acabará por chegar a um determinado local designado ponto ("Roma").

No entanto, para três ou mais dimensões, a probabilidade de chegar a "Roma" é menor que uma; com a probabilidade diminuindo à medida que o número de dimensões aumenta.

Assim, por exemplo, se você estiver realizando uma simulação estocástica (Monte Carlo) de um passeio aleatório a partir de "Roma", que será interrompido quando o retorno de Roma for, então em uma e duas dimensões, você pode ter certeza de voltar para Roma e parando a simulação - tão fácil. Em três dimensões, você nunca poderá voltar tão difícil.

https://en.wikipedia.org/wiki/Random_walk#Higher_dimensions

Para visualizar o caso bidimensional, pode-se imaginar uma pessoa andando aleatoriamente pela cidade. A cidade é efetivamente infinita e organizada em uma grade quadrada de calçadas. Em todo cruzamento, a pessoa escolhe aleatoriamente uma das quatro rotas possíveis (incluindo a originalmente viajada). Formalmente, esta é uma caminhada aleatória no conjunto de todos os pontos no plano com coordenadas inteiras.

A pessoa voltará ao ponto de partida original da caminhada? Este é o equivalente bidimensional do problema de passagem de nível discutido acima. Em 1921, George Pólya provou que a pessoa quase certamente faria uma caminhada aleatória bidimensional, mas para 3 dimensões ou mais, a probabilidade de retornar à origem diminui à medida que o número de dimensões aumenta. Em 3 dimensões, a probabilidade diminui para aproximadamente 34%

Consulte http://mathworld.wolfram.com/PolyasRandomWalkConstants.html para obter valores numéricos.


21

Aqui está um dos corações dos colaboradores do SciComp.SE:

O problema de existência e suavidade de Navier-Stokes

A versão tridimensional é obviamente um famoso problema aberto e o assunto de um milhão de dólares do Clay Millenium Prize. Mas a versão bidimensional já foi resolvida há muito tempo, com uma resposta afirmativa. Terry Tao observa que a solução remonta essencialmente à tese de Leray em 1933!

Por que o problema tridimensional é muito mais difícil de resolver? A resposta padrão, ondulada à mão, é que a turbulência se torna significativamente mais instável em três dimensões do que em duas. Para obter uma resposta matematicamente mais rigorosa, consulte a declaração oficial de problemas de Charles Fefferman no Clay Institute ou a agradável exposição de Terry Tao sobre as possíveis estratégias de prova .


20

Na teoria da escolha social, projetar um esquema de eleição com dois candidatos é fácil (regras da maioria), mas projetar um esquema de eleição com três ou mais candidatos envolve necessariamente fazer trocas entre várias condições razoáveis. ( Teorema da impossibilidade de Arrow ).


11

Diagonalizacao simultânea de duas matrizes A1 e A2 :

U1TA1V=Σ1,U2TA2V=Σ2
está coberto por existentegeneralizada decomposição em valores singulares.

No entanto, quando a redução simultânea de três matrizes para uma forma canônica (condição mais fraca em comparação com a acima) é necessária:

QTA1Z=A1~,QTA2Z=A2~,QTA3Z=A3~
não existem métodos diretos. Para tanto, é preciso optar por rotas mais complicadas usando SVDs aproximados, decomposições de tensores, etc.

Uma aplicação prática seria uma solução para um problema de autovalor quadrático:

(UMA1 1+λUMA2+λ2UMA3)x=0 0

Fonte: CF van Loan, "Aula 6: A decomposição de valor singular generalizada de ordem superior", Escola de Verão CIME-EMS, Cetraro, Itália, junho de 2015.


Should e U T 2 tanto ser V - 1 ? Aqui eles nem precisam ser iguais. você1 1Tvocê2TV-1 1
Rosie F

11
Σ

9

Existem muitos exemplos na computação quântica, embora eu esteja fora disso há um tempo e, portanto, não me lembro de muitos. Uma das principais é que o emaranhamento bipartido (emaranhamento entre dois sistemas) é relativamente fácil, enquanto o emaranhamento entre três ou mais sistemas é uma bagunça não resolvida, com provavelmente cem artigos escritos sobre o assunto.

max(vocêumavbWcTumabc/__você____v____W__)

Este artigo parece relevante, embora eu não o tenha lido: a maioria dos problemas de tensores é dura em NP


2
Eu sinto que o problema real que você está enfrentando é que a decomposição da ordem dos tensores é fácil para os tensores de ordem 1 (vetores) e tensores de ordem 2 (matrizes), mas difícil de NP para o resto
Richard Zhang

Isso faz parte disso, mas mesmo se você tivesse como decompô-los, ainda há a questão de categorizar / classificar. Para emaranhamento, as unitarias locais não importam, então tudo o que resta no caso da ordem 2 é uma lista de valores singulares (SVD é chamado de decomposição de Schmidt nesse contexto). Para pedidos superiores, existe um zoológico inteiro de possibilidades. Questões como quais estados podem ser transformados em outros estados por meio de operações locais acabam sendo muito difíceis (do ponto de vista teórico, não necessariamente computacional).
Dan Stahlke

5

A bissecção de ângulos com régua e bússola é simples, a trissecção de ângulos é geralmente impossível.


4

Inferência de tipo para os tipos Rank-n . A inferência de tipo para o Rank-2 não é especialmente difícil, mas a inferência de tipo para o Rank-3 ou superior é indecidível.


4

Aqui está um excelente da otimização: o algoritmo ADMM (Alternating Direction Method of Multipliers).

Dada uma função objetiva desacoplada e convexa de duas variáveis ​​(as próprias variáveis ​​poderiam ser vetores) e uma restrição linear acoplando as duas variáveis:

minf1 1(x1 1)+f2(x2)
s.t.UMA1 1x1 1+UMA2x2=b

A função Lagrangiana Aumentada para esse problema de otimização seria então

euρ(x1 1,x2,λ)=f1 1(x1 1)+f2(x2)+λT(UMA1 1x1 1+UMA2x2-b)+ρ2||UMA1 1x1 1+UMA2x2-b||22

O algoritmo ADMM funciona basicamente executando uma divisão "Gauss-Seidel" na função Lagrangiana aumentada para esse problema de otimização, minimizando euρ(x1 1,x2,λ) primeiro em relação a x1 1 (enquanto x2,λ permanecer fixo), minimizando euρ(x1 1,x2,λ) em relação a x2 (enquanto x1 1,λ permanecer fixo) e, em seguida, atualizando λ. Este ciclo continua até que um critério de parada seja alcançado.

(Nota: alguns pesquisadores como Eckstein descartam a exibição de divisão de Gauss-Siedel em favor de operadores proximais, por exemplo, consulte http://rutcor.rutgers.edu/pub/rrr/reports2012/32_2012.pdf )

Para problemas convexos, foi comprovado que esse algoritmo converge - para dois conjuntos de variáveis. Este não é o caso de três variáveis. Por exemplo, o problema de otimização

minf1 1(x1 1)+f2(x2)+f3(x3)
s.t.UMA1 1x1 1+UMA2x2+UMA3x3=b

Mesmo que todo f são convexas, a abordagem do tipo ADMM (minimizando o Lagrangiano Aumentado em relação a cada variável xEu, atualizando a variável dupla λ) NÃO garante convergência, como foi mostrado neste documento.

https://web.stanford.edu/~yyye/ADMM-final.pdf


3

Dobrar um pedaço de papel ao meio sem ferramentas é fácil. Dobrar em terços é difícil.

Fatorar um polinômio com duas raízes é fácil. Fatorar um polinômio com três raízes é significativamente mais complicado.


3
Seu primeiro exemplo não se encaixa no espírito da citação. A idéia é que, à medida que as duas passam mais altas, é mais difícil; no entanto, ao dobrar um papel, a quarta é tão fácil quanto a metade. A citação aqui seria "Par é mais fácil do que ímpar". Acho que o segundo é bom - e agradece por tentar simplificá-lo com o papel!
Bill K

3

Uma curva suave de grau 2 (ou seja, dada como a solução de f(x,y)=0 0 Onde fé um polinômio de grau 2) com um dado ponto é racional , o que significa que pode ser parametrizado por quocientes de polinômios, e de grau 3 não é. Os primeiros são considerados bem compreendidos, os segundos, chamados curvas elípticas quando um ponto base, ou seja, uma solução específica, é destacado, são objeto de intensa pesquisa.

Essa diferença tem várias implicações:

  • No grau 2, existem algoritmos para encontrar todos os pontos racionais (soluções em números racionais); no grau 3, esse algoritmo não é conhecido.
  • Integrais envolvendo f(x) com f do grau 1 ou 2 têm soluções em funções elementares, mas não para f de grau 3 ou superior.
  • O problema do logaritmo discreto é tratável nas curvas de grau 2, portanto, não é adequado para aplicações criptográficas, enquanto a dureza assumida do mesmo problema nas curvas elípticas é a base de alguns dos sistemas de criptografia de chave pública mais populares.

1

A TREEfunção

Podemos calcular TREE(2) = 3, mas TREE(3)não é calculável na vida útil do universo, apenas sabemos que é finito.


TREE(3)é "calculável" dado tempo suficiente. Por exemplo, para cadan você pode gerar todas as árvores coloridas do tamanho ne verifique se cada um atende aos critérios necessários até que essas árvores não existam. Mas seria preciso uma quantidade inimaginável de espaço e tempo.
Restabelecer Monica

Certo, desculpe pelo erro. Corrigido minha declaração. Obrigado Solomonoff!
justhalf

11
Vídeo de numberphile relacionado sobre Tree (3): youtube.com/watch?v=3P6DWAwwViU
Novice C

1

Em um espaço bidimensional, você pode introduzir uma estrutura complexa, que pode ser usada para resolver elegantemente muitos problemas (por exemplo , problemas de fluxo em potencial ), mas não existe nenhum análogo em 3 dimensões.


0

Na física quântica de muitos corpos, estudamos diferentes redes de n spins na estrutura de diferentes modelos (por exemplo, modelo Heisenberg, modelo Bose-Hubbard, modelo Ising, ...). É claro que você tem métodos numéricos diferentes para estudá-los (DMRG, diagonalização exata, redes neurais, ...) e uma das razões pelas quais tentamos desenvolver métodos diferentes é porque você não pode resolver esses modelos quando n se torna "muito alto" e, é claro, é pior se você estudar em dimensões mais altas. Por exemplo, para o modelo de Ising, a diagonalização exata funciona bem em 1d para n não superior a 20. Portanto, para n superior, tente outro método: DMRG. Mas estes últimos funcionam bem para n mais alto (como n = 70, mas não bem para n mais alto). Novamente, você deseja outro método para redes n: neurais mais altas (ou seja, inteligência artificial). E além das redes neurais, você pode estudar "mais facilmente" (ou seja, com relativamente mais alto n) esses modelos em dimensões mais altas (mas para dimensão = 3 e pequeno n, por exemplo, ainda leva muitas horas (vários dias) para obter o estado fundamental ou o observável que você queria ...). Bref, quando n se tornar "muito alto" para seus métodos numéricos (mas também a capacidade do seu computador), você precisará executar novos métodos (e, se puder, usar um super computador) e será o mesmo problema com a dimensão do seu sistema, mas pior, é claro, como você está rapidamente travado (dimensão = 4 é difícil de obter, exceto se você esperar muito tempo ...). ainda leva muitas horas (vários dias) para obter o estado fundamental ou o observável que você queria ...). Bref, quando n se tornar "muito alto" para seus métodos numéricos (mas também a capacidade do seu computador), você precisará executar novos métodos (e, se puder, usar um super computador) e será o mesmo problema com a dimensão do seu sistema, mas pior, é claro, como você está rapidamente travado (dimensão = 4 é difícil de obter, exceto se você esperar muito tempo ...). ainda leva muitas horas (vários dias) para obter o estado fundamental ou o observável que você queria ...). Bref, quando n se tornar "muito alto" para seus métodos numéricos (mas também a capacidade do seu computador), você precisará executar novos métodos (e, se puder, usar um super computador) e será o mesmo problema com a dimensão do seu sistema, mas pior, é claro, como você está rapidamente travado (dimensão = 4 é difícil de obter, exceto se você esperar muito tempo ...).
Claro, aqui, há mais informações adicionais para sua pergunta, porque, na física quântica de muitos corpos, n = 3 não é alto (mas se você usar uma estrutura que é um hipercubo, não poderá usar n = 3 de curso (por causa das condições)).


-3

Mundo real:

% De automação - por exemplo, é fácil automatizar algo em 30% ou 50% ou 80%, enquanto isso é difícil ir, por exemplo, acima de 95% e incrivelmente difícil ou até quase impossível atingir 100%.


2
Você pode fornecer referências para suas reivindicações?
nicoguaro

Não posso, mas dê uma olhada, por exemplo, em carros autônomos. Aprender o carro a dirigir em linha reta e controlar a velocidade é provavelmente vezes mais fácil do que aprender a dirigir como uma pessoa normal. O processo mais complexo é, mais casos de fronteira aparecem quando você deseja torná-lo totalmente automatizado
Joelty

Acho que sua pergunta não é apropriada para este site.
nicoguaro
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.