2. หลักการนับขั้นสูง · n=0...

26
2. หลักการนับขั้นสูง ในบทนี้เราจะศึกษาตัวอย่างเทคนิคการนับขั้นสูง 2 เทคนิค ได้แก่การใช้ความสัมพันธ์ เวียนเกิด และฟังก์ชันก่อกำเนิด ซึ่งวิธีการทั้งสองนี้จะใช้เพื่อหาค่าของลำดับ {a n } n=0 เมื่อ a n คือคำตอบของปัญหาการนับที่เกี่ยวข้องกับของ n สิ่ง 2.1 ความสัมพันธ์เวียนเกิด บทนิยาม 2.1 ให้ {a n } n=0 เป็นลำดับของจำนวนจริง ความสัมพันธ์เวียนเกิด (recurrence relation) อันดับทีk สำหรับลำดับ {a n } n=0 คือสมการที่อยู่ในรูป a n = f (a n-1 ,a n-2 ,...,a n-k ,n), n k โดยมีพจน์ a n-k ปรากฏอยู่ในสมการ ค่าเริ่มต้น (initial values) คือค่าของ a 0 ,a 1 ,...,a k-1 ที่ถูกกำหนดไว้ ผลเฉลย (solution) ของความสัมพันธ์เวียนเกิด คือสูตรของ a n ในรูปของ n ซึ่งสอดคล้องกับความสัมพันธ์เวียนเกิด และค่าเริ่มต้นที่กำหนดให้ (ถ้ามี ) ตัวอย่าง 2.1 (i) a n =2a n-1 +1, (n> 1); a 0 =1 เป็นความสัมพันธ์เวียนเกิดอันดับที1 โดยมีค่าเริ่มต้นคือ a 0 =1 (ii) a n = a n-1 + a n-2 , (n> 2); a 0 =0,a 1 =1 เป็นความสัมพันธ์เวียนเกิดอันดับที2 โดยมีค่าเริ่มต้นคือ a 0 =1 และ a 1 =1 การหาผลเฉลยของความสัมพันธ์เวียนเกิด การหาผลเฉลยของความสัมพันธ์เวียนเกิดสามารถทำได้หลายวิธี ในที่นี้เราจะใช้วิธีใด วิธีหนึ่งดังต่อไปนีการทำซ้ำ โดยคำนวณค่าของ a n หลาย ๆ ค่าจากความสัมพันธ์เวียนเกิดที่กำหนดให้ เพื่อสังเกตและคาดคะเนรูปแบบทั่วไปของ a n การใช้ทฤษฎีบทเกี่ยวกับความสัมพันธ์เวียนเกิดเชิงเส้นที่มีสัมประสิทธิ์เป็นค่าคงตัว

Upload: others

Post on 08-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

2. หลักการนับขั้นสูง

ในบทนี้เราจะศึกษาตัวอย่างเทคนิคการนับขั้นสูง 2 เทคนิค ได้แก่การใช้ความสัมพันธ์เวียนเกิด และฟังก์ชันก่อกำเนิด ซึ่งวิธีการทั้งสองนี้จะใช้เพื่อหาค่าของลำดับ {an}∞n=0 เมื่อan คือคำตอบของปัญหาการนับที่เกี่ยวข้องกับของ n สิ่ง

2.1 ความสัมพันธ์เวียนเกิด

บทนิยาม 2.1 ให้ {an}∞n=0 เป็นลำดับของจำนวนจริง ความสัมพันธ์เวียนเกิด (recurrence

relation) อันดับที่ k สำหรับลำดับ {an}∞n=0 คือสมการที่อยู่ในรูป

an = f(an−1, an−2, . . . , an−k, n), n ≥ k

โดยมีพจน์ an−k ปรากฏอยู่ในสมการ

• ค่าเริ่มต้น (initial values) คือค่าของ a0, a1, . . . , ak−1 ที่ถูกกำหนดไว้

• ผลเฉลย (solution) ของความสัมพันธ์เวียนเกิด คือสูตรของ an ในรูปของ n

ซึ่งสอดคล้องกับความสัมพันธ์เวียนเกิด และค่าเริ่มต้นที่กำหนดให้ (ถ้าม)ี

ตัวอย่าง 2.1

(i) an = 2an−1 + 1, (n > 1); a0 = 1 เป็นความสัมพันธ์เวียนเกิดอันดับที่ 1

โดยมีค่าเริ่มต้นคือ a0 = 1

(ii) an = an−1 + an−2, (n > 2); a0 = 0, a1 = 1 เป็นความสัมพันธ์เวียนเกิดอันดับที่ 2

โดยมีค่าเริ่มต้นคือ a0 = 1 และ a1 = 1

การหาผลเฉลยของความสัมพันธ์เวียนเกิด

การหาผลเฉลยของความสัมพันธ์เวียนเกิดสามารถทำได้หลายวิธี ในที่นี้เราจะใช้วิธีใดวิธีหนึ่งดังต่อไปนี้

• การทำซ้ำ โดยคำนวณค่าของ an หลาย ๆ ค่าจากความสัมพันธ์เวียนเกิดที่กำหนดให้เพื่อสังเกตและคาดคะเนรูปแบบทั่วไปของ an

• การใช้ทฤษฎีบทเกี่ยวกับความสัมพันธ์เวียนเกิดเชิงเส้นที่มีสัมประสิทธิ์เป็นค่าคงตัว

Page 2: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

24

ตัวอย่าง 2.2 จงหาผลเฉลยของความสัมพันธ์เวียนเกิดต่อไปนี้โดยวิธีทำซ้ำ

(i) an = 3an−1, (n ≥ 1); a0 = 2

(ii) an = an−1 + n · n! , (n ≥ 1), a0 = 1

(iii) an = an−1 + 2n, (n ≥ 1); a0 = 1

Page 3: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

25

ตัวอย่าง 2.3 ถ้าใช้ส่วนของเส้นตรง n เส้นแบ่งบริเวณภายในของวงกลม จะได้บริเวณย่อยมากที่สุดกี่บริเวณ

Page 4: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

26

ตัวอย่าง 2.4 กำหนดให้ในตอนเริ่มต้น (วันที่ 1) มีแบคทีเรียอยู่ในจานเพาะเชื้อจำนวน 4

เซลล์ และสมมติว่า ในทุก ๆ วันหลังจากวันที่ 2 เป็นต้นไป ในช่วงเช้าแบคทีเรียแต่ละเซลล์ที่ยังมีชีวิตจะแบ่งตัวเป็น 2 เซลล์ และในช่วงบ่ายจะมีแบคทีเรียตายไป 3 เซลล์เสมอ

ให้ an คือจำนวนเซลล์ของแบคทีเรียที่ยังมีชีวิตอยู่ในตอนเย็นของวันที่ n (n ≥ 1)

(i) จะได้ a2 = ................, a3 = ................, a4 = ................

(ii) จงหาเขียนสัมพันธ์เวียนเกิดสำหรับลำดับ {an} และหาผลเฉลยของความสัมพันธ์

Page 5: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

27

ตัวอย่าง 2.5 มีเสา 3 เสา และมีแผ่นกลมเจาะรู n แผ่นที่มีขนาดต่างกันวางซ้อนกันอยู่ในเสาหนึ่ง เรียงขนาดจากใหญ่ขึ้นไปหาเล็ก ดังรูป

ต้องการย้ายแผ่นกลมทั้งหมดจากเสาต้นเดิมไปวางเรียงในลักษณะเดียวกันในเสาต้นใดต้นหนึ่งจาก 2 ต้นที่เหลือ โดยให้ย้ายแผ่นกลมได้ครั้งละ 1 แผ่น และไม่ให้แผ่นที่ใหญ่กว่าวางซ้อนอยู่บนแผ่นที่เล็กกว่า

ให้ an คือจำนวนครั้งที่น้อยที่สุดในการย้ายแผ่นกลม n แผ่นตามเงื่อนไขดังกล่าว (n ≥ 1)

(i) จะได้ว่า a1 = ............, a2 = ............, a3 = ............ และ a4 = ............

(ii) จงหาความสัมพันธ์เวียนเกิดสำหรับลำดับ {an}∞n=1 และหาผลเฉลยของความสัมพันธ์

Page 6: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

28

ความสัมพันธ์เวียนเกิดเชิงเส้นเอกพันธุ์ที่มีสัมประสิทธิ์เป็นค่าคงตัว

บทนิยาม 2.2 ความสัมพันธ์เวียนเกิดเชิงเส้นเอกพันธุ์ที่มีสัมประสิทธิ์เป็นค่าคงตัว คือความสัมพันธ์ที่สามารถจัดให้อยู่ในรูป

an − bk−1an−1 − bk−2an−2 − · · · − b0an−k = 0 (∗)

เมื่อ b0, b1, b2, . . . , bk−1 เป็นค่าคงตัว และเราเรียกสมการ

xk − bk−1xk−1 − bk−2x

k−2 − · · · − b0 = 0 (∗∗)

ว่า สมการช่วย (auxiliary equation) ของ (∗)

ทฤษฎีบท 2.1 ถ้า r1, r2, . . . , rk เป็นรากที่แตกต่างกันของ (∗∗) แล้ว ผลเฉลยของ (∗)คือ

an = c1rn1 + c2r

n2 + · · ·+ ckr

nk

เมื่อ c1, c2, . . . , ck เป็นค่าคงตัว (ซึ่งสามารถหาได้จากค่าของ a0, a1, . . . , ak)

หมายเหตุ: กรณีที่ (∗∗) มีรากซ้ำ สามารถศึกษาเพิ่มเติมได้จากเอกสารอ้างอิงหมายเลข 1

ตัวอย่าง 2.6 จงหาผลเฉลยของความสัมพันธ์เวียนเกิดต่อไปนี้

(i) an = 3an−1, (n ≥ 1); a0 = 2

(ii) an = 4an−2, (n ≥ 2); a0 = 0, a1 = 1

Page 7: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

29

(iii) an = an−1 + 6an−2, (n ≥ 1); a0 = 2, a1 = 1

ตัวอย่าง 2.7 จงหาจำนวนวิธีในการสร้างคำที่มีความยาว n ตัวอักษรโดยใช้ตัวอักษร A, B,

C โดยห้ามมีอักษร A อยู่ติดกัน

Page 8: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

30

ตัวอย่าง 2.8 จงหาจำนวนวิธีในการสร้างคำที่มีความยาว n ตัวอักษรโดยใช้ตัวอักษร A, B,

C, D โดยห้ามมีอักษร A และ B อยู่ติดกัน

Page 9: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

31

2.2 ฟังก์ชันก่อกำเนิด

บทนิยาม 2.3 ให้ {an}∞n=0 เป็นลำดับของจำนวนจริง ฟังก์ชันก่อกำเนิด (generating func-

tion) ของ {an}∞n=0 คือนิพจน์ (expression) ที่อยู่ในรูป

f(x) = a0 + a1x+ a2x2 + · · · =

∞∑n=0

anxn

หมายเหตุ

1. นิพจน์ซึ่งเป็นฟังก์ชันก่อกำเนิดในบทนิยามข้างต้น ยังมีชื่อเรียกว่า อนุกรมกำลังรูปนัย(formal power series) ซึ่งเป็นเพียงสัญลักษณ์อย่างหนึ่งที่เกิดจากลำดับ {an}∞n=0

โดยทั่วไป เราไม่สนใจการลู่เข้าหรือลู่ออกของอนุกรมกำลังรูปนัย

อย่างไรก็ตาม ในบางกรณี เช่น เมื่อเราต้องการเขียนฟังก์ชันก่อกำเนิดให้อยู่ในรูปแบบปิด (closed form) กล่าวคือ รูปแบบที่ปราศจากเครื่องหมาย

∑หรือปราศจาก

ลิมิตอนันต์ เราอาจพิจารณาค่าของ x ที่ทำให้อนุกรมลู่เข้า เพื่อเขียน f(x) ให้อยู่ในรูปแบบที่กระชับขึ้น

2. บทนิยามข้างต้นยังครอบคลุมถึงฟังก์ชันก่อกำเนิดของลำดับจำกัด กล่าวคือถ้า {an}kn=0

เป็นลำดับจำกัด แล้วเราอาจขยายลำดับดังกล่าวให้เป็นลำดับอนันต์ {an}∞n=0 โดยให้an = 0 สำหรับทุก n > k และให้ฟังก์ชันก่อกำเนิดของ {an}kn=0 คือฟังก์ชันก่อกำเนิดของ {an}∞n=0 ซึ่งในที่นี้คือ

f(x) = a0 + a1x+ a2x2 + · · ·+ akx

k

ตัวอย่าง 2.9 จงหาฟังก์ชันก่อกำเนิดของลำดับต่อไปนี้

(i) 1, 1, 1, . . .

ฟังก์ชันก่อกำเนิดของลำดับนี้คือ

f(x) = 1 + x+ x2 + x3 + · · ·

=1

1− xเมื่อ |x| < 1

Page 10: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

32

(ii) 1, 1, 1, 1

ฟังก์ชันก่อกำเนิดของลำดับนี้คือ

f(x) = 1 + x+ x2 + x3

=1− x4

1− xเมื่อ x ̸= 1

(iii) 1, 2, 4, 8, 16, . . .

ฟังก์ชันก่อกำเนิดของลำดับนี้คือ

f(x) = 1 + 2x+ 4x2 + 8x3 + 16x4 + · · ·

=1

1− 2xเมื่อ |2x| < 1

(iv) 1, 0, 1, 0, 1, 0, 1, . . .

ฟังก์ชันก่อกำเนิดของลำดับนี้คือ

f(x) = 1 + x2 + x4 + x6 + · · ·

=1

1− x2เมื่อ |x| < 1

(v) 1, 5, 10, 10, 5, 1

ฟังก์ชันก่อกำเนิดของลำดับนี้คือ

f(x) = 1 + 5x+ 10x2 + 10x3 + 5x4 + x5

= (1 + x)5

(vi) 1, 2, 3, 4, 5, . . .

เนื่องจาก

1 + x+ x2 + x3 + x4 + x5 + · · · = 1

1− xเมื่อ |x| < 1

เมื่อหาอนุพันธ์ทั้งสองข้าง จะได้ว่า

1 + 2x+ 3x2 + 4x3 + 5x4 + · · · = 1

(1− x)2

ดังนั้น จะเห็นว่า ฟังก์ชันก่อกำเนิดของลำดับ 1, 2, 3, 4, 5, . . . คือ f(x) =1

(1− x)2

Page 11: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

33

(vii) 1, 1,1

2,1

6,1

24,

1

120, . . .

ฟังก์ชันก่อกำเนิดของลำดับนี้คือ

f(x) = 1 + x+x2

2+

x3

6+

x4

24+

x5

120+ · · ·

=∞∑n=0

xn

n!

= ex

ตัวอย่าง 2.10 จงหาว่าฟังก์ชันต่อไปนี้เป็นฟังก์ชันก่อกำเนิดของลำดับใด

(i) f(x) =1

1 + x

เนื่องจาก

f(x) =1

1 + x= 1− x+ x2 − x3 + · · · =

∞∑n=0

(−1)nxn เมื่อ |x| < 1

ดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของลำดับ an = (−1)n

(ii) f(x) =1

1− 3x

เนื่องจาก

f(x) =1

1− 3x= 1 + 3x+ (3x)2 + (3x)3 + · · · =

∞∑n=0

3nxn เมื่อ |3x| < 1

ดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของลำดับ an = 3n

(iii) f(x) =1− x5

1− x

เนื่องจากf(x) =

1− x5

1− x= 1 + x+ x2 + x3 + x4

ดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของลำดับ 1, 1, 1, 1, 1

(iv) f(x) = (1 + x)m

เนื่องจาก (1 + x)m =m∑

n=0

(m

n

)xn

ดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของลำดับ(m

0

),

(m

1

), . . . ,

(m

m

)

Page 12: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

34

(v) f(x) = e2x

เนื่องจาก

e2x =∞∑n=0

(2x)n

n!=

∞∑n=0

2nxn

n!

ดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของลำดับ an =2n

n!

ความสำคัญของฟังก์ชันก่อกำเนิด

ให้ an คือจำนวนวิธีในการสร้าง การเลือก หรือการจัด ฯลฯ วัตถุ n ชิ้น ตามเงื่อนไขที่กำหนด ในบางกรณี การใช้หลักการนับเบื้องต้นเพื่อหาค่าของ an โดยตรงอาจทำได้ยาก แต่เราอาจหาค่าของสมาชิกในลำดับ {an}∞n=0 ได้ง่ายขึ้นเมื่อใช้ฟังก์ชันก่อกำเนิด โดยมีขั้นตอนดังต่อไปนี้

ขั้นที่ 1 เขียนฟังก์ชันก่อกำเนิด f(x) ให้สอดคล้องกับเงื่อนไขของปัญหา

ขั้นที่ 2 คำนวณหาค่าสัมประสิทธิ์ an ของแต่ละ xn ใน f(x)

การเขียน f(x) ให้สอดคล้องกับปัญหา (โดยที่ยังไม่ทราบค่าของ an) และการคำนวณหาค่าของ an จาก f(x) ล้วนมีเทคนิคที่ต้องฝึกฝนและเรียนรู้เพื่อให้เกิดความชำนาญ

ตัวอย่าง 2.11 จงเขียนฟังก์ชันก่อกำเนิดสำหรับลำดับ {an} เมื่อ an คือคำตอบสำหรับปัญหาต่อไปนี้

(i) an คือจำนวนวิธีการเลือกของ n ชิ้นจากของจำนวนมากที่ไม่แตกต่างกัน

เนื่องจากการเลือกของ n ชิ้นมาจากของที่ไม่แตกต่างกัน สามารถทำได้เพียง 1 วิธีจึงได้ว่า ฟังก์ชันก่อกำเนิดสำหรับลำดับนี้คือ

f(x) = 1 + x+ x2 + · · · = 1

1− x

(ii) an คือจำนวนวิธีการเลือกของ n ชิ้นจากของ 2 ชนิด โดยของชนิดเดียวกันไม่ต่างกัน

ให้ f1(x) และ f2(x) คือฟังก์ชันก่อกำเนิดสำหรับวิธีการเลือกของชนิดที่ 1 และของชนิดที่ 2 ตามลำดับ จะได้ว่า

f1(x) = 1 + x+ x2 + · · · และ f2(x) = 1 + x+ x2 + · · ·

สังเกตว่า หากนำ f1(x) และ f2(x) มาคูณกัน สัมประสิทธิ์ของ xn ใน f1(x)f2(x)

คือจำนวนวิธีในการเลือกของชนิดที่ 1 และชนิดที่ 2 รวมกันให้ได้ n ชิ้น ดังนั้น ฟังก์ชันก่อกำเนิดสำหรับ an คือ

f(x) = f1(x)f2(x) = (1 + x+ x2 + · · · )(1 + x+ x2 + · · · ) = 1

(1− x)2

Page 13: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

35

(iii) an คือจำนวนวิธีการเลือกของ n ชิ้นจากของ r ชนิด โดยของชนิดเดียวกันไม่ต่างกัน

ให้ f1(x), f2(x), . . . , fr(x) คือฟังก์ชันก่อกำเนิดสำหรับวิธีการเลือกของชนิดที่ 1 ถึงชนิดที่ r ตามลำดับ จะได้ว่า fi(x) = 1 + x + x2 + · · · สำหรับ i = 1, 2, . . . , r

ซึ่งจะเห็นว่า ถ้าให้

f(x) = f1(x)f2(x) · · · fr(x) = (1 + x+ x2 + · · · ) · · · (1 + x+ x2 + · · · )︸ ︷︷ ︸r วงเล็บ

จะได้ว่า สัมประสิทธิ์ของ xn คือจำนวนิธีในการรวมของทั้ง r ชนิดให้ได้ n ชิ้น ดังนั้นฟังก์ชันก่อกำเนิดสำหรับลำดับ an คือ

f(x) =1

(1− x)r

(iv) an คือจำนวนวิธีการเลือกของ n ชิ้นจากของ 3 ชนิด โดยของชนิดเดียวกันไม่ต่างกันและของชนิดที่สามมีได้ไม่เกิน 5 ชิ้น

เนื่องจากของสองชนิกแรกไม่มีการจำกัดจำนวน ดังนั้น ฟังก์ชันก่อกำเนิกสำหรับวิธีการเลือกของสองชนิดแรกคือ

f1(x) = 1 + x+ x2 + · · · และ f2(x) = 1 + x+ x2 + · · ·

แต่เนื่องจากของชนิดที่สามมีได้ไม่เกิน 5 ชิ้น ดังนั้น ฟังก์ชันก่อเนิดสำหรับวิธีการเลือกของชนิดที่สามคือ

f3(x) = 1 + x+ x2 + x3 + x4 + x5

และจะได้ว่า ฟังก์ชันก่อกำเนิดสำหรับลำดับ an คือ

f(x) = f1(x)f2(x)f3(x)

= (1 + x+ x2 + · · · )(1 + x+ x2 + · · · )(1 + x+ x2 + x3 + x4 + x5)

=1

1− x· 1

1− x· 1− x6

1− x

=1− x6

(1− x)3

(v) an คือจำนวนวิธีในการจ่ายเงิน n บาท โดยใช้เพียงเหรียญ 1 บาท และเหรียญ 2

บาทเท่านั้น

เนื่องจากจำนวนวิธีในการจ่ายเงิน k บาทใด ๆ โดยใช้เหรียญ 1 บาท สามารถทำได้ 1วิธีเสมอ ดังนั้น ฟังก์ชันก่อกำเนิดสำหรับวิธีการจ่ายเงิน k บามใด ๆ โดยใช้เหรียญ 1

บามคือf1(x) = 1 + x+ x2 + · · ·+ xk + · · ·

สำหรับการจ่ายเงิน l บาทโดยใช้เหรียญ 2 บาท จะเห็นว่า จะทำได้ 1 วิธี เมื่อ l

เป็นจำนวนคู่ และทำได้ 0 วิธี เมื่อ l เป็นจำนวนคี่ ดังนั้น ฟังก์ชันก่อกำเนิดสำหรับวิธีจ่ายเงินโดยใช้เหรียญ 2 บาท คือ

f2(x) = 1 + x2 + x4 + · · ·+ x2m + · · ·

Page 14: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

36

ฟังก์ชันก่อกำเนิดสำหรับวิธีจ่ายเงิน n บาทโดยใช้เหรียญ 1 บาท และเหรียญ 2 บาทเท่านั้น จึงได้แก่

f(x) = f1(x)f2(x)

= (1 + x+ x2 + · · · )(1 + x2 + x4 + · · · )

=1

1− x· 1

(1− x2)

=1

(1− x)2(1 + x)

(vi) an คือจำนวนวิธีในการเลือกของ n ชิ้นจากของ N ชิ้นที่แตกต่างกัน

สังเกตว่า ฟังก์ชันก่อกำเนิดสำหรับการเลือกของชิ้นที่ i เมื่อ i = 1, 2, . . . , N คือ

fi(x) = 1 + x

โดยเลข 1 ที่เป็นสัมประสิทธ์ของ x0 บ่งว่า การไม่เลือกของชิ้นที่ i ทำได้ 1 วิธี และเลข1 ซึ่งเป็นสัมประสิทธ์ของ x1 บ่งว่า การเลือกของชิ้นที่ i ทำได้ 1 วิธีเช่นกัน ดังนั้นฟังก์ชันก่อกำเนิดสำหรับวิธีการเลือกของ n ชิ้นจาก N ชิ้นที่ต่างกัน จึงได้แก่

f(x) = f1(x)f2(x) · · · fN(x)= (1 + x)(1 + x) · · · (1 + x)︸ ︷︷ ︸

N วงเล็บ

= (1 + x)N

ซึ่งจะเห็นได้ว่า สัมประสิทธิ์ของ xn คือ(N

n

)นั่นคือ an =

(N

n

)

Page 15: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

37

เทคนิคการคำนวณเกี่ยวกับฟังก์ชันก่อกำเนิด

ในการคำนวณหาสัมประสิทธิ์ของ xn ใน f(x) ซึ่งเป็นฟังก์ชันก่อกำเนิด ในบางกรณีอาจคำนวณได้โดยง่าย เช่น ถ้า f(x) =

1

1− 2xแล้วจะได้ว่า สัมประสิทธิ์ของ xn คือ 2n

แต่ในบางกรณี การหาสัมประสิทธิ์ของ xn อาจทำได้ยาก เช่น เมื่อ

f(x) =1− x6

(1− x)3

ดังนั้น เราควรทราบเทคนิคเบื้องต้นเพื่อคำนวณหาสัมประสิทธิ์ของฟังก์ชันก่อกำเนิด ดังนี้

ทฤษฎีบท 2.2 ถ้า f(x) =∑∞

n=0 anxn เป็นฟังก์ชันก่อกำเนิดของลำดับ {an}∞n=0 และ

g(x) =∑∞

n=0 bnxn เป็นฟังก์ชันก่อกำเนิดของลำดับ {bn}∞n=0 แล้วจะได้ว่า

(i) cf(x) =∞∑n=0

canxn เป็นฟังก์ชันก่อกำเนิดของลำดับ {can}∞n=0 เมื่อ c เป็นค่าคงตัว

(ii) f(x) + g(x) =∞∑n=0

(an + bn)xn เป็นฟังก์ชันก่อกำเนิดของลำดับ {an + bn}∞n=0

(iii) f(x)g(x) =∞∑n=0

(∑ni=0 aibn−i

)xn เป็นฟังก์ชันก่อกำเนิดของลำดับ {

∑ni=0 aibn−i}∞n=0

ตัวอย่าง 2.12 จงหาสัมประสิทธิ์ของ x10 ที่เกิดจากการกระจายฟังก์ชันต่อไปนี้ให้อยู่ในรูปอนุ-กรมกำลัง

(i) f(x) =3

1− 2x

เนื่องจาก1

1− 2xเป็นฟังก์ชันก่อกำเนิดของลำดับ an = 2n

ดังนั้น f(x) =3

1− 2xเป็นฟังก์ชันก่อกำเนิดของลำดับ 3an = 3 · 2n

จึงได้ว่า สัมประสิทธิ์ของ x10 ใน f(x) คือ 3 · 210 = 3072

(ii) f(x) =2

3 + x

สังเกตว่าf(x) =

2

3 + x=

2

3· 1

1 + x/3

เนื่องจาก1

1 + x/3เป็นฟังก์ชันก่อกำเนิดของลำดับ an =

(− 1

3

)nดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของลำดับ

2

3an =

2

3

(− 1

3

)nสัมประสิทธิ์ของ x10 ใน f(x) คือ

2

311

Page 16: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

38

(iii) f(x) =1

4− x2

โดยการแยกเศษส่วนย่อย จะได้ว่า

1

4− x2=

1

(2− x)(2 + x)=

1/4

2− x+

1/4

2 + x

เนื่องจาก1/4

2− x=

1

8· 1

1− x/2เป็นฟังก์ชันก่อกำเนิดของ

1

8

(12

)nและ

1/4

2 + x=

1

8· 1

1 + x/2เป็นฟังก์ชันก่อกำเนิดของ

1

8

(− 1

2

)nดังนั้น f(x) เป็นฟังก์ชันก่อกำเนิดของ

1

8

[(12

)n+(− 1

2

)n]สัมประสิทธิ์ของ x10 ใน f(x) คือ

1

212

(iv) f(x) =(1− x4)5

1− 2x

สังเกตว่า f(x) = (1− x4)5 · 1

1− 2x

ให้ h(x) = (1− x4)5 = a0 + a4x4 + a8x

8 + a12x12 + a16x

16 + a20x20

และให้ g(x) =1

1− 2x= b0 + b1x+ b2x

2 + · · ·

จะได้ว่า สัมประสิทธิ์ของ x10 ใน f(x) คือ

a0b10 + a4b6 + a8b2 =

(5

0

)210 −

(5

1

)26 +

(5

2

)22

= 1024− 320 + 40

= 744

บทนิยาม 2.4 สำหรับแต่ละจำนวนจริง α และแต่ละจำนวนเต็มบวก k เราให้(α

k

)=

α(α− 1)(α− 2) · · · (α− k + 1)

k!

และให้(α

0

)= 1 สำหรับทุก α

ตัวอย่างเช่น (1/2

3

)=

12

(12− 1)(

12− 2)

3!=

12(−1

2)(−3

2)

6=

1

16(−3

4

)=

(−3)(−4)(−5)(−6)

4!= 15

Page 17: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

39

ข้อสังเกต

1. ถ้า α เป็นจำนวนเต็มบวก นั่นคือ ถ้า α = n เมื่อ n ∈ N จะได้ว่า(n

k

)=

n(n− 1)(n− 2) · · · (n− k + 1)

k!

เมื่อ k ≤ n จะได้(n

k

)=

n!

(n− k)!k!ซึ่งสอดคล้องกับบทนิยามในบทที่ 1

เมื่อ k ≥ n+ 1 จะได้ว่า n = k − i สำหรับบาง i ∈ N ทำให้ได้ว่า(n

k

)= 0

2. ถ้า α เป็นจำนวนเต็มลบ นั่นคือ ถ้า α = −n เมื่อ n ∈ N จะได้ว่า(−n

k

)= (−1)k

(n+ k − 1

k

)(ให้นักเรียนแสดงรายละเอียดด้วยตนเอง ว่าเพราะเหตุใด) เช่น(

−3

4

)= (−1)4

(3 + 4− 1

4

)=

(6

4

)= 15

ทฤษฎีบท 2.3 ให้ α เป็นจำนวนจริงใด ๆ ถ้า |x| < 1 แล้วจะได้ว่า

(1 + x)α =∞∑k=0

k

)xk = 1 +

1

)x+

2

)x2 + · · ·

ข้อสังเกต จากทฤษฎีบท 2.3 จะเห็นว่า

1. f(x) = (1 + x)α เป็นฟังก์ชันก่อกำเนิดของลำดับ{(

α

k

)}∞

k=0

2. เมื่อ α = −n โดยที่ n ∈ N จะได้ว่า

1

(1 + x)n=

∞∑k=0

(−1)k(n+ k − 1

k

)xk

ดังนั้น

1

(1− x)n=

∞∑k=0

(k + n− 1

n− 1

)xk

Page 18: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

40

ตัวอย่าง 2.13 จงหาสัมประสิทธิ์ของ x20 ที่เกิดจากการกระจายฟังก์ชันต่อไปนี้ให้อยู่ในรูปอนุกรมกำลัง

(i) f(x) =1

(1− x)10

(ii) f(x) =x2 + 2

(1− x)10

(iii) f(x) =(1− x8)9

(1− x)10

Page 19: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

41

ตัวอย่าง 2.14 จงหาฟังก์ชันก่อกำเนิดของลำดับ{(

n

3

)}∞

n=3

ตัวอย่าง 2.15 จงแก้ปัญหาต่อไปนี้โดยใช้ฟังก์ชันก่อกำเนิด

(i) ต้องการนำลูกแก้ว 20 ลูกที่เหมือนกัน ไปใส่ในกล่อง 3 กล่องที่ต่างกัน จะแบ่งได้กี่วิธี

(ii) ต้องการนำลูกแก้ว 20 ลูกที่เหมือนกัน ไปใส่ในกล่อง 3 กล่องที่ต่างกัน โดยกล่องที่หนึ่งจะต้องมีลูกแก้วอย่างน้อย 1 ลูก แต่ไม่เกิน 3 ลูก จะแบ่งได้กี่วิธี

Page 20: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

42

ตัวอย่าง 2.16 ถ้าต้องการหยิบผลไม้ใส่กระเช้าจำนวน 100 ลูก จากผลไม้สี่ชนิดที่มีอยู่คือมะยม มะปราง มะไฟ และมะม่วง โดยจำนวนของมะยมต้องเป็นจำนวนคู่ จำนวนมะปรางต้องหารด้วย 5 ลงตัว และจำนวนของมะไฟต้องไม่เกิน 4 ลูก ส่วนจำนวนของมะม่วงนั้นมีได้อย่างมากเพียงลูกเดียว จงใช้ฟังก์ชันก่อกำเนิดเพื่อหาว่า จะจัดผลไม้ใส่กระเช้าตามเงื่อนไขดังกล่าวได้กี่วิธี (ในที่นี้ถือว่าผลไม้ชนิดเดียวกันไม่มีความแตกต่างกัน)

ตัวอย่าง 2.17 ให้ n ≥ 6 ต้องการแบ่งเซต X = {1, 2, 3, . . . , n} ออกเป็นสองเซตย่อยที่มีสมาชิกเรียงลำดับติดต่อกัน ได้แก่เซต

A = {1, 2, 3, . . . , k} และ B = {k + 1, k + 2, k + 3, . . . , n}

โดยที่ 3 ≤ k ≤ n−3 (ค่า k สามารถเป็นไปได้ทุกค่าในช่วงดังกล่าว) จากนั้นจะเลือกสมาชิกจาก A มา 3 จำนวน และเลือกสมาชิกจาก B มา 3 จำนวน จงใช้ฟังก์ชันก่อกำเนิดเพื่อหาว่าจะสามารถทำตามเงื่อนไข ดังกล่าวได้กี่วิธี

Page 21: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

43

ตัวอย่าง 2.18 สับเซตของ {1, 2, 3, . . . , 2000} ซึ่งผลบวกของสมาชิกทุกตัวในสับเซตถูกหารด้วย 5 ลงตัว มีทั้งหมดกี่สับเซต

Page 22: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

44

ฟังก์ชันก่อกำเนิดชี้กำลัง

ฟังก์ชันก่อกำเนิดที่ได้กล่าวไปแล้ว ในบางกรณีจะเรียกว่าเป็นฟังก์ชันก่อกำเนิดสามัญ(ordinary generating function) ซึ่งมักใช้แก้ปัญหาการนับบางปัญหาที่เกี่ยวกับการแจกจ่ายสิ่งของที่มีการซ้ำ ต่อไปจะกล่าวถึงฟังก์ชันก่อกำเนิดชี้กำลัง (exponential generating func-

tion) ซึ่งสามารถใช้แก้ปัญหาบางปัญหาที่เกี่ยวกับการจัดเรียงสิ่งของที่มีการซ้ำ

บทนิยาม 2.5 ฟังก์ชันก่อกำเนิดชี้กำลังของลำดับ {an}∞n=0 คือ

f(x) = a0 + a1x+ a2x2

2!+ a3

x3

3!+ · · · =

∞∑n=0

anxn

n!

สำหรับจำนวนจริง x ใด ๆ เราทราบว่า

ex = 1 + x+x2

2!+

x3

3!+ · · ·

ดังนั้น ex เป็นฟังก์ชันก่อกำเนิดชี้กำลังของลำดับ 1, 1, 1, . . .

ตัวอย่าง 2.19 ฟังก์ชันต่อไปนี้เป็นฟังก์ชันก่อกำเนิดชี้กำลังของลำดับใด

(i) f(x) = e2x

(ii) f(x) =ex + e−x

2

(iii) f(x) =ex − e−x

2

Page 23: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

45

(iv) f(x) =ex + e−x

2· (ex − 1)

ข้อสังเกต

• ถ้านำของที่เหมือนกัน n ชิ้นมาจัดเรียงแบบเส้นตรง จะทำได้n!

n!วิธี

และเนื่องจากxn

n!=

n!

n!· x

n

n!

จึงได้ว่า จำนวนวิธีดังกล่าว คือสัมประสิทธิ์ของxn

n!ในฟังก์ชัน ex

• ถ้านำของชนิดที่ 1 ซึ่งเหมือนกัน และของชนิดที่ 2 ซึ่งเหมือนกัน รวม n ชิ้นมาจัดเรียงแบบเส้นตรง จะทำได้ทั้งหมด∑

i+j=n

n!

i!j!วิธี

ซึ่งหากพิจารณาผลคูณ

e2x =

(1 + x+

x2

2!+

x3

3!+ · · ·

)(1 + x+

x2

2!+

x3

3!+ · · ·

)จะเห็นว่า พจน์ที่มี xn ในผลคูณนั้นได้แก่(∑

i+j=n

1

i!j!

)xn =

(∑i+j=n

n!

i!j!

)xn

n!

ดังนั้น ค่า∑i+j=n

n!

i!j!คือสัมประสิทธิ์ของ

xn

n!ในผลคูณดังกล่าว ซึ่งเท่ากับ 2n

ข้อสังเกตข้างต้น ยังสามารถนำไปประยุกต์ใช้ได้ ในกรณีที่มีของมากกว่า 2 ชนิด

Page 24: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

46

ตัวอย่าง 2.20 จงใช้ฟังก์ชันกำเนิดชี้กำลังเพื่อหา an เมื่อ an เป็นคำตอบของปัญหาต่อไปนี้

(i) an คือจำนวนวิธีการสร้างคำที่มีความยาว n ตัวอักษรจากตัวอักษร A, B, C

(ii) an คือจำนวนวิธีการสร้างคำที่มีความยาว n ตัวอักษรจากตัวอักษร A, B, C โดยต้องมีA อย่างน้อยหนึ่งตัว

(iii) an คือจำนวนวิธีการสร้างคำที่มีความยาว n ตัวอักษรจากตัวอักษร A, B, C โดยต้องมีB เป็นจำนวนคี่ตัว

Page 25: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

47

ตัวอย่าง 2.21 เมื่อทอดลูกเต๋าหนึ่งลูกจำนวน 9 ครั้ง จงหาความน่าจะเป็นที่จะได้แต้ม 1

อย่างน้อยหนึ่งครั้ง และได้แต้ม 2 เป็นจำนวนคู่ครั้ง

Page 26: 2. หลักการนับขั้นสูง · n=0 เป็นลำดับของจำนวนจริงฟังก์ชันก่อกำเนิด(generating

48

แบบฝึกหัด

1. ต้องการนำกระเบื้องขนาด 1 × 2 มาปูตารางขนาด n × 2 ให้เต็มพื้นที่พอดี โดยจะวางกระเบื้องในแนวนอนหรือแนวตั้งก็ได้ แต่กระเบื้องต้องไม่ซ้อนทับกัน จะสามารถทำได้ กี่วิธี

2. มีบันไดอยู่ 10 ขั้น กบตัวหนึ่งกระโดดจากพื้นไปสู่ขั้นที่ 10 โดยกระโดดขึ้นเท่านั้น (ไม่มีการกระโดดลง) ถ้าในการกระโดดแต่ละครั้ง กบสามารถกระโดดขึ้นไปได้เพียงหนึ่งขั้น หรือสองขั้นหรือสามขั้นเท่านั้น จะมีวิธีกระโดดกี่วิธี

3. ให้ n > 0 เป็นจำนวนนับ มีตาชั่งสองข้างและก้อนน้ำหนัก n ก้อนที่หนัก 20, 21, . . . , 2n−1

หน่วย จะวางก้อนน้ำหนักทีละก้อนลงบนตาชั่ง โดยไม่ให้ตาชั่งข้างขวาหนักกว่าตาชั่งข้างซ้าย ในแต่ละครั้งจะเลือกน้ำหนักหนึ่งก้อนที่ยังไม่ถูกวางบนตาชั่ง และวางลงบนตาชั่ง ข้างซ้ายหรือข้างขวาจนครบทุกก้อนจงหาจำนวนวิธีทั้งหมดในการกระทำดังกล่าว

(IMO 2011)

4. ในการสอบเข้าคณะแพทยศาสตร์ของมหาวิทยาลัยแห่งหนึ่ง ผู้สมัครจะต้องสอบ 7 วิชาโดยผลคะแนนของแต่ละวิชาจะเป็นจำนวนเต็มตั้งแต่ 0 ถึง 100 คะแนน ซึ่งคะแนนรวมขั้นต่ำในการเข้าคณะแพทยศาสตร์ของมหาวิทยาลัยแห่งนี้เท่ากับ 500 คะแนน และยังมีเกณฑ์เพิ่มเติมว่า ผู้สมัครจะต้องได้คะแนนแต่ละวิชาไม่น้อยกว่า 30 คะแนน

หากนายปฐวีต้องการเข้าเรียนคณะแพทยศาสตร์ของมหาวิทยาลัยแห่งนี้ โดยจะทำคะแนนรวมให้ได้ 500 คะแนนพอดี เขาจะมีวิธีทำคะแนนของทั้ง 7 วิชาได้กี่วิธี

5. นางสาวแพรวตั้งใจว่า ในเดือนเมษายนนี้จะออกกำลังกายเพื่อลดน้ำหนักตลอดทั้งเดือนโดยจะแบ่งโปรแกรมการออกกำลังกายออกเป็นสามช่วง กล่าวคือ ช่วงแรกจะเดินรอบอ่างม.อ. ติดต่อกันทุกวัน ช่วงที่สองจะไปฟิตเนสติดต่อกันทุกวัน และช่วงสุดท้ายจะเล่นโยคะติดต่อกันทุกวัน นอกจากนี้ ในแต่ละช่วง จะเลือกหนึ่งวันให้เป็นวันที่งดอาหารเย็นอีกด้วย

นางสาวแพรวจะมีวีธีแบ่งวันในเดือนเมษายนออกเป็นสามช่วง พร้อมทั้งเลือกวันงดอาหารเย็นในแต่ละช่วงได้ทั้งหมดกี่วิธี

6. ต้องการสร้างคำที่มีความยาว n ตัวอักษรจากตัว C, O, U, N, T โดยให้จำนวนของสระในคำรวมกันเป็นจำนวนคู่ จะสร้างได้กี่วิธี