Proporção áurea ou Pi no tempo de execução

21

Existem muitos lugares onde os números e aparecem. Estou curioso para saber sobre algoritmos cujo tempo de execução contém a proporção áurea ou no expoente.π(1+5)/2π

Plummer
fonte
4
Existe algum motivo computacional específico para suspeitar que isso possa acontecer? E sem saber onde ela surge, você acha que há algum insight em particular a ser obtido?
Niel de Beaudrap
13
A proporção áurea surge na análise de complexidade de programas semelhantes em estrutura recursiva à recursão envolvida nos números de Fibonacci : . Fn+2=Fn+1+Fn
Martin Berger
11
O limite inferior de tempo / espaço de Fortnow e Melkebeek para a solvabilidade do SAT continha a proporção áurea ( tempo e espaço); mas o expoente foi melhorado mais tarde por Ryan Williams. nϕϵno(1)
Marzio De Biasi
2
@MarzioDeBiasi Acho que seu comentário dá uma boa resposta, mesmo que o resultado tenha sido melhorado. O interessante é que não há uma análise que produz a proporção áurea no expoente
Sasho Nikolov
11
@NieldeBeaudrap Espero ver algum padrão entre os exemplos. Por exemplo, o expoente e aparece em muitos lugares em algoritmos aleatórios. Não me surpreendo com isso, pois sei que esse tipo de atividade leva a respostas que envolvem e. Eu queria saber se algo assim pode ser dito sobre algoritmos que têm proporção áurea nos tempos de execução.
Plummer

Respostas:

22

É a base e não o expoente, mas há um tempo FPT vinculado emO(φkn2)

" Um algoritmo tratável de parâmetro fixo eficiente para minimização de cruzamento de um lado ", Vida Dujmovic, Sue Whitesides, Algorithmica 40: 15–31, 2004.

Além disso, é um limite inferior em vez de superior, mas:

" Um limite no tempo para simular uma fila ou doisn1.618 repositórios de empilhamento por uma fita ", Paul MB Vitányi, Inf. Proc. Lett. 21: 147-152, 1985.

Finalmente, o que eu estava tentando encontrar quando encontrei os outros dois: a árvore de sanduíche de presunto, uma estrutura de dados agora obsoleta em geometria computacional para consultas de intervalo triangular, tem o tempo de consulta . Portanto, a proporção áurea está corretamente no expoente, mas com um log e não como ele próprio. A estrutura de dados é uma partição hierárquica do avião em células convexas, com a estrutura geral de uma árvore binária, onde cada célula e seu irmão na árvore são particionados com um corte em sanduíche de presunto. O tempo de consulta é determinado pela recorrência , que possui a solução acima. É descrito (com um nome mais chato) porQ ( n ) = Q ( nO(nlog2φ)O(n0.695)Q(n)=Q(n2)+Q(n4)+O(logn)

" Pesquisa de faixa semiplanar no espaço linear e tempo de consultaO(n0.695) ", Herbert Edelsbrunner, Emo Welzl, Inf. Proc. Lett. 23: 289-293, 1986.

David Eppstein
fonte
11
Não tenho certeza se me sentiria confortável em dizer que possui no expoente. φnlog2φ=φlog2nφ
Emil Jeřábek apoia Monica no dia
18

(do meu comentário acima)

Os limites de tempo / espaço de Fortnow e Melkebeek para a solvabilidade do SAT ( tempo e espaço) continham a proporção áurea do expoente; mas foi melhorado mais tarde por Ryan Williams . n o ( 1 )nϕϵno(1)

Marzio De Biasi
fonte
5
coNTIME[n]NTIMESPACE[nϕ+o(1),no(1)]
15

Também na base, e não no expoente: o algoritmo de Monien-Speckenmeyer para 3-SAT possui um tempo de execução de . Esse foi o primeiro limite superior não trivial do 3-SAT.φnO(n)

Jan Johannsen
fonte
10

Outro exemplo de na base é um algoritmo de Andreas Björklund e Thore Husfeldt para calcular a paridade do número de ciclos hamiltonianos direcionados, que são executados no tempo .O ( φ n )φO(φn)

http://arxiv.org/abs/1301.7250

Tyson Williams
fonte
9

Também na base: O algoritmo de deleção-contração (Zykov, 1949) para calcular o número de cores do gráfico é executado no tempo . Este é um exemplo muito canônico de como a proporção áurea aparece de uma recorrência de Fibonacci durante o tempo de execução da avaliação de uma fórmula recursiva natural; Tenho certeza que é o mais antigo.O(ϕ|E|+|V|)

Mikko Koivisto encontrou um algoritmo para calcular o número de combinações perfeitas (IWPEC 2009).O(ϕ|V|)

Thore Husfeldt
fonte
8

Ração de ouro na base: um algoritmo FPT muito recente de Kociumaka e Pilipczuk, Conjunto de Vértices de Feedback determinístico mais rápido calcula um FVS de tamanho no tempo . (Eles aprimoram seu algoritmo para rodar no tempo .)kO((2+ϕ)k)O(3.592k)

vb le
fonte
-2

para expandir o comentário de Martin Bergers: o antigo algoritmo Euclidean GCD é executado no pior dos casos em dois elementos sucessivos da sequência de Fibonacci. mais detalhes na wikipedia, que também afirma:

Essa prova, publicada por Gabriel Lamé em 1844, representa o início da teoria da complexidade computacional, [93] e também a primeira aplicação prática dos números de Fibonacci. [91]

tecnicamente, o algoritmo GCD é executado no tempo logarítmico mas a proporção áurea aparece no número de etapas do algoritmo.O(log(n))

[1] qual é a complexidade temporal do algoritmo Euclides, math.se

vzn
fonte
Qual a diferença entre o tempo e o número de etapas?
Nicholas Mancuso 31/01
Lamento que deve ler # de operações aritméticas
vzn
11
logφNO((logN)2)O(n2)
T(a,b)T(a,b)=O(logϕb)
11
O(logϕb)O