Лекция 4 Конечные автоматы Конечные автоматы Конечный автомат является простейшей моделью вычислительного устройства. Теория конечных автоматов изучает очень простые модели и является фундаментом большого числа разнообразных приложений. Эти приложения — от языковых процессоров до систем управления реального времени и протоколов связи. Автоматное преобразование информации Не все окружающие нас преобразователи информации выполняют функциональное отображение информации. Результат преобразования вход => выход зачастую зависит не только от того, какая информация в данный момент появилась на входе, но и от того, что происходило раньше, от предыстории преобразования. (Внутренним) состоянием автомата назовем класс эквивалентности его входных историй. В своих состояниях автомат запоминает свое «концентрированное прошлое» Автоматный преобразователь и его реализация Блок памяти автомата хранит информацию о текущем состоянии S, которое вместе с входным сигналом X определяет выходную реакцию автомата У и следующее состояние. Пример поведения родителя, отправившего сына в школу Задавать автомат удобно графом, в котором вершины соответствуют состояниям, а ребро из состояния s в состояние q, помеченное х/у, проводится тогда, когда автомат из состояния s под воздействием входного сигнала х переходит в состояние q с выходной реакцией у. Граф автомата, моделирующего умное поведение родителя Этот автомат имеет четыре состояния {s0, s1, s2, s3} и два входных сигнала — оценки, полученные сыном в школе: {2,5}. Начиная с начального состояния s0 (оно помечено входной стрелкой), автомат под воздействием входных сигналов переходит из одного состояния в другое и выдает выходные сигналы — реакции на входы. Выходы автомата {у0,..., у5} • • • • • • у0: — брать ремень; У1: — ругать сына; у2: — успокаивать сына; уЗ: — надеяться; у4: — радоваться; у5: — ликовать Эта история в концентрированном виде определена текущим состоянием, и все будущее поведение автомата, как реакция его на последующие входные сигналы, определено именно текущим состоянием, но не тем, как автомат пришел в него. • • • • • • • Конечным автоматом Мили называется шестерка объектов: А - <S, X, Y, s0,,,>, где: S — конечное непустое множество (состояний); X — конечное непустое множество входных сигналов (входной алфавит); Y — конечное непустое множество выходных сигналов (выходной алфавит); s0 e S — начальное состояние; : SxX -> S — функция переходов; : SxX —> Y — функция выходов. Таблица 1, определяет функцию переходов так: (s0, 2) = s1; (s2, 5) = s0..., а табл. 2, определяет функцию выходов Я: (s0, 2) = у2; (s2,5) = у3; Таблица 1 2 5 s0 s1 s3 S1 s2 s0 s2 s2 s0 s3 s1 s3 Таблица 2 2 5 s0 У2 y4 s1 У1 уЗ s2 y0 уз S3 У2 у5