Deterministik Sonlu Otomata'da olası her alfabedeki geçişleri tanımlamak zorunlu mu?


13

Yarın benim sunumum ve konseptlerimi temizlemek istiyorum…

DFA'da "Her durum için olası tüm sembollere (alfabe) geçişin tanımlanması gerektiğini" okudum.

Her bir durum için DFA'da olası tüm semboller üzerindeki geçişi tanımlamak zorunlu mudur? Değilse, lütfen herhangi bir örnek verin?


1
CS.SE'ye Hoşgeldiniz! Her gönderi için yalnızca bir soru sormanızı tercih ediyoruz. Bu iki ayrı soruya benziyor. İkincisini (NFA'lar hakkında) ayrı ayrı yayınlamak daha iyi olur. Ayrıca, bu sitede ayrıntılı bir şekilde arama yaptınız ve ders kitabınızdaki resmi tanımı kontrol ettiniz mi? Değilse, sormadan önce bunu yapmalısınız; ve bunu yaparken ne bulduğunuzu sorusunda bize göstermelisiniz.
DW

Sıcak bir karşılama için teşekkür ederim, ben aslında bu sitede ve Google'da da aradım, ama aslında beni
şaşırtan

İkinci soru kaldırıldı, ancak bunu düzenleme geçmişinde bulabilir ve sağ üstteki 'Soru Sor' düğmesini kullanarak ayrı bir soru olarak gönderebilirsiniz. Ancak, sormadan önce, lütfen önerilen araştırmayı yaptığınızdan emin olun ve hangi ders kitaplarını okuduğunuzu söylemek de dahil olmak üzere hangi araştırmayı yaptığınızı bize bildirin. Bu soruya gelince, bu soruyu, ders kitabınızdaki resmi tanıma, soruya dahil ederek ve bu tanımı yorumladığınızı göstererek burada verdiğim geri bildirimleri ele almak için düzenleyebilirsiniz.
DW

9
Her neyse, bu cs.stackexchange.com/q/12587/755 tarafından kapsanıyor gibi görünüyor . Topluluk oyları, lütfen: bu bir kopya mı?
DW

1
Sorunuzu gerçekten anlamıyorum. Görünüşe göre "Tanımın X olduğunu okudum. Tanım X mi?"
David Richerby

Yanıtlar:


12

Bir DFA aşağıdaki verilerle belirtilir:

  • Σ
  • Q
  • q0Q
  • FQ
  • δ:Q×ΣQ

δ


7
Bunun dışında DFA'lar bazen kısmi bir geçiş fonksiyonu ile tanımlanır.
Gilles 'SO- kötü olmayı bırak'

6
Haklısın, bir DFA'nın "resmi" tanımı yok. Ancak OP'nin okuması bu tanımın etkisine ihanet eder.
Yuval Filmus

Geçiş işlevinin toplam olduğunu açıkça söylemeliyim.
Ryan

24

DFA'nın eksik geçişleri olmasına izin verildiğini varsayalım. Herhangi bir geçişi tanımlanmamış bir sembolle karşılaşırsanız ne olur? Sonuç tanımsız. Bu bir DFA'nın "deterministik" özelliğini ihlal ediyor gibi görünmektedir.

Ancak, böyle tamamlanmamış bir DFA'yı tam bir DFA'ya dönüştürmek önemsizdir . Basitçe yeni bir durum ekleyin illegalve tanımlanmamış geçişleri illegaldurumla eşleyin . Son olarak, her sembol için illegaldurumdan kendisine geri geçişler ekleyin . Bu illegalduruma genellikle lavabo durumu denir , çünkü veriler lavaboya düştüğünde dışarı çıkmanın bir yolu yoktur.

Bu nedenle, pratik bir bakış açısından, eksik geçişleri ele almak için iyi tanımlanmış bir yolunuz olduğu sürece, bu bir tür tartışmadır.


10
Dikkat: Tanımlanmamış bir geçiş, otomayı belirleyici değil, sadece eksik yapar. DFA'nın bu tür tanımsız geçişlere tam olarak izin veren bazı tanımları vardır, çünkü sistematik olarak tamamlanması önemsizdir.
Darkhogg

1
@Darkhogg, kesinlikle katılmıyorum, ancak eksik bir DFA'nın determinizmi, belirli bir uygulamanın bu tanımlanmamış / eksik geçişleri nasıl ele aldığına bağlı olmaz mı? Ve böyle bir uygulama DFA'yı dolaylı olarak tamamlamaz mı?
Nathan Davis

1
Hayır, uygulamaya, tanıma bağlı değildir. Eğer toplam bir geçiş fonksiyonunu sahip olarak DFAS tanımlar ve daha sonra emin bir kısmi işlevini kullanın, tanımlanmamış davranış ve olabilir olmayan determinizmle sonuna kadar, ama bu, belirli bir var. Bununla birlikte, DFA'lar bazen kısmi bir fonksiyon kullanmak için açıkça tanımlanır ve tanımlanmamış bir geçişle karşılaştığında, davranış "kabul etmiyor" dönemidir. Herhangi bir uygulama için determinizm veya korkak bir şey yoktur, çünkü geçiş olmasa bile sonuç tanımlanır.
Darkhogg

BTW: Ayrıca dönüşüm dönüşümü de yapabilirsiniz. Bir "tam otomat" alın ve bir "tamamlanmamış otomat" elde etmek için bir batma durumunu kaldırın. Sonunda tek fark, toplam bir otomatın her zaman bir kelimeyi sonuna kadar okuyabilmesi ve bundan sonra kelimeyi kabul edip etmeyeceğine karar verirken, kısmi bir otomasyon tüm kelimelerini okumadan önce bazı kelimeleri reddedebilmesidir. karakter.
Bakuriu

5

ΣQρQ×Σ×Qδ:(Q×Σ)2Q|δ(q,σ)|1qQσΣδ(q,σ)qQσΣ

Bir kelime, kabul eden bir çalışması varsa NFA tarafından kabul edilir. Deterministik bir otomat en fazla bir koşuya sahiptir. Tam bir otomatın en az bir çalışması vardır.

Bazı yazarlar, trim otomatlarını her durumun bir başlangıç ​​durumundan bir son duruma kadar bir yol üzerinde olduğu tanımlar . Belirli diller için hem kırpılmış hem de tamamlanmış otomatik verileriniz olamaz. Bu durumlarda, tamlık gereksinimini deterministik otomat tanımının dışında tutmak uygundur.

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.