Turing Makinesi ile ilgili fiziksel bir benzetme var mı?


27

Geçenlerde CS sınıfımda Turing Makinesi ile tanıştım.

Dersten sonra, bir bantla makine arasındaki ilişkinin ne olduğunu anlamaya çalışmak için 2 saatimi harcadım.

Bilgisayar kasetlerinin varlığından ya da kasetlerin ve makinelerin bugüne kadar nasıl etkileşime geçtiğinin farkında değildim. Bir makinenin neden kaset okuduğunu hala göremiyorum ama bir tarayıcı, kağıdın bant olarak kabul edildiği ve tarayıcının içine giren her ne olursa olsun bir Turing makinesinin yapabileceği şey olan Turing makinesine daha yakın bir anlayış olabilir.

Ancak, herhangi bir durumda, bir Turing makinesi fikri oldukça arkaik değil mi? Ofisimizde veya salonumuzda Turing Makinesinin yaptığı şeyi yapan pek çok fiziksel (varsayımsal) cihaz var.

Birisi gerçeklikten daha iyi bir örnek çizebilir, böylece bu varsayımsal kavrama ilişkin temel işlevsellikler yakalanabilir mi?


1
Bir makinenin neden kaset okuduğunu anlamak istiyorsanız, bilgisayar işleminin ilk günlerinde okuyun. Örneğin Colossus'un bu fotoğrafında kağıt bantlar görebilirsiniz .
Peter Taylor,

4
Tabii ki gerçek Turing makineleri var! Bir tane bile Lego'dan yapılmış!
john_leo

3
İlgili soru . Sabit diskler gelene kadar hesaplamada yoğun olarak kullanılan (sonlu) bantların olduğuna dikkat edin .
Raphael

1
Çin Oda Argümanı ( en.wikipedia.org/wiki/Chinese_room ) anlamanıza yardımcı olabilir. CS'ye ilk girdiğimde Touring makineleriyle aynı sorunu yaşadım ve Çin Odasına ulaşmak için gereken köprüydü. Ayrıca, bir Tournig Makinesinin amacı, matematikçilerin CS ile ilgili ilginç şeyleri kanıtlamaya devam etmelerine izin vermektir. Gerçek bir bilgisayar olduğu anlamına gelmez.
sevensevens,

2
@slebetman Bu birisi sadece Turing Makineleri aşina olmak için aa biraz ezoterik olabilir, ama bir Turing Machine kaset değil rasgele erişimli; sıralı erişim. Kafayı bir hücrenin uzağına götürmek için n kayma gerekir. Bunu sadece hesaplanabilir şeylerin alanı değişmese de, onları hesaplamak için gereken zaman değiştiği için söylüyorum. Bu tür sonuçlar (örneğin, 1 bantlı bir makineyle 2 bantlı bir makineyi simüle edebilirsiniz, 1 bantlı bir makineyle RAM'i taklit edebilirsiniz, vb. Ve yalnızca polinom zaman artışını, vb.) hesaplanabilirlik kursları.
Joshua Taylor

Yanıtlar:


24

Turing makineleri hesabı ve özyinelemeli olarak tanımlanmış özyinelemeli fonksiyonlarla birlikte "orijinal" Turing-komple hesaplama modellerinden biridir . Günümüzde teorik bilgisayar biliminin birçok alanında farklı bir model kullanılıyor, gerçek bilgisayarlara çok daha yakın olan RAM makinesi. Her iki model de p-eşdeğeri olduğundan (en çok polinom patlamasıyla birbirlerini simüle ederler), P ve NP gibi sorular açısından her iki model de eşdeğerdir.λ


38

AFAIK Turing Machine, bir kalem ve kağıt ile bir insan fikri üzerine modellenmiştir. İnsan beyinde belli bir duruma sahiptir, makinenin kasete baktığı gibi kağıda bakar ve kağıda bir şeyler yazar veya makinenin yaptığı gibi farklı bir yere bakmak için hareket eder.

TM, Peano doğal sayı aritmetiği olarak arkaiktir. TM, pratik hesaplama için işe yaramaz ve elbette bunun için kullanılması amaçlanmamıştır. Hesaplamayı eksenelleştirmenin basit bir yoludur, böylece neyin hesaplanabilir ve neyin olamayacağı üzerine düşünebiliriz - tıpkı Peano aritmetiği, ilk sayılardan doğal sayıların ne olduğunu ve özelliklerinin ne olduğunu tanımlamak için yararlı olduğu için - ama saçma Teorik tanımlara göre Peano sayılarını elle manipüle ederek aritmetik yapmaya çalışın.

Turing Machine yerine C ++ programlama dilinin anlamını kullanarak ispatlamak zorunda kaldıysanız, karmaşıklık ve hesaplanabilirlik teorisinden farklı teoremleri kanıtlamanın ne kadar zor olacağını düşünün (örneğin, Halting Probleminin kararsız olduğunu kanıtlayın). Kanıtlarınız saçma veya imkansız olacaktır - çarpımın ne olduğunu tanımlamanız için ondalık sayılara uygulanan ilkokul yöntemini kullanarak doğal sayı çarpımının ilişkiselliğini kanıtlamak kadar saçma.


5
Güzel cevap Turing'in orijinal gazetesinde, makinenin tanımını bir insanın nasıl hesaplayacağından bile aldı.
john_leo

1
Re: C ++, bu eğlenceli
Daniel Earwicker

8

Birçok çok farklı Turing eksiksiz hesaplama modeli fiziksel olarak gerçekleştirilebilir (sınırsızlığın durması olarak sonsuzluğa kadar). Böylece bir model seçmenin anlamı olamaz.

Jkff tarafından verilen cevap, Turing Makinesinin hesaplanabilirlik ve üretilebilirliği incelemek için (aslında Hilbert'in Entscheidungsproblemi bağlamında ortaya çıkan) matematiksel bir amaç için teorik bir araç olarak tasarlandığını belirtmekte uygundur . Ancak, basit bir formalizmi seçmenin nedenlerinde tam olarak doğru değil.

Prensip olarak ispatlama Halting sorunu daha gelişmiş modeller için o kadar zor değildir. Aslında, "kanıtlarımız" çoğu zaman sadece bir çözümün inşasıdır. Bu yapıların doğru olduğu konusundaki gerçek (çok sıkıcı) argümanlara pek girmiyoruz. Ancak Turing'in eksiksiz bir dili için tercüman yazan herkes, herhangi bir yapı kadar evrensel bir makine yapar. C biraz karmaşık olabilir ve böyle bir amaç için onu biraz düzenlemek isteyebiliriz.

Basit bir modele sahip olmanın önemi, modelden yapılabilecek kullanımda, özelliklerinin belirlenmesinden (örneğin Halk Sorunu gibi, jkff tarafından verilen örneği almak için) çok daha fazladır.

Tipik olarak, büyük teorem genellikle çok basit bir şekilde ifade edilebilecek ve çok çeşitli problemlere uygulanabilir teoremlerdir. Ancak bunların kanıtlanması kolay teoremler olması gerekmez.

TM durumunda, basitliğin önemi, Halting Problemini veya diğer TM problemlerini, ilgilendiğimiz problemlere indirgeyerek (Bağlamsız dillerin belirsizliği gibi) ve dolayısıyla çözüme yönelik sınırlamaları belirleyerek birçok sonucun ortaya çıkmasıdır. bu problemler.

Aslında, çok sezgisel olmasına rağmen (muhtemelen popülerliğinin temel nedeni budur), TM modeli genellikle bu tür kanıtlarda kullanmak için yeterince basit değildir. Bu, Yazışma Sonrası Sorunu gibi daha basit modellerin bile, analiz edilmesi daha az sezgisel fakat kullanımı daha kolay olmasının bir nedenidir . Ancak bunun nedeni, bu hesaplama modellerinin genellikle (orijinal Entscheidungsproblem'e geri dönen) olumsuz sonuçları ispatlamak için kullanılmasıdır.

Bununla birlikte, bazı problemleri çözmek için bir algoritmanın varlığı gibi olumlu sonuçları kanıtlamak istediğimizde, TM çok basit bir cihazdır. RAM bilgisayarı veya birleşik bellek bilgisayarı gibi gelişmiş modele sahip modelleri veya diğer birçok modelden birini, hatta birçok programlama dilinden birini düşünmek çok daha kolaydır .

Daha sonra TM modeli, özellikle bu modellerin TM modeline indirgenmesinin karmaşıklığı göz önüne alındığında, özellikle karmaşıklık analizi için bir referans noktası olarak gelir. aşırı bir örnek almak için, Lambda-kalkülüsünün indirgenmesine).

Başka bir deyişle, TM modeli algoritmaları tasarlamak ve çalışmak için genellikle çok basittir (pozitif sonuçlar) ve hesaplanabilirlik çalışması için çok karmaşıktır (negatif sonuçlar).

Ancak , sezgisel olmanın büyük avantajı ile hepsini birbirine bağlamak için merkezi bir bağlantı olarak hizmet etmek için doğru yerde olduğu görülüyor .

Fiziksel analojiler ile ilgili olarak, bir modeli diğerinden seçmek için hiçbir neden yoktur. Birçok Turing eksiksiz hesaplama modeli fiziksel olarak gerçekleştirilebilir (bellek sonsuzluğu için sınırsızlığa kadar), çünkü bir bilgisayarı yazılımıyla birlikte "çıplak" bir bilgisayardan daha az fiziksel olarak düşünmek için hiçbir neden yoktur. Sonuçta, yazılım programlanmış bilgisayarın bir parçası olan fiziksel bir temsile sahiptir. Dolayısıyla, tüm hesaplama modelleri bu bakış açısına eşdeğer olduğundan, bilginin organizasyonu için uygun olanı seçebiliriz.


Belki de bu sempatik olmayan bir ifadedir, ancak ilk cümle her zaman yukarı gidebileceğiniz için doğru değildir. Tam hesaplama modelleri Turing olan ancak fiziksel olarak gerçekleştirilemeyen hiper hesaplama için birkaç model var.
Nikolaj-K,

Teşekkürler. Bunu hiç düşünmedim, ama hiper hesaplamanın her zaman başka yollarla zayıflatılabileceğinden, bu doğru olabilir sanırım. Söylemek istediğimi anladığınızı düşündüğüm için bunun nasıl ifade edilmesi gerektiğini düşünüyorsunuz?
babe

1
Evet, sadece deterministik olmayan ya da sonsuz zaman makineleri gibi şeyler değil. Hesaplamanın 7. adımından sonra bir fil haline dönüşen, bir kase Spagetti yiyen, başka bir Turing makinesi oluşturan ve orijinal hesaplamanın 8. adımıyla ilerleyen bir Turing makinesi ... aynı zamanda geçerli bir Turing tam hesaplama modelidir. Her neyse, düzeltmen gerektiğini düşünmüyorum.
Nikolaj-K,

" Herhangi bir Turing tam hesaplama modeli fiziksel olarak gerçekleştirilebilir. ", Aslında, hayır, aslında tam tersi. Aslında, hiçbir Turing tam modeli hiçbir zaman fiziksel olarak inşa edilemez, çünkü sonsuz bir şey inşa edemeyiz. Bu nedenle, tüm "fiziksel olarak gerçekleşen" hesaplama modelleri, en iyi Doğrusal Sınırlanmış Otomat modellerinde ya da altındadır.
RBarryYoung

@RBarryYoung Cevabın tamamını okumak için sabrınız varsa, son paragrafta bunun “bellek sonsuzluğunun sınırsızlığına bağlı” olduğunu açıkça belirtmiş olabilirsiniz. İlk cümle bir giriş niteliğindeydi. Giriş bölümünde böyle bilinen bir gerçeği vermemek uygun değil mi? Daha derinlemesine analiz etmeye çalışmak TM modelinin rolünün daha fazla eleştiriye verdiğim cevabı açtığı doğrudur. Cevabımda yanlış olan başka bir şey gördünüz mü?
babe

5

Şu soruyu soran geometriye yeni başlayanlar düşünün:

Üçgenin fiziksel bir benzetmesi var mı?

Üçgen fikri oldukça arkaik değil mi? Ofisimizde veya salonumuzda, üçgenin yaptığı gibi görünen pek çok fiziksel (varsayımsal) şekil var.

Ne cevap verirdin?

Bu soruların üçgenlerle ilgili iki temel yanılgı ortaya çıkardığını söyleyebilirsiniz:

  1. "Üçgenler tamamen varsayımsaldır." Yanlış! Matematiksel varlıklar, Platonik idealler ve bu anlamda varsayımsal olsalar da, üçgenler gerçektir : onları gerçek dünyada kurabiliriz. Yaptığımız şey asla mükemmel bir üçgen olmayacak, ancak onlarla ilgili matematiksel teorimiz gerçek dünyaya uygulanır, türetebileceğimiz yasalar gerçek dünyadaki şekillere uygulanır, teori tasarlamak için temel olarak kullanılabilir, gerçek dünyada şekillerin oluşturulması ve ölçülmesi; Teorinin ilk başta geliştirilmesinin nedeni budur.
  2. "Üçgenler işe yaramaz çünkü normalde kullandığımız şekilleri tarif etmiyorlar."Yanlış! Gerçek dünyada bulduğunuz gerçek şekilleri tanımlamak onların amacı değildir. Tüm ofisinizde veya oturma odanızda tek bir üçgen yoksa, bu üçgen kavramının gerçekçi olmadığı veya modası geçmiş olduğu ve başka bir şeyle değiştirilmesi gerektiği anlamına gelmez. Temel amacı, daha karmaşık şekillerin hepsinin prensip olarak inşa edilebileceği ve dolayısıyla genel olarak şekillere uygulanan yasaları türetebileceğimiz temel bir yapıdır. Üçgenler hakkında düşünmek, genel olarak şekiller hakkında düşünmemize izin verir. Oturma odanız, üçgenler için elde ettiğimiz yasalara tabidir ve bu yasalarla ilgili bilgimiz doğrudan veya dolaylı olarak onu inşa etmek için kullanılmıştır. Oturma odasında muhtemelen tek bir üçgen yoktur, tek başına mükemmel bir tane olsun, ama orada üçgenler bulmakla ilgilenmiyoruz; yapabiliriz. ancak, buradaki şekillerin üçgenlerle yaklaştırılmasıyla bir tanımını oluşturun ve bu - üçgenleştirme - yapılacak popüler ve faydalı bir şey. Dolayısıyla üçgenler, genel olarak şekiller hakkında düşünmemize yardımcı olacak yapı taşlarıdır.

Aynısı Turing makineleri için de geçerlidir.

Geometri ile tanıştığımdan bu yana çok uzun zaman geçti, yeni gelenlerin üçgenlerle ilgili bu yanlış anlamalara sahip olup olmadığını gerçekten hatırlayamıyorum. Ancak, Turing makinelerine gelince, bu yanlış anlamalar ile her zaman karşılaşıyorum . Sık sık, aslında, genellikle nasıl öğretildiklerini temelde yanlış bir şey olduğu görülmektedir. Belki bir şov ve söyleme yaklaşımı sırayla!

Yani, bütünlüğü uğruna:

  1. "Turing Makineleri tamamen varsayımsaldır." Yanlış! Bunlar matematiksel varlıklar, Platonik idealler ve bu anlamda varsayımsal olsalar da, Turing Makineleri gerçektir : onları gerçek dünyada kurabiliriz. Yaptığımız şey asla mükemmel bir Turing Makinesi olmayacak, ancak onlarla ilgili matematiksel teorimiz gerçek dünyaya uygulanır, türetebileceğimiz yasalar gerçek dünyadaki hesaplama cihazlarına uygulanır, teoride temel olarak kullanılabilir. gerçek dünyada hesaplama araçlarının tasarlanması, yapılandırılması ve ölçülmesi; Teorinin ilk başta geliştirilmesinin nedeni budur.
  2. "Turing Machines işe yaramaz çünkü normalde kullandığımız bilgisayar cihazlarını tarif etmiyorlar."Yanlış! Gerçek dünyada bulduğun gerçek hesaplama araçlarını tanımlamak onların amacı değil. Tüm arka ofis veya ev eğlence stüdyosunuz tek bir Turing Makinesi içermiyorsa, bu Turing Makinesi konseptinin gerçekçi olmadığı veya modası geçmiş olduğu ve başka bir şeyle değiştirilmesi gerektiği anlamına gelmez. Temel amaçları, daha karmaşık tüm hesaplama cihazlarının ilke olarak inşa edilebileceği ve dolayısıyla genel olarak şekillere uygulanan yasaları türetebileceğimiz temel bir yapıdır. Turing Makineleri hakkında muhakeme, genel olarak hesaplama cihazları hakkında düşünmemize izin verir. Bilgisayarınızın donanım ve yazılımı, Turing Makineleri için türettiğimiz yasalara tabidir ve bu yasalarla ilgili bilgimiz, doğrudan veya dolaylı olarak, bunları inşa etmek için - muhtemelen kullanmadıkları halde - kullanılmıştır. İçlerinde tek bir Turing Makinesi yok. İlgilendiğimiz yasalar.

1
Eğer davasıyla üçgenler Bu tartışmayı uzatmak Could tesseracts . Üçgenlerin daha az açıkça fiziksel olan varlıklara karşı olması gerektiğini düşünüyorum.
babe

1
Soruyu okuduğumda güldüm, çünkü bana göre bu üçgenlerin arkaik olduğunu belirtmek kadar saçma geldi. Bilgisayar Bilimi temelde matematiktir; Yaşlanmaz ve modası geçmez. Çok iyi yazılmış cevap; +1.
Joker

Bir tesseractın alaka düzeyini görmüyorum, ancak bir tür prosedür veya makine kullanmak, örneğin örme veya örme makinesi kullanmak için bir gelişme olabilir . Bir Turing makinesi gerçekten bir nesneyi değil, (yapılandırılabilir, adım adım) bir işlemi tanımlamaktadır.
reinierpost

3

Turing'in aklındaki gibi görünen fiziksel benzetme, kalem, kağıt ve silgiyle ilgili sorunları çözen bir bilgisayardır. 1936'da “bilgisayar” ın hesaplamak için çalışan bir insan olduğunu anlamalısınız. Elbette 1936'da bilgisayarların çoğu ek makinası kullanıyordu, ancak Turing gerekli olmadıklarından bunlardan bahsetmiyor. Teyp ile ilgili olarak, “'hesaplanabilir' sayıların [yani bir Turing makinesinin hesaplayabileceği değerlerin] doğal olarak hesaplanabilir sayılacak tüm sayıları içerdiğini” gerekçelendirmeye çalıştığını söylüyor.

Bilgi işlem normal olarak kağıda belirli semboller yazılarak yapılır. Bu makalenin bir çocuğun aritmetik kitabı gibi karelere bölündüğünü varsayabiliriz. Temel aritmetikte kağıdın iki boyutlu karakteri bazen kullanılır. Ancak böyle bir kullanım her zaman önlenebilirdir ve kağıdın iki boyutlu karakterinin hesaplamanın gerekli olmadığı konusunda hemfikir olacağına inanıyorum. O zaman hesaplamanın tek boyutlu bir kağıt üzerinde, yani karelere bölünmüş bir bant üzerinde yapıldığını varsayıyorum.

Bilgisayar artık bir ticaret olmamasına rağmen, en son kontrol ettiğimde, çocuklar hala kalem ve kağıdı bir depolama ortamı olarak kullanan algoritmaları yapmayı öğretiyorlardı. Dolayısıyla, bu benzetme eski moda ve hatta arkaik görünse de, henüz eski değil.

Daha fazla bilgi için bkz . Entscheidungsproblem uygulamasına ilişkin hesaplanabilir numaralar hakkında , özellikle bölüm 1 ve 9.


Joe Weizenbaum açıklamada başka bir fiziksel benzetme kullandı: tuvalet kağıdı rulosundaki belirteçler.
Jerry101

1

@jkff'un fikri the Turing Machine is modeled on the idea of a human with a pen and papertamamen doğru değil. Ancak doğru olarak kabul edilebileceği birçok durum vardır.

İnsanları, devletlerin belirli bir izdüşümü altında bir Turing makinesi olarak düşünün. Başka bir deyişle, yalnızca bir çalışma saatlerinde bir insan görürseniz, çalışma saatlerinde belirli görevleri yerine getirir. Bu görevler iş için temel görevlerdir.

Kişisel yaşamını, evde, odasını vb. İle ilgilenmiyorsa .. O zaman bunu geçiş işlevini, işle ilgili olmayan durumların göz ardı edildiği yeni bir geçiş işlevine yansıtmak olarak düşünebilirsiniz. Başka bir deyişle, endişeniz ve bakış açınızla ilgisi olmayan tüm durumları ve görevleri atlayabilirsiniz.

Bu modelde, daha sonra Turing makinesi, kalemle sabitlenmiş bir işi yapan bir insandan sonra modellenir (yani sabit bir perspektiften görünüm). Kaset kağıda yazdığı şeydir (tüm kağıtları görmezden ya da görev için yazmadığı bir kağıda yazı yazmaktadır)

Şimdi, onun yaptığı diğer görevleri göz önünde bulundurursanız, sahip olduğunuz şey, bir insanda birçok Turing makinesi birliğine sahip olmanızdır. Ama sonra ya işini değiştirirse ve farklı işler yaparsa. Daha sonra, farklı zaman dilimlerinde farklı bakış açısı altında bakıldığında beyin durumu farklı bir Turing makinesine dönüşür.

Sorunuza iyi bir cevap almak istiyorsanız, Yuval Filmus'un bunu iyi cevapladığını düşünüyorum. RAM modelini kullanın. Yapıştır.

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.