550 likes | 1.28k Views
Combinatorics. 1. Combinatorics. เป็นการศึกษาเกี่ยวกับจำนวนวิธีที่แตกต่างกันในการเรียงของ หรือเลือกของหลายสิ่ง ตัวอย่าง เช่น ในการประกวดเรียงความมีผู้เข้าร่วม 100 คน, ผู้ชนะ 10 อันดับแรก จะมีได้กี่แบบ? ถ้ากำหนดรหัสผ่านความยาว 6-8 ตัวประกอบด้วย ตัวอักษรภาษาอังกฤษและ/หรือ ตัวเลข
E N D
Combinatorics Computer Science Department,BUU 1
Combinatorics • เป็นการศึกษาเกี่ยวกับจำนวนวิธีที่แตกต่างกันในการเรียงของ หรือเลือกของหลายสิ่ง • ตัวอย่าง เช่น ในการประกวดเรียงความมีผู้เข้าร่วม 100 คน, • ผู้ชนะ 10 อันดับแรก จะมีได้กี่แบบ? • ถ้ากำหนดรหัสผ่านความยาว 6-8 ตัวประกอบด้วย ตัวอักษรภาษาอังกฤษและ/หรือ ตัวเลข • จะมีรหัสผ่านที่แตกต่างกันได้กี่แบบ? Computer Science Department,BUU 2
Sum and Product Rules • กฎการบวก(Sum Rule): งานอย่างที่ 1 มีวิธีทำได้ n1 วิธี งานอย่างที่ 2 มีวิธีทำได้ n2 วิธี … งานอย่างที่ k มีวิธีทำได้ nkวิธี ถ้าต้องการเลือกทำงานอย่างใดอย่างหนึ่งเพียง 1 งานเท่านั้น จำนวนวิธีที่จะเลือกทำงานชิ้นนั้นเท่ากับ n1 + n2 + … + nkวิธี • กฎการคูณ(Product Rule):ถ้างานอย่างหนึ่งมีวิธีเลือกทำได้ n1 วิธี ใน 1 วิธีที่เลือกทำงานอย่างแรก มีวิธีเลือกทำงานอย่างที่ 2 ได้ n2 วิธี และในแต่ละวิธีที่เลือกทำงานอย่างแรกและอย่างที่ 2 มีวิธีเลือกทำงานอย่างที่ 3 ได้ n3 วิธี … จำนวนวิธีทั้งหมดที่จะเลือกทำงาน k อย่างเท่ากับ n1 n2 n3 … nkวิธี Computer Science Department,BUU 3
Example Sum Ruleตัวอย่าง เช่น: • ภาควิชาวิทยาการคอมพิวเตอร์จะแจกคอมพิวเตอร์ 1 เครื่องฟรีแก่นิสิตหรืออาจารย์ • ภาควิชามีวิธีแจกทั้งหมดได้กี่แบบ, ถ้ามีนิสิต 530 คน และ อาจารย์ 15 คน? วิธีทำ: จำนวนวิธีทั้งหมดเท่ากับ 530 + 15 = 545 วิธี Product Ruleตัวอย่าง เช่น: • เลขทะเบียนรถที่มีแต่ตัวอักษรภาษาอังกฤษสามตัว มีทั้งหมดกี่เลขทะเบียน? วิธีทำ: ตัวอักษรตำแหน่งแรกเป็นได้ 26 แบบ ตัวอักษรตำแหน่งที่สองเป็นได้ 26 แบบ และตัวอักษรตำแหน่งที่สามเป็นได้ 26 แบบ • ดังนั้น มีเลขทะเบียนที่แตกต่างกันได้ทั้งหมด 262626 = 17,576 เลขทะเบียน Computer Science Department,BUU 4
Product Rule Example • กำหนดตัวเลข 0,1,2,3,4,5 ต้องการสร้างชุดตัวเลขจากตัวเลขที่กำหนด 3 ตัว โดยชุดตัวเลขที่สร้างจะต้องไม่ขึ้นต้นด้วยเลข 1 และตัวเลขที่ปรากฏในแต่ละชุดจะต้องไม่ซ้ำกัน จงหาจำนวนเลขชุดที่เป็นไปได้ทั้งหมด • วิธีที่จะเลือกตัวเลขสำหรับตำแหน่งแรก(ซ้ายสุด)คือ 5 ตัว (เลข 0,2,3,4,5) • วิธีที่จะเลือกตัวเลขสำหรับตำแหน่งที่สองคือ 5 ตัว เนื่องจากเราใช้ตัวเลขไปแล้ว 1 ตัว • วิธีที่จะเลือกตัวเลขสำหรับตำแหน่งที่สามคือ 4 ตัว • ดังนั้นจำนวนเลขชุดที่เป็นไปได้ทั้งหมด คือ 554 = 100 Computer Science Department,BUU
Set Theoretic Version ถ้าAเป็นเซตของวิธีที่จะทำงาน 1, และBเป็นเซตของวิธีที่จะทำงาน 2 และถ้าAและBไม่มีสมาชิกร่วม(disjoint) ดังนั้น: วิธีที่จะทำงาน 1 หรืองาน 2 คือAB, และ|AB|=|A|+|B| (จำนวนวิธีที่จะเลือกสมาชิกใดๆจากเซตใดเซตหนึ่ง) วิธีที่จะทำงาน 1 และ 2 แทนด้วยAB, และ|AB|=|A|·|B| (จำนวนวิธีที่จะเลือกสมาชิกหนึ่งๆจากทั้งสองเซต) Computer Science Department,BUU 6
ตัวอย่าง ถ้าเราสามารถเดินทางจากเมือง A ไปเมือง B ได้ทั้งทางบกและทางอากาศ โดยทางบกมี 2 เส้นทาง ทางอากาศมีเส้นทางเดียว จงหาจำนวนเส้นทางทั้งหมดในการเดินทางจากเมือง A ไปยังเมือง B จำนวนเส้นทางในการเดินทางจากเมือง A ไปยังเมือง B เท่ากับ 2+1=3 จากตัวอย่างข้างบน หากต้องการเดินทางจากเมือง A ไปยังเมือง C ซึ่งจะต้องผ่านเมือง B ถ้าทราบว่ามี 4 เส้นทางจากเมือง B ไปเมือง C จงหาจำนวนเส้นทางทั้งหมดในการเดินทางจากเมือง A ไปยังเมือง C จำนวนเส้นทางในการเดินทางจากเมือง A ไปยังเมือง C เท่ากับ 3∙4=12 Computer Science Department,BUU 7
IP Address Example Internet Protocol, version 4: แบ่งที่อยู่ IP ออกเป็น 3 classes: class Aมี 7-bit“netid” ≠ 17,และ 24-bit “hostid” class Bมี 14-bit netid และ 16-bit hostid class Cมี 21-bit netid และ 8-bit hostid ทั้ง 3 classesมีส่วนหัว(headers) ที่แตกต่างกัน ได้แก่(0, 10, 110) Hostids ที่เป็น 0 ทุกตำแหน่ง และ 1 ทุกตำแหน่งไม่สามารถนำไปใช้ได้ จะมีหมายเลข IP addresses ที่สามารถใช้ได้กี่หมายเลข? เช่น 128.227.74.58 Computer Science Department,BUU 8
IP address solution (# addrs) = (# class A) + (# class B) + (# class C) (จากกฎการบวก) # class A = (# valid netids)·(# valid hostids) (จากกฎการคูณ) (# valid class A netids) = 27 − 1 = 127 (# valid class A hostids) = 224 − 2 = 16,777,214 ดังนั้นจำนวนหมายเลขไอพีของ class A ทั้งหมดเท่ากับ: 127∙ 16,777,214 = 2,130,706,178 Computer Science Department,BUU 9
IP address solution (# valid class B netids) = 214 = 16,384 (# valid class B hostids) = 216 − 2 = 65,534 ดังนั้นจำนวนหมายเลขไอพีของ class B ทั้งหมดเท่ากับ: 16,384 ∙ 65,534 = 1,073,709,056 (# valid class C netids) = 221 = 2,097,152 (# valid class C hostids) = 28 − 2 = 254 ดังนั้นจำนวนหมายเลขไอพีของ class C ทั้งหมดเท่ากับ: 2,097,152 ∙ 254 = 532,676,608 ดังนั้นจำนวนหมายเลขไอพีทั้งหมดเท่ากับ #class A+ #class B+ #class C :2,130,706,178 + 1,073,709,056 + 532,676,608 = 3,737,091,842(ประมาณ 3.7 พันล้านหมายเลข) Computer Science Department,BUU 10
Inclusion-Exclusion Principle • สมมติว่ามีจำนวนวิธีที่จะทำงานที่ 1 พร้อมๆกับการทำงานที่ 2 อยู่kmวิธี • ดังนั้นจำนวนวิธีที่จะทำงานที่ 1 หรืองานที่ 2 เท่ากับ mnk • จากทฤษฎีเซต: ถ้าเซตAและเซตBมีสมาชิกร่วมกัน ดังนั้น |AB|=|A||B||AB| • ถ้าเซตAและเซตBไม่มีสมาชิกร่วมกัน, |AB|=|A|+|B| Computer Science Department,BUU 11
Inclusion-Exclusion Example • จงหาจำนวนบิตสตริงที่ยาว 8 ตำแหน่ง ที่เริ่มต้นด้วยเลข 1 หรือลงท้ายด้วยเลข 00 ว่ามีกี่ตัว? • Task 1:สร้างบิตสตริงที่ยาว 8 ตำแหน่งและเริ่มต้นด้วยเลข 1 มีหนึ่งวิธีที่จะกำหนดให้ตำแหน่งแรก คือหยิบได้เฉพาะเลข 1 (1), มีสองวิธีที่จะกำหนดให้ตำแหน่งที่สอง (0 หรือ 1), มีสองวิธีที่จะกำหนดให้ตำแหน่งที่สาม (0 หรือ 1), . . . มีสองวิธีที่จะกำหนดให้ตำแหน่งที่แปด (0 หรือ 1) • Product rule:Task 1 สามารถสร้างบิตสตริงได้ 127 = 128 วิธี Computer Science Department,BUU 12
Inclusion-Exclusion • Task 2:สร้างบิตสตริงที่ยาว 8 ตำแหน่งและลงท้ายด้วย 00 มีสองวิธีที่จะกำหนดให้ตำแหน่งแรก(0 หรือ 1), มีสองวิธีที่จะกำหนดให้ตำแหน่งที่สอง(0 หรือ 1), . . . มีสองวิธีที่จะกำหนดให้ตำแหน่งที่หก(0 หรือ 1), มีหนึ่งวิธีที่จะกำหนดให้ตำแหน่งที่เจ็ด(0), และ มีหนึ่งวิธีที่จะกำหนดให้ตำแหน่งที่แปด(0) • Product rule:Task 2 สามารถสร้างบิตสตริงได้ 26 = 64 วิธี • เนื่องจากมี 128 วิธีในการทำงาน 1 และ 64 วิธีในการทำงาน 2 แสดงว่ามี 192 bit strings ที่เริ่มต้นด้วย 1 หรือจบด้วย 00 ใช่หรือไม่ ? • ไม่ใช่, เพราะในตัวอย่างนี้งาน 1 และงาน 2 สามารถทำได้พร้อมกัน (มีบิตสตริงที่เริ่มต้นด้วย 1 บางตัว อาจลงท้ายด้วย 00) Computer Science Department,BUU 13
Inclusion-Exclusion • ดังนั้นในตัวอย่างนี้จะใช้กฎการบวกเพียงอย่างเดียวไม่ได้ แต่จะต้องลบออกด้วยจำนวนวิธีที่งาน 1 และงาน 2 สามารถทำพร้อมกันได้ • โดยจำนวนบิตสตริงที่เริ่มต้นด้วยเลข 1 และลงท้ายด้วย 00 หาได้จาก • มีหนึ่งวิธีที่จะกำหนดให้ตำแหน่งแรก (1), • มีสองวิธีที่จะกำหนดให้ตำแหน่งที่สอง, …, ตำแหน่งที่หก (0 หรือ 1), • มีหนึ่งวิธีที่จะกำหนดให้ตำแหน่งที่เจ็ด, แปด(0) • Product rule:มี 25 = 32 วิธีที่จะสร้างบิตสตริงที่เริ่มต้นด้วย 1 และลงท้ายด้วย 00 • ดังนั้น มี 128 วิธีที่จะสร้างบิตสตริงที่เริ่มต้นด้วยเลข 1 และมี 64 วิธีที่จะสร้างบิตสตริงที่ลงท้ายด้วยเลข 00, และมี 32 วิธีที่จะสร้างบิตสตริงที่เริ่มต้นด้วยเลข 1 และลงท้ายด้วยเลข 00 จึงสรุปได้ว่าจำนวนบิตสตริงที่ยาว 8 ตำแหน่ง ที่เริ่มต้นด้วยเลข 1 หรือ ลงท้ายด้วยเลข 00 เท่ากับ 128 + 64 – 32 = 160 บิตสตริง Computer Science Department,BUU 14
Another Inclusion/Exclusion Example • จงหาจำนวนรหัสผ่าน โดยมีข้อกำหนดดังนี้: • รหัสผ่านต้องยาว 2 ตำแหน่ง • แต่ละตำแหน่งต้องเป็นตัวอักษร a-z, ตัวเลข 0-9, หรือเป็นสัญลักษณ์ใดๆ ใน 10 ตัวต่อไปนี้ !@#$%^&*() • แต่ละรหัสผ่านต้องมีตัวเลขหรือตัวสัญลักษณ์ อย่างน้อย 1 ตัว Computer Science Department,BUU 15
Setup of Problem • รหัสผ่านที่ถูกต้องจะต้องมี ตัวเลขหรือตัวสัญลักษณ์ ตัวหนึ่งในตำแหน่งที่ 1 หรือตำแหน่งที่ 2 • (# รหัสผ่านที่มีตัวเลขหรือสัญลักษณ์ในตำแหน่งที่ 1) = (10+10)·(10+10+26) = 20·46 • (# รหัสผ่านที่มีตัวเลขหรือสัญลักษณ์ในตำแหน่งที่ 2): = (10+10)·(10+10+26) = 20·46 • (# รหัสผ่านที่มีตัวเลขหรือสัญลักษณ์ในตำแหน่งที่ 1 และ 2): = 20·20= 400 • ตอบ: จำนวนรหัสผ่านทั้งหมดเท่ากับ920+920−400 = 1,440 Computer Science Department,BUU 16
0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 Tree Diagrams • มีบิตสตริงกี่บิตสตริงที่ยาว 4 และไม่มีเลข 1 อยู่ติดกัน? Task 1 Task 2 Task 3 Task 4 (1st bit) (2nd bit) (3rd bit) (4th bit) มี 8 สตริง Computer Science Department,BUU 17
หลักรังนกพิราบ(Pigeonhole Principle) • หรือรู้จักกันดีในชื่อ “Dirichlet drawer principle” • ถ้า มีวัตถุ≥k+1 ชิ้น นำไปเก็บในกล่องkกล่อง ดังนั้น จะต้องมีกล่องอย่างน้อยหนึ่งกล่องที่มีวัตถุเก็บอยู่≥2 ชิ้น • หากเขียนในรูปของฟังก์ชั่น: • ถ้า f:A→Bและ |A|≥|B|+1, ดังนั้นสมาชิกบางตัวของBมี pre-images ≥2 ภายใต้ฟังก์ชั่นf หรือกล่าวได้ว่า ฟังก์ชั่นfไม่เป็นฟังก์ชั่น 1-1 • Example :ถ้ามีผู้เล่นซ็อคเกอร์ 11 คนในทีมที่ชนะทีมคู่ต่อสู้ด้วยแต้ม 12-0, ดังนั้น จะต้องมีผู้เล่นอย่างน้อยหนึ่งคนที่ทำแต้มได้อย่างน้อยสองแต้ม • Example :ถ้านิสิตมีวิชาเรียน 6 วิชา ตั้งแต่วันจันทร์ถึงวันศุกร์ ดังนั้น จะต้องมีอย่างน้อยหนึ่งวันที่นิสิตมีเรียนอย่างน้อยสองวิชา Computer Science Department,BUU 18
Example of Pigeonhole Principle • วิชาแคลคูลัสมีคะแนนเต็ม 100 คะแนน ดังนั้นมี ค่าคะแนนที่เป็นไปได้ทั้งหมด 101 ค่า(0-100) • หากมีนิสิตที่ลงเรียนวิชาแคลคูลัส >101 คน • ดังนั้น จะต้องมี อย่างน้อย ค่าคะแนนหนึ่ง ที่จะมีนิสิตอย่างน้อย 2 คนที่ได้ค่าคะแนนเท่ากัน เช่น อาจมีนิสิตอย่างน้อย 2 คนที่ได้คะแนน 80 เท่ากัน Computer Science Department,BUU 19
หลักรังนกพิราบทั่วไป(Generalized Pigeonhole Principle) • ถ้ามีวัตถุNชิ้นถูกกำหนดให้นำไปเก็บในที่เก็บkตำแหน่ง ดังนั้นจะต้องมีอย่างน้อยหนึ่งตำแหน่งที่มีวัตถุเก็บอยู่อย่างน้อยN/kชิ้น • ตัวอย่าง เช่น N=280 แทนจำนวนนิสิตในห้องเรียนหนึ่งปีมีจำนวนสัปดาห์ k=52 สัปดาห์ • ดังนั้น ต้องมีนิสิตในห้องอย่างน้อย 280/52= 5.38=6 คน ที่เกิดในสัปดาห์เดียวกัน Computer Science Department,BUU 20
G.P.P. Example • กำหนดให้: มีนิสิต 280 คนในห้องเรียน • โดยที่เราไม่ทราบวันเกิดของนิสิตแต่ละคน อยากทราบว่าจะมี นิสิตอย่างน้อยกี่คนที่เกิดเดือนเดียวกัน? • ตอบ: • ตัวอย่าง เช่น:ห้องเรียนที่มีนักเรียน 60 คนเรียนวิชาภาษาไทยเมื่อประกาศผลการเรียน สมมติว่ามี 5 เกรด คือ A, B, C, D, หรือ F จะมีนักเรียนอย่างน้อย 12 คนที่ได้เกรดเดียวกัน 280/12 = 23.3 = 24 Computer Science Department,BUU 21
G.P.P. Example ตัวอย่าง:สมมติว่ามีลิ้นชักซึ่งเก็บถุงเท้าสีน้ำตาล 12 คู่ และถุงเท้าสีดำ 12 คู่คละกันอยู่ อยากทราบว่าถ้าเราหลับตาหยิบถุงเท้าจากลิ้นชัก จะต้องหยิบกี่ครั้ง(ครั้งละ 1 ข้าง)จึงจะได้ถุงเท้าสองข้างที่เป็นสีเดียวกัน(สีดำ หรือน้ำตาลเหมือนกัน)? มีถุงเท้า 2 สี ดังนั้นถ้าหยิบถุงเท้าอย่างน้อย 3 ครั้ง จะต้องมีอย่างน้อยสองข้างที่เป็นสีน้ำตาลเหมือนกัน หรือสีดำเหมือนกัน จาก หลักรังนกพิราบทั่วไป : 3/2 = 2 Computer Science Department,BUU 22
การจัดลำดับ (Permutation) คือ การจัดลำดับหรือเรียงลำดับของบางสิ่งหรือทุกสิ่งจากจำนวนสิ่งของทั้งหมด โดยคำนึงถึงลำดับที่ ทฤษฎีบท จำนวนวิธีจัดลำดับของ n สิ่งซึ่งแตกต่างกันทั้งหมด นำมาจัดทีละ n สิ่ง คือ n! โดย n! = n (n - 1) (n - 2) … 3 2 1 ตัวอย่าง มีตัวอักษร 3 ตัว a, b, c จัดคราวละ 3 ตัว จงหาว่าจะมีวิธีจัดลำดับอักษรเหล่านี้ได้กี่วิธี 3! = 3 2 1=6 วิธี Computer Science Department,BUU
Permutation ทฤษฎีบท จำนวนวิธีจัดลำดับของ n สิ่ง ซึ่งแตกต่างกัน โดยจัดทีละ r สิ่ง เมื่อ r < n แทนด้วยสัญลักษณ์ nPr หรือ P(n , r) P(n, r) = n(n−1)…(n−r+1) = n!/(n−r)! (nทางเลือกสำหรับสมาชิกตัวแรก, (n – 1)สำหรับสมาชิกตัวที่สอง, (n – 2)สำหรับสมาชิกตัวที่สาม…) ตัวอย่าง เช่น: • P(8, 3) = 876 = 336 = (87654321)/(54321) จากสูตร ถ้าจัดลำดับของ n สิ่ง โดยนำมาจัดทั้งหมด n สิ่ง จะได้ P(n , n) = n!/(n-n)! = n! *** 0! = 1 Computer Science Department,BUU
Permutation Example ผู้ก่อการร้ายคนหนึ่งวางระเบิดนิวเคลียร์ไว้กลางเมือง และนิสิตได้รับมอบหมายได้ตัดสายไฟเพื่อตัดวงจรการทำงานของระเบิดนี้ โดยมีสายไฟทั้งหมด 10 เส้น นิสิตจะต้องตัดสายไฟ 3 เส้น ถ้านิสิตตัดสายไฟได้ถูกต้องตามลำดับทั้ง 3 เส้น ระเบิดจะหยุดทำงาน หากตัดผิดเส้นหรือผิดลำดับ ระเบิดจะทำงานทันที ถ้าสายไฟทุกเส้นมีสีเดียวกันหมด นิสิตมีโอกาสที่จะรอดตายเท่าไร? P(10,3) = 10·9·8 = 720, ดังนั้นมีโอกาส 1 ใน 720 ที่จะรอดชีวิต! Computer Science Department,BUU 25
Exercises ตัวอย่าง ถ้ามีคำว่า BYTES จงหาจำนวนวิธีที่จะจัดอักษร 3 ตัว จากคำนี้ จงหาจำนวนวิธีที่จะจัดอักษร 3 ตัว จากคำนี้ โดยกำหนดว่าต้องขึ้นต้นด้วย B ตัวอย่าง มีข้อสอบอยู่ 10 ข้อ ต้องการแจกให้นิสิต 8 คน เพื่อทำคนละ1 ข้อ จะมีวิธีแจกอย่างไร เพื่อให้ • นิสิตแต่ละคนได้ข้อสอบไม่ซ้ำกัน • นิสิตแต่ละคนทำข้อสอบข้อเดียวกันได้ Computer Science Department,BUU
Permutation ทฤษฎีบท จำนวนวิธีในการจัดลำดับของ r สิ่ง จากทั้งหมด n สิ่งโดยอนุญาตให้ของซ้ำกันได้ คือ n r ทฤษฎีบท จำนวนวิธีจัดของn สิ่ง ซึ่งแตกต่างกันทั้งหมดเป็นวงกลม คือ (n - 1)! ตัวอย่าง ก) จงหาจำนวนวิธีที่จะจัดหญิง 4 คน และชาย 4 คน ให้นั่งรอบโต๊ะกลม ข) จากข้อ ก) มีกี่วิธีที่ชายและหญิงจะนั่งสลับที่กัน Computer Science Department,BUU
การจัดลำดับสิ่งของ n สิ่งซึ่งไม่แตกต่างกันทั้งหมด ในการจัดลำดับตัวอักษร 3 ตัว x , y , z โดยจัดทีละ 3 ตัวจะได้จำนวนวิธี = 3! = 6 วิธี ผลที่ได้ คือ x y z y x z z x y x z y y z x z y x ถ้าในกลุ่มสิ่งของเหล่านี้ มีบางสิ่งซึ่งไม่แตกต่างกันทั้งหมด เช่น ให้ y และ z เหมือนกัน และแทนด้วย w จะพบว่าการจัด 6 แบบที่แตกต่างข้างต้น จะเหลือเพียง 3 แบบ คือ เหตุที่เหลือ 3 แบบ เป็นเพราะว่า การสลับที่ของสิ่งของซึ่งซ้ำกัน ไม่มีผลทำให้ เกิดวิธีใหม่ ดังนั้น ในการหาวิธีจัดลำดับของโดยของไม่ต่างกันทั้งหมดสามารถทำได้ โดยคิดจำนวนวิธีที่เป็นไปได้ทั้งหมดกรณีของไม่ซ้ำแล้วหารด้วยจำนวนวิธีในการสลับสิ่งของ ซ้ำ ซึ่งมันไม่เป็นผลทำให้เกิดวิธีใหม่ขึ้นมา ดังนั้น 3 วิธีที่ได้ คิดจาก 3!/2! = 3 w x w w x w x w w x w w w w x w w x Computer Science Department,BUU
การจัดลำดับสิ่งของ n สิ่งซึ่งไม่แตกต่างกันทั้งหมด • ทฤษฎีบท การจัดลำดับของ n สิ่ง ซึ่งมี n1 สิ่งที่เหมือนกัน, n2สิ่งที่เหมือนกัน, …. ,nkสิ่งที่เหมือนกัน จะได้จำนวนวิธีจัดเท่ากับn!/n1!n2!n3!...nk! ตัวอย่าง จากคำว่า INTELLIGENCE • สามารถจัดคำๆนี้ได้เป็นคำต่างๆที่แตกต่างกันได้กี่วิธี • สามารถจัดคำๆนี้ได้เป็นคำต่างๆที่แตกต่างกันได้กี่วิธี โดยให้เริ่มต้นด้วยตัว T และลงท้ายด้วยตัว G • สามารถจัดคำๆนี้ได้เป็นคำต่างๆที่แตกต่างกันได้กี่วิธี โดยให้มี INT อยู่ติดกันตามลำดับ และ IG อยู่ติดกันตามลำดับ Computer Science Department,BUU
การจัดหมู่(Combinations) การจัดหมู่ของ ทีละ r สิ่ง(r-combination)ของสมาชิกของเซต คือการเลือกสมาชิก r ตัวแบบไม่คำนึงถึงลำดับจากเซตนั้น ดังนั้น การจัดหมู่ของ r สิ่ง เป็นเซตย่อยที่มีสมาชิก r ตัวของเซตนั้น ตัวอย่าง เช่น:กำหนดให้ S = {1, 2, 3, 4} ดังนั้น {1, 3, 4} เป็นการจัดหมู่ของ 3 สิ่งจากเซต S จำนวนวิธีการจัดหมู่ของ r สิ่งของเซตที่มีสมาชิกต่างกัน n ตัว แทนด้วยสัญลักษณ์ C(n, r) เช่น : C(4, 2) = 6 เพราะ การจัดหมู่ของ 2 สิ่งของเซต {1, 2, 3, 4} คือ {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4} Computer Science Department,BUU 30
Combinations การหาสูตรสำหรับคำนวณหา C(n, r)? พิจารณาจากการเรียงสับเปลี่ยนของทีละ r สิ่ง(r-permutation) ของเซตใดๆ ทำได้ดังนี้: ขั้นแรก,สร้างการจัดหมู่ทีละ rสิ่ง(r-combinations)ของเซตนั้นๆ(ซึ่งการจัดหมู่ของ rสิ่งจากทั้ง n สิ่ง ทำได้เท่ากับC(n, r)) ขั้นที่สอง,เรียงสับเปลี่ยนของ r สิ่งที่ได้จากขั้นแรก(ซึ่งการเรียงสับเปลี่ยนของ rสิ่งจากทั้งหมดr สิ่ง เท่ากับP(r, r)) ดังนั้น จะได้ว่า: P(n, r) = C(n, r) P(r, r)= C(n, r) r! Computer Science Department,BUU 31
Combinations การจัดหมู่r-combination ของสมาชิกเซตSคือเซตย่อยTSที่มีสมาชิกrจะเห็นว่า|T|=r จำนวนการจัดหมู่ของทีละ r สิ่งจากเซตใดๆที่มีจำนวนสมาชิก n=|S|คือ ให้n และrเป็นเลขจำนวนนับซึ่ง r n ดังนั้น สังเกตว่า “การเลือกคน r คน จากทั้งหมด n คน”นั้นเหมือนกับ“การแบ่งกลุ่มคน n คน ออกเป็นกลุ่มคน r คน กับกลุ่มคน (n – r) คน” Computer Science Department,BUU 32
Combinations ตัวอย่าง เช่น: มีกี่วิธีที่จะเลือกคน 3 คนจากกลุ่มคน 6 คน? ตอบC(6, 3) = 6!/(3!3!) = 720/(66) = 720/36 = 20 วิธี หรือ 20 กลุ่มคนที่แตกต่างกัน ตัวอย่าง เช่น: จงหาจำนวนเลขฐานสองที่มี 5 หลักและประกอบด้วยเลข 0 จำนวน 2 ตัว และเลข 1 จำนวน 3 ตัว ตอบเลือก 2 ตำแหน่งจาก 5 ตำแหน่งสำหรับเลข 0ได้ C(5,2) วิธี และหลังจากนั้นเลือกตำแหน่งสำหรับเลข 1 ได้ C(3,3) วิธี ดังนั้นมีเลขฐานสองที่ต้องการอยู่ C(5,2) C(3,3) = 101= 10 จำนวน Computer Science Department,BUU 33
Combinations Example: ชมรมซ็อคเกอร์มีสมาชิกผู้หญิง 8 คน และผู้ชาย 7 คนการแข่งขันวันนี้โค้ชต้องการให้สมาชิกผู้หญิง 6 คนและผู้ชาย 5 คนลงเล่นในสนามอยากทราบว่าโค้ชสามารถจัดทีมลงแข่งได้กี่แบบ? C(8, 6) C(7, 5) = 8!/(6!2!) 7!/(5!2!) = 2821 = 588 Computer Science Department,BUU 34
Combination Example การเลือกไพ่ 7 ใบ จากสำรับไพ่ที่มีทั้งหมด 52 ใบ จะมีผลลัพธ์ได้กี่แบบ(เมื่อไม่สนใจลำดับของไพ่ที่หยิบได้) ตอบ C(52,7) = P(52,7)/P(7,7)= 52·51·50·49·48·47·46 / 7·6·5·4·3·2·1 7 8 10 17 2 52·17·10·7·47·46 = 133,784,560 Computer Science Department,BUU 35
Combination Example จากเซต {a, b} จงหาจำนวนวิธีจัดหมู่ให้เกิดตัวอักษร 3 ตัว โดยให้ตัวอักษร ซ้ำได้ ถ้าใช้การนับธรรมดา ผลลัพธ์ที่เป็นไปได้ คือ a a a b b b a a b b b a ซึ่งเป็นได้ 4 แบบ โดยไม่ได้คำนึงถึงลำดับที่ (เหมือนการหยิบของแล้วใส่คืนลงไป ดังนั้นตอนเลือกอันต่อไปนี้ขึ้นมาอีกครั้ง จึงอาจซ้ำได้) Computer Science Department,BUU
Combination Example จากตัวอย่างของเซต {a, b} มีของอยู่ 2 ประเภท (2 กลุ่ม) คือ a และ b ต้องการจัดกลุ่ม ให้ได้ของ 3 สิ่งจากสิ่งของ 2 ประเภทนี้ โดยอนุญาตให้เกิดการซ้ำได้ ให้ | คั่นระหว่างประเภทของสิ่งของ และ X แทนจำนวนสิ่งของที่ต้องการจัดหมู่ จะได้ว่า ผลที่อาจเป็นไปได้ คือ XX | X X | XX | XXX XXX | หาจำนวนวิธีได้ = C(r + n–1 , r) ; n แทนจำนวนประเภทของสิ่งของ = C(3 + 2–1 , 3) ; r แทนจำนวนสิ่งของที่ต้องการจัดหมู่ = C(4,3) = 4!/3!(4-3)!=4 Computer Science Department,BUU
Combination Example จากเซต {1, 2, 3} จงหาจำนวนวิธีจัดหมู่ให้ได้ตัวอักษร 2 ตัว โดยให้ ตัวอักษรซ้ำได้ ถ้าใช้การนับธรรมดา ผลลัพธ์ที่เป็นไปได้ คือ 1 1 2 2 3 3 1 2 1 3 2 3 Computer Science Department,BUU
Combination Example จากตัวอย่างของเซต {1, 2, 3} มีของอยู่ 3 ประเภท (3 กลุ่ม) คือ 1, 2 และ 3 ต้องการจัดหมู่ให้ได้ของ 2 สิ่ง จากสิ่งของ 3 ประเภทนี้ โดยอนุญาตให้เกิดการซ้ำได้ ผลที่อาจเป็นไปได้ คือ x | x | | | x x หาจำนวนวิธีได้ = C(r + n–1 , r) ; n แทนจำนวนประเภทของสิ่งของ = C(2 + 3–1 , 2) ; r แทนจำนวนสิ่งของที่ต้องการจัดหมู่ = C(4,2) = 4!/2!(4-2)! = 6 Computer Science Department,BUU
Combination • ทฤษฎีบท การจัดหมู่ของสิ่งของ r สิ่ง โดยเลือกจากสิ่งของทั้งหมดที่แบ่งออกเป็น n กลุ่ม (หรือ n ประเภท) โดยให้ของซ้ำได้ ทำได้ C(r + n – 1, r)วิธี • ตัวอย่าง ในห้องสมุดแห่งหนึ่ง มีหนังสือที่นาย ก สนใจอยู่ 3 ประเภท คือ คอมพิวเตอร์ ฟิสิกส์ และ ประวัติศาสตร์ สมมติว่าห้องสมุดมีหนังสืออยู่อย่างน้อย 6 เล่ม สำหรับหนังสือแต่ละประเภท นาย ก จะสามารถเลือกหนังสือออกมา 6 เล่มได้อย่างไร Computer Science Department,BUU
Pascal’s Triangle ให้ n และ r เป็นจำนวนเต็มบวกที่ n r ดังนั้น C(n + 1, r) = C(n, r – 1) + C(n, r) เลขแต่ละตัวเกิดจากการบวกเลข 2 ตัวที่อยู่เหนือขึ้นไปหนึ่งระดับและเยื้องไปด้านซ้ายและด้านขวาของเลขนั้นๆ ดังรูป: 1 แถวที่0 1 1 แถวที่1 1 2 1 แถวที่2 1 3 3 1 แถวที่3 แถวที่4 1 4 6 4 1 1 5 10 10 5 1 แถวที่5 … … … … … … … Computer Science Department,BUU 41
Pascal’s Triangle เนื่องจาก C(n + 1, r) = C(n, r – 1) + C(n, r) และC(0, 0) = 1, จึงสามารถใช้สามเหลี่ยมของปาสคาล ช่วยในการคำนวณหา C(n, r) เช่น r C(0, 0) = 1 C(1, 0) = 1 C(1, 1) = 1 n C(2, 0) = 1 C(2, 1) = 2 C(2, 2) = 1 C(3, 0) = 1 C(3, 1) = 3 C(3, 2) = 3 C(3, 3) = 1 C(4, 0) = 1 C(4, 1) = 4 C(4, 2) = 6 C(4, 3) = 4 C(4, 4) = 1 Computer Science Department,BUU 42
สัมประสิทธิ์ทวินาม(Binomial Coefficients) นิพจน์ที่อยู่ในรูปแบบ C(n, r) เรียกว่าสัมประสิทธิ์ทวินาม(binomial coefficients) นิพจน์ทวินาม(binomial expression) คือผลรวมของเทอมสองเทอม เช่น (a + b) ตัวอย่าง เช่น (a + b)2 = (a + b)(a + b) เมื่อกระจายนิพจน์ดังกล่าว , เราจะต้องทำการคูณแต่ละเทอมในตัวประกอบแรกเข้ากับแต่ละเทอมในตัวประกอบที่สอง ดังนี้: (a + b)2 = a·a + a·b + b·a + b·b เมื่อรวมเทอมที่เหมือนกัน จะได้ว่า: (a + b)2 = a2 + 2ab + b2 Computer Science Department,BUU 43
Binomial Coefficients สำหรับ (a + b)3 = (a + b)(a + b)(a + b) จะได้ว่า (a + b)3 = aaa + aab + aba + abb + baa + bab + bba + bbb (a + b)3 = a3 + 3a2b + 3ab2 + b3 มี a3 เพียงเทอมเดียว เพราะมีความเป็นไปได้เพียงทางเดียวที่จะสร้างมันขึ้นมา : เลือก a (ไม่เลือกb)จากตัวประกอบสามตัวประกอบ: C(3, 0) = 1 มี a2b สามชุด เพราะมีความเป็นไปได้สามทางที่จะเลือกbหนึ่งตัวจากทั้งหมดสามตัวประกอบ: C(3, 1) = 3 ในทำนองเดียวกัน, มีเทอม ab2สามชุด(C(3, 2) = 3) และมี b3ชุดเดียว (C(3, 3) = 1) Computer Science Department,BUU 44
Binomial Coefficients สามารถสรุปเป็นสูตรได้ดังนี้: (Binomial Theorem) • ด้วยสามเหลี่ยมของปาสคาล สูตรนี้ช่วยให้สามารถกระจายยกกำลังของนิพจน์ทวินามได้ง่ายขึ้น • ตัวอย่าง เช่น, แถวที่4ในสามเหลี่ยมของปาสคาลคือ(1 – 4 – 6 – 4 – 1) ช่วยให้เราคำนวณ (a + b)4ได้ ดังนี้: • (a + b)4 = a4 + 4a3b + 6a2b2 + 4ab3 + b4 Computer Science Department,BUU 45