Является ли взаимодействие более мощным, чем алгоритмы?

17

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

Как это может быть так? Как может быть что-то более мощное, чем машина Тьюринга? В чем суть этой истории? Почему это не так хорошо известно?

Дэйв Кларк
источник
1
У вас есть ссылка для включения в ваш вопрос? Я знаю формальное определение машины Тьюринга, но не знаю точно, что вы подразумеваете под «взаимодействием».
Яном
Кроме того, кажется, что «не может справиться с взаимодействием со средой» похоже на «не может справиться с истинной случайностью», что может быть правдой, но оба они могут быть достаточно хорошо аппроксимированы с помощью датчиков и псевдослучайности. Но это неосведомленный комментарий, не зная определения взаимодействия.
Яном
2
Машины Тьюринга не имеют датчиков.
Дейв Кларк
1
Я знаю об этом. И все же, компьютеры делают датчики использования, которые имеют особый способ передачи входа на машину Тьюринга. Так что ТМ так или иначе взаимодействуют с внешними сигналами / средой.
Janoma
2
Вопрос не в компьютерах. Единственное взаимодействие с ТМ заключается в том, что среда предоставляет один вход для него в начале и получает не более одного выхода в конце. Это вряд ли общее взаимодействие.
Дейв Кларк

Ответы:

11

Машины Тьюринга прекрасно справляются с взаимодействием, используя оракульные ленты. Это работает следующим образом: с точки зрения компьютера, который обрабатывает взаимодействие, ввод оператора представляет собой просто очередную последовательность битов, которые он время от времени отправлял в компьютер. Все мы знаем, что ленивый системный администратор может написать скрипт для отправки входных данных программе, когда это будет запрошено, чтобы системный администратор мог раньше прерваться. Интерактивная машина не может узнать, действительно ли на консоли есть оператор в реальном времени, или ввод передается из другой программы.

Подготовка всех входных данных для взаимодействия, подготовленных заранее, в теоретическом отношении такая же, как и для всех входных данных на отдельной ленте, используемой машиной оракула Тьюринга. Всякий раз, когда компьютер обычно запрашивает взаимодействие от оператора, аппарат вместо этого считывает данные с ленты ввода. Если вещь, считанная с ленты, каким-то образом кажется недействительной, машина Тьюринга делает именно то, что машина взаимодействия сделала бы при получении этого ввода.

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

  • У «настоящих» компьютеров есть взаимодействие, а у алгоритмов, определенных Тьюрингом, нет. Мы можем обойти это, кодируя входные данные на лентах оракула, но это все равно не соответствует способу работы реальных компьютеров. Было бы неплохо изучить модели вычислений, которые более тесно связаны с реальными компьютерами.

  • Алгоритмы на основе Oracle не часто рассматриваются в повседневных вычислениях, потому что обычные компьютеры не имеют волшебного «оракула» для предоставления данных. Но мы могли бы на самом деле просто использовать человека в качестве оракула. Если человек понимает запрашиваемые данные, он может даже помочь алгоритму продвинуться, тем самым улучшив его производительность. Другими словами, человек может предоставить полезную ленту оракула, а не просто случайную, и в принципе это может привести к более быстрым или более мощным вычислительным методам по сравнению с не-оракуловыми. В конце концов, то же самое происходит с рандомизированными вычислениями, когда машине дается последовательность случайных битов в качестве дополнительного входа.

Карл Муммерт
источник
Ленты Oracle не правильно моделируют взаимодействие. Попробуйте доказать, что компьютерная система не пропускает личную информацию. Это не может быть формализовано в терминах TM с фиксированной оракульной лентой, потому что свойство зависит от характеристики вычислений, которые может выполнять среда - именно то, что мы абстрагируем с помощью оракульной ленты.
Нил Кришнасвами,
Это зависит от того, что вы подразумеваете под «правильной моделью». Некоторые статьи (например, из сообщества гиперкомпьютеров), похоже, предполагают, что взаимодействие каким-то образом расширяет набор вычислимых функций. Что и происходит, точно так же, как это делает вычисление оракула. Конечно, вы не можете использовать TM для изучения свойств реальной вычислительной среды; если вы хотите узнать, не глючит ли процессор на вашем компьютере, это не поможет полностью его игнорировать и просто посмотреть на машины Тьюринга. Но вопросы, которые только о функции , которая подсчитывается, взаимодействие и оракулы эквивалентны.
Карл Маммерт
NN
Для действительно тщательной проработки этой аналогии см. Peter Hancock, Pierre Hyvernat: Интерфейсы программирования и базовая топология. citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.919
Нил Кришнасвами,
1
N
8

Turning Machines моделируют вычисления и не имеют понятия взаимодействия. В этом смысле машина, которая поддерживает взаимодействие с внешней системой, может делать то, что не может сделать Turning Machine. Но вычисления, выполняемые между входным битом из внешнего источника, очевидно, всегда могут быть смоделированы машиной Тьюринга, поэтому даже «машина ввода-вывода» не может ничего сделать с внешним вводом, чего не может сделать машина Тьюринга.

В некотором смысле такая машина может «решать» проблемы, которые неразрешимы с помощью машин Тьюринга, но только если вы представляете, что система, с которой она взаимодействует, обладает мощностями супер-машины Тьюринга и надежна (в некотором роде; вероятностная надежность было бы достаточно).

Представьте себе программу для IO Machine, например: «для любого начального ввода ленты распечатайте содержимое ленты, затем прочитайте символ из внешнего ввода; примите, если символ равен 1, и отклоните в противном случае». Эта программа может решить любую проблему. Но только если внешняя система, с которой она может взаимодействовать, способна решить проблему; для меня это не очень интересный способ сказать, что IO Machine может решать проблемы, которые невозможно решить с помощью машин Тьюринга.

Я думаю, что всегда было бы возможно представить интерактивные вычисления, представив машину, которая принимает в качестве входных данных на своей ленте кодирование некоторой предыдущей конфигурации вместе с внешним вводом, и заставляет машину останавливаться, когда ее лента содержит кодировку конфигурации вместе. с выходом. Затем процесс «запуска программы» многократно запускает эту машину Тьюринга механическим способом, но единственной «немеханической» частью является внешний источник. Я уверен, что вы могли бы доказать, что если такая система получила свой вклад, передав ее на другую машину Тьюринганастроенный для работы аналогичным образом, тогда объединенная система имеет идентичные вычислительные мощности для одной машины Тьюринга. Я считаю, что убедительный аргумент, что интерактивные вычисления не более мощные, чем неинтерактивные вычисления, если только система, с которой взаимодействуют вычисления, не будет более мощной, чем машина Тьюринга .


Однако существует не теоретический смысл, в котором интерактивность может повысить способность компьютера решать проблемы. Есть много вещей, которые люди делают очень точно, и мы не знаем, как заставить компьютеры работать очень хорошо. Но есть также много вещей, которые люди несут в себе, что мы можем заставить компьютеры делать. Сочетание этих двух факторов может привести к таким проектам, как reCaptcha , который эффективно автоматически оцифровывает книги, решая проблемы распознавания слов в трудных случаях. Получившаяся система компьютерного + человеческого труда достигает результата, который в настоящее время нецелесообразно достигать, используя только вычисления или только человеческий труд.

Бен
источник
8

Недавно ACM провел симпозиум Ubiquity « Что такое вычисления? «В которой Питер Вегнер опубликовал статью, отражающую его взгляды на интерактивные вычисления.

Вот две выдержки из статьи Питера Вегнера:

Одна новая концепция, отсутствующая в ранних машинах Тьюринга, - это «Интерактивные вычисления», которая учитывает взаимодействие с окружающей средой во время вычислений.

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

Однако Fortnow, у которого есть статья на том же симпозиуме, по-видимому, не согласен с мнением Вегнера и считает, что интерактивные вычисления не дают никакой дополнительной власти над машинами Тьюринга.

Чтобы добавить к миксу, кажется, что мы все еще обсуждаем и определяем вычисления. У Моше Варди есть статья «Что такое алгоритм?», Сообщения ACM, Vol. 55, № 3, март 2012 г.

Варди сообщает о двух новых определениях алгоритмов. Первый предложен Гуревичем, а второй - Moschovakis.

Гуревич утверждал, что каждый алгоритм может быть определен в терминах абстрактного автомата.

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

Мухаммед Аль-Туркистани
источник
6

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

Теоретически, вы можете рассматривать IO как (шумного?) Оракула. С идеальным оракулом вы можете выполнять компьютерные по Тьюрингу невычислимые функции; но откуда взять оракула? Люди - это единственный «супер-тьюринговский» выбор (если есть), и мы, как известно, очень ненадежны.

Класс программ, которые соответствуют этой модели, являются интерактивными помощниками (например, Изабель / 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
Возможно, вы могли бы суммировать некоторые моменты, сделанные в вашей ссылке? Кроме того, лучше, если вы предоставите ссылку, а также ссылку, поскольку ссылки могут перемещаться или исчезать.
Юваль