Justificando a análise assintótica do pior caso para os cientistas

22

Eu tenho trabalhado na introdução de alguns resultados da complexidade computacional na biologia teórica, especialmente evolução e ecologia , com o objetivo de ser interessante / útil para os biólogos. Uma das maiores dificuldades que enfrentei é justificar a utilidade da análise de pior caso assintótica para limites inferiores. Existem referências na extensão do artigo que justifiquem limites inferiores e análise assintótica de pior caso para um público científico?

Estou realmente procurando uma boa referência que possa adiar na minha escrita, em vez de ter que passar pelas justificativas no espaço limitado que tenho disponível (já que esse não é o ponto central do artigo). Também estou ciente de outros tipos e paradigmas de análise, por isso não estou buscando uma referência que diga que o pior caso é a "melhor" análise (já que existem configurações quando muito não é), mas que não é. completeletely inútil: ele ainda pode nos dá idéias teoricamente úteis sobre o comportamento de reais algoritmos em reais entradas. Também é importante que a escrita seja direcionada a cientistas gerais e não apenas engenheiros, matemáticos ou cientistas da computação.

Como exemplo, o ensaio de Tim Roughgarden, que introduz a teoria da complexidade para economistas, está no caminho certo para o que eu quero. No entanto, apenas as seções 1 e 2 são relevantes (o restante é muito específico da economia) e o público-alvo é um pouco mais confortável com o pensamento à prova de teoremas e lemas do que a maioria dos cientistas [1] .


Detalhes

No contexto da dinâmica adaptativa da evolução , conheci dois tipos específicos de resistência de biólogos teóricos:

[A] "Por que eu deveria me importar com o comportamento de arbitrário ? Eu já sei que o genoma tem pares de bases (ou talvez genes) e não mais."n = 3 * 10 9 n = 2 * 10 4nn=3109n=2104

Isso é relativamente fácil de ignorar com o argumento "podemos imaginar aguardando segundos, mas não ". Mas, um argumento mais intrincado pode dizer que "claro, você diz que se importa apenas com um específico , mas suas teorias nunca usam esse fato, elas apenas usam que ele é grande, mas finito, e é com a sua teoria que estamos estudando". análise assintótica ".2 10 9 n1092109n

[B] "Mas você só mostrou que isso é difícil, construindo esse cenário específico com esses gadgets. Por que devo me preocupar com isso, em vez da média?"

Essa é uma crítica mais difícil de abordar, porque muitas das ferramentas comumente usadas neste campo são provenientes da física estatística, onde é frequentemente seguro assumir uma distribuição uniforme (ou outra simples específica). Mas a biologia é "física com história" e quase tudo não está em equilíbrio ou "típico", e o conhecimento empírico é insuficientepara justificar suposições sobre distribuições sobre entradas. Em outras palavras, quero um argumento semelhante ao usado contra a análise de casos médios de distribuição uniforme na engenharia de software: "modelamos o algoritmo, não podemos construir um modelo razoável de como o usuário interagirá com o algoritmo ou qual será sua distribuição. de insumos será; isto é, para psicólogos ou usuários finais, não para nós ". Exceto neste caso, a ciência não está em uma posição em que o equivalente a 'psicólogos ou usuários finais' exista para descobrir as distribuições subjacentes (ou se isso é significativo).

Notas e perguntas relacionadas

  1. O link discute ciências cognitivas, mas a mentalidade é semelhante em biologia. Se você navegar pela Evolution ou Journal of Theoretical Biology , raramente verá a prova de teoremas e lemas, e quando o fizer, será tipicamente apenas um cálculo, em vez de algo como uma prova de existência ou construção complexa.
  2. Paradigmas para análise de complexidade de algoritmos
  3. Outros tipos de análise de tempo de execução além do pior caso, caso médio, etc?
  4. Ecologia e evolução através da lente algorítmica
  5. Por que os economistas devem se preocupar com a complexidade computacional
Artem Kaznatcheev
fonte
23
É impossível justificar o comportamento do pior caso… o algoritmo simplex tem um comportamento exponencial do pior caso, e as únicas pessoas que já se importaram são os teóricos. O que você precisa argumentar é: (a) o comportamento assintótico de caso médio é importante; (b) o comportamento assintótico do caso médio e o comportamento assintótico do pior caso são frequentemente semelhantes; (c) o comportamento assintótico do pior caso costuma ser muito mais fácil de calcular do que o comportamento assintótico do caso médio (especialmente porque ninguém sabe qual é a distribuição de probabilidade relevante).
quer
5
A assintótica já é um aspecto problemático. Todos nós conhecemos a história sobre algoritmos de multiplicação de matrizes (os limites superiores assintóticos não fazem sentido na prática), e talvez também a história sobre a escolha de parâmetros na criptografia (os limites inferiores assintóticos não fazem sentido na prática; os algoritmos exponenciais às vezes são viáveis ​​[DES]). Se sua análise possui constantes reais, é mais convincente.
Yuval Filmus
6
Se você pensa em computação como um jogo (ou seja, guerra) entre o provedor de entrada e o algoritmo, a pior análise é uma abordagem militar padrão - você quer saber o quão ruim pode ser. Em segundo lugar, e mais importante, a análise de pior caso não permite que você seja intelectualmente preguiçoso e aceite soluções que possam ser boas para o que você acredita que o mundo é (e não para o que o mundo realmente é). Finalmente, e talvez o mais importante, ele fornece uma maneira uniforme de comparar algoritmos de uma maneira esperançosamente significativa. Em suma, é a pior abordagem, exceto todas as outras.
Sariel Har-Peled
6
Eu acho que um limite inferior do pior caso deve ser visto como colocar a bola de volta em sua quadra. Você mostrou que não há algoritmo que possa resolver o problema em todas as instâncias em um prazo razoável. Eles podem razoavelmente acreditar que suas instâncias são fáceis - mas você acabou de mostrar que, se é assim, é um fato não trivial. Seu modelo é, portanto, incompleto, a menos que eles apresentem uma explicação para o motivo.
Aaron Roth
3
(Essa é a abordagem que parece funcionar ao conversar com os teóricos dos jogos. Isso levanta a questão - se os mercados realmente se equilibram rapidamente - que propriedade especial os mercados reais têm que contornam a pior dureza? É provável que seja possível definir uma plausível tal propriedade, e os limites inferior apenas de sugerir que isso é uma direção importante pesquisa)
Aaron Roth

Respostas:

8

Minha opinião pessoal (e tendenciosa) é que a análise assintótica de pior caso é um trampolim histórico para tipos de análise mais úteis. Portanto, parece difícil justificar para os praticantes.

Provar limites para o pior caso geralmente é mais fácil do que provar limites para definições "boas" de caso médio. A análise assintótica também costuma ser muito mais fácil do que provar limites razoavelmente rígidos. A análise assintótica no pior dos casos é, portanto, um ótimo ponto de partida.

O trabalho de Daniel Spielman e Shanghua Teng na análise simplificada do Simplex me parece um prenúncio do que pode acontecer quando começamos a entender melhor a forma de um problema: enfrentar o pior dos casos primeiro permite uma compreensão mais sutil. desenvolvido. Além disso, como Aaron Roth sugeriu nos comentários, se o comportamento "usual" de um sistema for significativamente diferente de seu pior caso, o sistema ainda não está completamente especificado e é necessário mais trabalho para melhorar o modelo. Portanto, ir além do pior caso geralmente parece importante como um objetivo a longo prazo.

No que diz respeito à análise assintótica, ela geralmente serve para manter uma prova longa e confusa, livre de detalhes perturbadores. Infelizmente, atualmente não parece haver uma maneira de recompensar o trabalho tedioso de preencher os detalhes para obter as constantes reais, de modo que raramente parece ser feito. (Os limites de página também funcionam contra isso.) A análise cuidadosa dos detalhes de um limite assintótico levou a algoritmos reais, com bons limites para as constantes, então eu pessoalmente gostaria de ver mais desse tipo de trabalho. Talvez se mais provas fossem formalizadas usando sistemas assistentes de prova, as constantes poderiam ser estimadas com menos esforço adicional. (Ou os limites nas constantes, ao longo das linhas de Gowers para o lema da regularidade de Szemerédi, podem se tornar mais rotineiros.) Existem também maneiras de provar limites inferiores livres de constantes, usando modelos de máquina mais explícitos (como autômatos determinísticos de estado finito). No entanto, esses limites inferiores (quase) exatos para modelos mais gerais de computação podem exigir muito trabalho ou estar totalmente fora de alcance. Isso parece ter sido buscado em 1958-1973 durante o primeiro auge da teoria dos autômatos, mas, tanto quanto posso dizer, desde então foi largamente deixado em paz.

O(nk)

András Salamon
fonte
Não compartilho seu entusiasmo por abandonar assintóticos em favor de limites precisos com constantes definidas. Os assintóticos podem ser imprecisos - mas são imprecisos. Eles abstraem as diferenças de implementação para o mesmo modelo de máquina. Por exemplo, um algoritmo de classificação quadrático no hardware dos anos 50 ainda será quadrático no hardware atual. Além disso, as fórmulas assintóticas compõem-se bem. Lineares e polinômios são fechados sob composição, por exemplo. (Nota que discutir por melhores limites sobre o caso da média em comparação com pior caso é ortogonal a partir argumentando contra asymptotics.)
brandjon
Você está certo em geral, mas há uma grande diferença entre uma pequena constante e uma que é uma função não elementar de um parâmetro relevante.
András Salamon
Gosto dessa resposta em geral, mas concordo com @brandjon que esconder constantes é crucial. Para mim, a razão pela qual o TCS é útil em biologia é porque ele precisa fazer muito menos suposições sobre micro-dinâmica do que física. No entanto, se você não fizer suposições sobre a microdinâmica (ou seja, a especificação exata do modelo de computação), não poderá obter os fatores constantes. A outra característica útil do TCS são as dicotomias qualitativas rigorosas (algo que é mais fácil de comparar com as observações mais qualitativas na biografia); geralmente, para obter essas informações, você também precisa eliminar constantes.
Artem Kaznatcheev
O~(nO~(1/ϵ))
1
Como uma observação lateral, há exemplos em que a análise do pior caso faz sentido. Por exemplo, quando você desenvolve uma biblioteca de sub-rotinas de uso geral e não sabe em quais domínios do aplicativo elas serão úteis: não é possível antecipar todos os casos de quando e por que alguém desejará calcular uma correspondência bipartida de custo mínimo, por exemplo. Configurações adversas, como criptografia, são ainda mais claras (no entanto, na criptografia você realmente gostaria de conhecer as constantes quando se trata de parâmetros de segurança).
Sasho Nikolov
4

Limites inferiores e análise de pior caso geralmente não andam juntos. Você não diz que um algoritmo levará pelo menos tempo exponencial no pior dos casos, portanto é ruim. Você diz que pode demorar no máximo um tempo linear no pior dos casos e, portanto, é bom. O primeiro só é útil se você quiser executar seu algoritmo em todas as entradas possíveis, e não apenas em uma entrada média.

Se você deseja usar limites inferiores para demonstrar defeitos, deseja uma análise de melhor caso ou uma análise de caso médio. Você pode simplificar as coisas, baseando-se no argumento de @ PeterShor de que o pior e o médio geralmente são muito semelhantes e fornece uma lista de algoritmos para os quais isso é verdade. (Ex: todos os tipos clássicos, além do quicksort.)

Quanto à demonstração de que os assintóticos são importantes quando comparados a entradas e fatores constantes, meu artigo favorito sobre o tema é "Pérolas de programação: técnicas de design de algoritmos", de Jon Bentley. Ele apresenta quatro soluções diferentes para um problema simples de matriz e demonstra como a abordagem linear aniquila a cúbica. Ele chama sua mesa de "A Tirania dos Assintóticos", após o termo usado pelos físicos para a intratabilidade da equação do foguete. Eu uso este exemplo para motivar a busca de melhores algoritmos para estudantes pré-universitários.

Será que um cientista que não é de informática lê um artigo que contém código e sabe pular os detalhes de baixo nível para obter uma visão geral? Eu não sei. Talvez haja uma apresentação melhor em outro lugar. Mas acho que esse é um recurso decente para citar.

E se eles argumentam que não se importam com n arbitrariamente grande, faça com que executem Fibonacci não memorizados recursivos em 3 x 10 9 pares de bases e digam que é O (1), pois o tamanho da sequência de DNA é fixo. ;)

brandjon
fonte
1
Eu gosto do exemplo fibonacci :)
Suresh Venkat
3
Re: seu primeiro parágrafo: na verdade, isso é quase exatamente o que muita teoria da complexidade faz. Se um problema for concluído com EXP, isso significa que exige tempo exponencial nas entradas do pior caso. Isso geralmente é tomado como uma indicação de sua dificuldade geral (que, para ser justa, na prática geralmente não é tão ruim quanto um indicador geral). Esse é o padrão de fato, chamado de limite "infinitamente frequente" ou io; obter limites inferiores em casos médios ou quase em todos os lugares (ou seja, para todos, com exceção de muitas entradas finitas) é um objetivo às vezes perseguido, mas muitas vezes longe do alcance em comparação aos io limites inferiores.
Joshua Grochow
2
Permitam-me salientar que você não apenas pode fornecer uma lista completa de algoritmos para os quais a análise de pior caso e de caso médio são os mesmos, mas também pode dar vários exemplos em que eles são muito diferentes (o algoritmo simplex sendo o mais famoso destes). Você realmente precisa argumentar de alguma forma que eles são iguais para sua aplicação específica; o teste experimental é uma boa maneira de fazer isso.
quer
1
@JoshuaGrochow Fair suficiente. Que tal revisar a declaração da seguinte forma: Limites mais baixos nos piores casos são importantes quando você deseja demonstrar a ausência de uma garantia matemática de não-horribilidade. ;)
brandjon
-3

Muitos concordaram que este é um tópico importante a ser pesquisado / abordado, mas parece que ainda não foi muito. algumas referências de estilo / cobertura / público / formalidade variados, não exatamente conforme solicitado, mas um pouco próximas (melhor visualizadas online até o momento em pesquisas médias, esperamos ouvir outras melhores; mais notas abaixo):

  • A complexidade dos algoritmos Atkinson (infelizmente, apenas uma referência à biologia no artigo, mas pode ser suficiente em termos gerais de ciência / engenharia)

    A moderna teoria dos algoritmos data do final da década de 1960, quando o método de medição do tempo de execução assintótico começou a ser usado. Argumenta-se que o sujeito possui uma engenharia e uma ala científica. A ala de engenharia consiste em metodologias de projeto bem conhecidas, enquanto a ala científica se preocupa com os fundamentos teóricos. Os principais problemas de ambas as alas são pesquisados. Finalmente, são apresentadas algumas opiniões pessoais sobre para onde o assunto irá a seguir.

  • Complexidade e algoritmos J. Diaz. 100 slides. amplo; alguém poderia extrair os relevantes em particular.

  • Uma introdução suave à análise de complexidade de algoritmos Dionysis "dionyziz" Zindros

em outras palavras, existe uma espécie de introdução / pesquisa / visão geral da lente teórica da complexidade em estreita combinação / conjunção / companheira com a lente algorítmica avançada da ciência, algo como "Teoria da complexidade para cientistas, engenheiros e pesquisadores" ?

existem boas referências na "lente algorítmica" anterior que você citou, por exemplo, Papadimitriou, mas não parece uma referência altamente satisfatória por um especialista na área que tenha sido escrita na última "lente de complexidade" ... ainda (talvez alguma "elite" " membro deste site considerará isso como seu próximo livro ou projeto em papel).

note também que existem muitas referências à relevância P vs NP fora da teoria da complexidade e em outros campos científicos que poderiam ser usados ​​de alguma forma para esse propósito. irá adicioná-los nos comentários, se houver algum interesse.

vzn
fonte
3
Eu não acho que isso realmente responda à pergunta.
Huck Bennett
1
uh huh, você olhou para algum dos árbitros? parte a minha resposta é que não há (ainda) qualquer ideal atender / perfeita: |
vzn
1
Eles parecem definir análise assintótica e de pior caso, em vez de se concentrar em justificá-la, mas talvez eu tenha perdido alguma coisa?
Huck Bennett
7
Na verdade, acho que pesquisadores fora da TCS poderiam facilmente descartar o pior caso como "exemplos artificialmente construídos que nunca ocorreriam na prática" e ficariam (sem forte convicção em contrário) muito mais interessados ​​no caso médio (apesar do fato de que não está claro que o caso médio é muito mais próximo das instâncias do mundo real).
Joshua Grochow
1
@vzn: assintótico (por exemplo, big-Oh) e pior caso são um tanto ortogonais. Pode-se fazer análises assintóticas de pior caso, análise assintótica de casos médios ou mesmo análises assintóticas mais fáceis (embora eu admita que a última pareça um tanto perversa). Em vez disso, pode-se fazer uma análise exata do pior caso, ou uma análise exata do caso médio, e assim por diante, embora essas sejam muito mais dependentes do modelo e menos robustas. Justificar o uso de assintóticos (e ocultar coisas como fatores constantes) é totalmente diferente de justificar o pior caso versus o caso médio ou o caso "real" (o que o último possa significar ...).
Joshua Grochow