Verilen dizeleri kabul eden ve verilen diğer dizeleri reddeden en küçük DFA


11

Verilen iki takım alfabenin üzerinde dizeleri , biz (DFA) en küçük deterministik sonlu durum Otomaton hesaplayabilir öyle ki ve ?A,BΣMAL(M)L(M)ΣB

Başka bir deyişle, bir dizi olumlu örneği temsil eder. her dizenin DFA tarafından kabul edilmesi gerekir. , bir dizi negatif örneği temsil eder. hiçbir dize DFA tarafından kabul edilmemelidir.AABB

Belki de DFA minimizasyon tekniklerini kullanarak bunu çözmenin bir yolu var mı ? Üç çeşit durumu olan bir DFA benzeri otomat oluşturmayı hayal edebilirim: durumları kabul etme, durumları reddetme ve "umursamama" durumları ("umursamama" durumunda biten herhangi bir girdi kabul edilebilir veya reddedilir). Ancak, bunu normal bir DFA'ya indirgemek için bir yol bulabilir miyiz?

Bunu olumlu ve olumsuz örnekler verildiğinde bir DFA öğrenme problemi olarak düşünebilirsiniz.

Bu esinlenerek regex golf NP-Complete mi? DFA'lar yerine normal ifadeler için benzer sorular sorar.


1
Bence ne tür ve dilleri ve bunların nasıl belirtilebileceği konusunda bir tür kısıtlama koymanız gerekecek . BbirB
reinierpost

Öğrenme işlevleri / dilleri üzerine, örneğin sınırda öğrenme (örneğin Altın stili öğrenme) altında açılan birçok literatür vardır. Bunlar probleminize tam olarak uymuyor, ancak ilginç olabilir.
Raphael

Yanıtlar:


7

Açıkladığınız bir DFA'ya ayırma yapan DFA denir . ve B'nin Düzenli Doğrulama için En Az Ayırıcı DFA'ları Öğrenme, Yu-Fang Chen, Azadeh Farzan, Edmund M. Clarke, Yih-Kuen Tsay, Bow-Yaw Wang gibi düzenli diller olduğunda bu sorunla ilgili bazı literatür vardır.AB

@Reinierpost belirttiği gibi, A ve B üzerinde herhangi bir kısıtlama olmaksızın, sorunun çözülemeyebileceğini unutmayın.


A ve B'nin her ikisi de normal dillerse ve birinin A ve B'nin aynı sonucu vereceği herhangi bir girişi keyfi olarak kabul etmesine veya reddetmesine izin verilirse, sorunun nasıl çözülemez olabileceğini görmüyorum. Herhangi bir belirli boyuttaki bir DFA için, kabul etmesi gereken tamamen kapsamlı bir girdi kümesi ve reddetmesi gereken girdiler oluşturmak mümkün olacaktır, böylece aynı sayıda duruma veya daha azına sahip tüm DFA'lar tüm test senaryolarını doğru şekilde işler her durumda aynı şekilde davrandığı garanti edilebilir. Her şeyi kabul eden bir makine, A'nın her şeyi kabul edip reddettiğinden
beri

... kısıtlamaları karşılamak, bir makinenin içermesi gereken durumların sayısına bir üst sınır koyabilir; belirli bir büyüklükte sonlu sayıda olası makine ve değerlendirilecek sonlu sayıda test durumu bulunduğundan, A'dan küçük tüm olası makineler üretilebilir ve bunlardan herhangi birinin gerekli koşulları karşılayıp karşılamadığını görebilir. Sorunu çözmek için tam olarak hızlı bir yol değil, ancak A ve B düzenli ise kesinlikle karar verilebilir. Düzenli değilse, bir DFA A veya B'yi
çözemezdi.

... alışılmadık bir durum olurdu.
supercat

8

ABAB=AAB

Minimum DFA'yı belirli bir dizeler kümesiyle tutarlı bulmak NP-tamdır. Bu sonuç Angluin'in makalesinde Teorem 1 olarak görünür . Normal setlerin minimum çıkarımının karmaşıklığı hakkında . Yani probleminiz açıkça NP-tamamlanmış.

İyi bağlantılar ve düzenli dilleri öğrenmeye tartışma sürü için CSTheory blog yayınını kontrol Düzenli Dil Öğrenme On .


Gereksinimler, bir otomasyonun hem A hem de B'de olan herhangi bir şeyi keyfi olarak kabul edebileceği veya reddedebileceği şekilde değiştirilirse, sorun her zaman A ve B için çözülebilir; en uygun otomatı bulmak bunu yapmadan NP-tamamlanmış olacaksa, bu gereksinimle bile NP-tamamlanmış olacaktır.
supercat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.