Абстрактный автомат: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м Project talk:Викификатор#Шаблон:Rq, replaced: {{rq|sources}} → {{подст:нет источников}}
 
(не показано 39 промежуточных версий 34 участников)
Строка 1: Строка 1:
'''Абстра́ктный автома́т''' [[теория алгоритмов|теории алгоритмов]]) — [[математика|математическая]] [[абстракция]], [[модель]] [[дискретное устройство|дискретного устройства]], имеющего один вход, один выход и в каждый момент времени находящегося в одном [[состояние|состоянии]] из множества возможных. На вход этому устройству поступают [[символ]]ы одного [[язык]]а, на выходе оно выдаёт символы (в общем случае) другого языка. [[Изображение:Абстрактный автомат.jpg|220px|thumb|right|Абстрактный автомат]]
'''Абстра́ктный автома́т''' — [[дискретная математика|в дискретной математике]] [[математическая абстракция]], [[модель]] [[дискретное устройство|дискретного устройства]], имеющего один вход, один выход и в каждый момент времени находящегося в одном [[состояние|состоянии]] из множества возможных. На вход этому устройству поступают [[символ]]ы одного [[Алфавит (информатика)|алфавита]], на выходе оно выдаёт символы (в общем случае) другого алфавита.{{sfn|Кудрявцев|1985|с=5}} [[Файл:Абстрактный автомат.jpg|220px|thumb|right|Абстрактный автомат]]


Формально абстрактный автомат определяется как пятерка
Формально абстрактный автомат определяется как пятёрка
:<math>V = (A, B, Q, \delta, \lambda)</math>,
где <math>Q</math> — множество [[состояние|состояний]] автомата, A, B — входной и выходной алфавиты соответственно, из которых формируются строки, считываемые и выдаваемые автоматом, <math>\delta : Q \times A \rightarrow Q</math> — функция переходов, <math>\lambda : Q \times A \rightarrow B</math> — функция выходов.{{sfn|Кудрявцев|1985|с=6}}
[[Файл:Функциональная схема абстрактного автомата.jpg|440px|thumb|left|Функциональная схема абстрактного автомата]]


Абстрактный автомат с конечными множествами <math>A, B, Q</math> называется [[Конечный автомат|конечным автоматом]].{{sfn|Кудрявцев|1985|с=14}} Если же одно из этих множеств является бесконечным, то такой автомат называется бесконечным автоматом.{{sfn|Кудрявцев|1985|с=29}}
<math>\boldsymbol{A = (S, X , Y, \delta , \lambda)}</math>


Функционирование автомата состоит в том, что по заданной входной последовательности и из заданного начального состояния автомат однозначно выдаёт две последовательности: последовательность состояний автомата <math>q:\mathbb{N}\to Q</math> и последовательность выходных символов <math>b:\mathbb{N}\to B</math>. Номера элементов этих последовательностей интерпретируются как дискретные моменты времени и называются также тактами. Эти последовательности определяются рекурсивно при помощи следующих уравнений, называемых каноническими уравнениями автомата:
Где S - конечное множество [[состояние|состояний]] автомата, X, Y - конечные входной и выходной алфавиты соответственно, из которых формируются строки, считываемые и выдаваемые автоматом, <math>\delta : S \times X \rightarrow S</math> - функция переходов, <math>\lambda : S \times X \rightarrow Y</math> - функция выходов.
:<math>\begin{cases}q(0)=q_1 \\ q(t+1)=\varphi(q(t),a(t)) \\ b(t) = \psi(q(t),a(t))\end{cases}</math>
[[Изображение:Функциональная схема абстрактного автомата.jpg|440px|thumb|left|Функциональная схема абстрактного автомата]]
где \phi – функция переходов, \psi – функция выходов.
Абстракный автомат с выделенным начальным [[состояние|состоянием]] называется инициальным автоматом. Таким образом, абстрактный автомат определяет семейство инициальных автоматов


<math>a:\mathbb{N}\to A</math> здесь последовательность входных символов, <math>q_1\in Q</math> — начальное состояние. Абстрактный автомат с выделенным начальным [[состояние]]м называется инициальным автоматом.{{sfn|Кудрявцев|1985|с=18}} Такой автомат обычно обозначается <math>V_{q_1}</math>.
<math>\boldsymbol{(s_i, A), s_i \in S}</math>


Допускается также рассмотрение конечной последовательности входных символов <math>a(t)</math>; в таком случае длина выходной последовательности <math>b(t)</math> будет такая же, как и длина <math>a(t)</math>, а длина <math>q(t)</math> на <math>1</math> больше. Говорят, что инициальный автомат <math>V_{q_1}</math> задаёт функцию <math>f:A^*\cup A^\omega \to B^*\cup B^\omega</math>, если для входной последовательности <math>a</math> автомат выдаёт выходную последовательность <math>f(a)</math>. Множество функций, задаваемых всевозможными инициальными автоматами со входным алфавитом <math>A</math> и выходным алфавитом <math>B</math>, есть в точности множество [[Детерминированая функция|детерминированных функций]] из <math>A</math> в <math>B</math>.
Если функции переходов и выходов однозначно определены для каждой пары <math>\boldsymbol{(s, x) \in S \times X}</math>, то автомат называют детерминированным. В противном случае автомат называют недетерминированным или частично определенным.


Автомат с выделенным множеством конечных состояний называется терминальным автоматом.
Если функция переходов и/или функция выходов являются случайными, то автомат называют вероятностным.


Для уточнения свойств абстрактных автоматов введена [[классификация абстрактных автоматов|классификация]].
Ограничение числа параметров абстрактного автомата определило такое понятие как [[конечный автомат]].


Абстрактные автоматы образуют фундаментальный класс дискретных моделей как самостоятельная модель, и как основная компонента [[Машина Тьюринга|машин Тьюринга]], [[автомат с магазинной памятью|автоматов с магазинной памятью]], [[конечный автомат|конечных автоматов]] и других преобразователей информации.
Функционирование автомата состоит в порождении двух последовательностей: последовательности очередных состояний автомата <math>\boldsymbol{s_1[1]s_2[2]s_3[3]...}</math> и последовательности выходных символов <math>\boldsymbol{y_1[1]y_2[2]y_3[3]...}</math>, которые для последовательности символов <math>\boldsymbol{x_1[1]x_2[2]x_3[3]...}</math> разворачиваются в моменты дискретного времени t = 1, 2, 3, … Моменты дискретного времени получили название тактов.


[[Модель]] абстрактного автомата широко используется как базовая для построения дискретных моделей автоматов, распознающих, порождающих и преобразующих последовательности [[символ]]ов.
Функционирование автомата в дискретные моменты времени t может быть описано системой рекуррентных соотношений:
<math>\boldsymbol{s(t+1)=\delta(s(t),x(t));}</math>


== Вариации и обобщения ==
<math>\boldsymbol{y(t)=\lambda(s(t),x(t)).}</math>
Есть огромное количество вариаций и обобщений классического понятия абстрактного автомата, определённого вверху.


Частичный автомат получится, если в определении разрешить функциям <math>\varphi</math> и <math>\psi</math> быть [[Частично-определённая функция|частичными]]. В таком случае автоматы, у которых эти функции являются тотальными, называются тотальными.
Для уточнения свойств абстрактных автоматов введена [[классификация абстрактных автоматов|классификация]].


Недетерминированный автомат получится, если в определении разрешить функциям <math>\varphi</math> и <math>\psi</math> быть [[Многозначными функция|многозначными]]. В таком случае автоматы, у которых эти функции являются однозначные, называются детерминированными. Для недетерминированных автоматов часто также разрешают так называемые ε-переходы: в область определения функции <math>\varphi</math> добавляют специальный символ пустой строки <math>\varepsilon</math>, которого нет в алфавите <math>A</math>. Для инициальных недетерминированных автоматов иногда вместо одного начального состояния рассматривают непустое множество начальных состояний.
Абстрактные автоматы образуют фундаментальный класс дискретных моделей как самостоятельная модель, и как основная компонента [[Машина Тьюринга|машин Тьюринга]], [[автомат с магазинной памятью|автоматов с магазинной памятью]], [[конечный автомат|конечных автоматов]] и других преобразователей информации.

Автомат Мура получится, если функции <math>\varphi</math> и <math>\psi</math> будут зависеть только от <math>Q</math> и не зависеть от <math>A</math>. В таком случае автоматы, у которых эти функции могут зависеть от обоих переменных, называются автоматами Мили.

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

[[Вероятностный автомат]] получится, если областью значений функций <math>\varphi</math> и <math>\psi</math> полагать не сами <math>A</math> и <math>B</math>, а множество [[Случайная величина|случайных величин]] на <math>A</math> и <math>B</math> из некоторого [[Вероятностное пространство|вероятностного пространства]].

В самом общем смысле под понятием «абстрактный автомат» понимают любой автомат, которые не [[Структурный автомат|структурный]]. В этом смысле абстрактные автоматы представляют собой элементы схем структурных автоматов. Вне противопоставления абстрактный автомат — структурный автомат прилагательное «абстрактный» обычно опускается и говорят просто автомат.

== Литература ==
* {{книга
|заглавие = Абстрактная теория автоматов
|автор = [[Виктор Михайлович Глушков]]
|isbn =
|страницы = 476
|год = 1961
|издание = [[Успехи математических наук]], т. XVI, вып. 5 (101)
|место = М.
|издательство =
}}

* {{книга
|заглавие = Синтез цифровых автоматов
|автор = [[Виктор Михайлович Глушков]]
|isbn =
|страницы = 476
|год = 1962
|издание =
|место = М.
|издательство = [[Государственное издательство физико-математической литературы]]
}}

* {{книга
|заглавие = Введение в теорию автоматов
|автор = В. Б. Кудрявцев, С. В. Алёшин, А. С. Подколзин
|isbn =
|страницы = 320
|год = 1985
|издание =
|место = М.
|издательство = [[Наука (издательство)|Наука]]
|ref = Кудрявцев
}}


{{вс}}
[[Модель]] абстрактного автомата широко используется, как базовая, для построения дискретных моделей распознающих, порождающих и преобразующих последовательности [[символ]]ов.
{{Нет источников |дата=2024-10-19}}


[[Category:Теория алгоритмов]]
[[Категория:Теория автоматов]]

Текущая версия от 11:07, 19 октября 2024

Абстра́ктный автома́т — в дискретной математике математическая абстракция, модель дискретного устройства, имеющего один вход, один выход и в каждый момент времени находящегося в одном состоянии из множества возможных. На вход этому устройству поступают символы одного алфавита, на выходе оно выдаёт символы (в общем случае) другого алфавита.[1]

Абстрактный автомат

Формально абстрактный автомат определяется как пятёрка

,

где  — множество состояний автомата, A, B — входной и выходной алфавиты соответственно, из которых формируются строки, считываемые и выдаваемые автоматом,  — функция переходов,  — функция выходов.[2]

Функциональная схема абстрактного автомата

Абстрактный автомат с конечными множествами называется конечным автоматом.[3] Если же одно из этих множеств является бесконечным, то такой автомат называется бесконечным автоматом.[4]

Функционирование автомата состоит в том, что по заданной входной последовательности и из заданного начального состояния автомат однозначно выдаёт две последовательности: последовательность состояний автомата и последовательность выходных символов . Номера элементов этих последовательностей интерпретируются как дискретные моменты времени и называются также тактами. Эти последовательности определяются рекурсивно при помощи следующих уравнений, называемых каноническими уравнениями автомата:

где \phi – функция переходов, \psi – функция выходов.

здесь последовательность входных символов, — начальное состояние. Абстрактный автомат с выделенным начальным состоянием называется инициальным автоматом.[5] Такой автомат обычно обозначается .

Допускается также рассмотрение конечной последовательности входных символов ; в таком случае длина выходной последовательности будет такая же, как и длина , а длина на больше. Говорят, что инициальный автомат задаёт функцию , если для входной последовательности автомат выдаёт выходную последовательность . Множество функций, задаваемых всевозможными инициальными автоматами со входным алфавитом и выходным алфавитом , есть в точности множество детерминированных функций из в .

Автомат с выделенным множеством конечных состояний называется терминальным автоматом.

Для уточнения свойств абстрактных автоматов введена классификация.

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

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

Вариации и обобщения

[править | править код]

Есть огромное количество вариаций и обобщений классического понятия абстрактного автомата, определённого вверху.

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

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

Автомат Мура получится, если функции и будут зависеть только от и не зависеть от . В таком случае автоматы, у которых эти функции могут зависеть от обоих переменных, называются автоматами Мили.

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

Вероятностный автомат получится, если областью значений функций и полагать не сами и , а множество случайных величин на и из некоторого вероятностного пространства.

В самом общем смысле под понятием «абстрактный автомат» понимают любой автомат, которые не структурный. В этом смысле абстрактные автоматы представляют собой элементы схем структурных автоматов. Вне противопоставления абстрактный автомат — структурный автомат прилагательное «абстрактный» обычно опускается и говорят просто автомат.

Литература

[править | править код]
  • Виктор Михайлович Глушков. Абстрактная теория автоматов. — Успехи математических наук, т. XVI, вып. 5 (101). — М., 1961. — С. 476.
  • В. Б. Кудрявцев, С. В. Алёшин, А. С. Подколзин. Введение в теорию автоматов. — М.: Наука, 1985. — С. 320.
  1. Кудрявцев, 1985, с. 5.
  2. Кудрявцев, 1985, с. 6.
  3. Кудрявцев, 1985, с. 14.
  4. Кудрявцев, 1985, с. 29.
  5. Кудрявцев, 1985, с. 18.