Використання складності Колмогорова в якості вхідного "розміру"


21

Скажімо , у нас є обчислювальна задача, наприклад , 3-SAT, який має безліч проблемних екземплярів (можливі входи) . Зазвичай при аналізі алгоритмів або теорії складності обчислювальної техніки ми маємо деякі множини всіх входів довжиною та функцією яка дає час виконання деякого алгоритму рішення на вході . Тоді найгірша послідовність часу роботи для - це S

I(n)={wS:|w|=n}
nT(w)AwA
fn=maxwI(n)T(w).

Давайте визначимо множини

IK(n)={wS:K(w)=n}
всіх входів зі складністю Колмогорова n , і визначимо послідовність
fnK=1|IK(n)|wIK(n)T(w).
Тут fK - середня послідовність часу для A , за винятком випадків, коли "розмір" входів - це їх складність Колмогорова, а не їх довжина.

Чи існують алгоритми, для яких fn асимптотично суттєво відрізняється від fnK ? Якщо так, то чи існують проблеми, часова складність яких змінюється при використанні іншого способу аналізу алгоритмів?


4
Чудове запитання! Один, про який я часто замислювався, - я сподіваюся, що він отримає кілька хороших відповідей. (Я додав тег параметризованої складності b / c, ви можете розглядати це як питання параметризованої складності, наприклад, SAT, де параметр - складність Колмогорова.)
Джошуа Грохов,

3
Випадкові струни, так само, як і більшість струн, мають складність Колмогорова поблизу початкової довжини. Для переважної більшості входів Ви можете отримати більш цікавий результат, якби запитати про обчислювальну глибину замість складності Колмогорова. google.com/…fn=fnK
Чад Брюбекер

2
Змішавши в деяких екземплярах PARITY на жорсткій мові, щоб утворити (наприклад, шляхом префіксації кожного екземпляра за допомогою бітового перемикання, яке описує, з якої мови складається екземпляр), тоді буде меншим, ніж . Від того, наскільки мало, залежить відносна щільність. f K nSfnKfn
Андрас Саламон

1
Одне місце знаходиться в лекціях Вадхана тут (19 лютого): people.seas.harvard.edu/~salil/cs221/spring10/lectures.html
usul

1
@ AndrásSalamon, так, я сподіваюся, що я не надто неохайний, але я думаю, щопо суті має бути функцією зайнятого бобра. nmaxw:K(w)=n|w|
usul

Відповіді:


14

Розглянемо функцію парності (або будь-яку іншу функцію, яка залежить від усіх / більшості бітів вводу). Для функції парності f n = Θ ( n ) . f K n = Θ ( 1T(w)=Θ(|w|) . Отже З іншого боку,

fn=Θ(n).
fnK=Θ(1|IK(n)|w:K(w)=n|w|)Ω(12nmaxw:K(w)=n|w|).

Зауважимо, що . Таким чином і . Аналогічно ; таким чином «дуже швидко росте». Більше того, не важко помітити, що для немає обчислюваної верхньої межі .max w : K ( w ) = n | w | 2 2 Ω ( n ) f K n2 2 Ω ( n ) / 2 nK ( 2 2 2 n ) = O ( n ) f K nK(22n)=O(n)

maxw:K(w)=n|w|22Ω(n)
fnK22Ω(n)/2nK(222n)=O(n)fnK222Ω(n)/2nfnK

9

Зважаючи на зацікавленість у цьому питанні, я подумав, що може бути корисним чіткіше вказати на причину, коли ми не повинні взагалі дивуватися відповіді та спробувати дати певний напрямок для уточнення питання. Це збирає та розширює деякі коментарі. Прошу вибачення, якщо це "очевидно"!

Розглянемо безліч рядків складності Колмогорова : Існує не більше таких рядків, оскільки є описів довжини . Але зауважте, що цей набір не можна визначити для загального (інакше ми могли б обчислити K ( w ) лише шляхом ітерації від n = 1 до | w | і перевірки членства в J K ( n ) ). Крім того, функція g K ( n ) =n

JK(n)={w:K(w)=n}.
2n2nnnK(w)n=1|w|JK(n) зростає незрівнянно швидко. Це варіант функції зайнятого бобра: який самий тривалий результат випускається машиною Turing з довжиноюnопису? Якщо це зростало повільніше, ніж деяка обчислювана функція, ми могли б вирішити проблему зупинки: Давши TMM, побудуйтеM',що імітуєMі друкує1на кожному кроці. Якщо довжина описуMдорівнюєn, то або:Mзупиняється на максимумgK(n)
gK(n)=maxwJK(n)|w|
nMMM1MnMgK(n)кроки; або не зупиняється.M

Тепер до питання Андрія ми маємо, що , де S - мова оригіналу. Так що єдиний спосіб уникнути I K ( п ) , що містять матеріали з дуже великими в п було б , якщо S містить тільки дуже стиснуті , рядки. (Зверніть увагу, що в іншому випадку ми можемо повністю ігнорувати відмінність між найгіршим та середнім випадком аналізу, оскільки ми в середньому оцінюємо щонайменше 2 n рядків, але розмір найбільшої струни зростає швидше, ніж будь-яка обчислювальна функція nIK(n)=SJK(n)SIK(n)nS2nn.)

Я вважаю, що, ймовірно, неможливо побудувати будь-яке нетривіальне (тобто нескінченне) яке містить лише нестисливі рядки, але воно рішуче. Але я не знаю. Однак, сподіваємось, це дає інтуїцію, чому ми не повинні сподіватися, що більшість мов f K n зростатиме повільніше, ніж обчислювана функція.SfnK

nnnbbwn2n

IC(n)={wS:the smallest circuit implicitly specifying w has size n}.
fnCfnfnC

IMPLICIT_SAT={circuits C:C implicitly specifies w,wSAT}.
wwfnC=Θ(fn)w

Сподіваюся, це корисно / цікаво!

Я не впевнений у підручнику, який згадує неявні проблеми, але ось деякі конспекти лекцій: http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf


|JK(n)|=2n

1
@AndrewMacFie, правда, має бути "максимум". Виправимо.
usul

fnK

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