Скажем, у кого-то есть язык , но вы не знаете, какие строки на самом деле являются частью языка. Все, что есть, - это конечное представление языка: конечный набор строк о которых известно, что они есть в языке, и конечный набор строк , которые известны не быть на языке.
Например, допустим, у меня есть и . Я мог бы иметь язык , так как и согласуются с , или я мог бы иметь полностью другой язык.B = { b , a a b , a a a b a } L = { a 2 i + 1 b j | i , j ∈ N } A B L
Мой вопрос: существует ли известный способ создания DFA (детерминированных конечных автоматов), который принимает строки в и отклоняет строки в с минимальным или почти минимальным числом состояний? В чем сложность этой проблемы? Насколько это хорошо при аппроксимации (при условии, что имеет довольно низкую описательную сложность, а и большие)?B L L A B
Оригинальный вопрос на math.stackexchange.com. Я решил сделать репост здесь, не получив ответов на исходный вопрос и не зная, где их искать. Если бы кто-то мог указать мне на исследования в этой области, это было бы очень ценно.