Лекции по теории автоматов
скачать (26.7 kb.)
Доступные файлы (1):
Лекции.doc | 104kb. | 25.05.2003 02:32 | ![]() |
содержание
- Смотрите также:
- по теории автоматов [ лекция ]
- по теории автоматов [ лекция ]
- по теории автоматов [ лекция ]
- по теории автоматов [ лекция ]
- Выхованец В.С. Теория автоматов [ документ ]
- Минский М. Вычисления и автоматы [ документ ]
- Гилл А. Введение в теорию конечных автоматов [ документ ]
- Гилл А. Введение в теорию конечных автоматов (с распознанным текстом) [ документ ]
- Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи [ документ ]
- Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи [ документ ]
- Теория автоматов [ лекция ]
- Ответы на экзаменационные билеты по теории автоматов [ шпаргалка ]
Лекции.doc
18.02.2003 №1Введение.
Теор-я ав-в(Т/А) заним-ся изучением абстрактных выч.уст-в или машин. В 30е гг ХХвека Тьюринг исследовал абстрактную машину, кот.по крацней мере в обл-ти выч-й обладала всеми возможностями совр.выч.машин. Целью исследования Тьюринга было определить границу м/у что м/т делать выч.маш-а и что не м/т. Пол-ые им рез-ты явл-ся фундаментальными и лежат в основе построения совр.прог.обеспечения и совр.комп-в.
В 40-50гг ХХ века многие ученые занимались исслед-ми простейших машин, кот-е наз-сь конечными авт-ми – эти модели первон-но были предложены как модели функционирования челов-го мозга, но вскоре они показали свою полезность и в ряде др-х областей знаний.
В к.50гг ХХвека лингвист Хомский занялся изучением формальных грамматик. Не явл-сь машинными в точном смысле этого слова, гр-ки тесно связанны с абстрактными авт-ми и служат основой для построения ПО и в частности компиляторов.
В 1969г мат-к Кук развил рез-ты Тьюринга о выч-ти и о невыч-ти. Ему удалось разбить все задачи на те кот-е м.б. эффективно решенымаш-ой и на те, кот-е впринципе м.б.решены, но для своего решения требуют так много Маш-го времени, что компил-р оказывается бесполезным для решения всех экземпляров задач, за исключением небольших. Послед-е задачи наз-ся трудно-разрешимыми или NP-трудными. Даже при экспотенциальном росте быстродействие ЭВМ весьма вероятно, что задачи этого типа м.б.решены.
Все эти соображения получены в середине прошлого века актуальны и сегодня. Напр-р, конечные ав-ты и некоторые типы формальных гр-к эфф-но исп-ся и сегодня при разработке компонентов П.О. Модель Тьюринга помогает оценить принципиальные возможности П.О. Теория слож-ти вычислений позволяет ответить на вопрос : можем ли мы решить задачу влоб, составив прог-му, или н/о искать обходные пути,. Иногда отказываться от точного решения задачи, т/о для того чтобы решить ее с заданной точностью за приемлемое время.
В силу сказанного Т.А. и теория сложности выч-й явл-ся ядром инф-ки, в частности рез-ты этих теорий исп-ся при:
1) создании ПО, используемого для создания и проверки цифровых схем
2) В лексич-х анализ-рах стандар-го компилятора, т.е.в той части коп-ра, кот.отвечает за разбивку исходного текста на такие логические единицы как идентификаторы, ключевые слова, знаки пунктуации и т.д.
3) В ПО для сканирования таких больших текстовых массивов, как наборы Webстраниц, при поиске слов, фраз и др-х последовательностей символов.
4) В ПО для проверки различного рода симс-м, таких как протоколы связи или протоколы защищенного обмена инф-ей, кот-е м/т нах-ся в конечном числе различных состояний.
^
Сущ-т мн-во разл.сис-м и компонентов, кот-е м/о рассм-ть как наход-ся в каж.момент времени в определ-ом состоянии из заданного мн-ва состояний. Назначением каж-го состояния явл-ся запоминание опред-го момента истории сис-мы. Т.к.число состояний сис-мы конечно, а история м/т длиться достаточно долго, то заполнить всю историю невозможно и => сис-у н/о стороить так, чтобы запоминать т/о действ-но важную инф-ию и забывать несущ-ную. Необх-ть иметь конечное число состояний обусловлена тем, что сис-ма долна быть реализована либо виде прог-мы, либо виде схемы.
Расс-м в качестве пр-ра простейшего нетривиального ав-та переключатель:включено-выкл-но. Это уст-во помнит свое текущее состояние и от него зависит рез-т нажатия кнопки. Из состояния вык-но при поступлении сигнала нажатие, ав-т переходит в состояние вкл-но и наоборот.


начало

нажатие


нажатие


воздействующими на сис-у(нажатие). Одно из состояний явл-ся начальным, ч что помечается входной стрелкой, в нашем сл-е это состояние выкл-но.
Часто выделяют одно или неск-ко заключительных или допускающих состояний., попав в одно из них из начального состояния, после совершения неск-ких переходов мы можем считать что в некотором смысле входная посл-ть была хорошей. Напр-р, для нашего авт-та состояние вкл-но м/о считать допускающим, т.к. попав в него вкл-ет какую-то дальнейшую сис-у и она будет работать. В дальнейшем допускающие состояния буд. Обозначать двойными кружками или прямлугольником.
Расс-м др.пр-р, кот.м.б.частью лексического анализ-ра. Пусть ав-т обнаруживает слово them.











t
h
e
m
начало
Это ав-т должен иметь 5разл.состояний,
каж-е из кот-х предс-т собой позицию
в слове them, эти позиции соответствуют
префиксам этого слова от пустой цепрочки (никакая позиция в слове еще не достигнута) до целого слова. Каж-е из 5 сост-й авт-ой модели обозначена частью слова, прочитанного на данном шаге. Входным сигналам этого ав-та соотв-ют буквы. М/о считать, что данный лексический анал-тор на каж-м шаге просматривает по одному символукомпилируемой программы. Состояние, обозначенное символом Them достигается, когда введено все это слово, т.к.задачей данного ав-та явл-ся распознование именно слова them, то последнее состояние явл-ся единственным допускающим состоянием.
Т.о., дисциплина ТА явл-ся той теорит-ой базлй, кот-я лежит в основепостроения дискретных уст-в любой слож-ти и любого назначения, а также проектирования ПО, в частности компиляторов, распознователей и т.д.
^
Понятие о языках. Синтаксический разбор.
Разв-е теории и ср-в искус.интелекта позволяет надеяться на то, что взаимод-е чел-ка и ком-ра в недалеком будущем буд/т осуществляться на языке, близком к естественному.
Но в наст.время, прог-ты в основном описывают задачи на формальных языках, на языках высокого уровня и иногда на ассемблере. Прог-мы, написанные на алгоритмических языках становятся доступными ком-ру, т/о после их трансляции, т.е.преобразования команд выс.ур/ня в машинные инструкции. Теория построения трансляторов базируется на теории формальнх языков, особенно в части синтакс. и семантического разбора. (семантика – смысл, синтаксис – грамматика).
До н.ХХвека под языком понимали т/о естес.язык и наука о языках(лингвистика) сводилась к изучению конкретных языков. Разв-е мат-ки, кот-я представляет особый мат.язык, логические и философские исслед-я языков, наблюдения за сред-ми коммуникации у животных, раз-е кибернетики сущес-но расширили представления о языках, под кот-ми в наст.время понимабт всякое ср-во общения состоящие из:
1)знаковой сис-мы,т.е.мн-ва допустимых послед-тей знаков
2)мн-во смыслов этой сис-мы
3)Соответствия м/у последлват-ми знаков и смыслами, что делает осмысленными допустимые последоват-ти знаков.
Инф-ция на ряду с материей и энергией яявл-ся первичным понятием нашего мира, и п/э-у в строгом смысле не м/т быть определена, но основные ее признаки(св-ва) м/о указать:
1)инф-ия приносит знания об окружающем мире, которых в рассмотренной точке до ее поступления не было
2)инф-ия не материальна, но проявл-ся в форме матер.носителей, именно: знаков, сигналов или в функции времени
3)инф-ия м.б.заключена как в знаках, так и в порядке их следования
4)знаки и сигналы несут инф-ию т/о для того получателя, кот.м/т их распознать. Расп-ие – это процесс отождествления знаков и сигналов с объектами и их отношениями в реальном мире.
Знаками явл-ся буквы алфавитов, мат.символы, звуки, дв-ия брачного танца у животных. Как уже отмечалось, знаковые сис-мы должны представлять собой мн-в о допустимых цепочек, напр-р, дв-ия морского сигнальщика не б/т понятны обык.чел-ку.
Наиболее изученными явл-ся знаковые сис-мы в кот-х символами явл-ся буквы алфавитов, а последоват-ми знаков – тексты. К таким знаковым сис-мам относ-ся естес.языки, языки программ-ия и язык науки. В рез-те раз-ия появилась наука – мат-ая лингвистика, кот-ая рассм-т языки как некоторые мн-ва осмысленных текстов. Правила, определяющие мн-ва текстов образ-тсиснтаксис языка, а описание мн-ва смыслов и соответствий м/у текстами и смыслами – семантику языка.
Особенности синтаксиса сравнительно мало зависят от назначений и целей языка, п/э-у синт-е св-ва легко изучать и распозновать. Наибольших успехов мат.лингвистика достигла в синтаксисе формальных грамматик, лежащих в основе языков прогр-ия, машинного перевода, искус-го интеллекта и ряде др-х областей деят-ти.
19.02.2003. №2
Расс-м пр-ры синт-го и семан-го разбора в ест-ом языке. В идеальном случае на любом языке предложение должно быть корректным, как семантически, так и синтаксически. Если в ест.языке допуск-ся некорректности в синтаксисе и м.б.понятен смысл предложения, то в формальных языках предложение в первую очередь должно быть правильным синтаксически.
Произведем синтаксич.разбор предложения
The man drives a car(чел-к управляет машиной)
the man – им.сущ-е
drives – гл-л
a car – им.сущ-е
м/о утвердить, что любое предложение с такой грамм-й структурой буд-т синтаксически корректным в англ.языке. Для описания подобных простых предложений часто испол-ся ф-ла Бэкуса-Наура(БНФ), кот.исп-ля для описания синтаксиса языков прогр-ия, она имеет форму нотаций и использует след-щие 4 символа:
::= присвоить
< - открыть
> - закрыть
| - или
Тогда рассм-ое предложение м/о представить виде:
<простое предложение>::=<подфраза сущ-го><глагол><подфраза сущ-го>;
<подфраза сущ-го>::=<артикль><имя сущ-ое>;
<имя сущ-ое>::= man,
<имя сущ-ое>::=car,
<артикль>::=the,
<артикль>::=a,
<глагол>::=drives
Связи, задаваемые ф-лой Б-Н м.б.представлены и графически в виде дерева-вывода:
простое предложение



подфраза сущ. подфраза гл-ла подфраза сущ.





артикль им.сущ. артикль им.сущ.
The man drives a car
м/о построить мн-во простых предложений, удовлетворяющих дан.структуре и синтаксически правильных, но не все они буд.им.смысл.( The car drives a man). Взависимости от синтаксического разбора одного итого же предложения м/о получить совершенно разные смыслы.
Рассм-м сл-ее предложение:
They are flying planes
they - местоимение
are – гл-л
flying planes – подфраза сущ-го, вкл-щая в себя причас-е flying и сущ-ое planes
При иаком грамм-м разборе смысл этого предложения: они есть летящие самолеты. Произведем др-й синт.разбор этого же предложения.
They – местоимение
are flying – сложная глагольная форма
planes – сущ-е.
Они управляют полетом самолетов(люди).
Т.О. в зависимости от СП-ба грамм-го разбора измен-ся смысл предложения. Этот пр-р показывает то, важное для формальных языков обстоят-во, что грам-й разбор исходного текста прогр-мы – важнейший этап ее компиляции.
^
Понятие форм-й сис-мы основано на понятии подстановки(редукции) на заданном мн-ве М объектов (символов, послед-тей сим-в, терминов).
//пр-р. это отн-ние рефлексивно, транзитивно и антисимметрично
= это отн-е эквивалентности, рефлексивно, транзитивно, симметрично.
Буд.рассм-ть т/о однородные бинарные отн-я R на мн-ве М, это мн-во пар (х,у) элементов хМ, уМ, кот-е нах-ся м/у собой в отн-нии R и явл-ся подмн-вом мн-ва ММ. Вместо бинарного отн-ия R на М м/о говорить об ориентированном графе (М,R), причем элементы М – это вершины графа, а пары из R это дуги графа. Любым 2м вершинам х и у из М соответствует не более1й стрелки (х,у), кот-я их связывает. Кроме того любой вершине х из М и дуге рR соотв-ет не более 1й вершины у, ведущей из вер-ны х, дуга в этом сл-е р=(х,у). Для конечных мн-в М отн-е R м.б.задано не т/о графически, но и в виде матриц, такие мат-цы наз-ся м-ми инцеденций.

























a b c d a b c d a b c d




Замыкание
Рефлексивным замыкакнием (Rr) отн-ния R над мн-вом М н-ся пересечение всех рефлексивных отн-ний над М, содержащих R.
//пр-р R = {(0,1),(1,1),(1,2)}, M ={0,1,2}, тогда рефл-м замыканием явл-ся мн-во
Rr = {(0,0),(0,1),(1,1),(1,2),(2,2),(0,2)}
Транзитивным зам-ем (R+), бинарного отнош-ия R над мн-м М н-ся перечение всех транзитивный отн-й над М, содер-х R.
R+ = {(0,1),(0,2),(1,1),(1,2)}для нашего сл-я
Симметричное замыкание (Rs), Rs= R RT, где RT- обращение бинарного отношения R.
// для графического отображения – это просто перемена направления стрелок. Для нашего случая:
Rs = { (0,1), (1,0),(1,1),(1,2),(2,1)}
Транзитивно-рефлексивное зам-е (R*) бинарного отн-ния R над М – это пересечение всех транзитивных и рефлексивных отн-й над М, кот-е содержат R
Симметрично-транзитивно-рефлексивное зам-е (R□) это пересечение всех сим-х, транзитивных и рефлективных отн-й над М, кот-е содержат R.
Под конечным путем длины i (i≠0) от вершины х к вершине у в графе (М,→) понимают последовательность стрелок х=х0→х1, х1→х2,…,хi-1→xi=y, здесь вершина х0 – начало пути, вершина х – конец пути хi есть вершина у. Видно, что (х,у)Ri означает то, что в графе (М,R) сущ-т путь длины i от х к у. если последовательность стрелок бесконечна, то путь наз-т бесконечным. Отн-ние, а также ориентированный граф (М,→) наз-т НЕТЕРОВЫМ, если ни для какого х из М не сущ-т бесконечных путей исходящих из х. В нетеровом графе не м.б.циклов, т.е.путей длиной больше 1цы из некоторой вершины в нее же. Всякий путь в нетеровом графе явл-ся цепью, т.к.мн-во { х0,х1,…, xi} упорядочено отношением → и хμ≠хη, μ≠η. Ориентированный граф тривиальным образом явл-ся нетеровым, если все пути в нем имеют ограниченную длину.
Редукция
Если сущ-т конечный путь из вер-ны х в вер-у у, что принято обозначать х→*у, то говорят что х редуцируется к у. Элемент х из М наз-ся редуцируемым отн-но отношения (М,→), если сущ-т элемент у, т.ч.выполняется соотношение х→*у. Путь длины i (i≠0) из х в у в графе (М,→) наз-ся тупиковым, если элемент у нередуцируемый. В нетеровом графе для каж-го х из М сущ-т покарайней мере 1н неруд-й элемент у, тогда алгоритм редукции на нетеровых отношениях м.б.описан сл.образом.
«Начиная с некоторого элемента х совершайте переходы по стрелкам до тех пор, пока это возможно и остановитесь, когда встретится нередуцир-й элем-т». Перечисление промежуточных узлов редукции в порядке их появления представляет собой путь редукции.
Строки
Строка – это конечная последовательность символов а1, а2,…,аn, каж-й из кот-х принадлежит некоторому конечному алф-ту Σ, при этом символы в стороке могут повторяться.
Если строка содержит m символов, то говорят что она имеет длину m. Пустой строкой наз-т строку длины ноль, т.е.без единого символа и ее наз-т ε-строкой.(не путать с пробелом). |x|=m-длина строки.
Пусть Σ-некот-й алф-т, обозначим Σ* мн-во опред-х над этим алф-м строк. Для Σ={0,1}; Σ*= {ε,0,1,01,11,10,101,…} видно, что н-во Σ* - предс-т собой бесконечное счетное мн-во элем-в, ε-строка всегда Σ*
Пусть сущ-т строка х Σ* и |x|=m
Пусть сущ-т строка y Σ* и |y|=n, тогда объединение строк ху им.длину |xy|=m+n – конкатенация.
Если х= а1, а2,…,аm; у= b1, b2,…,bn то |xy|= а1а2…аmb1b2...bn
Операция объединения строк – это ассциот-я операция, но не коммутативная. Для пустой строки справедливо εх=хε для люб.строки х.
Если некоторая срока z м.б.представлена как объединение строк х и у: z=ху, то строку х наз-т префиксом строки z, а строку у-суффиксом.
//z=00111
префиксы: ε,0,00,001,0011,00111
суффиксы: ε,1,11,111,0111,00111
если строка z т.ч.ее м/о представить как объединение 3х строк z=xwy, то строка w н-ся подстрокой строки z.
Формальным языком L над алф-ом Σ н-ся произвольное подмн-во мн-ва Σ*.
25.02.2003 №3
если L1 и L2 это 2а формальных языка, то их объединение есть нов.форм.язык, т.ч.L= L1L2{xy| хL1,уL2 }
// L1={0,01} и L2={ε,0,10}
L= L1L2={0,01,00,010,010,0110}
Как и в сл-е объединения строк, операция объединения формальных языков ассициативна, но не коммутотивна. Еоммутотивность сохраняется только в случае объединения произв-го языка L с пустой строкой ε.
Объединение форм.языка L с самим собой: L2=L*L. В общем сл-е: L0= ε, L1=L, L2=L*L.
^ форм.языка L н-ся



^
Синтаксис языков программирования обычно описывают виде синтак-х диаграмм или форм Бекуса-наура. Рас-м принцип построения диаграмм на пр-ре понятия множитель.
л

<множитель>::=<беззн.конст.>
|<перемен-я>
|<идентиф-р ф-ии>
^
Нетерм.сим-лы – пропис.буквы, термин. – строчные. Всякое дерево вывода начинается с корня S в соответствии с правилами вывода происходит дв-е по ветвям строющегося дерева до тех пор, пока все нетерм-е символы не буд.раскрыты ч/з терм-е. Мн-во терм-х симв-в образуют висящие вершины, если их прочесть слева направо, то получится строка.
Контексная гр-ка(К/Г) – это совокуп-ть 4х объектов: G=(N,T,P,S), где N-конеч.мн-во нетерм.симв-в, T-кон.мн-во терм.симв, P-кон.мн-во продук-й вида α→β, где α(NUT)+-без пустой строки, β(NUT)*т.е.м/о получить и пуст.строку, S-начальный символ.
Если строка α(NUT)* за 1н или неск-ко шагов выводится из начального сим-ла S, то такую строку наз-т сентенциальной формой К/Г-ки G.
Сентенцией гр-ки G наз-т произ-ю сентенциальную форму, составл-ю из симв-в мн-ва Т*, т.е.произ.строку терм.сим-в, кот-я м.б.получена из нач-го сим-ла S. Тогда мн-во всех сентенций гр-ки G наз-т языком, пораждаемым гр-кой G и обоз-т L(G).
L(G)={x Т* |S

Скачать файл (26.7 kb.)