ผลต่างระหว่างรุ่นของ "204512/บรรยาย 7"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(wqaRCOHpEvNiNcogd)
 
(ไม่แสดง 3 รุ่นระหว่างกลางโดยผู้ใช้ 3 คน)
แถว 1: แถว 1:
acelolocava
+
Smack-dab what I was loonkig for-ty!
coricer
 
'''จดบันทึกคำบรรยายโดย:''' <br>
 
::นางสาวชฎาทิพย์ สายสิญจน์ 50653740 และ<br>
 
::นางสาวภัทราวรรณ รัตนมณี 50653856
 
Whoever wrote this, you know how to make a good aticrle.
 
 
 
==Running Time==
 
- ถ้ากราฟมี n โหนด m edges แต่ละ augmenting step ใช้เวลา O(m)
 
:ถ้า <math>c = |f^* |</math>, augment ไม่เกิน c รอบ เพราะแต่ละรอบขนาดของ flow จะเพิ่มขึ้น 1
 
::-> FF ทำงานในเวลา O(mC)
 
:: *FF ไม่ใช่ Polynomial-time Algorithm
 
[[ภาพ:N06.PNG]]
 
 
 
==Bipartite Matching==
 
 
 
กราฟ <math>G=(V,E)</math> เป็น bipartite graph ถ้าสามารถแบ่ง V ออกเป็น A&B ที่ <math>A \cap B = \emptyset ,A \cup B = V</math><br>
 
และไม่มี <math>edge(u,v) \in E</math> ที่ <math>u \in A,v \in A</math> หรือ <math>u \in B,v \in B</math><br>
 
 
 
 
 
ให้ <math>G=(A \cup B ,E)</math> เป็น bipartite graph <br>
 
[[ภาพ:N07.PNG]] 
 
 
 
 
 
ให้กราฟ <math>G = (A \cup B,E)</math> เซต <math>m \le E</math> เป็น '''<u>matching</u>'''(การจับคู่) ถ้าไม่มีโหนดใดๆ G ที่ติดกับ edge ใน m มากกว่า 1 edge<br>
 
[[ภาพ:N08.PNG]]
 
<br>
 
ปัญหา Maximum bipartite matching คือ ปัญหาที่หา matching ใน bipartite graph ที่ขนาดใหญ่ที่สุด
 
<br>
 
[[ภาพ:N09.PNG]]<math>\  O( m-m )</math>
 
 
 
'''<u>Edmonds-Karp</u>'''<br>
 
- หา shortest augmenting path ('''การบ้าน''')<br>
 
::poly(m,n) -> strong poly-time<br>
 
- หา augmenting path ที่ augment ได้มากที่สุด<br>
 
::poly(m,n,logC) -> weakly poly-time<br>
 
<br>
 
'''<u>Flow decomposition</u>'''
 
::สำหรับ flow f ใดๆ มีวิธี augment ที่ไม่เกิน m ครั้งที่ทำให้ได้ flow ขนาด |f|<br>
 
[[ภาพ:N10.PNG]]<br>
 
 
 
flow ของ |f| ต้องมีอย่างน้อย 1 path ที่มีขนาด <math>\frac{{|f|}}{{m}}</math><br>
 
[[ภาพ:N11.PNG]]<br>
 
 
 
<math>f^*</math> maximum flow<br>
 
f -> <math>R_f</math> ที่มี maximum flow ขนาด <math>|f^* | - |f|</math>, path ที่ augment มีขนาด <math>\ge \frac{{|f^* | - |f|}}{{2m}}</math><br>
 
m คือ edge ขณะนั้น<br>
 
<br>
 
พิจารณาลำดับการ augment 2m รอบติดกัน -> ได้ flow เป็น f <br>
 
:<u>case 1</u> : <math>|f^* | - |f'| \le \frac{1}{2}(|f^* | - |f|)</math>
 
:<u>case 2</u> : <math>|f^* | - |f'| \ge \frac{1}{2}(|f^* | - |f|)</math>
 
::นั่นคือ ในทุกๆ การ augment จะ augment ได้ <math>\frac{1}{2}(\frac{{|f^* | - |f|}}{{2m}})</math>
 
<br>
 
อย่างไรก็ตาม augment ไป 2m รอบ<br>
 
ขนาดของ flow ทั้งหมดที่ augment <math>2m \bullet \frac{1}{2}(\frac{{|f^* | - |f|}}{{2m}})</math><br>
 
::นั่นคือ มี flow เหลือ <math>\le (|f^* | - |f|) - \frac{1}{2}(|f^* | - |f|) = \frac{1}{2}(|f^* | - |f|)</math> ซึ่งเป็น contradiction<br>
 
<math>\Rightarrow</math>ทุกๆ 2m augmentation, flow ใน residual graph ลดลงอย่างน้อยครึ่งหนึ่ง<br>
 
->  augment ไม่เกิน O(mlogC)รอบ<br>
 

รุ่นแก้ไขปัจจุบันเมื่อ 03:53, 1 ตุลาคม 2554

Smack-dab what I was loonkig for-ty!