กลับไปหน้าบทความ

อ่าน 3 นาที

เทคนิคของเบเกอร์

ในสาขาวิทยาการคอมพิวเตอร์เชิงทฤษฎีเทคนิคของเบเกอร์เป็นวิธีการออกแบบแผนการประมาณค่าแบบใช้เวลาพหุนาม (PTAS) สำหรับปัญหาบนกราฟระนาบชื่อนี้ตั้งตามชื่อของเบรนดา...

เทคนิคของเบเกอร์

ในสาขาวิทยาการคอมพิวเตอร์เชิงทฤษฎีเทคนิคของเบเกอร์เป็นวิธีการออกแบบแผนการประมาณค่าแบบใช้เวลาพหุนาม (PTAS) สำหรับปัญหาบนกราฟระนาบชื่อนี้ตั้งตามชื่อของเบรนดา เบเกอร์ผู้ประกาศวิธีการนี้ในการประชุมเมื่อปี 1983 และตีพิมพ์ในวารสาร Journal of the ACMในปี 1994

แนวคิดของเทคนิคของเบเกอร์คือการแบ่งกราฟออกเป็นชั้นๆ เพื่อให้สามารถแก้ปัญหาได้อย่างเหมาะสมที่สุดในแต่ละชั้น จากนั้นจึงนำคำตอบจากแต่ละชั้นมารวมกันในลักษณะที่สมเหตุสมผลเพื่อให้ได้คำตอบที่เป็นไปได้ เทคนิคนี้ได้ให้ PTAS (Progressive Solution Access) สำหรับปัญหาต่างๆ ดังต่อไปนี้: การหาไอโซมอร์ฟิซึมของกราฟย่อย , เซตอิสระสูงสุด , การปกคลุมจุดยอดขั้นต่ำ , เซตครอบงำขั้นต่ำ , เซตครอบงำขอบขั้นต่ำ, การจับคู่สามเหลี่ยมสูงสุด และอื่นๆ อีกมากมาย

ทฤษฎีมิติคู่ของ Erik Demaine , Fedor Fomin, Hajiaghayiและ Dimitrios Thilikos และการแยกส่วนที่ง่ายขึ้นซึ่งแตกแขนงออกมา จากทฤษฎีนี้ ( Demaine, Hajiaghayi & Kawarabayashi (2005) , Demaine, Hajiaghayi & Kawarabayashi (2011) ) ได้ขยายและเพิ่มขีดความสามารถในการประยุกต์ใช้เทคนิคของ Baker สำหรับปัญหามากมายบนกราฟระนาบและโดยทั่วไปแล้ว กราฟที่ไม่รวมไมเนอร์ที่กำหนดไว้เช่น กราฟจีนัสที่มีขอบเขต ตลอดจนกราฟประเภทอื่น ๆ ที่ไม่ปิดภายใต้การใช้ไมเนอร์ เช่นกราฟระนาบ 1

ตัวอย่างของเทคนิค

ตัวอย่างที่เราจะใช้เพื่อสาธิตเทคนิคของเบเกอร์คือปัญหาเซตอิสระที่มี น้ำหนักสูงสุด

อัลกอริทึม

เซตอิสระ(จี{\displaystyle G},{\displaystyle w},ϵ{\displaystyle \epsilon }) เลือกจุดยอดใดๆ ก็ได้{\displaystyle r}เค=1/ϵ{\displaystyle k=1/\epsilon } ค้นหาระดับการค้นหาแบบกว้างสำหรับจี{\displaystyle G}ฝังรากอยู่ที่{\displaystyle r}(ม็อดเค){\displaystyle {\pmod {k}}}:{วี0,วี1,,วีเค1}{\displaystyle \{V_{0},V_{1},\ldots ,V_{k-1}\}}สำหรับ=0,,เค1{\displaystyle \ell =0,\ldots ,k-1} ค้นหาส่วนประกอบจี1,จี2,,{\displaystyle G_{1}^{\ell },G_{2}^{\ell },\ldots ,}ของจี{\displaystyle G}หลังจากลบแล้ววี{\displaystyle V_{\ell }}สำหรับฉัน=1,2,{\displaystyle i=1,2,\ldots } คำนวณเอสฉัน{\displaystyle S_{i}^{\ell }}ชุดอิสระที่มีน้ำหนักสูงสุดของจีฉัน{\displaystyle G_{i}^{\ell }}เอส=ฉันเอสฉัน{\displaystyle S^{\ell }=\cup _{i}S_{i}^{\ell }} อนุญาตเอส*{\displaystyle S^{\ell ^{*}}}เป็นคำตอบของน้ำหนักสูงสุดในหมู่{เอส0,เอส1,,เอสเค1}{\displaystyle \{S^{0},S^{1},\ldots ,S^{k-1}\}}กลับเอส*{\displaystyle S^{\ell ^{*}}}

โปรดสังเกตว่าอัลกอริทึมข้างต้นสามารถใช้งานได้จริงเนื่องจากแต่ละเอส{\displaystyle S^{\ell }}คือการรวมกันของเซตอิสระที่ไม่ซ้ำกัน

การเขียนโปรแกรมแบบไดนามิก

การเขียนโปรแกรมเชิงพลวัตถูกนำมาใช้เมื่อเราคำนวณเซตอิสระที่มีน้ำหนักสูงสุดสำหรับแต่ละเซตจีฉัน{\displaystyle G_{i}^{\ell }}โปรแกรมแบบไดนามิกนี้ทำงานได้เพราะแต่ละจีฉัน{\displaystyle G_{i}^{\ell }}เป็นเค{\displaystyle k}-กราฟระนาบนอกปัญหา NP-complete หลายอย่างสามารถแก้ไขได้ด้วยการเขียนโปรแกรมเชิงพลวัตบนเค{\displaystyle k}-กราฟระนาบนอก (outerplanar graphs) เทคนิคของเบเกอร์สามารถตีความได้ว่าเป็นการครอบคลุมกราฟระนาบที่กำหนดด้วยกราฟย่อยประเภทนี้ ค้นหาคำตอบสำหรับแต่ละกราฟย่อยโดยใช้การเขียนโปรแกรมเชิงพลวัต (dynamic programming) และเชื่อมต่อคำตอบเหล่านั้นเข้าด้วยกัน

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เทคนิคของเบเกอร์

ในสาขาวิทยาการคอมพิวเตอร์เชิงทฤษฎีเทคนิคของเบเกอร์เป็นวิธีการออกแบบแผนการประมาณค่าแบบใช้เวลาพหุนาม (PTAS) สำหรับปัญหาบนกราฟระนาบชื่อนี้ตั้งตามชื่อของเบรนดา...

ตัวอย่างของเทคนิค

ตัวอย่างที่เราจะใช้เพื่อสาธิตเทคนิคของเบเกอร์คือปัญหา เซตอิสระที่มี น้ำหนักสูงสุด

อัลกอริทึม

โปรดสังเกตว่าอัลกอริทึมข้างต้นสามารถใช้งานได้จริงเนื่องจากแต่ละ เอส ℓ {\displaystyle S^{\ell }} คือการรวมกันของเซตอิสระที่ไม่ซ้ำกัน

การเขียนโปรแกรมแบบไดนามิก

การเขียนโปรแกรมเชิงพลวัต ถูกนำมาใช้เมื่อเราคำนวณเซตอิสระที่มีน้ำหนักสูงสุดสำหรับแต่ละเซต จี ฉัน ℓ {\displaystyle G_{i}^{\ell }} โปรแกรมแบบไดนามิกนี้ทำงานได้เพราะแต่ละ จี ฉัน ℓ {\displaystyle G_{i}^{\ell }} เป็น เค {\displaystyle k} -กราฟระนาบนอก ปัญหา...