Nombre d'or ou Pi dans le temps d'exécution

21

Il existe de nombreux endroits où les nombres π et (1+5)/2apparaissent. Je suis curieux de connaître les algorithmes dont le temps d'exécution contient le nombre d'or ouπdans l'exposant.

Plummer
la source
4
Y a-t-il une raison informatique particulière de soupçonner que cela pourrait l'être? Et sans savoir où cela se produit, pensez-vous qu'il y ait un aperçu particulier à y gagner?
Niel de Beaudrap
13
Le nombre d'or apparaît dans l'analyse de la complexité de programmes dont la structure récursive est similaire à la récursivité impliquée dans les nombres de Fibonacci : Fn+2=Fn+1+Fn .
Martin Berger
11
Le Fortnow et Melkebeek temps / espace limite inférieure de SAT solvability contenait le nombre d' or ( temps et n o ( 1 ) l' espace); mais l'exposant a été amélioré plus tard par Ryan Williams. nϕϵno(1)
Marzio De Biasi
2
@MarzioDeBiasi Je pense que votre commentaire apporte une bonne réponse, même si le résultat a été amélioré. La chose intéressante est qu'il existe une analyse qui donne le nombre d'or dans l'exposant
Sasho Nikolov
1
@NieldeBeaudrap J'espère voir un modèle parmi les exemples. Par exemple, l'exposant e apparaît à de nombreux endroits dans des algorithmes randomisés. Je ne suis pas surpris par cela, car je sais que ce type d'activité à billes et à bacs conduit à des réponses qui impliquent e. Je me demandais si quelque chose comme ça pouvait être dit à propos d'algorithmes qui ont un nombre d'or dans les temps d'exécution.
Plummer

Réponses:

22

C'est la base plutôt que l'exposant, mais il y a un temps FPT lié dansO(φkn2)

" Un algorithme tractable efficace à paramètres fixes pour la minimisation des croisements unilatéraux ", Vida Dujmovic, Sue Whitesides, Algorithmica 40: 15–31, 2004.

C'est aussi une borne inférieure plutôt qu'une borne supérieure, mais:

" Une borne inférieure sur le temps pour simuler une file d'attente ou deux magasins déroulants par une banden1.618 ", Paul MB Vitányi, Inf. Proc. Lett. 21: 147-152, 1985.

Enfin, celui que j'essayais de trouver lorsque je suis tombé sur ces deux autres: l'arbre sandwich au jambon, une structure de données désormais obsolète en géométrie de calcul pour les requêtes de plage triangulaire, a le temps de requête . Ainsi, le nombre d'or est correctement dans l'exposant, mais avec un journal plutôt que comme lui-même. La structure des données est une partition hiérarchique du plan en cellules convexes, avec la structure globale d'un arbre binaire, où chaque cellule et son frère dans l'arbre sont partitionnés avec une coupe de sandwich au jambon. Le temps de requête est déterminé par la récurrence Q ( n ) = Q (O(nlog2φ)O(n0.695), qui a la solution ci-dessus. Il est décrit (avec un nom plus ennuyeux) parQ(n)=Q(n2)+Q(n4)+O(logn)

" Recherche de gamme demi-planaire dans l'espace linéaire et le temps de requête O(n0.695) ", Herbert Edelsbrunner, Emo Welzl, Inf. Proc. Lett. 23: 289-293, 1986.

David Eppstein
la source
1
Je ne suis pas sûr que je serais à l'aise de dire que a φ dans l'exposant. nlog2φ=φlog2nφ
Emil Jeřábek soutient Monica le
18

(d'après mon commentaire ci-dessus)

La limite inférieure temps / espace de Fortnow et Melkebeek pour la solvabilité SAT (temps et espace n o ( 1 ) ) contenait le nombre d'or dans l'exposant; mais il a été amélioré plus tard par Ryan Williams .nϕϵno(1)

Marzio De Biasi
la source
5
Alors que Ryan Williams a gâché votre exemple de Fortnow et Melkebeek, il en a également fourni un autre dans le même domaine: dans cs.cmu.edu/~ryanw/automated-lbs.pdf , il montre qu'il n'y a pas de preuve de commerce alternatif de . coNTIME[n]NTIMESPACE[nϕ+o(1),no(1)]
Emil Jeřábek soutient Monica
15

Également dans la base plutôt que dans l'exposant: l' algorithme de Monien-Speckenmeyer pour 3-SAT a un temps d'exécution de . Ce fut la première borne supérieure non triviale pour 3-SAT.φnO(n)

Jan Johannsen
la source
10

Un autre exemple de dans la base est un algorithme d'Andreas Björklund et Thore Husfeldt pour calculer la parité du nombre de cycles hamiltoniens dirigés, qui s'exécute dans le temps O ( φ n ) .φO(φn)

http://arxiv.org/abs/1301.7250

Tyson Williams
la source
9

Également dans la base: l'algorithme de suppression-contraction (Zykov, 1949) pour calculer le nombre de colorations de graphe s'exécute dans le temps . Ceci est un exemple très canonique de la façon dont le nombre d'or apparaît à partir d'une récurrence de Fibonacci pour le temps d'exécution de l'évaluation d'une formule récursive naturelle; Je suis sûr que c'est le plus ancien.O(ϕ|E|+|V|)

Mikko Koivisto a trouvé un algorithme pour calculer le nombre de correspondances parfaites (IWPEC 2009).O(ϕ|V|)

Thore Husfeldt
la source
8

kO((2+ϕ)k)O(3.592k)

vb le
la source
-2

pour développer le commentaire de Martin Bergers: l'ancien algorithme GCD euclidien s'exécute dans le pire des cas sur deux éléments successifs de la séquence de Fibonacci. plus de détails sur wikipedia qui dit aussi:

Cette preuve, publiée par Gabriel Lamé en 1844, représente le début de la théorie de la complexité computationnelle [93] et aussi la première application pratique des nombres de Fibonacci [91].

O(log(n))

[1] quelle est la complexité temporelle de l'algorithme d' Euclides, math.se

vzn
la source
En quoi le temps et le nombre d'étapes sont-ils différents?
Nicholas Mancuso
désolé qui devrait lire # d'opérations arithmétiques
vzn
1
logφNO((logN)2)O(n2)
T(a,b)T(a,b)=O(logϕb)
1
O(logϕb)O