คำถามติดแท็ก complexity-theory

คำถามที่เกี่ยวข้องกับความซับซ้อน (การคำนวณ) ของการแก้ปัญหา

3
ปัญหาการตัดสินใจกับปัญหา“ ของจริง” ที่ไม่ใช่ใช่หรือไม่
ฉันอ่านในหลาย ๆ ที่ว่าปัญหาบางอย่างยากที่จะประมาณได้ (มันเป็น NP- ยากที่จะประมาณ พวกเขา) แต่การประมาณไม่ใช่ปัญหาการตัดสินใจ: คำตอบคือจำนวนจริงและไม่ใช่ใช่หรือไม่ใช่นอกจากนี้สำหรับแต่ละปัจจัยการประมาณที่ต้องการมีคำตอบมากมายที่ถูกต้องและผิดมากและการเปลี่ยนแปลงนี้มีปัจจัยการประมาณที่ต้องการ! ดังนั้นวิธีหนึ่งสามารถพูดได้ว่าปัญหานี้เป็นปัญหายาก (ได้รับแรงบันดาลใจจากกระสุนนัดที่สองในการนับจำนวนเส้นทางง่ายๆระหว่างสองโหนดในกราฟกำกับได้อย่างไร )

4
ทำไมการเขียนโปรแกรมเชิงเส้นใน P แต่การเขียนโปรแกรมจำนวนเต็ม NP-hard?
การเขียนโปรแกรมเชิงเส้น (LP) เป็นแบบ P และการเขียนโปรแกรมจำนวนเต็ม (IP) คือ NP-hard แต่เนื่องจากคอมพิวเตอร์สามารถจัดการตัวเลขที่มีความแม่นยำ จำกัด เท่านั้นในทางปฏิบัติคอมพิวเตอร์จึงใช้จำนวนเต็มสำหรับการเขียนโปรแกรมเชิงเส้น ด้วยเหตุนี้ LP และ IP ไม่ควรอยู่ในระดับความซับซ้อนเดียวกันหรือไม่

2
มีงานที่สามารถแก้ไขได้ในเวลาพหุนาม แต่ไม่สามารถตรวจสอบได้ในเวลาพหุนาม?
เพื่อนร่วมงานของฉันและฉันเพิ่งอ่านโน้ตของอาจารย์คนหนึ่งของเรา หมายเหตุระบุว่ามีงานที่สามารถแก้ไขได้ในเวลาพหุนาม (อยู่ในชั้นเรียนของ PF) แต่ไม่สามารถตรวจสอบได้ในเวลาพหุนาม (ไม่อยู่ในชั้นเรียนของ NPF) ในการอธิบายอย่างละเอียดเกี่ยวกับคลาสเหล่านี้: เราได้รับอินพุต X และสร้างเอาต์พุต Y บางส่วนซึ่ง (X, Y) สัมพันธ์กับ R แทนงานของเรา หากเป็นไปได้ที่จะได้ Y สำหรับ X ในเวลาพหุนามงานนี้เป็นของคลาสของ PF ถ้าเป็นไปได้ที่จะตรวจสอบใบรับรองความยาวพหุนาม Z ที่พิสูจน์ tuple (X, Y) อยู่ในความสัมพันธ์ R ในเวลาพหุนามงานเป็นของคลาสของ NPF เราไม่ได้พูดถึงปัญหาการตัดสินใจโดยที่คำตอบนั้นเป็นเพียงแค่ใช่หรือไม่ใช่ (อย่างเป็นทางการมากขึ้นถ้าสตริงบางอันเป็นของบางภาษา) สำหรับปัญหาการตัดสินใจปรากฏว่า PF เป็นเซตย่อยที่เหมาะสมของ NPF อย่างไรก็ตามสำหรับงานอื่น ๆ อาจแตกต่างกัน คุณรู้จักงานที่สามารถแก้ไขได้ในเวลาพหุนาม แต่ไม่ตรวจสอบในเวลาพหุนามหรือไม่

4
มีปัญหา NP ไม่ใช่ใน P และไม่ใช่ NP Complete หรือไม่
มีปัญหาใด ๆ ที่ทราบใน (และไม่ใช่ใน ) ที่ยังไม่เสร็จความเข้าใจของฉันคือว่าไม่มีปัญหาที่เป็นที่รู้จักในขณะนี้ในกรณีนี้ แต่ก็ไม่ได้ถูกตัดออกเป็นความเป็นไปได้ NPNP\mathsf{NP}PP\mathsf{P}NPNP\mathsf{NP} หากมีปัญหานั่นคือ (ไม่ใช่ ) แต่ไม่ใช่นี่จะเป็นผลของการไม่มีมอร์ฟิซึ่มที่มีอยู่ระหว่างอินสแตนซ์ของปัญหานั้นและชุด? หากเป็นเช่นนี้เราจะรู้ได้อย่างไรว่าปัญหาไม่ 'ยากกว่า' ที่เราระบุในขณะนี้เป็นชุด ?NPNP\mathsf{NP}PP\mathsf{P}NP-completeNP-complete\mathsf{NP\text{-}complete}NP-completeNP-complete\mathsf{NP\text{-}complete}NPNP\mathsf{NP}NP-completeNP-complete\mathsf{NP\text{-}complete}

1
เป็นเรื่องยากไหมที่จะเติมถังขยะด้วยการเคลื่อนไหวขั้นต่ำ?
มีถังขยะและประเภทของลูก TH ถังมีป้ายสำหรับก็เป็นจำนวนที่คาดหวังของลูกประเภทJnnnmmmiiiai,jai,ja_{i,j}1≤j≤m1≤j≤m1\leq j\leq mjjj คุณเริ่มต้นด้วยลูกประเภทJลูกของแต่ละชนิดมีน้ำหนักและต้องการที่จะนำลูกลงไปในถังขยะถังดังกล่าวว่ามีน้ำหนักC_iการกระจายตัวของลูกที่สภาพก่อนหน้านี้เรียกว่าทางออกที่เป็นไปได้bjbjb_jjjjjjjwjwjw_jiiicicic_i พิจารณาวิธีแก้ปัญหาที่เป็นไปได้ด้วยลูกบอลประเภทในถังจากนั้นค่าใช้จ่ายคือ. เราต้องการค้นหาวิธีแก้ปัญหาที่มีต้นทุนต่ำที่สุดxi,jxi,jx_{i,j}jjjiii∑ni=1∑mj=1|ai,j−xi,j|∑i=1n∑j=1m|ai,j−xi,j|\sum_{i=1}^n \sum_{j=1}^m |a_{i,j}-x_{i,j}| ปัญหานี้เป็นอย่างชัดเจน NP-ยากถ้ามีข้อ จำกัด ใน\} ปัญหาผลรวมเซ็ตย่อยจะลดการดำรงอยู่ของโซลูชันที่เป็นไปได้{wj}{wj}\{w_j\} อย่างไรก็ตามหากเราเพิ่มเงื่อนไขที่หารสำหรับทุกดังนั้นการลดจำนวนผลรวมของเซ็ตย่อยจะไม่ทำงานอีกต่อไปดังนั้นจึงไม่ชัดเจนว่าปัญหาที่เกิดขึ้นยังคงเป็นปัญหาที่ยากหรือไม่ การตรวจสอบการมีอยู่ของโซลูชันที่เป็นไปได้นั้นใช้เวลาเพียง (แนบท้ายคำถาม) แต่สิ่งนี้ไม่ได้ให้วิธีแก้ปัญหาที่เป็นไปได้ในราคาที่ถูกที่สุดwjwjw_jwj+1wj+1w_{j+1}jjjO(nm)O(nm)O(n\,m) ปัญหามีการกำหนดโปรแกรมจำนวนเต็มเทียบเท่า ให้สำหรับ : ai,j,ci,bj,wjai,j,ci,bj,wja_{i,j},c_i,b_j,w_j1≤i≤n,1≤j≤m1≤i≤n,1≤j≤m1\leq i\leq n,1\leq j\leq mMinimize:subject to:∑i=1n∑j=1m|ai,j−xi,j|∑j=1mxi,jwj=ci for all 1≤i≤n∑i=1nxi,j≤bj for all 1≤j≤mxi,j≥0 for all 1≤i≤n,1≤j≤mMinimize:∑i=1n∑j=1m|ai,j−xi,j|subject to:∑j=1mxi,jwj=ci for all 1≤i≤n∑i=1nxi,j≤bj for all 1≤j≤mxi,j≥0 for all 1≤i≤n,1≤j≤m\begin{align*} \text{Minimize:} & \sum_{i=1}^n …

2
ทำไมเราถึงเชื่อว่า PSPACE ≠ EXPTIME
ฉันมีปัญหาในการเข้าใจอย่างชัดเจนว่าทำไม PSPACE โดยทั่วไปเชื่อว่าแตกต่างจาก EXPTIME ถ้า PSPACE เป็นชุดของปัญหาที่แก้ไขได้ในพหุนามอวกาศในขนาดอินพุตดังนั้นจะมีคลาสของปัญหาที่ประสบกับการระเบิดเวลาแบบเอ็กซ์โพเนนเชียลมากกว่าและไม่ได้ใช้ประโยชน์จากพื้นที่ชี้แจงf(n)f(n)f(n) คำตอบของ Yuval Filmus มีประโยชน์อย่างมากแล้ว อย่างไรก็ตามทุกคนสามารถร่างข้อโต้แย้งที่หลวม ๆ ของฉันได้หรือไม่ว่าทำไมมันอาจเป็นกรณีที่ PSPACE ≠ EXPTIME (เช่น PSPACE นั้นไม่ใช่เซตย่อยที่เหมาะสมของ EXPTIME) เราไม่ต้องการพื้นที่แบบเอ็กซ์โพเนนเชียลเพื่อเอาชนะขอบเขตบนสำหรับจำนวนการกำหนดค่าระบบทั้งหมดที่ทำได้ด้วยพื้นที่ที่ขยายขนาดแบบพหุนามด้วยขนาดอินพุต เพียงแค่พูดว่าฉันสามารถเข้าใจว่าทำไม EXPTIME ≠ EXPSPACE เป็นเรื่องเปิด แต่ฉันไม่เข้าใจเกี่ยวกับความสัมพันธ์ระหว่าง PSPACE และ EXPTIME

4
ฉันจะตรวจสอบวิธีแก้ไขปัญหาของพนักงานขายที่เดินทางในเวลาพหุนามได้อย่างไร
ดังนั้นTSP (ปัญหาการเดินทางพนักงานขาย) ปัญหาการตัดสินใจเป็นNP สมบูรณ์ แต่ฉันไม่เข้าใจว่าฉันสามารถตรวจสอบได้อย่างไรว่าวิธีแก้ปัญหาที่กำหนดให้กับ TSP นั้นดีที่สุดในเวลาพหุนามเนื่องจากไม่มีวิธีที่จะหาทางออกที่ดีที่สุดในเวลาพหุนาม (ซึ่งเป็นเพราะปัญหาไม่ได้อยู่ใน P) อะไรที่อาจช่วยให้ฉันเห็นว่าการตรวจสอบสามารถทำได้จริงในเวลาพหุนาม

2
ปัญหา NP-Hard ที่ไม่ได้อยู่ใน NP แต่สามารถตัดสินใจได้
ฉันสงสัยว่ามีตัวอย่างที่ดีสำหรับปัญหา NP-Hard ที่เข้าใจง่ายที่ไม่ใช่NP-Completeและไม่สามารถตัดสินใจไม่ได้? ตัวอย่างเช่นปัญหาการหยุดชะงักคือ NP-Hard ไม่ใช่ NP-Complete แต่ไม่สามารถตัดสินใจได้ ฉันเชื่อว่านี่หมายความว่ามันเป็นปัญหาที่วิธีแก้ปัญหาสามารถตรวจสอบได้ แต่ไม่ใช่ในเวลาพหุนาม (โปรดแก้ไขข้อความนี้หากไม่ใช่กรณี)

4
ปัญหา 3SUM (k-SUM) ทั่วไปใช่ไหม
3sumปัญหาพยายามที่จะระบุจำนวนเต็ม 3จากชุดขนาดเช่นที่0a,b,ca,b,ca,b,cSSSnnna+b+c=0a+b+c=0a + b + c = 0 มันเป็นที่คาดคะเนได้ว่าจะไม่มีทางออกที่ดีกว่ากำลังสองคือ2) หรือจะนำมันแตกต่างกัน:2)o(n2)o(n2)\mathcal{o}(n^2)o(nlog(n)+n2)o(nlog⁡(n)+n2)\mathcal{o}(n \log(n) + n^2) ดังนั้นฉันสงสัยว่าสิ่งนี้จะนำไปใช้กับปัญหาทั่วไป: ค้นหาจำนวนเต็มสำหรับในเซตขนาดเช่นนั้น .aiaia_ii∈[1..k]i∈[1..k]i \in [1..k]SSSnnn∑i∈[1..k]ai=0∑i∈[1..k]ai=0\sum_{i \in [1..k]} a_i = 0 ฉันคิดว่าคุณสามารถทำสิ่งนี้ได้ในสำหรับ (มันไม่สำคัญที่จะพูดคุยกับอัลกอริธึมธรรมดา) แต่มีอัลกอริธึมที่ดีกว่าสำหรับค่าอื่น ๆหรือไม่?o(nlog(n)+nk−1)o(nlog⁡(n)+nk−1)\mathcal{o}(n \log(n) + n^{k-1})k≥2k≥2k \geq 2k=3k=3k=3kkk

1
การนับจำนวนเส้นทางง่าย ๆ ระหว่างสองโหนดในกราฟที่กำกับนั้นยากเพียงใด
มีอัลกอริทึมพหุนามที่ง่ายต่อการตัดสินใจว่ามีเส้นทางระหว่างสองโหนดในกราฟกำกับ (เพียงทำกราฟข้ามประจำกับพูดการค้นหาเชิงลึกครั้งแรก) อย่างไรก็ตามดูเหมือนว่าน่าแปลกใจว่าปัญหาจะยากขึ้นมากถ้าแทนที่จะทดสอบการมีอยู่ที่เราต้องการต้องการนับจำนวนเส้นทาง หากเราอนุญาตให้เส้นทางนำจุดยอดมาใช้ใหม่ได้จะมีวิธีการเขียนโปรแกรมแบบไดนามิกเพื่อค้นหาจำนวนเส้นทางจากsถึงtด้วยขอบn อย่างไรก็ตามหากเราอนุญาตเส้นทางที่เรียบง่ายเท่านั้นซึ่งไม่ได้ใช้จุดยอดซ้ำวิธีแก้ปัญหาเดียวที่ฉันคิดได้คือการระบุเส้นทางที่โหดร้ายสิ่งที่มีความซับซ้อนของเวลาแบบทวีคูณ ดังนั้นฉันถาม การนับจำนวนเส้นทางง่าย ๆ ระหว่างจุดยอดสองจุดนั้นยากไหม? ถ้าเป็นเช่นนั้นมันเป็น NP-complete หรือไม่? (ฉันพูดชนิดเพราะในทางเทคนิคไม่ใช่ปัญหาการตัดสินใจ ... ) มีปัญหาอื่น ๆ ใน P ที่มีเวอร์ชันที่นับยากเช่นนี้อีกหรือไม่? **

3
ทำไมการ relativization เป็นอุปสรรค?
เมื่อฉันอธิบายว่าเบเกอร์ - ปลา - โซโลวันพิสูจน์ว่ามีออราเคิลซึ่งเราสามารถมีได้และออราเคิลที่เราสามารถมีถึงเพื่อนคำถามหนึ่งเกิดขึ้นว่าทำไมเทคนิคดังกล่าวจึงไม่เหมาะสำหรับการพิสูจน์ปัญหาและฉันก็ไม่สามารถให้คำตอบที่น่าพอใจได้P=NPP=NP\mathsf{P} = \mathsf{NP}P≠NPP≠NP\mathsf{P} \neq \mathsf{NP}P≠NPP≠NP\mathsf{P} \neq \mathsf{NP} หากต้องการให้พิสูจน์ได้อย่างชัดเจนยิ่งขึ้นถ้าฉันมีวิธีการพิสูจน์และถ้าฉันสามารถสร้าง oracle เพื่อทำให้สถานการณ์ดังกล่าวเกิดขึ้นทำไมมันทำให้วิธีการของฉันไม่ถูกต้อง?P≠NPP≠NP\mathsf{P} \neq \mathsf{NP} คำอธิบายใด ๆ / ความคิดในหัวข้อนี้?

1
เซตย่อยปัญหาผลรวมที่มีเงื่อนไขการหารมากมาย
ให้SSSเป็นเซตของตัวเลขธรรมชาติ เราพิจารณาSSSภายใต้คำสั่งหารหารบางส่วนเช่นs1≤s2⟺s1∣s2s1≤s2⟺s1∣s2s_1 \leq s_2 \iff s_1 \mid s_2 2 ปล่อย antichain\}α(S)=max{|V|∣V⊆S,Vα(S)=max{|V|∣V⊆S,V\qquad \displaystyle \alpha(S) = \max \{|V| \mid V\subseteq S, V}}\} หากเราพิจารณาปัญหาผลรวมย่อยของเซตของชุดตัวเลขในSSSเราจะพูดถึงอะไรเกี่ยวกับความซับซ้อนของปัญหาที่เกี่ยวข้องกับα(S)α(S)\alpha(S) ? มันง่ายที่จะดูว่าα(S)=1α(S)=1\alpha(S)=1แล้วปัญหาเป็นเรื่องง่าย หมายเหตุ: มันเป็นเรื่องง่ายแม้สำหรับปัญหาเป้หนักเมื่อ\ alpha (S) = 1 \α(S)=1α(S)=1\alpha(S)=1††\dagger ††\dagger แก้ปัญหาเป้หลังโดย M. Hartmann และ T. Olmstead (1993)

2
เหตุใด C ประเภทโมฆะจึงไม่คล้ายกับประเภทที่ว่าง / ด้านล่าง
Wikipedia ตลอดจนแหล่งข้อมูลอื่น ๆ ที่ฉันได้พบรายการvoidประเภทC เป็นหน่วยประเภทซึ่งตรงข้ามกับประเภทที่ว่างเปล่า ฉันพบว่ามันสับสนเพราะฉันคิดว่าvoidเหมาะกับนิยามของประเภทที่ว่าง / ล่าง ไม่มีค่านิยมใด ๆ อยู่voidเท่าที่ฉันจะบอกได้ ฟังก์ชั่นที่มีประเภทคืนค่าเป็นโมฆะระบุว่าฟังก์ชั่นจะไม่ส่งคืนสิ่งใดดังนั้นจึงสามารถทำงานได้เพียงผลข้างเคียงเท่านั้น ตัวชี้ชนิดvoid*เป็นชนิดย่อยของชนิดตัวชี้อื่นทั้งหมด นอกจากนี้การแปลงไปยังและจากvoid*ใน C นั้นเป็นนัย ผมไม่แน่ใจว่าถ้าจุดสุดท้ายมีบุญใด ๆ ที่เป็นข้อโต้แย้งสำหรับvoidการเป็นประเภทที่ว่างเปล่าเป็นมากหรือน้อยเป็นกรณีพิเศษที่มีความสัมพันธ์ไม่มากที่จะvoid*void ในทางกลับกันvoidตัวมันเองไม่ใช่ประเภทย่อยของประเภทอื่นทั้งหมดซึ่งเท่าที่ฉันสามารถบอกได้ว่าเป็นข้อกำหนดสำหรับประเภทที่จะเป็นประเภทด้านล่าง
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

3
การวัดความยากลำบากของอินสแตนซ์ SAT
รับตัวอย่างของ SAT ฉันต้องการประเมินความยากลำบากในการแก้ไขอินสแตนซ์ วิธีหนึ่งคือการเรียกใช้ตัวแก้ปัญหาที่มีอยู่ แต่ความพ่ายแพ้แบบนั้นมีจุดประสงค์เพื่อประเมินความยากลำบาก วิธีที่สองอาจจะดูอัตราส่วนของอนุประโยคต่อตัวแปรตามที่ทำสำหรับการเปลี่ยนเฟสในการสุ่ม-SAT แต่ฉันแน่ใจว่ามีวิธีที่ดีกว่า มีตัวอย่างของ SAT แล้วจะมีวิธีแก้ปัญหาแบบเร็วในการวัดความยากลำบากหรือไม่? เงื่อนไขเดียวก็คือว่าฮิวริสติกเหล่านี้จะเร็วกว่าการเรียกใช้ตัวแก้ SAT ที่มีอยู่จริงบนอินสแตนซ์ คำถามที่เกี่ยวข้อง ปัญหา SAT ใดที่ง่าย? บน cstheory.SE คำถามนี้ถามเกี่ยวกับชุดอินสแตนซ์ที่หาได้ นี่เป็นคำถามที่คล้ายกัน แต่ไม่เหมือนกันทั้งหมด ฉันสนใจฮิวริสติกที่ให้อินสแตนซ์เดียวทำให้เดากึ่งอัจฉริยะว่าถ้าอินสแตนซ์นั้นยากที่จะแก้ไข

6
การสร้างชุดค่าผสมจากชุดคู่โดยไม่มีการทำซ้ำองค์ประกอบ
ฉันมีชุดของคู่ แต่ละคู่เป็นรูปแบบ (x, y) เช่นว่า x, y [0,n)เป็นจำนวนเต็มจากช่วง ดังนั้นถ้า n คือ 4 ดังนั้นฉันมีคู่ต่อไปนี้: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) ฉันมีคู่แล้ว ตอนนี้ฉันต้องสร้างชุดค่าผสมโดยใช้n/2คู่ที่ไม่มีจำนวนเต็มซ้ำ (กล่าวอีกอย่างหนึ่งว่าจำนวนเต็มแต่ละค่าปรากฏอย่างน้อยหนึ่งครั้งในชุดค่าผสมสุดท้าย) ต่อไปนี้เป็นตัวอย่างของชุดค่าผสมที่ถูกต้องและไม่ถูกต้องเพื่อความเข้าใจที่ดีขึ้น 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.