SMART Questauswahl

In dieses Unterforum kommen alle Beiträge zu Feature-Requests, die bereits umgesetzt wurden.
Licor
Core Developer
Beiträge: 80
Registriert: Do 27. Feb 2014, 00:08
Hat sich bedankt: 0
Danksagung erhalten: 0

SMART Questauswahl

Beitrag von Licor »

Hey, ich wollte mal ein neues Thema erstellen was zwar nicht neu an sich ist, aber ich glaube es lohnt sich dafür ;-)

also wie schon der Betreff sagt, bin ich immernoch auf dem Pfad anstatt die maximale Erfahrungs Questauswahl eine SMART Questsauswahl zu integrieren...
Mein Datensatz für Quests die zur Auswahl stehen ist zwar noch nicht so groß, aber ich habe mit den 36x3 quests die für meinen Charakter zur verfügung standen mal ein paar Simulationen laufen lassen, in denen ich zum einen immer die Quest gewählt habe die am meisten Erfahrung/Sekunde gab, zum anderen habe ich meinen SMART-Ansatz benutzt der einfach nur guckt, ob die Erfahrung pro Sekunde der nächsten maxErfahrung/Sekunde Quest größer ist als der Mittelwert der bisher gewählten Quests * p wobei 0.5<=p<=1. Wenn die Erfahrung/Sekunde kleiner ist, wird die Quest gewählt die am wenigsten Zeit (also Abenteuerlust) verbraucht. Sollte es zwei Quest geben die gleich kurz (zeitlich) sind wird die genommen, die mehr Erfahrung/Sekunde gibt.

Die angehängten Bilder zeigen, zum einen den Vergleich für SMART und maxErfahrung/Sekunde für die durchschnittliche Erfahrung/Sekunde die während 100 Abenteuerlust bekommen wurde und zum anderen die Anzahl an Quest die innerhalb von 100 Abenteuerlust absolviert wurden.
smart vs maxEP.png
smart vs maxEP.png (275.79 KiB) 11137 mal betrachtet
Resultat ist: Ich bekomme mit der SMART Strategie ca 2.5% mehr Erfahrung und zudem mache ich ca 19% mehr Quests, sprich also 19% mehr chancen auf Pilze.

Die Ergebnisse beziehen sich auf Quest die meinem Level 279 charakter zur Verfügung stehen, ich habe die 3er Quest paarungen immer beibehalten aber die Reihenfolge der Quest habe ich randomized. Dann wurde jeweils ein Mittelwert über 500 Iterationen berechnet.


Für Fragen und Anregungen und sonstige Kommentare stehe ich gerne zur Verfügung und hoffe das eine SMART auswahl bald im Bot zu finden ist ;-)

LG Licor
Benutzeravatar
olafson
Moderator
Beiträge: 745
Registriert: Do 28. Nov 2013, 14:01
Hat sich bedankt: 11 Mal
Danksagung erhalten: 12 Mal

Re: SMART Questauswahl

Beitrag von olafson »

Hallo Licor,

Gute Idee, danke dafür!

Noch ein paar Sachen, die mir dazu einfallen: Ich fände es gut, wenn Deine SMART-Technologie nicht auf Exp beschränkt wäre, sondern auch Gold berücksichtigt! Damit wären dann nämlich 'rote' Quests auch abgedeckt, die bisher nämlich verloren gehen, wenn man auf Exp spielt!

Und noch ein paar technische Aspekte:

Sehr wichtig ist, dass der Durchschnitt sich nur aus 'normalen' Quests berechnen darf, sonst wird er z.B. nach einem Exp-Event eine ganze Weile keine Exp-Quests mehr annehmen :D

Und der Bot muss den bisherigen Durchschnittswert (meanExp) speichern und auch wissen, aus wie vielen Einzelwerten (currentValues) dieser besteht, und zwar nach folgender Formel:

' meanExp = meanExp + (currentExp - meanExp) / currentValues '

Grob umschrieben wird dabei zuerst das Delta aus derzeitiger und bisheriger Erfahrung gebildet. Danach erfolgt die Wichtung über das Teilen durch die aktuelle Anzahl der insgesamt einbezogenen Werte. Der gewichtete Wert wird dann der bisherigen durchschnittlichen Erfahrung zugeschlagen, fertig ^^

Soweit vorerst!
Gruß, Olafson
Keine Unterstützung per Mail - bitte bei Fragen das Forum verwenden!
No support by mail - please use the forum in case of questions!
Do you enjoy our work? Donate a coffee, or chocolate - even advocaat would be welcome :mrgreen:
picard
Spender
Beiträge: 30
Registriert: So 9. Mär 2014, 21:46
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: SMART Questauswahl

Beitrag von picard »

find ich gut !

sollte integriert werden
Licor
Core Developer
Beiträge: 80
Registriert: Do 27. Feb 2014, 00:08
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: SMART Questauswahl

Beitrag von Licor »

@ Olafson
zum ersten punkt:
wie schon im chat besprochen, wäre das rote quest Problem einfach zu integrieren mit einer abfrage die guckt wieviel Gold man durchschnittlich bekommt und wieviel die jetztigen Quests darüber oder darunter liegen, mit bissl ausprobieren sollte dann leicht ein threshold zu setzten sein mit den man rote quest auslesen und somit auch auswählen kann.

Von meiner Seite aus soll sich die SMART-Auswahl natürlich nicht nur auf exp beschränken, ich versuche den code so allgemein zu halten wie möglich, sodass man dann einfach angibt was man primär und sekundär haben will und die variablen dann einfach je nach auswahl in den code eingefügt werden.
In dem Beispiel von oben habe ich primär auf Exp und sekundär auf Zeit simuliert.... andere combinationen wie Zeit und Gold oder Gold und Exp sollen auch implementiert werden... simulationen dazu brauchen aber noch bissl, da ich die daten alle aus den loggs auslese, mein script kann aber bisher nur die exp und zeit daten erfassen.

zum zweiten und dritten punkt:
jup.. der mean sollte für die Wochenenden und nach level-ups resetten... und ja der mean muss ein gewichteter mean sein, mir schwirrt da was von

mean_exp= (mean_exp*values + current_exp)/(values+1)

durch den Kopf... aber wenn es simpler geht immer her damit :p

lg Licor
Licor
Core Developer
Beiträge: 80
Registriert: Do 27. Feb 2014, 00:08
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: SMART Questauswahl

Beitrag von Licor »

olafson hat geschrieben:
' meanExp = meanExp + (currentExp - meanExp) / currentValues '
so hab jetzt mal deine und meine Formel verglichen, weil es ja doch bissl wirr im chat damit war... wie schon durch excel gezeigt sind beide richtig, aber jetzt hab ich auch deinen weg verstanden ^^ !!
Der Unterschied zwischen beiden Formeln ist die betrachtungsweise der Gewichtung, bei deiner normalisierst du auf den alten mean und benutzt deswegen das delta welches du dann noch mit den anzahl der elemente gewichten musst.

Bei meiner wird nicht normalisiert und deswegen muss ich die Gewichtung durch die Anzahl der beinhaltenden elemente auf alle Variablen anwenden.

Soooo Gute Nacht ^^
Benutzeravatar
oRGaZMo
Core Developer
Beiträge: 236
Registriert: Sa 15. Feb 2014, 10:27
Hat sich bedankt: 0
Danksagung erhalten: 3 Mal

Re: SMART Questauswahl

Beitrag von oRGaZMo »

über so eine funktion mach ich mir auch schon sehr lange gedanken...
denn so spiele ich auch von hand:
wenn 3 goldquests angeboten werden die deutlich unterm EP schnitt liegen,
dann von Max EP abweichen und die kürzeste dauer wählen .

greetz
oRGaZMo
Die Signatur befindet sich aus technischen Gründen auf der Rückseite dieses Beitrags.
xDrAcHeNx
Beiträge: 20
Registriert: Fr 4. Apr 2014, 19:33
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: SMART Questauswahl

Beitrag von xDrAcHeNx »

Würde man dasselbe auch mit Gold implementieren können? (Denn für mich liegen die Vorteile klar dabei mehr Gold zu machen.
Benutzeravatar
olafson
Moderator
Beiträge: 745
Registriert: Do 28. Nov 2013, 14:01
Hat sich bedankt: 11 Mal
Danksagung erhalten: 12 Mal

Re: SMART Questauswahl

Beitrag von olafson »

Hallo zusammen!

Licor, erstmal ein großes Lob: Die SMART-Auswahl kommt mit dem Goldevent super klar!

Bisher hatte ich wie xDrAcHeNx angenommen, dass ausschließlich Erfahrung damit gepusht wird. Aber an normalen Tagen sind gute Goldquests natürlich rar und man prüft ja auch nicht jede Entscheidung des Bots.

Danke für dieses äußerst hilfreiche Feature ;)

Viele Grüße,
Olafson

PS: Gerade fällt mir auf, dass er sich manchmal noch 'umentscheidet', wenn er keine gute Quest findet und auf Zeit geht. Dann stehen im Log zwei Einträge dazu (teilweise ist die erstgenannte Quest nicht mal die mit der kürzesten Zeit ^^)
Keine Unterstützung per Mail - bitte bei Fragen das Forum verwenden!
No support by mail - please use the forum in case of questions!
Do you enjoy our work? Donate a coffee, or chocolate - even advocaat would be welcome :mrgreen:
Benutzeravatar
oRGaZMo
Core Developer
Beiträge: 236
Registriert: Sa 15. Feb 2014, 10:27
Hat sich bedankt: 0
Danksagung erhalten: 3 Mal

Re: SMART Questauswahl

Beitrag von oRGaZMo »

olafson hat geschrieben: PS: Gerade fällt mir auf, dass er sich manchmal noch 'umentscheidet', wenn er keine gute Quest findet und auf Zeit geht. Dann stehen im Log zwei Einträge dazu (teilweise ist die erstgenannte Quest nicht mal die mit der kürzesten Zeit ^^)
ha sowas ähnliches wollt ich auch grad reporten: :mrgreen: der logtext:

Code: Alles auswählen

[INFO-TAV] 03:37 Uhr: Taverne wird betreten...
[INFO-TAV] 03:37 Uhr: SMART Auswahl Zeit statt Erfahrung (Quest 2)
[INFO-TAV] 03:37 Uhr:        Quest 1: 05:00 min, 460,0 Tsd. Gold (1533/s), 165,4 Tsd. XP (551,3/s)
[INFO-TAV] 03:37 Uhr:        Quest 2: 05:00 min, 418,0 Tsd. Gold (1393/s), 263,4 Tsd. XP (878,0/s)
[INFO-TAV] 03:37 Uhr:        Quest 3: 05:00 min, 243,3 Tsd. Gold (810,9/s), 496,2 Tsd. XP (1654/s)
[INFO-TAV] 03:37 Uhr: Gewählter Quest: Quest 2 nach Auswahlverfahren 4
aber ich glaube gestern im chat beiläufig gelesen zu haben, dass licor eh schon n update an robin geschickt hat?

übrigens nochmal n ausdrückliches dankeschön an licor fürs entwickeln dieses features.
möchtest du in den nächsten tagen auch am closed-beta test des SA-Tools teilnehmen,
oder haste mit den quests selbst genug ärger am hals? :lol:

greetz
oRGaZMo
Die Signatur befindet sich aus technischen Gründen auf der Rückseite dieses Beitrags.
Licor
Core Developer
Beiträge: 80
Registriert: Do 27. Feb 2014, 00:08
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: SMART Questauswahl

Beitrag von Licor »

Hey,...
ich hab nochmal die abfragen komplett überarbeitet, die bugs die ihr hier genannt habt, müssten in der nächsten version behoben sein ^^.

Natürlich wäre dieses feature auch auf Gold optimierung anzuwenden, allerdings wollen wir nicht 1000 wahlmöglichkeiten machen, da es sonst 9 kombinationen gäbe... bisher liegt das primäre augenmerk der auswahl auf Erfahrung (und rote quests, Epics, Spiegelstücke), sekundär sucht er, wenn alle quests scheiße sind (in hinsicht auf erfahrung), die kürzeste quest (wenn mehrer gleich kurz, die die mehr erfahrung gibt)... Jetzt könnte man ja auch primär auf gold gehen und sekundär auf erfahrung.... oder primär gold sekundär zeit... oder oder oder...

es gibt einfach erstmal zu viele möglichkeiten, um alle wünsche zu erfüllen und gleichzeitig den bot nicht a) unendlich langsam zu machen, und b) das bot interface zu verkomplizieren


bezüglich der beta-tester anfrage interesiert es mich zwar schon und ich würde es gerne testen, nur weiß ich nicht wieviel zeit ich darauf verwenden kann, aber wenn du es mir schickst, werde ich mein bestes tun umm ihn zu testen ^^

cheers Licor
Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste