Pośrednie przykłady z formalnej teorii języka


9

Uczę się algebraicznej teorii parsowania. Moim pierwszym problemem jest zidentyfikowanie przykładów semieralnych, które są specyficzne dla formalnej teorii języka. Oto próba skonstruowania dwóch przykładów.

1 Biorąc pod uwagę gramatykę CNF, elementy semeryzacji są zestawami symboli terminalnych i nieterminalnych z operacjami:

i) Mnożenie , łączenie dwóch zestawów parami zgodnie z regułą CYK. Na przykład podana gramatyka CNF

s: p p | q r
t: p q
u: q q

następnie

{p,q,r}{p,r}={s,t}

ii) Dodawanie jest ustalane zjednoczeniem, np

{p,q}{q,r}={p,q,r}

Niestety, mnożenie nie jest skojarzone.

2 Elementy drugiego semestru to zbiory nie symboli, ale reguły gramatyczne [niekoniecznie w CNF] zmienione pozycją. Operacje są

i) Mnożenie , łączenie wszystkich pasujących par elementów zgodnie z regułą Earley complete. Na przykład podana gramatyka CNF

s: p q r 
r: s t | u

następnie

{s:pqr,s:pqr}{r:u}={s:pqr}

ii) Dodawanie jest ponownie ustalonym związkiem, np

{s:pqr,r:st}{r:u}={s:pqr,r:st,r:u}

Ten przykład jest również wadliwy.

Semery z elementami będącymi zestawami reguł gramatycznych, a mnożenie będące podstawieniem reguł wydaje się działać dobrze. Jest to jednak algebra relacji w przebraniu. Rzeczywiście, spójrzmy na każdą regułę gramatyczną jako klasę równoważności - zestaw par słów składających się z liter terminalnych i nieterminalnych związanych z zastosowaniem reguły, np.

[t:sa]={(t,sa),(ta,saa),(bt,bsa),(abt,absa),...}

Zatem rozpoznanie słowa w gramatyce jest łańcuchem relacji relacyjnych, np

[t:sa][s:aa]{(aaa,aaa)}={(t,aaa)}

(Ten monomial przypomina semierowanie wielomianu parsera z rozprawy doktorskiej Josha Goodmana; jednakże, powtórzmy, że konstruowanie nowych półprzewodników przez wzięcie wielomianów i macierzy nie jest w tym przypadku naszym zainteresowaniem).

Pozostaje więc pytanie: czy nazywanie języków formalnych na alfabetΣ jedyny przykład?


1
Czy to nie zależy od tego, co rozumiesz przez „specyficzny dla formalnej teorii języka”? Przełomowe wydarzenie Goodmana „Semiring Parsing” zawiera mnóstwo przykładów semirings; z pewnością semestr boolowski jest istotny dla formalnej teorii języka, nawet jeśli nie jest specyficzny dla formalnej teorii języka.
Rob Simmons,

Tak, to subiektywne. Trzy powyższe przykłady (dwa nieprzykładowe :-) pokazują, że konstrukcja powinna obejmować przynajmniej reguły gramatyczne lub nieterminale.
Tegiri Nenashi,

1
Jestem gotów odpowiedzieć na pytanie postawione w tytule (rzeczywiście w formalnej teorii języka występuje mnóstwo półksiężyców), ale zastanawiają mnie twoje przykłady. Wygląda na to, że szukasz bardzo konkretnych przykładów. Czy chcesz mieć przykład odnoszący się do języków formalnych lub konkretnych występujących podczas analizowania?
J.-E.

Tak, spodziewałem się semirings unikatowych dla formalnej teorii języka, a powyższe trzy przykłady pokazują, że ich nie zauważyłem. Mimo to pokażcie swoje przykłady: chętnie studiuję semirings, których nie znam.
Tegiri Nenashi,

Odpowiedzi:


5

Istnieje wiele semirings związanych z teorią języka. Przede wszystkim Boolean semiring. Następnie dowolna klasa języków zamknięta w ramach skończonej unii i produktu (konkatenacji) jest podzespołem semirowania wszystkich języków. Na przykład języki wymierne (= zwykłe) tworzą semiry. Zobacz także powiązane pojęcie algebry Kleene'a .

The k×kmacierze w ciągu semiringu tworzą semiring. W szczególności macierze powyżej semestru boolowskiego kodują niedeterministyczne automaty skończone i macierze w nieco większym semiringu{-,0,1}kodować przejścia automatu Büchi. Macierze w ciągu semiery są używane do charakteryzowania serii wymiernych .

Te tropikalne semirings , w szczególności(N.{+},min,+) i (N.{-},max,+)odgrywać znaczącą rolę w teorii automatów. Doprowadziły również do nowej gałęzi matematyki, tropikalnej geometrii .



0

Myślę, że możesz wymyślić więcej pół-pierścieni zgodnie z zasadami Earleya. Weź prognozę. Możesz utworzyć operator binarnyS.p,kT.=S.(Y:γ, k) $ tak, że związek jest ponad wszystkimi odpowiednimi przepisami. Następnie algorytm najpierw oblicza pierwszy zestaw stanu Earleya jako nieskończony, ale ostatecznie powtarzający się (tak skończony) produkt w operatorze:

S.(0)=p,0S.0(0). Nie wiem jednak, czy to tworzy pół-pierścień ze związkiem. Może to także tworzy relacje z innymi operacjami.


Nie rozumiem: dlaczego operacja mnożenia jest przez coś parametryzowana? Następnie, czy mnożenie w twojej definicji jest sumą (tj. Stosowane do dowolnej pary obiektów (reguły, pozycji))?
Tegiri Nenashi,

@TegiriNenashi Idk! Wróciłem do twojego postu z wyszukiwarki Google i znalazłem to i nie mam pojęcia, co próbowałem powiedzieć. Dziwne ...
EnjoysMath
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.