Теория автоматов – один из разделов дискретной математики – представляют собой теорию математического моделирования дискретных систем. Традиционно автомат рассматривают как преобразователь дискретной информации в дискретные моменты времени.
Значение теории автоматов заключается в том, что ее применение не ограничивается какой-либо частной областью. Она может быть применена для моделирования любой системы, имеющей множество входных воздействий и выходных реакций и функционирующей в отдельные моменты времени. С помощью модели автомата может быть описаны совершенно разные системы: алгоритм, техническое устройство, живой организм, язык, игра, предприятие и т.п.
На практике теория автоматов активно используются в следующих областях:
- Разработка ПО, используемого для создания и проверки цифровых схем.
- Разработка лексических анализаторов. (Лексический анализатор – это часть компилятора, основная функция которой выделение из исходного текста программы отдельных лексем - идентификаторов, ключевых слов, знаков пунктуации и т.д.)
- Разработка ПО для сканирования больших текстовых массивов, в т.ч. Web-страниц, при поиске слов, фраз и других последовательностей символов.
- Спецификация и верификация взаимодействующих процессов, в частности протоколов связи, протоколов защищенного обмена информацией, которые могут находиться в конечном числе различных состояний.
- Автоматное программирование.