Bir ÖSO sayabilir mi?


11

Bu aptalca bir soru olabilir. Bir FSA'nın sınırlı olduğu için giriş dizisindeki sembol sayısını yalnızca durum sayısıyla sınırlanmış bir sayıya kadar sayabileceği açıktır. Ancak şimdi FSA'yı çıktı (örneğin yazdırma) yetenekleriyle donattığımızı varsayalım. Bu durumda, okuduğu her sembol için bir sembol yazdırabilen bir makine inşa etmek çok kolay olacaktır. Bu sayım olarak sayılır mı? Değilse, neden olmasın?

Bunun yerine FST açısından koymak gerekirse: Uzunluğunun gelişigüzel uzunluğunda bir dizeyi ikili temsile (yani taban-2 sayısal sistemdeki bir sayı) eşleyebilen bir FST oluşturmanın mümkün olmadığını kabul ediyorum. Ancak, elbette, rastgele uzunluktaki bir dizeyi, aynı uzunluktaki sıfır (veya sıfır) yazan bir dizeyle eşleştirebilen bir FST oluşturmak önemsizdir. Ama bu sayım olarak sayılabilir, değil mi, çünkü FST'nin yaptığı şey girdisinin uzunluğunun bir temsilini oluşturmaktır. Biraz tuhaf bir temsil, ama yine de bir temsil değil mi?


1
Yani gerçekten "önemli olan ne?" Sorusunu soruyorsunuz. Bana bilgisayar bilimi gibi gelmiyor. Sorunuz "saymanın bu tanımı için bir ÖSO olabilir mi?" Olsaydı bilgisayar bilimi olurdu.
Sasho Nikolov

Yanıtlar:


8

Bu soru biraz belirsiz, bu yüzden burada belirsiz bir cevap var: Tekli tekli'ye çevirmek tam olarak sayılmaz, çünkü makine aslında girişin boyutunun "sonunda" ne olduğunu "bilmez".

Bunu anlıyorsunuz, elbette, bu yüzden gerçekten önemli olduğu gerçeğini sorguluyorsunuz.

Ancak, tekli olandan ikiliye çeviri, çok daha gelişmiş bir işlem gibi görünüyor, çünkü sadece saymayı değil, aynı zamanda aritmetiği de içeriyor.

Yani belki de saymak yerine bakmak için daha kesin bir kavram karşılaştırmaktır . Yani, iki sayı (tekli olarak) ve 1 m verildiğinde , n = m olup olmadığını belirleyin .1n1mn=m

Bu karşılaştırmayı yapabilme kabiliyeti, ünlü düzenli olmayan dile yol açan şeydir . Ve bir NFA'nın sayılamaması, bu dili normal olmayan kılan şeydir.{anbn:n0}

İlginçtir, bu dil bir CFL'dir. Ve aslında, karşılık gelen otomata modeli - PDA'lar, sınırlı bir karşılaştırma yapma yeteneğine sahiptir.

Karşılaştırma hakkında konuştuğunuzda, dönüştürücüler artık size ek güç vermez, bu nedenle soru bu anlamda çözülür.

Ek bir not: tamamen gayri resmi olarak, iki sayıyı karşılaştırma yeteneği genellikle TM'lere eşdeğer olan 2 sayaçlı bir Minsky Makinesini simüle etmek için kullanılabilir .


4

Hayır. Sonlu durum otomataları sayılmaz. Buna benzeyen şeyler yapabilirler, ancak sayamazlar. Hatta küçük (kablolu) hesaplamalar bile yapabilirler (ikili sayının üçe bölünebilir olup olmadığını belirlemek gibi ) ama bu sayılmaz.

Küçük bir hikaye. Ünlü bir şehirde büyük bir dikdörtgen meydandasınız. Yerliler meydanın aslında kare olduğunu söylüyor. Eğer sayabiliyorsanız, kare kenarları boyunca karoları sayarak yatay ve dikey karo sayılarının eşleşip eşleşmediğini kontrol edebilirsiniz. Eğer sayamazsanız, hak talebini hala doğrulayabilirsiniz: bir köşeden başlayın ve çapraz olarak yürüyün. Eğer tam karşı köşeye ulaşırsanız bir kareniz var.

Bir dize eşit sayıda vardır fsa testleri olmadığını sizin örnekte 's ve b ' iki farklı çıkış kasetleri bu numaraları sayılması ve hesaplanmasından s. Başka bir cihazın son karşılaştırmayı yapması gerekir, a ve b harflerini çiftler halinde ve diğerini çapraz olarak işlemek için bir hile yoksa . Meydandaki gibi.birbbirb

Şimdi karşılaştırmak için daha resmi bir model. Göre Chomsky-Schützenberger teoreminin her bağlam-dil sonlu durum transdüksiyon tersidir T Dyck dil D 2 parantez iki ilgili çiftleri L = T - 1 ( D 2 ) (buna böyle belirtilen değil wikipedia, ama bana inanmalısın). Şimdi sonlu durum dönüştürücüsü T , bağlamsız L dilini aşağıdaki gibi "kabul edebilir" (her dil için kendi dönüştürücüsü). T girişinde , dizeyi pda'nın (tahmin edilen) pop ve itme serisine dönüştürür.LTD2L=T-1(D2)TLT , sonuç aşağı açılan davranışı, yani ister daha sonra deney, sonuç olarak bir dize D 2 . (Teknik detaylar atlanmıştır, ancak bu Ch-Sch Teoreminde iddia edildiği gibidir: biri w T - 1 ( D 2 ) iff T ( w ) D 2'ye sahiptir )LD2wT-1(D2)T(w)D2

Demek istediğim, bazı "hesaplama" dönüştürücü tarafından yapılır, ancak ile testte çok fazla güç gizlenir . Benzer şekilde, örneğin iki harfin iki kasette sıralandığı örnek. D2


ile 2 n arasında sayılan bir DFA oluşturabilirim ! (sabit n için ) ve hatta N olarak . Bu, herhangi bir insan veya gerçek bilgisayarın yönettiğinden daha fazlası. Saymaya ne dersiniz? 02n!nN-
Raphael

@Raphael. Elbette. Ve bundan daha büyük sayılar. Bağlamdan bağımsız dillerin normal dillerden daha güçlü olduğunu öğretmeyi bırakın: bunlar aynıdır (en azından en fazla uzunluğunda dizeler için ! ). Sadece şaka. Bunun gibi gerçek bilgisayar dillerine atıfta bulunmak sonlu bir şey yapar değil mi? Sonlu durum otomatları sayılmaz! Sadece sonlu sayıda durumu ayırt ederler, ancak bu sayı çok büyük olabilir. 2n!
Hendrik Ocak

Ancak ÖSO'ların genellikle sunulma şekli, sadece "evet" (kabul edilir) veya "hayır" (kabul edilmez) demelerine izin verilir. Bu göz önüne alındığında, hiç kimse önemli bir ÖSO inşa edemez. Sonlandığında bulunduğu (durumunu) rapor etmesine (örneğin yazdırmasına) izin verirsek, sayabilir, ancak yalnızca durum sayısıyla verilen bir sınıra kadar. Ancak DO'ya yazdırmaya izin verirsek, giriş dizesinden her sembol okuduğunda (örneğin) 1 yazdıran ve böylece sayım temsilindeki sayımı bildiren tek bir durum FSA'sı oluşturmak önemsizdir. Bu fikrin nesi var?
Torbjörn

Ve raporlamayı / yazdırmayı unutursak ve bunun yerine iç temsiller açısından düşünürsek, bir FSA bir dizideki sembolleri sayabilir, ancak keyfi uzun olanları sayamaz. Tek devlet FSA'sı elbette hiç sayılmaz.
Torbjörn

k

1

@Shaull: Cevabınız için teşekkürler! StackExchange için yeniyim ve bir cevaba nasıl yorum yapacağımı bilmiyorum, bu yüzden affedilebileceğimi ümit ediyorum, bunun yerine bir cevap yazmayı seçiyorum.

Hmm, bana göre, gördüğü her koyun için bir kâğıt üzerine bir not yazarak koyunlarını sayan bir shepard veya duvarda izler yazarak hapiste olduğu günleri sayan bir mahkum sayılıyor. Bir kâğıt veya duvardaki n işareti neden n sayısının bir temsili olarak sayılmıyor? Taksitli temsil denen şey bu değil mi? AFAICS, daha fazla alan kullanması dışında ikili bir gösterimden (diyelim ki) daha açık bir şekilde değildir.

Sanırım sizin için "bilmek", sonunda sayımın dahili bir temsiline sahip olduğu anlamına gelir. O zaman, elbette, FST bir FSA'nın keyfi bir dizenin uzunluğunu hesaplayamayacağı açıktır. Ancak bu anlamda bilgiye ihtiyaç duymazsak, ancak sadece FSA veya FST'nin sonucu harici bir gözlemciye söyleyebilmesini talep edersek, sayımı bir taksitli formatta sunmanın uygun olması gerektiği gibi görünüyor.

Ayrıca, bir FSA hem artımlı giriş hem de çıkış ile donatılmışsa, prensip olarak harici ortamını bir okuma / yazma belleği olarak kullanabilmeli ve böylece Turing makinesi kadar güçlü olmalıdır. Sağ?

Karşılaştırma konusunu gündeme getirdiğiniz için teşekkürler. Şimdi, bir iç temsil gerekliliğini kaldırırsak ve sadece makinenin sonucu harici gözlemciye sunabilmesini gerektirirsek, bir tür üretebilecek bir FSM oluşturabiliriz. sonucun grafik sunumu. Diyelim ki FSM, "aaaaaabbbbbb" okumaları üzerine yazdı

000000
000000

çubuklar aynı uzunlukta olduğundan FSM "aaaaaabbbbbb" dizesini kabul etti. Aynı uzunluktaki iki çubuk "evet", farklı uzunluklar "hayır" anlamına gelir.

Sanırım kuralları büküyorum ama matematiksel dilbilim alanında yapılan az çok örtülü varsayımlarla ilgilendiğim için bunu istiyorum.


FSbirWÖC{birn|n asal }

Sanırım verdiğiniz örnekler ile FST çıktısı arasındaki fark, çobanın yazıldıktan sonra satırları okuyabilmesi, ancak FSM'nin yapamayacağıdır. Karşılaştırmak için de aynı şey geçerli.
Shaull

Herhangi bir gönderinin altındaki "yorum ekle" bağlantısını tıklayarak yorum yapabilirsiniz.
Raphael

Bir sürüyü saymak için yapılan herhangi bir ÖSO, sürüyü sayabilir. Hiçbir inşa edilmiş ÖSO herhangi bir sürüyü sayamaz. Temel soru, çobanın sadece en azından kendi sürüsünü saymaya yetecek kadar saymayı veya doğal sayıların tamamını kullanmasını bilmesidir. Benim tecrübelerime göre, biz insanlar matematik eğitimimizin bir noktasında iki yetenek arasındaki geçişi açıkça yapmalıyız.
reinierpost

1

FSM'ler , durum geçişleri ile belirtilen sonlu bir aralık / adım sayısı içinde "sayabilir". ancak, sonlu sayıda adımı geçemezler.

FSA benzeri bir makinenin sayabileceği duygusu var. yakından ilgili bir makineye Sonlu Durum Dönüştürücü denir . dönüştürücü gerçekten de "borulu" giriş ve çıkış anlamında sayılabilir. tek bir dönüştürücü bir giriş dizisi alabilir (örneğin ikili olarak) ve bunu artan bir çıkış dizisine "verebilir". daha sonra (özdeş) sayım-1 transdüserleri bir "zincirler"; her biri girişini 1 arttırır ve çıkarır. aynı zamanda temel bir "akış algoritması" gibi .


daha fazla detay: dönüştürücü EE tam toplayıcı benzer mantık kullanarak "lsb" çalışma "msb" sırasına yani "en az sig bit" artı "en sig bit" artırabilir .
vzn

fyi sonlu durum transdüserleri çok fazla çalışılmamış gibi görünmektedir. yinelemeleri hesaplayan bir makine oluştururken collatz varsayımına bir başka ilginç uygulama daha var . Herkes beni de teori / tartışma plz temas ilgilenen sohbet ya da benim üzerinde bloga .
vzn
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.