Чи не можемо ми вивести складність Колмогорова?


28

Зафіксуємо кодування без машинної префіксації машин Тьюрінга та універсальної машини Тьюрінга яка на вході (кодується як код без префіксу а потім ) видає будь-які виходи на вхід (можливо обидва бігають вічно). Визначте складність Колмогорова , як довжину найкоротшої програми такою, що .U(T,x)TxTxxK(x)pU(p)=x

Чи є машина Тьюрінга така, що для кожного вводу він видає ціле числощо відрізняється від складності Колмогорова , тобто але ?TxT(x)|x|xT(x)K(x)lim inf|x|T(x)=

Умови необхідні, тому що

(a) якщо T(x)|x|, тоді було б легко вивести число, яке тривіально відрізняється від K(x) оскільки воно більше, ніж |x|+cU ,

(b) якщо lim inf|x|T(x)<C , то ми можемо просто вивести 0 (або якусь іншу константу) майже для всіх чисел, "на щастя" здогадавшись щонайбільше одного (безліч кінцевих чисел), які оцінюють до 0 (до якоїсь іншої константи) і виводять там щось інше. Ми навіть можемо гарантувати lim sup|x|T(x)= , вивівши щось на зразок 2logn для x=2n .

Також зауважте, що наша робота була б легкою, якби ми знали, що T(x) не є сюжетним, але про це відомо мало , тому відповідь може залежати від U , хоча я сумніваюся, що це буде.

Я знаю, що взаємини взагалі багато вивчаються, але

Хтось коли-небудь задавав подібне питання, де наша мета - дати алгоритм, який не виводить якийсь параметр?

Моя мотивація - це проблема http://arxiv.org/abs/1302.1109 .


5
Це залежить від вашої кодування, оскільки, як зазначалося в темі про сюрєктивність яку ви посилаєтесь, можливо , справедливі лише програми рівної довжини. Отже, щоб ваше запитання було нетривіальним, вам потрібно мати більше гіпотез щодо кодування. Kp
Денис

2
До вашого другого питання: так. Задавши ціле число , нехай позначає - ту машину Тюрінга. За діагоналі нерекурсівние функція (або DNR) є функцією таке , що для всіх цілих чисел , . (Тобто, якщо зупиняється на , тоді , інакше може бути довільним.) Вони були вивчені зовсім недавно в обчислюваності / обчислюваності спільність випадковості. Google "діагонально нерекурсивний", щоб знайти документи про це. M[M]Mf:NNM[M](M)f(M)[M]Mf(M)[M](M)f(M)
Джошуа Грохов

1
@Denis: Я думаю, ви помиляєтесь. Згідно з моїм визначенням універсальних машин Тьюрінга, наведеним у першому пункті, всі довжини можуть бути дійсними програмами.
domotorp

3
Кілька разів тому я думав (даремно) про, мабуть, більш простій версії: (dis) доведення, що для досить великих , для всіх . x0K(x)|x|/2xx0
Marzio De Biasi

1
@ Ricky: Це добре, у мене немає обмежень щодо кодування машин Тьюрінга, лише щодо програм, які ви можете прочитати в першому пункті.
domotorp

Відповіді:


7

Питання можна переосмислити так, чи ні , як Деніс в коментарях зазначає для деяких кодувань це помилково. Ось більш слабке твердження та спроба підтвердження цього, яке не залежить від будь-яких деталей кодування, але я вважаю, що двійкова мова для простоти:liminf|x||T(x)K(x)|=0

Нехай - обчислювальна функція, що задовольняє і . Тоді . Неофіційно, якщо навколо складності Колмогорова кожної струни є ціль, яка зростає необмеженою шириною, жодна обчислювана функція не може уникнути її потрапляння.T:{0,1}N0T(x)|x|liminf|x|T(x)=liminf|x||T(x)K(x)|<

Щоб побачити це, нехай - випадкове бітове число, тобто і . Для всіх така випадкова . Також відзначимо , що існує нескінченне число значень , для яких , це випливає з умов , розміщених на . Нехай тепер буде найменший рядок така , що . Очевидно, що є константа така, що , оскільки іnb0n<2bK(n)bbnb|{T(x)=b}|2bTxnthT(x)=bc1K(x)>bc1K(n)bnможна обчислити з . І є константа така, що , тому що також обмежена зверху лише постійною більше , а можна обчислити з . Тоді , і ми маємо нескінченну кількість варіантів для (тих, хто має перевагу кардинальності принаймні ), даючи нескінченну кількість значень для , так ми зробили.xc2K(x)<b+c2K(n)bxn|K(x)T(x)|<c1+c2b2bx

Під наслідком є ​​те, що для деяких , нескінченно часто. Тож можна сказати, що ми не можемо вивести щось, що не є складністю Колмогорова!cZT(x)=K(x)+c


1
Приємно, я думаю, що це має працювати. Звичайно, може бути не будь-який рядок з , тому, можливо, вам потрібно зажадати , правда? f(x)=bf(x)b
domotorp

1
Це повинно бути щоб можна обчислити з . Тож, мабуть, треба вибрати щоб або так рядок відображалося на ньому. Можна припустити, що припущення повинні мати на увазі існує нескінченно багато такого (хоча я не зовсім розумію , це на даний момент). (Наскільки я можу сказати, припущення не використовувались іншим способом.)f(x)=bnxb,n b2b+1b
Еміль Йерабек підтримує Моніку

1
Так, справді це потрібно. Але доведення легко за суперечливістю - якщо воно завжди якщо , то, переглядаючи будь-який діапазон , можна зробити висновок, що принаймні рядки відображаються в , таким чином, нескінченно багато, що суперечить . <2bb>b0b0<bBBb0b0lim inf=
domotorp

Те, про що говорить Денис, не стосується того, як я визначив універсальність у першому рядку мого питання. Його зауваження також тривіальне, я не маю поняття, чому так багато людей підтримали його коментар. Але на жаль, також неправильна відповідь Петра отримала так багато відгуків, я втрачаю віру в цей сайт ...
domotorp

Не має значення, як кодуються ТМ, доки мої критерії щодо універсальної ТМ задовольняються, тому коментар Дениса невірний. Якби це було заявлено як зауваження щодо іншої моделі, то це було б інакше. Так чи інакше, замість того, щоб перебирати це, спробуємо зрозуміти, чи зможемо ми зміцнити вашу ідею ...
domotorp

3

Я думаю, що наступні роботи. Я буду використовувати для складності КолмогороваC(x)

  • Дайте обмеженому часом (скажімо, деяку експоненціальну функцію довжини вхідної програми) і назвіть результат . Якщо програма перевищує часовий інтервал, надходить у нескінченний цикл.UtUtUt
  • Нехай - найкоротша програма для на . Зауважимо, що обчислюється.Ct(x)xtCt
  • Нехай повертає , якщо це значення не дорівнюєу такому випадку поверніть 0. Якщо тільки є результатом порожньої програми, у такому випадку поверніть 1.T(x)Ct(x)+1|x|x
  • Оскільки , завжди буде відрізнятися від . Логіка на попередньому кроці стосується кращих справ.C(x)Ct(x)T(x)C(x)
  • Ut функціонує як код для всіх рядків, тому він має обмеження нижчої нескінченності.

кілька коментарів, теорія KC в альтернативній (але еквівалентній) інтерпретації констатує наступне: Майже всі рядки вже в оптимальному поданні ( wrt до даної моделі), за винятком безлічі багатьох рядків, які можуть бути перетворені на оптимальне подання (мінімум) wrt до заданої обчислювальної моделі (або TM). У цьому сенсі майже кожна програма виводить оптимальні рядкові представлення, але це невідомі (або обчислювані) априорі
Нікос М.

Чому у вас буде? T(x)|x|
domotorp

@domotorp Технічно маємо де - довжина найкоротшої програми друку. Звичайно, ця константа є і для (і насправді, якщо програма друку не дуже повільна, це та сама константа). T(x)|x|+ccC(x)
Пітер

Але саме це робить все питання цікавим! Я міг би попросити будь-яку функцію замість, наприклад, , моєю єдиною метою було усунути подібні до ваших рішення. |x||x|/2+99
домоторп

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