Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Теория [ править ]

Автомат очередей можно определить как набор из шести элементов.

куда
  • - конечный набор состояний ;
  • - конечный набор входного алфавита ;
  • - алфавит конечной очереди ;
  • - начальный символ очереди ;
  • это начальное состояние ;
  • - функция перехода .

Конфигурация машины - это упорядоченная пара ее состояния и содержимого очереди , где означает закрытие по Клини . Начальная конфигурация входной строки определяется как , а переход от одной конфигурации к другой определяется как:

где - символ из алфавита очереди, - последовательность символов очереди ( ), и . Обратите внимание на свойство очереди в отношении «первым пришел - первым обслужен».

Машина принимает строку, если после конечного числа переходов начальная конфигурация эволюционирует и исчерпывает строку (достигая нулевой строки ), или [1]

Полнота по Тьюрингу [ править ]

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

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

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

Приложения [ править ]

Машины очередей предлагают простую модель, на которой можно строить компьютерные архитектуры , [3] [4] языки программирования или алгоритмы . [5] [6]

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

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

  1. Перейти ↑ Kozen, Dexter C. (1997) [1951]. Дэвид Грис, Фред Б. Шнайдер (ред.). Автоматы и вычислимость (твердый переплет). Тексты для бакалавров по информатике (1-е изд.). Нью-Йорк: Springer-Verlag. С.  368 –370. ISBN 978-0-387-94907-9.
  2. Русь, Теодор. «Варианты машин Тьюринга» (PDF) . Конспект лекций по теории вычислений . Университет Айовы, Айова-Сити, Айова, 52242-1419. Архивировано из оригинального (PDF) 21 сентября 2008 года . Проверено 6 ноября 2007 .
  3. ^ Feller, M .; MD Ercegovac (1981). Машины очереди: организация для параллельных вычислений . Конспект лекций по информатике . 111 . С. 37–47. DOI : 10.1007 / BFb0105108 . ISBN 978-3-540-10827-6.
  4. ^ Шмит, H .; Левин, Б .; Илвисакер, Б. (2002). «Машины очереди: Аппаратная компиляция в аппаратном обеспечении». Ход работы. 10-й ежегодный симпозиум IEEE по программируемым пользовательским вычислительным машинам . С. 152–160. CiteSeerX 10.1.1.6.7718 . DOI : 10.1109 / FPGA.2002.1106670 . ISBN  978-0-7695-1801-5.
  5. ^ Мур, Кристофер (1999-09-20). «Очереди, стеки и трансцендентальность при переходе к хаосу» . Семинар проекта "Алгоритмы" . INRIA . Проверено 6 ноября 2007 .
  6. ^ фон Тум, Манфред (2007). «Машина очереди для вычисления выражений» . Латробский университет. Архивировано из оригинала на 2007-08-07 . Проверено 6 ноября 2007 .