Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: [Mathematik] Wahrscheinlichkeitsrechnung für Karten

  Alt 18. Jan 2012, 16:00
Wie viele Karten gibt es denn insgesamt? Gibt es insgesamt nur 13+2 Karten, oder gibt es Karten doppelt?

Also ich habe erst mal eine einfachere Variante ausgerechnet: Wie hoch ist die Wahrscheinlichkeit, dass man beim Ziehen von 5 Karten eine Summe von 26 legen kann? Dabei ist die Reihenfolge nicht berücksichtigt, d.h. die Karten werden alle in einem Rutsch gezogen, was der Startsituation entspricht.

Code:
# ruby
def calculatePropability(cards, n, remaining_sum)
  if (n <= 0) || (cards.empty?)
    return 0.0
  end

  propability = 0.0;

  cards.each_with_index do |card, index|
    # set of remaining cards
    new_cards = cards.clone;
    new_cards.delete_at(index);

    new_remaining_sum = remaining_sum - card;

    # we have won the game
    if new_remaining_sum == 0
      item_propability = 1.0
    # we have lost the game
    elsif new_remaining_sum < 0
      item_propability = 0.0
    else
      item_propability = calculatePropability(new_cards, n-1, new_remaining_sum);
    end

    # add up partial propabilities
    propability += (1.0/cards.count)*item_propability;
  end

  return propability;
end

cards = (1..13).to_a + [0,0]; # cards from 1 to 13, 2 jokers
n = 5;
sum = 26;

puts calculatePropability(cards, n, sum);
Nichts großartiges...

Die ausgegebene Wahrscheinlichkeit ist hier ungefähr 11.18%.

Wie gesagt, das Nachziehen ist nicht berücksichtigt, es wird nur ausgegeben, wie hoch die Wahrscheinlichkeit mit den 5 Start-Karten ist. Über das Nachziehen muss ich noch mal genauer nachdenken. Aber vielleicht ist der Algorithmus schon mal ein Ansatz...

Ich glaube, dass es letztendlich aber keine andere Berechnungsmöglichkeit gibt, als alle Möglichkeiten durchzuiterieren, sprich Bruteforce.
  Mit Zitat antworten Zitat