BigEdu.ru

Лисп-реализация конечных автоматов

Содержание

Введение

1. Постановка задачи

2. Математические и алгоритмические основы решения задачи

2.1 Понятие конечного автомата

2.2 Способы описания

2.3 Детерминированность

2.4 Автоматы и регулярные языки

3. Функциональные модели и блок-схемы решения задачи

4. Программная реализация решения задачи

5. Пример выполнения программы

Заключение

Список использованных источников и литературы


Введение

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

Современные автоматы не просто продают какой-то один вид товара. В них сделаны специальные окошечки, в которых высвечивается опущенная в прорезь автомата сумма. Указываемая в окошке сумма соответствует состоянию, набор монет соответствует входному символу, а выдаваемый автоматом товар вместе со сдачей – выходному символу. Если даже бросить монеты в автомат наугад, но сумма превысит определенную величину, товар будет выдан вместе со сдачей. Брошенная в автомат сумма должна иметь верхний предел, то есть не может быть неограниченно большой. Таким образом, число состояний, число входных символов (число комбинаций монет) и число выходных символов (число выдаваемых разновидностей товара вместе со сдачей) конечны.

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

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

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

Целью данной курсовой работы является ЛИСП-реализация конечных автоматов.

1. Постановка задачи

Конечный автомат – автомат, проверяющий допустимость слова на ленте, и возвращающий True / False (в данном случае Correct / Incorrect).

Конечный автомат может двигаться по ленте только в одном направлении.

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

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

Возвращаемое значение – ответ на вопрос, допустимо ли данное слово данным конечным автоматом.

Пример 1.

Таблица 1 – Таблица переходов

char a b c c -
cur qb qb q1 q2 -
q1 q1 q2 qe qe q0

qb – начальное состояние автомата;

qe – множество заключительных состояний;

a, b, c – входной алфавит, из которого формируются строки, считываемые автоматом;

cc – строка, считываемая автоматом.

Проверим допустимо ли слово на ленте для данного автомата.

Согласно таблице переходов получаем:

с qb®q0

с q0®q0.

Так как q0 не соответствует множеству заключительных состояний, следовательно данное слово cc не допустимо.


Пример 2.

Таблица 2 – Таблица переходов

char a b c a b с
cur qb qb qb q1 q2 q3
state q1 q2 q3 q1 q2 q3

q1 – начальное состояние автомата;

q1, q2, q3 – множество заключительных состояний;

a, b, c – входной алфавит, из которого формируются строки, считываемые автоматом;

aaaaaa – строка, считываемая автоматом.

Проверим допустимо ли слово на ленте для данного автомата.

Согласно таблице переходов получа

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию Содержание Введение 1. Постановка задачи 2. Математические и алгоритмические основы решения задачи 2.1 Понятие конечного автомата 2.2 Способы
Оценок: 1001 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru