ใช้จำนวนการแลกเปลี่ยนขั้นต่ำเพื่อให้แต่ละถังขยะมีลูกบอลที่มีสีเดียวกัน


13

มีถังขยะที่ฉัน bin TH ประกอบด้วยฉันลูก ลูกได้nสีมีฉันลูกที่มีสีผม Let เมตร= Σ n ฉัน= 1ฉันniainaiim=i=1nai

การสลับจะใช้ลูกบอลจากหนึ่งช่องและสลับกับลูกบอลจากอีกช่องหนึ่ง เราต้องการจำนวน swaps ขั้นต่ำที่แต่ละ bin มีเพียงลูกที่มีสีเดียวกัน

ฉันรู้ว่ากรณีพิเศษง่ายฉัน2สำหรับฉัน (ถ้าฉัน = 2สำหรับฉันแล้วคุณยังสามารถทำมันได้โดยการเปลี่ยนแต่ละลูกที่มากที่สุดครั้งหนึ่ง.)ai2iai=2i

แก้ไข : สิ่งนี้ผิดเพราะการค้นหานั้นยากมากc(D)

ถ้าเรารู้ว่าสีใดไปที่ถังขยะปัญหานั้นง่าย

พิจารณาหลายเดี่ยว , V = { โวลต์1 , ... , V n } ถ้าเรารู้ว่าสีผมไปที่ bin b ( i )แล้วก็มีkส่วนโค้งขนาน( j , b ( i ) )ในA iff bin jมีkลูกบอลสีiD=(V,A)V={v1,,vn}ib(i)k(j,b(i))Ajki. แต่ละองค์ประกอบของกราฟคือ Eulerian จำนวนขั้นต่ำของการแลกเปลี่ยนต้องมีที่( D )คือจำนวนของส่วนโค้งรอบเคลื่อนที่ครอบคลุม เราสามารถสลับโดย "ติดตาม" วงจรออยเลอร์ (การสลับโดยใช้ส่วนโค้งของรอบที่น้อยที่สุดสามารถเปลี่ยนเป็นวงรอบที่เล็กที่สุดและห่วงตัวเอง) เมื่อกราฟทั้งหมดถูกตั้งค่าเป็นลูปตัวเองเราได้ทำการสลับที่จำเป็นทั้งหมดmc(D)c(D)A

ปัญหานี้ยากมากแค่ไหน?

คำตอบ:


3

การสลายตัวสูงสุดของ Eulerian กำกับกราฟเข้าไปในขอบรอบเคลื่อนเป็น NP-ฮาร์ดอย่างน้อยตามที่หนังสือเล่มนี้: อัลกอริทึมและการประยุกต์ใช้: บทความที่อุทิศตนเพื่อ Esko Ukkonen เนื่องในโอกาสวันเกิดครบรอบ

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

n6


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