P'deki çalışma zamanı sınırları kesilebilir mi? (cevap: hayır)


64

Sorulan soru, aşağıdaki sorunun karar verilebilir olup olmadığıdır:

Problem   bir tamsayı verildiğinde ve Turing makinesi P de vaat etti, giriş uzunluğu göre çalışma zamanı ?M M O ( n k ) nkMM O(nk)n

"Evet", "hayır" veya "açık" gibi dar bir cevap kabul edilebilir (referanslar, ispat taslağı veya mevcut bilgilerin gözden geçirilmesiyle), ancak daha geniş cevaplar da memnuniyetle karşılanmaktadır.

Cevap

Emanuele Viola, sorunun kararsız olduğuna dair bir kanıt yayınladı (aşağıya bakınız).

Arka fon

Benim için, bu soru Luca Tevisan'ın sorusuna cevabını ayrıştırmada doğal olarak ortaya çıkmıştır . P'nin çalışma süreleri EXP kaynaklarının üst sınırlara ihtiyaç duyuyor mu? … Somut örnekler biliniyor mu?

Soru bir MathOverflow sorusuyla da ilgilidir: Matematiğin en çekici Turing kararsız sorunları nelerdir? çalışma zamanı tahmininin kontrol teorisi ve devre tasarımına ilişkin (örneğin) her yerde bulunan bir mühendislik problemi olduğunu kabul ederek "matematik" kelimesinin "mühendislik" olarak değiştirildiği bir varyasyonda.

Bu nedenle, bu soruyu sormakta geniş amaç, P karmaşıklığı sınıfındaki çalışma zamanı tahmininin hangi pratik yönlerinin uygulanabilir olduğu (yani, tahmin etmek için hesaplamalı kaynaklar gerektirmesi) uygulanabilir olduğu (yani, tahmin edilebilir) resmi olarak kararsız olana karşı tahmin etmek için EXP'deki hesaplama kaynaklarını gerektirir).

--- düzenle (cevap sonrası) ---

Eklediğim Viola'nın teoremini MathOverflow topluluk wiki "Cazip Turing-verilemeyen problemler". Wiki'nin karmaşıklık sınıfı P ile ilişkilendirilen ilk katkısı; Bu, Viola'nın teoreminin yenilikçiliğini, doğallığını ve geniş kapsamını (ve IMHO'nun güzelliğini de) göstermektedir.

--- düzenle (cevap sonrası) ---

Juris Hartmanis'in monografı Uygun hesaplamalar ve ispatlanabilir karmaşıklık özellikleri (1978), Emanuele Viola'nın kanıtıyla aynı malzemenin çoğunu kapsıyor.


Lance Fortnow ve Bill GASARCH'ın web günlüğünde, "75 Yıllık Bilgisayar Bilimi" başlığı altında toplanan sorulara cevaben, "Turing'in ayıkça sorduğunu dile getirdim:" sayı? ”... Turing'in son derece zor sorusunu sormak yerine:“ Sayı hesaplamakta yapılabilecek süreçler nelerdir? ”sorusu bir sonraki soru olacaktır (yaklaşık olarak)“ Kanıtlanabilir Turing makineleri var mı? P’de üyeliği kararsız olan NP’de mi? ”Bu hala şunu düşündüğümü gösteriyor! :)
John Sidles

2
Her ne kadar Emanuele Viola'nın kanıtı daha net olsa da, Mathoverflow'ta çok benzer bir soru soruldu ve cevaplandı: mathoverflow.net/questions/28056/…
Alex ten Brink

Bu konudaki cevapların ve fikirlerin birçoğu Dick Lipton'ın Godel'in Kayıp Mektubu adlı web sitesinde yayınladığı bir yazı / soru setiyle alakalı olduğunu kanıtladı ; Bu deneme / soru seti "P = NP ile Baz Üstü". URL: rjlipton.wordpress.com/2011/07/04/getting-on-base-with-pnp
John Sidles

P'deki sınırlar belirlenemese de, birinin denemesini engellemez (kendini daha da kısıtlayarak). Bu cstheory cevabında
Artem Kaznatcheev

1
Bu soru şu makaleden ilham aldı: arxiv.org/abs/1307.3648
David G

Yanıtlar:


83

Sorun çözülemez. Özel olarak, durma problemini aşağıdaki gibi azaltabilirsiniz. Durma probleminin bir örneği göz önüne alındığında , aşağıdaki gibi çalışan yeni bir makine inşa edin : uzunluğu girişlerinde, adımlar için üzerindeki simüle eder . Eğer kabul için döngü adımda ve durdurma; aksi takdirde adım için döngü ve dur.(M,x)MnMxnMn2n3

Eğer ile durur bu şekilde yapar adım yani arasındaki zaman olacaktı . Eğer hiç durmazsa, nin çalışma süresi en az .Mxt=O(1)MO(n2)MMn3

Bu yüzden, eğer karar verebilir kabul karar vererek arasındaki zaman ise bir ya da .MxMO(n2)O(n3)


4
M neden x'i (eğer varsa) O (1) basamağında durdurmak zorunda?
Suresh Venkat

10
M ve , bağımsız olarak sabittir . xn
Manu,

2
Çok zekice kanıt, bazı iyi bilinen sonuçların bir çeşitlemesi mi, yoksa yeni mi yaptınız?
Antonio E. Porreca

3
@Raphael: Bu çözemediğimizi sanmadığım, dokunaklı bir alan. Bazı stackexchange siteleri, diğerlerinin cevaplarının düzenlenmesini teşvik eder. Buna karşı bir politikamız yok, ancak pratik bir mesele olarak, neredeyse hiç yapıldığını görmedim. Bir teknik nokta: eğer bir cevap çok fazla düzenlenirse topluluk wiki olur ve @Emanuele bundan sonra yanıtı kesilmiş olsaydı başka rep puan alamazdı. Ek açıklamanın açıklığa kavuşmasına yardımcı olacağını düşünüyorum: @ John Sidles başlangıçta sözün kullanılmadığını düşünüyordu, ancak kanıt daha güçlü bir söz kullanıyor : sadece P değil , veya da çalışıyor.Mn2n3
Aaron Sterling

2
@John: Yayınlanmış bir referans verilmediği sürece, bu kılavuzu dikkate alın .
Raphael,

29

Bu, Emanuele Viola'nın daha anlaşılır olma hedefiyle olan cevabının bir tekrarıdır.

Verilen sorunun genel durdurma problemini indirerek kararsız olduğunu göstermektedir.PH

Let durdurulması problemin herhangi örneği olur, yani biz hava karar vermek zorunda olan ( üzerinde durur ). Aşağıdaki gibi çalışan bir Turing makinesi oluşturun:(M,x)M(x)MxM

M*(y) = {
  n := |y|
  Simulate M(x) for n steps
  if ( M(x) has halted )
    Execute n*n arbitrary steps
  else
    Execute n*n*n arbitrary steps
}

Şimdi aşağıdaki sonuçları gözlemliyoruz:

M(x)n0N:M halts on x after at most n0 stepsy:nn0M(y) executes n2 arbitrary stepsTM(n)O(n2)

ve

M(x)nN:M does not halt on x in less than n stepsy:M(y) executes n3 arbitrary stepsTM(n)Ω(n3)

Bu nedenle, . algoritmik olarak karar verilebilir olduğunu varsayarsak , çelişkili sonuç veren olacaktır . H(M,x)P(M,2)PH


12

Tek bant Turing makinesi zaman çalışır olup pozitif tarafta, Karar verilebilen bir verilen için , bakınız:C , D NnCn+DC,DN

David Gajser: Tek Bantlı Deterministik Cn+DTurin Makinalarının Zaman , arXiv: 1312.0496'da Çalıştığını Doğrulama


1
Küçük bantlı tek bantlı TM'ler tarafından olağandışı davranış sıkıntısı olmaz. :)
Kaveh

4

Bu sorun aynı zamanda " Rice Teoreminin boyutsal içeriği " POPL'2008 adlı makalemde de çözüldü , burada hiçbir "karmaşıklık klikesinin" reddedilemez olduğunu kanıtladım. Bir karmaşıklık klibi, benzer davranış ve karmaşıklığa sahip programları kapsayan bir program sınıfıdır . Ayrıca yarı kesin özelliklere sahip olmak için gerekli koşulları da sağlıyorum.

O (n ^ k) ile çalışan programlar yukarıdaki anlamda bir karmaşıklık klibidir, bu nedenle küme kararlaştırılamaz.

Sonuç, kısa süre önce Mathieu Hoyrup tarafından aldatıcı ayarlara da (P gibi) genişletildi: Aldatıcı işlevlerin geçerliliği olan özellikler (ICALP 2016).


2

Önceki cevaplara eklemek için, bu sorun yalnızca değil, tamamlandı. Bu nedenle, karar vericinin durma sorunu için bir kehaneti olsa bile kararsızdır. Σ20

P-zaman söz durumu da ise, bütünlüğü açıklamak için -Komple, kodlar bir Karar verilebilen grubu olduğu gibi tüm makineler kullanılarak polinom zaman ve vardır soru üzerinde tamamlandı .Σ20SSO(n2)Σ20S

Bunu kanıtlamak için bir seçim tam , ile (ikili sayılar için) hesaplanabilir polinom zamanda.Σ20φφ(x)kmψ(x,k,m)ψ

Ardından , aşağıdaki makine ; burada , giriş uzunluğudur (makine yalnızca giriş uzunluğunu önemser):φ(x)O(n2)n

için 0 için :     eğer : # bir döngü kullanılarak test         durdurmak     için beklemek adımları durdurmakkn
m<nψ(x,k,m)

n2

Çok küçük olmayan her , bir programın her zaman (örneğin) adımlarında , ancak sınırların sağlam bir şekilde verdiğini .cn2+cΠ10Σ20


-1

işte bu konu, "algoritmik olarak doğrulanabilirlik" kavramını ve karmaşıklık teorisi için Rice benzeri thm analoğunu tanıtan yeni ve daha yeni sistematik analiz / açılar / sonuçlar. Özetin ilgili bölümlerinden biri aşağıdadır ve P'ye karşı NP'in ilerletilebilirliği ile ilgili birçok teorem vardır.

  • Hesaplamalı Karmaşıklık Kavramı Doğrulanabilir Matematik İçin Neden Zor? / Hromkovic

    Öncelikle, Rice'ın çözülemezlik teoremini ispatlıyoruz; programlar hakkındaki her anlamsız anlamsal sorunun Algoritmik Olarak Doğrulanabilir "AV" matematiğinde hemen hemen her yerde çözülemediğini iddia ediyoruz. Bunu kullanarak, polinom zamanlarında çalıştıklarının veya polinom zamanlarında çalışmadıklarının kanıtlarının bulunmadığına dair çok sayıda algoritma (olasılıkla algoritmalar olan programlar) olduğunu gösterdik. ...

    AV-matematiğinde P! = NP ispatlanabilirse, her algoritma A için "A SATISFIABILITY veya A polinom zamanında çalışmaz" diye ispat edilebilir. İlginç bir şekilde, nihayetinde polinom zamanlarında çalışmadıkları veya SATISFIABILITY'yi çözemedikleri kanıtlanamayan algoritmalar olduğunu gösterdik. Dahası, AV-matematiğinde polinom zamanında çalışmadığını ispatlayamadığı SATISFIABILITY'yi çözen bir algoritma vardır.

    Dahası, P = NP'nin AV algoritmasında "X polinom zamanında SATISFIABILITY'i çözüyor" iddiasının X algoritmalarının varlığını ima ettiğini gösteriyor.


-3

Viola'nın çözümü herhangi bir çalışma süresine (poli dışında) genelleştirilebilir: Durma problemini aşağıdaki gibi azaltabilirsiniz. Durma probleminin bir örneği (M, x) göz önüne alındığında, aşağıdaki gibi çalışan yeni bir M ′ makinesi oluşturun: n uzunluğu girişlerinde, f (n) adımları için M'nin x üzerindeki halini alır, burada f (n) ) n'nin herhangi bir keyfi arttırma işlevi (sabitten büyük). (Gözlem: M linear doğrusal zamanın boşa harcanmasını önlemek için [O (n)] sadece girdiyi gereksiz yere okumak için, eğer yeterince büyükse ve M durursa, girişi yavaş yavaş okur.)

Eğer M x'i durdurursa, T = O (1) adımda yapar, M ′ çalışma süresi O (1) olur. Eğer M hiç durmazsa, M ′ 'nin çalışma süresi O (n ^ 2 * f (n)) olur.

Böylece, M ′ çalışma zamanının O (1) veya O (n ^ 2 * f (n)) olup olmadığına karar vererek M'nin x kabul edip etmediğine karar verebilirsiniz.

Ardından, Raphael'in yardımcı kodu aşağıdakilere göre genelleştirilebilir:

(M, x) Halting Probleminin herhangi bir örneği olsun, M'nin x üzerinde durup durmadığına karar vermeliyiz. Aşağıdaki gibi çalışan deterministik bir Turing Makinesi (DTM) M * oluşturun:

  1. M * (giriş) = {
  2. n: = 0
  3. Girişten ilk sembolü okuyun
  4. Döngü:
  5. n: = n + 1
  6. F (n) adımları veya M (x) duruncaya kadar M (x) simülasyonunu yapın
  7. Girişten sonraki sembolü oku
  8. End_of_input veya M (x) durdurulana kadar döngü
  9. }

Şimdi aşağıdaki sonuçları gözlemliyoruz:

M, çoğu k (sabit) adımdan sonra x üzerinde durur => T (M *) = 0 (1) ve

M asla x => T (M *) = O (n ^ 2 * f (n)) üzerinde durmaz

Bu nedenle, keyfi bir DTM'nin çalışma süresinin sabitten daha büyük olup olmadığına karar vermek bile Halting Problemi kadar zor. □


2
1) Lütfen LaTeX kullanın. 2) Bu soruya yeni katkısı nedir? 3) Muhakemeniz hatalı. simulasyonu zaman alır zaten, kesinlikle sabit sürede çalışamaz. O ( n ) M MO(n)M
Raphael,

Yeterince büyük n için, eğer M (x) durursa, simülasyonu da durur ve n0 (sabit) adımlar içinde M * 'e döner.
André Luiz Barbosa
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.