Formel für Verlustberechnung gesucht



  • Hallo zusammen,

    ich programmiere gerade ein Computerspiel und momentan geht es um die Erstellung eines Kampfsystems. Dabei treten jeweils zwei gegnerische Flotten von Kampfschiffen gegeneinander an. Unabhängig davon, wer gewonnen hat, wird für jede der Flotten ein Verlustfaktor berechnet. Beispielsweise: Gewinner verliert 10% der Flotte, Verlierer verliert 50%.
    Bleiben wir bei dem Verlierer. Angenommen es gibt Schiffstypen. Von jedem der beiden Typen hat er 100 Stück:
    Schiffstyp 1: 100
    Schiffstyp 2: 100

    Nun sind die Schiffe des zweiten Typs wertvoller und stärker, somit wäre es wenig sinnvoll, von jedem 50% abzuziehen, sodass also von jedem Schiffstyp 50 zerstört werden. Stattdessen sollen verhältnismäßig mehr Schiffe vom ersten Typ zerstört werden als vom zweiten.
    Die Gewichtung sei folgendermaßen:
    Schiffstyp 1: 60%
    Schiffstyp 2: 15%
    Im Kartext heißt das, bei 75 zerstörten Schiffen sollen 60 Stück von Typ 1 sein und 15 Stück vom Typ 2, bzw. bei unseren 200 Schiffen wären das 80 von Typ 1 und 20 von Typ 2 (die Werte habe ich durch rumprobieren ermittelt).
    Nun muss eine Funktion gefunden werden, die in Abhängigkeit vom Gesamtverlust (50%), der Gewichtung des jeweiligen Schiffstyps (60%) und der Anzahl der kämpfenden Schiffe (100) die verbleibende Anzahl dieses Schiffstypen ermittelt (80)?

    Ich hoffe, ihr versteht was ich meine. Falls nein, bitte nochmal nachfragen. Dieses Thema ist mir sehr wichtig.

    Grüße
    Deblu



  • Du hast zwei Typen mit den Gewichtungen w1 und w2, und du weißt, dass n Schiffe zerstört wurden, wobei n sich im Verhältnis w1:w2 auf die beiden Typen (Verluste n1 bzw. n2) aufteilen soll, hab ich das richtig verstanden? Dann hast du zwei Gleichungen:

    n1/n2 = w1/w2 und n1+n2 = n

    Lösen: n1 = n w1/(w1+w2), n2 = n w2/(w1+w2)

    Wenn du w1+w2 so wählst, dass sie zusammen 1 ergeben (und nicht 0,75) ist es noch einfacher.



  • Hey, danke. Das war ja ein recht einfacher Ansatz, nur habe ich ihn nicht in Betracht gezogen, da ich im Ursprungskontext von sechs Schiffstypen ausgehe o.O. Ich habe es nur dummerweise im Modell auf zwei Schiffstypen reduziert, und jetzt gelingt es mir nicht, den Ansatz auf sechs Schiffstypen zu übertragen.
    Wenn es acht Schiffstypen wären, dann schon eher, weil das eine Potenz von 2 ist und ich den Term einfach dreimal verschachteln muss.
    Aber was ist bei drei (bzw. sechs) Schiffstypen? Wie drücke ich jetzt die Relation zwischen w1,w2,w3 und n1,n2,n3 aus?

    Entschuldigt meine Dummheit.

    Gruß
    Deblu



  • Mir fällt übrigens gerade auf, dass dein Ansatz nur funktioniert, wenn für beide Schiffstypen gleich viele Schiffe vorhanden sind. Das ist aber nur im Modell so, es soll nicht immer so sein.



  • Man gewichtet jedes zerstoerte Schiff entsprechend seinem Wert und summierst dann ueber alle gewichteten Schiffe. Danach teilst du durch die Gesamtzahl/-summe aller gewichteten Schiffe der entsprechenden Flotte. Nennt sich Normierung.



  • Knivil: Ich bin mir nicht sicher, ob ich dich richtig verstanden habe.
    Ich soll jedes zerstörte Schiff entsprechend seinem Wert gewichten. Wie soll ich jedes zerstörte Schiff gewichten? Die Anzahl der zerstörten Schiffe will ich doch ausrechnen.
    Wovon bilde ich die Summe und durch welche Summe teile ich sie?

    Ich will beispielsweise folgendes konkretes Beispiel lösen:

    Schiffstyp1 : 100 Schiffe in den Kampf
    Schiffstyp2 : 100 Schiffe in den Kampf
    Schiffstyp3 : 100 Schiffe in den Kampf

    Schiffstyp1 Gewichtung: 0.6 (60%)
    Schiffstyp2 Gewichtung: 0.25 (25%)
    Schiffstyp3 Gewichtung: 0.15 (15%)

    Zerstört: 50% der Flotte

    Welche Formel liefert mir jetzt die korrekten Werte?



  • Es gibt insgesamt 300 Schiffe.

    Verlust Typ 1: 300 (Anzahl Schiffe) * 0,5 (insgesamt Verlust der Flotte) * 0,6 (Verlustfaktor Typ 1) = 90
    Verlust Typ 2: 300 * 0,5 * 0,25 = 37,5 = 38
    Verlust Typ 1: 300 * 0,5 (Gesamtverlust) - 90 (Verlust Typ 1) - 38 (Verlust Typ 2) = 22



  • Deblu schrieb:

    Mir fällt übrigens gerade auf, dass dein Ansatz nur funktioniert, wenn für beide Schiffstypen gleich viele Schiffe vorhanden sind. Das ist aber nur im Modell so, es soll nicht immer so sein.

    Hast du hierfür ein Beispiel? Die Anzahl der vorhandenen Schiffe geht überhaupt nicht in das Modell ein, wie soll sie dann das Ergebnis beeinflussen?



  • Du solltest dir mal das Kampfsystem von http://www.ogame.de/ zu Gemuete fueheren. Ich glaube du gehst da an die Sache falsch heran. Entweder die Schiffe kaempfen und aus den Verlusten wird der Verlustfaktor berechnet oder aber der Verlustfaktor ist vorgegeben und die Anzahl der zerstoerten Schiffe mit Typ werden berechnet (mehrere Varianten koennen zu einem Verlustfaktor gehoeren). Wir koennten besser antworten, falls wir mehr Kontextinformationen haetten.

    Gewinner verliert 10% der Flotte, Verlierer verliert 50%.

    Wie kommt man denn zu den Zahlen 10% und 50%. Ausserdem, wenn Angreifer A 90% seiner Flotte hat und Angreifer B noch 50%, dann eigentlich gar keiner gewonnen.



  • @Bashar: Die Anzahl sollte aber in das Modell eingehen. Die Prozentwerte sind ja eine Eigenschaft der Schiffstypen.
    Angenommen es gibt von Typ1 50 Schiffe und von Typ2 200 Schiffe.
    Gesamtverlust: 250
    n1 = 250 * 0.6/(0.75) = 200
    Das kann schon nicht, weil es von dem Typ nur 50 Schiffe gab. Es muss also eine Formel gefunden werden, die abhängig von der Anzahl des jeweiligen Schiffstyp ist.

    Kontextinformationen sind irrelevant, da sie von mir nicht änderbar sind (wir arbeiten modular. für den Basisteil des Kampfsystems bin ich nicht zuständig). Fakt ist, dass ich nur diese Werte zur Verfügung habe:
    Wahrscheinlichkeiten der Typen 1-3, Anzahl der Schiffe der Typen 1-3, Gesamtverlust.
    Und aus diesen Werten muss ich was machen. Das muss (zumindest iterativ, wenn nicht algebraisch) irgendwie möglich sein, da es ja ein eindeutiges Ergebnis gibt.

    Die Werte 10% und 50% habe ich nur der Einfachheit halber gewählt. Das sind keine Realwerte, die das Kampfsystem zurückliefert.



  • Die Werte 10% und 50% habe ich nur der Einfachheit halber gewählt. Das sind keine Realwerte, die das Kampfsystem zurückliefert.

    Die Realwerte sind mir auch schnuppe, aber welche "Instanz" koennte solche Zahlen produzieren, darum geht es.

    Anzahl der Schiffe der Typen 1-3

    Vor und/oder nach der Schlacht?

    Wer berechnet denn den Gesamtverlust? Wie entsteht der Gesamtverlust?

    Vielleicht habt ihr euch das auch einfach nur scheisse aufgeteilt? Vielleicht solltet ihr euch das nochmal designtechnisch ueberlegen. Leider gibt es unzaehlige Moeglichkeiten, den Gesamtverlust auf die Flotte zu verteilen. Ergo: Geht nicht (zufriedenstellend).



  • Deblu schrieb:

    @Bashar: Die Anzahl sollte aber in das Modell eingehen. Die Prozentwerte sind ja eine Eigenschaft der Schiffstypen.
    Angenommen es gibt von Typ1 50 Schiffe und von Typ2 200 Schiffe.
    Gesamtverlust: 250
    n1 = 250 * 0.6/(0.75) = 200
    Das kann schon nicht, weil es von dem Typ nur 50 Schiffe gab.

    Das ist dein Ansatz, der da nicht funktioniert. Dass die Verluste nach einem festen Verhältnis aufgeteilt werden, war ja nicht meine Idee :p


Anmelden zum Antworten