Wbudowany automat push-down

Wbudowany automat przesuwający w dół lub EPDA to model obliczeniowy do analizowania języków generowanych przez gramatyki sąsiadujące z drzewem (TAG). Jest podobny do automatu rozkładającego gramatykę bezkontekstową , ale zamiast używać zwykłego stosu do przechowywania symboli, ma stos iterowanych stosów, które przechowują symbole, dając TAG-om zdolność generatywną między gramatyką bezkontekstową i kontekstową lub podzbiór lekko kontekstowych gramatyk . Wbudowanych automatów przesuwających w dół nie należy mylić z zagnieżdżonymi automatami stosowymi , które mają większą moc obliczeniową. [ potrzebne źródło ]

Historia i zastosowania

EPDA zostały po raz pierwszy opisane przez K. Vijaya-Shankera w jego rozprawie doktorskiej z 1988 roku. Od tego czasu zostały zastosowane do pełniejszych opisów klas gramatyk lekko kontekstowych i odegrały ważną rolę w udoskonalaniu hierarchii Chomsky'ego . W ten sposób można zdefiniować różne podgramatyki, takie jak gramatyka indeksowana liniowo .

Podczas gdy języki naturalne były tradycyjnie analizowane przy użyciu gramatyk bezkontekstowych (patrz gramatyka transformacyjno-generatywna i lingwistyka komputerowa ), model ten nie działa dobrze w przypadku języków z krzyżowymi zależnościami, takich jak niderlandzki, w sytuacjach, w których EPDA jest dobrze przystosowana. Szczegółowa analiza językowa jest dostępna w Joshi, Schabes (1997).

Teoria

EPDA to skończona maszyna stanów ze zbiorem stosów, do których można uzyskać dostęp poprzez osadzony stos . Każdy stos zawiera elementy alfabetu stosu , więc definiujemy element stosu przez , gdzie gwiazda jest zamknięciem alfabetu Kleene .

elementów, więc oznaczamy ten stos w za pomocą symbolu podwójnego sztyletu: , [ wymagane wyjaśnienie ] gdzie byłby następnym dostępnym symbolem w stosie. Osadzony stos stosów można oznaczyć przez . [ wymagane wyjaśnienie ]

Definiujemy EPDA przez siódemkę (7-tuple)

gdzie
  • to skończony zbiór stanów ;
  • jest skończonym zbiorem alfabetu wejściowego ;
  • to skończony alfabet stosu ;
  • jest stanem początkowym ;
  • jest zbiorem stanów końcowych ;
  • to początkowy symbol stosu
  • jest funkcją przejścia , gdzie są skończonymi podzbiorami .

W ten sposób funkcja przejścia przyjmuje stan, następny symbol ciągu wejściowego i górny symbol bieżącego stosu i generuje następny stan, stosy, które mają zostać wypchnięte i wyrzucone na osadzony stos, wypychanie i wyskakiwanie bieżącego stosu , oraz stosy, które zostaną uznane za bieżące stosy w następnym przejściu. Bardziej koncepcyjnie, osadzony stos jest wypychany i zdejmowany, bieżący stos jest opcjonalnie wypychany z powrotem na osadzony stos , a wszelkie inne stosy, które chcesz, są wypychane na wierzch, przy czym ostatni stos jest tym, z którego odczytuje się w następnej iteracji . Dlatego stosy można przesuwać zarówno powyżej, jak i poniżej bieżącego stosu.

Dana konfiguracja jest zdefiniowana przez

gdzie \ to aktualny stan, s to stosy w osadzonym stosie , z bieżącym stos i dla ciągu wejściowego , to część łańcucha już przetworzona przez maszynę, a przetworzenia, której nagłówek jest aktualnie odczytanym symbolem. Zauważ, że pusty ciąg jest domyślnie zdefiniowany jako symbol kończący, gdzie jeśli maszyna jest w stanie końcowym, gdy odczytywany jest pusty ciąg, cały ciąg wejściowy jest akceptowany , a jeśli nie, jest odrzucany . Takie akceptowane ciągi są elementami języka

gdzie i definiuje funkcję przejścia stosowaną tyle razy, ile potrzeba do przeanalizowania łańcucha.

Nieformalny opis EPDA można również znaleźć w Joshi, Schabes (1997), Sect.7, s. 23-25.

k -rząd EPDA i hierarchia Weira

Dokładniej zdefiniowaną hierarchię języków, która odpowiada klasie lekko zależnej od kontekstu, zdefiniował David J. Weir. Oparta na pracy Nabila A. Khabbaza, Weir's Control Language Hierarchy to hierarchia zawierająca policzalny zestaw klas językowych [ wyjaśnij ] , gdzie poziom 1 jest zdefiniowany jako bezkontekstowy, a poziom 2 to klasa przylegająca do drzewa i pozostałe trzy gramatyki.

Poniżej przedstawiono niektóre właściwości języków poziomu k w hierarchii:

  • poziomu k są właściwie zawarte w klasie języków poziomu ( k + 1).
  • poziomu k można analizować w czasie
  • Poziom- k zawiera język nie
  • Poziom- k zawiera język nie

Właściwości te dobrze odpowiadają (przynajmniej dla małego k > 1) warunkom lekko kontekstowych języków narzuconych przez Joshiego, a wraz ze wzrostem k klasa językowa staje się w pewnym sensie mniej wrażliwa na kontekst.

Zobacz też

Dalsza lektura

  •   Laura Kallmeyer (2010). Analiza poza gramatyką bezkontekstową . Springer Science & Business Media. ISBN 978-3-642-14846-0 .