คุณได้ทำให้ปัญหาของคุณดีขึ้นอีกในความคิดเห็น หากต้องการเฉพาะเจาะจงมากขึ้นคุณมี DAG ที่มีขอบทั้งหมดไหลออกมาจากแหล่งที่มาs และไปยังอ่างล้างจาน เสื้อ (นั่นคือขอบทั้งหมดอยู่บนเส้นทางจาก s ถึง เสื้อ) คุณต้องการค้นหาการตัดขั้นต่ำระหว่าง DAG สองชิ้นที่เชื่อมต่อชิ้นแรกsและครั้งที่สองเชื่อมต่อกับ เสื้อ. สำหรับปัญหานี้รูปแบบของอัลกอริทึมการเขียนโปรแกรมเชิงเส้นมาตรฐานสำหรับ MIN-CUT ทำงานได้แม้จะมีน้ำหนักติดลบ
เราใช้สัญกรณ์เช่นเดียวกับในวิกิพีเดีย ค่าใช้จ่ายของขอบ( i , j ) คือ คฉันเจ. เราใส่ฟังก์ชั่นที่มีศักยภาพพีผม บนแต่ละโหนดและปล่อยให้ dฉันเจ=พีผม-พีJ. LP คือ
m ฉันn ฉันm ฉันz e s U b เจอีคเสื้อT o Σ( i , j ) ∈ Eคฉันเจdฉันเจ dฉันเจ=พีผม-พีJ ∀ ( i , j ) ∈ E dฉันเจ≥ 0 ∀ ( i , j ) ∈ E พีs= 1 พีเสื้อ= 0
สมการเหล่านี้รับประกันได้ว่า 0 ≤พีผม≤ 1เนื่องจากทุกจุดสุดยอดอยู่ในบางส่วน s-เสื้อเส้นทาง. ในทำนองเดียวกันตั้งแต่dฉันเจ=พีผม-พีJ ไม่ใช่เชิงลบศักยภาพบนเส้นทางใดก็ได้ s ถึง เสื้อกำลังลดลง เรายังต้องแสดงให้เห็นว่ามีทางออกที่ดีที่สุดสำหรับ LP ด้วยทั้งหมดพีผม ทั้ง 0 หรือ 1. สิ่งนี้ตามมาจากความจริงที่ว่ามูลค่าของโซลูชันของ LP ด้านบนเป็นค่าที่คาดหวังของการตัดคWที่ไหน W ถูกเลือกแบบสุ่มใน [ 0 , 1 ]และสถานที่ที่ถูกตัด คW ได้มาจากการใส่ทุกจุด ผม กับ พีผม≥ w ในชุดแรกของจุดยอดและจุดยอดทั้งหมดด้วย พีผม< w ในชุดที่สอง