คำถามติดแท็ก np-complete

คำถามเกี่ยวกับปัญหาที่ยากที่สุดใน NP ได้แก่ ปัญหาที่สามารถแก้ไขได้ในเวลาพหุนามโดยเครื่องทัวริง nondeterministic

7
กฎหมายสมบูรณ์หรือไม่
ฉันต้องการทราบว่ามีงานใด ๆ ที่เกี่ยวข้องกับรหัสทางกฎหมายถึงความซับซ้อนหรือไม่ โดยเฉพาะอย่างยิ่งสมมติว่าเรามีปัญหาในการตัดสินใจ "จากหนังสือกฎหมายฉบับนี้และสถานการณ์เฉพาะชุดนี้จำเลยมีความผิดหรือไม่?" มันเป็นความซับซ้อนระดับใด? มีผลลัพธ์ที่พิสูจน์แล้วว่าเกมการ์ดเวทย์มนตร์: การรวบรวมนั้นมีทั้ง NP และทัวริงสมบูรณ์ดังนั้นผลลัพธ์ที่คล้ายกันไม่ควรมีสำหรับรหัสทางกฎหมาย?

2
มีอัลกอริธึมเวลาเอ็กซ์โพเนนเชียลสำหรับปัญหา NP-complete หรือไม่
มีปัญหาที่ทำให้ NP เสร็จสมบูรณ์ซึ่งพิสูจน์อัลกอริธึมเวลาเอ็กซ์โปแนนเชียลหรือไม่? ฉันกำลังขออินพุตกรณีทั่วไปฉันไม่ได้พูดถึงกรณีพิเศษที่เข้าใจได้ง่ายที่นี่ โดยการย่อยชี้แจงผมหมายถึงคำสั่งของการเจริญเติบโตดังกล่าวข้างต้นมีหลายชื่อ แต่น้อยกว่าแทนเช่น nnเข้าสู่ระบบnnlog⁡nn^{\log n}

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

6
เหตุใดบางเกมจึงเสร็จสมบูรณ์ np
ฉันอ่านรายการ Wikipedia เกี่ยวกับ " รายการปัญหาที่เกิดปัญหา NP-complete " และพบว่าเกมเช่น super mario, pokemon, tetris หรือ saga crush candy เป็น np-complete ฉันจะจินตนาการถึงความสมบูรณ์แบบของเกมได้อย่างไร คำตอบไม่จำเป็นต้องแม่นยำเกินไป ฉันแค่ต้องการรับภาพรวมความหมายของเกมที่สามารถทำให้สมบูรณ์ได้

6
การจัดการกับการล่วงล้ำ: ปัญหา NP-complete
สมมติว่าฉันเป็นโปรแกรมเมอร์และฉันมีปัญหาที่สมบูรณ์แบบที่ฉันต้องแก้ปัญหา มีวิธีการใดบ้างที่สามารถจัดการกับปัญหา NPC มีแบบสำรวจหรืออะไรที่คล้ายกันในหัวข้อนี้?

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}

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

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 

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] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

2
ฉันจะสร้างการลดระหว่างปัญหาเพื่อพิสูจน์ว่าปัญหานั้นสมบูรณ์ได้อย่างไร
ฉันกำลังเรียนหลักสูตรที่ซับซ้อนและฉันมีปัญหากับการลดระดับลงระหว่างปัญหา NPC ฉันจะหาวิธีลดปัญหาระหว่างปัญหาได้อย่างไร มีเคล็ดลับทั่วไปที่ฉันสามารถใช้ได้หรือไม่? ฉันจะเข้าหาปัญหาที่ขอให้ฉันพิสูจน์ว่าปัญหาคือ NPC ได้อย่างไร

3
ปัญหาที่ไม่สมบูรณ์ของ NP ไม่“ ชัดเจน” ใน NP
มันเกิดขึ้นกับหลาย ๆ คนที่ในบทพิสูจน์ความสมบูรณ์แบบทั้งหมดที่NPNP\textbf{NP}ฉันได้อ่าน (ที่ฉันจำได้) มันเป็นเรื่องเล็กน้อยที่จะแสดงให้เห็นว่าปัญหาอยู่ในNPNP\textbf{NP}และแสดงให้เห็นว่ามันเป็นNPNP\textbf{NP} -hard คือ ... ส่วนที่ยาก . NPNP\textbf{NP}สมบูรณ์ของปัญหาเหล่านี้คืออะไรซึ่งตัวตรวจสอบพหุนามเวลาไม่สูงมาก?

1
regex golf NP-Complete หรือไม่
เท่าที่เห็นในแถบ XKCD ที่ผ่านมานี้และโพสต์บล็อกล่าสุดนี้จาก Peter Norvig (และ Slashdot เนื้อเรื่องหลัง), "regex golf" (ซึ่งอาจเรียกได้ว่าเป็นปัญหาการแยกนิพจน์ทั่วไป) เป็นปริศนาของการกำหนดนิพจน์ปกติที่สั้นที่สุดที่เป็นไปได้ที่ยอมรับทุกคำในเซต A และไม่มีคำใน โพสต์ของ set B. Norvig มีอัลกอริธึมสำหรับการสร้างผู้สมัครที่มีเหตุผลสั้น ๆ และเขาสังเกตว่าวิธีการของเขาเกี่ยวข้องกับการแก้ปัญหาชุด NP-complete แต่เขาก็ระมัดระวังที่จะชี้ให้เห็นว่าวิธีการของเขานั้น และแน่นอนว่าเขาไม่จำเป็นต้องเป็นอัลกอริธึมเท่านั้นดังนั้นวิธีแก้ปัญหาของเขาจึงไม่รับประกันว่าจะดีที่สุดและเป็นไปได้ว่าอัลกอริธึมแบบพหุนามเวลาอื่น ๆ สามารถหาวิธีแก้ปัญหาที่เทียบเท่าหรือดีกว่าได้ เพื่อประโยชน์ของ concreteness และเพื่อหลีกเลี่ยงการแก้ไขคำถามการปรับให้เหมาะสมฉันคิดว่าสูตรที่เป็นธรรมชาติที่สุดของการแยกนิพจน์ปกติคือ: ให้สอง (จำกัด ) ชุดและBของสายอักขระบางตัวΣ , มีการแสดงออกปกติของความยาว≤ kที่ยอมรับทุกสายในAและปฏิเสธทุกสายในB ?AAABBBΣΣ\Sigma≤ k≤k\leq kAAABBB มีความรู้เกี่ยวกับความซับซ้อนของปัญหาการแยกนี้หรือไม่? (โปรดทราบว่าเนื่องจากฉันได้ระบุและBเป็นชุด จำกัด ของสตริงความคิดตามธรรมชาติของขนาดสำหรับปัญหาคือความยาวทั้งหมดของสตริงทั้งหมดในAและBซึ่งจะเพิ่มการสนับสนุนจากk ) ดูเหมือนว่าเป็นไปได้สูงที่ฉันจะใช้ NP-Complete (และในความเป็นจริงฉันคาดว่าการลดลงของปัญหาการปกปิดบางส่วน) แต่การค้นหาบางอย่างไม่ได้เปิดใช้งานอะไรที่มีประโยชน์เป็นพิเศษAAABBBAAABBBkkk

2
กฎของหัวแม่มือที่จะรู้ว่าปัญหาอาจจะเป็นปัญหาที่สมบูรณ์
คำถามนี้ได้รับแรงบันดาลใจจากความคิดเห็นใน StackOverflow นอกเหนือจากการรู้ปัญหาที่สมบูรณ์แบบของหนังสือ Garey Johnson และอื่น ๆ อีกมากมาย; มีกฎของหัวแม่มือที่จะรู้ว่าปัญหาดูเหมือนว่าสมบูรณ์ NP ปัญหาหรือไม่ ฉันไม่ได้มองหาบางสิ่งที่เข้มงวด แต่เป็นสิ่งที่ใช้ได้ผลในกรณีส่วนใหญ่ แน่นอนทุกครั้งที่เราต้องพิสูจน์ว่าปัญหานั้นเกิดจากปัญหา NP-complete หรือตัวแปรหนึ่งของปัญหา NP-complete แต่ก่อนที่จะรีบไปพิสูจน์มันจะเป็นการดีถ้ามีความมั่นใจในผลบวกของการพิสูจน์

1
การทำซ้ำ (การกระจาย) ที่ยาวที่สุดที่ตามมาในสตริง
คำชี้แจงปัญหาที่ไม่เป็นทางการ: รับสตริงเช่นเราต้องการให้สีตัวอักษรสีแดงและบางตัวอักษรสีน้ำเงิน (และบางส่วนไม่ได้เลย) เช่นการอ่านตัวอักษรสีแดงจากซ้ายไปขวาให้ผลเช่นเดียวกับการอ่าน ตัวอักษรสีน้ำเงินเท่านั้นACCABBABACCABBABACCABBAB ในตัวอย่างเราสามารถระบายสีพวกมันได้ดังนี้: ACCABBABACCABBABA\color{blue}{C}\color{red}{CAB}B\color{blue}{AB} ดังนั้นเราจึงบอกว่าเป็น subsequence ซ้ำC C B B B นอกจากนี้ยังมีการวนซ้ำซ้ำที่ยาวที่สุด (ซึ่งง่ายต่อการตรวจสอบ)CBCABCABCCA B B A BACCABBABACCABBAB เราสามารถคำนวณส่วนประกอบซ้ำที่ยาวที่สุดได้อย่างมีประสิทธิภาพหรือไม่ คำถามทางการ: มันยากที่จะตัดสินใจว่าจะให้สตริงกับหรือไม่ว่ามีการเรียงตัวของความยาวkซ้ำอยู่ในสตริงหรือไม่?kkkkkk ถ้าเป็นเช่นนั้น: ปัญหาใดที่สามารถลดปัญหานี้ได้ ถ้าไม่: อัลกอริทึมที่มีประสิทธิภาพคืออะไร? (เห็นได้ชัดว่าอัลกอริธึมนี้สามารถใช้ในการคำนวณการวนซ้ำที่ยาวที่สุด) คำถามโบนัส: จะมีการเรียงลำดับความยาวหากขนาดของตัวอักษรถูกล้อมด้วยค่าคงที่หรือไม่?n / 2 - o ( n )n/2−o(n)n/2 - o(n) (สิ่งนี้เป็นที่รู้จักกันว่าเป็นจริงสำหรับตัวอักษรไบนารี) แก้ไข 2: คำตอบเชิงลบเพื่อโบนัสคำถามที่เป็นที่รู้จักกันไปแล้วสำหรับตัวอักษรที่มีขนาดอย่างน้อย5ในความเป็นจริงสำหรับตัวอักษรขนาดมีสตริงกับ subsequences ซ้ำที่ยาวที่สุดของความยาวของเพียง1/2}) สตริงสุ่มเพียงพอที่จะแสดงสิ่งนี้ ผลลัพธ์มีอยู่แล้ว แต่ฉันมองข้ามไป555ΣΣΣO(n⋅Σ−1/2)O(n·Σ−1/2)O(n · Σ^{-1/2}) …

3
การสอน NP-ครบถ้วน - การทัวริงการลดลงเทียบกับการลดคาร์ป
ฉันสนใจในคำถามของวิธีที่ดีที่สุดในการสอนปัญหาความสมบูรณ์ของวิชาเอกวิทยาการคอมพิวเตอร์ โดยเฉพาะอย่างยิ่งเราควรสอนโดยใช้การลดคาร์ปหรือการใช้การลดทอนของทัวริง ฉันรู้สึกว่าแนวคิดของความสมบูรณ์แบบ NP และการลดลงเป็นสิ่งที่วิทยาศาสตร์คอมพิวเตอร์ทุกคนควรเรียนรู้ อย่างไรก็ตามเมื่อสอน NP-ครบถ้วนฉันได้สังเกตเห็นว่าการใช้ Karp Reduction มีข้อเสีย ก่อนอื่นการลดคาร์ปดูเหมือนจะทำให้นักเรียนบางคนสับสนโดยไม่จำเป็น ความคิดที่เข้าใจง่ายของการลดคือ "ถ้าฉันมีอัลกอริทึมในการแก้ปัญหา X จากนั้นฉันก็สามารถใช้มันเพื่อแก้ปัญหา Y ได้เช่นกัน" นั่นเป็นเรื่องที่เข้าใจได้ง่ายมาก - แต่แผนที่ดีกว่าการทัวริงการลดลงมากกว่าการลดคาร์ป เป็นผลให้ฉันเห็นนักเรียนที่พยายามพิสูจน์ความสมบูรณ์แบบของ NP ถูกทำให้หลงผิดโดยสัญชาตญาณและพิสูจน์ข้อผิดพลาด พยายามที่จะสอนการลดลงทั้งสองประเภทและเน้นในแง่มุมของการลดคาร์ปนี้บางครั้งก็รู้สึกเหมือนเป็นพิธีการที่ไม่จำเป็นและใช้เวลาเรียนไม่จำเป็นและให้ความสนใจกับนักเรียนในสิ่งที่รู้สึกเหมือนรายละเอียดทางเทคนิค มันไม่ชัดเจนเลยว่าทำไมเราใช้ความคิดที่ จำกัด มากขึ้นในการลด ฉันเข้าใจความแตกต่างระหว่างการลด Karp และการลด Turing (Cook) และวิธีที่พวกเขานำไปสู่แนวคิดที่แตกต่างของความสมบูรณ์แบบ NP ฉันตระหนักว่าการลดคาร์ปทำให้เรามีความแตกต่างที่ละเอียดยิ่งขึ้นระหว่างคลาสความซับซ้อน ดังนั้นสำหรับการศึกษาทฤษฎีความซับซ้อนอย่างจริงจังการลดคาร์ปจึงเป็นเครื่องมือที่เหมาะสม แต่สำหรับนักศึกษาวิทยาศาสตร์คอมพิวเตอร์ที่เพิ่งเรียนรู้สิ่งนี้และไม่เคยไปสู่ทฤษฎีความซับซ้อนฉันไม่แน่ใจว่าการแยกความแตกต่างที่ดีกว่านี้มีความสำคัญอย่างยิ่งหรือไม่ ในที่สุดในฐานะนักเรียนฉันจำได้ว่ารู้สึกงุนงงเมื่อฉันพบปัญหาเช่น "ซ้ำซาก" - เช่นกำหนดสูตรบูลีนตรวจสอบว่าเป็นวิชาซ้ำซาก สิ่งที่สับสนคือปัญหานี้ชัดเจนยาก: อัลกอริธึมเวลาพหุนามใด ๆ สำหรับมันจะบ่งบอกว่าP= NPP=NPP=NP; เห็นได้ชัดว่าการแก้ปัญหานี้ยากพอ ๆ กับการแก้ไขปัญหาซ้ำซาก อย่างไรก็ตามถึงแม้ว่าการหยั่งรู้เชิงสัญชาตญาณนั้นยากพอ …

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