Jump to content

Система тегов

В теории вычислений система тегов — это детерминированная модель вычислений, опубликованная Эмилем Леоном Постом в 1943 году как простая форма канонической системы Поста . [1] Систему тегов также можно рассматривать как абстрактную машину, называемую машиной тегов Поста (не путать с машинами Пост-Тьюринга ) — кратко говоря, конечный автомат , единственной лентой которого является FIFO очередь неограниченной длины, так что в при каждом переходе машина считывает символ в начале очереди, удаляет постоянное количество символов из головы и добавляет в хвост строку символов, которая зависит исключительно от первого символа, прочитанного в этом переходе.

Поскольку все указанные операции выполняются за один переход, машина тегов строго имеет только одно состояние.

Определения [ править ]

Система тегов представляет собой тройку ( m , A , P ), где

  • m — положительное целое число, называемое числом удаления .
  • A — конечный алфавит символов, один из которых может быть специальным символом остановки . Все конечные (возможно, пустые) строки на A называются словами .
  • P — это набор правил производства , присваивающих слово P(x) (называемое продукцией каждому символу x в A. ) Производство (скажем, P( H ) ), назначенный символу остановки, как показано ниже, не играет никакой роли в вычислениях, но для удобства принимается равным P( Ч ) = 'Х' .

Остановочное слово — это слово, которое либо начинается с символа остановки, либо имеет длину меньше m .

Преобразование t (называемое операцией тега ) определяется на множестве не прерывающихся слов, так что если x обозначает самый левый символ слова S , то t ( S ) является результатом удаления самых левых m символов слова S и добавив слово P(x) справа. Таким образом, система обрабатывает заголовок m-символа в хвост переменной длины, но формируемый хвост зависит исключительно от первого символа головы.

Вычисление с помощью системы тегов представляет собой конечную последовательность слов, созданную путем итерации преобразования t , начиная с первоначально заданного слова и заканчивая созданием останавливающего слова. (Согласно этому определению, вычисление не считается существующим, если за конечное число итераций не создано останавливающее слово. Альтернативные определения позволяют выполнять вычисления без остановки, например, используя специальное подмножество алфавита для идентификации слов, которые кодируют выходные данные.)

Термин «система m-тегов» часто используется, чтобы подчеркнуть номер удаления. Определения несколько различаются в литературе (см. Библиотеку), здесь представлено определение Рогожина. [2]

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

Общее альтернативное определение не использует символ остановки и рассматривает все слова длиной меньше m как слова остановки. Другое определение - это оригинальное определение, использованное Постом (1943) (описанное в исторической справке ниже), в котором единственным останавливающим словом является пустая строка.

Пример: простая иллюстрация с двумя тегами [ править ]

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

2-tag system 
    Alphabet: {a,b,c,H} 
    Production rules:
         a  -->  ccbaH
         b  -->  cca
         c  -->  cc

Computation
    Initial word: baa
                    acca
                      caccbaH
                        ccbaHcc
                          baHcccc
                            Hcccccca (halt).

Пример: вычисление последовательностей Коллатца [ править ]

Эта простая система с двумя тегами адаптирована из De Mol (2008) . Он не использует символ остановки, но останавливается на любом слове длиной меньше 2 и вычисляет слегка измененную версию последовательности Коллатца .

В исходной последовательности Коллатца преемником n является либо n / 2 (для четного n ) или 3 n + 1 (для нечетного n). Значение 3 n + 1 явно четно для нечетного n , следовательно, следующий член после 3 n + 1 наверняка будет 3 н + 1/2 . В последовательности, вычисленной с помощью приведенной ниже системы тегов, мы пропускаем этот промежуточный шаг, следовательно, преемником n является 3 n + 1/2 n нечетного . для

В этой системе тегов положительное целое число n представлено словом aa...a с n a.

2-tag system 
    Alphabet: {a,b,c} 
    Production rules:
         a  -->  bc
         b  -->  a
         c  -->  aaa

Computation
    Initial word: aaa <--> n=3
                    abc  
                      cbc
                        caaa
                          aaaaa  <--> 5
                            aaabc
                              abcbc
                                cbcbc
                                  cbcaaa
                                    caaaaaa
                                      aaaaaaaa  <--> 8
                                        aaaaaabc
                                          aaaabcbc
                                            aabcbcbc
                                              bcbcbcbc
                                                bcbcbca
                                                  bcbcaa
                                                    bcaaa
                                                      aaaa  <--> 4
                                                        aabc
                                                          bcbc
                                                            bca
                                                              aa  <--> 2
                                                                bc
                                                                  a  <--> 1
                                                                   (halt)

по Тьюрингу m тегов систем Полнота -

Для каждого m > 1 набор m -теговых систем является полным по Тьюрингу ; т. е. для каждого m > 1 это тот случай, когда для любой данной машины Тьюринга T существует система m -тегов, которая эмулирует T . В частности, можно построить систему с двумя тегами для эмуляции универсальной машины Тьюринга , как это сделали Ван (1963) и Кок и Мински (1964) .

И наоборот, можно показать, что машина Тьюринга является универсальной машиной Тьюринга, доказав, что она может эмулировать полный по Тьюрингу класс систем m -тегов. Например, Рогожин (1996) доказал универсальность класса 2-теговых систем с алфавитом { a 1 , ..., an n , H } и соответствующие произведения { a n a n W 1 , ..., a n a n W n-1 , a n a n , H }, где W k — непустые слова; Затем он доказал универсальность очень маленькой (4 состояния, 6 символов) машины Тьюринга, показав, что она может моделировать этот класс систем тегов.

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

Проблема остановки с двумя тегами [ править ]

Эта версия проблемы остановки является одной из самых простых и легко описываемых неразрешимых проблем решения :

Учитывая произвольное целое положительное число n и список из n +1 произвольных слов P 1 , P 2 ,..., P n , Q в алфавите {1,2,..., n }, выполняется повторное применение тега операция t : ijX XP я в конечном итоге преобразую Q в слово длиной меньше 2? То есть, является ли последовательность Q , t 1 ( Q ), т 2 ( Q ), т 3 ( Q ), ... прекратить?

определении системы тегов Историческая об справка

Приведенное выше определение отличается от определения Поста (1943) , чьи системы тегов не используют символ остановки, а останавливаются только на пустом слове, при этом операция тега t ​​определяется следующим образом:

  • Если x обозначает самый левый символ непустого слова S , то t ( S ) — это операция, состоящая из первого добавления слова P(x) к правому концу S , а затем удаления самых левых m символов результата — удаления всех если символов меньше m .

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

Происхождение названия «тег» [ править ]

Согласно сноске в Post (1943) , Б. П. Гилл предложил название для более раннего варианта задачи, в котором первые m символов остаются нетронутыми, а вместо этого галочка, указывающая текущую позицию, перемещается вправо на m символов каждый шаг. . Название проблемы определения того, касается ли галочка когда-либо конца последовательности, затем было названо «проблемой тега», имея в виду детскую игру в теги .

Циклические системы тегов [ править ]

Циклическая система тегов представляет собой модификацию исходной системы тегов. Алфавит состоит всего из двух символов, 0 и 1 , а производственные правила включают список производств, рассматриваемых последовательно, с циклическим возвратом к началу списка после рассмотрения «последнего» производства в списке. Для каждого произведения проверяется самый левый символ слова — если символ равен 1 , текущее произведение добавляется к правому концу слова; если символ равен 0 , к слову не добавляются символы; в любом случае крайний левый символ удаляется. Система останавливается, если слово становится пустым. [4]

Пример [ править ]

Cyclic Tag System
 Productions: (010, 000, 1111)

Computation
 Initial Word: 11001
    Production         Word
    ----------         --------------
       010             11001
       000              1001010
       1111              001010000
       010                01010000
       000                 1010000
       1111                 010000000
       010                   10000000
        .                      .
        .                      .

Системы циклических тегов были созданы Мэтью Куком и использовались Куком при демонстрации того, что клеточный автомат по Правилу 110 универсален. [5] Ключевой частью демонстрации было то, что циклические системы тегов могут эмулировать полный по Тьюрингу класс систем тегов.

систем тегов циклическими системами Эмуляция тегов

Система m -тегов с алфавитом { a 1 , ..., a n } и соответствующими постановками { P 1 , ..., P n } эмулируется циклической системой тегов с m*n постановками ( Q 1 , .. ., Q n , -, -, ..., -), где все, кроме первых n произведений, представляют собой пустую строку (обозначаемую ' - '). Q представляют k собой кодировки соответствующего P k , полученные путем замены каждого символа алфавита системы тегов двоичной строкой длиной n следующим образом (они также должны применяться к начальному слову вычисления системы тегов):

a1 = 100...00
a2 = 010...00
.
.
.
an = 000...01

То есть k с кодируется как двоичная строка 1 в К й положение слева и 0 в другом месте. Последовательные строки вычисления системы тегов будут закодированы как каждые ( m*n ) й строка его эмуляции циклической системой тегов.

Пример [ править ]

Это очень небольшой пример, иллюстрирующий технику эмуляции.

2-tag system
    Production rules: (a --> bb, b --> abH, H --> H)
    Alphabet encoding: a = 100, b = 010, H = 001 
    Production encodings: (bb = 010 010, abH = 100 010 001, H = 001)

Cyclic tag system 
    Productions: (010 010, 100 010 001, 001, -, -, -)

Tag system computation
    Initial word: ba
                    abH
                      Hbb (halt)

Cyclic tag system computation
    Initial word: 010 100 (=ba)

    Production       Word
    ----------       -------------------------------
  * 010 010          010 100  (=ba)
    100 010 001       10 100
    001                0 100 100 010 001
    -                    100 100 010 001
    -                     00 100 010 001
    -                      0 100 010 001
  * 010 010                  100 010 001  (=abH)
    100 010 001               00 010 001 010 010
    001                        0 010 001 010 010
    -                            010 001 010 010
    -                             10 001 010 010
    -                              0 001 010 010
  * 010 010       emulated halt -->  001 010 010  (=Hbb)
    100 010 001                       01 010 010
    001                                1 010 010
    -                                    010 010 001
    ...                                    ...

Каждая шестая строка (отмечена знаком ' * '), создаваемая системой циклических тегов, представляет собой кодирование соответствующей строки вычисления системы тегов до тех пор, пока не будет достигнута эмулируемая остановка.

См. также [ править ]

Примечания [ править ]

  1. ^ Сообщение 1943 года .
  2. ^ Rogozhin 1996 .
  3. ^ Вудс, Дэмиен; Нири, Терлоу (17 февраля 2009 г.). «Сложность маленьких универсальных машин Тьюринга: обзор» (PDF) . Теоретическая информатика . Вычислительные парадигмы из природы. 410 (4): 443–450. дои : 10.1016/j.tcs.2008.09.051 . ISSN   0304-3975 . S2CID   10257004 .
  4. ^ В главе 14, озаглавленной «Очень простые основы вычислимости», Мински (1967) представляет очень читаемый (и иллюстрированный) подраздел 14.6 « Проблема «тегов» и моногенных канонических систем» ( стр. 267–273 ) (этот подраздел индексируется как «система тегов»). Мински рассказывает о своем разочаровывающем опыте решения общей проблемы: «Пост нашел эту (00, 1101) проблему «неразрешимой», и я тоже, даже с помощью компьютера». Он комментирует, что «эффективный способ решить для любой строки S, будет ли когда-либо повторяться этот процесс, если он запущен с S», неизвестен, хотя несколько конкретных случаев оказались неразрешимыми. В частности, он упоминает теорему Кока и следствие 1964 года.
  5. ^ Кук 2004 .

Ссылки [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 16db85bb83aeaeb79a252649b02e00a0__1718013300
URL1:https://arc.ask3.ru/arc/aa/16/a0/16db85bb83aeaeb79a252649b02e00a0.html
Заголовок, (Title) документа по адресу, URL1:
Tag system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)