Mon . 19 Dec 2019

Computability

Вычислимость - это способность эффективно решать задачу. Это ключевая тема в области теории вычислимости в математической логике и теории вычислений в информатике. Вычислимость проблемы тесно связана с существованием алгоритма решения. проблема
Наиболее широко изучаемыми моделями вычислимости являются вычислимые по Тьюрингу и µ-рекурсивные функции, а также лямбда-исчисления, все из которых имеют вычислительно эквивалентную мощность. Также изучаются другие формы вычислимости: понятия вычислимости слабее, чем машины Тьюринга. изучаются в теории автоматов, в то время как понятия вычислимости, более сильные, чем машины Тьюринга, изучаются в области гиперкомпьютеров
Содержание
1 Задачи
2 Формальные модели вычислений
3 Сила автоматов
31 Сила конечные автоматы
32 Мощность автоматов сжатия
33 Мощность машин Тьюринга
331 Проблема остановки
332 За рекурсивно-перечислимыми языками
4 Параллельность- основанные на модели
5 более надежных моделей вычислений
51 бесконечное выполнение
52 машины Oracle
53 пределы гипер-вычислений
6 См. также
7 Ссылки
Проблемы
A центральной идеей в вычислимости является проблема вычислительной задачи, которая представляет собой задачу, вычислимость которой может быть изучена. Существует два ключевых типа проблем:
Решение проблемы фиксирует набор S, который может быть набором строк, натуральные числа или другие объекты, взятые из некоторого большего множества UA. Конкретный пример проблемы состоит в том, чтобы решить, учитывая элемент u из U, находится ли u в S. Например, пусть U - множество натуральных чисел, а S - множество простых чисел. числа Соответствующая задача решения соответствует тестированию простоты. Функциональная задача состоит из функции f из набора U в набор V. Примером задачи является вычисление для данного элемента u в U соответствующего элемента fu в V Например, U и V могут быть множеством всех конечных двоичных строк, а f может взять строку и вернуть полученную строку путем изменения цифр входных данных, чтобы f0101 = 1010
Другие типы проблем включают задачи поиска и задачи оптимизации. Одна из целей теории вычислимости состоит в том, чтобы определить, какие проблемы или классы проблем могут быть решены в каждой модели Вычисления
Формальные модели вычислений
Основная статья: Модель вычислений
Модель вычислений - это формальное описание определенного типа вычислительного процесса. Описание часто принимает форму абстрактной машины, предназначенной для выполнения. Задача под рукой Общие модели вычислений, эквивалентные машине Тьюринга. См. тезис Черча-Тьюринга:
Лямбда-исчисление
Вычисление состоит из одного или двух начальных лямбда-выражений, если вы хотите разделить функцию и ее вход плюс конечная последовательность лямбда-термов, каждый из которых выводится из предыдущего термина одним применением редукции бета-тестов. Комбинаторная логика
- это концепция, которая имеет много общего с



& # x03BB ;




-счет, но существуют и важные различия, например комбинатор с фиксированной точкой Y имеет нормальную форму в комбинаторной логике, но не в



& # x03BB;



-calculus Комбинаторная логика была разработана с большими амбициями: понимание природы парадоксов, концептуальное повышение основ математики, устранение понятия переменных, что разъясняет их роль в математике. μ-рекурсивные функции
вычисление состоит из μ-рекурсивной функции, то есть ее определяющей последовательности, любых входных значений и последовательности рекурсивных функций, появляющихся в определяющей последовательности с входами и выходами. Таким образом, если в определяющей последовательности рекурсивной функции




x










г
х





и



h
x x,
y




появляются, а затем условия формы Может появиться «g5 = 7» или «h3,2 = 10». Каждая запись в этой последовательности должна быть приложением базовой функции или следовать из записей выше с использованием композиции, примитивной рекурсии или μ-рекурсии. Например, если





x

=
h

x
,


x





, чтобы появилось «f5 = 3», должны присутствовать такие термины, как «g5 = 6» и «h3,6 = 3» выше Вычисление завершается только в том случае, если последний член дает значение рекурсивной функции, примененной к входным системам
систем перезаписи строк, включая алгоритм Маркова, который использует грамматические правила для работы со строками символов; также Пост каноническая система
Регистр машины - это теоретически интересная идеализация компьютера. Существует несколько вариантов. В большинстве из них каждый регистр может содержать натуральное число неограниченного размера, а инструкции просты и их мало, например, существует только декремент в сочетании с условным скачком и инкрементом и остановка. Отсутствие бесконечного или динамически растущего внешнего хранилища, наблюдаемого на машинах Тьюринга, можно понять, если заменить его роль методами нумерации Гёделя: тот факт, что каждый регистр содержит натуральное число, дает возможность представления сложной вещи, например, последовательности или матрицы и т. д. соответствующим огромным натуральным числом - однозначность представления и интерпретации может быть установлена с помощью теоретических основ числа этих методов
Машина Тьюринга
Также похоже на конечное состояние машина, за исключением того, что вход предоставляется на исполнительную «ленту», с которой машина Тьюринга может читать, записывать или и обратно мимо своей «головки» для чтения / записи. Ленте разрешено расти до произвольного размера. Машина Тьюринга способна выполнять сложные вычисления, которые могут иметь произвольную продолжительность. Эта модель, пожалуй, самая важная модель вычислений в информатике, так как он имитирует вычисления в отсутствие предопределенных пределов ресурсов. Многопленочная машина Тьюринга. Здесь может быть несколько лент; более того, может быть несколько головок на ленту. Удивительно, что любые вычисления, которые могут быть выполнены этим типом машины, также могут выполняться обычной машиной Тьюринга, хотя последняя может быть медленнее или требовать большей общей области своей ленты. ′ ′
Как и машины Тьюринга, P ′ ′ использует бесконечную ленту символов без произвольного доступа и довольно минималистичный набор инструкций. Но эти инструкции очень разные, поэтому, в отличие от машин Тьюринга, P ′ ′ не требует обслуживания отдельное состояние, потому что все «подобные памяти» функциональные возможности могут быть предоставлены только лентой. Вместо перезаписи текущего символа он может выполнять модульное арифметическое приращение. У него также есть пара инструкций для цикла, проверяющего пустой символ Несмотря на свою минималистичную природу, он стал родительским формальным языком реализованного и для развлечения используемого языка программирования под названием Brainfuck. В дополнение к общим вычислительным моделям, некоторые сим Вычислительные модели pler полезны для специальных ограниченных приложений Регулярные выражения, например, задают строковые шаблоны во многих контекстах, от офисного программного обеспечения до языков программирования. Другой формализм, математически эквивалентный регулярным выражениям, конечные автоматы используются в схемотехнике и в некоторых видах решение проблем Контекстно-свободные грамматики определяют синтаксис языка программирования. Недетерминированные автоматы сжатия являются еще одним формализмом, эквивалентным контекстно-свободным грамматикам. Различные модели вычислений имеют возможность выполнять разные задачи. Один из способов измерения мощности вычислительной модели - это изучить класс формальных языков, которые может генерировать модель; таким образом получается иерархия языков Хомского
Другие ограниченные модели вычислений включают в себя:
Детерминированный конечный автомат DFA
Также называемый конечным автоматом Все реальные существующие вычислительные устройства сегодня могут быть смоделированы как конечные конечный автомат, так как все реальные компьютеры работают на ограниченных ресурсах. Такая машина имеет набор состояний и набор переходов состояний, на которые влияет входной поток. Определенные состояния определены как принимающие состояния. Входной поток подается в машинный поток. символ за раз, и переходы состояния для текущего состояния сравниваются с входным потоком, и, если есть соответствующий переход, машина может войти в новое состояние. Если в конце входного потока машина находится в состоянии принятия, тогда весь входной поток принимается. Недетерминированный конечный автомат. NFA - это еще одна простая модель вычислений, хотя последовательность обработки не определяется однозначно. Это можно интерпретировать как получение множителя. Пути вычислений одновременно через конечное число состояний. Тем не менее, можно доказать, что любой NFA сводится к эквивалентному DFA. Автомат Pushdown. Аналогичен конечному автомату, за исключением того, что он имеет доступный стек выполнения. , который может увеличиваться до произвольного размера. Переходы между состояниями дополнительно указывают, добавлять ли символ в стек или удалять символ из стека. Он более мощный, чем DFA, из-за его стека с бесконечной памятью, хотя только верхний элемент стека доступен в любое время
Сила автоматов
С этими вычислительными моделями в руках, мы можем определить, каковы их пределы То есть, какие классы языков они могут принять
Сила конечных автоматов
В этом разделе может потребоваться очистка, чтобы соответствовать стандартам качества Википедии. Причина очистки не указана. Помогите улучшить этот раздел, если можете. Апрель 2009 г. Узнайте, как и когда удалить это шаблонное сообщение.
Ученые-компьютерщики называют любой язык. Эта функция может быть принята конечным автоматом в качестве обычного языка. Из-за ограничения числа возможных состояний в конечном автомате мы можем видеть, что для нахождения нерегулярного языка мы должны построить язык, который потребовало бы бесконечного числа состояний
Примером такого языка является набор всех строк, состоящих из букв «a» и «b», которые содержат равное число букв «a» и «b». почему этот язык не может быть правильно распознан конечным автоматом, предположим сначала, что такая машина M существует, M должно иметь некоторое количество состояний n Теперь рассмотрим строку x, состоящую из




n
+ 1





«a» с последующим




n
+
1




'b's
Как M читает в x, в машине должно быть какое-то состояние, которое повторяется Тед, как он читает в первой серии «а», так как есть







'a и только n состояний по принципу голубиной дыры. Назовите это состояние S, и далее пусть d будет числом' a's, которые наша машина прочитала, чтобы перейти от первого вхождения S к некоторому последующему вхождению во время последовательности 'a' мы знаем, что при втором появлении S мы можем добавить еще d, где


d 0 & gt;
0




'a's, и мы снова окажемся в состоянии S. Это означает, что мы знаем, что строка из




n
+
d
+
1




'a должны заканчиваться в том же состоянии, что и строка




n
+
1





'a's Это означает, что если наша машина принимает x, она также должна принимать строку:



n
+
d
+
1




«а» с последующими



n
+
1




'b's, которых нет на языке строк, содержащих одинаковое количество' a 'и' b's Другими словами, M не может правильно различить строка с равным числом 'a' и 'b', а также строка с символами



n
+
d
+
1









n
+
1



'b's
Таким образом, мы знаем, что этот язык не может быть правильно принят любым конечным автоматом и поэтому не является обычным языком. Нерациональная форма этого результата называется леммой Pumping для обычных языков, которую можно использовать для демонстрации того, что широкие классы языков не могут быть распознаны конечным автоматом
Сила автоматов

Компьютерные ученые определяют язык, который может быть принятым автоматом pushdown в качестве языка без контекста, который может быть задан как грамматика без контекста. Язык, состоящий из строк с равным числом символов «a» и «b», который, как мы показали, не является обычным языком, может быть выбран автоматом, работающим на понижение. Также, как правило, автомат, работающий на понижение, может вести себя так же, как машина с конечным числом состояний, поэтому он может выбирать любой язык, который является регулярным. Таким образом, эта модель вычислений строго более мощная, чем машины с конечным числом состояний. > Тем не менее, оказывается, что есть языки, которые не могут быть определены автоматом нажатия. Результат аналогичен таковому для регулярных выражений и здесь не будет подробно описываться. Существует лемма Pumping для языков без контекста. Пример га язык - это множество простых чисел
Сила машин Тьюринга
Машины Тьюринга могут выбирать любой неконтекстный язык, в дополнение к языкам, которые не могут быть определены автоматом, например, языку, состоящему из простых чисел. следовательно, является строго более мощной моделью вычислений. Поскольку машины Тьюринга имеют возможность «создавать резервные копии» на входной ленте, возможно, что машина Тьюринга будет работать в течение длительного времени, что невозможно с другие вычислительные модели, описанные ранее. Можно построить машину Тьюринга, которая никогда не завершит работу с остановкой на некоторых входах. Мы говорим, что машина Тьюринга может выбрать язык, если в конечном итоге она остановится на всех входах, и дать ответ. Язык, который может быть таким, Решено, называется рекурсивным языком. Мы можем далее описать машины Тьюринга, которые в конечном итоге остановятся и дадут ответ для любого ввода в языке, но которые могут работать вечно для входных строк, которые не на языке. Такой механизм Тьюринга Инес может сказать нам, что данная строка есть в языке, но мы никогда не можем быть уверены, основываясь на ее поведении, что данная строка не в языке, так как она может работать вечно в таком случае. Язык, который принят таким Машина Тьюринга называется рекурсивно перечислимым языком. Оказывается, что машина Тьюринга является чрезвычайно мощной моделью автоматов. Попытки изменить определение машины Тьюринга для создания более мощной машины неожиданно встретились с ошибкой. Например, добавление дополнительная лента к машине Тьюринга, позволяющая ей работать с двумерной или трехмерной или любой размерной бесконечной поверхностью, может быть смоделирована машиной Тьюринга с базовой одномерной лентой. Таким образом, эти модели на самом деле не более мощные. Следствием тезиса Черча-Тьюринга является то, что не существует разумной модели вычислений, которая могла бы решать языки, которые не могут быть решены машиной Тьюринга. Тогда возникает вопрос: существуют ли рекурсивные языки? все перечислимы, но не рекурсивны И, кроме того, существуют ли языки, которые даже не рекурсивно перечислимы
Проблема остановки
Основная статья: Проблема остановки
Проблема остановки - одна из самых известных проблем в информатике, потому что это имеет глубокое влияние на теорию вычислимости и на то, как мы используем компьютеры в повседневной практике. Проблема может быть сформулирована следующим образом:
Учитывая описание машины Тьюринга и ее начальный ввод, определить, будет ли программа при выполнении на этом вводе когда-нибудь останавливается завершается Альтернатива состоит в том, что он работает вечно, не останавливаясь
Здесь мы задаем не простой вопрос о простом числе или палиндроме, но вместо этого мы поворачиваем столы и просим машину Тьюринга ответить на вопрос о другом Машина Тьюринга. Это может быть показано. См. Основную статью: Проблема остановки в том, что невозможно построить машину Тьюринга, которая может ответить на этот вопрос во всех случаях. То есть единственный общий способ точно знать, если да Программа во всех случаях останавливает определенный вход - просто запускает его и смотрит, останавливается ли он. Если он останавливается, то вы знаете, что он останавливается. Однако если он не останавливается, вы никогда не узнаете, остановит ли он язык, состоящий из всех описаний машин Тьюринга в сочетании со всеми возможными входными потоками, на которых эти машины Тьюринга в конечном итоге будут останавливаться, не является рекурсивным. Поэтому проблема остановки называется невычислимой или неразрешимой. Расширение проблемы остановки называется теоремой Райса, в котором говорится, что в общем случае неразрешимо, обладает ли данный язык каким-либо конкретным нетривиальным свойством. За пределами рекурсивно перечислимых языков. Однако проблему остановки легко решить, если мы допустим, что машина Тьюринга, которая решит, что она может работать вечно когда дан ввод, который является представлением машины Тьюринга, которая сама не останавливается. Поэтому язык остановки рекурсивно перечислим. Можно построить языки, которые даже не рекурсивны однако, очень много перечислим. Простой пример такого языка - дополнение языка остановки; это язык, состоящий из всех машин Тьюринга в паре со строками ввода, где машины Тьюринга не останавливаются при их вводе. Чтобы увидеть, что этот язык не является рекурсивно перечислимым, представьте, что мы создаем машину Тьюринга M, которая может дать определенный ответ для все такие машины Тьюринга, но они могут работать вечно на любой машине Тьюринга, которая в конечном итоге останавливается. Затем мы можем построить другую машину Тьюринга



M
& # x2032;





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




М
& # x2032;




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



M
& # x2032;





, таким образом, является решающим фактором для проблемы остановки. Однако ранее мы показали, что проблема остановки неразрешима. У нас есть противоречие, и мы Таким образом, мы доказали, что наше предположение о том, что M существует неверно. Таким образом, дополнение языка остановки не является рекурсивно перечислимым. Модели на основе параллелизма. Было разработано несколько вычислительных моделей, основанных на параллелизме, в том числе машина параллельного произвольного доступа. и сеть Петри Эти модели параллельных вычислений до сих пор не реализуют никаких математических функций, которые не могут быть реализованы на машинах Тьюринга. Более сильные модели вычислений. Тезис Черча-Тьюринга предполагает, что не существует эффективной модели вычислений, способной вычислить больше математических функций На машине Тьюринга Ученые-компьютерщики представили множество разновидностей гиперкомпьютеров, моделей вычислений, выходящих за пределы вычислимости Тьюринга
Бесконечное выполнение
Основная статья: Машина Zeno
Представьте себе машину, где каждый шаг вычислений требует половины времени предыдущий шаг и, мы надеемся, половину энергии предыдущего шага. Если мы нормализуем до 1/2 единицы времени количество времени, необходимое для первого шага, и до 1/2 единицы энергии количество энергии, необходимое для первого шага, выполнение будет требуется



1
=

& # x2211;

n
=
1


& # x221E;



1

2




=


1
2




1
4




1 1 8




1
16




& # x22EF;


^ = ++++ cdots

единица времени и 1 единица энергии для запуска Эта бесконечная серия сходится к 1, что означает, что эта машина Zeno может выполнить счетное бесконечное число шагов в 1 единицу времени, используя 1 единицу энергии Эта машина способна решить проблему остановки, непосредственно моделируя выполнение рассматриваемой машины. В результате, любая сходящаяся бесконечная серия [должна быть доказуемо бесконечной] будет работать. Предполагая, что бесконечная серия сходится к значению n, машина Зенона будет завершена. счетно бесконечное выполнение в n единицах времени - машины Oracle - основная статья: машина Oracle - итак называемые машины Oracle имеют доступ к различным «оракулам», которые обеспечивают решение конкретных неразрешимых проблем. Например, машина Тьюринга может иметь «оракула остановки», который сразу же отвечает, остановится ли когда-либо машина Тьюринга при заданном входе. центральная тема исследования в теории рекурсии
Пределы гипер-вычислений
Даже эти машины, которые, по-видимому, представляют собой предел автоматов, которые мы можем себе представить, сталкиваются со своими собственными ограничениями, в то время как каждый из них может решить проблему остановки для На машине Тьюринга они не могут решить свою собственную версию проблемы остановки. Например, машина Oracle не может ответить на вопрос, остановится ли когда-либо данная машина Oracle. См. Также
Теория автоматов
Абстрактная машина
Список неразрешимых проблем
Теория сложности вычислений
Логика вычислимости
Важные публикации по вычислимости
Ссылки
Michael Sipser 1997 г. Введение в теорию вычислений Публикация в PWS ISBN 0-534-94728-X Часть вторая: Теория вычислимости, главы 3–6, стр. 123–222
Christos Papadimitriou 1993 Сложность вычислений, 1-е изд. Addison Wesley ISBN 0-201-53082-1 Глава 3: Вычислимость, стр. 57 –70
S Барри Купер 2004 Теория вычислимости 1st ed Chapman & amp; Hall / CRC ISBN 978-1-58488-237-4
v
e
Вычислимые знания
Темы и понятия
Азбука человеческой мысли
Контроль власти
Автоматизированное рассуждение - знание Commonsense - рассуждение Commonsense - вычислимость - Формальная система - Механизм логических выводов - База знаний - Системы знаний - Инжиниринг знаний - Извлечение знаний > Представление знаний
Поиск знаний
Классификация библиотек
Логическое программирование
Онтология
Личная база знаний
Ответы на вопросы
Семантический анализатор
Предложения и реализации

Заирья
Арс Магна 1300
Очерк реального персонажа и философского языка 1688
Исчисление отношений & amp; Characteristica universalis 1700
Десятичная классификация Дьюи 1876 г.
Begriffsschrift 1879 г.
Mundaneum 1910 г.
Логический атомизм 1918 г. Tractatus Logico-Philosophicus 1921 г. Программа Гильберта 1920-х гг.
Теорема о неполноте 1931 г. - Мир Brain 1938 - Memex 1945 - Решатель общих проблем 1959 - Пролог 1972 - Cyc 1984 - Семантическая сеть 2001 - Evi 2007 - Wolfram Alpha 2009 - Watson 2011 - Siri 2011
График знаний 2012
Wikidata 2012
Кортана 2014
Viv 2016
В художественном произведении
Двигатель Путешествие Гулливера, 1726 год
Джо "Логика по имени Джо", 1946 год
Снежная катастрофа библиотекаря, 1992 г. - Доктор Ноу А.И. Искусственный интеллект, 2001 г.
Уотерхаус Цикл барокко, 2003 г.
См. Также: Логические машины в художественной литературе и Список вымышленных компьютеров


Computability

Random Posts

Ralph Neville, 2nd Earl of Westmorland

Ralph Neville, 2nd Earl of Westmorland

Ralph Neville, 2nd Earl of Westmorland 4 April 1406 – 3 November 1484 was an English peer Content...
Mamprusi language

Mamprusi language

The Mamprusi language, Mampruli Mampelle, Ŋmampulli, is a Gur language spoken in northern Ghana by t...
Singapore Changi Airport

Singapore Changi Airport

Singapore Changi Airport IATA: SIN, ICAO: WSSS, or simply Changi Airport, is the primary civili...
Christian Siriano

Christian Siriano

Christian Siriano born November 18, 1985 is an American fashion designer and member of the Council o...