|
-
Neuling
Anzahl Steintafeln bei Händlern: die (fast) endgültige und überraschende Antwort (nein, nicht 5)
Vor einigen Wochen habe ich beschlossen, die Frage nach der maximalen Anzahl von Steintafeln, welche Händler in Gothic 3 im Angebot haben können, endgülitg zu klären und nachdem es mir schließlich (fast) gelungen ist, will ich meine Ergebnisse nun hier teilen, da die korrekte Antwort scheinbar nirgends im Internet zu finden ist. Die Antwort gilt für Gothic 3 mit dem aktuellsten Community Patch V1.75.20108 (Rev. 14).
Begonnen habe ich meine Recherche mit einem C++ Programm, welches Gothic 3 wiederholt neu lädt, den Händler Jared in Geldern erstmals anspricht und dann einen Screenshot seines Händlerinventars speichert. Diese Screenshots habe ich dann mithilfe von Mathematica automatisiert ausgewertet und folgende Daten erhoben.
Jared hat eine Auswahl der folgenden 41 Gegenstände im Angebot:
1 |
Münze |
2 |
Weltkarte |
3 |
Rezept für Fleischwanzenragout |
4 |
Rezept für Schnaps aus Schnapsbeeren |
5 |
Gebratenes Fleisch |
6 |
Brot |
7 |
Möhre |
8 |
Wasser |
9 |
Reis |
10 |
Schnaps |
11 |
Wein |
12 |
Heiltrank |
13 |
Gegengift |
14 |
Kelle |
15 |
Pfanne |
16 |
Flasche |
17 |
Fackel |
18 |
Dietrich |
19 |
Bolzen |
20 |
Holzfälleraxt |
21 |
Schmiedehammer |
22 |
Schaufel |
23 |
Spitzhacke |
24 |
Steintafel |
25 |
Stab der Zauberei |
26 |
Stab der Verteidigung |
27 |
Goldener Ring |
28 |
Schutzring des Kampfes |
29 |
Ring der Pfeilabwehr |
30 |
Eisschutzring |
31 |
Waffenschutzring |
32 |
Ring der Gesundheit |
33 |
Stärkering |
34 |
Ring der Energieabwehr |
35 |
Ring der Ausdauer |
36 |
Feuerschutzring |
37 |
Amulett der Lebenskraft |
38 |
Amulett der Ausdauer |
39 |
Amulett der Geschossabwehr |
40 |
Amulett der Abwehr |
41 |
Amulett des meisterhaften Schutzes |
Aufgrund der Gruppierung der Gegenstände im Händlerinventar hatte ich die erste Vermutung, dass die Anzahlen der Ringe, Amulette, Zauberstäbe und Steintafeln mithilfen desselben Algorithmus bestimmt werden, weshalb ich mich vorerst auf die Auswertung von deren Vielfachheiten beschränkt habe. Bei 285360 Erstgesprächen mit dem Händler Jared ergaben sich die folgenden Häufigkeiten und Wahrscheinlichkeiten in Prozent:
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Summe |
Steintafel |
146846 |
99276 |
31789 |
6494 |
866 |
84 |
5 |
0 |
0 |
285360 |
Stab der Zauberei |
147183 |
98999 |
31766 |
6465 |
855 |
84 |
8 |
0 |
0 |
285360 |
Stab der Verteidigung |
147418 |
99202 |
31414 |
6337 |
885 |
101 |
2 |
1 |
0 |
285360 |
Goldener Ring |
147143 |
99236 |
31755 |
6258 |
868 |
92 |
6 |
1 |
1 |
285360 |
Schutzring des Kampfes |
147316 |
99165 |
31585 |
6286 |
888 |
106 |
13 |
1 |
0 |
285360 |
Ring der Pfeilabwehr |
146846 |
99412 |
31777 |
6282 |
942 |
90 |
11 |
0 |
0 |
285360 |
Eisschutzring |
147368 |
99145 |
31469 |
6354 |
909 |
107 |
8 |
0 |
0 |
285360 |
Waffenschutzring |
147796 |
98562 |
31536 |
6431 |
928 |
101 |
4 |
2 |
0 |
285360 |
Ring der Gesundheit |
147348 |
99104 |
31694 |
6243 |
889 |
68 |
12 |
2 |
0 |
285360 |
Stärkering |
146990 |
99380 |
31656 |
6343 |
894 |
88 |
9 |
0 |
0 |
285360 |
Ring der Energieabwehr |
147307 |
99088 |
31551 |
6382 |
920 |
98 |
13 |
1 |
0 |
285360 |
Ring der Ausdauer + Feuerschutzring |
293873 |
198587 |
63570 |
12694 |
1763 |
216 |
16 |
1 |
0 |
570720 |
Amulett der Lebenskraft |
147605 |
98935 |
31451 |
6365 |
912 |
89 |
3 |
0 |
0 |
285360 |
Amulett der Ausdauer + Amulett der Geschossabwehr |
294554 |
198283 |
63204 |
12637 |
1843 |
181 |
15 |
3 |
0 |
570720 |
Amulett der Abwehr + Amulett des meisterhaften Schutzes |
294753 |
198472 |
62884 |
12614 |
1802 |
178 |
17 |
0 |
0 |
570720 |
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Summe |
Steintafel |
51.460 |
34.790 |
11.140 |
2.2757 |
0.30348 |
0.029437 |
0.0017522 |
0.00000000 |
0.00000000 |
100 |
Stab der Zauberei |
51.578 |
34.693 |
11.132 |
2.2656 |
0.29962 |
0.029437 |
0.0028035 |
0.00000000 |
0.00000000 |
100 |
Stab der Verteidigung |
51.660 |
34.764 |
11.009 |
2.2207 |
0.31013 |
0.035394 |
0.0007009 |
0.00035043 |
0.00000000 |
100 |
Goldener Ring |
51.564 |
34.776 |
11.128 |
2.1930 |
0.30418 |
0.032240 |
0.0021026 |
0.00035043 |
0.00035043 |
100 |
Schutzring des Kampfes |
51.625 |
34.751 |
11.068 |
2.2028 |
0.31119 |
0.037146 |
0.0045556 |
0.00035043 |
0.00000000 |
100 |
Ring der Pfeilabwehr |
51.460 |
34.837 |
11.136 |
2.2014 |
0.33011 |
0.031539 |
0.0038548 |
0.00000000 |
0.00000000 |
100 |
Eisschutzring |
51.643 |
34.744 |
11.028 |
2.2267 |
0.31854 |
0.037496 |
0.0028035 |
0.00000000 |
0.00000000 |
100 |
Waffenschutzring |
51.793 |
34.540 |
11.051 |
2.2536 |
0.32520 |
0.035394 |
0.0014017 |
0.00070087 |
0.00000000 |
100 |
Ring der Gesundheit |
51.636 |
34.729 |
11.107 |
2.1878 |
0.31154 |
0.023830 |
0.0042052 |
0.00070087 |
0.00000000 |
100 |
Stärkering |
51.510 |
34.826 |
11.093 |
2.2228 |
0.31329 |
0.030838 |
0.0031539 |
0.00000000 |
0.00000000 |
100 |
Ring der Energieabwehr |
51.621 |
34.724 |
11.057 |
2.2365 |
0.32240 |
0.034343 |
0.0045556 |
0.00035043 |
0.00000000 |
100 |
Ring der Ausdauer + Feuerschutzring |
51.492 |
34.796 |
11.139 |
2.2242 |
0.30891 |
0.037847 |
0.0028035 |
0.00017522 |
0.00000000 |
100 |
Amulett der Lebenskraft |
51.726 |
34.670 |
11.022 |
2.2305 |
0.31960 |
0.031189 |
0.0010513 |
0.00000000 |
0.00000000 |
100 |
Amulett der Ausdauer + Amulett der Geschossabwehr |
51.611 |
34.743 |
11.074 |
2.2142 |
0.32293 |
0.031714 |
0.0026283 |
0.00052565 |
0.00000000 |
100 |
Amulett der Abwehr + Amulett des meisterhaften Schutzes |
51.646 |
34.776 |
11.018 |
2.2102 |
0.31574 |
0.031189 |
0.0029787 |
0.00000000 |
0.00000000 |
100 |
Dass Ring der Ausdauer, Feuerschutzring, Amulett der Ausdauer, Amulett der Geschossabwehr, Amulett der Abwehr und Amulett des meisterhaften Schutzes jeweils zu Paaren zusammengefasst sind, liegt daran, dass sich deren Grafiken im Händlerinventar so sehr ähneln, dass eine zuverlässige automatisierte Erkennung nicht gewährleistet werden kann. Bezüglich der resultierenden Wahrscheinlichkeiten spielt dies jedoch keine Rolle. Wie man erkennen kann, stimmen diese nämlich signifikant überein und die ursprüngliche Annahme, dass die Häufigkeiten der zugehörigen Gegenstände im Händlerinventar auf dieselbe Art bestimmt werden, scheint daher gerechtfertigt.
Durch Aufsummieren ergeben sich die folgenden Werte und Durchschnitte (und damit genauesten Werte) der jeweiligen Wahrscheinlichkeiten:
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Summe |
2650346 |
1784846 |
569101 |
114185 |
16164 |
1683 |
142 |
12 |
1 |
5136480 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Summe |
51.598 |
34.748 |
11.080 |
2.2230 |
0.31469 |
0.032766 |
0.0027645 |
0.00023362 |
0.000019469 |
100 |
Als weitere Erkenntnis kann man mitnehmen, dass ein Händler mit absoluter Gewissheit bis zu 6 (da dies 5 Mal tatsächlich vorgekommen ist - die zugehörigen Screenshots füge ich weiter unten hinzu) vermutlich jedoch sogar bis zu 8 Steintafeln im Angebot haben kann (da dies im Fall des Goldener Ringes zumindest ein Mal tatsächlich vorgekommen ist - der Screenshot ist ebenfalls weiter unten zu finden).
----------------------------------------------------------------------------------------------------
So viel zum empirischen Teil, nun zum theoretischen. Mithilfe der gepackten Dateien im Gothic 3 Verzeichnis und einem Hexeditor lässt sich nämlich das genaue Verfahren, nach welchem die Händlerinventare generiert werden, rekonstruieren und die empirschen Daten bestätigen das resultierende Modell, wie sich zeigen wird.
Entpackt man die Datei "Templates.pak", so findet man darin die Datei "Items\Items\Items_Story\Artefacts_Story_It_Stoneplate_INT_01.tple". Diese enthält alle Daten, welche die Steintafeln betreffen, unter anderem auch die eindeutige ID, welche das Spiel benutzt, um auf diese zu verweisen. Diese ID besteht aus 16 Byte und beginnt beim Offset 606. Sie lautet:
4A 20 0F B0 14 2A 9D 4D 94 B2 9B 40 81 F8 D0 73 |
Durchsucht man nun alle 4173 Dateien im Archiv "Templates.pak", so findet man diese Bytefolge nur in zwei Dateien, nämlich in der genannten "Items\Items\Items_Story\Artefacts_Story_It_Stoneplate_INT_01.tple" und in "Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple". Dem Namen der letztgenannten Datei nach zu urteilen definiert diese, wie die Händlerinventare von "Artefakthändlern" gebildet werden. In dieser Datei findet sich ebenfalls eine ID, nämlich
C2 4B 8A 40 80 CC A0 43 84 74 81 BC 1C 84 0C 03 |
bei Offset 382. Interessanterweise kommt diese Bytefolge kein weiteres Mal unter den Dateien in "Templates.pak" vor. Allerdings kann die Zeichenfolge "TS_Trader_Ass_Artefact" 16 Mal gefunden werden, nämlich in den Dateien
NPC\Myrtana\Faring_city_Koraz.tple |
NPC\Myrtana\Geldern_City_Hamil.tple |
NPC\Myrtana\Geldern_City_Jared.tple |
NPC\Myrtana\Geldern_City_Mirzo.tple |
NPC\Myrtana\Geldern_City_Peratur.tple |
NPC\Myrtana\Geldern_City_Renwik.tple |
NPC\Myrtana\Gotha_Outdoor_Narkan.tple |
NPC\Myrtana\Kap Dun_City_Deckard.tple |
NPC\Myrtana\Montera_City_Basir.tple |
NPC\Myrtana\Silden_City_Temmy.tple |
NPC\Myrtana\Trelis_City_Khabir.tple |
NPC\Varant\MoraSul_City_Faesul.tple |
NPC\Varant\MoraSul_City_Ilja.tple |
NPC\Varant\MoraSul_Excavation_Mezir.tple |
Treasure\Trader\Trade_Generate.lrtpldatasc |
Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple |
Es wird also auf diese Weise auf die Datei verwiesen und nicht über deren ID. Die ersten 14 Dateien entsprechen genau den 14 Händlern, welche Steintafeln im Angebot haben können. Die 15. Datei scheint bloß eine Art Stringtabelle zu definieren (vermutlich, damit die Dateinamen als IDs verwendet werden können) und dürfte für unser Problem irrelevant sein. Zusammenfassend haben wir bisher also die folgenden relevanten Dateien gefunden:
Items\Items\Items_Story\Artefacts_Story_It_Stoneplate_INT_01.tple |
Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple |
NPC\Myrtana\Faring_city_Koraz.tple |
NPC\Myrtana\Geldern_City_Hamil.tple |
NPC\Myrtana\Geldern_City_Jared.tple |
NPC\Myrtana\Geldern_City_Mirzo.tple |
NPC\Myrtana\Geldern_City_Peratur.tple |
NPC\Myrtana\Geldern_City_Renwik.tple |
NPC\Myrtana\Gotha_Outdoor_Narkan.tple |
NPC\Myrtana\Kap Dun_City_Deckard.tple |
NPC\Myrtana\Montera_City_Basir.tple |
NPC\Myrtana\Silden_City_Temmy.tple |
NPC\Myrtana\Trelis_City_Khabir.tple |
NPC\Varant\MoraSul_City_Faesul.tple |
NPC\Varant\MoraSul_City_Ilja.tple |
NPC\Varant\MoraSul_Excavation_Mezir.tple |
Die NPC Dateien enthalten dabei offenbar Informationen darüber, über welche "TreasureSets" (der Begriff kann in den NPC Dateien gefunden werden, etwa in der Datei "NPC\Myrtana\Geldern_City_Jared.tple" bei Offset 11000, ein NPC kann bis zu 5 TreasureSets zugeordnet haben) der jeweilige NPC sein Inventar generiert und das TreasureSet legt dann fest, in welcher Häufigkeit welche Gegenstände generiert werden. Eine weitere Analyse des TreasureSets "Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple" zeigt, dass in diesem 20 IDs, welche zu Gegenständen gehören, zu finden sind (jeweils im Abstand von 200 Byte). Diese IDs und die zugehörigen Gegenstände sind:
Schaufel |
CC 79 46 A5 13 6E 70 41 8D B6 BE D6 A9 2B 81 29 |
Spitzhacke |
A0 CB F1 5D 3F 86 72 4F 96 7C 38 43 DE 6D 60 09 |
Stab der Verteidigung |
FC BF 41 0C 96 B7 82 4F 92 7D 0F 1E 61 4F 6B 0B |
Ring der Ausdauer |
6C C3 78 DF 5C 38 A1 44 B4 DB 63 B1 25 7D D9 DD |
Steintafel |
4A 20 0F B0 14 2A 9D 4D 94 B2 9B 40 81 F8 D0 73 |
Waffenschutzring |
02 78 52 75 CC 77 CD 41 A5 BB 00 69 23 AD C2 0D |
Amulett der Ausdauer |
A1 EA EC 0E 18 C3 55 44 A1 AB EA 2F 1A 2E 18 9F |
Stab der Zauberei |
76 45 84 AC 93 6B FB 4A 9B 68 20 28 3C FF 23 A3 |
Stärkering |
C1 19 3F B9 22 ED 5D 44 9B DF BD CE B1 70 99 0A |
Schutzring des Kampfes |
95 EA DC 0B 8A AC 0E 46 A6 79 B5 5C B1 3D C9 F5 |
Ring der Pfeilabwehr |
EB 9F F9 34 16 AE 4A 4A B6 AD CF 89 9F 8D F8 36 |
Eisschutzring |
89 ED 64 04 BF 44 39 4D 9B 73 20 29 BA E6 22 40 |
Ring der Energieabwehr |
F8 F2 C8 63 A4 92 EB 42 8B CE 3C F1 60 B9 E8 BB |
Amulett der Lebenskraft |
69 AE C3 EB F8 FD 57 42 AD 4F 49 10 08 BA 6B 8C |
Ring der Gesundheit |
D5 38 E8 B4 8F 0F 8C 44 BF 6A 8E 0D 52 2A 35 E6 |
Feuerschutzring |
C8 C3 12 D4 21 6A 16 48 A2 C8 FF 4D A0 B3 2A BC |
Amulett der Abwehr |
66 5B CA F1 21 8E EA 42 AB 12 27 B6 AE EC 1E 8B |
Amulett des meisterhaften Schutzes |
5B 4D 45 35 18 36 28 48 AC 72 FF F9 29 11 DF 2B |
Amulett der Geschossabwehr |
4B 09 6A 33 0B 9B 28 4B 9F 13 48 E8 46 53 C7 D6 |
Goldener Ring |
A2 AC B6 41 6D 00 F0 41 BF 38 5D EA 45 76 E5 82 |
Das sind also genau die 18 Gegenstände, deren Häufigkeiten wir aufgrund unserer Vorahnung für Jared empirisch erhoben haben und zusäzlich noch die beiden Gegenstände "Schaufel" und "Spitzhacke". Betrachtet man die Häufigkeiten und Wahrscheinlichkeiten von Schaufeln und Spitzhacken, so ergibt sich:
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Summe |
Schaufel |
110918 |
90447 |
51780 |
21865 |
7499 |
2182 |
515 |
125 |
26 |
3 |
0 |
285360 |
Spitzhacke |
0 |
201312 |
52252 |
21661 |
7396 |
2049 |
555 |
110 |
21 |
3 |
1 |
285360 |
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Summe |
Schaufel |
38.869 |
31.696 |
18.146 |
7.6623 |
2.6279 |
0.76465 |
0.18047 |
0.043804 |
0.0091113 |
0.0010513 |
0.00000000 |
100 |
Spitzhacke |
00.000 |
70.547 |
18.311 |
7.5908 |
2.5918 |
0.71804 |
0.19449 |
0.038548 |
0.0073591 |
0.0010513 |
0.00035043 |
100 |
Diese Wahrscheinlichkeiten stimmen nicht mit jenen der anderen Gegenstände überein und auf den ersten Blick scheint es, als wäre unser Versuch, die Häufigkeiten der Gegenstände im Händlerinventar von Jared mit den Informationen in den gefundenen Dateien zu erklären, gescheitert. Allerdings is es so, dass Jared noch weitere TreasureSets hat, nämlich:
Treasure\NPC\Plunder_NPC_TS_Plunder_Merc_Warrior.tple |
Treasure\Trader\Trade_Generate_TS_Trader_Mid_General.tple |
Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple |
Treasure\Trader\Trade_Refresh_TS_Refresh_General.tple |
Treasure\NPC\Weaponry_NPC_TS_Weaponry_Merc_1H.tple |
Schaufel und Spitzhacke kommen auch im TreasureSet "Treasure\Trader\Trade_Generate_TS_Trader_Mid_General.tple" vor und die Spitzhacke dazu noch im TreasureSet "Treasure\Trader\Trade_Refresh_TS_Refresh_General.tple". Dass die Häufigkeiten dieser beiden Gegenstände nicht mit jenen der anderen 18 übereinstimmen, liegt also daran, dass sie auch über diese beiden TreasureSets im Händlerinventar von Jared erzeugt werden und es zu Interferenzen kommt. Die Hoffnung, das Händlerinventar vollständig über die gefundenen Dateien zu erklären, lebt also weiterhin.
Den letzten entscheidenden Hinweis liefert die minimale und maximale Anzahl der Gegenstände aus dem oben genannten Pool von 20 Gegenständen, welche im Händlerinventar von Jared auftauchen. Zählt man bei den 285360 empirisch erhobenen Händlerinventaren jeweils zusammen, wieviele Gegenstände er aus dem Pool der 20 insgesamt hat, so ergibt sich ein Minimum von 10 und ein Maximum von 24. Lässt man allerdings die von Interferenzen verfälschten Häufigkeiten für Schaufel und Spitzhacke weg und betrachtet nur die 18 verbleibenden Gegenstände, so ergibt ich ein Minimum von 4 und ein Maximum von 16. Die für uns entscheidenden Zahlen sind also 10 und 16, da diese jeweils von den Interferenzen unbeeinflusst sind. Die beiden Zahlen 10 und 16 finden sich in der Datei "Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple" bei den Offsets 4909 und 4923 (es sind jeweils offenbar 4 Byte Integers). Ich vermute, sie bilden die Werte "MinTransferStacks" und "MaxTransferStacks", welche in der Datei so als Strings vorkommen.
Betrachtet man alle gewonnenen Informationen, lässt sich folgende Vermutung formulieren:
1) Jeder der 14 Händler Koraz, Hamil, Jared, Mirzo, Peratur, Renwik, Narkan, Deckard, Basir, Temmy, Khabir, Faesul, Ilja und Mezir bestimmt die Anzahl der Steintafeln im Händlerinventar auf dieselbe Weise, nämlich wie in der Datei "Treasure\Trader\Trade_Generate_TS_Trader_Ass_Artefact.tple" festgelegt.
2) Der Analyse dieser Datei zufolge wird beim ersten Ansprechen des NPCs eine Zahl n zwischen 10 und 16 (einschließlich) "erwürfelt" (jeweils mit gleicher Wahrscheinlichkeit), welche festlegt, wieviele Gegenstände aus dem oben genannten Pool von 20 ins Händlerinventar kommen. Danach wird n Mal eine Zahl zwischen 1 und 20 erwürfelt (wiederum einschließlich und mit gleicher Wahrscheinlichkeit) und die erwürfelten Gegenstände bilden dann das Händlerinventar.
Unter dieser Annahme lässt sich mit elementarer Wahrscheinlichkeitsrechnung bestimmen, wie hoch die Wahrscheinlichkeit W(k) ist, einen gegebenen Gegenstand (etwa Steintafeln) genau k=0,1,...,15,16 Mal im Händlerinventar vorzufinden. Die Formel dafür lautet offensichtlich:
W[k_] := 100 * Sum[Binomial[n,k](1/20)^k*(19/20)^(n-k)/7,{n,10,16}]
Die exakten und ungefähren Wahrscheinlichkeiten in Prozent lauten also
|
Exakt |
|
|
Gerundet |
0 |
2367377952200477814061 |
/ |
45875200000000000000 |
51.605 |
1 |
1594276453122117963484 |
/ |
45875200000000000000 |
34.752 |
2 |
507896408220745394820 |
/ |
45875200000000000000 |
11.071 |
3 |
101870560998784192540 |
/ |
45875200000000000000 |
2.2206 |
4 |
14430393171412392120 |
/ |
45875200000000000000 |
0.31456 |
5 |
1533090945670987852 |
/ |
45875200000000000000 |
0.033419 |
6 |
126437786346629508 |
/ |
45875200000000000000 |
0.0027561 |
7 |
8254352164915660 |
/ |
45875200000000000000 |
0.00017993 |
8 |
430607831908170 |
/ |
45875200000000000000 |
0.0000093865 |
9 |
17980614381460 |
/ |
45875200000000000000 |
0.00000039195 |
10 |
597876801388 |
/ |
45875200000000000000 |
0.000000013033 |
11 |
15636978132 |
/ |
45875200000000000000 |
0.00000000034086 |
12 |
314877520 |
/ |
45875200000000000000 |
0.0000000000068638 |
13 |
4713540 |
/ |
45875200000000000000 |
0.00000000000010275 |
14 |
49420 |
/ |
45875200000000000000 |
0.0000000000000010773 |
15 |
324 |
/ |
45875200000000000000 |
0.0000000000000000070626 |
16 |
1 |
/ |
45875200000000000000 |
0.000000000000000000021798 |
was sehr genau mit den empirisch bestimmten Wahrscheinlichkeiten übereinstimmt und damit wohl die Annahme bezüglich des Verfahrens zur Erzeugung der Händlerinventare beweist.
Die endgültige Antwort auf die Frage, wieviele Steintafeln ein Händler im Inventar haben kann, lautet also 16!
Um jedoch mit einer Chance von 50% zumindest ein Mal die jeweilige Häufigkeit zu Gesicht zu bekommen, muss man so oft wie in der folgenden Tabelle gegeben neu laden:
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
1 |
2 |
6 |
31 |
221 |
2074 |
25149 |
385230 |
7384507 |
176847492 |
5318531421 |
203353008933 |
10098614069885 |
674615374805849 |
64342908817530561 |
9814279486920865142 |
3179826553762360305858 |
Nimmt man an, dass es bei einem modernen Computer im Schnitt 20 Sekunden dauert, in Gothic 3 ein gespeichertes Spiel zu laden, braucht man dafür also ein Drittel dieser Werte in Minuten. Im Fall von 16 Steintafeln sind das 2016632771285109 Jahre, also 146027 Mal so lang, wie das Universum bisher existiert hat (bzw. 338929877527 Mal so lang für alle Young Earth Creationists), oder 4.3 Mal so lang wie es dauern wird, bis zum ersten Mal die Hölle zufriert. Bisher hat meines Wissens nur Chuck Norris bei allen Händlern 16 Steintafeln gekauft, er aber dafür gleich zwei Mal.
----------------------------------------------------------------------------------------------------
Ist das das Ende der Geschichte? Nicht ganz, und damit zum Wort "fast" im Titel. Es stellt sich nämlich die Frage, über welchen Pseudozufallsgenerator Gothic 3 seine Zufallszahlen bezieht. Verwendet es etwa die C++ Funktion rand() aus cstdlib, so muss man berücksichtigen, dass diese eine Periodenlänge von 2^32 hat und damit ein so seltenes Ereignis wie 16 Steintafeln vermutlich prinzipiell nie vorkommen kann. Ich habe die Erzeugung von Händlerinventaren konkret mithilfe dieser Funktion simuliert und bei einer Handvoll Versuchen mit verschiedenen Seeds nie mehr als 9 Steintafeln erhalten, bevor sich die Zufallsfolge wiederholt hat. Benutzt Gothic 3 allerdings einen besseren Pseudozufallsgenerator mit einer ausreichend großen Periodenlänge (der Grenzwert dürfte bei etwa 2^72 liegen), so könnten 16 Steintafeln sehr wohl zumindest theoretisch erreicht werden. Wenn jemand diese spezielle Information beisteuern könnte, wie der Gothic 3 interne Zufallsgenerator funktioniert, so ließe sich das "fast" im Titel auch noch streichen. Bis dahin müssen wir uns mit dem vorläufigen Endergebnis
Sicher: 6
Fast sicher: 8
Möglicherweise und auch höchstens: 16
begnügen. Im Anschluss folgen noch die versprochenen Screenshots!
Mario
[Bild: 198149.png][Bild: 231043.png][Bild: 243408.png][Bild: 274708.png][Bild: 284934.png]
[Bild: 225786.png]
-
Lehrling
Ich habe nie mehr als 5 Tafeln bei einem Händler gefunden. Und die 5 war schon sehr selten. Um auf die zu kommen, musste ich irgendwie 50 mal oder mehr neuladen.
Der Aufwand lohnt aber nicht. Man kommt sogar ohne die Tafeln auf hunderte AW und wird bis Spielende übermächtig. In den neueren Spielen habe ich solange geladen, bis der Händler eine Tafel hat, falls er mal mit 0 angefangen hat.
-
Neuling
Wie die Rechnung zeigt, bekommt man im Schnitt nur nach 3000-maligem Neuladen 5 Steintafeln angeboten. Der Erwartungswert bei 14 Händlern ist übringens exakt 91/10 und der Wert mit der größten Wahrscheinlichkeit ist 9 Steinftafeln.
-
Starke Leistung!
Wie hast du das denn gemacht, dass du knapp 300.000 mal neu geladen hast?
Mit der von dir für spätere Rechnungen veranschlagten Ladezeit wären das fast 70 Tage dauerladen
-
Neuling
Zitat von Xardas III
Starke Leistung!
Wie hast du das denn gemacht, dass du knapp 300.000 mal neu geladen hast?
Mit der von dir für spätere Rechnungen veranschlagten Ladezeit wären das fast 70 Tage dauerladen
Danke
Stimmt, das Sammeln der Daten hat sechs Wochen gedauert, weil ich zwei Computer parallel hab laufen lassen. Wirklich gut parallelisieren lässt sich das Ganze leider nicht, höchstens mit mehreren virtuellen Maschinen auf einem Rechner, aber das wollte ich mir nicht antun und es ist auch gar nicht klar, ob das überhaupt effizient funktioniert, weil sich ja alle eine Grafikkarte teilen müssten. Außerdem weiß ich nicht, ob man so ohne Weiteres Tastaturanschläge und Mausklicks auf mehreren VMs gleichzeitg simulieren kann. Hab am Ende doch lieber sechs Wochen gewartet .
-
Danke sehr mario0815, als alter Oft-Neu-Lader, das früher bei der Gothic 3 1.0 Version mit aktiviertem V-Sync mindestens 1 Minute dauerte,
kann man so eine Doktorarbeit wirklich Wert schätzen, eine wertvolle Forschungsarbeit für die Nachwelt!
-
Neuling
-
Sehr interessant Arbeit, danke dafür
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|