ลองพิจารณาปัญหาที่เราได้รับในรูปของกราฟ acyclic กำกับ , ฟังก์ชั่นการติดฉลากλจากVถึงบางชุดLพร้อมกับคำสั่งทั้งหมด< L (เช่น, จำนวนเต็ม) และสถานที่ที่เราถูกถาม คำนวณlexicographically เล็กที่สุดเรียงลำดับทอพอโลยีของGในแง่ของλ อีกอย่างแม่นยำทอพอโลยีแบบเรียงตัวของจีคือการนับของvเป็นv = v 1 , … , v nเช่นว่าทุกเมื่อใดก็ตามที่มีเส้นทางจากวีฉันจะวีเจในGแล้วเราต้องมีฉัน< J ฉลากดังกล่าวเรียงลำดับทอพอโลยีเป็นลำดับขององค์ประกอบของSได้รับเป็นL = λ ( โวลต์1 ) , ... , λ ( V n ) การเรียงลำดับพจนานุกรมในลำดับดังกล่าว (ซึ่งทั้งหมดมีความยาว| V | ) ถูกกำหนดเป็นl < LEX IFF มีบางตำแหน่งที่ฉันเช่นที่ลิตรฉัน< L L ' ฉันและ L J = L ' JสำหรับทุกJ<ฉัน ให้ความสนใจกับความจริงที่ว่าแต่ละป้ายในSสามารถกำหนดให้กับจุดยอดหลายจุดในV(มิฉะนั้นปัญหาจะเป็นเรื่องเล็กน้อย)
ปัญหานี้สามารถระบุได้ในตัวแปรการคำนวณ ("คำนวณ lexicographically ขั้นต่ำสุดทอพอโลยีเรียงลำดับ") หรือในการตัดสินใจแตกต่าง ("นี่คือคำว่าอินพุตทอพอโลยีที่สุดเรียง?") คำถามของฉันคืออะไรความซับซ้อนของปัญหานี้คืออะไร? มันอยู่ใน PTIME (หรือใน FP สำหรับชุดการคำนวณ) หรือมันเป็น NP-hard? หากปัญหาทั่วไปคือ NP-hard ฉันก็สนใจเกี่ยวกับเวอร์ชันที่ชุดของป้ายกำกับที่เป็นไปได้จะได้รับการแก้ไขล่วงหน้า (กล่าวคือมีป้ายกำกับที่เป็นไปได้จำนวนคงที่เท่านั้น)
หมายเหตุ:
นี่คือตัวอย่างเล็ก ๆ ในโลกแห่งความจริงเพื่อกระตุ้นให้เกิดปัญหา เราสามารถเห็น DAG ว่าเป็นงานของโครงการ (ด้วยความสัมพันธ์ระหว่างพวกเขา) และป้ายกำกับเป็นจำนวนเต็มแทนจำนวนวันที่แต่ละงานต้องใช้ ในการทำโปรเจ็กต์ให้เสร็จจะใช้เวลาทั้งหมดเท่ากันไม่ว่าฉันจะเลือกงานอะไร อย่างไรก็ตามฉันต้องการสร้างความประทับใจให้เจ้านายของฉันและทำสิ่งนี้ฉันต้องการทำภารกิจให้สำเร็จให้เร็วที่สุดเท่าที่จะทำได้ (ด้วยความโลภแม้ว่ามันจะหมายถึงการช้ามากในตอนท้ายเพราะงานที่ยากขึ้น) การเลือกคำสั่งน้อยที่สุด lexicographically ปรับเกณฑ์ต่อไปนี้: ฉันต้องการเลือกคำสั่งเพื่อที่จะไม่มีคำสั่งอื่น ๆo ′และจำนวนวันnหลังจากที่ไหนวันที่ฉันจะได้เสร็จสิ้นการงานมากขึ้นกับการสั่งซื้อ o 'กว่ากับการสั่งซื้อ o (เช่นถ้ารูปลักษณ์ที่เจ้านายของฉันในเวลา nผมให้การแสดงผลที่ดีกว่ากับ o ' ) แต่สำหรับทุกเมตร< nผมได้เสร็จสิ้นการงานไม่น้อยด้วย เพื่อ o 'กว่ากับการสั่งซื้อo
เพื่อให้ข้อมูลเชิงลึกเกี่ยวกับปัญหา: ฉันรู้แล้วจากคำตอบก่อนหน้านี้ ว่าปัญหาที่เกี่ยวข้องดังต่อไปนี้ยาก: "มีการจัดเรียงโทโพโลยีที่ประสบความสำเร็จในการเรียงลำดับต่อไปนี้"? อย่างไรก็ตามความจริงที่นี่ที่ฉันต้องการลำดับที่น้อยที่สุดสำหรับคำสั่งทางพจนานุกรมนี้ดูเหมือนจะ จำกัด คำสั่ง topological ที่เป็นไปได้มากที่อาจบรรลุมัน (โดยเฉพาะการลดลงในคำตอบอื่น ๆ ที่ดูเหมือนจะไม่ทำงาน) โดยสังเขปมีสถานการณ์น้อยกว่าที่เรามีตัวเลือกให้ทำ
โปรดทราบว่าดูเหมือนว่าจะมีการสะท้อนปัญหาที่น่าสนใจอีกครั้งในแง่ของการครอบคลุมชุด (เมื่อ จำกัด ปัญหาให้กับ DAG ที่เป็นสองฝ่ายคือมีความสูงสอง): กำหนดเซตให้แจกแจงตามลำดับที่ช่วยลด lexicographically ลำดับ| S 1 | , | S 2 ∖ S 1 | , | S 3 ∖ ( S 1 ∪ S 2 ) | , … , | S n ∖ (. นอกจากนี้ยังสามารถนำปัญหาไปใช้กับกราฟที่ไม่ได้เปลี่ยนทิศทางได้ (ขยายพื้นที่เชื่อมต่อของกราฟอย่างต่อเนื่องตามลำดับที่ลดลำดับของคำย่อของฉลากที่ไม่ได้เปิด) แต่เพราะความจริงที่ว่าลำดับมีความต้องการอยากได้ทุกครั้งตามคำนิยามของคำสั่ง lexicographic ฉันไม่สามารถได้รับการลดลง (เช่นของต้นไม้ Steiner) ในการทำงาน
ขอบคุณล่วงหน้าสำหรับความคิดของคุณ!