Deterministik olmayan bir tur makinesinde determinizm, sonlu otomata ve aşağı itmeli otomatadan farklı mıdır?


9

Girdi dizesi olarak . Daha sonra NFA durum şu anda ise (alfabe kadar giriş okumak sahip ) daha sonra iki NFA içine NFA bölmelerini sonraki giriş sembolü okumadan önce, durum içinde bir varlık ve diğer varlık , bir geçiş olup olmadığını türü . Türü bir döngü var ise , NFA bazı durumları olan, alfabesine kadar okunduğu noktaya kadar durumunda başka bir NFA'yı hatırlamanın birw1w2...wnrwbenrsrεsrεsεq1....εqkεrqbenrwben.

PDA (deterministik olmayan) durumundaysa (ve girdi kadar ) ve (burada den sonra anlama gelmez girişten okunur, hiçbir şey atlanmaz veya yığından okunmaz ve alfabe yığına itilir) daha sonra bir sonraki giriş alfabesini önce durumlarında sonsuz PDA olacaktırrwbenrε,εbirsε,εbirq1....ε,εbirqkε,εbirrε,εbirwbenbirwben+1r,s,q1,...qk çünkü NFA'dan farklı olarak, durumlar sınırlı olmasına rağmen yığın içeriği farklı olabilir (sonsuz olasılıklar), eğer yanılmıyorsam.

NFA ve PDA'da olduğu gibi, determinizmin gücü geçişlerinden gelir . Bu yüzden, deterministik olmayan Turing makinesinin de determinizmini NFA ve PDA (daha PDA gibi) gibi geçişlerinden aldığını varsayıyorum . Deterministik bir Turing makinesinin deterministik olmayan bir makineyi simüle edebileceğini biliyorum (önce ekmek aramasını kullanan kanıtı biliyorum). Ama şimdi bunun nasıl mümkün olduğu konusunda şüpheliyim. Çünkü yukarıdaki PDA türünde bir döngü, deterministik olmayan Turing makinesinin durum şemasında mevcutsa, bir sonraki sembolü önceεεwben+1deterministik Turing makinesi, deterministik olmayan Turing makinesinin bazı dallarında bir konfigürasyon simüle ederken bile (bfs) sonsuz Turing makinesini takip etmek zorunda kalacaktır (yine devletler sonludur, ancak banttaki sembollerin sonsuz olasılıkları vardır).
Peki, Turing makinelerinde tam olarak determinizm nasıl tanımlanır? Önemsiz bir şeyi yanlış mı anlıyorum? Deterministik olmayan Turing makineleri geçişleri kullanıyor mu?ε


Önemsiz şüphelerim için özür dilerim. Yanlış bir şey olursa sorumu güncelleyebilirim.


2
Başlık sorusu ile ilgili olarak, resmi tanımlarda çok fazla fark yoktur. Ortaya çıkan güce gelince, evet her makine modelinde çok farklı sonuçları vardır. sorunun geri kalanına gelince, ayrıştırmakta güçlük çekiyoruz. :(
vzn


@YuvalFilmus evet var. Geçiş işlevinin tanımı, anladığım güç setini içerir. Ancak Turing makinelerinde geçişleri ile ilgili şey hala benim için belirsiz. epsilon
sashas

@vzn Ben de öyle düşünmüştüm. Gerçekten üzgünüm. Şüphelerimi ortaya koymakta kötüyüm. Ama öneri verirseniz gelişebilirim.
sashas

Yanıtlar:


8

Determinizmsizlik tüm bağlamlarda aynı kavramdır - makinenin herhangi bir noktada birkaç seçeneğin ilerlemesine izin verilir. Ancak, semantikler biraz farklıdır, çünkü DFA'lar / NFA'lar ve PDA'lar her zaman toplam fonksiyonları tanımlarken , Turing makineleri (deterministik veya deterministik olmayan) genel olarak kısmi fonksiyonları tanımlar .

Kısmi işlev, yalnızca alan adının bir bölümünde tanımlanan işlevdir. Eğer üzerinde tanımlı değil o zaman yazma . (Yani gerçekten toplam fonksiyonudur, fakat çıkış tanımlanmamış bu aralık anlamına özel bir unsur vardır.) Bir deterministik Turing makinesi aşağıdaki gibi kısmi bir işlevi tanımlar: eğer ile durur sonra olduğu üzerinde durduğunda kasetin içeriği ; aksi takdirde .fxf(x)=fMMxM(x)MxM(x)=

Deterministik bir Turing makinesi karar vericisinin kabul ve reddetme olmak üzere iki tür durdurma durumu vardır ve kısmi bir işlevi aşağıdaki gibi tanımlar: , kabul eden bir durumda durdurursa, ; reddetme durumunda durursa, ; durmazsa, . Eğer daima bundan sonra durur biz bunu söylemek kabul dil .MxM(x)=1M(x)=0M(x)=ML={x:M(x)=1}

Deterministik olmayan bir Turing makinesinin (her zaman bir kararlayıcıdır) "dallanmasına" (belirli bir zamanda birkaç olası seçeneğe sahip olmasına) izin verilir ve aşağıdaki semantiğe sahiptir:

  • M(x)=1 girişinde ise, makine tüm kollarda durur ve en az bir kol için kabul edilebilir bir durumda durur.xM
  • M(x)=0 , girişinde ise, makine tüm kollarda durur ve her zaman reddetme durumunda durur.xM
  • M(x)=Eğer girişinde durmadığı bir dal varsa .xM

Bu tanım göz önüne alındığında, deterministik bir Turing makinesi kararlayıcısı kullanarak deterministik olmayan bir Turing makinesinin nasıl simüle edileceğini umuyoruz: tüm dalları dener, herhangi birinin kabul eden bir durma durumuna yol açıp açmadığını kontrol edersiniz. Tüm şubeler durduktan sonra, kabul eden bir duruma mi yoksa reddetme durumuna mı gideceğinize karar verebilirsiniz. Eğer deterministik olmayan Turing makinesi bazı dallarda durmazsa, deterministik olan da durur.


-moves ne olacak? İlgili otomatların asla durmayacağı konusunda sorun çıkarırlar. Sonlu otomatalar (NFA'lar ve PDA'lar) için durmayan hesaplamaları sessizce göz ardı ediyoruz. Bunu yapma nedenimiz, onları belirleyici olarak simüle etmek için saf algoritma (tüm hesaplama yollarını simüle etmek) pek işe yaramasa da, ortaya çıkan dillerin her zaman hesaplanabilir olmasıdır. Bu, DFA'lara dönüştürülebilen NFA'lar için o kadar zor değildir. Bununla birlikte, deterministik PDA'lar deterministik olmayan PDA'lardan kesinlikle daha zayıftır. Bununla birlikte, her PDA'nın geçişleri olmayan bir taneye eşdeğer olduğunu gösterebilirsiniz (kanıt, bağlamsız gramerlerden geçebilir).εε

Turing makinelerinde -moves simüle edebilirsiniz , ancak durmayan hesaplamalara neden olan döngüler olmadığına dikkat etmelisiniz. Bununla birlikte, bazı durumlarda, yukarıdakiyle aynı numarayı kullanabiliriz. Örneğin, Turing makinenizin alan kısıtlı olduğunu varsayalım: kullandığı alanda bir üst sınır biliyoruz (giriş uzunluğuna bağlı olarak). Bu durumda, durmayan her hesaplama zorunlu olarak döngü yapar (Turing makinesinin bant içeriği de dahil olmak üzere sonlu birçok durumu olduğu için) ve bu nedenle yukarıdaki gibi durmayan hesaplamaları "görmezden gelirsek", sonuçta elde edilen hesaplama modeli hala hesaplanabilir. Daha genel olarak, bu, her durmayan hesaplama döngüsünün garanti edildiği sürece çalışır. (Bu NFA'lar için geçerlidir ancak PDA'lar için geçerli değildir.)ε


Teşekkür ederim. Son bir şüphem vardı. Geçiş ile bir PDA olarak PDA durum ise, o zaman sadece bölünmüş ( Giriş bandı alfabe okunur, alfabe yığını ve gelen uzattı ) yığına olduğu bağımsız ne ve olan ( veya normal yığın alfabe). Haklı mıyım? rb,casrbbcaϵacϵ
sashas

@ sasha Devam etmek için birden fazla seçenek olduğunda yürütme "ayrılır".
Yuval Filmus

geçişleri olan bir onlarsız bir PDA'ya dönüştürülebildiğini nasıl kanıtlayabilirim ? Her zaman PDA tarafından kabul edilen dilin normal Chomsky biçiminde CFG'sine dönüştürülerek karar verilebileceğini kanıtlayabileceğimi biliyorum. Ama yine de epsilon geçişleri olmadan PDA'ya dönüşemiyor. Herhangi bir ipucu gerçekten takdir ediyorum. ε
sashas

1
@sasha Greibach normal biçimindeki bağlamsız bir dilbilgisini geçişi olmayan bir PDA'ya dönüştürebilirsiniz (en azından Wikipedia'ya göre). ε
Yuval Filmus

1
@YuvalFilmus, GNF gelen nondeterministic yapı esas olarak yinelemeli iniş: a üretimi için ise, girişi ve en üstteki olan yerine ileAaB1B2BnAaAB1Bnyığını. Hayırϵiçgörü. Hala belirsiz olmayan (birkaç tane olabilirA-başlayan prodüksiyonlar a).
vonbrand
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.