运行时间的黄金分割率或Pi


21

在许多地方,数字π和(1+5)/2出现。我很好奇有关运行时间包含指数的黄金分割率或算法π。


4
是否有任何特定的计算原因怀疑可能会这样做?而且,在不知道它发生在哪里的情况下,您是否认为有什么特别的见解?
— Niel de Beaudrap

13
黄金比率出现在程序的复杂度分析中,这些程序的递归结构与斐波纳契数涉及的递归相似:Fn+2=Fn+1+Fn。
— Martin Berger

11
SAT可解性的Fortnow和Melkebeek时间/空间下界包含黄金比例(nϕ−ϵ时间和no(1)空间);但是后来Ryan Williams改进了该指数。
— Marzio De Biasi 2013年

2
@MarzioDeBiasi我认为即使结果得到改善,您的评论也能提供很好的答案。有趣的是,有一项分析得出指数的黄金比率
— Sasho Nikolov 2013年

1
@NieldeBeaudrap我希望在示例中看到一些模式。例如,指数e在随机算法中出现在很多地方。我对此并不感到惊讶,因为我知道球类活动会导致涉及e的答案。我想知道在运行时间中具有黄金分割率的算法是否可以这样说。
— Plummer

Answers:


22

这是基体,而不是指数,但有一个 FPT时间约束O(φkn2)

”一种有效的固定参数可动算法,用于单侧交叉最小化 ”,维达·杜伊莫维奇(Vida Dujmovic),苏·怀特塞德斯(Sue Whitesides),Algorithica 40:15–31,2004年。

另外,它是一个下限而不是一个上限,但是:

“ 一种下界时间以模拟一个队列或由一个磁带2家下推商店n1.618 ”,保MBVitányi,INF中。程序 来吧 1985年21:147-152。

最后,一个我一直在试图寻找,当我遇到的另外两个跑:在火腿三明治树,在三角范围查询计算几何一个现在已经过时的数据结构,具有查询时间。因此,黄金分割率恰好在指数中,但是具有对数而非本身。数据结构是将平面分层划分成凸形单元的结构,具有二叉树的整体结构,其中每个单元格及其在树中的兄弟姐妹都用火腿三明治切块进行了分区。查询时间由递归Q (n )= Q (O(nlog2⁡φ)≈O(n0.695),具有上述解决方案。它的描述(名称更无聊)由Q(n)=Q(n2)+Q(n4)+O(log⁡n)

“ 线性空间中的半平面范围搜索和查询时间O(n0.695) ”,Herbert Edelsbrunner,Emo Welzl,Inf。程序 来吧 23:289–293,1986年。


1
我不知道我会坦然面对称具有φ的指数。nlog2⁡φ=φlog2⁡nφ
— EmilJeřábek在2013年

18

(根据我上面的评论)

SAT可解性的Fortnow和Melkebeek时间/空间下界(时间和n o (1 )空间)包含指数中的黄金比例;但是Ryan Williams后来对此进行了改进。nϕ−ϵno(1)


5
瑞安·威廉姆斯(Ryan Williams)宠坏了您的Fortnow和Melkebeek的示例时,他还在同一领域中提供了另一个示例:cs.cmu.edu/~ryanw/automated-lbs.pdf中,他表明没有替代交易证明。coNTIME[n]⊈NTIMESPACE[nϕ+o(1),no(1)]
— EmilJeřábek支持Monica


10

Another example of φ in the base is an algorithm by Andreas Björklund and Thore Husfeldt to compute the parity of the number of directed Hamiltonian cycles, which runs in time O(φn).

http://arxiv.org/abs/1301.7250


9

Also in the base: The deletion–contraction algorithm (Zykov, 1949) for computing the number of graph colourings runs in time O(ϕ|E|+|V|). This is a very canonical example of how the golden ratio appears from a Fibonacci recurrence for the running time of evaluating a natural recursive formula; I’m sure it’s the oldest.

Mikko Koivisto found a O(ϕ|V|) algorithm for computing the number of perfect matchings (IWPEC 2009).


8

Golden ration in the base: A very recent FPT algorithm by Kociumaka and Pilipczuk, Faster deterministic Feedback Vertex Set computes a FVS of size k in O∗((2+ϕ)k) time. (They then improves their algorithm to run in time O∗(3.592k).)


-2

to expand on Martin Bergers comment: the ancient Euclidean GCD algorithm runs in worst case time on two successive elements from the Fibonacci sequence. more details on wikipedia which also states:

This proof, published by Gabriel Lamé in 1844, represents the beginning of computational complexity theory,[93] and also the first practical application of the Fibonacci numbers.[91]

technically the GCD algorithm runs in logarithmic time O(log⁡(n)) but the golden ratio shows up in the number of steps of the algorithm.

[1] what is the time complexity of Euclids algorithm, math.se


How is time and the number of steps different?
— Nicholas Mancuso

sorry that should read # of arithmetic operations
— vzn

1
Lamé’s logφ⁡N bound is on the number of iterations of the main loop (or number of recursions, depending on the formulation of the algorithm). The running time of the algorithm is O((log⁡N)2) (that is, O(n2) in terms of the length of the input).
— Emil Jeřábek supports Monica

see the link. "let T(a,b) be the number of steps taken in the Euclidean algorithm. T(a,b)=O(logϕb)"
— vzn

1
I don’t know which of the links you mean, but anyway I’m simply clarifying what is the meaning of “step” here so that it makes sense. Note also that writing O(logϕ⁡b) is pointless, as logarithms in any two bases are O of each other.
— Emil Jeřábek supports Monica
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.