`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Андрей Зубинский

Просто и не без вкуса

+1212
голосов

Конечный автомат - абстракция очень полезная и удобная. Особенно в программировании.

Но есть одна беда - возиться на бумаге с моделями конечных автоматов неудобно, а программы для работы с ними или ориентированы на учёных и потому очень сложны (порой настолько, что затраты на изучение инструментария становятся просто несоизмеримыми с возможными дивидендами от его использования), или примитивно-иллюстративны.

Поэтому программка VAS (Visual Autoamata Simulator) показалась мне очень привлекательной. Она кросс-платформенная (Java), бесплатная, с открытыми исходными текстами, но это всё - мелочи.

Главное в VAS - не то, что программка является очень удобным  заменителем листа бумаги, позволяющим рисовать граф переходов автомата с помощью минимума операций (двойной клик левой кнопкой мыши в окне редактора диаграмм помещает символ нового состояния - кружочек, пока нажаты Shift+левая, можно рисовать ветвь графа, правая кнопка активирует контекстно связанные с любым объектом дополнительные операции) и экспортировать кратинку в векторный eps.

Главное, - что VAS позволяет заставить нарисованные автоматы работать. Если вы задали алфавит и конечный автомат, - можете предъявлять ему строки и проверять реакцию автомата на них. А можете, по желанию, проводить пошаговую отладку (инициируется Ctrl-D, новый шаг - Ctrl-F), отлично отображаемую подсветкой элементов диаграмм.

Кроме того, VAS позволяет автоматически преобразовывать недетерминированные конечные автоматы в детерминированные.

А еще VAS умеет имитировать машину Тьюринга (эта возможность, конечно, больше нужна студентам).

Симпатичная штука - еле видные желтые "прицельные линии", возникающие при перемещении объектов диаграммы и позволяющие добиваться симметрии (для того, чтобы диаграмма легче читалась) не "на глаз", а с большей точностью.

В общем, - весьма небесполезная вещь, особенно для документирования и отладки на уровне логики работы всяких нетривиальных (и, напротив, - тривиальных) фрагментов кода. Например, - распознавания классов битовых строк или строк символов.

Просто и не без вкуса

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+1212
голосов

Напечатать Отправить другу

Читайте также

Дуже дякую. Знадобиться.

Действительно, интересная штука. И правильно вы заметили насчет FSA...

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT