Золотое сечение или пи во время работы

21

Есть много мест, где числа π и (1+5)/2появляются. Мне любопытно узнать об алгоритмах, время выполнения которых содержит золотое сечение илиπв показателе степени.

пламмер
источник
4
Есть ли какая-то конкретная вычислительная причина, чтобы подозревать, что это возможно? И, не зная, где это происходит, как вы думаете, есть ли какое-то конкретное понимание, которое можно получить, если оно произойдет?
Ниль де Боудрап
13
Золотое сечение возникает при анализе сложности программ, сходных по рекурсивной структуре с рекурсией, включенной в числа Фибоначчи : Fn+2=Fn+1+FN .
Мартин Бергер
11
Fortnow и Melkebeek время / пространство нижнего предела для SAT разрешимости содержала золотое сечение ( времени и п о ( 1 ) пространство); но показатель был улучшен позже Райаном Уильямсом. Nφ-εno(1)
Марцио Де Биаси
2
@MarzioDeBiasi Я думаю, что ваш комментарий дает хороший ответ, даже если результат был улучшен. Интересно, что есть анализ, который дает золотое сечение в показателе степени
Сашо Николов
1
@NieldeBeaudrap Я надеюсь увидеть некоторые примеры среди примеров. Например, показатель е обнаруживается во многих местах в рандомизированных алгоритмах. Меня это не удивляет, так как я знаю, что вид деятельности типа «шарики с мусором» приводит к ответам, которые включают e. Мне было интересно, можно ли что-то подобное сказать об алгоритмах, которые имеют золотое сечение во время выполнения.
Пламмер

Ответы:

22

Это скорее основание, чем показатель степени, но есть время FPT вO(φkn2)

« Эффективный трактируемый алгоритм с фиксированными параметрами для минимизации одностороннего пересечения », Вида Дуймович, Сью Уайтсайдс, Algorithmica 40: 15–31, 2004.

Кроме того, это нижняя граница, а не верхняя граница, но:

« П 1,618 нижней границы времени для имитации одной очереди или два Pushdown магазина от одной ленты », Пол MB Vitányi, Inf. Proc. Lett. 21: 147–152, 1985.n1.618

Наконец, тот, который я пытался найти, когда натолкнулся на эти два других: дерево сэндвича с ветчиной, устаревшая в настоящее время структура данных в вычислительной геометрии для запросов треугольного диапазона, имеет время запроса . Таким образом, золотое сечение правильно в показателе степени, но с бревном, а не с самим собой. Структура данных представляет собой иерархическое разбиение плоскости на выпуклые ячейки с общей структурой двоичного дерева, где каждая ячейка и ее одноуровневый элемент в дереве разделены срезами ветчины. Время запроса определяется повторением Q ( n ) = Q (O(nlog2φ)O(n0.695), что имеет вышеуказанное решение. Это описано (с более скучным названием)Q(n)=Q(n2)+Q(n4)+O(logn)

« Полуплоскостной поиск в линейном пространстве и время запроса O(n0.695) », Герберт Эдельсбруннер, Emo Welzl, Inf. Proc. Lett. 23: 289–293, 1986.

Дэвид Эппштейн
источник
1
Я не уверен, что мне было бы удобно говорить, что имеет φ в показателе степени. nlog2φ=φlog2nφ
Эмиль Йержабек поддерживает Монику
18

(из моего комментария выше)

Fortnow и Melkebeek время / пространство нижнего предела для SAT разрешимости ( времени и п O ( 1 ) пространство) содержал золотое сечение в показателе; но это было улучшено позже Райаном Уильямсом .nϕϵno(1)

Марцио де Биаси
источник
5
В то время как Райан Уильямс испортил ваш пример с Fortnow и Melkebeek, он также предоставил еще один пример в той же области: в cs.cmu.edu/~ryanw/automated-lbs.pdf он показывает, что нет доказательства торговли с чередованием . coNTIME[n]NTIMESPACE[nϕ+o(1),no(1)]
Эмиль Йержабек поддерживает Монику
15

Также в основе, а не в показателе степени: алгоритм Монена-Спекенмейера для 3-SAT имеет время работы . Это была первая нетривиальная верхняя граница для 3-SAT.φnO(n)

Ян Йоханнсен
источник
10

Еще один пример в базе является алгоритм Андреаса Бьёрклунда и Тора Хусфельдта для вычисления четности числа направленных гамильтоновых циклов, которое выполняется за время O ( φ n ) .φO(φn)

http://arxiv.org/abs/1301.7250

Тайсон Уильямс
источник
9

Также в основе: Алгоритм удаления-сжатия (Зыков, 1949) для вычисления количества раскрасок графов, выполняемых за время . Это очень канонический пример того, как золотое сечение появляется из повторения Фибоначчи для времени вычисления естественной рекурсивной формулы; Я уверен, что это самый старый.O(ϕ|E|+|V|)

Микко Койвисто нашел алгоритм для вычисления числа совершенных совпадений (IWPEC 2009).O(ϕ|V|)

Тор Хусфельдт
источник
8

Золотое сечение в базе: очень недавний алгоритм FPT, разработанный Kociumaka и Pilipczuk. Более быстрый детерминистический набор вершин обратной связи вычисляет FVS размера за O ( ( 2 + ϕ ) k ) времени. (Затем они улучшают свой алгоритм для запуска во времени O ( 3.592 k ) .)kO((2+ϕ)k)О*(3,592К)

VB Le
источник
-2

подробнее о комментарии Мартина Бергерса: древний евклидов алгоритм GCD работает в худшем случае на двух последовательных элементах последовательности Фибоначчи. более подробную информацию о Википедии, в которой также говорится:

Это доказательство, опубликованное Габриэлем Ламе в 1844 году, представляет собой начало теории вычислительной сложности [93], а также первое практическое применение чисел Фибоначчи [91].

технически алгоритм GCD выполняется в логарифмическом времени но золотое сечение проявляется в количестве шагов алгоритма.О(журнал(N))

[1] какова временная сложность алгоритма Евклида , math.se

ВЗН
источник
Чем отличается время и количество шагов?
Николас Манкузо
извините, что должен прочитать # арифметических операций
vzn
1
журналφNО((журналN)2) (то есть О(N2)с точки зрения длины ввода).
Эмиль Йержабек поддерживает Монику
см ссылку "позволятьT(a,б) быть числом шагов, предпринятых в евклидовом алгоритме. T(a,б)знак равноО(Lограммφб)"
vzn
1
Я не знаю, какую из ссылок вы имеете в виду, но в любом случае я просто разъясняю, что означает здесь «шаг», чтобы это имело смысл. Обратите внимание, что написаниеО(журналφб) бессмысленно, так как логарифмы в любых двух базах Одруг друга.
Эмиль Йержабек поддерживает Монику