次の問題を考えています:特定の文字列セット(たとえば、有効な電子メールアドレス)に一致し、他の文字列(無効な電子メールアドレス)に一致しない正規表現を見つけたい。
正規表現によって、明確に定義された有限状態マシンを意味すると仮定します。正確な用語についてはよくわかりませんが、許可された表現のクラスについては同意しましょう。
式を手動で作成するのではなく、肯定的な例と否定的な例のセットを与えたいと思います。
次に、+の1に一致し、-の1を拒否し、明確に定義された意味で最小の式(オートマトンの状態の数?)を作成する必要があります。
私の質問は:
- この問題は考慮されましたか、より具体的な方法でどのように定義でき、効率的に解決できますか?多項式時間で解決できますか?NPは完全ですか、どうにか近似できますか?どのクラスの式に対して機能しますか?このトピックについて説明している教科書、記事などへのポインタをいただければ幸いです。
- これは何らかの形でコルモゴロフの複雑さに関連していますか?
- これは何らかの形で学習に関連していますか?正規表現が私の例と一致している場合、それが最小限であるために、まだ見られない例の一般化力について何か言うことができますか?これにはどのような最小性の基準がより適していますか?どちらがより効率的でしょうか?これには機械学習とのつながりがありますか?繰り返しますが、どんなポインターでも役に立ちます...
厄介な質問でごめんなさい...これを理解するために私を正しい方向に向けてください。ありがとう!