Mam na myśli następujący problem: Chcę znaleźć wyrażenie regularne, które pasuje do określonego zestawu ciągów (np. Prawidłowe adresy e-mail) i nie pasuje do innych (nieprawidłowe adresy e-mail).
Załóżmy, że przez wyrażenie regularne rozumiemy dobrze zdefiniowaną maszynę skończoną, nie znam dokładnej terminologii, ale uzgodnijmy pewną klasę dozwolonych wyrażeń.
Zamiast ręcznie tworzyć wyrażenie, chcę dać mu zestaw pozytywnych i negatywnych przykładów.
Powinien wtedy znaleźć wyrażenie, które pasuje do +, odrzuca - i jest minimalne w ściśle określonym znaczeniu (liczba stanów w automatach?).
Moje pytania to:
- Czy rozważono ten problem, jak można go zdefiniować w bardziej konkretny sposób i czy można go skutecznie rozwiązać? Czy możemy to rozwiązać w czasie wielomianowym? Czy NP jest kompletny, czy możemy jakoś go przybliżyć? Dla jakich klas wyrażeń to by działało? Byłbym wdzięczny za każdy wskaźnik do podręczników, artykułów lub takich, które omawiają ten temat.
- Czy ma to jakiś związek ze złożonością Kołmogorowa?
- Czy ma to jakiś związek z nauką? Jeśli wyrażenie regularne jest zgodne z moimi przykładami, ponieważ jest ono minimalne, czy możemy powiedzieć coś o jego mocy uogólniającej na jeszcze niewidzianych przykładach? Jakie kryterium minimalności byłoby do tego bardziej odpowiednie? Który byłby bardziej wydajny? Czy ma to jakiś związek z uczeniem maszynowym? Ponownie wszelkie wskazówki byłyby pomocne ...
Przepraszam za niechlujne pytanie ... Wskaż mi właściwy kierunek, aby to rozgryźć. Dzięki !