การแบ่งขอบเป็นรูปสามเหลี่ยมสีรุ้ง


9

ฉันสงสัยว่าปัญหาต่อไปนี้คือ NP-hard หรือไม่

การป้อนข้อมูล: G=(V,E) กราฟอย่างง่ายและการระบายสี f:E{1,2,3} ของขอบ (f ไม่ได้ตรวจสอบคุณสมบัติเฉพาะใด ๆ )

คำถาม:เป็นไปได้หรือไม่ที่จะแบ่งพาร์ติชันE เข้าไป |E|/3 สามเหลี่ยมดังกล่าวว่าสามเหลี่ยมแต่ละอันมีหนึ่งขอบของแต่ละสีใช่หรือไม่

ฉันรู้ว่าไม่มีปัญหาเรื่อง "การแบ่งพาร์ติชั่น" กราฟเข้ามา Kn, n3คือ NP-hard (ดูNP-ครบถ้วนของปัญหา Part-Partition Edge ) แต่ด้วยสีฉันไม่รู้

ฉันจะสนใจผลการแบ่งขอบเป็นรุ้ง Kcกับ cคงที่ แน่นอนในกรณีนี้ปัญหาจะกลายเป็น:

การป้อนข้อมูล: G=(V,E) กราฟอย่างง่ายและการระบายสี :E{1,...,(-1)/2} ของขอบ ( ไม่ได้ตรวจสอบคุณสมบัติเฉพาะใด ๆ )

คำถาม:เป็นไปได้หรือไม่ที่จะแบ่งพาร์ติชันE เข้าไป |E|/((-1)/2) Kอย่างนั้นแต่ละกลุ่ม K มีหนึ่งขอบของแต่ละสี

คำตอบ:


1

ฉันติดตามการเชื่อมโยงในคำถามและการลดลงที่นั่นทำให้เกิดกราฟที่มีขอบมีการระบายสีตามธรรมชาติเช่นนั้น Kn ปัจจุบันในกราฟคือ "รุ้ง Kn"(มีขอบหนึ่งสีของแต่ละสี) ในคำอื่น ๆ เราสามารถปรับการลดลงของกระดาษให้ง่ายขึ้นเพื่อลดปัญหาของคุณแทนที่จะลดการแบ่งเป็น Knปัญหา: เพียงแค่กำหนดสีให้กับแต่ละสีตามสีธรรมชาตินี้จากนั้นกราฟก็สามารถแบ่งเป็น "รุ้ง" Knถ้าหากมันสามารถแบ่งพาร์ติชั่นได้ Kns ทั้งหมด

โครงสร้างพื้นฐานของการลดกระดาษนั้นสามารถทำได้ด้วย 3 ขั้นตอนดังต่อไปนี้:

  1. สร้างสำเนาของกราฟจำนวนมาก Hn,พี.
  2. ระบุชิ้นส่วนบางส่วนของ Hn,พี กับแต่ละอื่น ๆ (เช่นผสานจุดยอด / ขอบระหว่างสำเนาที่แตกต่างกันของ Hn,พี)
  3. ลบจุดยอด / ขอบบางอันออกจากสำเนาบางชุด

กราฟ Hn,พี มีจุดยอดของความยาว -n เวกเตอร์โมดูโล พี ซึ่งส่วนประกอบเพิ่มไป 0 พอควร พี. ขอบเชื่อมต่อทุกสองจุดยอดที่แตกต่างกันในสององค์ประกอบเท่านั้นที่มีความแตกต่างของ+1 และ -1 ในองค์ประกอบทั้งสองนั้น

ฉันเสนอสีต่อไปนี้สำหรับกราฟนี้: กำหนดสีให้กับแต่ละขอบตามทิศทางของมัน ถ้าx และ Y จุดยอดที่อยู่ติดกันแล้ว x-Y เป็นเวกเตอร์ด้วย n-2 ส่วนประกอบเท่ากับ 0องค์ประกอบหนึ่งเท่ากับ 1 และองค์ประกอบหนึ่งเท่ากับ -1. ในคำอื่น ๆ สำหรับทุกขอบ(x,Y) มี (n2) ตัวเลือกที่องค์ประกอบของ x-Yไม่ใช่ศูนย์ หากเรากำหนดสีที่เป็นเอกลักษณ์ให้กับตัวเลือกเหล่านี้แต่ละตัวเราจะทำการระบายสีสำหรับขอบทั้งหมดเพื่อให้ทุกขอบในทิศทางเดียวกันมีสีเดียวกัน มันค่อนข้างง่ายที่จะตรวจสอบว่าไม่มีสองขอบในKnในอยู่ในทิศทางเดียวกัน ดังนั้นทุกในเป็นรุ้งภายใต้สีนี้Hn,พีKnHn,พีKn

เมื่อเราทำตามการลดลงเราจะใช้สีนี้สำหรับสำเนาของทุกp} ดังนั้นในตอนท้ายของขั้นตอนที่ 1 ในรายการดังกล่าวข้างต้นทุกในกราฟเป็นรุ้งK_nHn,พีKnKn

ในขั้นตอนที่ 2 ของรายการด้านบนเราจะระบุจุด / ขอบบางจุดซึ่งกันและกัน โดยเฉพาะอย่างยิ่งในการลดเราจะระบุกับอื่นเสมอ แต่ในสถานการณ์เช่นนี้ (ที่ทุก s จากสำเนาของ ) ทุกเป็นทั้งคำแปลของ "มาตรฐาน " ซึ่งกระดาษที่เรียกหรือการแปลของ-Kดังนั้นเรากำลังระบุ s สองขนานหรือสอง s ที่เป็น "flips" ของกันและกัน ในกรณีใดกรณีหนึ่งขอบที่ระบุทั่วทั้งสองKnKnKnHn,พีKnKnK-KKnKnKns ขนานและดังนั้นจึงเป็นสีเดียวกัน ตัวอย่างเช่นดูรูปที่ 2 ในกระดาษ ขอบที่ระบุจะขนานกันเสมอ ดังนั้นเนื่องจากเราไม่เคยพยายามระบุขอบสองสีที่แตกต่างกันการระบายสีที่ส่วนท้ายของขั้นตอนที่ 1 ในรายการด้านบนสามารถขยายเป็นสีตามธรรมชาติในตอนท้ายของขั้นตอนที่ 2 การระบุจุดยอด / ขอบบางอย่างเข้าด้วยกันไม่ได้สร้างขึ้น ใหม่ ๆ s จึงเป็นสิ่งที่ยังคงเป็นกรณีที่ส่วนท้ายของขั้นตอนนี้ที่ว่าทุกเป็นรุ้งK_nKnKnKn

สุดท้ายในขั้นตอนที่ 3 เราลบบางจุด / ขอบซึ่งยังไม่ได้สร้างใหม่ ๆ s ดังนั้นเราจึงมีคุณสมบัติที่ต้องการของเรา: ภายใต้สีผมให้ทุกในกราฟที่สร้างขึ้นโดยการลดลงนี้เป็นรุ้งK_nKnKnKn

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