Форум программистов, компьютерный форум, киберфорум
Наши страницы
Теория и практика программирования
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
ant-osh
0 / 0 / 1
Регистрация: 27.09.2006
Сообщений: 18
1

Автоматное программирование

15.10.2006, 13:51. Просмотров 3191. Ответов 1
Метки нет (Все метки)

Уже не первый год в книгах описывают технику, называемую, например, "автоматным программированием". Суть в том, что различные процедуры программы представляются в виде "состояний", а правила их вызова -- в виде "переходов между состояниями" конечного автомата.

Типичный пример использования -- например, при создании стратегии жизни игрового персонажа, пусть будет муравья. Муравей либо отдыхает, либо атакует врага, либо ищет пищу.
Каждая из этих моделей поведения представляется отдельной процедурой, а вызов процедур определяется "автоматом" примерно такого вида:

режим = ОТДЫХАТЬ;
switch(режим)
{
case ОТДЫХАТЬ: fun_REST(); break;
case ИСКАТЬ: fun_SEARCH(); break;
case АТАКОВАТЬ: fun_ATTACK(); break;

// а здесь идёт логика переключений
if(враг рядом) режим = АТАКОВАТЬ;
if(голодный) режим = ИСКАТЬ;
в противном случае режим = ОТДЫХАТЬ;
};

Эта, наверняка многим известная методика описана в куче книг и представляется почти что народной. Однако судя по статье (равно как и по куче других ссылок в инете) данный подход был изобретён лишь в 1991 году (!), к тому же в России.

Если честно, отказываюсь в это верить. Безусловно, перечисленные в статьи люди сделали очень много для развития этого подхода; им принадлежит творческое его развитие и авторская реализация разных систем программирования, но всё-таки... это же классика.

А теперь внимание, вопрос. Может ли кто-нибудь указать на (1) более раннее описание сходной техники; (2) определить название того, как это называется ("автоматное программирование"?) и когда этот термин появился (со ссылками, разумеется); (3) привести примеры использования данного подхода (не моделирования обычных конечных автоматов -- это любой движок регулярных выражений делает) в сравнительно старых проектах?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2006, 13:51
Ответы с готовыми решениями:

Сетевое программирование
Добрый день! Помогите пожалуйста! Пишу диплом "ИС для инкассации филиала...

PDF и программирование
Как получить текст из PDF-файла? Можно ли как-то перевести PDF-файл в...

Программирование в Оутлуке
Есть маленькая задачка для Outlook с организацией входящей почты, которую...

Программирование в спорте
Мне нужно сделать реферат на тему "реализации программирования в спорте" , но...

Программирование микроконтроллеров
где почитать?

1
voodooz
0 / 0 / 0
Регистрация: 18.10.2006
Сообщений: 17
21.10.2006, 17:31 2
Теория автоматов появилась достаточно давно. Еще вроде б Тьюринг чем-то подобным занимался...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2006, 17:31

Программирование на Scheme
Мой сын в школе на уроках компьютера изучает программирование на языке Scheme....

Правильное программирование
Всем привет. С кодингом познакомился в институте, там этому уделяли мало...

Программирование. Массивы
Добрый вечер,возникла проблема с программой, как правильно ее составить? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru