О МОДЕЛИРОВАНИИ КОНЕЧНОГО АВТОМАТА НА ЯЗЫКЕ ПРОЛОГ
Аннотация и ключевые слова
Аннотация (русский):
Написана программа на языке Пролог, моделирующая работу конечного автомата с магазинной памятью в пакете SWIpl

Ключевые слова:
конечный автомат, программа, Пролог
Текст
Текст (PDF): Читать Скачать

Написана программа на языке Пролог, моделирующая работу конечного автомата с магазинной памятью в пакете SWIpl. Программа состоит из двух частей. В первой части описано строение конкретно конечного автомата, во второй части описана работа этого автомата. В этой программе конечный автомат допускает слова по пустому магазину [1]. Программа протестирована на трех различных автоматах. Для каждого автомата было задано десять запросов, на половину запросов программа должна была дать ответ «да», а на вторую половину – «нет». На все запросы были получены правильные ответы. В постановку задачи можно внести изменения, например, потребовать, чтобы автомат допускал слова по заключительным состояниям [1], или убрать слова «с магазинной памятью», или делать какие-либо более сложные запросы.

В курсе «Проектирование и разработка интеллектуальных систем» подобные задачи предлагались магистрам в качестве курсовых работ.

В качестве примера приведена пара запросов к программе и ее ответы:

?- dop(q0,[1,0,0,1,1,1],[z0],50).

true.

?-dop(q0,[1,0,0,1,1,1,1,1],[z0],50).

false.

?-dop(q0,[1,0,0,1,1,1,1,1],[z0],500).

false.
Ниже приведено несколько строк из первой части программы:

per(q1,0,0,q0,[0,0]).

eper(q2,z0,q4,[]).

Eper – это команда для моделирование e-перехода автомата [1], per – это команда для моделирование перехода автомата.

Список литературы

1. Д. Хопкрофт, Р. Мотвани, Дж. Ульман. Введение в теорию автоматов, языков и вычислений, Москва, 2002.

Войти или Создать
* Забыли пароль?