Чи є розумне поняття алгоритму наближення для нерозв'язної проблеми?


48

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

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

Редагувати : Коли я думаю про це питання, мені здається, що, можливо, параметризована складність може бути актуальною тут. Нерозв'язна проблема може стати вирішеною, якщо ми введемо параметр і зафіксуємо значення параметра. Я не впевнений, чи це спостереження корисне.


3
..нагадує мене про теорію абстрактного тлумачення.
Джагадіш

1
[Поряд із коментарем Джагадіша]: Ви можете поглянути на курс MIT 16.399: Абстрактна інтерпретація . Спеціально, Лекція 3 може бути корисною для Вашого випадку.
MS Dousti

6
Очевидна міра, яка вам, мабуть, не сподобається, - це просто замовити різні часткові рішення відповідно до їх доменів (тобто, набору входів, на яких вони працюють). Для чого ви хотіли б використовувати цей захід?
Андрій Бауер

3
@Andrej: Дозвольте непрямо відповісти на ваше запитання. У царині проблем, пов'язаних з NP, у нас іноді є дуже хороші результати форми: "Такий коефіцієнт апроксимації досяжний, і будь-яке подальше вдосконалення неможливе, якщо P = NP". Бути в змозі довести аналогічні результати для цікавих невирішених проблем було б непогано. Це дало б нам певне розуміння, чи існує якийсь внутрішній бар'єр для подальшого прогресу.
Тімоті Чоу

запропонувати концепцію "квазіалгоритмів" з деякими дослідженнями в цій області
vzn

Відповіді:


30

У випадку проблеми із зупинкою відповідь - "ще немає". Причина полягає в тому, що стандартний логічний метод для визначення того, наскільки важким є доказ закінчення програми (наприклад, порядковий аналіз), як правило, втрачає занадто багато комбінаторної та / або теоретичної структури чисел.

ω

Це означає, що не існує чіткого зв’язку між доказово-теоретичною силою металогічного, в якому ви показуєте припинення (це дуже важливо, наприклад, в теорії переписування), і функціями, якими такі методи, як синтез рангових функцій, можуть показувати припинення для .

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


6

З незабутньої розмови про людину, яка реалізувала алгоритм, який вирішує нерозв'язну проблему: "На всі входи, які я спробував, потрібно 2-3 секунди".


2

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

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

Mn<nϵϵp>0

ρnρn<n

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