ความซับซ้อนของเวลาของอัลกอริทึม Held-Karp สำหรับ TSP
เมื่อฉันดู " วิธีการเขียนโปรแกรมแบบไดนามิกเพื่อแก้ไขปัญหาลำดับ " โดย Michael Held และ Richard M. Karp ฉันพบคำถามต่อไปนี้: เหตุใดความซับซ้อนของอัลกอริธึมสำหรับ TSP จึงเป็น(∑n−1k=2k(k−1)(n−1k))+(n−1)(∑k=2n−1k(k−1)(n−1k))+(n−1)(\sum_{k=2}^{n-1}k(k-1)\binom{n-1}{k})+(n-1) (หน้า 199) ฉันหมายถึงพวกเขาใช้ปัจจัยkkkที่ไหน? หากฉันเข้าใจถูกต้องk−1k−1k-1หมายถึงจำนวนการเพิ่มสำหรับแต่ละชุดย่อยของเมือง แล้วทำไมการดำเนินการแต่ละนอกจากเป็นคู่กับรู้จักกับผมkkkการดำเนินงาน? ฉันคิดว่ามันเชื่อมต่อกันเพื่อลดขั้นต่ำ แต่การคำนวณขั้นต่ำดูเหมือนจะไม่ต้องการการดำเนินการมากมาย อัลกอริธึมการเขียนโปรแกรมแบบไดนามิกโดย Held และ Karp และเป็นอิสระจาก Bellman ทำงานดังนี้: สำหรับแต่ละคู่(S,ci)(S,ci)(S,c_i)หมายถึงเส้นทางที่จะผ่านc1c1c_1องค์ประกอบทั้งหมดของSSSและสิ้นสุดที่การคำนวณcicic_i OPT[S,ci]=min{OPT[S∖{ci},cj]+d(cj,ci):cj∈S∖{ci}},OPT[S,ci]=min{OPT[S∖{ci},cj]+d(cj,ci):cj∈S∖{ci}},OPT[S,c_i]=min\{OPT[S\setminus\{c_i\},c_j]+d(c_j,c_i):c_j\in S\setminus\{c_i\}\}, ที่d(cj,ci)d(cj,ci)d(c_j,c_i)หมายถึงระยะทางระหว่างเมืองcjcjc_jและC_icicic_iจากนั้นในสูตรจากกระดาษkkkหมายความว่าขนาดของSSSS