Değilse, bazı durum ve bazı sembol , mevcut değilse ne anlama gelir ?δ ( q , a )
Değilse, bazı durum ve bazı sembol , mevcut değilse ne anlama gelir ?δ ( q , a )
Yanıtlar:
Çekişmeli bir sorunla karşılaşmış gibi görünüyorsunuz. Görünüşe göre bilgisayar bilimcileri tartışmayı seviyorlar. Kesinlikle tartışmayı seviyorum, işte gidiyor!
Cevabım kesin: Hayır. Deterministik bir sonlu otomatanın her sembol için her durumdan geçişe ihtiyacı yoktur. mevcut olmadığının anlamı , DFA'nın giriş dizesini kabul etmemesidir.
nın var olmasını gerektiren bir DFA tanımı oluşturabilirsiniz , ancak eksik bir geçişin, sonuçta ortaya çıkan yapıyı (her ne adlandırırsanız adlandırın) herhangi bir şekilde belirleyici olmayan bir şekilde yaptığı durum değildir. iddia. Otomata teorisi üzerine bir ders alıyorsanız, bir sonraki konu bağlamsız diller ve belirleyici olmayan ve deterministik otomata arasındaki ayrımın köreldiği ve aşağı doğru belirleyici olmamanın doğru tanımını kullanmanız gereken aşağı itmeli otomata olacaktır.
Determinizmsizlik, birden fazla yasal geçişe sahip olmakla ilişkilidir .
Sanırım hepimiz aşağıdaki Wikipedia tanımına katılıyoruz (bir saniyede göstereceğim biraz belirsiz):
Deterministik bir sonlu otoma , 5-demettir ( , , , , ).
Let olmak alfabe üzerinde bir dize . Q'da aşağıdaki koşullarla bir dizi durum, r 0 , r 1 , … , r n varsa, otomasyon , dizesini kabul eder :
Belirsizlik ve tartışma, geçiş fonksiyonunun Definition bitti (sayı "3" Önce bir NFA bir DFA ayıran şey bu olduğuna madde işaretli liste.) Hepimiz hemfikir bir işlev yerine ise ilişki . Ancak olan bir kısmi işlevi ya da bir toplam fonksiyonu ?
FA kısmi bir DFA'nın tanımı gayet iyi çalışır . Eğer bir devlet ulaşırsanız, bir giriş dizesi Verilen bir giriş sembolüyle sonra otomata basitçe kabul etmez hiçbir sonraki devlet yoktur.
Dahası, bu tanımı aşağı itilen otomata tanımını oluşturmak için genişlettiğinizde , kısmi işlevler olan geçiş işlevlerine sahip aşağı açılan otomatların belirleyici değil, deterministik olarak sınıflandırıldığını fark etmeniz gerekir .
Kısmi işlev sizi rahatsız ediyorsa, o zaman toplam işlevi yapan önemsiz bir dönüşümdür . (Bu dönüşüm, alt küme oluşturma algoritması gibi değildir , en fazla O (1) durumu ekler, orijinal durum sayısında doğrusaldır ve PDA'larla çalışacak şekilde genişletilebilir. Bu gerçeklerden hiçbiri alt küme oluşturma algoritması için geçerli değildir. .)
Bu otomatik verilerin toplam işlevi olan bir değeri vardır ve orijinal otomatik verilerinizin kabul ettiği ve reddettiği durumlarla tamamen aynı kabul eder ve reddeder.
Commenter @ Alex Smart beni ne referans verdiğimden ne de neden önemsememiz gerektiğini açıkladığı için haklı olarak eleştiriyor. İşte böyle:
Biz neden bakım dışı determinizm vs determinizm kesin tanımı hakkında, deterministik olmayan otomata bazı sınıfları kendi deterministik kuzenlerinden daha güçlü olmasıdır, ve non-deterministik otomata bazı sınıfları vardır değil onların deterministik kuzenlerinden daha güçlü. Sonlu otomata ve Turing makineleri için deterministik ve deterministik olmayan varyantlar eşdeğer güce sahiptir. Aşağı itmeli otomata için ayrımın önemli olduğu diller vardır: Dili kabul eden NPDA vardır ve hiçbir DPDA dili kabul etmez. Doğrusal sınırlı otomata için soru açıktır (veya son kontrol ettiğimde). NPDA'nın DPDA üzerindeki gücünün artması, çoklu geçiş işlevini, geçiş işlevini toplam işlevden kısmi işleve çevirmekten değil.
Derleyici topluluğundan kitaplar:
Aho ve Ullman, Derleyici Tasarım İlkeleri , 1977: Önce NFA'yı (sayfa 88) bir geçiş ilişkisi ile tanımlar, sonra (s. 90-91):
Sonlu bir otomasyonun 1 ise deterministik olduğunu söylüyoruz . girişinde geçişi yoktur . Her bir durum için, 2. ve giriş sembol , en az bir kenar etiketli olduğu ayrılan .
Aho, Sethi ve Ullman, Derleyiciler, ilkeler, teknikler ve araçlar , 1988 baskısı benzerdir, önce NFA'yı bir geçiş ilişkisi ile tanımlar, sonra (s. 115-116):
Bir deterministik sonlu otomata (kısaca DFA) 'in ... etiketli en az bir kenarı vardır deterministik olmayan bir finitie otomatın özel bir durumdur ayrılan .
(@Alex Smart'ın yorumlarında "ejderha özellikle fonksiyonun toplamından bahsettiğini" söylediğine göre, şu anda erişemediğim ortak yazar Lam ile daha sonraki baskı hakkında konuştuğunu düşünüyorum. )
Appel, Java'da Modern Derleyici Uygulaması , 1988 (s. 22):
Bir de deterministik sonlu otomat (DFA), aynı durumdan ayrılan bir iki kenarları aynı sembol ile etiketlenir.
Appel daha sonra en uzun eşleşmeleri tanımak için DFA'yı kullanırken ne zaman duracağınıza karar vermek için eksik geçişleri açıkça kullandığımızı açıklar (s. 23):
Bir zaman ölü durum (hiçbir çıkış geçişleri ile nonfinal durum) ulaşıldığında, [şimdiye kadar gördüğüm en uzun maç rekoru] eşleştirildi simge neyi anlatmak ve bitti değişkenler.
Anahtarlama teorisi topluluğundan kitaplar:
Kohavi, Anahtarlama ve Sonlu Otomata Teorisi, 2 / e , 1978, s. 611 diyor ki:
Bir durum diyagramı deterministik bir makineyi tanımladığından, bir sonraki durum geçişi şimdiki durum ve halihazırda taranan giriş sembolü ile benzersiz olarak belirlenmelidir .
Genellikle yorumlamak istiyorum benzersiz "hayır Birden fazla" değil, "tam bir" anlamında. (Yani Kohavi, determinizmin tam bir işlev gerektirdiğini söylüyor gibi görünüyor)
Hesaplama teorisi topluluğundan kitaplar:
Burada DFA'ları NFA'lardan önce tanımlamak daha yaygın gibi görünmektedir ve DFA'ların toplam bir geçiş fonksiyonuna sahip olmasını gerektirmektedir, ancak daha sonra NPDA'ları DPDA'lardan önce tanımlamak ve "determinizmi" daha fazla olmayana sahip olmakla ilgili bir kısıtlama olarak tanımlamak -Her durum / sembol çifti için bir giriş.
Bu, Hopcroft ve Ullman, 1979, Lewis ve Papadimitriou, 1981 ve özellikle DFA tanımını pedagojik olarak kesin resmi tanımları tanıtmak ve önemlerini açıklamak ve açıklamak için kullanan ve söyle açıklayan (s.36):
Geçiş fonksiyonu, bir halin her muhtemel kombinasyonu ve bir giriş sembol için belirtir tam olarak bir sonraki durum.
Bu tarihsel gelişimi takip ediyor gibi görünüyor. 40'lı ve 50'li yıllarda deterministik sonlu otomata girildi. Belgede determinisitc olmayan sonlu otomata Rabin ve Scott tarafından tanıtıldı, "Sonlu otomata ve karar problemleri, IBM J. Rsrch ve Dvpt , 3 (2): 114-125, 1959. Daha önceki yazarların ardından Rabin ve Scott deterministik tanımlar (bunlar çağrı sonlu otomata sıradan bir geçiş özelliği olan otomata) "Kartezyen ürün tanımlanan durumları ve sembolleri çiftleri." (tam işlevi anlamında yorumlanması olacaktır).
İlginçtir ki Rabin ve Scott, tam bir işlev açısından deterministik olmayan sonlu otomata da tanımlarlar! Sayfa 120, Tanım 9:
Bir nondeterministic (sonlu) otomat ... ... bir sistemdir bir fonksiyonudur [!] Arasında tüm alt-kümesinde değerlerle .
Yani: geçiş fonksiyonunun toplam olması, sistemi deterministik yapmaz!
Sipser 2006, Rabin ve Scott'u takip eder ve deterministik olmayan sonlu otomata, deterministik olmayan PDA ve deterministik olmayan Turing Makineleri tanımları için eyaletlerden / sembollerden devletlerin güç setine toplam geçiş işlevini kullanır, ancak deterministik konuyu atlar PDA.
Hopcroft ve Ullman, 1979 ve Lewis ve Papadimitriou, 1981, deterministik PDA tanımlarında kısmi işlevler kullanırlar. Önce NPDA'ları bir geçiş ilişkisi ile tanımlarlar ve daha sonra PDA'lara ulaştıklarında Lewis ve Papadimitriou derler (s. 135),
Her bir konfigürasyon için en fazla bir geçiş varsa, bir aşağı itmeli otomati sezgisel olarak belirleyicidir .
Hopcroft ve Ullman derken (s. 112):
PDA ... herhangi bir kimlikten en fazla bir hamlenin mümkün olduğu anlamında belirleyicidir.
Hesaplanabilirlik açısından, NFA'lar DFA'lara eşdeğerdir - bir NFA'dan DFA'ya dönüştürmek için bir algoritma vardır ve bir DFA önemsiz bir şekilde belirsizliği kullanmayan bir NFA'dır, bu nedenle her ikisi de normal dil kümesini tanımlar.
DFA tanımları vardır.
Bu durumda, tüm geçişlere ihtiyacınız yoktur. Otomatın bir sonraki giriş sembolüne uyan bir geçişi yoksa, reddedilir.
Her iki tanımın da hangi dillerin kabul edilebileceğine eşdeğer olduğunu göstermek hoş bir alıştırmadır.
DFA tanımında, her eyalet £ olan tüm alfabeye sahip olmalıdır. Bir örnek için £ = {a, b, c} ve Q = {q0, q1, q2} ise, bu durumların hepsinde başka bir duruma veya aynı duruma geçiş yapan tüm a, b, c sembolleri bulunmalıdır.