เราจะทำการพิสูจน์ข้อความทั้งสามโดยใช้ข้อสังเกตสองข้อต่อไปนี้
ถ้า
Wikimedia Error
Error
Too many requests (f061ab2)
ถูกเรียกให้ทำงานหลังจาก
ทำงาน
แต่ก่อนที่
จะทำงานเสร็จ แล้วจะมี path ใน DFS tree จาก
ถึง
พิสูจน์: เนื่องจาก
ถูกเรียกให้ทำงานระหว่างที่
ทำงานไปแล้วแต่ยังทำให้เสร็จ
เราจะได้ว่ามีลำดับของ vertex
Wikimedia Error
Error
Too many requests (f061ab2)
โดยที่
โดยที่
เรียก
Wikimedia Error
Error
Too many requests (f061ab2)
แล้ว
Wikimedia Error
Error
Too many requests (f061ab2)
เรียก
เช่นนี้ไปเรื่อยๆ จนกระทั้ง
Wikimedia Error
Error
Too many requests (f061ab2)
เรียก
เนื่องจาก
เรียก
แสดงว่ามี edge
อยู่ในกราฟ
นอกจากนี้ edge
นี้ยังเป็น tree edge อีกด้วย ในทำนองเดียวกัน เราจะได้ว่า edge
Wikimedia Error
Error
Too many requests (f061ab2)
,
,
,
Wikimedia Error
Error
Too many requests (f061ab2)
ก็เป็น tree edge เช่นเดียวกัน ดังนั้นจึงมี path ใน DFS tree จาก
ไปยัง
กรณีที่ 1
เราจะพิสูจน์ว่าถ้า
Wikimedia Error
Error
Too many requests (f061ab2)
แล้ว edge
จะต้องเป็น tree edge หรือว่า forward edge
พิสูจน์: เนื่องจาก
เรารู้ว่า
เริ่มทำงานก่อน
เนื่องจาก
เรารู้ว่า
ถูกเรียกก่อนที่
จะทำงานเสร็จ
ฉะนั้นจะต้องมี path ใน DFS tree จาก
ถึง
กล่าวคือ
เป็นลูกหลานของ
ดังนั้น
จึงเป็น tree edge หรือไม่ก็ forward edge
กรณีที่ 2
เราจะพิสูจน์ว่าถ้า
แล้ว edge
จะต้องเป็น back edge
พิสูจน์: เนื่องจาก
Wikimedia Error
Error
Too many requests (f061ab2)
เรารู้ว่า
เริ่มทำงานก่อน
เนื่องจาก
Wikimedia Error
Error
Too many requests (f061ab2)
เรารู้ว่า
ถูกเรียกก่อนที่
จะทำงานเสร็จ
ฉะนั้นจะต้องมี path ใน DFS tree จาก
ถึง
กล่าวคือ
เป็นลูกหลานของ
ดังนั้น
จึงเป็น back edge
กรณีที่ 3
เราจะพิสูจน์ว่าถ้า
และ
Wikimedia Error
Error
Too many requests (f061ab2)
ไม่มีส่วนร่วมกันแล้ว
จะต้องเป็น cross edge
พิสูจน์: ให้ประพจน์
Wikimedia Error
Error
Too many requests (f061ab2)
แทนข้อความ "
และ
Wikimedia Error
Error
Too many requests (f061ab2)
ไม่มีส่วนร่วมกันแล้ว"
ใ้ห้ประพจน์
Wikimedia Error
Error
Too many requests (f061ab2)
แทนข้อความ "
เป็น cross edge"
เราต้องการพิสูจน์ว่า
Wikimedia Error
Error
Too many requests (f061ab2)
cross edge คือ edge ที่ไม่ใช่ tree edge, back edge, หรือ forward edge ดังนั้นเราสามารถพิสูจนฺ์ว่า
เป็น cross edge
ได้โดยการพิสูจน์ข้อความ เมื่อ
คือข้อความ " เป็น tree edge"
- คือข้อความ "
เป็น back edge"
- คือข้อความ " เป็น forward edge"
เนื่องจาก เราจึงจะทำการพิสูจน์ข้อความ
แทน
สมมติให้ เป็นจริง กล่าวคือ เป็น tree, back, หรือ forward edge เราจะได้ว่า
- ถ้า
เป็น tree edge แล้ว เราจะได้ว่า
ถูกเรียกหลัง
เริ่มทำงาน และ จบการทำงานก่อน จะจบการทำงาน ดังนั้น
Wikimedia Error
Error
Too many requests (f061ab2)
กล่าวคือช่วง
และ
Wikimedia Error
Error
Too many requests (f061ab2)
มีส่วนร่วมกัน
- ถ้า เป็น back edge แล้ว เราจะได้ว่า เป็นลูกหลานของ
ใน DFS tree ดังนั้น ถูกเรียกหลัง เริ่มทำงาน และ
จบการทำงานก่อน
จะจบการทำงาน ดังนั้น กล่าวคือช่วง
และ
Wikimedia Error
Error
Too many requests (f061ab2)
มีส่วนร่วมกัน
- ถ้า
เป็น forward edge แล้ว เราสามารถใช้การให้เหตุผลในข้อ 1 แสดงได้ว่า ช่วง
และ
Wikimedia Error
Error
Too many requests (f061ab2)
มีส่วนร่วมกันได้
ทั้งสามกรณีให้ข้อสรุปว่า
และ
Wikimedia Error
Error
Too many requests (f061ab2)
มีส่วนร่วมกัน กล่าวคือประพจน์
Wikimedia Error
Error
Too many requests (f061ab2)
ไม่เป็นจริง
ดังนั้นเราสามารถสรุปได้ว่าถ้า
และ
ไม่มีส่วนร่วมกันแล้ว
จะต้องเป็น cross edge