ผลต่างระหว่างรุ่นของ "204512-53/lecture9"
(ไม่แสดง 9 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 1: | แถว 1: | ||
+ | |||
จดบันทึกคำบรรยายโดย: | จดบันทึกคำบรรยายโดย: | ||
นายนววิธ นวลขาว รหัสนักศึกษา 5214550162 | นายนววิธ นวลขาว รหัสนักศึกษา 5214550162 | ||
+ | |||
นายธีระชัย ราชมณี รหัสนักศึกษา 5214550138 | นายธีระชัย ราชมณี รหัสนักศึกษา 5214550138 | ||
+ | |||
นายอรรณพ กอบกิจ รหัสนักศึกษา 5214550359 | นายอรรณพ กอบกิจ รหัสนักศึกษา 5214550359 | ||
แถว 90: | แถว 93: | ||
โรงงานรับผลิตรองเท้าข้างซ้ายและข้างขวา ให้ | โรงงานรับผลิตรองเท้าข้างซ้ายและข้างขวา ให้ | ||
+ | |||
[[ไฟล์:ln3.jpg]] จำนวนรองเท้าของซ้าย | [[ไฟล์:ln3.jpg]] จำนวนรองเท้าของซ้าย | ||
+ | |||
[[ไฟล์:ln4.jpg]] จำนวนรองเท้าข้างขวา | [[ไฟล์:ln4.jpg]] จำนวนรองเท้าข้างขวา | ||
S.B. [[ไฟล์:ln5.jpg]] ต้องผลิตจำนวนรองเท้าข้างซ้ายเท่ากับข้างขวา | S.B. [[ไฟล์:ln5.jpg]] ต้องผลิตจำนวนรองเท้าข้างซ้ายเท่ากับข้างขวา | ||
+ | |||
[[ไฟล์:ln6.jpg]] จำนวนเพชรที่ใช้ในการผลิต คือ ข้างซ้าย 2 เม็ต ข้างขวา 1 เม็ด โดยมีจำนวนเพชรทั้งหมด1000 เม็ด | [[ไฟล์:ln6.jpg]] จำนวนเพชรที่ใช้ในการผลิต คือ ข้างซ้าย 2 เม็ต ข้างขวา 1 เม็ด โดยมีจำนวนเพชรทั้งหมด1000 เม็ด | ||
แถว 100: | แถว 106: | ||
[[ไฟล์:ln8.jpg]] | [[ไฟล์:ln8.jpg]] | ||
− | [[ไฟล์: | + | [[ไฟล์:ln22.jpg]] |
แถว 110: | แถว 116: | ||
f1, ….,f7 โดย f1, ….f7 ≥ 0 | f1, ….,f7 โดย f1, ….f7 ≥ 0 | ||
+ | |||
'''Objective''' : max f1+f6 | '''Objective''' : max f1+f6 | ||
+ | |||
f1 ≤ 20, f2 ≤ 10, f6 ≤ 20 | f1 ≤ 20, f2 ≤ 10, f6 ≤ 20 | ||
+ | |||
f6 = f2+f4 , f6+f4 = f7+f5 | f6 = f2+f4 , f6+f4 = f7+f5 | ||
+ | |||
'''Linear Programiming : Max Flow | '''Linear Programiming : Max Flow | ||
แถว 127: | แถว 137: | ||
[[ไฟล์:ln11.jpg]] | [[ไฟล์:ln11.jpg]] | ||
+ | Subject to | ||
− | + | ∀ u,v f (u,v) = - f (v,u) | |
− | + | ∀ u,v f (u,v) ≤ C (u,v) | |
− | + | ∀ u,v ไม่เป็นสมาชิก {s,t} [[ไฟล์:ln33.jpg]] | |
− | Shortest Paths by Linear Programming | + | '''Shortest Paths by Linear Programming''' |
แถว 140: | แถว 151: | ||
เงื่อนไข | เงื่อนไข | ||
+ | |||
+ | |||
+ | [[ไฟล์:ln34.jpg]] | ||
+ | |||
+ | [[ไฟล์:ln35.jpg]] | ||
+ | |||
+ | [[ไฟล์:ln36.jpg]] |
รุ่นแก้ไขปัจจุบันเมื่อ 04:35, 6 ตุลาคม 2553
จดบันทึกคำบรรยายโดย:
นายนววิธ นวลขาว รหัสนักศึกษา 5214550162
นายธีระชัย ราชมณี รหัสนักศึกษา 5214550138
นายอรรณพ กอบกิจ รหัสนักศึกษา 5214550359
Matrix Chain Multiplication
โจทย์ของการคูณเมตริกซ์คือ ต้องการคูณเมตริซ์ n ตัว ยิ่ง n มากการจัดการคูณยิ่งลำบาก
เมื่อ m คือขนาดของเมตริกซ์
ถ้า Anm × Bmp ความเร็วในการคูณเมตริกซ์ A B = O (n×m×p)
1.ดังนั้นการจัดลำดับของการคูณจะมีผลต่อความเร็ว โดยการจัดลำดับนั้น ก็คือการจัดกลุ่มของการคูณ (Associative)
2.รูปแบบการคูณครั้งสุดท้ายมีได้ n-1 แบบ
ในการจัดกลุ่มของการคุณ ต้องดูกรณีที่เป็นไปได้ว่ามีกี่กรณีที่สามารถนำเมตริซ์มาคูณกันได้ พิจารณา เมื่อเริ่มแบ่งกลุ่มจะได้ว่า
จากนั้นคูณหาผลลัพธ์เพื่อดูว่าการจัดกลุ่มแบบไหนจัดการได้ง่ายสุด
สมมุติให้มีการคูณกันของ 5 เมตริกซ์
เราสามารถแบ่งแยกออกเป็นปัญหาย่อยได้
เมื่อเราแบ่งกลุ่มการคูณออกไปเรื่อยๆ จะสังเกตุว่าเกิดรูปแบบการคูณขึ้นซ้ำ ซึ่งหากเราวิเคราะห์และจัดการกับกรณีที่เกิดซ้ำๆได้ จะมีผลในเรื่องของความเร็ว หมายความว่าจำนวนครั้งในการคูณก็จะลดลง
ดังนั้นวิธีการที่จะนิยามปัญหานั้นเริ่มด้วย
1.แตกปัญหาใหญ่ออกมาเป็นปัญหาย่อยๆ
2.แปลงปัญหาย่อยให้อยู่ในรูป abstract
เรานิยามปัญหานี้ว่า
กำหนดให้ Xij แทนจำนวนครั้งของการคูณที่น้อยที่ใดในการคำนวณ
m : คือจำนวนครั้ง
ตัวอย่าง
A1 × A2 × A3 × A4 × A5 ให้หา X15 กำหนดค่า row/column ของแต่ละเมตริกซ์เป็น
(10×100) × (100×20) × (20×400) × (400×200) × (200×100) ตามลำดับ
วิธีที่ง่ายคือตีตาราง
เมื่อ i=j คือการคูณตัวเองผลลัพธ์เป็นศูนย์
สังเกตุว่า หรือ ค่าจะเท่ากัน ในการคิดเราสามารถคิดตัวใดตัวหนึ่งแทนได้
จากตารางจึงคิดแค่ส่วนเดียวคือส่วนที่ไม่ระบายสี เทคนิคที่ช่วยจำกรณีเกิดการซ้ำของการคูณในการทำ recursion คือ Memorization
Linear Programming
แบบจำลองทางคณิตศาสตร์วิเคราะห์ปัญหาการวางแผน(planning)
การผลิตและการจัดการภายใต้ข้อจำกัด (Subject to) ของปัจจัยการผลิตชนิดต่างๆ เพื่อเลือกทางเลือกที่มีความเหมาะสมมากที่สุด
(อันได้แก่ กำไรสูงสุดหรือต้นทุนต่ำสุด)
ทบทวน สมการเชิงเส้น คือ ความสัมพันธ์ของตัวแปร เช่น
ตัวอย่าง
โรงงานรับผลิตรองเท้าข้างซ้ายและข้างขวา ให้
S.B. ต้องผลิตจำนวนรองเท้าข้างซ้ายเท่ากับข้างขวา
จำนวนเพชรที่ใช้ในการผลิต คือ ข้างซ้าย 2 เม็ต ข้างขวา 1 เม็ด โดยมีจำนวนเพชรทั้งหมด1000 เม็ด
Linear Programming: Max Flow
f1, ….,f7 โดย f1, ….f7 ≥ 0
Objective : max f1+f6
f1 ≤ 20, f2 ≤ 10, f6 ≤ 20
f6 = f2+f4 , f6+f4 = f7+f5
Linear Programiming : Max Flow
Node V = { 1,2…..,n } , source S, Sink
Capacity C : VxV -> R
ตัวแบ่ง : V u,v f(u,v) แทน flow จากโนด u ไป v
Subject to
∀ u,v f (u,v) = - f (v,u) ∀ u,v f (u,v) ≤ C (u,v) ∀ u,v ไม่เป็นสมาชิก {s,t}
Shortest Paths by Linear Programming
ให้กราฟ G = (V,E) , Source S, Destination t, ความยาว l : E-> R
Maximize D(t)
เงื่อนไข