(Як) Чи могли б ми виявити / проаналізувати проблеми НП за відсутності моделі обчислення Тьюрінга?


15

З точки зору суто абстрактних математичних / обчислювальних міркувань, (як) можна навіть виявити або обґрунтувати такі проблеми, як 3-SAT, сума підмножин, продавець подорожей тощо.? Чи могли б ми навіть міркувати про них будь-якими змістовними способами лише з функціональної точки зору? Це було б можливо навіть?

Я роздумував над цим питанням виключно з точки зору самодослідження в рамках вивчення моделі обчислення лямбда. Я розумію, що це "неінтуїтивно", і тому Годель віддавав перевагу моделі Тьюрінга. Однак мені просто хочеться знати, які відомі теоретичні обмеження цього функціонального стилю обчислення та наскільки це буде перешкодою для аналізу проблем класу NP?


Це не питання рівня дослідження для того, хто професійно займається теорією мови програмування, але я все ще не думаю, що qurance заслуговує всіх зворотних результатів. Чи не могли б нам сказати, що їх хвилює? Можливо, питання можна вдосконалити.
Андрій Бауер

2
@AndrejBauer: Я заявив, що (1) я вважаю, що (поліноміальна) еквівалентність машин Тьюрінга та обчислення лямбда є досить відомою, і (2) у посту є багато пуху, що маскує це як основне питання. Однак ваша відповідь показує, що відбувається більше, ніж я думав, тому я можу змінити свій голос.
Гек Беннетт

Я згоден, що пух належить каналу Discovery.
Андрій Бауер

2
@AndrejBauer, HuckBennet: Я спочатку вирішив розмістити це на порталі інформатики, але не зміг знайти відповідні теги і, отже, розмістив його тут. Я видалив пух, щоб допомогти бути прямим з тим, що я хочу знати. Я залишив свою "причину" для того, щоб поставити запитання, і, отже, позначив його як "м'яке" питання. Мені по-справжньому цікаво знати, як можна аналізувати проблеми НП виключно з функціональної точки зору, і чи є в цьому дійсно якась цінність - з надією, що я зрозумію щось глибше про обчислення лямбда
кандидат

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

Відповіді:


16

Ви можете поглянути на семантику витрат на функціональні мови . Це різні міри складності обчислювальних функціональних мов, які не проходять через будь-яку машину Тьюрінга, машину оперативної пам’яті тощо. Хорошим місцем для початку є цей пост Lambda The Ultimate , який має деякі хороші подальші посилання.

Розділ 7.4 « Практичні основи Боба Харпера » для мов програмування пояснює семантику витрат.

У статті Про відносну корисність кульових кульок Accattoli та Coen показано, що -калькуляція має максимум лінійний вибух відносно моделі машини оперативної пам'яті.λ

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


Я припускаю, що нетипізовані рахунки люди все-таки винайдуть (чисту) схему. Що ж, добре. λ
Андрій Бауер

Це приємне посилання на посаду LtU. Але якісь посилання на конкретні приклади доведення цього класу "NP" з такими проблемами, як 3Sat? Цікаво побачити "доказ" в обчисленні лямбда
доктор наук

Даміано, ви можете розмістити свої коментарі як належну відповідь, яка демонструє, що теорію, пов'язану з NP, можна робити безпосередньо в розрахунку. λ
Андрій Бауер

@DamianoMazza - Я погоджуюся з Андрієм і вважаю, що ваш коментар повинен бути відповіддю
доктор наук

@Andrej: Готово! Я видалив свої попередні коментарі.
Даміано Мацца

14

На прохання Андрія та доктора наук я перетворюю свій коментар у відповідь із вибаченнями за саморекламу.

Нещодавно я написав документ, в якому розглядаю, як довести теорему Кука-Левіна ( -комплектність SAT), використовуючи функціональну мову (варіант λ-числення) замість машин Тьюрінга. Підсумок:NP

  • ключове поняття - це афінне наближення, тобто наближення довільних програм афінними (які можуть використовувати свої вхідні дані не більше одного разу); інтуїція полягає в тому, що
    Boolean circuitsTuring machines=affine λ-termsλ-terms
    λ
  • λ
  • NP
  • Звичайно, тоді можна зменшити СІЛ КОЛИЧНОГО СВІТКА до СІЛЬНОГО СУБОТУ, тим самим доводячи звичайну теорему Кука-Левіна, і горі, деталі низького рівня переходять до створення такого скорочення.

NP

λλ


NP

λ

λ

NPNPcoNPλ

λλ

NPλ програма Brainfuck, насправді не має значення, чи знаєте ви, що ваші інтуїції є здоровими. Машини Тьюрінга дали негайну, дієву відповідь, і люди не відчували (і досі цього не роблять) необхідності йти далі.


2
Просто уточнення, яке багато хто сумує: Стів довів NP-повноту для TAUT, доказ для SAT там неявний. Поняття скорочення Карпа на той час не існувало. Важливо також зазначити, що TAUT був причиною того, що Стів зацікавився цією темою і є головним для доведення автоматичної теореми, чи зацікавлені б люди в розв’язуваності лінійних термінів лямбда? Альтернативний розвиток можливий, але чи відбудеться це без передбачення повноти NP? Я вважаю це малоймовірним, враховуючи, що альтернативна розробка досить недавня. :)
Kaveh

1
Я пам’ятаю, що десь читав, що частиною мотивації Левіна розвивати повноту NP було неможливість вирішити ізоморфізм графіка та задачу мінімального розміру ланцюга (MCSP), і сподівання показати, що вони (що ми зараз би називали) NP-важкі. Принаймні, GI все ще існував у світі лямбда ...
Джошуа Грохов

1
@Kaveh, дякую за ваш коментар, я доповнив кілька абзаців, щоб завершити відповідь.
Даміано Мацца

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