Teorik bilgisayar biliminde yaygın yanlış inançlar


62

10/12/08 AT EDIT:

Soruyu değiştirmeye çalışacağım, böylece daha fazla insanın fikirlerini paylaşması ilgisini çekebilir. Katkılarınız İHTİYACINIZ VAR!

Bu yazı, MO'da birinden esinlenmiştir: Matematikte ortak yanlış inanç örnekleri . Büyük listeler bazen nitelikleri kontrol etmesi zor olan çok sayıda cevap üretmektedir, ancak MO ile ilgili yazının başarısından sonra, TCS'deki bir takım yanlış inançları listelemenin faydalı olacağına inanıyorum.

Yine de, site araştırma düzeyinde soruları yanıtlamak için tasarlandığından, NP gibi örnekler polinom olmayan bir zaman anlamına gelmektedir . Bu arada, zor olmayabilecek bazı örnekler istiyoruz, ancak detaylı olarak düşünmeden de makul gözüküyor. Örneklerin eğitici olmasını istiyoruz ve genellikle konuyu ilk kez çalışırken ortaya çıkıyor.

Teorik bilgisayar bilimlerinde, bu alanda çalışmakta olan insanlara görülen ortak yanlış inançların (önemsiz) bazı örnekleri nelerdir?

Kesin olmak gerekirse, TCS'deki şaşırtıcı sonuçlardan ve karşı sezgisel sonuçlardan farklı örnekler istiyoruz ; bu tür sonuçlar insanların inanmasını zorlaştırıyor, ancak TRUE. Burada, insanların ilk bakışta doğru olduğunu düşünebilecekleri şaşırtıcı örnekler istiyoruz, ancak daha derin bir düşünceden sonra içerideki hatanın ortaya çıktığını düşünüyoruz.


Listedeki uygun cevapların bir örneği olarak, bu bir algoritma ve grafik teorisi alanından geliyor:

Bir düğüm grafiği G için , bir k- kenar ayırıcı S , k büyüklüğünün bir alt kümesidir; burada G S düğümleri, bitişik olmayan iki parçaya ayrılabilir, her biri en fazla 3 n / 4 düğümden oluşur. . Aşağıdaki "lemmaya" sahibiz:nGkSkGS3n/4

Bir ağaç 1-kenar ayırıcısına sahiptir.

Sağ?


Gönderi CW olarak talep edilmek üzere işaretlendi.
Hsien-Chih Chang,

Yanıtlar:


59

Bu, hesaplama geometrisinde yaygındır, ancak başka bir yerde endemiktir: Gerçek RAM için algoritmalar, verim kaybı olmadan tam sayı RAM'e (problemin tamsayı kısıtlamaları için) aktarılabilir. Bir klasik örneği talebi “Gauss eliminasyon çalışan bir zaman”. Aslında, dikkatsiz eliminasyon siparişleri ile tamsayılar üretebilir katlanarak çok sayıda bitten .O(n3)

Daha da kötüsü, ama yine de maalesef yaygın: Zemin işlevli gerçek RAM algoritmaları , verimlilik kaybı olmadan tamsayılı RAM'e aktarılabilir. Aslında, gerçek bir RAM + tabanı PSPACE'de veya #P'de bir polinom adımındaki herhangi bir sorunu çözebilir .


5
Gauss ortadan kaldırılması yanılgısı çok yaygındır. Muhtemelen problemin bir kısmı da sınırlı alanlarda çalışıyoruz ve orada sorun olmadığı için unutuyoruz.
slimton,

"Gauss tamsayısını ortadan kaldırdıktan sonra nasıl bir çözüm bulunacağını biliyoruz."
Albert Hendriks

40

Daha yeni bir efsane yakaladım, bu da @ XXYYXX'in bu gönderiye verdiği cevaba katkıda bulundu :

  • Bir sorun, X -Sert bir polinom zaman olduğu (veya, logspace) tüm redüksiyon N P X sorunlarınNPNP
  • Üstel zaman hipotezi varsayalım, 3-SAT alt üstel zaman algoritmasına sahip değildir. Ayrıca, 3-SAT cinsindendir .NP
  • Yani hiçbir zor probleminde X, üstel zaman algoritmalarına sahip değildir. Aksi takdirde, X + için bir üstel zaman algoritması bir polinom zaman azaltma = 3-SAT için bir üstel zaman algoritması.NP

Ama biz var bazı NP-zor problemler için alt üstel zaman algoritmaları.


Ben de aynı izlenim vardı.
Muhammed El-Türkistan

Peki bu bize Üstel Zaman Hipotezi hakkında ne söylüyor? Yoksa bu akıl yürütme konusundaki bazı kusurları özledim mi?
Mikhail Glushenkov,

2
3. noktada bir hata var. Bu tam olarak uzun zamandır yanlış anladığım bir şey :)
Hsien-Chih Chang 之

Arızayı bulamadığımdan emin değilim. O zamandan beri mi hem sorunlar EXPTIME olacağını beri, azaltma mutlaka polinom olmamalıdır ama zamanla üstel olabilir (nedeniyle ETH için?)PNP
chazisop

43
Polinom-zaman azalmaları giriş boyutunu polinom miktarıyla değiştirebilir. Bu nedenle, n boyutundaki bir Q örneğini n kare büyüklüğündeki bir P örneğine
düşürürseniz

29

P'nin verimli olduğu açıklandığından , bu yıl popüler olan ve bir bütün problemini açıklamaya çalıştığı zaman birçok kez söylenen sahte bir inanış :PNPP

" , o zaman çok sayıda sorunu verimli bir şekilde çözebiliriz. Olmazsa, yapamayız"P=NP

3SATO(ngoogolplex)P=NP

PNPTSPnlog(logn)n5n232TSP


5
Lipton tarafından yazılan blog yazısı çok iyi: rjlipton.wordpress.com/2009/07/03/is-pnp-an-ill-posed-problem
Hsien-Chih Chang 之 之

6
“Sahip olduğunuz her polinom-zaman algoritması için, benim çalıştırmam gereken üstel bir algoritma var” - Alan Perlis, Gödel'in Kayıp Mektubu ve P = NP .
Pål GD

24

XYZZXY


2
İnsanların neden yanlış olduğunu hemen fark etmelerine yardımcı olmak için önereceğiniz basit bir örnek var mı?
DW

21
XYZ=X+YZXYZXY

22

Dağıtılmış hesaplama = dağıtılmış yüksek performanslı hesaplama (kümeler, ızgaralar, bulutlar, seti @ home, ...).

Dağıtılmış algoritmalar = bu sistemler için algoritmalar.


Spoiler: Bu, "yanlış bir inanç" gibi görünmüyorsa, PODC ve DISC gibi konferanslara bir göz atmanızı ve dağıtılmış hesaplamanın teorik yönlerini incelerken gerçekten ne tür bir iş yaptığını görmenizi öneririm.

n{1,2,...,poly(n)}nn/1000Θ(logn)

Başka bir deyişle, insanlar genellikle merkezileştirilmiş algoritmalar perspektifinden tamamen önemsiz olan problemleri incelerler ve her türlü süper hesaplama veya yüksek performanslı hesaplama ile çok az ortak noktaları vardır. Mesele şu ki, daha fazla işlemci veya benzeri bir şey kullanarak merkezi hesaplamayı hızlandırmıyor.

Amaç, temel grafik problemlerini hesaplama karmaşıklığına göre sınıflandırarak bir karmaşıklık teorisi oluşturmaktır (örneğin, kaç eşzamanlı turun gerekli olduğu, kaç bitin iletildiği). Döngülerdeki bağımsız kümeler gibi problemler anlamsız görünebilir, ancak merkezi hesaplamada 3-SAT'ye benzer bir rol üstlenir: azaltmalarda çok yararlı bir başlangıç ​​noktası. Gerçek dünyadaki somut uygulamalar için, şebekelerdeki ve kümelerdeki bilgisayarlar yerine, iletişim ağlarındaki yönlendiriciler ve anahtarlar gibi aygıtlara bakmak daha mantıklı olur.

Bu sahte inanç tamamen zararsız değildir. Bu, dağıtılmış algoritmalar teorisi ile ilgili işleri genel TCS izleyicisine satmayı oldukça zorlaştırıyor. TCS konferanslarından komik hakem raporları aldım ...


1
Hesaplama ile ilgili olarak, bunun yanlış bir inanç değil, modası geçmiş bir inanç olduğunu söyleyemem. Çok çekirdekli işlemciler dışında, küçük ölçekli dağıtılmış hesaplama, yüksek performanslı bir bilgisayar için önemsiz bir durumdu (en azından bildiklerime göre). Çekirdekler "bilgisayar" olmakla birlikte, çok küçük bir mesafede, aralarında ağ olmadığında, yeni sorunlar ortaya çıkar. Bununla birlikte, dağıtılmış algoritmaların m> = 2 düğüm için kullanılması gerektiğine katılıyorum.
chazisop

Yani, insanların paralel hesaplamayı dağıtık hesap yapmakla karıştırdığını mı söylüyorsunuz?
Sasho Nikolov

Bence iddianız teorik bilgisayar bilimcileri için geçerli değildir, ancak teorik arka planı olmayan pratisyenlere uygulanabilir. Sasho Nikolov'un belirttiği gibi, sahada çalışan insanlar paralel ve dağıtılmış hesaplama arasındaki farkları çok iyi biliyorlar. Kümelerde, ızgaralarda, bulutlarda vb. Ortaya çıkan problem kesinlikle bağlama bağlıdır. Örneğin, bir küme veya bulut kullanırken başarısızlıklar varsaymıyoruz, ancak ızgaralar için yapıyoruz. Ve bunun gibi.
Massimo Cafaro

Dahası, bu bilimsel topluluk için, dağıtılmış algoritmalar, Nancy Lynch, Hagit Attiya ve Jennifer Welch ve Gerard Tel'in kitaplarında sıkça bulunanlar gibi problemlerin algoritmalarıdır. Bunun gibi, bu algoritmalar belirli bir teorik dağınık hesaplama modeli için tasarlanmıştır ve kullanılan kaynaklar (zaman karmaşıklığı, mesaj karmaşıklığı, bit karmaşıklığı, tur sayısı vb.) Açısından gerektiği gibi analiz edilir.
Massimo Cafaro

@MassimoCafaro: Tabii ki, dağıtılmış hesaplama alanında çalışan insanlar, dağıtılmış hesaplamanın ne olduğunu bilirler. Ancak benim deneyimlerim, teorik bilgisayar bilimcilerinin genel olarak neyin dağıtıldığını bilmedikleridir.
Jukka Suomela

20

T(n)=2T(n/2)+O(nlogn)T(1)=1

n=1n

T(n)=2T(n/2)+O(nlogn)=2O(n/2logn/2)+O(nlogn)=O(nlogn/2)+O(nlogn)=O(nlogn)

QED (öyle mi?)


16
f(x)=O(g(x))f(x)O(g(x))

Teorik bilgisayar bilimlerindeki araştırmacıların da bu hatanın çeşitlerini yaptığını gördüm;)
Jeremy

12

MT(n)MoO(T(n)logT(n))

  • Mo
  • MoΘ(T(n)logT(n))

( örneğin rjlipton bu yazıya bakınız )

EXPTIMENEXPTIMEΘ(T(n)logT(n))MoMoO(T(n)logT(n))T:NNΘ(T(n)logT(n))O(T(n)logT(n))EXPTIME=NEXPTIME

Bu iddianın kanıtı Q1 yanıtında ispat çok benzer burada böylece biz sadece anahtar fikirler verecektir.

LNEXPTIMEL{0,1}kNLM2nkM

f(n)={(8n+2)2if (first logn+1k bits of bin(n))L8n+1else
f

g(n)=Θ(f(n)logf(n))g

L

  • xnx000|x|k1x=(first logn+1k bits of bin(n))
  • g(n)g(n)g(n)xLxLng

LLNEXPTIMEEXPTIME=NEXPTIME



9

fg1nf(n)g(n)f(n+1)=o(g(n))

NTIME(f(n))NTIME(g(n))

Eh, hiyerarşi aslında sadece . için örneğin . işlevleri için , çok yaygındır. Ancak, kesinlikle konuşursak, klasik olmayan zaman hiyerarşisi, yüzeysel olarak defalarca belirtilir.NTIME(g(n))NTIME(f(n))f(n)g(n)NTIME(f(n))NTIME(g(n))f,gf(n+1)=o(g(n))f(n)g(n)

Göstermek için bu her tam zaman inşa edilebilir için geçerli değildir st tanımlamak ve . ve tamamen zamana göre yapılandırılabilir ve olduğunu görmek kolaydır . Belirsiz zaman hiyerarşisinden içinde dilinde dili olduğunu biliyoruz . tanımlayın NTIME(f(n))NTIME(g(n))f,gf(n+1)=o(g(n))

f(n)={n+1n odd(n+1)3else
g(n)=f(n+1)2fgf(n+1)=o(g(n))LNTIME((n+1)3)NTIME((n+1)2){0,1}
L1={0x10x20xn;  x1x2xnL}.

Bunu, . , olduğunu görmek kolaydır , ki bu doğru değildir. Bu nedenle, .L1NTIME(f(n))L1NTIME(g(n))LNTIME((n+1)2)L1NTIME(f(n))NTIME(g(n))


9

Ben sık sık Valiant-Vazirani söylüyor belirtti duydum rastgele etmek azaltır veya bu , veya bu . Özellikle, eğer bu Valiant-Vazirani'nin derandomize edilmesi durumunda, . Fakat aslında Valiant-Vazirani, ., U P K PR P U P K PRU P K P = U P K PR P P R o m i s e u PNPUPNPRPUPNPRUPNP=UPNPRPPromiseUP

Yakından yanlış bir inancı ile ilgili: dil sınıfıdır olacak şekilde nondeterministic poli zaman doğrulayıcı ile benzersiz bir tanık var IFF. Düzeltme, doğrulayıcının, her durumda en fazla bir tanığın olduğu anlamsal özelliğini sağlaması gerektiğidir . Yukarıdaki tanım, düzeltme olmadan, tanımlamasıdır . Fakat , den çok farklıdır : örneğin, . L x L U S U S U P c o N PU SUPLxLUSUSUPcoNPUS


'her durumda anlamsal özellik' ne anlama geliyor?
T ....

1
@ 777: anlamsal özellik şu anlama gelir: doğrudan TM / algoritmasının kendisinin yapısından (aka sözdizimi) doğrulanamaz. Eğer
virgülten geçmeden

-2

μX{X=μ}


9
Bu kesinlikle teorik bilgisayar bilimi öğrencileri arasında ortak bir inançtır , ancak teorik bilgisayar bilimi araştırmacıları arasında çok yaygın değildir .
Jeffε
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.