Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТАиФЯ(ч.2).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.15 Mб
Скачать

1 Элементы математической лингвистики

1.1 Автоматы и формальные языки

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

Абстрактный автомат можно представить как некоторое устройство («черный ящик»), имеющее конечное число входных и выходных каналов и некоторое множество внутренних состояний.

На входные каналы автомата извне поступают сигналы и в зависимости от их значения и от того, в каком состоянии находился автомат, он переходит в следующее состояние и выдает сигналы на свои выходные каналы. С течением времени входные сигналы изменяются, соответственно изменяются и состояния автомата и его выходные сигналы.

В узком смысле термин «автомат» употребляется для обозначения так называемых дискретных автоматов (ДА). ДА - это математическая модель устройства, предназначенного для переработки (преобразования) последовательности входных дискретных сигналов в последовательность выходных дискретных сигналов. При этом считается, что очередное изменение значений входных сигналов может произойти только тогда, когда в автомате закончится переходный процесс, вызванный предыдущим изменением входных сигналов.

Предполагается, что автомат функционирует в дискретные моменты времени, т.е. непрерывная шкала времени разделена на интервалы, которые занумерованы целыми неотрицательными числами 0,1,2,..., называемыми тактами. На протяжении одного такта сохраняются неизменными состояние входа, состояние выхода и внутреннее состояние автомата.

Если все такты имеют одинаковый временной интервал, то такой ДА называется синхронным, если такты имеют произвольные интервалы времени, то автомат называется асинхронным.

Говорят, что i-й набор значений входных сигналов, воздействующих на входы автомата (n - число входов), образует состояние входа , причем при двузначных (считается, что входные, выходные сигналы являются двоичными, а каждый элемент памяти (ЭП) может находиться в одном из двух устойчивых состояний) входных сигналах всего может быть состояний входа.

Аналогично, каждый из наборов значений двузначных выходных сигналов , образует одно из состояний выхода (m - число выходов).

Каждый из наборов значений состояний элементов памяти образует одно из внутренних состояний автомата (s - число элементов памяти).

Наиболее распространены в технике конечные дискретные автоматы (или просто «конечные автоматы»). Конечным автоматом называется устройство, определяемое конечным множеством (алфавитом) состояний входа , конечным множеством (алфавитом) состояний выхода , конечным множеством (алфавитом) внутренних состояний и двумя функциями: функцией переходов и функцией выходов. Из множества внутренних состояний иногда выделяется некоторое состояние , называемое начальным внутренним состоянием.

Итак, для конечного автомата:

- набор входных сигналов, n - число входов,

- набор выходных сигналов, m - число выходов,

- набор состояний элементов памяти, s - число элементов памяти.

- состояние входа,

- состояние выхода,

- внутреннее состояние автомата.

- возможное число состояний входа,

- возможное число состояний выхода,

- возможное число внутренних состояний автомата.

- подмножество состояний входа,

- подмножество состояний выхода,

- подмножество внутренних состояний автомата.

- алфавит состояний входов (входной),

- алфавит состояний выходов (выходной),

- алфавит внутренних состояний автомата.

Таким образом, входной алфавит - это множество, содержащее подмножеств, каждое из которых содержит n элементов (по числу входов), выходной алфавит - множество, содержащее подмножеств, состоящих из m элементов (по числу выходов), алфавит внутренних состояний - множество, содержащее подмножеств, состоящих из s элементов (s - количество элементов памяти).

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

Функция переходов конечного автомата устанавливает зависимость внутреннего состояния автомата в следующий момент времени от состояния входа и внутреннего состояния в настоящий момент времени :

.

Функция выходов устанавливает зависимость состояния выхода автомата от состояния входа и внутреннего состояния автомата в тот же момент времени :

,

при этом ; ; . Здесь , , - состояние соответственно входа, выхода и внутреннее состояние автомата в момент (такт) , принимающее одно из значений указанных множеств.

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

Автоматы, для которых эти функции (или одна из них) определены не на всех парах , называют недоопределёнными. Часто удобно использовать понятие «состояние автомата», которое, в отличие от внутреннего состояния автомата, иногда называют полным.

Состояние автомата в момент времени (такте) определяется внутренним состоянием и состоянием входа автомата в этот же момент времени .

Множество состояний всегда конечно, т. к. и конечны ( , - мощности множеств и , т.е. число элементов в них).

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

Для описания алгоритма функционирования (т.е. для задания автомата) существуют различные средства или, как говорят, языки.

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

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

Формальный, или формализованный язык - это формулировка задачи на языке математики. От неформального языка пользователя (содержательной формулировки) переходят к строгой формальной записи с использованием математических категорий.

«Языки формальные (формализованные) - это множества конечных последовательностей символов, описываемые системами правил определённого вида, называемыми грамматикой или синтаксисом языка.

В том случае, когда каждому слову формального языка сопоставляется его семантика (смысл, значение, интерпретация), формальный язык называется интерпретированным».

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

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

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

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

Можно выделить четыре научных направления изучения теории языков.

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]