- •Введение
- •Свойство замкнутости регулярных языков
- •Замкнутость относительно булевых операций
- •Замкнутость относительно объединения
- •Замкнутость относительно регулярных операций
- •Замкнутость относительно дополнения
- •Замкнутость относительно пересечения
- •Замкнутость относительно разности
- •Обращение
- •Гомоморфизмы
- •Обратный гомоморфизм
- •Свойства разрешимости регулярных языков
- •Преобразования различных представлений языков
- •Преобразование нка в дка
- •Преобразование дка в нка
- •Преобразование автомата в регулярное выражение
- •Преобразование регулярного выражения в автомат
- •Проверка пустоты регулярных языков
- •Проверка принадлежности регулярному языку
- •Заключение
- •Список литературы
Содержание
Введение 2
Свойства разрешимости регулярных языков 12
Преобразования различных представлений языков 12
Проверка пустоты регулярных языков 15
Проверка принадлежности регулярному языку 16
Заключение 18
Список литературы 19
Введение
Формальные языки очень важны в современном мире. В прежние времена под языками подразумевалось исключительно средство общения между людьми, то есть имелись в виду только естественные языки – русский, немецкий, английский и др. В начале ХХ века — это представление претерпело серьёзные изменения и в настоящее время под языком понимается всякое средство общения, состоящее из знаковой системы, множества смыслов этой системы и имеющее установленное соответствие между последовательностями знаков и смыслами. С развитием науки и техники появились формальные языки и сегодня их используют специалисты в различной профессиональной деятельности. Формальными языками являются системы математических, химических символов, азбука Морзе, нотная грамота и множество других. Формальные языки используют не только специалисты в каких-то профессиях. Например, повсеместно используемая десятичная система счисления или шрифт Брайля также являются формальными языками. С точки зрения информатики важную роль играют такие формальные языки как язык алгебры логики и языки программирования.
Отличительная особенность формальных языков от естественных заключается в том, что правила формальных языков задаются в явной форме, а смысл и значение знаков не меняется в зависимости от каких-либо прагматических обстоятельств, например, от контекста. Коротко говоря, формальный язык - это строгая математическая модель реального языка, где под реальным языком понимается некий способ коммуникации (общения) субъектов друг с другом. Для общения субъекты используют конечный набор знаков (символов), которые проговариваются (выписываются) в строгом временном порядке, то есть образуют линейные последовательности. Такие последовательности обычно называют словами или предложениями.
Среди формальных языков важное место занимает класс регулярных языков. Это самый простой тип языков и, благодаря этому, самый широко используемый в области вычислительных систем.
Распознавателем для регулярных языков являются односторонние недетерминированные автоматы без внешней памяти – конечные автоматы. Время на разбор предложений регулярного языка линейно зависит от длины входной цепочки символов. Кроме того, любой недетерминированный конечный автомат можно преобразовать в детерминированный, что существенно упрощает разработку программного обеспечения, обеспечивающего функционирование распознавателя. Благодаря высокой скорости работы и простоте распознавателя регулярные языки получили широкую область применения. Регулярные языки используются при описании простейших конструкций языков программирования: идентификаторов, констант, строк, комментариев и т. д. Кроме того, они лежат в основе многих мнемокодов машинных команд (языки ассемблеров), на них строятся командные процессоры, символьные управляющие команды и другие подобные структуры. В компиляторах распознаватели на основе регулярных языков используются для лексического анализа входного языка – выделения в нём простейших лексем. Для регулярных языков существует множество математически обоснованных методов и алгоритмов.
Актуальность исследования: Знакомство студентов с формальными языками зачастую начинается именно с регулярных языков, поэтому понимание описанных в данной работе преобразований чрезвычайно важно для дальнейшего обучения.
Цель исследования - изучить основные свойства регулярных языков.
Предметом исследования является свойства регулярных языков.
Объектом исследования являются регулярные языки.
