Vestavěný pushdown automat - Embedded pushdown automaton
An vestavěný pushdown automat nebo EPDA je výpočetní model pro analýzu jazyků generovaných stromové gramatiky (ZNAČKY). Je to podobné jako u bezkontextová gramatika -parsování zasunovací automat, ale namísto použití roviny zásobník k ukládání symbolů má hromadu iterovaných hromádek, které ukládají symboly, což dává TAG generativní kapacitu mezi bezkontextovými a kontextové gramatiky nebo podmnožina mírně kontextové gramatiky Zabudované automaty pushdown by neměly být zaměňovány s vnořené automaty zásobníku které mají větší výpočetní sílu.[Citace je zapotřebí ]
Historie a aplikace
EPDA poprvé popsal K. Vijay-Shanker ve své disertační práci z roku 1988.[1] Od té doby byly použity k úplnějším popisům tříd gramatik mírně citlivých na kontext a měly důležité role při zdokonalování Chomského hierarchie. Různé subgrammars, jako je lineární indexovaná gramatika, lze tedy definovat.[2] EPDA také začínají hrát důležitou roli při zpracování přirozeného jazyka.
Zatímco přirozené jazyky byly tradičně analyzovány pomocí bezkontextových gramatik (viz transformačně-generativní gramatika a výpočetní lingvistika ), tento model nefunguje dobře pro jazyky se zkříženými závislostmi, jako je nizozemština, situace, pro které se EPDA dobře hodí. Podrobná lingvistická analýza je k dispozici v Joshi, Schabes (1997).[3]
Teorie
EPDA je konečný stavový stroj se sadou hromádek, ke kterým lze sami přistupovat prostřednictvím vložený zásobník. Každý zásobník obsahuje prvky zásobník abeceda , a tak definujeme prvek zásobníku pomocí , kde je hvězda Kleene uzavření abecedy.
Každý zásobník lze potom definovat z hlediska jeho prvků, proto označujeme th stack v automatu pomocí symbolu dvojité dýky: ,[je zapotřebí objasnění ] kde bude dalším přístupným symbolem v zásobníku. The vložený zásobník z stohy lze tedy označit .[je zapotřebí objasnění ]
Definujeme EPDA septuplem (7 n-tic)
- kde
- je konečná sada státy;
- je konečná množina vstupní abeceda;
- je konečný zásobník abeceda;
- je počáteční stav;
- je sada konečné stavy;
- je symbol počátečního zásobníku
- je přechodová funkce, kde jsou konečné podmnožiny .
Přechodová funkce tedy přebírá stav, další symbol vstupního řetězce a horní symbol aktuálního zásobníku a generuje další stav, přičemž hromádky, které mají být tlačeny a vysunuty na vložený zásobník, tlačení a vyskakování aktuálního zásobníku a hromádky, které mají být považovány za aktuální hromádky v příštím přechodu. Koncepčnější je vložený zásobník je tlačen a vysunut, aktuální zásobník je volitelně zasunut zpět na vložený zásobník, a jakékoli další hromádky, které by někdo chtěl, jsou tlačeny nad to, přičemž poslední hromádka je ta, ze které se čte v další iteraci. Stohy lze tedy tlačit nad i pod aktuální zásobník.
Daná konfigurace je definována
kde je aktuální stav, s jsou hromádky v vložený zásobník, s aktuální zásobník a pro vstupní řetězec , je část řetězce již zpracovaná strojem a je část, která má být zpracována, přičemž její hlava je aktuálním načteným symbolem. Všimněte si, že prázdný řetězec je implicitně definován jako zakončovací symbol, kde je-li stroj při čtení prázdného řetězce v konečném stavu, celý vstupní řetězec je přijato, a pokud ne, je zamítnuto. Takový přijato řetězce jsou prvky jazyka
kde a definuje přechodovou funkci použitou tolikrát, kolikrát je potřeba k analýze řetězce.
Neformální popis EPDA lze nalézt také v Joshi, Schabes (1997),[3] Oddíl 7, s. 23-25.
k- objednejte si EPDA a Weirovu hierarchii
![]() | Tato část může vyžadovat vyčištění setkat se s Wikipedií standardy kvality. Specifický problém je: potřebuje přepsat na základě Kallmeyer str. 199Srpna 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Přesněji definovanou hierarchii jazyků, které odpovídají třídě mírně citlivé na kontext, definoval David J. Weir.[4]Na základě práce Nabil A. Khabbaz,[5][6]Weirova jazyková hierarchie je omezení hierarchie spočetné sady jazykových tříd[vyjasnit ] Kde Úroveň 1 je definován jako bezkontextový a Úroveň 2 je třída sousedních stromů a další tři gramatiky.
Následuje několik vlastností Level-k jazyky v hierarchii:
- Úroveň-k jazyky jsou správně obsaženy v úrovni - (k + 1) jazyková třída
- Úroveň-k jazyky lze analyzovat čas
- Úroveň-k obsahuje jazyk , ale ne
- Úroveň-k obsahuje jazyk , ale ne
Tyto vlastnosti dobře odpovídají (alespoň pro malé k > 1) na podmínky mírně kontextově citlivých jazyků uložené Joshi a podobně k se zvětší, jazyková třída bude v jistém smyslu méně citlivá na kontext.
Viz také
Reference
- ^ Vijay-Shanker, K. (leden 1988). „Studie gramatik sousedících se stromy“. Ph.D. Teze. University of Pennsylvania.
- ^ Weir, David J. (1994). „Lineární iterované posunutí dolů“ (PDF). Výpočetní inteligence. 10 (4): 431–439. doi:10.1111 / j.1467-8640.1994.tb00007.x. Citováno 2012-10-20.
- ^ A b Joshi, Aravind K .; Yves Schabes (1997). "Stromové gramatiky" (PDF). Příručka formálních jazyků. Springer. 3: 69–124. doi:10.1007/978-3-642-59126-6_2. ISBN 978-3-642-63859-6. Citováno 2014-02-07.
- ^ Weir, D. J. (1992), „Geometrická hierarchie přesahující bezkontextové jazyky“, Teoretická informatika, 104 (2): 235–261, doi:10.1016 / 0304-3975 (92) 90124-X.
- ^ Nabil Anton Khabbaz (1972). Zobecněné jazyky bez kontextu (Ph.D.). University of Iowa.
- ^ Nabil Anton Khabbaz (1974). Msgstr "Geometrická hierarchie jazyků". J. Comput. Syst. Sci. 8 (2): 142–157. doi:10.1016 / s0022-0000 (74) 80052-8.
Další čtení
- Laura Kallmeyer (2010). Analýza nad rámec bezkontextových gramatik. Springer Science & Business Media. ISBN 978-3-642-14846-0.