Mathe/Info Kartenspiel-Algorithmus
lima-city → Forum → Sonstiges → Schule, Uni und Ausbildung
aufgabe
code
entschuldigung
karte
kartenspiel
kleinen tipp
korrektheit
logisches system
offen liegen
prozentsatz
punkt
summe
tendenziell hohes ergebnis
umdrehen
umgedrehten karten
url
vorgehen
wahrscheinlichkeit
wiederholen
ziffer
-
Hallo zusammen.
Ich suche einen Algorythmus bzw ein logisches System zu folgendem Problem:
Bei einem Kartenspiel würfelt man mit 2 Würfeln. Vor sich hat man 9 Karten mit den Ziffern 1 bis 9 offen liegen.
Nun muss man 2 Karten umdrehen, die in der Summe den selben Wert haben wie die Würfel.
z.B. Ich würfle eine 3 und eine 4, also 7. Ich kann nun entweder 1 und 6, 2 und 5 oder 3 und 4 umdrehen.
Danach passiert das selbe nochmal, umgedrehte Karten bleiben aber zu.
Sobald ich keine Möglichkeit mehr habe, die Augen als Summe darzustellen, erhalte ich so viele Punkte, wie der Gesammtwert der umgedrehten Karten ist.
z.B. ich hab die Karten 1,4, 6 und 8 umgedreht: ich bekomme also 19 Punkte.
Problem:
Welche Karten wähle ich, um möglichst geschickt zu sein? Nach welchem System muss ich vorgehen, um ein tendenziell hohes Ergebnis zu erhalten?
lg,
velli -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi
kanns sein, dass du die lösung zur Aufgabe 4 vom BWINF (http://www.bwinf.de/index.php?id=450) suchst?
nen kleinen Tipp:
1. du kannst auch nur eine Karte umdrehen
2. solche Sachen solltest du selber machen, sonst wird es vermutlich peinlich bei den folgenden Runden
Falls es wirklich nichts damit zu tun hat und du nur zufällig eine Ähnliche Aufgabe gestellt bekommen hast, oder dir selbst überlegt hast, bitte ich um Entschuldigung!
Zu der Aufgabe kann ich dir leider keine weiteren Lösungen geben, aber noch viel Erfolg ;)
lg Ole -
dann denke ich mal könntest du es nach folgendem Ansatz versuchen:
(ich gehe in codes jetzt mal nur grundgerüstmäßig vor, da du keine Sprache angegeben hast)
Du hast eine Summe gegeben und bildest daraus jede möglichen Teilsummen:
for(i = 1; i < summe; i ++){ // lässt sich mit sicherheit auch eleganter lösen mit summe%i, o. ä. teil1 = i; teil2 = summe-i; }
Anschließend musst du für jeden Teilsummenfall (also innerhalb der Schleife) für jede mögliche Würfelsumme die Wahrscheinlichkeit mit der Möglichkeit, zwei weitere Karten umdecken zu können (wenn ja, dann 1; sonst 0 -> if()) multiplizieren, und zu einer anderen Variable (anfangswert 0) hinzuaddieren, sodass du in dieser Variable anschließend den prozentualen Wert hast, wie hoch die Wahrscheinlichkeit ist, dass du einen weiteren Zug ausführen kannst.
for(i = 1; i < summe; i ++){ // lässt sich mit Sicherheit auch eleganter lösen mit summe%i, o. ä. teil1 = i; teil2 = summe-i; ergebnis[i] = 0; if(teil1 <= 9 && teil2 <= 9){ for(j = 2; j <= 12; j ++){ if(Weiteres Kartenumdrehen ist möglich) ergebnis[i] += wahrscheinlich[j]; } } }
im array wahrscheinlich werden vor diesem Code die Wahrscheinlichkeiten, dass die Augensumme die Array-Platznummer (wahrscheinlich[2] bis wahrscheinlich[12]) gespeichert.
Für "Weiteres Kartenumdrehen ist möglich" werden wieder die Teilsummen von j gebraucht und dann halt gucken, ob diese Beiden Karten der Teilsummen noch nicht umgedreht sind.
Du müsstest es, um ganz korrekt zu sein, auf noch mehr Ebenen ausweiten -> in if(Weiteres ...) das ganze wiederholen (insgesamt 4 mal)
EDIT:
Schon fast vergessen: am Schluss natürlich das Ergebnis mit dem höchsten Prozentsatz nehmen, dessen Teilsummen müssen als 'optimale' Lösung umgedreht werden...
lg Ole
Codes und Ansatz ungeprüft! Keine Garantie auf Korrektheit!
hoffe, ich konnte helfen ;)
Beitrag zuletzt geändert: 6.10.2010 19:49:54 von ole-reglitzki -
Blöde Frage, aber müsste
in zeile 3 nicht eherteil2 = summe/i;
sein?teil2 = summe-i;
Beitrag zuletzt geändert: 5.10.2010 19:18:48 von velima -
ja, sry muss natürlich summe-i sein, außerdem muss noch eine Überprüfung kommen, ob beide Teilsummen <= 6 sind ;)
ich korrigiere das mal... -
sorry!
<= 9
ich mache aber auch alles falsch ;)
<= 9 ist klar, oder?
ist halt die Anzahl der Karten, sodass keine Teilsummen betrachtet werden, zu denen keine Karten vorhanden sind...
irren ist menschlich ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage