Bir turing makinesi ve sonlu durumlu bir makine arasındaki fark?


27

Turing makineleri hakkında bir sunum yapıyorum ve Turing Machines'i tanıtmadan önce FSM'lerde biraz bilgi vermek istiyorum. Sorun şu ki, birbirinden çok farklı olanı gerçekten bilmiyorum.

İşte farklı olduğunu bildiğim şey:

FSM, karşılaşılan karşılık gelen duruma bağlı olarak sıralı durumlara sahiptir; Turing makineleri, sonsuz bir "Bant" üzerinde okunan ve yazan bir kafa ile çalışırken.

FSM'lerde hataya daha fazla yer var, çünkü kolayca bitmeyen bir duruma düşebiliriz, geriye dönüp bir şeyleri değiştirebileceğimiz için Turing makineleri için çok fazla bir şey yok.

Fakat bunun dışında, Turing makinelerini FSM'lerden daha iyi yapan çok fazla fark bilmiyorum.

Lütfen bana yardım edebilir misin?


2
"FSM vs. Turing Machine" için google yapmak zor değil! Kendi araştırmanı yapmanın eğlenceli kısmı bu. Ana fark, bir Turing makinesinin sonsuz bir "belleğe" sahip olmasıdır, ancak bir FSM yoktur.
Dai

Tamam, orada biraz hile yaptım>.> ;; Yakaladım! Teşekkürler!
Julio Garcia

3
"error" argümanı doğru değil. Wikipedia ve ders kitaplarını deneyin. Temel farklarının neler olduğunu, her birinin kullanım amacını (örneğin, TM üzerinden bir FSM seçemediğimizde?) Ve ilişkilerini görün.
Parham

@MahmoudAlimohamadi demek istediğim, bir fsm'nin bitmeyen bir ülkeye inmesi için daha büyük bir şans var.
Julio Garcia

@Dai: Bir Turing Makinesi verebilir demek daha doğru olduğunu kullanmak bir keyfi büyük bellek miktarını. Kullanılan miktar asla sonsuz değildir.
reinierpost

Yanıtlar:


24

DFA'ların (Deterministic Finite Automaton) ve TM'lerin nasıl çalıştığı arasındaki temel ayrım, belleği nasıl kullandıklarıyla ilgilidir.

Sezgisel olarak, DFA'ların hiçbir "karalama" belleği yoktur; Bir DFA'nın konfigürasyonu tamamen şu anda kendisini bulduğu durum ve girdiyi okumadaki mevcut ilerlemesinden sorumludur.

Sezgisel olarak, TM'lerin teyp şeklinde bir "çizik" belleği vardır; Bir TM'nin yapılandırması hem mevcut durumunu hem de TM'nin yürütüldüğü sırada değişebileceği bandın mevcut içeriğini içerir.

DFA, ne bant sembollerini değiştiren ne de başını sola hareket ettiren bir TM olarak düşünülebilir. Bu kısıtlamalar, TM tarafından kabul edilebilecek bazı dilleri tanımayı imkansız kılmaktadır.

Teknik olarak bir TM'yi sonlu durumlu bir makine olarak kabul edeceğimi düşündüğümden, "FSM" yerine "DFA" terimini kullandığımı unutmayın; DFA'lar ve TM'ler arasındaki fark, DFA için durum sayısı ile aynı olan, ancak bir TM için sonsuz büyük olan yapılandırmaların sayısındadır.


Ah, anladım. "Bellek yok" kısmıyla ilgili bir soru: Dağıtılan paraları ekleyen bir satış makinesi örneği gördüm. Hafızası yoksa, ne kadar para olduğunu nereden biliyorlar?
Julio Garcia

@JulioGarcia Ne gördüğünü tam olarak bilmeden söylemek zor. Geçişlerde semboller üretebilen Moore ve Mealy makineleri var. Bir satış makinesinin etkinliği bu mekanizmalardan biri tarafından daha iyi modellenebilir. Bir vanilya DFA yalnızca karakter dizilerini kabul eder ve reddeder ... bir satış makinesinin herhangi bir "kod dizisini" "kabul etmesi" gerekir. Değişiklik yapmanın ekstra yan etkilerini nasıl modellediğinize bağlı olarak, ihtiyaç duyulan kazı-kazan belleğinin türü hiçbiri veya sınırsız rastgele erişim olabilir.
Patrick87

Örneğinizi görmeden, tam olarak emin olamıyorum, ancak iki tahminim var. Birincisi, ne kadar para olduğunu bilmediği: yeterli olduğunu varsayar. Bu şekilde gerçek bir otomat makinesi kurmak istemezsiniz, ancak yine de bu konsept için faydalı bir örnek. Diğer bir olasılık da gerçekten "saf" bir FSA olmaması: bu verileri makinenin "dışından" bir şekilde bağlayan bir sensöre bağlı. Makine verinin nereden geldiğini bilmiyor veya umursamıyor ve sensörde hiçbir şey saklayamıyor (bu yüzden gerçekten "bellek" değil), ancak orada gördüklerini etkilemeye devam ediyor.
The Spooniest

16

Turing Machines, tekrarlanan numaralandırılabilir dillerin sınıfı olan çok daha geniş bir dil sınıfını tanımlar. Sonlu durum makineleri, normal dil sınıfını tanımlar.

Sonlu durum makinelerinde "hafıza" yoktur, durumları ile sınırlıdır.

Sonlu durumlu bir makine, kafanın yalnızca "okuma" işlemleri yapabileceği ve her zaman soldan sağa hareket ettiği sınırlı bir Turing makinesidir.

Bu dili örnek olarak alın:

L={aibi| i>=0}

Sonlu durumdaki makineler hafızası olmadığı için sınırlı olduğundan, L kabul eden bir FSM yapılamaz.

Özetlemek:

Sonlu durum makineleri, hafızanın gerekli olmadığı küçük bir dil sınıfını tanımlar.

Turing Machines, bir bilgisayarın matematiksel tanımıdır ve FSM'lerden çok daha büyük dil sınıflarını kabul eder.

Turing Machines, FSM'den daha fazla hesaplama gücüne sahiptir. Hiçbir FSM'nin yapamayacağı ancak Turing Makinelerinin yapabileceği görevler var.


3

Aynı şüphe vardı ve iki çok aydınlatıcı video ve Quora hakkında bir açıklama şöyle gördüm:

Sonlu durumlu bir makine sadece bir dizi durum ve geçiştir. Sahip olduğu tek hafıza, içinde bulunduğu durumdur. Bu nedenle, hafıza durumlarının sayısı sonludur.

Bir Turing makinesi sonlu durumlu bir makine artı bir teyp hafızasıdır. Her geçişe bant üzerinde bir işlem eşlik edebilir (taşı, oku, yaz).

Bir turing makinesinin kullanım prosedürünün bir parçası olarak sonlu durumlu bir makine kullandığını / kullandığını ve buna ek olarak bir miktar düzenlenebilir bellek eklediğini anladım.

Lütfen şu iki videoyu da izleyin, aydınlatıcılar!

https://youtu.be/gJQTFhkhwPA

https://youtu.be/E3keLeMwfHY


2

(Standart model) Turing ve (standart model) Mealy Makineleri arasındaki farkları anladığım kadarıyla:

  • Tornalama Makineleri aynı şerit üzerinde okuma ve yazma vs. Mealy Makineleri bir giriş bandında okuma ve başka bir çıkış bandında yazma
  • Tornalama Makineleri "bant yönünü" değiştirebilir (sola veya sağa ilerler [veya durur]) vs. Mealy Makineleri yalnızca sağa doğru ilerler (bu nedenle Mealy Machine'in geçiş işlevinde {L, R, H} yön ayarı yoktur) [dolaylı olarak {R}, yani başka bir seçenek yok]
  • Turing Makineleri herhangi bir kaset hücresinde durdurabilir - Mealy Machines girişin tamamını okuduktan sonra kabul etmeyi veya reddetmeyi durdurdu

-3

Bir Turing makinesi, kasetin bir parçası olarak hatırlamak istediği şeyleri saklayabilir.


5
"Ne" derken neyi kastettiğinizi açık değil, ancak hem Turing makineleri hem de FSM'ler bunu yapabilir, bu nedenle fark olmaz.
David Richerby

@DavidRicherby Ancak bir FSM yalnızca önceden belirlenmiş bir miktarı depolayabilir, oysa Turing makineleri istedikleri kadar depolayabilir. Yani bir temel fark.
Gilles 'SO- kötülük yapmayı bırak'

1
@Gilles Anlaştı, ancak cevabın söylediği şey bu değil.
David Richerby
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.