Bir DFA'da her durumun alfabenin her sembolünde bir geçişi var mı?


12

Değilse, bazı durum ve bazı sembol , mevcut değilse ne anlama gelir ?qδ ( q , a )aδ(q,a)


Aynı durumda asla birden fazla geçişi olmayan belirleyici olmayan bir otomat ve girdi sembolü deterministik olarak adlandırırdım. Sadece DFA tanımına uymuyor.
reinierpost

1
Bir DFA kuralları devlet olması asla böylece düzenlenir Eğer q kasete sembolü olduğunda bir biz gerçekten tanımlamak gerekiyor, δ (q a,) ?
Peter Shor

4
Bu sorunun cevabı, kişinin "deterministik sonlu otomayı" nasıl tanımladığına bağlı olduğudur. Bu nedenle, evrensel olarak kabul edilmiş doğru bir cevap olmadığı için bu sorunun tamamen yapıcı olduğundan emin değilim - yani, bu soru görüş ve tartışmayı talep ediyor.
Patrick87

1
işlev olarak kabul edilirse , tüm çiftleri için tanımlanmalıdır . q , aδq,a
vonbrand

Benim DFA fikrimde, bu bir "iptal" koşulu veya "reddetme" durumuna örtük bir atlamayı tercih ediyorsanız.
Yves Daoust

Yanıtlar:


22

Ç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. δ(q,a) mevcut olmadığının anlamı , DFA'nın giriş dizesini kabul etmemesidir.

δ(q,a) 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 M , 5-demettir ( Q , Σ , δ , q0 , F ).

  1. sonlu haller kümesi ( Q )
  2. alfabe ( Σ ) adı verilen sonlu bir dizi girdi simgesi
  3. bir geçiş fonksiyonu ( δ:Q×ΣQ )
  4. bir başlangıç ​​durumu ( q0Q)
  5. bir dizi kabul durumu ( FQ ).

Let w=a1a2an olmak alfabe üzerinde bir dize Σ . Q'da aşağıdaki koşullarla bir dizi durum, r 0 , r 1 , , r n varsa, otomasyon M , w dizesini kabul eder :r0,r1,,rnQ

  1. r0=q0
  2. ri+1=δ(ri,ai+1) ,i=0,,n1
  3. rnF .

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 qi bir giriş sembolüyle aj 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. .)

  1. durum ekle qerror
  2. her çifti için (qi,sj)δ tanımsız tanımlama, δ(qi,sj)=qerror .

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.

Düzenle, Ocak 2019

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. s ve giriş sembol a , en az bir kenar etiketli olduğu a ayrılan s .

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 a ayrılan s .

(@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 s×Σ 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 M bir fonksiyonudur [!] Arasında S×Σ tüm alt-kümesinde değerlerle S .

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.


qerror

2
Kısmi işlev sürümü, bu bir fark yaratırsa Hopcroft ve Ullman'da verilen sürümdür. Kısmi bir fonksiyonun doğası gereği belirsiz olmadığı fikri hiçbir şekilde standart değildir.
jmite

1
@jmite Kısmi işlevlerin belirsizliği ima ettiği anlamına gelmez; toplam fonksiyonların, total fonksiyonları daha iyi bir seçim yapan determinizm anlamına gelmesidir. Tabii ki, kullandığınız tanımların az çok keyfi bir meselesi.
Patrick87

3
δ

1
Gösterdiğiniz gibi, kısmi işlev sürümü, toplam işlev sürümüne kolay bir çeviriye sahiptir ve gördüğüm kadarıyla, çeviri işlevinin kısmi olmasına izin vererek, pedagojik veya başka şekilde kesinlikle hiçbir şey kazanmadığınızı görebilirsiniz. Ejderha özellikle fonksiyonun toplamdan bahsetmektedir. Neden dünyada, standart olmayan bir tanım seçmekten kesinlikle kazanacak bir şey olmadığında, çoğu insanın takip ettiği standart bir ders kitabında açıkça tanımlanmış bir şey hakkında bir tartışma yaratıyoruz?
Alex Smart

8

δ(q,a)qQaΣQΣ

ε

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.


2
Bu tanıma bağlıdır; iktidarda eşdeğer olan birkaç tane var.
Raphael

3
+1 Herkesin bu tanıma uyması en iyisi, IMHO, çünkü herkes her (durum, sembol) çifti için tam olarak bir geçiş tanımlayan bir FA'nın geçerli bir DFA oluşturduğunu kabul eder.
Patrick87

1
Ve bu tanım, bağlamdan bağımsız bir dilin deterministik mi yoksa belirsiz mi olduğuna karar vermeye genişletmeye çalıştığınızda yanlıştır. Geçişleri eksik olan bir aşağı itme otomatı her zaman durum / giriş sembolü / yığın sembolü başına tam olarak bir geçişle bir aşağı itme otomatına dönüştürülebilir. Durum / giriş simge / yığın, sembol başına birden çok olası geçişler ile bir nondeterministic ters otomata olabilir değil mutlaka deterministik aşağı açılan otomat dönüştürülecektir. (Örneğin: tanınan dilin belirsiz olmayan bağlam içermemesi durumunda.)
Gezici Mantık

2
@jmite Trim otomatalarını sadece DFA'lardan bağımsız olarak tanımlayın. Bence, sadece ölü durumlarla elde ettiğiniz Myhill-Nerode teoremine göre minimal DFA'ların doğru sayıda duruma sahip olması çok daha önemlidir.
Patrick87

4
ϵϵϵ

6

DFA tanımları vardır.

A|δ(q,a)|1qaδ(q,ε)δ(q,a)=aΣA

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.


Bence OP'nin sorusunun DFA'nın resmi tanımını içerecek şekilde düzenlenmesi gerekiyor.
scaaahu

0

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.


1
Yeni bir yanıt gönderebilmeniz için mevcut yanıtlardan farkı nedir?
xskxzr

0

Bunun en basit cevabı, sol sembol için ölü durum eklemektir . NFA'dan DFA'ya dönüşümde olduğu gibi, bazı semboller için Φ dönüşümü elde ediyoruz, bu da bunun için Ölü durumu oluşturduğumuzu gösteriyor.

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.