Μετάβαση στο περιεχόμενο

Συνδυασμός (μαθηματικά)

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Στα μαθηματικά, συνδυασμός των στοιχείων ενός συνόλου ανά ονομάζεται κάθε υποσύνολο του συνόλου με στοιχεία.[1]:64-66[2]:21-23

Για παράδειγμα, για το σύνολο , τα υποσύνολα με τρία στοιχεία είναι τα εξής:

, , και .

Κάθε ένα από αυτά τα τέσσερα υποσύνολα είναι ένας συνδυασμός των 4 στοιχείων του ανά 3.

Το πλήθος των συνδυασμών στοιχείων ανά δίνονται από τον διωνυμικό συντελεστή

,

και διαβάζεται ως «συνδυασμοί των ανά ».

Για ένα σύνολο με τρία στοιχεία:

  • Οι συνδυασμοί ανά είναι : , , .
  • Οι συνδυασμοί ανά είναι : , , .
  • Οι συνδυασμοί ανά είναι : .

Για ένα σύνολο με τέσσερα στοιχεία:

  • Οι συνδυασμοί ανά είναι : , , , .
  • Οι συνδυασμοί ανά είναι : , , , , , .
  • Οι συνδυασμοί ανά είναι : , , , .
  • Οι συνδυασμοί ανά είναι : .

Πλήθος των συνδυασμών

[Επεξεργασία | επεξεργασία κώδικα]

Το πλήθος των συνδυασμών στοιχείων ανά (για ) είναι:

,

όπου είναι το παραγοντικό του .

Για παράδειγμα, για κάθε έναν από τους τέσσερις συνδυασμούς ανά , αντιστοιχούν οι παρακάτω διατάξεις:

Στις γραπτές εξετάσεις οι μαθητές πρέπει από το σύνολο των 9 ερωτήσεων που τους δίνονται να απαντήσουν στις 6. Με πόσους τρόπους μπορεί ένας μαθητής να επιλέξει τις ερωτήσεις στις οποίες θα απαντήσει;

Απάντηση

Με πόσους τρόπους μπορεί ένας παίχτης από μια τράπουλα με 52 χαρτιά να επιλέξει 5;

Απάντηση

Ένα σχολείο έχει μαθήτριες και μαθητές. Με πόσους τρόπους μπορούμε να διαλέξουμε ένα 15μελές με 9 μαθήτριες και 6 μαθητές;

Απάντηση

Λεξικογραφική κατασκευή

[Επεξεργασία | επεξεργασία κώδικα]
Λεξικογραφικοί
συνδυασμοί (5 ανά 3)
def next_combination(a, k, n):
  # Βρίσκουμε το μεγαλύτερο suffix ίσο με 
  # .., n-2, n-1, n]
  j = k
  while j >= 0 and a[j-1] == n - (k - j):
    j -= 1
  # Αν η ακολουθία είναι [n-k+1,n-k+2,...,n]
  # τότε τελειώσαμε.
  if j == 0: 
    return
  # Διαφορετικά αυξάνουμε το προηγούμενο στοιχείο
  j -= 1
  a[j] += 1
  # και βάζουμε τα επόμενα ίσα με a_j+1, a_j+2, ...
  for ell in range(0, k - j):
    a[j + ell] = a[j] + ell

N = 5
K = 3
ls = [x for x in range(1, K + 1)]
for i in range(0, 10):
  print(ls)
  next_combination(ls, K, N)
  1. ↑ Αντωνίου, Ευστάθιος. «Μαθηματικά ΙΙΙ: Διακριτά Μαθηματικά» (PDF). Τμήμα Μηχανικών Πληροφορικής & Ηλεκτρονικών Συστημάτων. Ανακτήθηκε στις 1 Φεβρουαρίου 2023.
  2. ↑ Δημητράκος, Θεοδόσης. «Σημειώσεις για το μάθημα Στατιστική» (PDF). Τμήμα Μαθηματικών, Πανεπιστήμιο Αιγαίου. Ανακτήθηκε στις 1 Φεβρουαρίου 2023.