Zaman karmaşıklığı için neden tek bantlı Turing makineleri kullanıyoruz?


18

Bildiğiniz gibi, tek bant için birçok anomo vardır Zaman olduğunda Turing makineleri : çoklu bant TM simülasyonu, sadece { 0 , 1 , b } ile daha büyük bant alfabesinin simülasyonu , zaman yapılandırılabilirliği, sızdırmazlık zaman hiyerarşi teoreminin ...o(n2){0,1,b}

Ayrıca basit sorunlar için ve modele özgü O ( n 2 ) zaman alt sınırları (iki bant TM üzerinde süper lineer alt sınırlara bile dönüşmeyen) gibi sonuçlar.DTbenme(Ö(nlgn)=R,egÖ(n2)

Alan karmaşıklığı için, daha doğal ve sağlam olan ayrı bir salt okunur giriş bandına sahip olduğumuz bir model kullanıyoruz.

Çoklu bantlara (veya en az 2 çalışma bandına) sahip bir TM modeli çok daha sağlam olacaktır ve yukarıda listelediğim gibi anormalliklere yol açmayacaktır. Bir keresinde, karmaşıklık teorisinin ilk yıllarında simülasyon sonuçlarını kanıtlamış tanınmış bir karmaşıklık teorisyenine bu eski sonuçlardan birinde herhangi bir gelişme olup olmadığını sordum ve cevap, "tek bant modeliyle ilgili sorular önemli".

Zaman karmaşıklığı için standart modeli iki bant TM'ye değiştirirsek, karmaşıklık teorisinde makul sonuçlar değişmez ve belirli modelin neden olduğu bu anormalliklerden kaçınırız. Benim sorum şu:

zaman karmaşıklığının hala tek bantlı TM'ler olarak tanımlanmasının bir nedeni var mı? (tarihsel nedenler dışında)


7
Tek bantlı TM'ler tarafından tanımlanan zaman karmaşıklığını hiç görmedim. Sadece tek bantlı TM'ler tarafından tanımlanan sağlam zaman karmaşıklığı sınıflarını gördüm.

@Ricky, demek istediğim, bir sorunun zaman karmaşıklığı, onu çözebilecek tek bant TM'lerin zaman karmaşıklığı olarak tanımlanır.
Kaveh

ve demek istediğim bunu hiç yapmadım. Her zaman en azından rastgele erişimi gördüm.

7
ama bu gerçekten olağan tanım mı? ders kitaplarında gördüklerim: 1) tek bant tanımlayın Turing makinesi (daha basit olduğu için); 2) diğer varyantlara, özellikle çoklu bant ve rasgele erişime nasıl uzatılacağını göstermek; 3) bunların hepsinin en fazla polinom yavaşlaması ile birbirlerini simüle edebileceğini gösterin; 4) modeli en azından, en azından kehanet makineleri ve günlük alanı azaltmaları gibi daha ince şeylere ihtiyaç duyana kadar derhal unutun; Yani, @RickyDemer gibi, bunun gerçekten olağan tanım olduğu iddiasına meydan okurum.
Sasho Nikolov

1
Bunun için bir cevabım yok, ama bu işi size Yamakami'den ( springerlink.com/content/u844854721p83870 ) göstermek istiyorum. Bu makaleler, küçük bir makineye (yani lineer zamanlı tek bant TM) tavsiye eklediğinizde neler olduğu hakkında tartışmaktadır. Birkaç sınıf ayrımını kanıtlar, ancak bu tek bantlı TM'leri kullanarak bunu yapar. Başka tür bir TM'niz varsa, bu ayrımlar işe yaramaz. Bence bu, tek bantla harika şeyler kanıtlayabileceğiniz ve muhtemelen farklı bir modelle yapamayacağınız güzel bir örnek. Ahlaki "ince şeylerle uğraşırken tek bant önemlidir".
Marcos Villagra

Yanıtlar:


13

Diğer cevaplar çok hoş görünüyor. Russell Impagliazzo'nun yıllar önce, o zamandan beri bana yapışan bir derste yaptığı bir yorumu paylaşmak istiyorum.

Bence Turing fiziksel olasılıktan dolayı tek bir bant TM'yi tercih etmiş olabilir.

Russell'ı bu konuya birkaç gün önce işaret ettim ama burada olmadığı için yorumunun bilinmesini istiyorum ve yorumlamak için elimden geleni yapacağım.

Tek bir bant TM için, sonsuz uzunlukta bir bant olduğunu varsayalım (lütfen benimle yapıştırın), yineleme başına sınırlı miktarda enerjiye ihtiyaç duyan bir TM oluşturabilirsiniz. Bandı uzun bir çubuk olarak düşünün ve tüm TM mantığını içeren kafa sadece bu çubuk boyunca hareket eder. (Ben çok ilkel teknoloji kullanarak, sevimli küçük dişli bir mekanizma olarak düşünüyorum. Çubuk boyunca yardımcı olmak için çentikler olabilir ve bant hücre içeriği sadece çubuk eksenine dik kaydırılmış bir blok olabilir.)

Öte yandan, bunu bant TM için nasıl yapıyorsunuz ? Eğer varsa kkkYukarıdaki çelişkilerden, okuma durumlarını potansiyel olarak aşırı derecede uzak olan diğer kafalara iletmelidirler, bu da sınırsız miktarda enerji alır (mutlaka ısıyı sızdıran kablolar kullandığınızı) ve ayrıca anlık olmayan, bu nedenle mekanizmayı karmaşık hale getirir. Bunun yerine kafaları bir arada tutar ve bantları altlarına taşırsanız, sonsuz uzunlukta bantları taşımak için yeterli enerji kullanırsınız. Her iki durumda da sınırlı enerjiyi nasıl alacağımı göremiyorum. Büzüşen bant artışları (sonlu uzunluk elde etmek) gibi hileler sonsuz bölünebilir bir evreni varsayar ve Planck'ın sabiti ve holografik prensibi gibi şeyleri ihlal eder. Bunları görmezden gelse bile, kafadaki mekanizmalar keyfi olarak hassas olmalı, bu da yine enerji sorunlarına neden olur ve müthiş karmaşıktır.

Tabii ki, ilk şemada problemler vardır: sonsuz sayıda çentikle sonsuz bandın inşası, hareketli kafadaki güneş kolektörlerine güç vermek için sonsuz sayıda güneş, sonsuz bir temizlik ve bakım malzemeleri kaynağı, vb. bant kafalarının iyi iletişim kurmasına izin verebilir , ancak şimdi bizim mekanizmamızın ne kadar karmaşık olduğuna bakalım. Her durumda, Russell'ın yorumu çok, çok ilginç.k


Turing'in "hesaplama" kavramını soyutlamaya çalıştığını ve fiziksel bir cihaz için bir modeli soyutlamadığını düşündüm. bu durumda, tek bantlı bir Turing makinesi, hesaplamanın büyük (sonsuz) belleğe yerel erişimi içerdiği felsefi sezgiyi temiz bir şekilde yakalar
Sasho Nikolov

Teorik nedenler bekliyordum (modellerin gerçekleşebilirliği değil) ama bu cevabı çok ilginç buluyorum, bu yüzden kabul ediyorum. Tekrar teşekkürler.
Kaveh

Bant kafalarını yerinde tutmak, Hennie-Stearns yapısının bir formunu tasarlayarak toplam enerjiyi mantıksal veya umarım zaman içinde yarıdan daha kötü hale getiremeyeceğimiz gibi görünüyor. Her iki yönde uzadıkça giderek daha büyük ilmeklere yuvarlanan bantları hayal ediyorum ... Ya da daha yaratıcı bir şekilde, bant makaralarında, 100 bantta makaraya, 100 makarayı rafa, 100 rafı depoya ve ve üzerinde. Tabii ki yineleme başına sınırlı enerji için, zaman içinde toplam enerjinin doğrusal olması gerekirdi. Ama quasilinear saf ikinci dereceden daha iyidir, bu yüzden bundan söz edeceğimi düşündüm.
Dan Brumleve

14

f(n)

Sipser'in bunu yapmasının kristal berraklığında pedagojik bir nedeni var, yani kurs doğal olarak bu şekilde akıyor çünkü:

  • Tek bant makinesini çoklu bant makinesinden önce tanıtmalısınız, aksi takdirde öğrenme eğrisini dikleştirir.

  • Çoklu bant makinesini tanıttığınız anda çoklu bant makinesini tek bant makinesiyle ideal olarak karşılaştırmalısınız, aksi takdirde uzun süreli cehalet ek karışıklığa yol açacaktır.

  • Çok bantlı makineler için benzer TIME sınıflarını tanıtmayı ihmal edebilirsiniz, böylece genel olarak gösterimi basitleştirebilirsiniz.

Pedagoji en kolay yolu açıkça belirlediğinde kavramsal temizliği tartışmak için hiçbir neden yoktur ve her bilgisayar bilimi lisans programı, kanıtları hala anlamayanlar da dahil olmak üzere her temel kursa katılmak zorundadır.


Hayır, IIRC, TM'lerle ilk karşılaşmam Hopcroft ve Ullman'ın ilk baskısı oldu. Ama bu soruyu sormamın nedeni aslında Sipser'in güzel ders kitabıyla ilgili, Sipser'e dayanan karmaşıklık teorisini öğrettim ve çoklu bant TM'ler. Tek bantlı TM'lerin sınırlı erişimiyle ilgili tüm bu küçük teknik ayrıntılardan kaçınılacaktı ve sahip olduğum sınırlı sürede daha ilginç materyalleri kapsayabilirdim. Sipser, Church-Turing tezini kullanma konusunda rahat
Kaveh

bu yüzden bu bölüm hakkında rahat olmanın da iyi olabileceğini düşündüm. Zaman hiyerarşisi teoremi kısmında, çoklu bantlarımız varsa ve oldukça sıkı olacaksa ekstra log faktörünün gerekli olmadığından bahseder. Bu, zaman karmaşıklığı için tek bantlı TM'lerin kullanılmasının tarihsel olmayan bir nedeni olup olmadığını sormama neden oldu. Alan karmaşıklığı için ayrı bir salt okunur bant kullanmaktan daha kötü değildir (ve yine de tek bir bant TM küçük alan karmaşıklığı sınıflarıyla ilgili sezgiyi güzelce yakalamamasıdır).
Kaveh

2
Birinin ayrı bir giriş bandı olmadan nasıl alt doğrusal uzay sınırlarını anlayacağını anlamıyorum.

Evet, SPACE'in farklı şekilde yapıldığını varsayıyorum, kısmen TIME için yapmayacağınız alt doğrusal sınırlar yapacaksınız. Bu şekilde yapmak isterseniz TIME aboneliği veya Sipser'ın SPACE için ne yaptığını yapmayı iddia ederim, kesinlikle TIME veya TIME_1 veya çok bantlı makinelerden önce ne olursa olsun konuşmak istiyorum.
Jeff Burdges

1
İlginç bir şekilde, Sipser, SPACE (f (n)) tanımlarken sadece "Turing machine" der, ancak daha sonra, alt lineer f'nin eşdeğeri üzerinde bir alıştırma atayarak, alt lineer fonksiyonlar f'nin tanımını değiştirir. Bu materyali daha önce Sipser'den öğretmiştim. O zamanlar hakkında çok fazla düşünmemiştim, ama şimdi memnun oldum.
Jeff Burdges

7

Orijinal Turing makinesi tek bir bant kullanılarak tanımlandı:

www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf

Sorunuzda belirttiğiniz gibi, bu çoğunlukla tarihsel nedenlerden dolayıdır. Dahası, her zaman bir şey yapabilen en basit modelin ne olduğunu sorma eğilimi vardır ...

Ayrıca, bu konu genellikle çok resmi olarak öğretildiğinden, tek bir bant makinesini tanımlamak teknik olarak iki bant işlemeden daha kolaydır.

Ayrıca bakınız:

http://www.cs.utah.edu/~draperg/cartoons/2005/turing.html

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.