Etkileşim algoritmalardan daha mı güçlü?


17

Ben sloganı duydum etkileşim algoritmaları daha güçlü dan Peter Wegner . Fikrin temeli, (klasik) bir Turing Machine'nin dış dünya / çevre ile iletişim, yani iletişim (giriş / çıkış) ile başa çıkamamasıdır.

Bu nasıl olabilir? Bir şey Turing Makinesinden nasıl daha güçlü olabilir? Bu hikayenin özü nedir? Neden daha iyi bilinmiyor?


1
Sorunuza eklemek için bir referansınız var mı? Bir Turing Makinesinin biçimsel tanımını biliyorum, ama "etkileşim" ile ne demek istediğinizi tam olarak bilmiyorum .
Janoma

Ayrıca, "çevre ile etkileşimi idare edemiyoruz", "gerçek rasgeleliği kaldıramıyor" ile benzerdir, ki bu doğru olabilir, ancak her ikisi de sensörler ve sahte rasgele ile oldukça iyi bir şekilde tahmin edilebilir. Ancak bu, etkileşim tanımını bilmeyen, bilgisiz bir yorumdur.
Janoma

2
Turing Machines'de sensör yok.
Dave Clarke

1
Bunun farkındayım. Ve yine, bilgisayarlar yapmak Turing Makinası için bir giriş geçirerek belirli bir yoludur kullanım sensörleri,. TM'lere Yani bunu bir türlü dış sinyaller / çevre ile etkileşim.
Janoma

2
Soru bilgisayarlarla ilgili değil. Bir TM ile tek etkileşim ortamın başlangıçta ona bir girdi sağlaması ve sonunda en fazla bir çıktı almasıdır. Bu genel bir etkileşim değil.
Dave Clarke

Yanıtlar:


11

Turing makineleri, kehanet bantları kullanarak etkileşimi iyi idare edebilir. Şöyle çalışır: etkileşimi işleyen bir bilgisayar açısından, operatörün girişi, zaman zaman bilgisayara gönderdiği başka bir bit dizisidir. Tembel bir sysadmin'in istendiğinde girdiyi programa göndermek için bir komut dosyası yazabileceğini hepimiz biliyoruz, böylece sysadmin daha erken mola verebilir. Etkileşim makinesinin konsolda gerçekten canlı bir operatör olup olmadığını veya girişin başka bir programdan iletilip iletilmediğini bilmesinin bir yolu yoktur.

Tüm etkileşim girdilerinin vaktinden önce hazırlanması, teorik olarak, tüm girdilerin bir oracle Turing makinesi tarafından kullanılan ayrı bir bantta olmasıyla aynıdır. Bilgisayar normal olarak operatörden etkileşim istediğinde, makine bunun yerine giriş bandından okur. Teypten okunan şey bir şekilde geçersiz görünüyorsa Turing makinesi, etkileşim makinesinin bu girişi almak için ne yapacağını tam olarak yapar.

Wagner'in girişi kodlamak için kehanet bantları kullanma yeteneğinin farkında olduğunu tahmin ediyorum, bu yüzden yorumlarını bir tuz tanesi ile almanız ya da aslında ne anlama geldiğini sormanız gerekiyor. Etkileşimi düşünen insanların genellikle iki şeyden endişe duyduklarına inanıyorum:

  • "Gerçek" bilgisayarların etkileşimi vardır, ancak Turing tarafından tanımlanan algoritmalar yoktur. Kâhin bantlardaki girdiyi kodlayarak bu sorunu çözebiliriz, ancak bu hala gerçek bilgisayarların çalışma biçimiyle eşleşmiyor. Gerçek bilgisayarlarla daha uyumlu olan hesaplama modellerini incelemek güzel olabilir.

  • Oracle tabanlı algoritmalar günlük hesaplamalarda sıklıkla dikkate alınmaz çünkü normal bilgisayarlar veri sağlamak için sihirli bir "kehanet" ile gelmez. Ama aslında bir insanı kehanet olarak kullanabiliriz. Kişi talep edilen verileri anlarsa, algoritmaya yardımcı olabilir ve böylece performansını artırabilir. Başka bir deyişle, bir insan sadece rastgele olandan ziyade yararlı bir oracle bandı sağlayabilir ve prensipte bu, oracle tabanlı olmayanlara kıyasla daha hızlı veya daha güçlü hesaplama yöntemlerine yol açabilir. Benzer bir şey, sonuçta, makineye ekstra bir girdi olarak bir dizi rastgele bit verildiğinde rasgele hesaplama ile olur.


Oracle bantlar etkileşimi doğru şekilde modellemez. Bir bilgisayar sisteminin özel bilgi sızdırmadığını kanıtlamaya çalışın. Bu, sabit bir kehanet bandına sahip bir TM açısından resmileştirilemez, çünkü özellik, ortamın yapabileceği hesaplamayı karakterize etmeye bağlıdır - tam olarak bir kehanet bandıyla soyutladığımız şeyi.
Neel Krishnaswami

"Doğru model" ile ne demek istediğinize bağlıdır. Bazı makaleler (örneğin hiper hesaplama topluluğundan), etkileşimin bir şekilde hesaplanabilir işlevler kümesini genişlettiğini öne sürmektedir. Hangi yapar, tam olarak oracle hesaplamanın yaptığı gibi. Elbette TM'leri gerçek hesaplama ortamının özelliklerini incelemek için kullanamazsınız; bilgisayarınızdaki işlemcinin buggy olup olmadığını bilmek istiyorsanız, bunu tamamen görmezden gelmeye ve Turing makinelerine bakmanıza yardımcı olmaz. Ancak yalnızca hesaplanan işlevle ilgili sorular için etkileşim ve kehanetler eşdeğerdir.
Carl Mummert

Hayır, durum böyle değil: kehanet bantlarının modellemediği uygulanabilir etkileşimlerde süreklilik kısıtlamaları vardır. Ortam programın içinde göremiyorsa, zamanında verdiği girdi yalnızca önceki n numaralı çıktıya bağlı olabilir . (Yani, girdiyi çıktının bir fonksiyonu olarak inceleyerek, girdi işlevinin Cantor metriğine göre genişlememesi gerekir.) Hesaplanabilirlik, klasik bir matematikçiye topoloji "gibi" hissettikçe, etkileşim, yapıcıdan topoloji "gibi" hisseder matematikçiler. nn
Neel Krishnaswami

Bu benzetme üzerinde gerçekten kapsamlı bir çalışma için, bkz. Pierre Hyvernat: Peter Hancock: Programlama arayüzleri ve temel topoloji. citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.919
Neel Krishnaswami

1
n

8

Tornalama Makineleri hesaplamayı modeller ve etkileşim kavramları yoktur. Bu anlamda bir dış sistemle etkileşimi destekleyen bir makine, bir Tornalama Makinesinin yapamayacağı şeyleri yapabilir. Ama yapılan hesaplama arasında bir dış kaynaktan girdi biraz açıkçası her zaman bir şey yapamaz, Turing Makinası bunu bile "IO Makinesi" modellenebilir ile bir Turing Makinesi yapamadı dışarıdan girişi.

Bir anlamda böyle bir makine Turing Machines tarafından kararlaştırılamayan problemlere "karar verebilir", ancak yalnızca etkileşime girdiği sistemin süper Turing-Machine güçlerine sahip olduğunu ve güvenilir olduğunu (bir şekilde; olasılıklı güvenilirlik) hayal ediyorsanız Yeterli olacaktır).

Gibi bir IO Machine için bir program düşünün: "herhangi bir ilk bant girişi için, bant içeriğini yazdırın, sonra dış girişten bir sembol okuyun; sembol 1 olup olmadığını kabul edin ve aksi takdirde reddedin". Bu program herhangi bir soruna karar verebilir . Ancak yalnızca etkileşime girebileceği dış sistem sorunu belirleyebiliyorsa; bana göre bu, IO Makinesinin Turing Makineleri tarafından kararlaştırılamayan sorunlara karar verebildiğini söylemenin çok ilginç bir yolu değil.

Bantında girdi olarak bir önceki girdinin kodlamasını bir dış girdiyle birlikte kodlayan ve makinenin birlikte bir konfigürasyon kodlaması içeren bantla durmasını sağlayan bir makineyi hayal ederek etkileşimli bir hesaplamayı temsil etmenin her zaman mümkün olacağını düşünüyorum. çıktı ile. Daha sonra "bir programın çalıştırılması" süreci bu Turing Machine'i tekrar tekrar mekanik bir şekilde çalıştırır, ancak "mekanik olmayan" kısım ancak dış girdi kaynaklanır. Böyle bir sistem çıktısını başka bir Turing Makinesine vererek girdiğini kanıtlayabileceğinizden eminim.benzer şekilde çalışacak şekilde ayarlanmışsa, birleşik sistem tek bir Turing Makinesi için aynı hesaplama gücüne sahiptir. Hesaplamanın etkileşime girdiği sistem bir Turing Machine'den daha güçlü olmadığı sürece, etkileşimli hesaplamanın etkileşimli olmayan hesaplamadan daha güçlü olmadığı konusunda ikna edici bir argüman buldum .


Bununla birlikte, etkileşimin bir bilgisayarın problemleri çözme kabiliyetine katkıda bulunabileceği teorik olmayan bir anlam vardır. İnsanların bilgisayarları çok iyi yapmasını nasıl sağlayacağımızı bilmediğimiz pek çok şey var. Ama insanların çöplük yaptığı birçok şey var, bilgisayarları yapmamız mümkün. Bu ikisini birleştirmek , zor durumlarda insanlara kelimeleri tanıma sorunlarını ortadan kaldırarak kitapları otomatik olarak dijitalleştiren reCaptcha gibi projelere yol açabilir . Ortaya çıkan bilgisayar + insan emeği sistemi, şu anda ya tek başına hesaplama ya da yalnızca insan emeği ile elde edilmesi pratik olmayan bir sonuç elde eder.


8

Son zamanlarda ACM Ubiquity sempozyumu düzenledi ' Hesaplama nedir? Peter Wegner, İnteraktif bilgi işlem hakkındaki görüşlerini yansıtan bir makale yayınladı.

İşte Peter Wegner'in makalesinden iki alıntı:

Erken Turing makinelerinden eksik olan yeni bir konsept, hesaplama sırasında çevre ile etkileşimi barındıran "İnteraktif Hesaplama" dır.

Etkileşim makineleri Turing makinelerine göre daha güçlü bilgi işlem biçimleri gerçekleştirebilir ve Turing tarafından önerilen düşünme türlerini gerçekleştirebilir, çünkü etkileşim Turing makinelerinin performanslarını arttırır.

Bununla birlikte, aynı sempozyumda bir makalesi olan Fortnow, Wegner'ın görüşlerine katılmıyor gibi görünüyor ve interaktif hesaplamanın Turing Makineleri üzerinde herhangi bir ek güç sağlamadığına inanıyor.

Karışıma eklemek için, hala hesaplamayı tartışıyor ve tanımlıyoruz. Moshe Vardi'nin bir Algoritma Nedir ?, ACM'nin İletişimi, Vol. 55, No. 3, Mart 2012.

Vardi iki yeni algoritma tanımı hakkında rapor verir. Birincisi Gurevich, ikincisi Moschovakis tarafından öneriliyor.

Gurevich, her algoritmanın soyut durum makinesi olarak tanımlanabileceğini savundu.

Moschovakis, aksine, bir algoritmanın, ilkel olarak alınan keyfi işlemlerin üzerine inşa edilen özyinelemeli bir açıklama olan bir imleç açısından tanımlandığını savundu.


6

IO'lu modellerin Turing makinelerinden "daha güçlü" olduğunu düşünmüyorum, sadece farklı şeyleri modelliyorlar.

Teorik olarak, IO'yu (gürültülü?) Kehanet olarak görebilirsiniz. Mükemmel bir kehanet ile bilgisayar Turing-hesaplanamaz fonksiyonları yapabilirsiniz; ama kâhin nereden alınır? İnsanlar (varsa) tek "süper Turing" seçeneğidir ve çok güvenilmez olduğumuz bilinmektedir.

Bu modele uyan bir program sınıfı etkileşimli prova yardımcılarıdır (ör. Isabelle / HOL , Coq ). Kararsız kanıt alanları ile uğraşırlar ancak (tartışmalı olarak) her kanıt uygun kullanıcı girişiyle bulunabilir (ve kontrol edilebilir).


Yani Oracles ile Turing Makineleri daha güçlüdür onlarsız Turing Makineleri ve Oracles ile Turing Makineleri etkileşimi modelleyebilirsiniz. Yani cevap evet gibi görünüyor.
Dave Clarke

1
@DaveClarke Eğer mükemmel oracles düşünüyorsanız, evet.
Raphael

2
Bence yardımsız (herhangi bir şekilde oracle ya da girdi ile) bir makine (ya da program) prensipte her ispatı bulabilirdi. İki sorun vardır: (1, teorik): bir ifadenin hiçbir kanıtı olmadığını asla anlayamayacak ve (2, pratik): belirli bir ifadeye tökezleme umuduyla körü körüne kanıtlar üreten kimse denemek ister ve bu nedenle kanıt asistanları yönlendirmeli bir aramayı tercih eder, bir kanıt olması durumunda "garantili" başarıları terk eder.
Marc van Leeuwen

2
Ben'in cevabında belirttiği gibi, ona bakmanın doğru yolu "Oraclesli Turing makineleri daha güçlü" değildir; makinelerin kendileri sadece hesaplanabilir şeyler yapıyorlar. Ona bakmanın doğru yolu, "bazı kehanetler hesaplanamaz, ve bu kehanelerden bir kehanet olmadan hesaplayamayacağımız şeyleri hesaplayabiliriz". Hesaplama gücü, makineden ziyade kâhinden gelir.
Carl Mummert

Oracles ile Turing Makineleri en güçlü şey gibi görünüyor. Neden yeni tanımlarla uğraşasınız ki?
saadtaame

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.