Скажімо, у вас є мова , але ніхто не знає, які рядки насправді є частиною мови. Все, що існує, - це кінцевий вигляд мови: кінцевий набір рядків які, як відомо, є мовою, і кінцевий набір рядків , які відомі не бути в мові.
Наприклад, скажімо, у мене є і . У мене може бути мова , оскільки і узгоджуються з , або у мене може бути повністю інша мова.
Моє запитання: чи відомий спосіб створити DFA (детерміновані кінцеві автомати), який приймає рядки в і відхиляє рядки в , з мінімальною або майже мінімальною кількістю станів? У чому складність цієї проблеми? Наскільки це добре при наближенні (якщо має досить низьку описову складність, а і великі)?
Оригінальне запитання на math.stackexchange.com. Я вирішив репостувати тут, не отримавши відповідей на оригінальне запитання і не маючи уявлення, де їх шукати. Якби хтось міг би вказати мені на дослідження в цій галузі, це було б дуже вдячно.