Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602), страница 37
Текст из файла (страница 37)
TQ- конечноедопустимыхвходных- конечноемножествомножествосостояний;Детерминированныйконечныйавтомат(ДКА)символов;- это пятерка M=(Q,T,D,q0,F), где3.2. DT -- функцияпереходов,отображающаямножестваQxTв множество Q иконечноемножестводопустимыхвходныхДетерминированный конечный автомат (ДКА) символов;- это пятерка M=(Q,T,D,q0,F), гдеповедениеуправляющегоустройства;1.3.Qопределяющаяконечноемножествосостояний;D - функция переходов, отображающая множества QxTв множество Q и4.
Tqопределяющая<-Q - начальноесостояниеуправляющегоустройства;2.допустимыхвходныхсимволов;поведениеуправляющегоустройства;1. Q0- -конечноеконечноемножествомножествосостояний;5.F<=Qмножествозаключительныхсостояний.3.2.функцияпереходов,отображающаямножестваQxTв множество Q и4.DTq-0-<-Q- начальноесостояниеуправляющегоустройства;конечноемножестводопустимыхвходныхсимволов;определяющаяповедениеуправляющегоустройства;5.
DF<=Q- множествозаключительныхсостояний.3.- функцияпереходов,отображающаямножества QxTв множество Q и 4. qопределяющаясостояние управляющегоустройства;0<-Q - начальноеповедениеуправляющегоустройства;Работа конечного автомата представляет собойнекоторую последовательность5.4. F<=Qзаключительныхсостояний.q0<-Q-или-множествоначальноесостояниеуправляющегоустройства;шагов,тактов. автоматаТактопределяетсятекущимсостояниемуправляющегоустройства иРаботаконечногопредставляетсобойнекоторуюпоследовательность5. F<=Q - множество заключительных состояний.входнымсимволом,в данныймоментвходной головкой.Сам шагустройствасостоит ишагов, илитактов.обозреваемымТакт определяетсятекущимсостояниемуправляющегоРаботаконечногоавтоматапредставляетсобойна некоторуюиз изменениясостоянияи сдвигавходной головкиодну ячейкупоследовательностьвправо.входным символом, обозреваемым в данный момент входной головкой. Сам шаг состоит шагов,илитактов.
автоматаТакт определяетсятекущимсостояниемуправляющегоустройства иРаботаконечногопредставляетсобойнекоторуюпоследовательностьиз изменениясостояния и сдвигавходной головкинаодну ячейкувправо.входнымсимволом,в данныймоментвходной управляющегоголовкой. Сам шагсостоитишагов, илитактов. обозреваемымТакт определяетсятекущимсостояниемустройстваизизменениясостоянияи сдвига входнойголовкина однуячейкувправо. Сам шаг состоитвходнымсимволом,обозреваемымв данныймоментвходнойголовкой.из изменения состояния и сдвига входной головки на одну ячейку вправо.+-----------++-----------++-----------++-----------++-----------+| СостояниеСостояние ||||Состояние||| Состояние+-----------+| Состояние |+-----------++-----------++-----------++-----------+|+-----------+Состояние |||||+-----------+|vvvv|v+---------------------------------------++---------------------------------------++---------------------------------------++---------------------------------------+v+---------------------------------------+|| a | ..........................................
||||||||| aaa ||| ..............+---------------------------------------+|| a | .............. |+---------------------------------------++---------------------------------------+|+---------------------------------------+| a | .............. |+---------------------------------------+ПрочитаннаяТекущийНепрочитаннаяПрочитаннаяТекущийНепрочитаннаяПрочитаннаяТекущийНепрочитанная+---------------------------------------+ПрочитаннаяТекущийНепрочитаннаячасть входнойвходнойвходнойчасть входнойвходнойчастьвходнойчастьчастьвходнойвходнойчастьвходнойПрочитаннаяТекущийНепрочитаннаячасть входнойвходнойчасть входнойвходной цепочкицепочкисимволцепочкивходнойсимволцепочкивходнойцепочки входнойсимволцепочкичастьвходнойчастьвходнойвходнойцепочкисимволцепочкивходной цепочкисимволцепочки Текущеесостояниесостояниеуправляющегоуправляющегоустройства,устройства,символсимволподподголовкойголовкойцепочкасимволовсимволовсостояниеуправляющегоустройства,символподголовкойцепочкасимволовТекущееииицепочкацепочкаТекущеесостояниеуправляющегоустройства,символподголовкойисимволоввправоототголовкиголовкиназываютсяназываютсяконфигурациейконфигурациейавтомата.автомата.КонфигурацияКонфигурация(q0,w)(q0,w)называетсяназываетсяголовкиназываютсяконфигурациейавтомата.Конфигурация(q0,w)называетсявправовправоотголовкиназываютсяконфигурациейавтомата.Конфигурация(q0,w)называетсяпарауправляющего(q,e),гдегдеq<-F,q<-F,устройства,называетсязаключительнойзаключительной(илидопускающей).допускающей).Текущеесостояниесимволпод головкойидопускающей).цепочка символовначальной,пара(q,e),гдеq<-F,называетсязаключительной(илиначальной,ааа пара(q,e),называется(илиначальной,пара(q,e),гдеq<-F,называетсязаключительной(илидопускающей).вправо от головки называются конфигурацией автомата.
Конфигурация (q0,w) называется наТакт автоматаавтомата MM представляетсяпредставляется бинарнымбинарнымотношениемотношением|-,|-,определеннымопределеннымнапредставляетсябинарнымотношением|-,определеннымнаТактначальной,а пара(q,e),где q<-F, называетсязаключительной(илидопускающей).ТактавтоматаMпредставляетсябинарнымотношением|-,определеннымнаконфигурациях:отношениеконфигурации(q1,w1)(q1,w1)вввотношение имеетимеет место,место, еслиеслиестьестьпереходпереходизизконфигурацииконфигурациях:отношениеимеетместо,еслиестьпереходизконфигурации(q1,w1)конфигурациях:конфигурациях:отношениеимеетместо,еслиестьпереходизконфигурации(q1,w1)вконфигурациютранзитивное(q2,w2).Отношениябинарным|-+ иии|-*|-*---это,это,соответственно,соответственно,конфигурацию(q2,w2).Отношения|-+|-*это,соответственно,транзитивноеТактавтомата Mпредставляетсяотношением|-, определеннымна иииконфигурацию(q2,w2).Отношения|-+транзитивноеконфигурацию (q2,w2).
Отношения |-+ и |-* - это, соответственно, транзитивноеиавтоматMдопускаетрефлексивно-транзитивноезамыканиеотношения|-.Говорят,чтоавтоматMM допускаетдопускаетрефлексивно-транзитивноезамыканиеотношения|-.Говорят,Говорят,чтоавтоматконфигурациях:отношение имеетместо,отношенияесли есть|-.переходизчтоконфигурации(q1,w1)врефлексивно-транзитивноезамыканиерефлексивно-транзитивноезамыканиеотношения|-.Говорят,чтоавтоматMдопускаетеслидопускаемымцепочку w,w, еслиесли(q0,w)|-*(q,e)длянекоторогоq<-F.Языком,допускаемым(q0,w)|-*(q,e)длянекоторогоq<-F.Языком, допускаемымконфигурацию(q2,w2).Отношения|-+некоторогои |-* - это,q<-F.соответственно,транзитивное ицепочку(q0,w)|-*(q,e)дляЯзыком,цепочкуw,если(q0,w)|-*(q,e)длянекоторогоq<-F.Языком,допускаемым(распознаваемым,определяемым)определяемым)автоматомM,|-.(обозначаетсяL(M)),называетсяназывается(распознаваемым,определяемым)автоматомM,(обозначаетсяL(M)),называетсярефлексивно-транзитивноезамыканиеотношенияГоворят, чтоL(M)),автоматM допускает(распознаваемым,автоматомM,(обозначается(распознаваемым,определяемым)автоматомM,(обозначаетсяL(M)),называетсявходныхцепочек,допускаемыхавтоматомM.Т.е.множествовходныхцепочек,допускаемыхавтоматомM.Т.е.цепочкуw, если (q0,w)|-*(q,e)для некоторогоq<-F.
M.Языком,допускаемыммножествоцепочек, допускаемыхдопускаемыхавтоматомТ.е. множество входныхвходных цепочек,автоматомM. Т.е.(распознаваемым, определяемым) автоматом M, (обозначается L(M)), называетсяw<-T*иии(q0,w)|-*(q,e)L(M)={w | w<-T*(q0,w)|-*(q,e)длянекоторогоq<-F}(q0,w)|-*(q,e)длядлянекоторогонекоторогоq<-F}q<-F}L(M)={wмножествовходныхцепочек, допускаемыхавтоматомL(M)={w || w<-T*w<-T*и (q0,w)|-*(q,e)для некоторогоq<-F} M.
Т.е.детерминированного конечногоконечногоавтоматаавтоматапопорегулярномурегулярномуПостроениедетерминированногодетерминированногоПостроениеконечногоавтомата попо регулярномурегулярномуL(M)={w| w<-T*детерминированногои (q0,w)|-*(q,e) для некоторогоq<-F}автоматаПостроениеконечноговыражению.выражению.выражению.выражению.К регулярномувыражениюРВ)маркерконца:(r)#.Послерегулярномувыражению (сокращенно(сокращенноРВ)rrrдобавимдобавиммаркерконца:(r)#.Послерегулярномувыражению(сокращенноРВ)добавиммаркерконца:(r)#.ПослеПослеПостроениедетерминированногоконечногоавтоматапорегулярномуКККрегулярномувыражению(сокращенноРВ)r добавимдобавиммаркерконца:(r)#.регулярномувыражению(сокращенноРВ)rмаркерконца:(r)#.ПослепостроенияДКАРВ:всеДКА длядля расширенногорасширенного РВРВлегколегко построитьпостроитьДКАДКА длядляисходногоисходногоРВ:всевыражению.построенияДКАДКАдлярасширенногоРВлегкопостроитьДКАдляисходногоРВ:РВ:всевсепостроениядлярасширенногоРВлегкопостроитьДКАдляисходногопостроенияДКАдлярасширенногоРВлегкопостроитьДКАдляисходногоРВ:всесостоянияДКАизкоторыхестьпереходвконечноесчтениемсимвола"#",можноДКАизкоторыхестьпереходвконечноесчтениемсимвола"#",можноКсостояниярегулярномуr добавиммаркерконца:(r)#."#",ПослесостоянияДКАвыражениюиз которых(сокращенноесть переходпереходРВ)вконечноеконечноечтениемсимвола"#",можноможноДКАестьс счтениемчтениемсимволасостоянияДКА изиз которыхкоторыхестьпереходвв конечноеспереходысимвола"#", можносчитатьконечными,асимвол"#"исоответствующиеудалить.конечными,асимвол"#"исоответствующиепереходыудалить.построенияДКА для расширенногоРВлегко построитьДКА дляисходного РВ: всесчитать конечными,асимволсимвол"#""#" исоответствующиесоответствующиепереходыудалить.считатьпереходыудалить.считать конечными,конечными, аа символ"#" ии соответствующиепереходыудалить.
состояния ДКА из которых есть переход в конечное с чтением символа "#", можноПредставимРВввидедерева,листьякотороготерминальныесимволы,авнутренниеРВввидедерева,листьякотороготерминальныесимволы,авнутренниеПредставимРВРВ в видедерева,дерева,листьялистьякоторогокоторого- -терминальныетерминальныесимволы,символы,а авнутренниевнутренниеПредставимсчитатьконечными,а символ"#"листьяи соответствующиепереходы удалить.ПредставимРВ вв видевидедерева,которого- терминальныесимволы,а внутренниевершиныоперации"."(конкатенации),"U"(объединение),"*"(итерация).Каждомуоперации"."(конкатенации),"U"(объединение),"*"(итерация).Каждомувершины --операцииоперации".""."(конкатенации),(конкатенации),"U""U"(объединение),(объединение),"*""*"(итерация).(итерация).КаждомуКаждомувершинывершиныоперации"."(конкатенации),"U"(объединение),"*"(итерация).Каждомулистудерева(кромеe-листьев)припишемуникальныйномериссылатьсянанего(кромеe-листьев)припишемуникальныйномериссылатьсянанегоПредставимРВ(кромев виде e-листьев)дерева,листьякоторого- терминальныеа внутренниелисту деревадерева(кромеe-листьев)припишемуникальныйномерисимволы,иссылатьсяссылатьсянеголиступрипишемуникальныйномернананегонеголистудерева(кромеe-листьев)припишемуникальныйномериссылатьсянабудем,соднойстороны,какнапозициювдеревеи,сдругойстороны,какнапозициюоднойстороны,какнапозициювдеревеи,сдругойстороны,какнапозициювершиныоперации"." (конкатенации),"U"вв(объединение),"*" (итерация).Каждомубудем, сс-однойоднойстороны,как нанапозициюпозициюдеревеи,и,с сдругойдругойстороны,каккакпозициюбудем,стороны,какдеревестороны,нанапозициюбудем,соднойстороны,какнапозициювдеревеи,сдругойстороны,какнапозициюсимвола,соответствующеголисту.соответствующеголисту.листудерева(кроме e-листьев)припишем уникальный номер и ссылаться на него символа,соответствующеголисту.символа,листу.символа, соответствующегосоответствующего листу.будем, с одной стороны, как на позицию в дереве и, с другой стороны, как на позициюсимвола, соответствующего листу.Теперь, обходя дерево T сверху-вниз слева-направо, вычислим четыре функции: nullable,Теперь, обходя дерево T сверху-вниз слева-направо, вычислим четыре функции: nullable,firstpos, lastpos и followpos.