P-Tamamlanma ve Paralel Hesaplama


23

Son zamanlarda, benzerliği kontrol etmek için algoritmalar hakkında okuyordum ve sorunun P-eksiksiz olduğunu okudum . Ayrıca, bunun bir sonucu olarak, bu problemin veya herhangi bir P-tamamlanma probleminin, verimli bir paralel algoritmaya sahip olma olasılığı yoktur.

Bu son ifadenin ardındaki sezgi nedir?


Bu, “verimli bir şekilde paralelleştirilebilir” olanı biçimlendirmenin korkunç bir yolu olan NC (cevaplara bakınız) ile ilgilidir.
Raphael

Yanıtlar:


17

Herhangi bir tamamlayıcı problemin, verimli bir paralel algoritmaya sahip olması muhtemel değildir. Niye ya ?P

Varlığı -tamamlamak sorunların en önemli ipucu olduğunu . O zaman soru şu ki, bu varsayım neden paralel hesaplama ile ilgili? Bir hesaplamada kullanılan kaynaklarla başlayalım. Sıralı hesaplama için: zaman ve mekan; paralel hesaplama için: zaman ve donanım (işlemci sayısı). Bir ilişki var mı? Evet! Sıralı uzay ↔ paralel zaman; Sıralı zaman ↔ paralel donanım. Sıralı uzay ve paralel zaman arasındaki yazışma, kabul edilen paralel hesaplama modelinden bağımsız görünmektedir; bu , kanıtlanmamış paralel hesaplama tezi olarak adlandırılan aşağıdakilere yol açar .P(PPOLYLOGSPACE)P

(Chandra ve Stockmeyer) Bir TM'nin uzay karmaşıklığı olan her hesaplaması, paralel bir hesaplama modelinde ve her hesaplamasında simüle edilebilir . zaman karmaşıklığına sahip paralel bir hesaplama modeli, alan karmaşıklığına sahip bir TM tarafından simüle edilebilir .T ( n ) = 0 ( S ( n ) 0 ( 1 ) ) T ( n ) S ( n ) = 0 ( T ( n ) 0 ( 1 ) )S(n)T(n)=O(S(n)O(1))T(n)S(n)=O(T(n)O(1))

Sorunların sınıf polinom uzayda sıralı çözülebilir ve polinom zamanda çözülebilir sorunlar kümesidir gerdiği daha sorunlardan çok daha büyük sınıf olduğu düşünülmektedir , tez etkili iyileştirme paralellik sayesinde mümkün rakamlarla. Bu tezin bir sonucu olarak, bir PRAM polinom zamanında ilgili sorunları çözebilir … Ne yazık ki, hayır! Paralel hesaplama tezi, aslında ait problemlerle başa çıkabileceğimizi gösteriyor.P P G P bir Cı- e P K P P G P bir Cı- ePSPACEPPSPACEPNPPSPACE… Ama bu, üstel bir sayıda işlemci gerektirir! Bir zaman-uzaması değişiyor: Sıralı hesaplama modelindeki üssel zaman, paralel hesaplama modelinde üssel sayıdaki işlemcilere dönüştürülürken, sıralı hesaplama modelindeki polinom alan paraleldeki bir polinom zamanına dönüştürülür. hesaplama modeli.

Paralel zaman ve paralel donanımı kısıtlamaya çalışırsak bu değişimin anlaşılması daha kolaydır: paralel hesaplama modelinde çok sayıda işlemci varsa, paralel polinom zamanında çözülebilen sorunların sınıfı . İşlemcilerin sayısını bir polinomla sınırlandırırsak, sıralı bir makinenin performansını artırabiliriz, ancak bir polinom faktöründen daha fazlasını değil. Böylece zaman karmaşıklığını temsil eden polinomun derecesini azaltabiliriz, ancak üssel maliyetleri polinom maliyetlerine düşürmek için paralellik kullanamayız.P

Polinom zaman karmaşıklığına paralel olarak çözülen problemler ait olan problemlerdir . İşlemci sayısındaki polinom kısıtı, TM'ye eşdeğer bir paralel hesaplama modeline yol açar. İki önemli pratik husus vardır: Hangi polinom işlemci sayısı kabul edilebilir / uygun fiyatlı? Uygulamada, polinom işlemci sayısının doğrusal veya yakın olması amaçlanmıştır. Hangi alt polinom zamanı başarılabilir? Hemen hemen tüm yüksek oranda paralel uygulanabilir problemlerin poliokaritmik paralel zaman elde edebileceği ortaya çıktı. Paralel olarak, giriş uzunluğunda logaritmik olan bir zaman karmaşıklığı verimli bir paralel hesaplamayı temsil eder. Bir polinom sayıdaki işlemciye verilen zaman karmaşıklığının pollogaritmik olması durumunda paralel bir algoritmanın verimli olduğu kabul edilir.P

ve sabit olduğu bir sorun göz önüne alındığında , paralel hesaplama tezi, için zaman karmaşıklığı olan bir paralel algoritmanın varlığına işaret eder burada sabittir. Ardışık ve paralel zaman arasındaki karşılaştırma, çok paralel bir problem olarak sınıflandırmayı sağlar (zaman perspektifinden).k h R O ( ( l O g n ) k ' ) k ' R,RTIME_SPACETM(nk,(logn)h)khRO((logn)k)kR

Paralel hesaplama tezinden, son derece paralelleştirilebilen problemler sınıfı olduğunu . , kütük boşluğu azaltma konusunda tam bir problem içermemektedir; bu anlamına gelir . Öyle görünüyorP O L -Y L O G S P A Cı- e P O L -Y L O G S P A Cı- e PPOLYLOGSPACEPOLYLOGSPACEPOLYLOGSPACEP

  1. POLYLOGSPACEP
  2. PPOLYLOGSPACE

P P - ( P P O L -Y L O G S P A Cı- e )PPOLYLOGSPACE polinom zamanlarında pollogaritmik uzay kullanılarak çözülebilen problemleri içerir. tamamlayıcı problemler muhtemelen aittir .PP(PPOLYLOGSPACE)

O ( ( l O g n ) k ) ) Ç ( f ( n ) ) f , n , N Cı- ( P P O L -Y L O G S P A Cı- e )NC (Nick'in sınıfı - Nicholas Pippenger'ın onuruna denir, ilk 1979'da tanımlayan ve karakterize eden ilk kişi), pollogaritmik zamanda çözülebilen sorunların sınıfıdır (yani, zaman karmaşıklığı ile (ile sınırlanan Ie, işlemci bir polinom sayıda bir polinom fonksiyonu paralel hesaplama tezi eder) sorunu boyutu .O((logn)k))O(f(n))fnNC(PPOLYLOGSPACE)

Bununla birlikte, ne yazık ki, tanımı gereği da bir çok problem içerir değildir verimli, paralel. En rezil örnek paralel ikili aramadır . Sorun bu sorun için bile polylogarithmic zaman karmaşıklığı olmasıdır = en kötü durumda en logaritmik zamanda gerektiren 1. Herhangi sıralı algoritma olduğunu bağımsız olarak paralel fizibilite!p N CNCpNC

Şimdi, nihayetinde tamamlayıcı sorunların en zor paralelleştirilebilen sorunlar olduğunu açıklayabiliriz . problem verildiğinde , verimli bir paralel algoritmanın varlığı çok düşüktür: eğer böyle bir paralel algoritma zaman karmaşıklığına sahipse, paralel hesaplama tezi Aynı problem için boşluk karmaşıklığı olan sıralı bir algoritma . Yana a, -Komple sorun da, bu her problem, söz konusu edecek, : poli-günlük alanı içinde çözülebilir . Bildiğiniz gibi, biz bunun yerine buna inanıyoruzP S O ( ( l O g n ) k ) O ( ( l O g n ) k ' ) S P P ( P P O L -Y L O G S P A Cı- e ) = P ( P P O L , Y L O G S P A Cı- e )PPQO((logn)k)O((logn)k)QPP(PPOLYLOGSPACE)=P(PPOLYLOGSPACE)P , henüz bunu ispatlayamasak bile.

Polinom işlemci gereksinimi hakkında son bir gözlem. Bu teorik bir ifadedir. Uygulamada: Problem boyutundan daha hızlı büyüyen bir işlemci gereksinimi gerçekten işe yaramayabilir.


10

"Verimli paralel" içine düşen için (işlemci bir polinom sayıda polylogarithmic sürede Karar verilebilen sorunlar “Nick sınıf”), ve yaygın olduğu düşünülmektedir bu . Bu nedenle, herhangi bir sorununun verimli bir paralel algoritmaya sahip olduğuna inanılmaz (çünkü bu, ).NCNCPP-completeP=NC

Tabii tüm bu varsayımına kadardır Of , bildiğiniz gibi o açık bir problemdir ilk düzeyde değildir , yani olup olmadığını bilmiyoruz .NCPPNCNC1P

Dahası, de problemleri çözüp çözemeyeceğinizi bile bilmiyoruz , yani sabit (= sabit paralel süre) boolean devreler kapılı.PAC0[6]mod6

Daha fazla bilgi için, aşağıdaki kitaba bir göz atın:

Raymond Greenlaw, H. James Hoover, Walter L. Ruzzo, " Paralel Hesaplamanın Sınırları: P-Tamamlanma Teorisi ", 1995.


NC ayrıca, verimli bir şekilde paralelleştirilemeyen birçok sorunu da içerir. Ayrıntılar için cevabımı gör.
Massimo Cafaro

Açıkça "Eğer herhangi bir sorunun sonra " olduğunu . P-completeNCNC=P
Alex ten Brink,

1
@forgiven, hangi sınıfın "verimli paralel" algoritmaları doğru bir şekilde yakaladığına dair çeşitli görüşler var, bu nedenle üst sınır olarak kabul edilen bir sınıf kullandım. Bence P ile NC, insanların P-komple sorunlarının etkili paralel algoritmalara sahip olmadığını düşünmelerinin tipik sebebi olduğunu düşünüyorum. Cevabımı referans olarak ekledim.
Kaveh

1
@Kaveh, sana katılıyorum. İnsanların çoğu bunu tam olarak bu terimlerle düşünüyor. Bu yüzden paralel hesaplama tezine dayanarak biraz farklı bir bakış açısı sunmak istedim. Sağladığınız referans mükemmel ve şu ana kadar okuduğum konuyla ilgili en iyi tedaviyi temsil ediyor.
Massimo Cafaro

6

Kaveh'in cevabı NC olan "paralellik" in genel tanımını kapsar. P NC'nin karmaşıklık teorisindeki en zor sorulardan biri olup olmadığı (ve bir şekilde P NP sorusu kadar alakalı ).<<

Bunun arkasındaki sezgi, doğrusal programlama veya DFS düzeni gibi P'deki bazı sorunların, paralelleştirilemeyen uzun bir "kritik yolu" zorlayan birçok bağımlılığa sahip olduklarını hissetmeleridir. Bu, çok güçlü görünmeyen determinizm olmanın ötesinde bir kanıt değil, ama temel fikir.

Düzenleme: Yorumlarınızı açıklığa kavuşturmak için, bu cevabın amacı, neden bazılarının insanların P ve NC'nin aynı olduğunu düşünmediğini söylemektir. P ve NP'de olduğu gibi, hiç kimse bu ikisinin farklı olup olmadığını nasıl ispatlayacağını bilmiyor, ama (bazı) bilgisayar bilimcilerinin kendilerini düşündüklerini zorlaştıran bir şey var.

Başka bir kenara olmasıdır NC çok dramatik bir Speedup soran ancak işlemcilerin çok veriyor, "polynomially birçok işlemciler üzerinde polylog zaman" dır. Bu nedenle, pratik bir paralelleştirilebilir kavramına uymayabilir.

Özellikle, P NP olduğunu düşünüyorsanız , o zaman NP-komple problemler için hemen sezgisel tarama ve yaklaşıklık algoritmalarına bakmaya başlayacaksınız. Öte yandan, NC'nin P'den daha küçük olduğunu düşünseniz bile, bugünün bilgisayarlarından elde edilebilecek paralellik çeşitlerinden önemsiz hızlanmalar alabilirsiniz.<


Verdiğiniz sezgi doğru değil, belirli bir algoritmayı verimli bir paralel hale getirememek, sorunun verimli paralel sürede çözülemeyeceği anlamına gelmiyor. Söylemek için benzer bir şey söylenebilirdi çünkü değil çünkü birçok sayıyı sınamak zorundasınız ve çoğu ilgisiz görünüyor , ama bizim bildiğimiz ve ilkelliğin P'de olduğu gibi yanlış . PP
Kaveh

Ancak Louis'in amacı sezgi olarak görülmeli ve tamamen yanlış değil. Sorunlu olsa da, DFS'nin P-bütünlüğünün çok kırılgan olduğu - Lexicographics DFS'ye ihtiyacınız var ve aynı zamanda RNC vb'de de var.
Suresh

@Suresh: Evet. Yani, bu lex'i nasıl ispatlayacağımı bilemiyorum. DFS, deterministik olarak sadece yapmaktan çok daha iyi bir şekilde simüle edilemez, ancak insanlar rastgelelik olmadan mümkün olduğunu "hissetmez". (Eğer önemliyse, benim "dinim", çok fazla rastlantısallığın bir gücü olduğudur.)
Louis

@Kaveh: Bu "kritik yol" ("çalışma derinliği" olarak da bilinir), algoritmanın değil, sorunun bir özelliğidir; bu yüzden göstermek zor. Sırayla araştırılmış en uzun "iş kirişleri" dizisidir (herhangi bir algoritma ile).
Raphael

@Raphael, bir dil verildiğinde, bir algoritmanın çözme sürecinin belirli bir adım sırasını izlemesinin bilinen bir nedeni yoktur, eğer sahip olmadığımız bir alt sınır anlamına geldiğini gösterebilirseniz. Ve bu, düşük sınırları kanıtlamanın bu kadar zor olmasının nedenlerinden biridir, sorunu çözen bir algoritmanın nasıl hesaplanacağına dair hiçbir şey düşünemezsiniz. Bu benim amacım.
Kaveh

3

Tam olarak neyi kastettiği konusunda "etkili paralel algoritmalar" alanın kim olduğuna çok dikkat edin.

Daha eski cevaplar karmaşıklık teorisi perspektifini açıklar. Orada, "verimli" genellikle " zamanı O ( g ( n ) ) işlemcilerle çalışma zamanı" gibi belirsiz bir şey anlamına gelir . İşlemci sayısının giriş boyutuna bağlı olabileceğini unutmayın!O(f(n))O(g(n))

Özellikle, sık sık adlandırılmış sınıf NC olduğunu

Polinom sayısı işlemcisi olan paralel bir bilgisayarda poliofaritmik sürede karar verilebilecek karar problemleri.

Bunun, daha pratik terimlerle verimli olan bu problemler için paralel algoritmalar olup olmadığı ile ilgisi yoktur¹:

  • Bir NC algoritmanız varsa , sabit sayıda işlemciye sahip herhangi bir makinede sorunun nasıl çözüleceği (verimli bir şekilde) hakkında bilgi sahibi olmazsınız.
  • Sadece bir problem için NC algoritması olmadığı için "gerçek" olmadığı anlamına gelmez; sadece problemi polinomlara ayıramayacağımız için birçok küçük parça, büyüdükçe sürekli olarak yeterince küçük parçalara bölünemeyeceğimiz anlamına gelmez .n

    Örneğin, sürekli olarak paylaşılan belleğe sahip birçok işlemcide, CYK ayrıştırması asimptotik olarak en uygun hızlandırmaya paralel olarak yapılabilir (bağlamsız ayrıştırma P-tamam olmasına rağmen, yüksek lisans tezime bakın) .

Çok sayıda işlemciye sahip makinelerde verimliliği yararlı bir şekilde tanımlamak, hızlandırma işleminin sayısı sınırlı bir sabitle sınırlandığından, değerinden daha kesin analiz gerektirir . Bunu karmaşıklık teorisinde nadiren bulursunuz. Bu nedenle, gerçek dünyada kullanılan paralel algoritmaları öğrenmek istiyorsanız, başka bir yere bakmanızı tavsiye ederim.O()


  1. paralel algoritmanın çalışma zamanı fonksiyonunu verelim . Sen "verimli" bir algoritma da diyebilirsin eğer T 1 ( n ) / T p ( n ) p veya eğer T 1 ( n ) T ( n ) için T iyi sıralı algoritmanın çalışma zamanı işlevi. Yüksek lisans tezimde , burada belirtilen literatürden yola çıkarak daha titiz bir şekilde bunu öneriyorum .Tp:NR0T1(n)/Tp(n)pT1(n)T(n)T

  2. Bu her zaman doğru değildir; bellek hiyerarşisi ve donanımı, en azından bazen daha büyük hızlanmaya izin verebilir. Yine de başka bir sabit sınır olacak.


0

Yarın birinin P = NC olduğuna dair bir kanıt bulduğunu varsayalım. Bu durumda bilgisayar bilimleri araştırması ve pratik uygulamaların sonuçları ne olur?

Bu soru, bu soruyu kopya olarak işaretlendi , bu yüzden bunun gerçekten bir kopya olduğunu varsayalım ve olası bir cevap vereyim.

NC! = PSPACE olduğunu biliyoruz, bu nedenle P = NC'nin P! = PSPACE olduğunu ispatlayacağının bir kanıtı. Bu büyük bir anlaşma gibi gelmeyebilir, ancak bilgisayar bilimleri araştırması için bir sonuçtur.

NC'yi neden biliyoruz! = PSPACE? NC k ⊆ DSPACE (O (log k )) ' yi biliyoruz , böylece uzay hiyerarşi teoremini kullanabiliriz.


Pratik uygulamalar söz konusu olduğunda, doğrusal (ve dışbükey) programlama etrafındaki uygulamalar, doğrusal programlama formülasyonlarını bu donanıma verimli bir şekilde çevirmek için derleyicilerle birlikte özel paralel mimarilerin geliştirilip satılabildiği için baştan çıkarıcı olabilir.

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.