Rekurencyjna sieć przejść

Z Wikipedii, wolnej encyklopedii

Rekurencyjna sieć przejść (ang. recursive transition network, RTN) zwana czasem basic transition network (BTN) jest matematycznym modelem automatu do generowania/akceptowania słów gramatyki przedstawionym w postaci grupy skierowanych grafów.

Na RTN składają się stany oraz łuki. Jest jeden stan początkowy i zbiór stanów końcowych. Łuki mogą być oznakowane symbolami terminalnymi, podobnie jak to jest w automacie skończonym, ale również symbolami nieterminalnymi z dodatkowymi akcjami PUSH I POP.[1]

Napotykając łuk z taką etykietą, zamiast przechodzić do następnego stanu, przechodzimy do początkowego stanu (operacja PUSH) innego lub tego samego grafu, gdzie kontynuujemy wędrówkę aż do któregoś ze stanów końcowych, gdzie wracamy (operacja POP) do grafu, w którym byliśmy poprzednio idąc do stanu, który wskazuje ten łuk.

Łuki mogą mieć być któregoś z typu:

WRD - symbol terminalny
CAT - przechodzimy, gdy symbol należy do pewnej kategorii (często używane w przetwarzaniu gramatyk języka naturalnego)
JMP - przejście bez pobierania żadnego symbolu z wejścia, działa tak samo jak ε-przejścia automatu niedeterministycznego
PUSH - zapamiętane jest bieżące położenie (który graf i który stan) oraz przejście na początek odpowiedniego grafu.
POP - to raczej nie typ łuku ale działanie, które następuje w stanach końcowych - przejście do miejsca, które zostało ostatnio odłożone na stos.

Sieć RTN może sprawdzać gramatykę bezkontekstową, w odróżnieniu od automatów skończonych bez stosu ograniczonych do wyrażeń regularnych.

Rozważmy gramatykę palindromiczną generowaną przez produkcje:

Sieć RTN będzie wyglądała: Przykład rekurencyjnej sieci przejść

Przypisy[edytuj | edytuj kod]

  1. Transition Network Grammars for Natural Language Analysis W. A. Woods [1]