Чи взаємодія потужніша за алгоритми?


17

Я чув , девіз взаємодії є більш потужним , ніж алгоритми з Пітера Вегнер . В основі ідеї лежить те, що (класична) машина Тьюрінга не може здійснювати взаємодію, тобто зв'язок (вхід / вихід) із зовнішнім світом / середовищем.

Як це може бути так? Як щось може бути більш потужним, ніж машина Тюрінга? У чому суть цієї історії? Чому він не більш відомий?


1
Чи маєте ви посилання, яке потрібно включити до свого запитання? Я знаю формальне визначення машини Тюрінга, але я не знаю , що саме ви маєте на увазі під «взаємодією».
Янома

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

2
Машини Тьюрінга не мають датчиків.
Дейв Кларк

1
Я це знаю. І все ж, комп'ютери роблять датчики використання, які мають особливий спосіб передачі входу на машину Тьюринга. Так TMs робити взаємодіють із зовнішніми сигналами / навколишнього середовища яким - то чином.
Янома

2
Питання не в комп'ютерах. Єдина взаємодія з ТМ полягає в тому, що середовище забезпечує один вхід до нього на початку і отримує щонайбільше один вихід у кінці. Це навряд чи загальна взаємодія.
Дейв Кларк

Відповіді:


11

Машини Тьюрінга можуть справляти взаємодію просто чудово, використовуючи стрічки Oracle. Це працює наступним чином: з точки зору комп'ютера, який обробляє взаємодію, введення оператора - це просто інша послідовність бітів, які він час від часу надсилає в комп'ютер. Всі ми знаємо, що ледачий sysadmin міг написати сценарій для надсилання вхідної програми в програму, коли вона вимагається, щоб sysadmin міг перерватися раніше. Машина для взаємодії не має змоги дізнатися, чи дійсно є операційний оператор на консолі, чи вхід проводиться з іншої програми.

Отриманий весь вхід для взаємодії підготовлений достроково, в теоретичному плані такий же, як і весь вхід на окремій стрічці, що використовується машиною Oracle Turing. Щоразу, коли комп'ютер зазвичай вимагає взаємодії з оператором, натомість машина читає з вхідної стрічки. Якщо річ, прочитана зі стрічки, якимось чином видається недійсною, машина Тьюрінга робить саме те, що зробила б машина взаємодії при отриманні цього вводу.

Я б здогадався, що Вагнер усвідомлює здатність використовувати стрічки Oracle для введення коду, тому вам доведеться сприймати його коментарі із зерном солі, або потрібно запитати, що він насправді означає. Я вважаю, що люди, які думають про взаємодію, зазвичай хвилюються через дві речі:

  • "Реальні" комп'ютери мають взаємодію, але алгоритми, визначені Тьюрінгом, не мають. Ми можемо обійти це шляхом кодування даних на стрічках Oracle, але це все ще не відповідає тому, як працюють справжні комп’ютери. Можливо, було б непогано вивчити моделі обчислення, більш тісно узгоджені з реальними комп'ютерами.

  • Алгоритми, що базуються на Oracle, часто не враховуються в щоденних обчисленнях, оскільки звичайні комп'ютери не мають чарівного "оракула" для надання даних. Але ми можемо насправді просто використовувати людину як оракул. Якщо людина розуміє запитувані дані, вони можуть навіть допомогти алгоритму, покращуючи його ефективність. Іншими словами, людина може бути здатна надати корисну стрічку Oracle, а не просто випадкову, і в принципі це може призвести до більш швидких або потужних методів обчислень порівняно з методами, що не базуються на оракулі. Схожа річ відбувається з рандомізованими обчисленнями, зрештою, коли машині надається послідовність випадкових бітів як додатковий вхід.


Стрічки Oracle неправильно моделюють взаємодію. Спробуйте спробувати довести, що комп'ютерна система не просочується приватною інформацією. Це неможливо формалізувати в термінах TM з фіксованою стрічкою Oracle, оскільки властивість залежить від характеристики обчислень, які може робити середовище - саме того, що ми абстрагуємо від оракулової стрічки.
Ніл Крішнасвамі

Це залежить від того, що ви маєте на увазі під "правильною моделлю". Деякі статті (наприклад, з спільноти гіперкомп'ютації), начебто говорять про те, що взаємодія якось збільшує набір обчислюваних функцій. Що це робить, точно так само, як робить обчислення оракул. Звичайно, ви не можете використовувати ТМ для вивчення властивостей фактичного обчислювального середовища; якщо ви хочете дізнатися, чи є процесор у вашому комп’ютері помилковим, це не допоможе повністю ігнорувати його та просто подивіться на машини Тьюрінга. Але питання, які тільки про функції , яка підраховується, взаємодія і оракули еквівалентні.
Карл Маммерт

нн

Для дійсно ретельного опрацювання цієї аналогії див. Пітер Хенкок, П'єр Гівернат: Інтерфейси програмування та основна топологія. citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.919
Neel Krishnaswami

1
Вхід, який оператор вводить вчасно н

8

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

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

Уявіть собі програму для машини IO на зразок: "для будь-якого початкового введення стрічки надрукуйте вміст стрічки, потім прочитайте символ із зовнішнього вводу; прийміть, якщо символ 1, та відхиліть інакше". Ця програма може вирішити будь-яку проблему. Але тільки якщо зовнішня система, з якою вона може взаємодіяти, здатна вирішити проблему; для мене це не дуже цікавий спосіб сказати, що IO Machine здатний вирішувати проблеми, які не можна визначити машинами Тьюрінга.

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


Однак існує нетеоретичний сенс, в якому інтерактивність може додати здатності комп'ютера вирішувати проблеми. Є багато речей, які люди роблять дуже точно, і ми не знаємо, як змусити комп’ютери робити дуже добре. Але є також багато багато чого, що люди сміття, що ми можемо зробити комп'ютери, щоб зробити. Поєднання цих двох може призвести до таких проектів, як reCaptcha , який ефективно автоматично оцифровує книги шляхом вирішення проблем розпізнавання людей у ​​складних випадках. Отримана в результаті система комп’ютерної + людської праці досягає результату, якого наразі недоцільно досягти як за допомогою розрахунків, так і лише для людської праці.


8

Нещодавно ACM провів повсюдний симпозіум " Що таке обчислення? ', в якій Пітер Вегнер опублікував статтю, яка відображає його погляди на інтерактивні обчислення.

Ось два уривки зі статті Пітера Вегнера:

Одна нова концепція, відсутня у ранніх машин Тьюрінга, - це "Інтерактивне обчислення", яке забезпечує взаємодію із середовищем під час обчислень.

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

Однак, Fortnow, який має статтю в тому ж симпозіумі, схоже, не погоджується з поглядами Вегнера і вважає, що інтерактивні обчислення не надають ніякої додаткової сили над машинами Тьюрінга.

Щоб додати до суміші, виявляється, що ми все ще дискутуємо та визначаємо обчислення. Моше Варді має статтю Що таке алгоритм? 55, № 3, березень 2012 року.

Vardi повідомляє про два нових визначення алгоритмів. Перший запропонований Гуревичем, а другий - Мощовакіс.

Гуревич стверджував, що кожен алгоритм можна визначити через машину абстрактного стану.

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


6

Я не думаю, що моделі з IO є "потужнішими", ніж машини Тьюрінга, вони просто моделюють різні речі.

Теоретично ви можете розглядати IO як (галасливий?) Оракул. Завдяки ідеальному оракулу можна комп’ютерні функції Тьюрінга - непередавані функції; але звідки взяти оракул? Люди - єдиний вибір «супер-Тюрінга» (якщо він є), і ми, як відомо, дуже ненадійні.

Клас програм, що відповідають цій моделі, - це інтерактивні помічники (наприклад, Isabelle / HOL , Coq ). Вони мають справу з невизначеними просторами доказів, але (можливо, кожен доказ може бути знайдений (і перевірений) з відповідним вводом користувача.


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

1
@DaveClarke Якщо ви вважаєте ідеальними оракули, так.
Рафаель

2
Я думаю, що машина (або програма), яка не допомагає (за будь-якою формою оракула чи введення), в принципі може знайти всі докази. Є дві проблеми: (1, теоретична): ніколи не вдасться встановити, що заява не має доказів, і (2, практична): сліпо генерувати докази в надії натрапити на дане твердження настільки жахливо неефективне, що ніхто хоче спробувати, і тому асистенти-кореспонденти віддають перевагу керованому пошуку, відмовляючись від "впевнених" успіхів у випадку наявності доказів.
Марк ван Левен

2
Як зазначає Бен у своїй відповіді, правильний спосіб поглянути на це не «машини Тюрінга з оракулами є більш потужними»; самі машини просто роблять обчислювальні речі. Правильний погляд на це - "деякі оракули не піддаються обчисленню, і тому з цих оракул ми можемо обчислити речі, які ми не можемо обчислити без оракула". Сила обчислень походить від оракула, а не від машини.
Карл Маммерт

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

0

Перевірте це :) " Ідеї ​​і моделі обчислень Тьюрінга " https://www.cs.montana.edu/~elser/turing%20papers/Turing%27s%20Ideas%20and%20Models%20of%20Computation.pdf


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