Я думаю о следующей проблеме: я хочу найти регулярное выражение, которое соответствует определенному набору строк (например, действительные адреса электронной почты) и не соответствует другим (недействительные адреса электронной почты).
Предположим, что под регулярным выражением мы подразумеваем некоторый четко определенный конечный автомат, я не знаком с точной терминологией, но давайте договоримся о некотором классе разрешенных выражений.
Вместо того, чтобы вручную создавать выражение, я хочу дать ему набор положительных и отрицательных примеров.
Затем должно появиться выражение, которое соответствует «+», отклоняет «-» и является минимальным в некотором четко определенном смысле (число состояний в автоматах?).
Мои вопросы:
- Рассматривалась ли эта проблема, как ее можно определить более конкретным образом и можно ли решить ее эффективно? Можем ли мы решить это за полиномиальное время? Это NP завершено, мы можем приблизить это как-нибудь? Для каких классов выражений это будет работать? Буду признателен за любой указатель на учебники, статьи или тому подобное, которые обсуждают эту тему.
- Это как-то связано со сложностью Колмогорова?
- Это как-то связано с обучением? Если регулярное выражение согласуется с моими примерами, поскольку оно минимально, можем ли мы что-то сказать о его обобщающей силе на еще невиданных примерах? Какой критерий минимальности был бы более подходящим для этого? Какой из них будет более эффективным? Это как-то связано с машинным обучением? Снова любые указатели были бы полезны ...
Извините за грязный вопрос ... Направьте меня в правильном направлении, чтобы понять это. Благодарность !