Próbuję opracować systematykę algorytmów do przekształcania wyrażeń regularnych w automaty, aby przeprowadzić pewne testy empiryczne ich właściwości złożoności w określonych domenach.
Znam kilka „większych” nazw, np.
Thompson
„Algorytm wyszukiwania wyrażeń regularnych”, Thompson, 1968
Glushkov
„Nowy algorytm kwadratowy do przekształcenia wyrażenia regularnego w automat”, Ponty i in. al. 1996
Antimirov
„Częściowe pochodne wyrażeń regularnych i konstrukcji automatów skończonych”, Antimirov, 1996
Podążać
„Follow Automata”, Ilie i in. al, 2003;
„Obliczanie automatycznego automatu wyrażenia”, Champarnaud i in. al. 2002
Hromković
„Tłumaczenie wyrażeń regularnych na małe niedeterministyczne, skończone automaty e-wolne”, Hromkovic i in. al, 2001
i ich wyróżniające właściwości (bez epsilonu, determinizm, rozmiar, minimalizacja itp.), ale wiem, że nie jest to wyczerpująca lista.
Szczególnie interesują mnie algorytmy, które prezentują albo znacznie inne złożoności czasowe niż te wymienione powyżej i / lub znacząco różne topologie.
Jeśli znasz innych, bardzo doceniony zostanie link do artykułu opisującego szczegółowo algorytm konstrukcyjny (przeczytaj, jeśli zamierzam go wdrożyć!)
Edycja: Dodano niektóre referencje zgodnie z żądaniem.
Odpowiedzi:
Watson (Tech. Rep. Univ. Eindhoven 1995) napisał taksonomię algorytmów konstrukcji automatów skończonych; kilka najnowszych zmian znajduje się poniżej.
W przypadku NFA z przejściami epsilon książka teorii parsowania autorstwa Sippu / Soisalon-Soininen (Springer, 1998) zawiera wariant konstrukcji Thompsona. Ilie i Yu (I&C 2003) oraz Gulan i Fernau (FSTTCS 2008) podają wyrafinowane wersje klasycznej konstrukcji. Minimalny wymagany rozmiar epsilon-NFA odpowiadających wyrażeniom regularnym jest dalej badany przez Gruber i Gulan (LATA 2010). Strukturę leżących u podstaw digrafów wynikających z konstrukcji Thompsona badają Giammarresi, Ponty, Wood & Ziadi (Discr. Appl. Math 2004) i Gulan (Tech. Rep. Univ. Trier, 2010).
Jeśli chodzi o NFA wolne od epsilonu, chcę wspomnieć o wcześniejszej pracy Berry'ego i Sethi (TCS 1986) i Brüggemann-Klein (TCS 1993), ale prawdopodobnie jest to objęte taksonomią Watsona.
Uwaga: Jeśli chodzi o szybkie algorytmy dopasowywania wyrażeń regularnych, jestem świadomy ostatnich prac Bille i Thorup (ICALP 2009, SODA 2010). Używają klasycznej konstrukcji Thompsona (plus oczywiście wiele sztuczek, aby uzyskać szybkość).
źródło
Jednym z nieuwzględnionych na twojej liście są Pochodne wyrażeń regularnych autorstwa Janusza Brzozowskiego, Journal of ACM 1964, ostatnio ponownie przeanalizowane przez Scotta Owensa, Johna Reppy'ego i Aarona Turona w pochodnych wyrażeń regularnych ponownie zbadanych. Journal of Functional Programming (2009), 19: 173-190 , którzy zapewniają praktyczną implementację techniki rozszerzonej notacji dla wyrażeń regularnych.
źródło