Какие шесть основных примитивов в Turing Complete

Я слушаю урок edX, и профессор подчеркивает, что каждую машину, способную выполнять эти шесть основных примитивов, можно назвать полной по Тьюрингу. Но каковы шесть основных примитивов?


person YourTeddy    schedule 26.01.2015    source источник


Ответы (2)


Шесть основных операций / примитивов, придающих языку полноту по Тьюрингу:

  • Вправо: переместите голову машины вправо от текущего квадрата.
  • Слева: переместите голову машины влево от текущего квадрата.
  • Печать: печать символа на текущем квадрате.
  • Сканирование: Определите любые символы на текущем квадрате
  • Стереть: стереть все символы, представленные на текущем квадрате.
  • Ничего / остановка: ничего не делать

Вы можете узнать больше на справочном веб-сайте Алана Тьюринга и / или посмотрите небольшой видеоролик об этом.

person staticdev    schedule 26.01.2015
comment
Это о языках программирования или о машинах Тьюринга? Это не одно и то же. - person Marcin; 26.01.2015
comment
@Marcin Речь идет об О-машинах Тьюринга, которые реализованы как языки программирования. - person staticdev; 26.01.2015
comment
@Marcin Мне очень жаль, но это не так. Я уже некоторое время изучаю языки программирования. Я бы не ответил, если бы не изучал это. - person staticdev; 26.01.2015
comment
Но это не операции языка программирования. Это операции машины Тьюринга. - person Marcin; 26.01.2015
comment
для тех, кто хочет попробовать написать что-нибудь с использованием вышеперечисленных примитивов, был создан этот эзотерический язык: en.wikipedia.org / wiki / Brainfuck - person X10D; 07.11.2016

Они составляют основу машины Тьюринга и состоят из

Вправо: переместите голову машины вправо от текущего квадрата.

Влево: переместите голову Машины влево от текущего квадрата.

Печать: печать символа на текущем квадрате.

Сканирование. Найдите любые символы в текущем квадрате.

Стереть: удалить все символы, представленные в текущем квадрате.

Ничего / HALT: ничего не делать

Идея состоит в том, что с помощью этих шести примитивов вы можете программировать что угодно.

person Wald    schedule 26.01.2015
comment
Это то же самое, что и ответ, который я опубликовал ранее. - person staticdev; 26.01.2015
comment
@StaticX Да, но ваш ответ вводит в заблуждение - возможно, неправильно - сформулирован. - person Marcin; 26.01.2015
comment
@StaticX Когда я начал печатать, там ничего не было + это в основном вопрос. Позвольте мне погуглить, он мог бы найти ответ в первых 3-4 результатах без каких-либо предварительных знаний в области машинного обучения. - person Wald; 26.01.2015
comment
@Wald Я согласен. Я обычно исследую гораздо больше, прежде чем размещать здесь вопрос. К сожалению, многие люди этого не делают. - person staticdev; 27.01.2015