Matematikte permütasyon, n elemanlı bir kümenin k elemanlı alt kümelerinin (kendi içinde) k kere yer değiştirme sayısıdır.
1'den 10'a kadar olan doğal sayıları içeren n elemanlı kümede r = 4 olarak alınırsa permütasyonların sayısı {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} kümesinden sırayı da gözetmek suretiyle oluşturulabilecek dört değişik elemanlı kümelerin sayısını ifade eder.
Permütasyonun kombinasyondan farkı, sıralamanın önemli olmasıdır.
Tekrarsız permütasyonda her eleman sadece bir kez kullanılabilir.
n elemanlı bir kümeden seçilen r elemanlı "tekrarsız" permütasyonların toplamı (n ≥ r olmak şartıyla) aşağıdaki formülle ifade edilir:
$P(n,r) = {n \choose {n-r}} = \frac{n!}{(n - r)!}$
Örnek
5 atın katıldığı bir yarışta seçilen 3 yarış atının "sırasıyla" birinci, ikinci ve üçüncü gelme olasılığı hesaplanırken bu formül kullanılabilir. Bir atın aynı yarışta iki kez birinci gelmesi mümkün değildir.
$P(5,3) = {5 \choose {5-3}} = \frac{5!}{(5 - 3)!}=60$
Seçilen sıralamanın doğru çıkma olasılığı 1/60'tır.
"Tekrarlı" permütasyonlar ise n<sup>r</sup> formülü ile ifade edilir.
Bu formül ile örneğin 3 haneli rakamsal bir çanta şifresinin permütasyonları (seçilebilecek toplam şifre adedi) hesaplanabilir. Her çemberde 0-9 arası 10 rakam olduğu için toplam şifre sayısı 10 x 10 x 10 = 10<sup>3</sup> = 1000'dir. Olası şifrelerin oluşturduğu seri 000, 001, 002 ... 997, 998, 999 şeklindedir. Yani rastgele denenen bir şifrenin çanta kilidini açma olasılığı 1/1000'dir.
Tekrarlı Permütasyon n tane farklı elemanın n¹ tanesi aynı n² tanesi aynı, ..., n™ tanesi aynı iken
n¹ + n²+ ...+ n™ =n tane elemanın farklı sıralanışlarının sayısı
_______n!______
n¹ ! .n² !....n™ !
kadardır .
Oluşturulacak küme sıralı olduğundan dört değişik elemanın olası seçilme şekillerinin düşünülüp bu dörtlü dizilerin seçilme şekillerinin sayısı hesaplanmalıdır:
Genelleştirilip n ve r değişkenleri ile ifade edilirse
C kodunda permütasyon şu şekilde hesaplanabilir:
long permutasyon (const int n, const int r) {
int i;
long sonuc = 1;
for (i = 0; i <= r; i++)
{
sonuc = sonuc*(n - i);
}
return sonuc;
}
PHP kodunda şu şekilde bulunabilir:
function permutasyon($n,$r){
$sonuc = 1;
for((($i = ($n - $r) + 1)); $i <= $n; $i++){
$sonuc = $i*$sonuc;
}
return $sonuc;
}
permutasyon(7, 2); // 42
Python programlama dili
def permutasyon(n, r):
sonuc = 1
for i in range(r):
sonuc = sonuc * (n - i)
return sonuc
Orijinal kaynak: permütasyon. Creative Commons Atıf-BenzerPaylaşım Lisansı ile paylaşılmıştır.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page