|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 10 Feb 2003 20:28:47 To : Zahar Kiselev Subject : Re: Правильный выбор инструмента -------------------------------------------------------------------------------- Zahar Kiselev <Zahar.Kiselev@p1.f382.n5030.z2.fidonet.org> writes: > Hello Alexandr! > > Feb 09 23:54 03, Alexandr S. Agranovsky wrote to Zahar Kiselev: > > ASA> Проще взять исходники ppp и выдрать из него реализацию finite > ASA> state machine (конечный автомат). В нем, кстати, таймауты тоже > ASA> учтены. Более того, сам протокол PPP базируется на идее КА > Я об этом уже думал. Однако интересно - этот КА был написан вручную > или для его создания все же использовались какие-то инструменты или > хотябы какие-то особые методики? Как там в PPP не знаю, но методика тут простая: В твоём случае, это шаг скорее всего можно не делать. Лишних сигналов у девайсов не бывает. 2) склейка входных весов, "шагающих" всегда вместе. 3) nfa ==> dfa 4) Минимизация dfa. Самый неочевидный кусок. Если астомат маленький, можно его или не делать, или сделать O(N^2) через к-всязности. 5) склейка входных весов, "шагающих" всегда вместе. 6) Собственно использование автомата. Всё это делается на любом скриптовом языке с ассоциативными массивами. Hу или по-крайней мере на C имеет смысл писать только последнюю часть, где у тебя математика. В случае твоего друга, скорее всего части 1-4) вообще не понадобятся. Ему IMHO нужно рисовать автомат руками в текстовом файле. Hу для "методики", можешь посмотреть Extended Finite State Transducers. Что-то было у Xerox research laboratory. Hе помню, как она там называется. Для просмотра воспользуйся graphviz. Маленькие автоматы с его помощью очень удобно смотреть. Скрипт для конвертации FSA, Moore&Mealy machine в .dot могу подарить ;) Кстати, пункт 6 реализуется на C/C++ в 300 строк в виде отсортированного списка переходов. Итого: проблема не FSM, в чём-то другом, например в COM port или в time-out или красивой отрисовке сигналов от девайса. -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5 * Origin: Science Soft (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1728353384c7b.html, оценка из 5, голосов 10
|