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

จำนวนทรัพยากรเวลา (จำนวนการดำเนินการปรมาณูหรือขั้นตอนเครื่อง) ที่จำเป็นในการแก้ปัญหาที่แสดงในแง่ของขนาดอินพุต หากคำถามของคุณเกี่ยวข้องกับการวิเคราะห์อัลกอริทึมให้ใช้แท็ก [การวิเคราะห์รันไทม์] แทน หากคำถามของคุณเกี่ยวข้องกับการคำนวณว่าจะเสร็จสิ้นหรือไม่ให้ใช้แท็ก [การคำนวณ] แทน ความซับซ้อนของเวลาอาจเป็นหัวข้อย่อยที่สำคัญที่สุดของทฤษฎีความซับซ้อน

1
ปัญหา Clique เวอร์ชันที่ถูก จำกัด ?
พิจารณารุ่นต่อไปนี้ปัญหาก๊กที่ใส่เป็นขนาดและเรากำลังขอให้พบก๊กขนาดkข้อ จำกัด คือโพรซีเดอร์การตัดสินใจไม่สามารถเปลี่ยนกราฟอินพุตเป็นการนำเสนออื่นและไม่สามารถใช้การแทนอื่นเพื่อคำนวณคำตอบของมันนอกเหนือจากบิตพิเศษนอกเหนือจากกราฟอินพุต บิตพิเศษสามารถใช้ตัวอย่างในอัลกอริทึม brute-force เพื่อติดตามสถานะของการค้นหากลุ่มที่ละเอียดถี่ถ้วน แต่ขั้นตอนการตัดสินใจนั้นยินดีต้อนรับให้ใช้มันในวิธีอื่นที่ยังคงตัดสินใจปัญหาnnnkkklog(nk)log⁡(nk)\log(n^k) มีสิ่งใดที่ทราบถึงจุดนี้เกี่ยวกับความซับซ้อนของสิ่งนี้? มีงานใดที่ทำกับข้อ จำกัด อื่น ๆ ของ Clique และถ้าเป็นเช่นนั้นคุณช่วยชี้แนะให้ฉันทำงานดังกล่าวได้ไหม?

2
ถ้าขอบล่างของปัญหาเป็นเลขชี้กำลังแล้วมันคือ NP?
สมมติว่าเรามีปัญหาพีppและเราแสดงให้เห็นว่าขอบเขตล่างสำหรับการแก้ พีppคือΩ ( 2)n)Ω(2n)\mathcal{\Omega}(2^n) ) ขอบเขตล่างสามารถΩ ( 2)n)Ω(2n)\mathcal{\Omega}(2^n)แสดงถึงปัญหาในยังไม่มีข้อความPNPNPหรือไม่

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

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

3
เราสามารถหาชุดค่าผสม Four-Square ทั้งหมดที่รวมกับ N ได้อย่างรวดเร็วแค่ไหน
มีคำถามที่ Stack Overflow ( ที่นี่ ): ได้รับจำนวนเต็ม , พิมพ์ออกมารวมกันเป็นไปได้ทั้งหมดของค่าจำนวนเต็มของและซึ่งการแก้สมการNA , B , C D A 2 + B 2 + C 2 + D 2 = Nยังไม่มีข้อความNNA , B , CA,B,CA,B,CDDDA2+ B2+ C2+ D2= NA2+B2+C2+D2=NA^2+B^2+C^2+D^2 = N คำถามนี้แน่นอนว่าเกี่ยวข้องกับทฤษฎีการคาดเดาของ Bachetในทฤษฎีจำนวน (บางครั้งเรียกว่าทฤษฎีบท Four Square ของ Lagrange เพราะหลักฐานของเขา) มีเอกสารบางฉบับที่พูดถึงวิธีการหาทางออกเดียว แต่ฉันไม่สามารถหาอะไรที่พูดถึงความเร็วที่เราสามารถหาวิธีแก้ปัญหาทั้งหมดสำหรับเฉพาะเจาะจง(นั่นคือการรวมกันทั้งหมดไม่ใช่การเปลี่ยนลำดับทั้งหมด)ยังไม่มีข้อความNN ฉันคิดอยู่นิดหน่อยและดูเหมือนว่าฉันสามารถแก้ไขได้ในเวลาและสถานที่โดยที่คือผลรวมที่ต้องการ อย่างไรก็ตามหากขาดข้อมูลก่อนหน้านี้ในเรื่องนี้ฉันไม่แน่ใจว่านี่เป็นข้อเรียกร้องที่มีนัยสำคัญในส่วนของฉันหรือเพียงแค่ผลลัพธ์เล็กน้อยที่เห็นได้ชัดหรือเป็นที่รู้จักแล้วNO ( …

3
อัลกอริทึมที่มีประสิทธิภาพในการคำนวณหมายเลขฟีโบนักชีที่
จำนวนที่ Fibonacci สามารถคำนวณในเวลาเชิงเส้นโดยใช้การเกิดซ้ำดังต่อไปนี้:nnn def fib(n): i, j = 1, 1 for k in {1...n-1}: i, j = j, i+j return i หมายเลขที่ Fibonacci สามารถคำนวณได้ด้วย[ φ n / √nnn. แต่นี้มีปัญหากับการปัดเศษปัญหาแม้มีขนาดค่อนข้างเล็กn อาจมีวิธีการรอบนี้แต่ฉันไม่อยากทำอย่างนั้น[ φn/ 5-√][φn/5]\left[\varphi^n / \sqrt{5}\right]nnn มีอัลกอริทึม(ลอการิทึมในค่าหรือดีกว่า) ที่มีประสิทธิภาพเพื่อคำนวณจำนวนฟีโบนักชีที่nที่ไม่พึ่งพาเลขคณิตจุดลอยตัวหรือไม่? สมมติว่าการดำเนินการจำนวนเต็ม ( + , - , × , / ) สามารถดำเนินการได้ในเวลาคงที่nnnnnn+++-−-××\times///

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
การแฮชใช้การค้นหาต้นไม้แทนรายการ
ฉันกำลังดิ้นรนกับวัสดุการแฮ็กและการค้นหาแบบไบนารี และฉันอ่านว่าแทนที่จะใช้รายการสำหรับจัดเก็บรายการที่มีค่าแฮชเดียวกันมันเป็นไปได้ที่จะใช้แผนภูมิการค้นหาแบบไบนารี่ และฉันพยายามที่จะเข้าใจว่ากรณีที่เลวร้ายที่สุดและเวลาเฉลี่ยในการดำเนินการสำหรับกรณีใด insert, find และ delete มีคุณค่า กรณีเฉลี่ย พวกเขาปรับปรุงด้วยความเคารพในรายการ?

4
การประเมินความซับซ้อนของเวลาโดยเฉลี่ยของอัลกอริธึมการทำฟองอากาศที่กำหนด
พิจารณารหัสเทียมของ bubbleort แบบนี้: FOR i := 0 TO arraylength(list) STEP 1 switched := false FOR j := 0 TO arraylength(list)-(i+1) STEP 1 IF list[j] > list[j + 1] THEN switch(list,j,j+1) switched := true ENDIF NEXT IF switched = false THEN break ENDIF NEXT อะไรคือแนวคิดพื้นฐานที่ฉันต้องจำไว้เพื่อประเมินความซับซ้อนของเวลาโดยเฉลี่ย ฉันได้ทำการคำนวณกรณีที่เลวร้ายที่สุดและดีที่สุดเรียบร้อยแล้ว แต่ฉันก็ตรึกตรองว่าจะประเมินความซับซ้อนเฉลี่ยของวงในเพื่อสร้างสมการ สมการที่แย่ที่สุดคือ: ∑i=0n(∑j=0n−(i+1)O(1)+O(1))=O(n22+n2)=O(n2)∑i=0n(∑j=0n−(i+1)O(1)+O(1))=O(n22+n2)=O(n2) \sum_{i=0}^n \left(\sum_{j=0}^{n …

1
อัลกอริทึม subcubic มีอยู่สำหรับปัญหาต่อไปนี้หรือไม่?
ให้สมมาตรจริงเมทริกซ์มีอัลกอริทึมที่คำนวณผลรวมทั้งหมดมีความซับซ้อนของเวลาดีกว่า ?A = ( a ฉันj ) ∑ i , j , k max ( a ฉันj , a ฉันk , a j k ) 1 ≤ ฉัน< j < k ≤ n O ( n 3 )n × nn×nn \times nA = ( aฉันเจ)A=(aij)A=(a_{ij})Σฉัน, j , kสูงสุด( aฉันเจ,ฉันk,j k)∑i,j,kmax(aij,aik,ajk)\sum_{i,j,k}\max(a_{ij},a_{ik},a_{jk})1 …

1
การรวบรวมปัญหา APX-hard
ทุกคนรู้ว่า "Garey & Johnson" ซึ่งเป็นข้อมูลอ้างอิงแบบ go-to ของฉันเมื่อใดก็ตามที่ฉันต้องการปัญหาในการเปลี่ยนจากการพิสูจน์ความกระด้าง NP อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองต้องมีการพิสูจน์ความแข็งของ APX และฉันสงสัยว่ามีชุดของปัญหาที่คล้ายกัน (และมากขึ้นถึงวันที่ .. ?) ที่แสดงว่าเป็น APX-hard ไม่มีใครรู้เรื่องนี้บ้าง ฉันพบว่ามันยากที่จะเชื่อว่าไม่มีเว็บไซต์ที่รวบรวมปัญหาดังกล่าวอย่างเป็นระบบ แต่ทักษะ Google ของฉันดูเหมือนจะไม่เพียงพอ

2
HORN-SAT อยู่ใน LIN ใช่หรือไม่ถ้าใช่เหตุใดจึงไม่บ่งชี้ว่า P = LIN
สวนสัตว์เชิงซ้อน (Complexity Zoo)ให้คำจำกัดความว่าเป็นชั้นของปัญหาการตัดสินใจที่แก้ไขได้โดยเครื่องทัวริงที่กำหนดขึ้นในเวลาเชิงเส้นLINLINLIN LIN⊆PLIN⊆PLIN \subseteq P เนื่องจาก HORN-SAT สามารถแก้ไขได้ใน (ตามที่ระบุในอัลกอริธึมเชิงเส้นเวลาสำหรับการทดสอบความพึงพอใจของสูตรฮอร์นเชิงประพจน์ (1984 )O(n)O(n)O(n) อัลกอริธึมใหม่สำหรับการตัดสินใจว่าจะนำเสนอสูตรฮอร์น (แบบมีเงื่อนไข) ที่น่าพอใจหรือไม่ หากสูตรฮอร์นมีตัวอักษรเชิงประพจน์แตกต่างกันและหากสันนิษฐานว่าพวกเขาเป็นอัลกอริธึมทั้งสองที่นำเสนอในบทความนี้จะทำงานในเวลาโดยที่คือจำนวนครั้งทั้งหมด ในAAAKKKP1,…,PKP1,…,PKP_1,…, P_KO(N)O(N)O(N)NNNAAA ฉันสงสัยว่าทำไมเราไม่สามารถสรุปได้ LIN=PLIN=PLIN = P เนื่องจาก HORN-SAT ได้รับการพิสูจน์แล้วว่าเป็น complete ภายใต้การลดพื้นที่ล็อก ? ฉันต้องคิดถึงบางสิ่ง หรือว่าเป็นข้อเท็จจริงที่รู้จักกันดี?PPP (ฉันยังอ่านบทความ 1984 อย่างถี่ถ้วนดังนั้นฉันจึงไม่เข้าใจอัลกอริธึมสำหรับการแก้ HORN-SAT ในเวลาเชิงเส้นและดังนั้นฉันอาจเข้าใจผิดเกี่ยวกับเรื่องนี้)

1
ความซับซ้อนของ Big-Oh time สามารถมีตัวแปรมากกว่าหนึ่งตัวได้หรือไม่?
ให้เราพูดเช่นฉันกำลังประมวลผลสตริงที่ต้องมีการวิเคราะห์สองสาย ฉันไม่ได้รับข้อมูลเกี่ยวกับความยาวของพวกเขาดังนั้นพวกเขาจึงมาจากสองครอบครัวที่แตกต่างกัน มันจะเป็นที่ยอมรับหรือไม่ที่จะเรียกความซับซ้อนของอัลกอริทึมหรือ (ขึ้นอยู่กับว่าเราใช้ความไร้เดียงสาหรืออัลกอริธึมที่เหมาะสมที่สุด)O ( n + m )O ( n ∗ m )O(n∗m)O(n * m)O ( n + m )O(n+m)O(n + m) ในหลอดเลือดดำที่คล้ายกันให้เราเข้าใจว่าอัลกอริทึมที่เราเลือกต้องใช้สองขั้นตอนจริง ๆ แล้วขั้นตอนการติดตั้งบนสตริงแรกซึ่งช่วยให้เราสามารถประมวลผลสตริงอื่น ๆ จำนวนเท่าใดก็ได้โดยไม่ต้องเสียค่าใช้จ่ายเริ่มแรก จะถือว่าเหมาะสมหรือไม่ที่จะบอกว่ามีการก่อสร้างตามด้วยการคำนวณจำนวนใด ๆO ( m )O ( n )O(n)O(n)O ( m )O(m)O(m) จะเหมาะสมไหมที่จะเรียกพวกเขาว่าเพราะการคำนวณทั้งสองเป็นแบบเชิงเส้น?O ( n )O(n)O(n)

2
หลักฐานที่ขัดแย้งกันสำหรับความไม่เท่าเทียมกันของ P และ NP?
ฉันพยายามยืนยันว่า N ไม่เท่ากับ NP โดยใช้ทฤษฎีลำดับชั้น นี่คือข้อโต้แย้งของฉัน แต่เมื่อฉันแสดงให้ครูของเราและหลังหักเขาบอกว่านี่เป็นปัญหาที่ฉันไม่สามารถหาเหตุผลที่น่าสนใจที่จะยอมรับ เราเริ่มต้นปิดโดยสมมติว่าP=NPP=NPP=NP P จากนั้นก็จะมีอัตราผลตอบแทนที่SAT∈PSAT∈P\mathit{SAT} \in Pที่ตัวเองแล้วตามที่SAT∈TIME(nk)SAT∈TIME(nk)\mathit{SAT} \in TIME(n^k) ) ขณะที่ยืนเรามีความสามารถที่จะทำลดทุกภาษาในNPNPNPเพื่อSATSAT\mathit{SAT} T ดังนั้นNP⊆TIME(nk)NP⊆TIME(nk)NP \subseteq TIME(n^k) ) ในทางตรงกันข้ามทฤษฎีบทลำดับชั้นเวลาระบุว่าควรมีภาษาA∈TIME(nk+1)A∈TIME(nk+1)A \in TIME(n^{k+1})ที่ไม่ได้อยู่ในTIME(nk)TIME(nk)TIME(n^k) ) นี่จะทำให้เราสรุปได้ว่าAAAอยู่ในPPPแต่ไม่ใช่NPNPNPซึ่งขัดแย้งกับสมมติฐานแรกของเรา ดังนั้นเรามาสรุปว่าP≠NPP≠NPP \neq NP P มีบางอย่างผิดปกติกับหลักฐานของฉัน?

1
นี่อาจเป็นปัญหา NP-Complete หรือไม่
พิจารณาข้อความสั่งปัญหาต่อไปนี้: เมื่อให้หมายเลขเริ่มต้นคุณและเพื่อนของคุณจะผลัดกันลบสแควร์ที่สมบูรณ์แบบจากนั้น คนแรกที่ได้เป็นศูนย์ชนะ ตัวอย่างเช่น: สถานะเริ่มต้น: 37 ผู้เล่น 1 ลบออก 16 สถานะ: 21 ผู้เล่น 2 ลบ 8. สถานะ: 13 ผู้เล่น 1 หักออก 4. สถานะ: 9 ผู้เล่น 2 ลบ 9. สถานะ: 0 ผู้เล่น 2 ชนะ! เขียนโปรแกรมที่ให้สถานะเริ่มต้นคืนค่าการย้ายที่ดีที่สุดเช่นที่รับประกันว่าจะนำไปสู่การชนะเกม หากไม่มีการเคลื่อนไหวที่เป็นไปได้สามารถนำคุณไปสู่สถานะที่ชนะได้ให้กลับ -1 ปัญหานี้สามารถแก้ไขได้ในเวลาเทียม - พหุนามโดยใช้การเขียนโปรแกรมแบบไดนามิก แนวความคิดนี้เป็นเพียงการเติมความยาวของอาร์เรย์n (โดยที่nคือสถานะเริ่มต้น) ขึ้นด้านล่างด้วยการเคลื่อนไหวที่ดีที่สุดหรือ -1 หากไม่มีการเคลื่อนไหวใดที่นำไปสู่การชนะ นี่จะใช้ O (n * sqrt (n)) …

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