การเรียงสับเปลี่ยน

ในหลายสาขาของคณิตศาสตร์ **การเรียงสับเปลี่ยน** (อังกฤษ: permutation) อาจมีความหมายที่แตกต่างกันดังที่จะได้กล่าวต่อไป ซึ่งทั้งหมดนั้นเกี่ยวกับการจับคู่สมาชิกต่างๆ ของเซต ไปยังสมาชิกตัวอื่นในเซตเดียวกัน ตัวอย่างเช่น การเปลี่ยนลำดับสมาชิกของเซต

## นิยาม

### ในคณิตศาสตร์เชิงการจัด

การเรียงสับเปลี่ยน เป็นการทำให้เข้าใจว่าหมายถึง "ลำดับ" ที่ประกอบด้วยสมาชิกจากเซตจำกัด และแต่ละตัวมีเพียงตัวเดียว แนวคิดของลำดับนั้นแตกต่างจากแนวคิดของเซต นั่นคือสมาชิกของลำดับจะปรากฏโดยลำดับอย่างหนึ่ง ซึ่งมีสมาชิกตัวที่หนึ่ง ตัวที่สอง ฯลฯ ต่างกับสมาชิกของเซตซึ่งไม่มีการเรียงลำดับ เช่น {1, 2, 3} กับ {3, 2, 1} ก็ถือว่าเป็นเซตเดียวกัน

อย่างไรก็ตาม ความหมายดั้งเดิมของการเรียงสับเปลี่ยนที่ใช้ในคณิตศาสตร์เชิงการจัดก็ยังคงมีอยู่ นั่นคือการเรียงสับเปลี่ยนหมายถึงลำดับเช่นนั้น (ดังที่ได้กล่าวแล้ว) โดยที่สมาชิกแต่ละตัวปรากฏอย่างมากแค่หนึ่งครั้ง แต่ไม่ใช่สมาชิกทุกตัวในเซตที่นำมาใช้

สำหรับอีกแนวความคิดหนึ่งที่เกี่ยวข้องในการเรียงลำดับของสมาชิกที่ถูกเลือก ซึ่งการเรียงลำดับไม่มีความสำคัญ ดูเพิ่มที่ การจัดหมู่ (combination)

### ในทฤษฎีกรุป

สมาชิกของการเรียงสับเปลี่ยนไม่จำเป็นต้องจัดเรียงอยู่ในอันดับเชิงเส้น หรือแม้กระทั่งไม่จำเป็นต้องเรียงลำดับก็ได้ ภายใต้การนิยามที่ปรับแต่งแล้วนี้ การเรียงสลับเปลี่ยนจึงเป็นฟังก์ชันหนึ่งต่อหนึ่งทั่วถึง (bijection) จากเซตจำกัดหนึ่งไปยังเซตตัวเอง กรณีเช่นนี้สามารถใช้ได้กับการนิยามกรุปของการเรียงสับเปลี่ยน ดูเพิ่มที่ กรุปเรียงสับเปลี่ยน (permutation group)

## การนับจำนวนวิธีการเรียงสับเปลี่ยน

ในส่วนนี้จะกล่าวถึงเฉพาะตามแนวคิดดั้งเดิมในคณิตศาสตร์เชิงการจัดเท่านั้น นั่นคือการเรียงสับเปลี่ยนคือลำดับที่มีการจัดอันดับ ของสมาชิกที่ถูกเลือกจากเซตจำกัดโดยไม่มีการเลือกซ้ำ และไม่สำคัญว่าจะต้องใช้สมาชิกทุกตัว ตัวอย่างเช่น สมมติกำหนดให้เซตของตัวอักษร {C, E, G, I, N, R} การเรียงสับเปลี่ยนบางส่วนของเซตนี้เช่น ICE, RING, RICE, NICER, REIGN และ CRINGE เป็นต้น หรือแม้แต่ RNCGI ซึ่งเป็นลำดับที่ไม่จำเป็นต้องมีคำที่มีความหมาย ส่วนคำว่า ENGINE ไม่เป็นการเรียงสับเปลี่ยนเพราะว่ามีสมาชิก E กับ N ซ้ำสองครั้ง

ถ้าให้ *n* แทนขนาดของเซต นั่นคือจำนวนสมาชิกที่มีในเซต การเรียงสับเปลี่ยนที่เป็นไปได้ที่ "ใช้สมาชิกทั้งหมดทุกตัว" ในครั้งแรกจะมีตัวเลือกทั้งหมด *n* ตัวสำหรับสมาชิกของลำดับตัวที่หนึ่ง และเมื่อสมาชิกตัวที่หนึ่งถูกเลือกไปแล้ว จะเหลือสมาชิก *n* − 1 ตัวสำหรับลำดับตัวที่สอง เมื่อสมาชิกถูกเลือกไปแล้วสองตัว การเรียงสับเปลี่ยนจึงสามารถเป็นไปได้

*n* × (*n* − 1) วิธี
สมาชิกตัวถัดไปของลำดับก็เลือกได้ *n* − 2 วิธี, *n* − 3 วิธี ฯลฯ อย่างนี้เรื่อยไปจนเหลือสมาชิกตัวสุดท้ายในเซตเพียงตัวเดียว การเรียงสับเปลี่ยนที่ใช้สมาชิกทั้งหมดจึงเป็นไปได้

*n* × (*n* − 1) × (*n* − 2) × … × 2 × 1 = *n*! วิธี
"!" คือแฟกทอเรียล ในกรณีที่การเรียงสับเปลี่ยนไม่ได้ใช้สมาชิกทุกตัวในเซต กำหนดให้ *r* เป็นจำนวนสมาชิกที่ถูกเลือกจากเซต (0 ≤ *r* ≤ *n*) จำนวนตัวเลือกในการเรียงสับเปลี่ยนที่เป็นไปได้ จึงหยุดลงเมื่อได้สมาชิกครบ *r* ตัว ดังนี้

*n* × (*n* − 1) × (*n* − 2) × … × (*n* − *r* + 1) วิธี
จำนวนที่หายไปคือ (*n* − *r*) × (*n* − *r* − 1) × … × 2 × 1 = (*n* − *r*)! นั่นคือเราต้องเอาจำนวนนี้ไปหารออกจาก *n*! จึงจะได้จำนวนวิธีที่เหลือ สรุปได้เป็น

เขียนแทนได้ด้วยสัญลักษณ์หลายแบบเช่น

ในกรณีที่ *n* = *r* สูตรดังกล่าวจะกลายเป็น

ด้วยเหตุผลว่า 0! = 1 เนื่องจาก 0! คือผลคูณว่างซึ่งจะเท่ากับ 1 เสมอ

## การเรียงสับเปลี่ยนในทฤษฎีกรุป

ดังที่ได้อธิบายไว้แล้วในส่วนต้น การเรียงสับเปลี่ยนของเซตในทฤษฎีกรุป เป็นการจับคู่ (หรือฟังก์ชัน) แบบหนึ่งต่อหนึ่งทั่วถึง (bijection) จากเซตจำกัดไปบนเซตตัวเอง ดังนั้นการสร้างการเรียงสับเปลี่ยนของจำนวน 1 ถึง 10 จะแปลความหมายได้ว่าเป็นการจับคู่ของเซต {1, …, 10} ไปยังเซตเดิม เป็นต้น

การเรียงสับเปลี่ยนของเซตสามารถพิจารณาได้ว่าเป็นฟิลเทรชัน (filtration คือสายโซ่ของเซตย่อย) ตัวอย่างเช่นลำดับ {0, 1, 2} จะสมนัยกับฟิลเทรชัน {0} ⊂ {0, 1} ⊂ {0, 1, 2}