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