Determinizm ile rastgelelik arasındaki fark nedir?


38

Bunu son zamanlarda duydum -
"deterministik olmayan bir makine, olasılıksal bir makine ile aynı değildir. Ham terimlerle, deterministik olmayan bir makine, geçiş olasılıklarının bilinmediği bir olasılıksal makinedir".

Anladığım kadarıyla hissediyorum ama gerçekten anlamıyorum. Birisi bana bunu açıklayabilir mi (makineler bağlamında veya genel olarak)?

Düzenleme 1:
Açıklığa kavuşturmak için, alıntı sonlu otomatiğin bağlamındaydı, ancak soru, diğerlerinin cevapladığı gibi Turing makineleri için de anlamlı.

Ayrıca, insanların söylediklerini duyuyorum - "... sonra belirleyici olmayan bir şekilde kümeden x nesnesini seçiyorum". "Rastgele" demek istediklerini düşünürdüm. Dolayısıyla karışıklık.


5
Bilgisayar bilimlerinde insanlar bazen bir algoritmanın rastgele olmadığını vurgulamak için "deterministik" terimini kullanırlar. Bu nedenle karışıklık: deterministik araçlar Rastgele olmayan, ancak belirli olmayan etmez randomize ortalama.
Jukka Suomela


Bu soru beni SE'nin bu köşesine götürüyor ...
Troy Woo

Yanıtlar:


27

Bilgisayar bilimcilerinin "klasik olmayan" terimini, diğer bilim dallarında tipik olarak kullanılma şekillerinden farklı olarak kullandıklarını anlamak önemlidir. Nondeterministik bir TM aslında fizik anlamında belirleyicidir - yani, bir NTM verilen bir girdide her zaman aynı cevabı verir: ya her zaman kabul eder ya da her zaman reddeder. Bir olasılıksal TM, belirli bir olasılıkla bir girişi kabul eder veya reddeder, bu nedenle bir çalışmada kabul edebilir, diğerinde reddedebilir.

Daha ayrıntılı olarak: Bir NTM tarafından gerçekleştirilen hesaplamanın her aşamasında, tek bir geçiş kuralına sahip olmak yerine, çağrılabilecek birden çok kural vardır. NTM'nin kabul edip etmeyeceğini belirlemek için, hesaplamanın tüm olası dallarına bakarsınız. (Yani, her adımda seçilebilecek tam 2 geçiş varsa ve her hesaplama dalının toplam N adımı varsa, o zaman dikkate alınması gereken toplam marka olacaktır.) Standart bir NTM için, bir giriş hesaplama dallarından herhangi birinin kabul etmesi durumunda kabul edilir.2N

Tanımın bu son kısmı, diğer türdeki Turing makinelerini elde etmek için değiştirilebilir. Özgün bir çözümü olan sorunlarla ilgileniyorsanız, tam olarak bir dal kabul ederse TM'nin kabul etmesini sağlayabilirsiniz. Çoğunluk davranışlarıyla ilgileniyorsanız, şubelerin yarısından fazlasının kabul etmesi durumunda TM'yi kabul etmesini tanımlayabilirsiniz. Ve rastgele (bazı olasılık dağılımlarına göre) olası dallardan birini seçip, o dalın ne yaptığını temel alarak kabul veya reddederseniz, o zaman olasılıksal bir TM'niz olur.


Kurt, 2 ^ N rakamının nasıl geldiğini açıklayabilir misin? Her dal için 2 olasılık varsa ve çözüme ulaşmak için böyle bir N aşaması varsa, bunu 2 ^ (N + 1) -1 yapmaz. Bir grafik gibi düşünmeye çalışıyorum ve yanlış olabilirim. Lütfen 2 ^ N numarasına nasıl ulaştığınızı açıklayabilir misiniz? Teşekkür ederim.
Gangadhar

Hesaplamayı bir ağaç olarak, kökü ilk yapılandırmayı adım 0 olarak temsil ediyorsanız, N adımdan sonra 2 ^ N izniniz var ve dal olarak adlandırdığım kökten bir yol bir yaprak. Hesaplamada bir noktada tüm olası yapılandırmaları temsil eden 2 ^ (N + 1) -1 toplam düğüme sahip olacağınız doğrudur. Umarım terminolojim tamamdır!
Kurt

Bütün bilimler, sınırsız entropi kavramı üzerinde birleşmiş olan nondeterminizm tanımını kullanır. Tüm bilimlerde öngörülemeyen sonuçlar, bir algoritmanın (veya sistemin) tüm olası çıktılarını önceden tanımlayamamasından kaynaklanmaktadır, çünkü sınırsız durumları, yani NP karmaşıklık sınıfını kabul etmektedir. Durup durmadığını tespit etmek ve sonucun önemsiz olduğunu belirtmek için belirli bir girdiyi belirtmek, diğer bilimlerde aynı durum değişikliğini tekrar ederken, evrenin entropisinin geri kalanını sabit tutmakla eşdeğerdir. Bilgisayar bilimi bu entropi izolasyonuna izin verirken, doğa bilimleri bunu yapmaz.
Shelby Moore III

1
@ShelbyMooreIII Hayır. Bilgisayar biliminde ortaya çıkan kavramsızcılık kavramını yanlış anladınız.
David Richerby

@DavidRicherby üzgünüm David. Diğer konuya git ve yanıltmadan seni reddettiğimi gör. Orada sunduğum mantığı reddetmeyi deneyebilirsiniz. Sadece delil ve açıklama olmadan iddia etmek size gerçekleri kazandırmaz.
Shelby Moore III

18

Turing Makineleri bağlamında "deterministik olmayan" gerçekten "paralel" anlamına gelir. Randomize bir algoritma, deterministik olmayan bir Turing makinesinin hesaplama ağacının dallarını rastgele keşfedebilir, ancak deterministik olmayan bir Turing makinesi, aynı zamanda, gücünü keşfeden aynı zamanda onları da keşfedebilir.

Diğer bağlamlarda (Turing Makineleri hakkında konuşuyorsanız teklifinizden söyleyemem), randomize bir algoritma kasıtlı olarak rastgelelik kullanıyor olabilir, oysa determinist olmak istediğiniz bir algoritma bir hata nedeniyle determinist olmayan bir sergileme gösterebilir ...

Düzenlemenize cevaben, insanlar "deterministik olmayan bir kümeden bir öğe seç" deyince, bu sadece "rastgele" anlamına gelebilir. Ancak, "sihirli bir şekilde setten -right elemanını seç" anlamına da gelmeleri mümkündür. Deterministik olmayan turing makinelerini görmenin yaygın bir yolu, ilk önce sihirli bir çözümü "tahmin etmeleri" ve ardından doğruluğunu kontrol etmeleridir. Elbette, bu sihir tahminini tüm olasılıkları paralel olarak kontrol etmenin bir sonucu olarak görebilirsiniz.


"Büyülü bir şekilde doğru elemanı seç " ile ilgili olarak: “Nondeterminism” kelimesi bu anlamda kullanıldığında insanlar bazen “melek” ile nitelendirilir. Aynı zamanda 'şeytani' nondeterminism de var. (Yine de, dediğiniz gibi, öz, şeylerin paralel olarak gerçekleşmesidir.)
Radu GRIGore

13

“Deterministik”, “rasgele” ve “deterministik” olmayanların üç farklı anlama geldiği çeşitli bağlamlar vardır. Güvenlik ve eşzamanlılık gibi birden fazla katılımcının olduğu bağlamlarda, sezgi genellikle şöyle bir şeydir:

  • deterministik “seçim yapıyorum” anlamına geliyor

  • determinist olmayan, “başkası seçecek” anlamına gelir

  • rastgele “kimse seçemez” demektir

Birkaç örnek:

  1. [eşzamanlılık, rastgele] Birden çok düğümün herhangi bir zamanda mesaj gönderebileceği Ethernet gibi bir ağ protokolü düşünün . İki düğüm çok yakın aralıklarla bir mesaj gönderirse, bir çarpışma var: mesajlar çakışıyor ve okunamıyor. Bir çarpışma olursa, her iki düğüm de mesajları daha sonra tekrar göndermeyi denemelidir. Ethernet özelliklerini yazdığınızı düşünün. Denemeler arasındaki gecikmeyi nasıl belirlersiniz? (Gecikmeler daha iyi olsa daha iyi olurdu, yoksa yine bir çarpışma olacak!)

    • deterministic: her iki düğümün de kullanması gereken bir algoritma tanımlayın. Bu Ethernet için yapılmamıştır, çünkü farklı sonuçlar vermek için algoritmanın bir düğümü diğerine (belirli bir mesaj içeriği için) ayırmak zorunda kalacak ve Ethernet bunu yapmaktan kaçınacaktır.

    • deterministik olmayan: her uygulayıcının karar vermesine izin verin. Bu iyi değil çünkü her iki düğümdeki uygulayıcılar aynı algoritmayı seçebilir.

    • Rastgele: Her düğüm rastgele (belirli bir dağıtım ile) bir gecikme değeri seçmelidir. İşte böyle çalışır. İki düğümün aynı gecikmeyi seçmesi küçük bir olasılık ve başka bir çarpışma var, ancak yeniden deneme sayısı arttıkça başarı olasılığı 1'e doğru asimptotik olarak artar.

  2. [concurrency, nondeterministic] Eş zamanlı bir algoritma yazıyorsunuz. Belirli bir durumda, bir kilitlenme olabilir. Kilitlenme oluşmasını nasıl önleyebilirsiniz? Bu, eşzamanlılık ortamınızın ne tür bir zamanlamaya sahip olduğuna bağlıdır.

    • deterministik: programlayıcı her zaman iyi tanımlanmış belirli noktalardaki iplikler arasında geçiş yapar, örneğin yalnızca kod açıkça verildiğinde. Ardından, dişlilerin kötü zamanlarda vermemesini sağlayın.

    • rasgele: zamanlayıcı, rasgele iş parçacığı değiştirmek için garanti edilir. O zaman uygulanabilir bir strateji, oluşması durumunda kilitlenmeyi tespit etmek ve algoritmayı baştan başlatmak olabilir.

    • deterministik olmayan (çoğu programlayıcı böyledir): programcının dişler arasında ne zaman geçiş yapacağını bilmiyorsunuz. Bu yüzden gerçekten kilitlenmeden kaçınmalısınız. Rastgele durumdaki gibi algılamaya ve yeniden başlatmaya çalıştıysanız, programlayıcının iş parçacıklarınızı tekrar tekrar aynı şekilde programlaması riski size aittir.

  3. [güvenlik, rastgele] Bir şifre istemi ile bir uygulama yazarsınız. Bir saldırganı nasıl modelliyorsunuz?

    • deterministic: saldırgan her zaman aynı şifreleri dener. Bu hiç bir saldırganın faydalı bir modeli değil - saldırganların tanımı gereği öngörülemez.

    • kararsız: saldırgan bir şekilde şifrenizi bilir ve girer. Bu, şifrelerin sınırlandırılmasını gösterir: gizli tutulmaları gerekir. Şifreniz gizliyse, bu saldırgan gerçekçi değildir.

    • rastgele: saldırgan rastgele şifreleri dener. Bu durumda, bu gerçekçi bir saldırgan modelidir. Kullandığı rasgele dağıtıma bağlı olarak saldırganın şifrenizi tahmin etmesinin ne kadar süreceğini inceleyebilirsiniz. İyi bir şifre, herhangi bir gerçekçi dağıtım için uzun süren şifredir.

  4. [güvenlik, özgün olmayan] Bir uygulama yazıyorsunuz ve bir güvenlik boşluğu olabileceğinden endişeleniyorsunuz. Bir saldırganı nasıl modelliyorsunuz?

    • deterministic: saldırgan bildiğiniz her şeyi bilir. Yine, bu bir saldırganın faydalı bir modeli değil.

    • rastgele: saldırgan rastgele çöp atıyor ve programınızın çökmesine neden olmayı umuyor. Bu bazen yararlı olabilir ( fuzzing ), ancak saldırgan bundan daha zeki olabilir.

    • deterministik olmayan: bir delik varsa, saldırgan sonunda bulacak. Bu nedenle, başvurunuzu sertleştirmeniz daha iyi olur (saldırganın istihbarat gereksinimini arttırın; bunun bir hesaplama gerekliliği yerine bir istihbarat gereksinimi olduğu için bunun AI gelinceye kadar deterministik olmadığı sayılır) veya daha iyisi, güvenlik deliği ve bu nedenle böyle bir saldırgan yok.


Düzeltme , ifadelerinizde ispatlanan eksik kelimenin etrafında döner : Kararlı: “ Seçtiğimi ispatlayabilirim (yani tamamen P karmaşıklık sınıfındaki girişimi sonlandıran sonucu belirleyerek)”, Nondeterministic “Seçtiğimi ispat edemem (yani, sona erme ispatı NP karmaşıklık sınıfında belirsizdir) ”ve rastgele“ zamanın ½ (yani ZPP karmaşıklık sınıfı) seçtiğimi kanıtlayabilirim ”.
Shelby Moore III

@ShelbyMooreIII Nereye gittiğinizi anlamıyorum. Determinizm, genel olarak, bir şeyin gerçekten deterministik olduğunu kanıtlamak ya da belirli bir karmaşıklık sınıfında olmakla ilgili bir sorun hakkında değildir. Dahası, karmaşıklık sınıfları sistemin kendisinin determinizmi hakkında bir şeyler ispatlayabilmesiyle ilgili değildir (çoğu sorunun sistem içinde kanıtlanma fikri bile yoktur!).
Gilles 'SO- kötülük' dur

Nondeterminizm her zaman sınırsız entropinin bir sonucudur, bu yüzden bunun bir başka sonucunu seçtiğimi ispatlayamıyorum (çünkü seçimimin sona ereceğini ispatlayamam). Yapabileceğim tek şey denemek, yani fesih olup olmayacağını bilmeden önce yapmak istediğim her seçimi saymalıyım. Oysa determinizm ile sonlandırması gereken bcz sonucunu seçtiğimi ispatlayabilirim. Randomizasyon, zamanın sadece rastgele bir miktarını seçebildiğimi kanıtlayabildiğim yerdir, çünkü entropinin bir kısmı benim kontrolümde değildir. Kontrolüm altında olmayan miktarı biliyorsanız, istatistiklerini kesin olarak ispatlayabilirim.
Shelby Moore III

Nondeterminizme yol açan karmaşıklık sınıfı NP olmadığı kabul edilir, bunun yerine NP bir bağımlılıktır. Turing-complete, nondeterminizmin bir örneğidir. Plz, Kurt'un cevabındaki yorumumu ve ilgili konu hakkındaki cevabımı görüyor . Size demek istediğim, deterministik, özgün olmayan ve rastgele terimler için kesin olarak kanıtlanmış ve öngörülemeyen şeydir. Her şey entropi hakkında (& basla ilgili değil )
Shelby Moore III

9

İşleri daha net hale getirmek için bir örnek:

10000 kapı arasında açılacak bir kapı seçmeniz gerektiğini söyleyin (kapılardan birinin arkasında bir ödül olduğunu söyleyin). Rastgele seçmek, 10000 kapıdan birini seçip girmek anlamına gelir. Sadece bir kapının arkasında bir ödül varsa, muhtemelen bulamazsınız. Deterministik olmayan bir makine 10000 kapının tümüne aynı anda girer. Herhangi bir yerde bir ödül varsa, deterministik olmayan makine onu bulacak.


8
Alternatif olarak, deterministik olmayan bir makine yalnızca bir kapı açar, ancak her zaman doğru olandır.
Jeffε

3
Evet kesinlikle. Bu deterministik olmayan makinelerin "mümkün olan en şanslı tahmincisi" karakterizasyonu olurdu.
Robin Kothari

@RobinKothari: "Alternatif olarak, deterministik olmayan bir makine sadece bir kapı açacaktı, ama her zaman doğru olanı olacaktı." Ve "Deterministik olmayan bir makine tüm 10000 kapıya aynı anda girecekti"?
tanmoy

3
@tan: Her ikisi de doğru yorumlar. Deterministik ve randomize makinelerin aksine, fiziksel olarak gerçekleştirilebilir, deterministik olmayan bir makine hayali bir nesnedir. Demek istediğin gibi hayal edebilirsin, asıl nokta her zaman doğru kapıyı bulduğu. Belki de ödül nerede belki birileri gizlice makineyi anlattı, iyi bir tahminci belki sadece denetler tüm kapılar sihirli vb
Robin Kothari'yi

5

Deterministik Olmayan Turing Makinesinin Tanımı : Mevcut hücre ve mevcut durumun bazı kombinasyonları için birden fazla sonraki duruma sahip olan bir Turing makinesi. Herhangi bir hareket sırası kabul edilmeye yol açarsa bir giriş kabul edilir.

Olasılıklı Turing Makinesinin Tanımı : Bazı olasılık dağılımlarına göre her noktada mevcut geçişler arasında rastgele seçilen bir özelliksiz Turing Makinesi (TM).

Olasılıklı Turing Makinesi, hata yapabilen deterministik olmayan bir Turing Makinesidir.

PPT Yararlı buldum.


5

Aşağıdaki tanımı tercih ederim:

Olasılıklı bir Turing makinesi diye bir şey yoktur! Sadece deterministik makineler (her adımda tek bir olası takip durumu) ve deterministik olmayan makineler (her adımda sabit sayıda olası takip durumu) vardır.

Determinizm aşağıda belirtilen şekilde çalışır: Her girdiyi durduran (sorun giderilirse mümkün) belirleyici olmayan bir makine düşünün, olası her hesaplamanın aynı sayıda adımı kullandığı ve her adımın tam olarak 2 olası takip durumuna sahip olduğu ( ikisi de gerçekten bir kısıtlama değil). NP tanımında olduğu gibi, klasik olmayan bir makine, en az bir hesaplama kabul edebilecek bir girdi varsa ve tüm hesaplamalar reddedilirse girişi reddeder.

Rastgele olma şu şekilde gerçekleşir: Yukarıda belirtildiği gibi deterministik olmayan bir makineden rastgele bir şekilde tek bir hesaplama yolu seçebilirsiniz. Bu ve rastgele seçilen bir hesaplama yolunun kabul etmesi durumunda kabul edersiniz. Bu randomize yaklaşım, ezici bir olasılıkla, bu cevabın doğru olması durumunda, probleminizi "çözer".

Bu yüzden determinizm ve rastlantısallık arasındaki fark, doğru bir Evet-cevabın (ve güvenilir bir No-cevabının) sadece var olup olmadığını ya da "çoğu zaman" sorununuzu çözmekle ilgilenip ilgilenmediğinizdir .


-1 İlk paragrafınızdaki hatalar. Olasılıklı Turing makineleri mevcuttur ve ZPP karmaşıklık sınıfının dış entropisinden bir bozuk para atmayı örneklemektedir. Determinizm, NP karmaşıklık sınıfının sınırsız olmayan sınırlı sayıda alternatif durumuna sahiptir. Determinizm, P karmaşıklık sınıfıdır ve bunu doğru anladınız.
Shelby Moore III

Sanırım cevabımı yanlış okuyorsun. Olasılıklı karmaşıklık sınıflarını tanımlamak için "sıradan" deterministik olmayan bir TM'den farklı bir makineye (bozuk para veya başka yeteneklere sahip) ihtiyacınız olmadığını savunuyorum. Bir NTM'den faydalanabilir ve farklı bir kabul tanımını, yani "en çok hesaplama yolunun girişi kabul ettiği" tanımını, "giriş için en azından tek bir kabul yolunun bulunduğu" ifadesini kullanabilirsiniz.
MRA

3

Basitleştirmek için: deterministik olmayan bir makine, her bir paralı çevirmenin sonucunu en uygun şekilde seçebilir (olasılıklı bir makineyle benzerliği istiyorsanız). Ayrıca madeni para kapağının her sonucu için hesaplamayı paralel olarak yaptığını hayal edebilirsiniz.


1

Determinizm olmayan bir motivasyon olarak hata ayıklama sırasında geriye adım atmak

Deterministik olmayan bir makine kavramı, hata ayıklama sırasında bir program boyunca geriye doğru (zaman içinde) adım atmak istediğinizde kendini gösterir. Tipik bir bilgisayarda, her adım yalnızca sınırlı miktarda belleği değiştirir. Bu bilgileri önceki 10000 adımlara her zaman kaydederseniz, programda hem ileri hem de geri adım atabilirsiniz ve bu olasılık oyuncak programlarıyla sınırlı değildir. İleri ve geri adımlar arasındaki asimetriyi kaldırmaya çalışırsanız, deterministik olmayan bir makine kavramı ile bitirdiniz.

Determinizm ve rastlantısallık arasındaki benzerlikler ve farklılıklar

Olasılıklı makineler deterministik olmayan makinelerle bazı özellikleri paylaşırken, ileri ve geri adımlar arasındaki bu simetri paylaşılmaz. Bunu görmek için, deterministik bir makinenin adımlarını veya geçişlerini (tam veya kısmi) fonksiyonlar, deterministik olmayan bir makinenin (sonlu) ilişkilerle geçişleri ve olasılıklı bir makinenin (alt) stokastik matrisler tarafından geçişlerini modelleyelim . Örneğin, burada sonlu otomatlar için karşılık gelen tanımlar

  • sonlu bir durum kümesiQ
  • sınırlı sayıda giriş sembolü kümesiΣ
  • deterministic : bir geçiş işleviδ:Q×ΣQ
  • deterministik olmayan: bir geçiş işleviΔ:Q×ΣP(Q)
  • deterministik olmayan: bir geçiş ilişkisiΔQ×Σ×Q
  • deterministik olmayan: bir fonksiyonΔ:ΣP(Q×Q)
  • olasılık : bir fonksiyonδ:ΣssM(Q)

Burada , ve , üzerinde alt-altı matrislerin alanıdır . Sağ alt nokta altı matris, negatif bir gerçek matristir ve her satır en fazla 1 olur.S ler s M ( S ) SP(Q)QssM(Q)Q

Birçok farklı kabul şartları vardır

Geçişler bir makinenin sadece bir kısmıdır, başlangıç ​​ve son haller, olası çıktı ve kabul şartları da önemlidir. Bununla birlikte, deterministik makineler için sadece çok az değerli kabul koşulları, deterministik olmayan makineler için bir dizi makul kabul koşulları (NP, coNP, #P, ...) ve olasılıklı makineler için birçok olası kabul koşulları vardır. Dolayısıyla bu cevap öncelikle geçişlere odaklanır.

Olasılık makineleri için tersinirlik önemsiz değildir

Kısmi işlev, enjekte edilirse geri döndürülebilirdir. Bir ilişki her zaman belirli bir anlamda ters ilişki kurarak tersine çevrilebilir (yani, okların yönünü tersine çevirerek). Bir alttoastik matris için, aktarılan matrisi almak zıt ilişkiyi almaya benzer. Genel olarak, aktarılan matris, bir alttoastik matris değildir. Eğer öyleyse, o zaman matrisin iki kat alt madde olduğu söylenir . Genel olarak, , iki kat daha düşük bir matris için bile , bu nedenle, bunun makul bir tersinirlik nosyonu olup olmadığı merak edilebilir. Olasılık devlet ulaşmak için, çünkü makul devlet den içindeP B A k A B kPPTPPPBAkileri adımlar erişim durumu olasılık ile aynıdır durumu ile ilgili içinde geri adımları. A'dan B'ye giden her yol ileri ve geri aynı olasılığa sahiptir. Uygun kabul koşulları (ve diğer sınır koşulları) seçilirse, iki kat altı matrisler, olasılıksal makineler için uygun bir geri dönüşebilirlik kavramıdır.ABk

Deterministik olmayan makinelerde bile tersine çevrilebilirlik zordur

Tıpkı gibi, genel olarak , ikili bir ilişki . Eğer kısmi işlevi, daha sonra tarif ve . ve ilişkileri bu anlamda kesinlikle geri dönüşümlü olsa bile , bu, da kesinlikle geri dönüşümlü olacağı anlamına gelmez . Öyleyse şimdi katı tersinirliği görmezden gelelim (ilginç hissettirse bile) ve zıt ilişkiyi alarak tersine odaklanın. Olasılık durumundaki gibi benzer bir açıklama, uygun kabul koşulları kullanıldığında bu tersinenin iyi çalıştığını göstermektedir.PPTPPRRopRRRRRRopR=RRopRRop=RopPQPQ

Bu hususlar aynı zamanda pushdown otomata için anlamlıdır

Bu yazı, determinizm olmayanlar için bir motivasyonun ileri adımlar ile geriye adımlar arasındaki o asimetriyi ortadan kaldırmak olduğunu ileri sürüyor. Bu determinizm olmayan simetri sınırlı otomata ile sınırlı mı? Pushdown otomata için karşılık gelen simetrik tanımları

  • sonlu bir durum kümesiQ
  • sınırlı sayıda giriş sembolü kümesiΣ
  • küme sembollerinin sonlu bir kümesiΓ
  • deterministik : kısmi bir geçiş işleviöylesadecetümiçinδ:Q×Γ×(Σ{ϵ})Q×Γ{0,2}δ(q,γ,ϵ)ϵδ(q,γ,σ)=ϵσΣ
  • deterministik olmayan: bir geçiş işleviΔ:Q×Γ{0,1}×(Σ{ϵ})P(Q×Γ{0,1})
  • deterministik olmayan: bir geçiş ilişkisiΔQ×Γ{0,1}×(Σ{ϵ})×Q×Γ{0,1}
  • deterministik olmayan: işlevΔ:Σ{ϵ}P(Q×Γ{0,1} × Q×Γ{0,1})
  • olasılık : bir işlevöyle kihepsi içinδ:Σ{ϵ}ssM(Q×Γ{0,1})δ(ϵ)+δ(σ)ssM(Q×Γ{0,1})σΣ

İşte boş dize, ve . Bu gösterim, pushdown otomata için birçok tanımda kullanılan benzemesi nedeniyle kullanılır.ϵΓ{0,2}={ϵ}Γ(Γ×Γ)Γ{0,1}={ϵ}ΓΓ

İlerlemeyen (girişmeyen) giriş ve istif işlemleri için ters çevirme diyagramının doğrulanması

ile ilerleyen bir giriş işlemi aşağıdaki gibi tersine çevrilirbΣΣ{ϵ}

a|bca|bcab|c
a|bcab|cab|c
c|bac|bacb|a

Herhangi bir girişi okumayan ile ilerlemeyen bir giriş işlemi geri alınabilirϵΣ{ϵ}

a|bca|bca|bc
a|bca|bca|bc
cb|acb|acb|a

İşte, tersine dönme işlemi kötü görünen ilerlemiş bir giriş işleminin şeması

a|bca|bcab|ca|bcab|cab|cc|bac|bacb|a

Bir yığın işlemi için da, üç durum vardır , ve . Yığın işlemi aşağıdaki şekilde ters çevrilir ( s , t ) = ( a , ϵ ) ( s , t ) = ( ϵ , a ) ( s , t ) = ( a , b ) ( a , ϵ ) ( ϵ , a(s,t)Γ{0,1}×Γ{0,1}(s,t)=(a,ϵ)(s,t)=(ϵ,a)(s,t)=(a,b)(a,ϵ)(ϵ,a)

abab|b
ab|bb
b|bab

İstif işlemi aşağıdaki gibi tersine çevrilir(a,b)(b,a)

a c b c b c b c b c a c acacbc
acbcbc
bcbcac

Genelleştirilmiş bir yığın işlemi 'a geri(ab,cde)Γ×Γ(cde,ab)

Bir b f ... c d e f ... c d e f ... c d e f ... c d e f ... bir b f ...abfabfcdef
abfcdefcdef
cdefcdefabf

Turing makineleri için tersinirlik

Birden fazla istifli bir makine, bir Turing makinesine eşdeğerdir ve istif işlemleri kolayca tersine çevrilebilir. Başlangıçtaki motivasyon ayrıca (bir Turing makinesinin) tersine çevrilmesinin zor olmamasını da önerir. Tipik bir talimat setine sahip bir Turing makinesi, ters çevrilmesi için çok iyi değildir, çünkü başın altındaki sembol, bandın sola mı sağa mı hareket edeceğini etkileyebilir. Ancak komut seti uygun şekilde değiştirilirse (makinenin hesaplama gücünü düşürmeden), tersine çevirme işlemi neredeyse önemsizdir.

Komut setini değiştirmeden tersine çevirme de yapılabilir, ancak kurallı ve çirkin değildir. Bir tersine dönmenin varlığının, Turing makinelerine ilişkin diğer birçok soruya karar vermek kadar zor gibi görünebilir, ancak tersine çevrme yerel bir yapıdır ve zor sorular genellikle küresel bir tada sahiptir, bu nedenle karamsarlık muhtemelen haksızlığa uğradı.

Eşdeğer komut kümelerine geçme dürtüsü (geri dönüşü daha kolay), bu soruların ilk göründüğünden daha az belirgin olduğunu göstermektedir. Bu görevde, daha önce toplam fonksiyonlar ve stokastik matrislerin, kısmi fonksiyonlar ve altdokastik matrislerin yerini almasıyla daha ince bir geçiş meydana geldi. Bu anahtar kesinlikle gerekli değildir, ancak tersi aksi takdirde çirkindir. Temel altı matrislere geçiş, aslında, tersine çevrilebilirliğin her şeyden önce çok önemsiz olmadığı ve kişinin sadece yüksek düzeyde bir bakış açısı almak yerine (yukarıda olduğu gibi) detayları yazması gerektiği noktasındaydı. başlangıç). Niel de Beaudrap tarafından ortaya atılan sorular, üst düzey bakış açısının biraz sarsıntılı olduğunun farkına da katkıda bulundu.

Sonuç

Deterministik olmayan makineler, her adımda sınırlı sayıda deterministik geçiş sağlar. Olasılıklı makineler için, bu geçişlerin ek olarak bir olasılığı vardır. Bu yazı determinizm ve rastlantısallık üzerine farklı bir bakış açısı taşıyor. Küresel kabul koşullarını göz ardı ederek, bunun yerine yerel tersinirliğe (yerel bir simetri olarak) odaklanır. Rasgelelik, determinizm tarafından korunmayan bazı yerel simetrileri koruduğu için, bu perspektif deterministik olmayan ve olasılıklı makineler arasındaki önemsiz farklılıkları ortaya koymaktadır.


Deterministik olmayan geçişlerin bire çok ilişki olduğunu mu düşünüyorsunuz? İki farklı yapılandırma diğerleri arasında ortak bir yapılandırmaya geçebilirse ne olur? - Bana öyle geliyor ki, rastlantısallık ile dinametinizm arasındaki fark tersine çevrilemez (ne daha fazla kısıtlama olmadan) değil, sonuçta dallara önem vermenin nasıl bir özellik olduğu: rastlantısallık için tamamen demokratik veya "evet" e tercihli olarak hassas Nondeterminism için "hayır" cevapları.
Niel de Beaudrap

@NieldeBeaudrap Deterministik olmayan geçişlerin "keyfi" ilişkiler olduğunu kabul ediyorum (giriş alfabesindeki her sembol için bir tane). Onları tersine çevirebilir, başlangıç ​​ve bitiş durumlarını değiştirebilir ve tekrar ters giriş dizesini kabul eden deterministik olmayan bir sonlu durum makinesi elde edebilirim. Buna "makineyi zamanda geriye doğru çalıştırın" diyoruz. (Makine, deterministik olmayan durumda baştan sona en az bir yol olup olmadığını kabul eder ve bu durum, zaman tersine çevrildiğinde değişmez.) Lütfen, bunun en azından sonlu durumlu bir makine için çalıştığına kendinizi ikna etmeye çalışın. .
Thomas Klimpel

Yani, makinenin dualine bakın. NFA'lar için bu anlamlı bir tersinirlik kavramı gibi görünüyor. Ayrıca, bir NTM'nin çiftinin (tek bir kabul etme durumu olan) başka bir NTM olduğu açıktır, ancak bunun tersine çalışan aynı makine olduğunu söylemekte tereddüt ederim. Cevabınız sadece "Nondeterminism, dualler altında kapanmanıza izin veriyor, rastgele (ve deterministik) makineler" değil mi?
Niel de Beaudrap

@NieldeBeaudrap Benim fikrim kesinlikle zaman içinde geriye doğru koşmaktır, ancak bunun kusursuz şekilde tatmin edilmediğini biliyorum (çünkü ters bir yarı grubun genelleştirilmiş bir tersine ilişkin koşullar karşılanmadı). Ancak iletmeye çalıştığım, rastgele (ve deterministik) makinelerin bu tür bir tersine her zaman izin vermemesidir.
Thomas Klimpel


0

Turing Makineleri ( TM ) ve otomata teorisi bağlamında, deterministik olmayan bir makine , kabul eden makinenin herhangi bir örneğinin iyi olduğu bir makinedir . Bu anlamda, çok deterministik makineleri paralel olarak çalıştırmak ve girişi kabul eden tüm örneklerin çıktısını almak gibidir . Aslında , deterministik olmayan herhangi bir otomatı ( durumuyla) eşdeğer bir deterministik olana ( ile ) dönüştürmek için (deterministik) bir algoritma vardır .2 nn2n Makinede uygulanan algoritmanın rastgele ya da olasılıkları içeriyorsa, devletlerin denklik sınıflarını göz önüne alarak, üstel durumları (aşağıya bakınız)

Ancak, makinede uygulanan algoritma rastgele veya olasılıkları (algoritmada özsel) içeriyorsa, o zaman randomize (veya olasılıksal) bir makinedir.

Genelde, determinist olmayan bir makineden kaldırmak ve bir deterministik eşdeğer oluşturmak (yukarıdaki algoritmaya bakınız) her zaman mümkündür, ancak aynısı (yukarıdaki bağlamda) randomizasyonu kaldırmak için (genel olarak) yapılamaz (çünkü uygulanan algoritmaya özgü .

Yukarıdakilerin ışığında, eğer algoritma (dahil olan) bu şekilde randomizasyon (veya olasılıklar) kullanıyorsa , hem deterministik hem de deterministik olmayan bir makinenin olasılıksal olabileceğini unutmayın .

Özetlemek gerekirse, otomatlardaki determinizm (bu bağlamda) benzer otomata sınıflarını ifade ederken, randomizasyon veya olasılık makineleri, o otomata tarafından uygulanan gerçek algoritmaları (içindeki randomizasyonun gerçek uygulaması) ifade eder.

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.