Min-öbek (veya diğer egzotik) durum makinelerinin özelliklerinin belirlenmesi


44

Min-öbek otomatların tanımları hakkında bazı açıklamalar için bu yazının sonuna bakınız.

Devlet makineleri tarafından kullanılmak üzere bilgilerin depolanması için çeşitli veri yapılarının kullanılması düşünülebilir. Örneğin, aşağı açılır otomatik veriler bilgileri bir yığında depolar ve Turing makineleri bir bant kullanır. Kuyruk kullanan devlet makinelerinin ve iki çoklu yığın veya bant kullananların, Turing makinelerine güç bakımından eşdeğer olduğu gösterilmiştir.

Min-yığın bir makine düşünün. Aşağıdaki istisnalar dışında tam olarak aşağı açılır bir otomat gibi çalışır:

  1. Yığına en son eklediğiniz şeye bakmak yerine, şu anda yığın üzerinde yalnızca en küçük öğeye (makine başına tanımlanmış bir sıralamayla) bakabilirsiniz.
  2. Yığına en son eklediğiniz şeyi kaldırmak yerine, şu anda yığın üzerinde en küçük öğelerin birini (makine başına tanımlanmış bir sıralamayla) kaldırırsınız.
  3. Yığının tepesine bir öğe eklemek yerine, yalnızca öbeğe bir öğe ekleyebilirsiniz; konumu öbekteki diğer öğelere göre belirlenir (makine başına tanımlanmış sırayla).

Bu makine, tüm yığın dillerini yalnızca yığın kullanmayarak kabul edebilir. Ayrıca, dilini öbeğe bir 's {anbn{a,b}n0}ekleyerek ve b ' yi okuduğunda bir 'yi yığından kaldırarak da kabul edebilir . Bağlamsız diğer dilleri de kabul edebilir. Bununla birlikte, bu, örneğin, kabul edilemez { w { a , b } * | w = ağırlık R }aab{w{a,b}w=wR}(kanıt olmadan belirtilmiştir). EDIT: ya da yapabilir? Yapabileceğimi sanmıyorum, ama daha önce şaşırmıştım ve eminim ki varsayımlarım beni bir şey yapmaya zorladığında şaşırmaya devam edeceğim.

Bağlam duyarlı veya Turing tamamlanmış dilleri kabul edebilir mi?

Daha genel olarak, eğer varsa, bu yönde hangi araştırmalar yapıldı? Varsa ne gibi sonuçlar var? Aynı zamanda diğer egzotik devlet makinelerinin çeşitleriyle de ilgileniyorum, muhtemelen depolamak için başka veri yapıları veya erişim konusunda çeşitli kısıtlamalar kullanıyorlar (örneğin, LBA'ların TM'yi nasıl kısıtladığı). Kaynaklar takdir edilmektedir. Bu soru cehalet olduğunu gösteriyorsa şimdiden özür dilerim.


Resmi tanımlama:

Bu materyali referans alan sorulardaki daha fazla tartışmayı açıklığa kavuşturmak için burada min-öbek otomatlarının daha ayrıntılı tanımlarını sunuyorum.

Tip-1 özellikli olmayan bir minyatür öbek otomatiğini 7-tuple olarak tanımladık ...

(Q,q0,A,Σ,Γ,Z0,δ)
  1. , sonlu, boş olmayan bir durum kümesidir;Q
  2. ilk durumdur;q0Q
  3. , kabul eden devletler kümesidir;AQ
  4. sonlu, boş olmayan bir giriş alfabesidir;Σ
  5. sembolü ağırlığı sonlu olmayan boş giriş alfabe, bir y y , w ( γ ) N gibi olduğu ağırlık ( γ 1 ) = W ( γ 2 )ΓγΓw(γ)N ;w(γ1)=w(γ2)γ1=γ2
  6. , özel yığının altı simgesidir;Z0Γ
  7. geçiş fonksiyonudur.δ:Q×(Σ{ϵ})×(Γ{Z0})P(Q×Γ)

Geçiş işlevi, başlangıçta yalnızca oluşan bir boş yığın varsayılarak çalışır . Geçiş fonksiyonu elemanları (boş veya tekrarlar muhtemelen sınırlı fakat) yığın rasgele toplanması için ekleyebilir y 1 , γ 2 , . . . , γ kΓ . Alternatif olarak, geçiş işlevi en düşük ağırlık w ( γ ) olan elemanın γ bir örneğini kaldırabilir.Z0γ1,γ2,...,γkΓγw(γ)öbek üzerinde kalan tüm ögeler (yani öbek üstündeki öge). Geçiş işlevi, herhangi bir geçişi belirlemede yalnızca en üstteki (yani en düşük ağırlıkta) sembol örneğini kullanabilir.

Bundan başka, bir tanımlayan tip-1 deterministik dakika-yığın otomat olan tatmin tip-1 nondeterministic dakika-yığın otomat olduğu aşağıdaki özelliği: her şeritler için şekilde | x | = n ve σ Σ , | δ n + 1 ( q 0 , x σ y , Z 0 ) | 1 .xσyΣ|x|=nσΣ|δn+1(q0,xσy,Z0)|1

Aşağıdaki değişiklikler dışında, tam olarak bir tip-1 özellikli olmayan minik öbek otomatı ile aynı tip-1 özelliksiz bir minik öbek otomatı tanımlayın :

  1. sembolü ağırlığı sonlu olmayan boş giriş alfabe, bir y y , w ( γ ) N gibi olduğu ağırlık ( γ 1 ) = W ( γ 2 ) yapar mutlaka anlamına γ 1 = γ 2 ; Başka bir deyişle, farklı yığın sembolleri aynı ağırlığa sahip olabilir.ΓγΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  2. Yığına aynı ağırlıktaki farklı yığın sembollerinin örnekleri eklendiğinde, göreceli sıraları, ilk giren ilk çıkar (LIFO) yığın benzeri sıralamaya göre korunur.

Bağlamsız dilleri yakalayan (ve genişleten) bu daha doğal tanımı işaret ettiği için Raphael'e teşekkür ederiz.


Şimdiye kadar bazı sonuçlar gösterilmiştir:

  1. Tip-1 min-yığın otomatı, ne alt küme ne de bağlam içermeyen dillerin üst kümesi olan bir dil grubunu tanır. [ 1 , 2 ]
  2. Tip-2 min-öbek otomat, tanımlarına göre, bağlamsız dillerin uygun bir üst kümesi olan bir dil grubunun yanı sıra, tip-1 min-öbek otomat tarafından kabul edilen dillerin uygun bir üst kümesi olan bir dil grubunu tanır.
  3. Tip-1 min-öbek otomatları tarafından kabul edilen diller birleşme, birleştirme ve Kleene yıldızı altında kapalı görünüyor, ancak tamamlama [ 1 ], kesişme veya fark altında değil ;
  4. Tip-1 tipik olmayan min-yığın otomata tarafından kabul edilen diller, tip-1 deterministik min-yığın otomata tarafından kabul edilen dillerin uygun bir üst kümesi gibi görünmektedir.

Kaçırdığım birkaç sonuç daha olabilir. Daha fazla sonuç (muhtemelen) yolda.


Takip Soruları

  1. Geri dönüş altında kapatılması? - Aç
  2. Tamamlanma altında kapatma? -- Hayır!
  3. Nondeterminizm gücü arttırır mı? -- Evet?
  4. HALCSL
  5. Yığın eklemek, tip 1 için gücü arttırır mı? - için (?)HAL1HAL2=HALkk>2
  6. Bir yığın eklemek, tip 1 için gücü arttırır mı? - Aç

1
Bu arada harika bir soru. Bu otomatlar için bir pompalama leması kazmaya başlıyorum.
Raphael

@Raphael: Böyle bir lemma için (güncellenmiş) kanıtımı kullanabileceğini düşünüyorum: Sonraki bir alt dizgiyi doğru bir şekilde eşleştirmek için bazı alt dizgelerde doğrusal bir miktarda bilgiden daha fazlasını 'hatırlamanız' gereken herhangi bir dil, min-öbek otomatlar. Gerçek bir pompalama tarzı lemmanın mümkün olup olmadığından emin değilim - bunun yanı sıra lemam için de özel bir durum olabilir.
Alex ten Brink

@AlextenBrink Öbek sembol numaralarının birleşimi, öğeleri kodlamak için kullanılabildiğinden, doğrusal bir bağın yeterli olduğundan emin değilim.
Raphael

Yanıtlar:


25

Bağımlı olmayan (ancak bağlama duyarlı) dilin durum makinesini bu durum makinesiyle . Püf noktası her için yığınına belirteçleri eklemek olmasıdır karaktere ve ayrıştırılırken karakterleri tüm çözümlenen ne zaman onlar sadece yığın alt kısmında sona yüzden, sen yığınına 'büyük' belirteçleri eklemek karakter.{anbncn | n1}abb

Yığın sembolleri ve , burada . Hepimiz tüketmek girişi semboller ve eklemek yığın sembolleri. Eğer bir karşılaşırsak , stratejileri değiştiririz: daha sonra karşılaştığımız her için öbekten bir kaldırır ve öbeye bir ekleriz . Biz karşılaştığınızda biz tükendi gerekirdi kaldırma s ve sonra her için kalan girişinde bir kaldırma yığınından. Yığın sonunda boşsa, dize dildedir. Açıkçası, bir şeyler ters giderse reddederiz.aba<baabbabcacb

Güncelleme:

Dil min-öbek otomatlar tarafından tanınamaz. tanıyabilen bir min-öbek otomatiğimiz olduğunu varsayalım . Otomatın (girişin ilk kısmı, yani sonra) okuduktan sonra içinde bulunduğu 'durumuna' bakarız . Sahip olduğumuz tek durum, yığının içeriği ve içinde bulunduğu otomatiğin belirli durumudur. Bu, 'yi tanıdıktan sonra , bu' durum ' un ile eşleşecek kadar bilgiyi tutması gerektiği anlamına gelir .EPAL={wwR|w{a,b}}EPALwwRwwR

Özellikle, bunu yapabilmek için, olası farklı 'durum' olmalıdır (burada ), çünkü ve karakterlerinden oluşan olası kelime vardır . Devletlerin yalnızca sınırlı sayıda ve yığın karakter yalnızca sınırlı sayıda olduğundan, bu bazı kelime var olduğu ima hangi yığın bazı yığın karakterin üstel numarasını içeren, demek .2nn=|w|2nabwx

İlk olarak deterministik min-öbek otomatlar için teoremi ispatladıktan sonra bu ispatı deterministik olmayan öbek otomatlara genişletiyoruz. Özellikle, bazı dilleri tanıyan deterministik otomatlar kendilerini faydalı bir özellik olan sonsuz bir döngüye sokmazlar.

Yığının yalnızca girdiden okunan karakter sayısında doğrusal olan en fazla sayıda yığın simgesi içerebileceğini ispatlayacağız. Bu hemen, öbek üzerinde katlanarak göründüğünü ve bunun da min-öbek otomatlar tarafından tanınamayacağının ispatını tamamladığını belirtir .xEPAL

Otomasyonumuzda yalnızca sınırlı sayıda durum bulunduğundan ve deterministik bir otomat kendisini sonsuz bir döngüye sokmayacağından, bir giriş sinyalini okuduğunda yığına en çok sabit sayıda yığın karakteri ekleyecektir. Benzer şekilde, bazı yığın sembolü , yalnızca en çok değerinden daha büyük olan sabit sayıda yığın karakteri ekleyebilir ve yalnızca yığıntaki sembolü sayısını azaltabilir (aksi takdirde sonsuz bir döngü elde ederiz).yyy

Bu nedenle, yığın sembollerini tüketmek, daha büyük yığın sembollerinin (muazzam) bir birikimine neden olabilir, ancak yalnızca sabit sayıda farklı yığın sembolü olduğu için, bu sadece bağlı olmayan sabit bir sayıdır . Bu, yığın sembolü sayısının, bugüne kadar okunan giriş sembolü sayısının en fazla bir kısmı (büyük) sabit olduğu anlamına gelir. Bu deterministik durum için kanıtı tamamlar.n

Deterministik olmayan bir durumda, kanıt benzerdir, ancak biraz daha zorlayıcıdır: yığına en fazla sabit sayıda yığın simgesi eklemek yerine, yığına isteğe bağlı bazı yığın belirteçleri ekler. Bununla birlikte, önemli olan nokta, bu sayının bağlı olmamasıdır . Özellikle, ( tanıma hakkı) tanıdıktan sonra tam olarak doğru öbek sembollerini belirsiz olarak alabilirsek , aynı zamanda diğer bazı sözcükleriyle eşleşen öbek sembollerini de belirleyici olmayan bir şekilde seçebiliriz ve böylece tanır , böylece min-yığın otomat tam tanıdığını çelişen .nwwRwwwREPAL

Güncelleme 3: Son argümanı (determinizm dışı) titizlikle yapacağım. Yukarıdaki tartışma ile, sözcük sonsuz grubu bulunmalıdırher için bu şekilde, tanıma sonra, yığın içerirelemanları (Sonsuz bir kelime grubumuz olduğu içinhakkında konuşabileceğimize dikkat edin. Öbek üzerindeki o kadar çok unsuru deterministik yöntemlerle elde edemediğimiz için, ilk önce deterministik olmayan bir şekilde öbeğe daha fazla eleman eklemek için seçtiğimiz (girdi tüketmeden) seçtiğimiz ve daha sonra bu çıkıştan çıkmayı seçtiğimiz bir döngü biçimine sahip olmalıyız. döngü ve bu döngükezolmalıyız.W{a,b}wWwω(|w|)O(f(|w|))ω(1)

tarafından kullanılan tüm bu döngülerin setini alın . Yalnızca durumları olduğu için, bu kümenin boyutu ve tüm alt kümelerinin kümesi de . Şimdi, uygulama yollarının 'deterministik' kısmının sadece belirteçlerin kısmına katkıda bulunabileceğini unutmayın; bu , üssel sayıdaki birçok kelimenin, aynı zamanda “deterministik” kısımların aynı şekilde katkıda bulunan uygulama yollarına sahip olması gerektiği anlamına gelir. yığına belirteçleri. Özellikle, daha fazla belirteç elde etmenin tek yolu yukarıda belirttiğimiz döngülere geçmektir.WO(1)O(1)O(1)O(|w|)

Bu gözlemleri birleştirerek, bu, , ve söylenen iki ayrı kelimenin olması gerektiği anlamına gelir; yürütme yollarının 'deterministik' kısmı için aynı belirteçlere katkıda bulunur ve yukarıdaki döngülerden bazı alt alınarak farklılaştırılır. farklı sayıda, ancak aynı döngü alt kümesini kullanır (bu döngülerin sadece olduğunu unutmayın ).Ww1w2O(1)

Şimdi min-yığın otomatiği tarafından da tanınabileceğini gösterebiliriz : yukarıdaki gibi için yürütme yolunu , ancak döngüleri için yürütme yolunun aynı sayıda geçtiği . Bu, min- , son ek olarak kabul şekilde belirteçlerle doldurur , böylece ispatı tamamlar.w1w2w1w2w2

Güncelleme 2:

Sadece, yukarıdakilerin sadece logaritmik uzayı kullanarak deterministik bir minik öbek otomatiğini simüle edebileceğimiz anlamına geldiğini gördüm: min-öbekteki her karakter türü için bir sayaç tutarız. Yukarıda gösterildiği gibi, bu sayaç en çok olacaktır ve bu nedenle yalnızca boşluğu kullanarak depolanabilir bu sayede yalnızca bu sayaçların yalnızca sabit bir sayısı olduğu için). Bu bize verir:O(n)O(logn)

DHALL

HALNL

burada bazı deterministik min-yığın otomatları tarafından tanınan diller kümesidir.DHAL


1
Mükemmel bir anlayış için +1, anlamımı tamamen anlamış gibisin. Değerlendirmemde, bu tür makinelerin palindromları tanıyamadığı doğru muyum? Eklenen sembollerin sırası korunmadığından, mümkün görünmüyor.
Patrick87

@ Patrick87: Şu an bu problemi düşünüyorum :)
Alex ten Brink

@Raphael Logaritmik kaynak kısıtlamaları olan Turing makinelerine ilişkin çok güzel gözlem, ikiniz de bu otomatları araştırmak için harika bir iş çıkardınız. İlgilendiğim şeyin bir örneği olarak min-yığın otomatını fırlatıp atmıştım, ama iyi karşılanmış gibi görünüyor. Bu otomata ilişkin başka hangi sorulara cevap verilebilir? DHAL = HAL mı? HAL'in kapatma özellikleri nelerdir? Yeni keşifler değerli midir, eğer öyleyse, burada mı kalmalı yoksa yeni bir soru sorulmalı mı? Mükemmel görüşler için tekrar teşekkürler.
Patrick87

1
@Raphael: Bu kısmı tamamen titiz yaptım. yeterince büyük olması gerektiği konusunda haklısın - Sola ve sağa bazı detayları okudum. n
Alex ten Brink

1
@Raphael: Gerçekten de öyle. , bu nedenle uzay hiyerarşisi teoremi ve bazı kapanımlarla . CSL=NLINSPACEDHALCSL
Alex ten Brink

19

İşte bildiğimiz (inandığımız):

  • HALCFL (tür-1, tür-2)
  • CFLHAL (tür-1)
  • CFLHAL (tanım gereği tip-2)
  • CSLHAL (tür-1, tür-2)

Ayrıntılara ve diğer bazı notlara bakın.


HALCFL

Cevabın bu kısmı hem tip-1 hem de tip-2 ile ilgilidir.

Sonlu, tamamen sıralı yığın alfabesi içeren bir minik öbek otomatiği (HA), .L={anbncnnN}CSLCFL

Varsayımlar: PDA'ya benzer şekilde, geçiş işlevimiz en üst öbek sembolünü kullanır ve isteğe bağlı öbek öbek sembollerinin sayısını geri yazar. Öbek başlangıçta diğer tüm öbek sembollerinden daha büyük olan ayırt edici bir sembol içeriyor .$

Let ile bir dakika-yığın otomatA=(Q,ΣI,ΣH,,q0,QF)

  • Q={q0,q1,q2,qf} durum kümesi
  • ΣI={a,b,c} giriş alfabesi.
  • ΣH=a,b,$ yığın alfabesiyle siparişi verin .a<b<$
  • QF={qf}
  •  (Q×ΣI×ΣH)×(Q×ΣH) ile
    • (q0,a,σ)(q0,aσ) tümσΣH
    • (q0,b,a)(q1,b)
    • (q1,b,a)(q1,b)
    • (q1,c,b)(q2,ε)
    • (q2,c,b)(q2,ε)
    • (q2,c,$)(qf,ε)

Otomat , girişteki her için bir yığına yazar . Bir zaman oluştuğunda, birçok olarak tüketir olmuştur olarak bir yazma, her bulundu yığınına . Yığın elverişli tutar, çünkü bu değil Rahatsız sayım yapar üst. Sadece sonuçta yığın alınır vardır kabul; ancak çok sayıda olarak sonra olarak (ve bununla birlikte bulunurlar), etmez boş yığın ve son durumu ile kabul eder.aabbabbaaccbaA

Bu nedenle, .L(A)=L


CFLHAL

Cevabın bu kısmı sadece tip-1 ile ilgilidir.

Düşünün hatta palindrom kümesini ve HA olduğunu varsayalım ile .EPAL={wwRw{a,b}}AL(A)=L

: ile veöyle ki aynı durumdadır ve sırasıyla ve okuduktan sonra aynı yığın içeriğine sahiptir. Olarak kabul etmektedir ve , bu nedenle, aynı zamanda kabul (ve olan), bir çelişki için .w1,w2{a,b}w1w2|w1|=|w2|Aw1w2Aw1w1Rw2w2Rw1w2REPALw2w1RL(A)=EPAL


CSLHAL

Cevabın bu kısmı hem tip-1 hem de tip-2 ile ilgilidir.

(tip-1 için) üzerinde kullandığımız aynı sebep , içeriğe duyarlı dilin içinde olmadığını göstermek için kullanılabilir. . { ağırlık ağırlık | a { a , b } * } 'H bir LEPAL{www{a,b}}HAL


HAL?CSL

Bu hala hem tip-1 hem de tip-2 için açık.


Diğer Faktoidler

HA , Gömülü Pushdown Otomata tarafından kabul edilen hafif bağlam içerikli dillerin bir alt kümesine dik gibi görünmektedir : HA, sınırlı sayıda istiflenmiş yığın istifleyebilse de, pek çok (EPA'nın yapabildiği gibi) keyfi olarak taklit edemezler. Ancak, HA şu anda üstte olmayan yığınların üst sembollerine erişebilir (EPA'nın yapamadığı).


+1, mükemmel tepki. Temelde Brink'in yöntemine eşdeğer değil mi? Yine de titizlik ve hassasiyet olağanüstü. Bu tür makinelerin tüm CFL'leri kabul edip edemeyeceği konusunda bir fikriniz var mı? Sipariş bilgileri öbek tarafından kaybedildiğinden bu imkansız görünüyor ...
Patrick87

Evet, Alex'in dediği gibi. Yine de ondan bir şey elde etmene sevindim. Diğer yön için bir fikir ekledim ama (çok büyük) bir boşluk var. Yarın net bir kafa ile düşünmek ve belki bazı meslektaşları tokatlamak gerekir.
Raphael

Titizlik için fazladan kredi kazanmak için bir doğruluk kanıtı eklemem gerekiyormuş gibi hissediyorum. ;) Sanırım üzerinden indüksiyon yaparak çok zor olmamalıdır . n
Raphael

Bir varsayım olarak etiketlediğiniz kanıt taslak, aklımdaki şeydi ve onu oldukça ikna edici buluyorum ... ayrıca, ve bu küçük bir teknik nokta, sanırım hepsi uzunluğundaki palindromların dilini kullanıyorsunuz. palindromlar ... ispat kesinlikle her iki şekilde de çalışsa da (basit palindromlar için de geçerli olduğuna dikkat edin, bu nedenle HAL, DPDA'lar kadar güçlü değil, başka bir sonuç).
Patrick87

@ Patrick87 Sorun, belirli bir HA'nın sembollerini okuduktan sonra , sözde olandan daha fazla olası konfigürasyonda olabileceği , özellikle de öbek üzerinde semboller koyan -transitions'a izin verdiğimizde olabilir. εnε
Raphael
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.