Aşağı İtmeli Otomaçlar “tahmin et” - bu ne anlama geliyor?


14

Deterministik olmayan pushdown otomatasının deterministik olanlara göre bir gelişme olabileceğinin farkındayım, çünkü bunlar birkaç eyalet arasında "seçebilirler" ve deterministik bir push ile kabul edilemeyecek bazı bağlamsız diller vardır.

Yine de, tam olarak nasıl "seçtiklerini" anlamıyorum . Örneğin palindormlar için bulduğum her kaynak, otomatın kelimenin ortasında "tahmin ettiğini" söylüyor. Bu ne anlama geliyor?

Birkaç olası anlam düşünebilirim:

  1. Rastgele bir duruma geçer ve bu nedenle aslında dilde olan bir kelimeyi kabul etmeyebilir

  2. Bir şekilde "mümkün olan her şekilde" gider, bu yüzden birincisi yanlışsa diğerinin doğru olup olmadığını test eder

  3. Farkında olmadığım, kelimenin ortasını seçen ve bu nedenle rastgele olmayan bir mekanizma var, ancak otomat her zaman sağ ortayı bulur.

Bu sadece bir örnek; bilmek istiyorum ne önce bir ve aynı durum için birkaç aşağıdaki durumlara sahip herhangi bir otomat için nasıl çalışır.


İlgili: referans sorumuz randomize ve belirsiz olmayan algoritmalar arasındaki farkı açıklamaktadır.
Raphael

Yanıtlar:


8

Oldukça basit, mekanizma sihirdir. Determinizm düşüncesi, kelimeyi kabul etmek için hangi yolu kullanması gerektiğini bilmesidir ve bu şekilde gider. Birden fazla yol varsa, bunlardan biri gider.

Determinizm, gerçek donanımda olduğu gibi uygulanamaz. Geri izleme gibi teknikleri kullanarak simüle ediyoruz. Ancak, öncelikle belirli kavramların sunumunu basitleştirmek için kullanılabilecek teorik bir cihazdır.

Palindrom için bunu iki şekilde düşünebilirsiniz. Ya makinenizin "bu kelimenin ortası, itmekten patlamaya geçiş zamanı" demesine izin veren büyülü bir güç var ya da her harfi okuduktan sonra, "Bu mektubun sözcüğün ortası ve bunun bir palindrom bulup bulmadığını görün. O zaman bu diğer evrede, kelimenin ortası olmadığını varsayarak denemeye devam edeceğim ".

Bunu düşünmenin başka bir yolu da sonsuz paralelliktir. Yani eşdeğer bir model, yeni bir yol seçmek yerine, aynı anda her iki yolu da dener, yeni "süreçleri" dallar ve tüm sözcüğü okuduktan sonra son durumda olup olmadığını başarır. Yine, bu gerçek donanım kullanılarak inşa edilemez, ancak determinizmsiz olarak modellenebilir.

Belirsizlikle ilgili ilginç olan şey, sonlu otomata ve Turing makineleri için, hesaplama güçlerini hiç arttırmaması, sadece verimliliklerini arttırmasıdır.


5

Deterministik bir otomat ile deterministik olmayan bir otomat arasındaki temel fark (benim görüşüme göre), deterministik bir otomat için verilen bir giriş kelimesinin makinede sadece bir yolu olmasıdır. Deterministik olmayan bir otomatta, belirli bir giriş kelimesi makine boyunca birden fazla yola sahip olabilir (çünkü bazı noktalarda seçim olabilir).

Bunun ışığında, bir giriş sözcüğünün kabulü için bir koşulun, bir kelimenin makine boyunca çeşitli yolları indükleyebileceği gerçeğine uyum sağlaması için değiştirilmesi gerekmektedir. Deterministik olmayan bir otomat için genel kabul tanımı şöyledir: Bir kelimenin otomat tarafından kabul edilebilmesi için o kelimenin neden olduğu en az bir kabul yolu bulunmalıdır.

Bu daha sonra bir otomatın "tahmin" fikrine yol açar, eğer bir sözcük deterministik olmayan bir otomat tarafından kabul edilirse o zaman otomatiği otomatik olarak doğru seçimler yapmak olarak kabul etme eğilimindedir, böylece kabul eden yol (lar) dan bu sözcük girdi olarak sunulduğunda izlenir.

Palindromlar için bunun anlamı, pda'nın aslında iki moda sahip olmasıdır: yığın üzerindeki mevcut harfleri ittiği bir itme modu ve bu harfleri çıkardığı ve girişle eşleştirdiği bir patlama modu. Bu makine, itme durumundan haşhaş durumuna, kelimenin herhangi bir noktasında takip edebileceği boş bir geçişe sahip olacaktır. Bununla birlikte, makine sadece yığınını boşaltacak ve palindrom okuduysa ve palindromun ortasındaki boş geçişi izlediğinde kabul durumuna geçecektir. Yalnızca kabul edilebilir bir yolun varlığına ihtiyaç duyduğumuz için, otomasyonun kelimenin ortasındaki yerini "tahmin ettiğini" söyleyebiliriz.


5

Belirsizliğin düşüncesi oldukça basittir: otomatın belirli durumlarda birkaç sonraki adımı olabilir. Varsa otomat kabul bazı bir kabul biri, olan yalnızca reddeder ilk yapılandırma giden adım (birkaç olabilir!) Sekansı bir tür dizi.

Bu, bu belirsiz durumlarda hangi adımı atacağına "karar verdiği" anlamına gelir. Bunun hakkında konuşmanın bir yolu, sihirli bir şekilde her zaman "doğru" bir sonraki adımı (veya birkaç "doğru" adım varsa bir tane) seçtiğini söylemektir . Bunu görmenin bir başka yolu, bu gibi durumlarda otomatın hesaplamasının her biri bir yol izleyen birkaç kopyaya ayrılmasıdır.

Uygulamada bu, geri izleme, kararın alındığı yerlere bir tür etiket yerleştirerek uygulanabilir ve geçerli yol çalışmazsa geri dönüp bir sonraki alternatifi deneyerek uygulanabilir. Bu genellikle özyineleme ile ele alınır. Ya da otomasyonun yasal olarak "yasal olarak" eklediği bilgileri destekleyerek (belirsiz bir otomatın tahtada nasıl çalıştığını, ileriye bakıp hangi adımların başarıya yol açtığını anladığınızda bunu yaparsınız).


Geri izlemenin iyi bir fikir olduğunu düşünmüyorum. Ağacınız sınırlı olmayabilir. Prolog gibi determinizmin bazı uygulamalarında kullanıldığının farkındayım ve bence Robert Floyd'un ilk çalışmalarında da vardı. Ancak programcı tarafından denetlenmeyi amaçladı ve bunu otomata teorisi için düşünmüyorum. Aslında, Prolog'un bile sorunu açıklayacak başka bir uygulaması var.
babou

@babou, bunu pratikte yapmanın bir yolu. Ben demiyorum çözüm
vonbrand

2

"Tahmin", doğrudan determinizm olmayan varoluşsal yorumumuzla ilgilidir

Özetle: Deterministik olmayan bir otomatın tahmin edebileceği (ya da bir kehanet tarafından yardım edilebileceği) fikri, determinizmsizliğin varoluşsal yorumuyla doğrudan ilgilidir. "Tahmin etmenin" anlamlı olmayacağı başka bir yorum (belki diğerleri) mümkündür.

Determinizm olmayan gariptir. Bunu otomata teorisinde yorumlamanın tek bir yolu var, ama bunu nasıl yapmamız gerektiği a priori açık değil.

Şaşırtıcı görünebilir, ancak determinizm çok yaygın bir durumdur. Bazı matematiksel teorinin aksiyomları göz önüne alındığında, bir teoremi kanıtlamak gerektiğinde, süreç doğal olarak belirleyici olmayan bir teoridir. Bu nedenle, örneğin bir üçüncü derece denklemin çözümlerini bulmak veya bazı teoremleri kanıtlamak için bir sorunu çözmek için ne yapacağımızı bilmiyoruz.

Yeni sonuçlar elde etmek için bilinenleri çıkarım kurallarıyla birleştirmenin birçok yolu vardır. Sonuçtan geriye doğru bir kanıt oluşturmaya çalışırsak durum genellikle aynıdır.

Böyle bir sorunu çözmeye çalışırken , bazı geçiş sistemlerinde bir yolu " tahmin etmeye" çalışıyoruz .

Aslında, tahmin etmiyoruz, ancak aklımızda, yoldaki yolumuzu görebilmemiz için olasılık labirentini düzenleyen ve / veya basitleştiren bir yapı inşa ediyoruz. Bazı durumlarda, soru bir çözüm bulmak için (bazen? Genellikle? Her zaman?) Standart bir yol bulduğumuz tanımlanmış bir modeli izler ve buna algoritma diyoruz.

Kullanabileceğimiz (genellikle pahalı) bir teknik, labirenti tam olarak araştırmaktır: tüm yolları takip etmek, sonsuz bir alt çizgide yakalanmamak için ilk önce bunu yapmak. Bu tarafından yapılıyor ne hoş çok olduğu sıkı sıkıya olmayan bir deterministik otomat tüm olası hesaplamaları. Bu türetilmiş dovetailed hesaplamanın kendisi deterministik bir hesaplamadır.

DCAAA

Aslında, deterministik olmayan bir hesaplamayı yorumlamanın farklı yolları olabilir . Afaik hepsi tutarlı, ama birbirleriyle değil.

Rw

Tanıyıcı için tahmin etme fikri, yalnızca o kanıt ağacını nasıl bulacağımızı "tahmin etme" yolumuzdan alınan bir görüntüdür. Ancak en büyük fark, beyinlerimizin PDA olmamasıdır. Yaklaşık geçiş yapılarını keşfetme ve haritalama yeteneğine sahip çok daha karmaşık cihazlardır, böylece bazen tahmin olarak algıladığımız yollardan bulabiliriz.

Deterministik olmayan hesaplamanın bu yorumu, yalnızca tek bir kabul eden hesaplamanın varlığını gerektirdiği gerçeğine istinaden varoluşsal kabul olarak adlandırdığım şeydir . Başka bir cevaba verdiğim varoluşsal durmaya karşılık geliyor .

Bununla birlikte, determinizmi evrensel olmayan bir şekilde de yorumlayabiliriz: bir tanıyıcı, olası tüm hesaplamaların durması ve girişi kabul etmesi durumunda (evrensel olarak) bir girişi "w" kabul ettiği söylenir. Bu evrensel kabul, aynı cevapta sunulan evrensel durdurma kavramına karşılık gelir.

Evrensel kabul ve evrensel durma, kendi kendine tutarlı bir determinizm anlayışına yol açıyor gibi görünmektedir. Dolayısıyla bu tanımla teorik çalışmalar yapılabilir. Ancak bu, teorem kanıtlayan pek çok belirleyici olmayan durumda veya günlük yaşam durumunda olağan uygulamalarımızla tutarlı değildir. Bir problemle karşı karşıya kaldığımızda, bunu çözmenin sadece bir yolunu istiyoruz ve sonra diğer yolların başarılı olup olmadığını umursamıyoruz (bu biraz daha basitleştirilmiş).

Bir palindromu tanımamız gerekiyorsa, uzunluğu ölçerek ve ortayı arayarak tahmin edebiliriz. PDA yapamaz. Ancak, sadece bir çözümün varlığıyla ilgilendiğimiz için, bunun her zaman yardımcı olabileceğini iddia edebiliriz ... Veya daha akıllı makineler (bize mi?) Tarafından sağlanan oraclesleri olduğunu düşünebiliriz. Ya da ona sihir bile diyebilirsiniz ve öyle olduğunu düşünebilirsiniz (sonuçta, varoluşsal nicelik bir tür sihirli değnek). Eğer yardımcı olabilirse, yardımcı olacaktır. Kabul eden bir hesaplama yoksa, herhangi bir faydası olmayacaktır.

Bu tahmin fikrinin evrensel kabul yorumunda anlamsız olacağını unutmayın.

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.