Deterministik olmayan otomata için durma probleminin tanımlanması


19

Turing makinesinin (TM) birincil tanımı, en azından kendi referans ders kitabımda (Hopcroft + Ullman 1979) belirleyicidir.

Dolayısıyla, durma problemine ilişkin kendi anlayışım öncelikle deterministik TM içindir, ancak diğer otomata türleri için de düşünülebileceğinin farkındayım.

Ayrıca determinizmin insanların TM'ye ya da durma problemine sık sık başvurma biçiminde genellikle az ya da çok örtük olduğunu fark ettim. Durdurma problemindeki wikipedia sayfası buna iyi bir örnektir.

Ancak, böyle bir sınırlamanın nedeni yoktur. Bir aile Verilen F olmayan deterministik olabilir otomata için durdurulması problemi F olarak tanımlanabilir:

Bir otomasyon ve bir giriş x verildiğinde, A'nın durma hesaplamasının olup olmadığına karar verebilecek şekilde tek tip bir karar prosedürü var mı?AFxA girişinde ?x

(Bu, A'nın hesaplanmasınınA girişinin ile sona .)x

Gerçekten de, esas olarak deterministik olmayan otomata olan Lineer Sınırlı Otomata (LBA) için durma problemi hakkında tartışmalara bir anlam vermenin tek yolu budur .

Benim sorum doğru olup olmadığım ve belirleyici olmayan otomata için durma probleminin bu ikinci sınıf tedavisi için bir neden (ve hangi sebep) olup olmadığıdır.


Bu soruda bir şeyin yanlış olduğunu düşünüyorsanız, bilginizden faydalanabilmemiz ve tüm kullanıcılar için gönderiyi geliştirebilmemiz için ne olduğunu söyleyecek kadar nazik misiniz? Teşekkür ederim.
babou

Yanıtlar:


13

Deterministik olmayan modeller için Durma problemine daha az çaba sarf etmemizin birkaç nedeni var.

Birincisi, aslında, bir ND modeli için ilgili iki durdurma probleminin olmasıdır. girişi ve deterministik olmayan bir makine M verildiğinde :xM

  • Durduran x üzerinde geçerli bir koşusu var mı ?Mx
  • X üzerinde durmayan geçerli bir koşusu var mı ? yani tüm geçerli çalışmalar durur mu?Mx

Deterministik makineler için bunlar aynıdır, çünkü x girişinde tam olarak geçerli bir akışı vardır . Ancak deterministik olmayan makineler için birden fazla işlem olabilir. Hangisiyle ilgilendiğiniz uygulamanıza bağlıdır.Mx

İkincisi, deterministik olmayan modeller zaten gerçekçi değildir: size hangi yolu izleyeceğinizi söyleyen büyülü bir kutunuz olduğunu ya da bir çeşit sonsuz paralelliğiniz olduğunu varsayarlar. Deterministik olmayan ve deterministik Turing Makineleri güç açısından eşdeğer olduğundan, çoğu durumda durma konusunda endişelenmeden önce makineyi deterministik olana dönüştürürsünüz.

Bunun bir uzantısı olarak, umursamıyoruz çünkü deterministik olmayan bir makine hakkında bir şey kanıtlamak en azından eşdeğer bir deterministik makine hakkında bir şey kanıtlamak kadar zordur. Deterministik Duruş Problemine bir çözüm olmadığını zaten biliyoruz, bu yüzden gerçekten işe yaradığı tek şey, azaltımlarla kararlaştırılamayan diğer sorunları kanıtlamak. Ve deterministik durma sorununu azaltmak her zaman daha az iş olacaktır, çünkü deterministik olmayan muadilinden daha kolaydır.


Ama belirleyici olmayan makineler için birden fazla çalışma olabilir. Hangisiyle ilgileniyorsunuz uygulamanıza bağlıdır. ” Bu ifadeyi bir örnekle açıklayabilir misiniz? Sonra " durma konusunda endişelenmeden önce makineyi deterministik hale getirin " deyin . Bu bir LBA için nasıl yapılır?
babou

LBA'lar deterministik olmayan Turing Makinelerinin bir alt kümesidir, bu nedenle her zamanki yöntem kullanılarak her zaman deterministik Turing Makinelerine dönüştürülebilirler. Belirli özelliklere sahip bir makineye dönüştürmek için kullanılabilecek özel bir yapı olduğundan şüpheleniyorum, böylece LBA'lardan aldığımız ekstra akıl yürütme yeteneğini koruyabiliriz. Ben çağrı yığını potansiyel olarak üstel olarak büyük olabilir dışında doğrusal boşluk kullanılan bir geri izleme algoritması gibi görüneceğini düşünüyorum (emin değilim, bakmak zorundayım).
jmite

Birden çok yol için , biri X girişinde her zaman duran ve hiç x için hiç durmayan iki makine düşünün . Deterministik olmayan bir boole değeri seçerek başlayan yeni bir LBA M yapabiliriz . True değerini seçerse, x girişinde M 1 çalıştırır . Yanlış seçerse, o çalışır M 2 üzerinde x . Doğru ve yanlış seçeneklerinin her biri farklı bir "çalışma" dır. Bu makine x için duruyor mu? X üzerinde durduğu bir yol vardır , ancak x okuyan tüm yollar için durmaz . M1,M2xxMM1M2xxxx
jmit

1
@HendrikJan NLBA'nın durdurulmasının Savitch teoremi ile ele alındığı anlaşılıyor . Fakat lineer sınırı kuadratik olana dönüştürür.
babou

1
@Rephael bununla kastettiğim şey, problem kararsız göstermek için, başka bir karar verilemez problemi simüle etmek için P'yi kullanabileceğinizi gösterir . DTM'lerden NTM'lere önemsiz bir kasıtlı eşleme olduğundan, NTM durdurmada herhangi bir azalma da DTM durdurmada bir azalmadır. Simüle etmeye çalıştığınız daha az zor bir sorun olduğundan, genellikle DTM durdurulmasını azaltmak daha az iş olurdu. PP
jmite

4

Durma problemi, özlü tamamlayıcı problemdir, çünkü şu şekilde ifade edilebilir:Σ1

.H(P,x)c s. t. c is a halting computing of P on x

Bu, tanımınızın doğru olduğunu gösterir. Genel olarak, her tanımı "doğru" dır.Σ1


Ne yazık ki, aritmetik hiyerarşi hakkında hiçbir şey bilmiyorum. yarı karar verilebilir sorunları temsil ettiğini anlama konusunda doğru muyum ? Ne hakkında: K ( P , x ) c , c x  üzerindeki  P'nin  bir hesaplamasıdır Σ1. Soruyorum çünkü varoluşsal ve evrensel niceliklerin farklı sınıflara girdiği görülüyor, ama hepsi benim için puslu. Kda yarı kararlıdır. K(P,x)c,c is a computing of P on xc is halting.K
babou

Cevap vereceğinden korktum. Diye sordum çünkü bunun için bir yarı karar prosedürüm olduğunu düşünüyorum. Yani ya kanıtım yanlış, ya da sorunumu yanlış resmileştirdim. Temel olarak, jmite'nin girdisi üzerindeki deterministik olmayan durdurmanın x duruşu üzerindeki tüm hesaplamaların gerektirilmesi ile tanımlanabileceği önerisidir . Ve şimdiye kadar bunun için bir yarı kararım olduğuna inandım. xx
babou

Aslında tanımınız başka bir nedenden dolayı iyi değil: " durmak" ile ne demek istiyorsun ? Ya anlamına c , sadece eksik bir hesaplama a-priori aslında tamamlandığında,. Bu durumda, K ( P , x ) asla doğru değildir, çünkü c'yi boş hesaplama olarak alabilirsin. Başka bir durumda, c tanımının sonlu olduğu açık değildir ve " c durmakta" yükleminin hesaplanabilir olduğu da açık değildir . ccK(P,x)ccc
Yuval Filmus

Yani problem fakat muhtemelen Π 1'de değil . Π1Π1
Yuval Filmus

c

2

belirsiz makineler için durma sorununun "belirgin bir ikinci sınıf tedavisi" olduğunu söylüyorsunuz. Belirsizliğin Türklerin deterministik TM'yi yaratmasından çok sonraya kadar tarihsel olmayanlığın tarihsel olarak dikkate alınmadığı anlaşılıyor ve bunun bölgedeki araştırma odağıyla bir ilgisi olabilir. ancak buradaki ana nokta, belirleyici olmayan problemin deterministik probleme kolayca azaltılabileceğidir, bu yüzden sadece "genellik kaybı olmadan" deterministik problemi incelemek gerekir.

furthermore, to counter the idea of "2nd class" here is at least one ref/ paper that studies the halting problem for nondeterministic machines and finds useful/ deep connections. some circumstantial evidence along the lines that CS research is so vast/ specialized, sometimes some starting research has been done in most areas, even seemingly narrow, and it can approach nearly meaningless or hairsplitting to rank different problems in their importance. and quite to the contrary, nondeterminism seems a very deep/ ubiquitous/ crosscutting concept in CS (key open questions like P vs NP are on it) & that aspect is likely to continue long into the future.

Öz. Parametreleştirilmiş p-Halt problemi, girdi olarak belirsiz bir Turing makinesi M ve doğal bir n sayısı alır, M boyutu parametredir. Boş giriş şeridindeki her M kabul etme işleminin n'den fazla adım alıp almadığını sorar. Bu sorun, buna karar veren bir algoritma varsa, XPuni sınıfında "uniform XP" sınıfındadır, sabit makine M için n'de zaman polinomunda çalışır. Teorik bilgisayar biliminin farklı alanlarındaki çeşitli açık problemlerin p-Halt ∈ XPuni ile ilgili veya hatta eşdeğer olduğu ortaya çıkıyor. Böylece bu ifade, ilk bakışta ilgisiz görünen farklı alanların ifadeleri (ispat teorisi, karmaşıklık teorisi, tanımlayıcı karmaşıklık, ...) arasında denklikler elde edilmesini sağlayan bir köprü oluşturur. Sunumumuzun da gösterdiği gibi,


2

In a nutshell

There seems to be no good reason to neglect the halting problem in settings that are not the classical one of deterministic Turing machines, other than the fact that the classical halting problem answers some major mathematical questions (such as the Entscheidungsproblem), while variants are only interesting (?) technical issues, but with less impact on the foundations.

After reviewing some of the arguments given in previous answers, I analyze and compare the two proposals by jmite for a possible definition of "nondeterministic" halting in the case of nondeterministic automata. The issue is not to define what halting means for a single computation, but what it should mean for the set of possible computations of a given nondeterministic automaton A belirli bir girdide x. Bu daha sonra belirleyici olmayan otomatadaki durdurma problemini tanımlamak için bir temel oluşturabilir.

Jmite'nin cevabına göre, bu belirleyici olmayan durma, en az bir durma hesaplamasının ( varoluşsal durma ) varlığına karşılık gelen veya alternatif olarak tüm olası hesaplamanın durmasını ( evrensel durma) gerektirmesi olarak tanımlanabilir. ) gerektirmesi olarak tanımlanabilir. Bu iki tanım, belirsiz olmayan durma sorununun iki farklı tanımına karşılık gelir.

Turing makineleri için iki tanımın, makineyi kırlangıçla belirlemenin iki farklı yoluna karşılık geldiğini gösteriyorum. Bundan, belirleyici olmayan durma probleminin iki varyantının her ikisinin de klasik deterministik durma problemine eşdeğer olduğu sonucuna varıyorum. .

Bununla birlikte, bu durma tanımlarının her birinin, bir Turing makinesi tarafından tanınan dilin karşılık gelen bir tanımıyla doğrudan ilişkili olduğunu da gösteririm ve bu ilişki, tutarlı tanımların seçilmesi şartıyla basitçe ifade edilebilir.

Bu nedenle, belirsiz olmayan bir otomat tarafından tanınan dilin olağan tanımı göz önüne alındığında, orijinal soruda önerildiği gibi, belirsiz olmayan durdurmanın doğal tanımı varoluşsal durmadır.

Bu analizin çoğu doğal olarak diğer otomata türlerine uzanır, ancak kırlangıç ​​yapıları genellikle Turing makinelerinden daha az güçlü ailelerde mevcut değildir.

Giriş

I am writing this as an answer since it partially answers my question after more thoughts about it, taking existing answers into account. Also, editing my question after three answers might in this case confuse issues, and I would rather leave the question as originally written to avoid that.

I first discuss some of my disagreements with the given answers. The point is not to disparage fair attempts at answering my question (my thanks for all answers), but to get to the bottom of issues by discussing or disputing technical points.

Bence asıl sorunun bağlam veya motivasyona ihtiyacı yok. Durma problemi, bir yandan otomata hakkında sorduğumuz en önemli sorulardan biridir ve belirsizliği ise diğer otomataların bir çok yaygın ve kullanışlı özelliğidir. Dahası, belirsizlik, kanıtları basitleştirmek için sadece yaygın bir teorik cihaz değil, aynı zamanda en azından bu yazı sırasında lineer sınırlı otomat (LBA) gibi bazı otomata ailelerinin önemli bir özelliğidir.

Bu nedenle, duraksama sorununun belirleyici olmayan otomata durumunda anlamı veya tercih edilen bir anlamı olup olmadığını merak etmek oldukça doğaldır.

Yönetim dışı durdurma sorunu iyi ele alındı ​​mı?

Sorum, belirsiz otomata için durma sorununun neden vzn tarafından bir aşağılık ve bir cevap oluşturan ikinci sınıf tedavi görüyor gibi göründüğünü merak ediyor. Vzn tarafından cevap gerçekten daha uzun bir yorumdur, "ısrar gerekirci olmayan makinalar CS çok derin / her yerde / kesen bir kavram gibi görünüyor"Şüphesiz ki, şaşırtıcı olmayan ama gerçekten benim açımdan bahsetmeyen belirsiz olmayan makinelerin durdurulmasıyla ilgili bazı araştırmalara da atıfta bulunuyorum. Demek istediğim, amaçlanan durma sorununun bir tanımını gerçekten görmediğimi hatırlamıyorum. alandaki bazı edebiyatları okumuş olmama rağmen AFAIK, referans ders kitabımda (Hopcroft + Ullman 1979), genellikle Turing'i belirleyen, genellikle Turing referans tanımı deterministik olan makineler.

Örneğin , durma problemi LBA için neden kararlaştırılabilir? Yuval Filmus içinde unuttum onun cevabını YİR'leriniz nondeterministic cihazlar olduğunu - ancak zekice ile onun cevabını kurtardı 4 kelime comment .

Bu konunun genel olarak iyi ele alınmamasına (bazı özel araştırmalara rağmen) son tanık olarak, konunun burada tartışılması gerektiği gerçeğini söyleyebilirim.

Jmite gelen cevabı aslında iyi biçimde giderilebileceğini olmayabilir açıklamaya çalışır sadece bir tanesidir. İlk argümanı iki olası tanım olduğunu, ancak bu durumun hangi tanımın en uygun olacağını belirlemek için daha fazla analizi teşvik etmesi gerektiğine inanıyorum. Bunu aşağıda yapmaya çalışıyorum.

Ayrıca, belirsiz olmayan bir TM'nin her zaman eşdeğer bir deterministik olana dönüştürülebildiğinden, belirsiz olmayan durumda durma konusunda endişelenmenin çok fazla anlamı olmadığını ileri sürüyor. Tam olarak ikna olmadım, ancak birçok kişi için iyi bir neden olarak algılanabilir. Bununla birlikte, argüman Lineer Sınırlı Otomata (LBA) için geçerli değildir, çünkü deterministik LBA'nın belirleyici olmayan LBA'ya eşdeğer olup olmadığı hala açık bir sorundur. Ve deterministik alt ailenin tüm belirsiz olmayan ailenin (örneğin PDA) daha zayıf olduğu başka otomata aileleri de vardır.

Ayrıca, son noktaya katılmıyorum, belirleyici olmayan durma ile ilgilenmememiz gerektiğini öne sürüyorum çünkü deterministik makinelerle kanıtlar daha kolay. Raphael bir yorumda buna itiraz etti : " Genellikle daha zor problemlerde indirim bulmayı daha kolay buluyorum ". Gerçekten de, birçok otomata türü için belirsiz olmayan versiyon esas olarak bu tip otomatlara indirgeme gibi ispatları basitleştirmeye yarar. Ayrıca, jmite'nin önerdiği gibi kullanılabilecek iki durdurma biçimine sahip olmak, problemleri ele almak için daha fazla esneklik sağladığı için bir avantaj olarak bile düşünülebilir.

Belirsiz durma sorununun tanımı üzerine

Not: aşağıdaki metinde "evrensel" kelimesinin kullanımı, evrensel Turing makineleri için DEĞİL, evrensel nicelemeyi ifade eder

Jmite gelen cevabı en detaylı olduğunu.

Bu cevap, belirleyici olmayan otomatanın durma problemi üzerinde daha az çaba sarfettiğini, çünkü iki farklı yolla tanımlanabileceğini (terminoloji benimdir) varsaymaktadır:

  • varoluşsal durma : otomatın durma hesaplaması var mıM girişte x?

  • evrensel durma : sadece otomatın durma hesaplamaları var mıM girişte x?

Yeterli önerdiğim tek tanım varoluşsal durmadır .

Önerme 1 : Belirsiz olmayan bir otomasyon girişte evrensel olarak durduğundax, bu girdide yalnızca sınırlı sayıda durdurma hesaplaması olabilir.

İspat : Bu, König'in lemmasıyla kolayca kanıtlanabilir , çünkü her adımdaki olası belirsiz seçimlerin sayısı belirli bir otomat için sınırlıdır. Sonsuz sayıda durma hesaplaması olsaydı, her konfigürasyonu, ona yol açan hesaplama yollarının her biri ile etiketleyebiliriz, bu da sonsuz sayıda düğümle bir hesaplama grafiği yapar, ancak her bir düğümde sadece sonlu belirsiz olmayan dallanma yapar. König'in lemması, bu, durmayan bir hesaplamaya karşılık gelen sonsuz bir hesaplama yolunun varlığını ima eder.

(Belirsiz) Turing makineleri örneği

Şimdi, belirsiz Turing makinesi (NTM) durumunda durmayı inceleyelim.

İki tanımı analiz etmek için, en basit olanı, Hendrik Jan tarafından hatırlandığı gibi , olası tüm hesaplamaların üstesinden gelerek elde edilebilen deterministik olmayan makinelerin deterministik versiyonlarını düşünmektir .

Ancak, yalnızca en az bir tanesi genellikle dikkate alınsa da, (en azından) belirleme için hesapların dovetailing iki yolu vardır:

  • tüm hesaplamaları paralel olarak simüle eden ve simüle edilen hesaplamalardan biri sona erdiğinde sona eren varoluşsal kırlangıç ​​belirleme .

  • tüm hesaplamaları paralel olarak simüle eden ve yalnızca simüle edilen tüm hesaplamalar sona erdiğinde sona eren evrensel kırlangıç ​​belirleme belirleme . Ancak sonlandırılan hesaplamaları bir şekilde düşünebilir ya da sayabilir.

Önerme 2 :

  • A nondeterministic TM M is existentially halting on input x iff its existential dovetailing determinization M is a TM that halts on input x.

  • A nondeterministic TM M is universally halting on input x iff its universal dovetailing determinization M is a TM that halts on input x.

Proof: The proof for the existential case is obvious. For the universal case, the universal dovetailing determinization will halt iff it simulates a finite number of computations, all of which are halting. Given a nondeterministic TM M, if it halts universally on input x, then, by proposition 1, it has only a finite number of distinct computations, which all halt. Hence its universal dovetailing determinization M halts on input x. The converse is straightforward.

Theorem 3: The halting problem for deterministic TM, and the existential and universal halting problems for nondeterministic TM are Turing equivalent.

Proof: This results from proposition 2 and from the fact that deterministic TMs are a subset of nondeterministic TM, where both existential and universal halting reduce to simple deterministic halting.

Hence, from a computability point of view, and I am tempted to say from a symbol pushing point of view, it seems that it does not really matter which definition is chosen, existential or universal, for the nondeterministic halting problem.

Why choose one definition of NTM halting, and which

However, is there much sense to a determinization process that does not preserve the language recognized by the original automaton?

The essence of the use of nondeterminism in language recognition is that it assumes an oracle that is supposed to guess a right computational path whenever there is one that will lead to acceptance, a fundamentally existential view.

In a nondeterministic computation, there is no difference between rejection on halting and non-halting. In both cases, no conclusion can be drawn. The language recognized is not changed if you replace rejection on halting by a non-halting infinite loop, which can be done for all nondeterministic automata I can think of, including NFA (just add a looping ϵ-transition on the failure states). This is also true of deterministic automata, provided there is a special symbol marking the end of the input, as usually done for LBA.

Thus acceptance by halting may be seen as a canonical form of acceptance for nondeterministic automata.

Considering this canonical view, the halting problem may also be expressed equivalently as the recognition problem:

Is there a uniform procedure that, given a language L recognized by a Turing machine M, can decide for any word x whether xL?

This evidences the close ties between recursive enumerabiliy and the halting problem. This equivalence between deciding halting of the TM M on input x and containement of x in the language M recognizes is true for both deterministic TM and for nondeterministic ones, provided we consider the existential definition of nondeterministic halting.

However, in the case universal halting, this close relation is lost. A similar statement can be made, but for a different language than the one recognized by the NTM (or alternatively for a different, universal, definition of what is the language recognized by a NTM).

When developing a theory, it is essential to use consistent definitions so as to emphasize structures and relations in their simplest and most perspicuous form. It is quite clear that in the present case, consistency with other definitions suggests that existential halting is the natural definition of halting for nondeterministic Turing machines.

Of course, one may always be interested in analyzing universal halting. Similarly, one could also develop a theory of universal acceptance for NTM based on the requirement that a string x is accepted iff all computation on input x halt and accept. But, apparently, it is not considered a major issue in the theory of Turing machines.

The case of other families of automata

Parts of the above analysis cannot be extended to most families of nondeterministic automata. For example a pushdown atomaton (PDA) may define languages that cannot be recognized by a deterministic PDA. The same may be true of LBAs. Other parts can be extended to all nondeterministic families.

Regarding the definition of nondeterministic halting, even though the reasoning used in the Turing machine case may not be usable, it seems that the only sensible choice is to adopt a definition which is consistent with the one used for nondeterministic Turing machines, hence the existential definition.

The definition of the Halting problem for these families of nondeterministic automata follows, and conforms the definition proposed in the question.

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.