การจัดเรียงทอพอโลยีแบบย่อเล็กที่สุดของพจนานุกรมที่มีป้ายกำกับ


13

ลองพิจารณาปัญหาที่เราได้รับในรูปของกราฟ acyclic กำกับ , ฟังก์ชั่นการติดฉลากλจากVถึงบางชุดLพร้อมกับคำสั่งทั้งหมด< L (เช่น, จำนวนเต็ม) และสถานที่ที่เราถูกถาม คำนวณlexicographically เล็กที่สุดเรียงลำดับทอพอโลยีของGในแง่ของλ อีกอย่างแม่นยำทอพอโลยีแบบเรียงตัวของจีคือการนับของvเป็นv = v 1 , , v nG=(V,E)λVL<LGλGVv=v1,,vnเช่นว่าทุกเมื่อใดก็ตามที่มีเส้นทางจากวีฉันจะวีเจในGแล้วเราต้องมีฉัน< J ฉลากดังกล่าวเรียงลำดับทอพอโลยีเป็นลำดับขององค์ประกอบของSได้รับเป็นL = λ ( โวลต์1 ) , ... , λ ( V n ) การเรียงลำดับพจนานุกรมในลำดับดังกล่าว (ซึ่งทั้งหมดมีความยาว| V | ) ถูกกำหนดเป็นl < LEXijvivjGi<jSl=λ(v1),,λ(vn)|V| IFF มีบางตำแหน่งที่ฉันเช่นที่ลิตรฉัน< L L ' ฉันและ L J = L ' JสำหรับทุกJ<ฉัน ให้ความสนใจกับความจริงที่ว่าแต่ละป้ายในSสามารถกำหนดให้กับจุดยอดหลายจุดในV(มิฉะนั้นปัญหาจะเป็นเรื่องเล็กน้อย)l<LEXlili<Llilj=ljj<iSV

ปัญหานี้สามารถระบุได้ในตัวแปรการคำนวณ ("คำนวณ lexicographically ขั้นต่ำสุดทอพอโลยีเรียงลำดับ") หรือในการตัดสินใจแตกต่าง ("นี่คือคำว่าอินพุตทอพอโลยีที่สุดเรียง?") คำถามของฉันคืออะไรความซับซ้อนของปัญหานี้คืออะไร? มันอยู่ใน PTIME (หรือใน FP สำหรับชุดการคำนวณ) หรือมันเป็น NP-hard? หากปัญหาทั่วไปคือ NP-hard ฉันก็สนใจเกี่ยวกับเวอร์ชันที่ชุดของป้ายกำกับที่เป็นไปได้จะได้รับการแก้ไขล่วงหน้า (กล่าวคือมีป้ายกำกับที่เป็นไปได้จำนวนคงที่เท่านั้น)S

หมายเหตุ:

นี่คือตัวอย่างเล็ก ๆ ในโลกแห่งความจริงเพื่อกระตุ้นให้เกิดปัญหา เราสามารถเห็น DAG ว่าเป็นงานของโครงการ (ด้วยความสัมพันธ์ระหว่างพวกเขา) และป้ายกำกับเป็นจำนวนเต็มแทนจำนวนวันที่แต่ละงานต้องใช้ ในการทำโปรเจ็กต์ให้เสร็จจะใช้เวลาทั้งหมดเท่ากันไม่ว่าฉันจะเลือกงานอะไร อย่างไรก็ตามฉันต้องการสร้างความประทับใจให้เจ้านายของฉันและทำสิ่งนี้ฉันต้องการทำภารกิจให้สำเร็จให้เร็วที่สุดเท่าที่จะทำได้ (ด้วยความโลภแม้ว่ามันจะหมายถึงการช้ามากในตอนท้ายเพราะงานที่ยากขึ้น) การเลือกคำสั่งน้อยที่สุด lexicographically ปรับเกณฑ์ต่อไปนี้: ฉันต้องการเลือกคำสั่งเพื่อที่จะไม่มีคำสั่งอื่น ๆo และจำนวนวันnหลังจากที่ไหนoonวันที่ฉันจะได้เสร็จสิ้นการงานมากขึ้นกับการสั่งซื้อ o 'กว่ากับการสั่งซื้อ o (เช่นถ้ารูปลักษณ์ที่เจ้านายของฉันในเวลา nผมให้การแสดงผลที่ดีกว่ากับ o ' ) แต่สำหรับทุกเมตร< nผมได้เสร็จสิ้นการงานไม่น้อยด้วย เพื่อ o 'กว่ากับการสั่งซื้อonoonom<noo

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

โปรดทราบว่าดูเหมือนว่าจะมีการสะท้อนปัญหาที่น่าสนใจอีกครั้งในแง่ของการครอบคลุมชุด (เมื่อ จำกัด ปัญหาให้กับ DAG ที่เป็นสองฝ่ายคือมีความสูงสอง): กำหนดเซตให้แจกแจงตามลำดับที่ช่วยลด lexicographically ลำดับ| S 1 | , | S 2S 1 | , | S 3( S 1S 2 ) | , , | S n(S1,,Sn|S1||S2S1||S3(S1S2)|. นอกจากนี้ยังสามารถนำปัญหาไปใช้กับกราฟที่ไม่ได้เปลี่ยนทิศทางได้ (ขยายพื้นที่เชื่อมต่อของกราฟอย่างต่อเนื่องตามลำดับที่ลดลำดับของคำย่อของฉลากที่ไม่ได้เปิด) แต่เพราะความจริงที่ว่าลำดับมีความต้องการอยากได้ทุกครั้งตามคำนิยามของคำสั่ง lexicographic ฉันไม่สามารถได้รับการลดลง (เช่นของต้นไม้ Steiner) ในการทำงาน|Sn(S1Sn1)|

ขอบคุณล่วงหน้าสำหรับความคิดของคุณ!

คำตอบ:


12

GkGGxyxGyG1G0

kGk 1(k2) 0i1 0i111010010001000010000010จะให้ลำดับที่มีขอบมากกว่าที่จะพบในกราฟอย่างง่าย ๆ ที่มีจุดยอดจำนวนมาก) และมันสามารถเป็นจุดเริ่มต้นของการเรียงลำดับทอพอโลยีเมื่อมีกลุ่มที่ต้องการG


โอ้ฉันไม่ได้คิดถึงเรื่องโบราณ นั่นเป็นการลดที่ดีขอบคุณมาก! ดังนั้นสิ่งนี้แสดงให้เห็นว่าปัญหาการคำนวณคือ NP-hard แม้จะมีตัวอักษรฉลากคงที่ ) นอกจากนี้ยังบ่งบอกว่าปัญหาการตัดสินใจ "เป็นลำดับที่เล็กที่สุดในพจนานุกรมน้อยกว่าอันนี้" คือ NP-hard เช่นกัน (คุณสามารถใช้เพื่อคำนวณขั้นต่ำด้วยการค้นหาแบบไบนารี) คำถามเพิ่มเติมเท่านั้นที่ฉันเห็นคือว่าปัญหา "เป็นลำดับการป้อนข้อมูลที่แน่นอนนี้หนึ่งน้อยที่สุด" คือ NP- ยากเช่นกัน (ด้วยคำนี้คุณจะไม่สามารถทดสอบได้อย่างง่ายดายถ้าคำน้อยที่สุดเริ่มต้นด้วยคำนำหน้า) คุณมีความคิดใด ๆ {0,1}
a3nm

1
ความสงสัยของฉันคือปัญหา "นี่คือลำดับที่ทำได้" คือ NP-complete แต่ฉันไม่ได้ลดลง "นี่คือลำดับที่ถูกต้องน้อยที่สุด" ควรอยู่ในระดับที่สองของลำดับชั้นพหุนามเนื่องจากมันต้องมีการรวมกันของปริมาณการดำรงอยู่ (มันทำได้) และการวัดปริมาณสากล
David Eppstein

ในความเป็นจริงผมรู้อยู่แล้วว่าการทดสอบว่าไม่ว่าลำดับที่แน่นอนจะทำได้คือ NP-ยาก (ตามตัวอักษร 3 ป้ายชื่อ) จากการลดลงจากการเอกภาค 3 พาร์ทิชันโดย Marzio เดอ Biasi ร่างที่นี่: cstheory.stackexchange.com/a/19415 แต่ฉันคิดว่ามันไม่ได้บอกสถานะของปัญหา "นี่คือลำดับขั้นต่ำสุดที่ทำได้": เมื่อถามว่าสามารถใช้บางลำดับได้หรือไม่โดยทั่วไปจะมีโอกาสน้อยมากที่จะเรียงลำดับพจนานุกรม ไม่ว่าจะด้วยวิธีใดการลดลงของคุณแสดงให้เห็นว่าน่าสนใจมากขอบคุณอีกครั้ง! :)
a3nm

2

ตามการอ้างอิงนี้ (1), ปัญหาการเรียงโทโพโลยีอันดับแรกของพจนานุกรมคือสมบูรณ์ - NLOG

คุณอาจต้องการดูบทความอย่างละเอียดมากขึ้นเพื่อให้แน่ใจว่าครอบคลุมกรณีที่คุณสนใจโดยเฉพาะอย่างยิ่งตามเวอร์ชันรายงานทางเทคนิค (pdf)ของบทความนั้นปรากฏว่าพวกเขา ' กำลังปฏิบัติตามลำดับคำสั่งของพจนานุกรมที่เข้มงวด (เช่น: ในสัญลักษณ์ของคุณสำหรับ ) แต่ฉันไม่แน่ใจว่าสิ่งนี้มีผลกระทบต่อการบังคับใช้ผลหรือไม่ .λ(u)λ(v)uv

  1. Shoudai, Takayoshi " ปัญหาการเรียงโทโพโลยีอันดับแรกของพจนานุกรมคือสมบูรณ์แบบ NLOG " ตัวอักษรประมวลผลข้อมูล 33.3 (1989): 121-124

4
NLOG-complete เป็นชุดย่อยของพหุนามเวลาและ (ตามประโยค "เอาใจใส่" ในย่อหน้าแรกของปัญหา) การทำป้ายกำกับของจุดยอดที่แตกต่างทำให้ปัญหาสามารถแก้ไขได้ง่ายโดยอัลกอริทึมโลภเวลาพหุนาม คำถามจริงคือสิ่งที่เกิดขึ้นเมื่อป้ายไม่ชัดเจน
David Eppstein

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