In matematica, una permutazione di un insieme è una disposizione o ordinamento degli elementi dell'insieme in una sequenza specifica. In termini più semplici, una permutazione indica in quanti modi diversi possiamo ordinare gli elementi di un insieme. L'ordine è importante: due sequenze che contengono gli stessi elementi ma in ordine diverso sono considerate permutazioni distinte.
Una permutazione di un insieme S è una biiezione (una funzione iniettiva e suriettiva) da S a se stesso. Questo significa che ogni elemento di S viene mappato a un elemento univoco di S, e ogni elemento di S viene mappato da qualche elemento di S.
Il numero di permutazioni di un insieme di n elementi distinti è dato da n! (n fattoriale), dove n! è il prodotto di tutti gli interi positivi da 1 a n.
n! = n × ( n - 1) × ( n - 2) × ... × 2 × 1
Ad esempio, il numero di permutazioni dell'insieme {A, B, C} è 3! = 3 × 2 × 1 = 6. Queste permutazioni sono:
Se l'insieme contiene elementi ripetuti, il numero di permutazioni è inferiore a n!. Se ci sono n elementi totali, con n<sub>1</sub> elementi del tipo 1, n<sub>2</sub> elementi del tipo 2, ..., n<sub>k</sub> elementi del tipo k, allora il numero di permutazioni distinte è:
n! / ( n<sub>1</sub>! * n<sub>2</sub>*! ... n<sub>k</sub>! )
Ad esempio, consideriamo la parola "BANANA". Ci sono 6 lettere (n=6), con 1 "B" (n<sub>1</sub> = 1), 3 "A" (n<sub>2</sub> = 3) e 2 "N" (n<sub>3</sub> = 2). Il numero di permutazioni distinte è:
6! / (1! * 3! * 2!) = 720 / (1 * 6 * 2) = 60
Le permutazioni trovano applicazione in diversi campi della matematica, dell'informatica e della statistica, tra cui:
import math
def numero_permutazioni(n, ripetizioni=None):
"""Calcola il numero di permutazioni di un insieme.
Args:
n: Il numero di elementi nell'insieme.
ripetizioni: Un dizionario che specifica il numero di ripetizioni di ciascun elemento (opzionale).
Returns:
Il numero di permutazioni.
"""
if ripetizioni is None:
return math.factorial(n)
else:
denominatore = 1
for conteggio in ripetizioni.values():
denominatore *= math.factorial(conteggio)
return math.factorial(n) / denominatore
# Esempio senza ripetizioni
n = 3
permutazioni = numero_permutazioni(n)
print(f"Numero di permutazioni di {n} elementi: {permutazioni}") # Output: 6
# Esempio con ripetizioni (BANANA)
n = 6
ripetizioni = {"B": 1, "A": 3, "N": 2}
permutazioni = numero_permutazioni(n, ripetizioni)
print(f"Numero di permutazioni di 'BANANA': {permutazioni}") # Output: 60
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