Дивовижні алгоритми підрахунку проблем


54

Існують деякі проблеми підрахунку, які передбачають підрахунок експоненціально багатьох речей (відносно розміру вхідних даних), але все ж мають дивовижні точні, детерміновані алгоритми в многочленному часі. Приклади включають:

Ключовим кроком в обох цих прикладах є зменшення проблеми підрахунку для обчислення визначника певної матриці. Детермінант - це, звичайно, сума експоненціально багатьох речей, але напрочуд може бути обчислений у багаточлен.

Моє запитання: чи існують якісь «напрочуд ефективні» точні та детерміновані алгоритми, відомі для підрахунку проблем, які не зводяться до обчислення детермінанта?


8
До речі, багато інших проблем з підрахунком зводяться до обчислення детермінанта. Детермінант цілого числа є повним для класу GapL, який містить #L.
5501

Відповіді:


11

Я не знаю, чи зводяться наступні проблеми до обчислення детермінанта чи ні, але я все одно перерахую:

1) Підрахунок кількості шляхів у DAG від вузла до вузла v f . Але це не дивно. Просто визначте, чи доступний v f з v 0 в NL, а отже, і в DET . Я не маю уявлення про версію для підрахунку.v0vfvfv0

2) Підрахунок кількості рішень задач, визначених в MSO-логіці, в структурах обмеженої ширини дерева. Дивіться, наприклад, статтю, яка спирається на твори Courcelle, Arnborg та інших .

f:{0,1}n{0,1}xf(x)=1Uf|x|0|x|f(x)|1UfHn|0|0


Спасибі - предмети (2) та (3) цікаві, але якось не зовсім те, що я шукав; підрахунок проблем із обмеженою шириною дерева виглядає більше як особливі випадки, коли структура, з якою ви працюєте, насправді поліноміально обмежена. Мене більше цікавили випадки, коли «справді» експоненціально багато об’єктів для підрахунку, але їх якимось чином можна магічно перерахувати за полиномний час.
Ешлі Монтанаро

Чи не означає це, що якщо ви використовуєте одинарне кодування, алгоритму потрібно експоненціальний час просто для запису числа? Чи можливо цю проблему подолати за допомогою двійкового кодування, але це звучить для мене суперечливо.
Антоніо Валеріо Мічелі-Бароне

2
@ Miceli-Barone, те, що ви говорите, стосується майже будь-якого полі-алгоритму часу, який видає число. Сам детермінант був би досить великим, в гіршому випадку в одинаковому.
Рафаель

(n+1)n+122n

11

2
яка основна техніка?
Суреш Венкат

2
Коротка функція генерації. Наступна викладна стаття дасть нам більше ідей. arxiv.org/abs/math/0506466
Йосіо Окамото

11

У рамках Голанта є декілька випадків, які можна простежити (з нетривіальних) причин, окрім як через матчі в плоских графіках.

1) Ворота Фібоначчі

2) Будь-який набір афінних підписів .

3) Негативні зважені #CSP

...назвати декілька.

Крім того, BEST теорема дає поліноміальний алгоритм часу для підрахунку кількості ланцюгів Ейлерова у спрямованому графіку, хоча частина алгоритму використовує детермінантний обчислення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.