ลิงก์ข้ามภาษาในบทความนี้ มีไว้ให้ผู้อ่านและผู้ร่วมแก้ไขบทความศึกษาเพิ่มเติมโดยสะดวก เนื่องจากวิกิพีเดียภาษาไทยยังไม่มีบทความดังกล่าว กระนั้น ควรรีบสร้างเป็นบทความโดยเร็วที่สุด |
ในวิทยาการคอมพิวเตอร์และทฤษฎีกราฟ ขั้นตอนวิธีของคาร์เกอร์ (อังกฤษ: Karger's algorithm) เป็น Monte Carlo method เพื่อคำนวณหา การตัดน้อยสุด (minimun cut) ของกราฟต่อเนื่อง ซึ่งถูกพัฒนาขึ้นโดย David Karger
โดยการตัดน้อยสุด คือ จำนวนเส้นเชื่อมน้อยสุดที่ต้องลบออกเพื่อให้กราฟแยกเป็น 2 ส่วน(component)
ขั้นตอนวิธี
หลักการของขั้นตอนวิธีนี้ใช้แนวคิดในการย่อเส้นเชื่อม ในกราฟ หรือกล่าวได้ว่าเป็นการย่อเส้นเชื่อมทำให้ปม 2 ปมที่ต่อกับ e ซ้อนกัน ทำให้ลดจำนวนปมทั้งหมดของกราฟลงไปหนึ่งปม ขั้นตอนวิธีนี้จะดำเนินการย่อไปเรื่อยๆ จนกว่าจะเหลือปมในกราฟเพียง 2 ปมเท่านั้น ซึ่งการกระทำนี้มีความเป็นไปได้สูงที่ขั้นตอนวิธีนี้จะคืนการตัดน้อยสุด โดยจะคืนเซตของเส้นเชื่อมที่ต่อกับปมที่เหลือทั้งสอง
การย่อ
การกระทำนี้เอาเส้นเชื่อม ที่มีปลาย และ และย่อมันลงในปมใหม่ ซึ่งจะกลายเป็นเส้นประชิด(adjacent)ของปมเก่าทั้งหมดที่ต่อกับ และ โดยสามารถเขียนแนวคิดนี้ให้อยู่ให้รูปคณิตศาสตร์ได้
ให้กราฟ และ , การย่อของ ไปเป็น (เขียนเป็น ) เป็น เมื่อ:
และ:
- หรือ
เป็นไปได้ที่จะพิสูจน์ว่าการกระทำนี้ไม่ได้ลดภาวะเชิงการนับของการตัดน้อยสุด แต่อาจเป็นการเพิ่มให้มากขึ้น
รหัสเทียม
รหัสเทียมนี้สามารถสร้างขึ้นโดยใช้ 2
function Karger(G, K) min := for i = 1 to K do t := Full_contraction(G) if t < min then min := t return min
function Full_contraction(G) for i := 1 to |V| - 2 do e := Random() G' = ( V', ') := V := V' := ' return ||
ฟังก์ชัน Full_contraction ทำการย่อเส้นเชื่อมตามขั้นตอนวิธีที่ได้ระบุไว้ จากนั้นทำซ้ำไปเรื่อยๆ จนกว่าจะเหลือปมในกราฟเพียงสองปม จากนั้นจึงคืนค่าจำนวนเส้นเชื่อมระหว่างสองปมนั้น ซึ่งจะเท่ากับจำนวนตัดน้อยสุด แต่มันไม่สามารถประกันได้ว่าขั้นตอนวิธีนี้จะคืนการตัดที่น้อยที่สุดจริงๆ เพราะฉะนั้นการ excution Full_contraction K ครั้งโดยฟังก์ชัน Karger จะส่ง parameter K เพื่อให้ทำการคำนวณค่าน้อยสุดเป็นจำนวน K ครั้ง และเก็บคำตอบครั้งที่น้อยที่สุด ซึ่งวิธีนี้จะช่วยลดโอกาสที่จะคืนค่าการตัดน้อยสุดผิด
ประสิทธิภาพเชิงเวลา
ฟังก์ชัน Full_contraction ใช้เวลาในการทำงานในรูปสัญกรณ์โอใหญ่ได้เป็น O(e) เมื่อe คือ จำนวนเชิงเชื่อม เนื่องจากต้องทำการลบเส้นเชื่อมทุกเส้นเชื่อมจนกว่าจะเหลือปมเพียง 2 ปม และการทำฟังก์ชัน Karger เป็นการทำ Full_contraction ซ้ำเป็นจำนวน K รอบ แต่เนื่องจาก K เป็นค่าคงที่ ดังนั้นประสิทธิภาพเชิงเวลาจึงยังคงเป็น O(e) หรือ O(V 2) สำหรับกราฟหนาแน่น
อ้างอิง
- David R. Karger, Global Min-cuts in RNC and Other Ramifications of a Simple Mincut Algorithm. Proceedings of the 4th Annual ACM-SIAM Symposium on Discrete Algorithms, January 1993
- David R. Karger and Clifford Stein, A New Approach to the Minimum Cut Problem. Journal of the ACM 43(4):601-640, 1996
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
lingkkhamphasa inbthkhwamni miiwihphuxanaelaphurwmaekikhbthkhwamsuksaephimetimodysadwk enuxngcakwikiphiediyphasaithyyngimmibthkhwamdngklaw krann khwrribsrangepnbthkhwamodyerwthisud inwithyakarkhxmphiwetxraelathvsdikraf khntxnwithikhxngkharekxr xngkvs Karger s algorithm epn Monte Carlo method ephuxkhanwnha kartdnxysud minimun cut khxngkraftxenuxng sungthukphthnakhunody David Karger odykartdnxysud khux canwnesnechuxmnxysudthitxnglbxxkephuxihkrafaeykepn 2 swn component khntxnwithitwxyangkarldesnechuxm hlkkarkhxngkhntxnwithiniichaenwkhidinkaryxesnechuxm e displaystyle e inkraf hruxklawidwaepnkaryxesnechuxmthaihpm 2 pmthitxkb e sxnkn thaihldcanwnpmthnghmdkhxngkraflngiphnungpm khntxnwithinicadaeninkaryxiperuxy cnkwacaehluxpminkrafephiyng 2 pmethann sungkarkrathanimikhwamepnipidsungthikhntxnwithinicakhunkartdnxysud odycakhunestkhxngesnechuxmthitxkbpmthiehluxthngsxngkaryxkarkrathaniexaesnechuxm e displaystyle e thimiplay x displaystyle x aela y displaystyle y aelayxmnlnginpmihm ve displaystyle v e sungcaklayepnesnprachid adjacent khxngpmekathnghmdthitxkbx displaystyle x aela y displaystyle y odysamarthekhiynaenwkhidniihxyuihrupkhnitsastrid ihkraf G V E displaystyle G left V E right aela e x y E displaystyle e lbrace x y rbrace in E karyxkhxng G displaystyle G ipepn e displaystyle e ekhiynepn G e V E displaystyle G e left V E right epn emux V V x y ve displaystyle V left V setminus lbrace x y rbrace right cup lbrace v e rbrace aela E v w E v w x y ve w x w E e displaystyle E lbrace lbrace v w rbrace in E mid lbrace v w rbrace cap lbrace x y rbrace emptyset rbrace cup lbrace lbrace v e w rbrace mid lbrace x w rbrace in E setminus lbrace e rbrace hrux y w E e displaystyle lbrace y w rbrace in E setminus lbrace e rbrace rbrace epnipidthicaphisucnwakarkrathaniimidldphawaechingkarnbkhxngkartdnxysud aetxacepnkarephimihmakkhunrhsethiymrhsethiymnisamarthsrangkhunodyich 2 function Karger G K min displaystyle infty for i 1 to K do t Full contraction G if t lt min then min t return min function Full contraction G for i 1 to V 2 do e Random e displaystyle varepsilon G V e displaystyle varepsilon G e displaystyle G e V V e displaystyle varepsilon e displaystyle varepsilon return e displaystyle varepsilon fngkchn Full contraction thakaryxesnechuxmtamkhntxnwithithiidrabuiw caknnthasaiperuxy cnkwacaehluxpminkrafephiyngsxngpm caknncungkhunkhacanwnesnechuxmrahwangsxngpmnn sungcaethakbcanwntdnxysud aetmnimsamarthpraknidwakhntxnwithinicakhunkartdthinxythisudcring ephraachannkar excution Full contraction K khrngodyfngkchn Karger casng parameter K ephuxihthakarkhanwnkhanxysudepncanwn K khrng aelaekbkhatxbkhrngthinxythisud sungwithinicachwyldoxkasthicakhunkhakartdnxysudphidprasiththiphaphechingewlafngkchn Full contraction ichewlainkarthanganinrupsykrnoxihyidepn O e emuxe khux canwnechingechuxm enuxngcaktxngthakarlbesnechuxmthukesnechuxmcnkwacaehluxpmephiyng 2 pm aelakarthafngkchn Karger epnkartha Full contraction saepncanwn K rxb aetenuxngcak K epnkhakhngthi dngnnprasiththiphaphechingewlacungyngkhngepn O e hrux O V 2 sahrbkrafhnaaennxangxingDavid R Karger Global Min cuts in RNC and Other Ramifications of a Simple Mincut Algorithm Proceedings of the 4th Annual ACM SIAM Symposium on Discrete Algorithms January 1993 David R Karger and Clifford Stein A New Approach to the Minimum Cut Problem Journal of the ACM 43 4 601 640 1996