4
DAG เป็นการลดสกรรมกริยาหรือไม่
เป้าหมายของการท้าทายนี้จะได้รับแน่นอนกำกับวัฏจักรกราฟ (DAG) ตรวจสอบว่ากราฟเป็นลดสกรรมกริยา คำอธิบายสั้น ๆ เกี่ยวกับสิ่งที่ DAG และการลดลงของสกรรมกริยาคือ: DAG เป็นกราฟที่มีขอบกำกับ (เช่นคุณสามารถเดินทางไปในทิศทางเดียวบนขอบนั้น) ซึ่งให้โหนดเริ่มต้นใด ๆ บนกราฟมันเป็นไปไม่ได้ที่จะกลับไปที่โหนดเริ่มต้น (เช่นไม่มีรอบ) ให้โหนดเริ่มต้นใด ๆ หากเป็นไปได้ที่จะเดินทางไปยังโหนดสิ้นสุดอื่นในกราฟผ่านทางจำนวนบวกขอบโดยพลการจากนั้นโหนดปลายทางนั้นจะถูกกำหนดให้สามารถเข้าถึงได้จากโหนดเริ่มต้น ใน DAG ทั่วไปอาจมีหลายเส้นทางที่สามารถนำมาจากโหนดเริ่มต้นไปยังโหนดปลายทางที่สิ้นสุด ตัวอย่างเช่นใช้กราฟเพชรนี้: ที่จะได้รับไปยังโหนดDจากAคุณสามารถใช้เส้นทางหรือA->B->D A->C->Dดังนั้นจึงสามารถเข้าถึงได้จากD Aแต่มีเส้นทางที่สามารถนำที่จะได้รับไปยังโหนดไม่เริ่มต้นจากโหนดB Cดังนั้นโหนดไม่สามารถเข้าถึงได้จากโหนดBC กำหนดความสามารถในการเข้าถึงของกราฟเป็นรายการของโหนดที่สามารถเข้าถึงได้สำหรับทุกโหนดเริ่มต้นในกราฟ ดังนั้นสำหรับกราฟเพชรตัวอย่างเดียวกันความสามารถในการเข้าถึงคือ: A: [B, C, D] B: [D] C: [D] D: [] กราฟอื่นที่มีความสามารถในการเข้าถึงเหมือนกับกราฟด้านบนแสดงอยู่ด้านล่าง: อย่างไรก็ตามกราฟที่สองนี้มีขอบมากกว่ากราฟต้นฉบับ การลดสกรรมกริยาของกราฟเป็นกราฟที่มีจำนวนน้อยที่สุดของขอบและความสามารถในการเข้าถึงของกราฟดั้งเดิม ดังนั้นกราฟแรกคือการลดลงของสกรรมกริยาที่สอง สำหรับ DAG ที่ จำกัด การลดการส่งผ่านจะรับประกันว่ามีอยู่จริงและไม่ซ้ำกัน อินพุต อินพุตคือ "รายการของรายการ" …