Oracle Turing makinelerinin kullanımı nasıl çelişkilere yol açmaz?


9

Oracle Turing Makineleri kullanırken karmaşıklık sınıfları hakkında sağlam ve geçerli açıklamalar yapmaya devam etmemizi nasıl sağlayabiliriz? Anladığım kadarıyla (konuyla ilgili giriş kitaplarında verilen tanımlara dayanarak) oracle Turing makineleri, bir hesaplama adımında bir oracle diline göre bir ipin üyelik durumunu belirleyebilir. Bununla birlikte, sıklıkla kullanılan kehanet dillerinin sabit zamanda çözülmesi imkansızdır (örneğin, EXPTIME-tam bir kehanet alın). Bana göre bu, çelişkilere “kapıyı açmak” gibi geliyor ve sonuçta her şey çelişkiden kaynaklanıyor.


2
Kehanet "gerçekten" zaman aldıysa Tbu, toplam makinenin çalışma süresi için sadece bir faktördür. Sabit maliyet varsaymak (yani kâhine ne sıklıkta ihtiyacınız olduğunu saymak) kâhin kullanan algoritmaları karşılaştırmayı kolaylaştırır. (Elde edilen sonuçların gerçekte herhangi bir ilgisi olup olmadığı sorusu, TCS'de her zaman karşılaştığınız ve / veya görmezden geldiğiniz sorudur.)
Raphael

@Raphael Parantez içindeki "siz" derken genel olarak karmaşıklık teorisyenleri mi, özellikle de ben mi?
Ari

Eski. Her ikisi de, bir bakıma.
Raphael

ileri bir konu. kim bazen "yanlış" ve alan anketler kabul eden Fortnow ile başlamayı deneyin . bu sonuçları görmenin öz-tutarlı yolu bir çeşit "koşullu" iddia gibidir. Riemann hipotezine dayanarak matematikte şartlı olarak birçok sonucun kanıtlanma şekline benzer şekilde
vzn

Yanıtlar:


8

Buna bakmanın birkaç yolu var.

Birincisi, kanıtlarda ima, bir şeyin kanıtı olarak giriş yapan ve başka bir şeyin kanıtını veren bir işlev gibidir.

Sahip olmadığımız değerler üzerinde çalışan fonksiyonlar yazabiliriz.

Örneğin, durma sayısını düşünelim hhesaplanamaz. Fonksiyonu yazabilirim

haltingPlusOne:{h}N

haltingPlusOne(x)=x+1.

Bu işlev Durma numarasını girdi olarak alır ve Durma numarasını artı bir döndürür. Açıkçası bu iyi tanımlanmış bir işlevdir: doğru girişi verirsek, doğru çıktıyı verir. Doğru girdiyi bulamamamız, onu bir dönüşüm için daha az geçerli kılmaz.

Oraklesli kanıtları benzer görüyorum. Temelde, problemi çözen bir Turing makinesi veren fonksiyonlar.Xve çıktı olarak bazı teoremlerin kanıtını vereceğim.

"Durma problemine karar verebilecek Turing Makinesi yok" gibi bir şey söylediğimizde, durma problemine karar veren bir TM'nin standart tanımına uyan bir TM olmadığını fark etmek de önemlidir.

Bir kehanet temel olarak "Normal bir tanımla eşleşen bir TM'ye sahip olduğumuzu varsayalım, ancak bazı problemleri çözebileceğimizi varsayalım" diyor. Dolayısıyla çelişki yok, sorunu kabul eden normal bir TM olduğunu varsaymadığımız için, sorunu kabul eden özel bir TM olduğunu varsayıyoruz.

Gayri resmi bir benzetmede, bunu böyle düşünün. Süper güçleri olmayan insanların uçamayacağını ispatlayabilirsem, uçabilecek bir süper kahramanın olduğunu söyleyen bir çelişki yoktur.

Bu kehanetler tamamen mantıksal nesnelerdir. Onları taklit eden fiziksel makineleri nasıl yapacağımızı bilmiyoruz, Turing makineleriyle nasıl yapabileceğimizi bilmiyoruz, ancak bildiğimiz kadarıyla, tanımları ve temel aksiyomlarımız arasında doğal bir çelişki yok. Mantıksal nesneler olarak, bu kehanetler vardır. Standart Turing Makineleri veya Lambda-Calculus terimleri veya Kısmi özyinelemeli fonksiyonlar olmadığını biliyoruz. Kilise Turing tezi, daha güçlü bir model olmadığını söylüyor, ancak bu bir teorem değil, sadece bir varsayım ve gerçekten kanıtlanamayacak kadar gayrı resmi.


Cevabınızı kabul ediyorum / anlıyorum, ancak sadece belirli bir noktaya kadar: Örneğin, haltingPlusOne işlevinizin iyi tanımlandığını görüyorum, ancak oracles'tan anlamlı sonuçlar çıkarabildiğimizi göremiyorum, "if" ifadesini yanlış bir ifadeyle ifade eder ve herhangi bir sonuca varır, yani " n+1=n tüm doğal sayılar için n1o zaman sadece bir doğal sayı vardır. ”
Ari

1
Mesele şu ki, ifadeler yanlış değil, onları inşa edemeyiz. Anahtar, oracles Turing makineleri değil, var olmadığı anlamına gelmez.
jmite

"doğru girişi bul" "doğru çıktıyı bul" ?

2

Eh, oracle TM 'ın temel bir özelliği olduğunu ve çözülmesi zor bir kehanete erişimlerinin olduğunu söyleyebilirim. Eğer kehanete karar verebiliyorsanızA sabit zamanda, sonra her sınıf için B olurdu B=BA. Öyleyse neden bu durumda kâhin olsun ki?

Öyleyse oracle TM kullanmanın anlamı nedir? Bize problemlerin sertliği (derecesi) ile ilgili teorik düşünceler sağladığını söyleyebilirim. Kahin bile kararsız olabilir. Bu durumda, çözülemeyen sorunların (Turing derecesi) bütün bir hiyerarşisini tanımlayabilirsiniz. Tabii ki, eğer kehanetiniz durdurma problemi ise, kehanet TM'nizi geleneksel bir TM'ye dönüştüremezsiniz.

Oracle TM konsepti, güçlü bir indirgeme biçimi (Turing indirgeme) tanımlamak için de önemlidir.

Oracle'ın daha teorik motivasyonunun kehanet dünyasının dışında sonuçları olabileceğini unutmayın . Belki ünlüleri biliyorsunP vs NP göreceli sonuç.

Son bir açıklama olarak, kehaneti sorgulamak için sorgu dizesini yazmanız gerektiğini unutmayın. wönce oracle kasetinde. Böylece üyeliğe sabit zamanda karar veremezsiniz, ama zamanda|w|.

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.