FP, FNP ve TFNP sınıfları tam olarak nedir?


13

Hesaplamalı Karmaşıklık kitabında Papadimitriou FNP'yi şu şekilde tanımlar :

Diyelim ki NP'de bir dil . Önerme 9.1 olarak, bir çok terimli zamanlı Karar verilebilen, orada polynomially dengeli ilişki bütün dizileri için bu şekilde : bir dizi bulunmaktadır ile , ancak ve ancak, eğer . ile gösterilen ile ilişkili fonksiyon problemi aşağıdaki hesaplama problemidir:R L x y R L ( x , y ) x L L F LLRLxyRL(x,y)xLLFL

Verilen , bir dizi bulmak şekilde , örneğin bir dizge olup olmadığını; böyle bir dize yoksa "no" döndürün.y R L ( x , y )xyRL(x,y)

NP'de dil ile ilgili tüm fonksiyon problemlerinin sınıfına FNP denir . FP , sadece FNP'de polinom zamanında çözülebilen fonksiyon problemlerini göz önüne aldığımızda ortaya çıkan alt sınıftır .

(...)

(...), bir sorun diyoruz içinde FNP toplamda her dize için eğer en az bir tane öyle ki . Alt sınıfı FNP tüm toplam problemleri içeren gösterilir TFNP .x y R ( x , y )R xyR(x,y)

Bölüm genel görünümündeki bir venn şemasında Papadimitriou, FP subseteq TFNP subseteq FNP olduğunu ima eder .

Ben zor bir zaman tam olarak bu tutar anlayış neden olan FP TFNP sorunlar beri FP se başına toplam olmak gerekmez.

Daha iyi bir anlayış elde etmek için , başarıya ulaşmadan FP , FNP ve türlerinin su geçirmez bir tanımını bulmak için literatürde dolaştım .

Bence (alçakgönüllü) görüşüme göre, bu konuların çok az (doğru!) Didaktik malzemesi olduğunu düşünüyorum.

Karar problemleri için, sınıflar birer dil kümesidir (yani dize kümeleri).

Fonksiyon problemleri için sınıflar tam olarak nedir? Bir dizi ilişki, dil mi, ...? Sağlam bir tanım nedir?


4
Ortak gösterim biraz özensiz. Birincisi, FP, yeniden tanımlandığı NP arama problemleri bağlamında poli-zaman fonksiyonlarının (dolayısıyla toplam) sınıfını belirtmek için kullanılmıştır . İkincisi, polinom zamanında çözülebilen her arama probleminin polinom zamanında çözülebilen toplam bir uzantısı vardır, bu nedenle FP'nin toplam ve toplam olmayan tanımı arasında çok fazla gerçek fark yoktur, bu yüzden ikisi dilin kötüye kullanılmasıyla sınırlıdır.
Emil Jeřábek

Yanıtlar:


11

Emil Jerabek'in yorumu güzel bir özettir, ancak aşağı yukarı aynı kavramı yakalayan daha net tanımlara sahip başka sınıflar olduğunu ve tüm bunlar arasındaki ilişkiyi açıklığa kavuşturmak istedim.

[Uyarı: Tanımları doğru aldığımı düşünürken, aşağıdaki şeylerden bazıları kişisel tercihlerimi yansıtıyor - bunun nerede olduğu konusunda net olmaya çalıştım.]

Deterministik dünyada, bir fonksiyon sınıfı sadece bir fonksiyonlar topluluğudur ("fonksiyon" kelimesinin olağan, matematiksel anlamında, yani bir harita ). Bazen, belirli girdiler için çıktısı "tanımsız" olan "kısmi işlevlere" izin vermek istiyoruz. (Aynı şekilde, bir alt kümesi üzerinde tanımlı fonksiyonlar Σ * hepsini yerine.)ΣΣΣ

Ne yazık ki, etrafında yüzen iki farklı tanımı vardır ve söyleyebildiğim kadarıyla eşdeğer olmadıklarını ("ahlaken" eşdeğer olsalar da).FP

  • (tanım 1) polinom zamanında hesaplanabilen fonksiyon sınıfıdır. F P'yi her gördüğünüzdeve insanların F N P , T F N P hakkında konuştuğu bir bağlamda olmadığında, bu varsaydığım tanımdır.FPFPFNP,TFNP

Belirsiz olmayan dünyada işler biraz komikleşir. Burada, "kısmi, çok değerli fonksiyonlara" izin vermek uygundur. Böyle bir şeyi ikili bir ilişki , yani alt kümesi olarak adlandırmak doğal olurdu . Ancak, karmaşıklık açısından, bunları "belirsiz olmayan işlevler" olarak düşünmek genellikle felsefi ve zihinsel olarak yararlıdır. Bu tanımların birçoğu (çok iyi bilinmese de tanımları tamamen standartlaştırılmış olan) aşağıdaki sınıflar tarafından açıklanmıştır:Σ×Σ

  • : Polinom zamanında belirlenemeyen bir makine tarafından hesaplanan "kısmi, çok değerli fonksiyonlar" sınıfı. Bunun anlamı, bir poli-zaman belirsiz olmayan makine ve x girişinde, her belirsiz olmayan dalda bazı çıktıları kabul etmeyi ve yapmayı veya reddetmeyi ve çıktı vermemeyi seçebilir. X girişindeki "çok değerli" çıkış, x olarak girdi olarakverildiğinde, belirsiz olmayan tüm dallardaki tüm çıkışların kümesidir. Bu kümenin boş olabileceğini, bu nedenle "çok değerli bir işlev" olarak yalnızca kısmi olabileceğini unutmayın. Bunu ikili ilişkiler açısından düşünürsek, bu { ( x , y ) ilişkisine karşılık gelir : yNPMVxxx girişindeki hesaplamanın bir dalı tarafından çıktılanır  .{(x,y):y is output by some branch of the computation on input x}

  • : Toplam "fonksiyonları" , N P E V her bir giriş ile ilgili olduğu,x(tanımı gereği ve bu nedenle bir çıkış yapar) en az bir dal kabul,NPMVtNPMVx

  • : N P M V'de tek değerli (potansiyel olarak kısmi) fonksiyonlar. Bununla birlikte, burada, birden çok dalın kabul edebileceği konusunda bir miktar esneklik vardır, ancak herhangi bir dal kabul ederse, tüm kabul eden dallarınaynıçıktıyıüreteceği garanti edilmelidir(böylece gerçekten tek değerli). Bununla birlikte, hiçbir dalın kabul etmemesi hala mümkündür, bu nedenle işlev sadece bir "kısmi işlevdir" (yani tüm Σ ∗' de tanımlanmamıştır).NPSVNPMVΣ

  • : toplam fonksiyonları tek değerli , N P G V . Bunlar gerçekten kelimenin genel anlamda, fonksiyonlar, Σ * Σ * . N P S V t = F P N Pc o N P (yukarıdaki FP için Def 1 kullanılarak)görmek zor değildir.NPSVtNPSVΣΣNPSVt=FPNPcoNP

Potansiyel olarak çok değerli işlevler hakkında konuştuğumuzda, karmaşıklık sınıflarının sınırlandırılması hakkında konuşmak artık gerçekten yararlı değil: koşulsuz olarak basitçe N P S V çok değerli "işlevler içermediğinden ", ancak N P M V yapar. Bunun yerine, c ile ifade edilen "c-çevreleme" hakkında konuşuyoruz . A (potansiyel olarak kısmen, çok değerli) fonksiyonu f daraltılmış bir (potansiyel olarak kısmi çoklu değerli) işlev g edin: Her girdi (1) x olan gNPMVNPSVNPSVNPMVcfgxgbazı çıktılar yapar, yapar ve (2) f çıktıları her zaman g çıktılarının bir alt kümesidir . Doğru soru, her N P M V "fonksiyonunun" bir N P S V iyileştirmesine sahip olup olmadığıdır . Öyleyse, N P M V c N P S V yazıyoruz .ffgN-PMVN-PSVN-PMVcN-PSV

  • (biraz daha az standart), poli zamanda hesaplanabilen (potansiyel olarak kısmi) fonksiyonların sınıfıdır. Yani, bir fonksiyonudur f : D Σ * ( D Σ * ) olan P F , bir poli-zaman deterministik makine, var ise, bu girdilere x D makine çıkışları f ( x ) ve girişler x D makinesi (/ reddeder / "hayır" / ancak ifade durdurana diyor) hiçbir çıkış yapar.PFf:DΣDΣPFxDf(x)xD

  • bir "fonksiyon problemleri" sınıfıdır (bir fonksiyonlar sınıfı yerine). Ayrıca F N P'ye "ilişkisel sınıf" diyorum, ama gerçekten onu tanımlamak için kullandığınız kelimeler ne olursa olsun, daha sonra kendinizi açıklığa kavuşturmanız gerekiyor, bu yüzden bu tanımın kısmi değilim. Herhangi bir ikili ilişkide R Σ × Σ ilişkili bir "işlev sorunu" vardır. İşlev sorunu nedir? Dil / işlev / ilişki için yaptığım gibi temiz bir matematik tanımım yok; bunun yerine, geçerli bir çözümün ne olduğu ile tanımlanır:FNPFNPRΣ×ΣRföyle ki eğer o zaman f böyle bir y çıkarır , aksi takdirde f çıktı vermez. F , N p ilişkilerine bağlı fonksiyon sorunları sınıfıdır R şekilde R P (çiftlerinin bir dil olarak ele alındığında) ve p-dengelidir. Dolayısıyla F N P bir işlevler sınıfı ya da bir dil sınıfı değil, burada bir "işlev problemleri" sınıfıdır; burada "problem", kabaca onu çözmek anlamına gelir.(y)[R(x,y)]fyfFNPRRPFNP

  • sonra çalışmamasına sınıfıdır F N , P , bir ilişki ile tanımlanır - R yukarıda - örneğin R, her için bu anlamda, toplam bir x bir vardır y böyle R ' ( X , y ) .TFNPFNPRRxyR(x,y)

Olup amacıyla gibi şeyler yazmak zorunda "her ise (resp., T K , N P ) işlevi sorunun bir çözümü vardır P F (resp., F P yukarıdaki tanıma göre), daha sonra ..." de Bu bağlamda, bir tanımı 2 kullanan F P olan,:FNPTFNPPFFPFP

  • (tanım 2), F N P'de poli-zaman çözümüne sahipfonksiyon problemleri sınıfıdır. Buradaki çözümün (= işlevi),herhangi bir x içingeçerli bir y olmayanözel bir y 0 dizisi seçerekveaksi takdirde geçerli y olmadığında y 0 işlevine sahipolarak kabul edilebilir. (Gerekirse, biz ilişki değiştirebilir R her prepending tarafından y 1 olan ve daha sonra almak y 0 dize 0 olması; katılan bu şey karmaşıklığını değişmez).FPFNPy0yxy0yRyy0

Bu çeşitli tanımların birbiriyle nasıl ilişkilendiği şöyledir: (tanım 2, çünkü bu F N P ile karşılaştırıldığı bir bağlamda ) N P M V c P'ye eşdeğerdir. F . T F N PF P (def 2), N P M V t c F P (def 1) ile eşdeğerdir .FNPFPFNPNPMVcPFTFNPFPNPMVtcFP


Kapsamlı cevabınız için teşekkür ederim. Sindirmeye çalışıyorum ve şimdiye kadar çok yardımcı oldu. Bununla birlikte, son paragrafta FP FNP ve FP TFNP'yi kastettiğinizi varsayıyorum ?
17'de Auberon

1
@Auberon: Hayır, son paragraf çeşitli varsayımlar arasında çeviri yapıyor. Diyor ki , vb.FNPFPNPMVcPF
Joshua Grochow

@JoshuaGrochow veya N P P U P mümkün mü yoksa hiyerarşi çöktü mü? Ayrıca yapar P U P olarak P , T K , N , P veya muhafaza tam tersi (herhangi bir ima ya da bir yol gibi gibi makul görünmektedir)? NPPTFNPNPPUPPUPPTFNP
T ....

3

Joshua'nın kapsamlı cevabına ek olarak, Elaine Ruch'un Otomata, Hesaplanabilirlik ve Karmaşıklık'tan aşağıdaki tanımları eklemek istiyorum .

Sınıf FP : Bir ikili ilişki olduğu F P rasgele bir giriş verilmiştir, bu belirleyici bir polinom zaman algoritması bir iff x bazı bulabilirsiniz y öyle ki ( X , Y ) Q .QFPxy(x,y)Q

Sınıf FNP : İkili bir ilişki , F N P'de ise, rasgele bir girdi çifti ( x , y ) verildiğinde , ( x , y ) Q olup olmadığını belirleyen bir deterministik polinom zaman doğrulayıcısı varsa . Equivalentely, Q, olduğu F N , P , bir rasgele giriş verilmiştir, bu nondeterministic polinom zaman algoritması bir iff x bazı bulabilirsiniz y şekilde ( X , Y ) SQFNP(x,y)(x,y)QQFNPxy(x,y)Q

Bu tanımlardan açıkça olduğu . Ayrıca kısaca F N P dışındaki problemlerden bahsediyor .FPTFNPFNPFNP

Benim için bu, uzun zamandır bulduğum tek bir sayfadan oluşan en tatmin edici kaynak oldu.


Bu tanıma biraz düşündükten sonra, iki 'eşdeğer' tanımının hiç de eşdeğer olmadığından şüpheleniyorum ...FNP
Auberon

Ben denklik bağıntısı varsaymak bir ihtiyaçlarını almak için p-sınırlanmış (olup, bir polinom olduğunu düşünüyorum öyle ki eğer y öyle ki ( x , y ) Q , daha sonra böyle bir var y ile | y |p ( | x | ) ). Ayrıca, bir "belirleyici olmayan algoritmanın bir y " bulmasının ne anlama geldiğini belirtmesi gerekir - yani, belirsiz olmayan bir algoritmanın "çıktı yapması" ne anlama gelir? NPMV tanım ailesini neden sevdiğimin bir parçası ...py(x,y)Qy|y|p(|x|)y
Joshua Grochow
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.