Würfelsumme höchstens: exakter Wahrscheinlichkeitsrechner
Dieser Rechner bestimmt die kumulierte Wahrscheinlichkeit, dass mehrere gleiche, faire Würfel höchstens den gewählten Wert ergeben.
Im Browser ausführen – kostenlos
Statt das Ergebnis mit simulierten Würfen zu schätzen, zählt er sämtliche möglichen Ergebnisse mit exakter Ganzzahlarithmetik. Geben Sie die Würfelanzahl, die Seitenzahl jedes Würfels und einen einschließlich geltenden Grenzwert ein. Ausgegeben werden günstige und sämtliche Ergebnisse, ein gekürzter Bruch, die Dezimalwahrscheinlichkeit und ein Prozentwert. Damit eignet sich die Berechnung für Spieldesign, Wahrscheinlichkeitsunterricht und zuverlässige Regelwerke in Software.
So verstehen Sie das berechnete Ereignis
Ein Ereignis mit der Bedingung „höchstens“ umfasst den Grenzwert selbst sowie alle kleineren Summen. Bei zwei sechsseitigen Würfeln und dem Grenzwert sieben wird beispielsweise P(Summe ≤ 7) gesucht; günstig sind somit die Summen zwei, drei, vier, fünf, sechs und sieben. Das unterscheidet sich von „genau sieben“, wo nur eine Summe zählt, und von „mindestens sieben“, das sieben bis zwölf einschließt. Jeder Würfel gilt als fair und unabhängig; seine Seiten tragen aufeinanderfolgende ganze Zahlen von eins bis zur gewählten Seitenzahl. Beim Wurf von n Würfeln mit s Seiten entstehen daher s^n gleich wahrscheinliche geordnete Ergebnisse. Der Rechner zählt alle Ergebnisse zwischen der kleinsten möglichen Summe und dem einschließlich geltenden Grenzwert und teilt diese Anzahl durch den gesamten Ergebnisraum. Ein Grenzwert unter dem Minimum liefert korrekt die Wahrscheinlichkeit null, ein Wert ab dem Maximum die Wahrscheinlichkeit eins. Diese Randwerte sind sinnvolle Antworten der kumulierten Verteilung und keine Fehler. Daher können auch Grenzwerte verarbeitet werden, die andere Regeln dynamisch erzeugen.
So arbeitet die exakte kumulierte Zählung
Die Berechnung verwendet begrenzte dynamische Programmierung und keine Zufallsversuche. Ausgangspunkt ist genau eine Möglichkeit, vor dem ersten Würfel die Summe null zu bilden. Für jeden Würfel entsteht eine neue Zähltabelle, indem jede zulässige Augenzahl zu jeder bereits erreichbaren Summe addiert wird. Ein gleitendes Fenster fasst diese Beiträge effizient zusammen. Sämtliche Anzahlen werden als Ganzzahlen beliebiger Genauigkeit geführt, sodass auch große Ergebniszahlen nie gerundet werden. Nach der Verarbeitung aller Würfel addiert der Algorithmus die Anzahlen der Summen, die den gewählten Grenzwert nicht überschreiten. Die Gesamtzahl wird unabhängig als Seitenzahl hoch Würfelanzahl berechnet. Der größte gemeinsame Teiler kürzt das Verhältnis von günstigen zu gesamten Ergebnissen vollständig; eine deterministische Ganzzahldivision erzeugt lesbare Dezimal- und Prozentwerte. Das Verfahren liefert bei jedem Aufruf dasselbe Resultat und vermeidet Stichprobenfehler einer Monte-Carlo-Simulation. Selbst lange Simulationen können seltene Randbereiche verfehlen oder schwanken, die exakte Rekursion dagegen nicht. Die veröffentlichten Grenzen beschränken Laufzeit und Speicher und decken dennoch übliche sowie große benutzerdefinierte Würfelgruppen ab.
Nutzen Sie das Ergebnis für Spiele, Lehre und Software
Tragen Sie unter dice die Anzahl gleicher Würfel, unter sides deren Seitenzahl und unter at_most den einschließlich geltenden Grenzwert ein. probability_fraction liefert den exakten rationalen Wert, probability eine kompakte Dezimaldarstellung und probability_percent einen präsentationsfähigen Prozentwert. favorable_outcomes und total_outcomes zeigen die zugrunde liegenden Anzahlen als Zeichenketten, damit große Ganzzahlen in JSON ohne Verlust erhalten bleiben. Im Spieldesign können Sie vergleichen, wie häufig ein Würfelpool unter einer Obergrenze bleibt, die Chance einer Bedingung für niedrige Würfe bestimmen oder einen Schwellenwert vor der Veröffentlichung abstimmen. Im Unterricht lassen sich kumulierte Verteilungen erklären und exakte Antworten mit Simulationen vergleichen. Entwicklungsteams können die deterministische Ausgabe in Tests festschreiben oder sie aus einem Wertungsdienst abrufen, ohne eigene Tabellen zu pflegen. Im Browser läuft dieselbe reine Funktion lokal. Jeder erfolgreiche automatisierte API-Aufruf kostet $0.002. Gewichtete, explodierende, erneut geworfene oder unterschiedlich große Würfel werden nicht unterstützt, weil solche Mechaniken den Ergebnisraum verändern und ein anderes Modell erfordern.
Anwendungsfälle
Mechanik für niedrige Würfe ausbalancieren
Ermitteln Sie exakt, wie oft ein Würfelpool den Auslösewert erreicht oder unterschreitet, bevor Sie eine Spielregel abschließen.
Kumulierte Wahrscheinlichkeit vermitteln
Zeigen Sie, wie sich günstige Ergebnisse über alle Summen bis einschließlich zum ausgewählten Grenzwert addieren.
Deterministisches Regelwerk testen
Verwenden Sie stabile Brüche und Anzahlen als Testdaten für Software, die Grenzwerte gewöhnlicher fairer Würfel auswertet.
Häufige Fragen
Ist bei „höchstens“ der gewählte Wert enthalten?
Ja. Die Bedingung bedeutet kleiner oder gleich dem Grenzwert; die gewählte Summe zählt daher als günstiges Ergebnis.
Sind die Ergebnisse exakt oder simuliert?
Sie sind exakt. Der Algorithmus zählt mit Ganzzahlen beliebiger Genauigkeit und verwendet weder Zufall noch Stichproben.
Von welchen Würfeln geht der Rechner aus?
Er setzt gleiche, unabhängige und faire Würfel voraus, deren Seiten von 1 bis zur gewählten Seitenzahl fortlaufend nummeriert sind.
Was geschieht bei einem nicht würfelbaren Grenzwert?
Unterhalb der kleinsten Summe ergibt sich null; ab der größten möglichen Summe ergibt sich die Wahrscheinlichkeit eins.
Wie viel kostet eine Berechnung per API?
Jedes erfolgreich verarbeitete API-Element kostet $0.002. Dieselbe deterministische Berechnung steht im Browser bereit.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/hobby/game-dice-sum-at-most \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dice":2,"sides":6,"at_most":7}'const res = await fetch("https://api.kit.forhosting.com/hobby/game-dice-sum-at-most", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dice": 2,
"sides": 6,
"at_most": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/game-dice-sum-at-most",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dice": 2,
"sides": 6,
"at_most": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/game-dice-sum-at-most", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dice":2,"sides":6,"at_most":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dice":2,"sides":6,"at_most":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/game-dice-sum-at-most", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"dice": 2,
"sides": 6,
"at_most": 7
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.game_dice_sum_at_most",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_dice | 50 |
max_sides | 100 |
max_sum | 5000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |