2. Porovnání (Newtonův fraktál)
Porovnání jednotlivých řešení po měkkém deadline druhého úkolu.
using CSV, DataFrames"""
record_rank!(data_frame, column)
Pomocná hodnotící funkce přidělující body do sloupce `score` tabulky
`data_frame` podle pořadí ve sloupci `column` (seřazeném).
"""
function record_rank!(data_frame::DataFrame, column::Symbol)
rank = 1
value = first(data_frame[!, column])
for row in eachrow(data_frame)
if ismissing(row[column])
row[:score] += 42
continue
elseif ismissing(value)
value = row[column]
elseif row[column] != value
value = row[column]
rank += 1
end
row[:score] += rank
end
end;Načtení dat, smazání username a přidání "skórovacího" sloupce a výpis základních statistik datasetu.
df = CSV.read("benchmark02.csv", DataFrame)
df[!, "score"] .= 0
select!(df, Not(:username))
describe(df)| Row | variable | mean | min | median | max | nmissing | eltype |
|---|---|---|---|---|---|---|---|
| Symbol | Union… | Any | Union… | Any | Int64 | Type | |
| 1 | nick | Aeloria of the Seven Sigils | kalvotom | 0 | String | ||
| 2 | code | 118.529 | 42 | 120.0 | 190 | 1 | Union{Missing, Int64} |
| 3 | comment | 38.902 | 14 | 30.0 | 131 | 1 | Union{Missing, Int64} |
| 4 | correctness | 0.942308 | false | 1.0 | true | 0 | Bool |
| 5 | newton_t | 2776.93 | 1.123 | 2991.78 | 3614.38 | 2 | Union{Missing, Float64} |
| 6 | newton_m | 0.0 | 0 | 0.0 | 0 | 2 | Union{Missing, Int64} |
| 7 | constructor_t | 1.40008e6 | 201.0 | 6.46416e5 | 7.58687e6 | 2 | Union{Missing, Float64} |
| 8 | constructor_m | 3.21603e7 | 24000208 | 3.20003e7 | 48000384 | 2 | Union{Missing, Int64} |
| 9 | compute_t | 1.00658e9 | 1.19308e8 | 8.3802e8 | 6.20475e9 | 2 | Union{Missing, Float64} |
| 10 | compute_m | 2.93956e8 | 144 | 1.28e8 | 6104924320 | 2 | Union{Missing, Int64} |
| 11 | score | 0.0 | 0 | 0.0 | 0 | 0 | Int64 |
Do měření započítávám pouze odevzdání, která počítají správné výsledky na jednoduchém případu.
Dále mezi hodnocené zařazuji i své odevzdání (nick kalvotom), kód vygenerovaný pomocí ChatGPT (nick chatgpt).
df = df[df[:, :correctness], :];Parametry kódu
Počet řádek kódu. Čím méně, tím lépe, což ale vždy neplatí, že. Měření pomocí nástroje cloc.
sort!(df, :code)
record_rank!(df, :code)
show(df[!,[:nick, :code, :score]], allrows=true)49×3 DataFrame Row │ nick code score │ String Int64? Int64 ─────┼────────────────────────────────────────────────── 1 │ Orlien Silverchant 73 1 2 │ Zytherin the Forgotten 75 2 3 │ Ilyrien Dawnpetal 81 3 4 │ Rhovar Mistborn 90 4 5 │ Morvain Duskwalker 92 5 6 │ Galdur the Wise 93 6 7 │ Erenwyn the Whispering 93 6 8 │ Elithar Dawnseeker 94 7 9 │ Seraphyne Windwhisper 95 8 10 │ Talvorn Runebreaker 96 9 11 │ Caelwyn of the Crystal Spire 97 10 12 │ Cyralis Moonbinder 97 10 13 │ Sareth the Verdant 98 11 14 │ Dravok the Gloomed 98 11 15 │ kalvotom 100 12 16 │ Tirvian Shadowmantle 100 12 17 │ Maranelle Frostpetal 110 13 18 │ Maerilith Stormweaver 111 14 19 │ Thauren the Wandering 111 14 20 │ Althira Starweaver 111 14 21 │ Eldaric Runehand 113 15 22 │ Vessryn Bloodsong 114 16 23 │ Lyssara Moonveil 115 17 24 │ Korvath the Obsidian 119 18 25 │ Talmek the Shattered 120 19 26 │ Mirelda Starbloom 122 20 27 │ Faelora Nightbloom 122 20 28 │ Yseline Frostwhisper 122 20 29 │ Kerron the Unseen 123 21 30 │ Selvethra of the Whispering Woods 124 22 31 │ Vyrion the Eternal 126 23 32 │ Aeloria of the Seven Sigils 126 23 33 │ Thalendir Brightflame 129 24 34 │ Velmaris Lightbinder 132 25 35 │ Korthen Deepflame 134 26 36 │ Gorvath Ironchant 134 26 37 │ Zerathorn the Pale 135 27 38 │ Xandor the Arcane 135 27 39 │ Valtheris of the Amber Flame 135 27 40 │ Thamior Embercloak 138 28 41 │ Lunara Dreambinder 141 29 42 │ Nimriel the Golden 143 30 43 │ Dromek the Bound 143 30 44 │ chatgpt 144 31 45 │ Ivenar Spellforge 155 32 46 │ Orren Emberforge 160 33 47 │ Velindra the Azure 172 34 48 │ Bramor the Tempest 179 35 49 │ Eldwyn of the Shimmering Vale 190 36
Počet řádek komentářů (včetně docstringů). Zde naopak čím více, tím lépe.
sort!(df, :comment, rev=true)
record_rank!(df, :comment)
show(df[!,[:nick, :comment, :score]], allrows=true)49×3 DataFrame Row │ nick comment score │ String Int64? Int64 ─────┼─────────────────────────────────────────────────── 1 │ Bramor the Tempest 131 36 2 │ Eldaric Runehand 119 17 3 │ Eldwyn of the Shimmering Vale 118 39 4 │ Faelora Nightbloom 87 24 5 │ Maerilith Stormweaver 65 19 6 │ Kerron the Unseen 64 27 7 │ Ilyrien Dawnpetal 61 10 8 │ Dromek the Bound 61 37 9 │ Orlien Silverchant 60 9 10 │ chatgpt 60 39 11 │ Xandor the Arcane 55 36 12 │ Aeloria of the Seven Sigils 49 33 13 │ Talmek the Shattered 47 30 14 │ Zerathorn the Pale 45 39 15 │ Rhovar Mistborn 43 17 16 │ Korthen Deepflame 42 40 17 │ Seraphyne Windwhisper 41 23 18 │ Velmaris Lightbinder 41 40 19 │ Nimriel the Golden 41 45 20 │ Morvain Duskwalker 40 21 21 │ Thamior Embercloak 40 44 22 │ Lunara Dreambinder 36 46 23 │ Vessryn Bloodsong 32 34 24 │ Korvath the Obsidian 32 36 25 │ kalvotom 31 31 26 │ Valtheris of the Amber Flame 30 47 27 │ Cyralis Moonbinder 29 31 28 │ Selvethra of the Whispering Woods 27 44 29 │ Thalendir Brightflame 26 47 30 │ Caelwyn of the Crystal Spire 25 34 31 │ Orren Emberforge 24 58 32 │ Maranelle Frostpetal 23 39 33 │ Yseline Frostwhisper 23 46 34 │ Gorvath Ironchant 23 52 35 │ Lyssara Moonveil 22 44 36 │ Tirvian Shadowmantle 21 40 37 │ Galdur the Wise 20 35 38 │ Talvorn Runebreaker 20 38 39 │ Dravok the Gloomed 20 40 40 │ Zytherin the Forgotten 19 32 41 │ Elithar Dawnseeker 19 37 42 │ Erenwyn the Whispering 18 37 43 │ Althira Starweaver 18 45 44 │ Vyrion the Eternal 18 54 45 │ Thauren the Wandering 17 46 46 │ Sareth the Verdant 16 44 47 │ Velindra the Azure 15 68 48 │ Mirelda Starbloom 14 55 49 │ Ivenar Spellforge 14 67
Metoda newton
Test efektivity a paměťové náročnosti metody newton, která provádí čistě iterace. Rychlost (čas, první tabulka) je přepočtena relativně vzhledem k nejrychlejšímu řešení. Druhá tabulka není normalizována, ani to nejde, vzhledem k nulovým hodnotám.
Pozor, chatgpt sice vychází nejrychleji, ale v kódu dotčeném kódu je chyba, která výpočet ukončí dříve (s nesprávným výsledkem).
sort!(df, :newton_t)
df[!, :newton_t] /= df[1, :newton_t]
record_rank!(df, :newton_t)
show(df[!,[:nick, :newton_t, :score]], allrows=true)49×3 DataFrame Row │ nick newton_t score │ String Float64 Int64 ─────┼──────────────────────────────────────────────────── 1 │ chatgpt 1.0 40 2 │ kalvotom 1827.94 33 3 │ Eldaric Runehand 1838.82 20 4 │ Ilyrien Dawnpetal 1906.2 14 5 │ Maerilith Stormweaver 1941.92 24 6 │ Dravok the Gloomed 1942.91 46 7 │ Kerron the Unseen 1953.79 34 8 │ Caelwyn of the Crystal Spire 1968.73 42 9 │ Elithar Dawnseeker 1991.49 46 10 │ Vessryn Bloodsong 2006.43 44 11 │ Selvethra of the Whispering Woods 2011.28 55 12 │ Morvain Duskwalker 2013.26 33 13 │ Mirelda Starbloom 2020.28 68 14 │ Thauren the Wandering 2023.15 60 15 │ Althira Starweaver 2083.7 60 16 │ Orlien Silverchant 2089.54 25 17 │ Rhovar Mistborn 2110.42 34 18 │ Aeloria of the Seven Sigils 2134.26 51 19 │ Vyrion the Eternal 2236.27 73 20 │ Galdur the Wise 2436.53 55 21 │ Lyssara Moonveil 2445.53 65 22 │ Valtheris of the Amber Flame 2507.96 69 23 │ Velindra the Azure 2570.4 91 24 │ Lunara Dreambinder 2590.19 70 25 │ Maranelle Frostpetal 2650.74 64 26 │ Faelora Nightbloom 2677.45 50 27 │ Talvorn Runebreaker 2746.77 65 28 │ Tirvian Shadowmantle 2754.56 68 29 │ Bramor the Tempest 2770.15 65 30 │ Velmaris Lightbinder 2772.37 70 31 │ Ivenar Spellforge 2791.3 98 32 │ Seraphyne Windwhisper 2797.97 55 33 │ Thalendir Brightflame 2810.33 80 34 │ Thamior Embercloak 2817.01 78 35 │ Yseline Frostwhisper 2817.01 80 36 │ Erenwyn the Whispering 2828.14 72 37 │ Dromek the Bound 2849.29 73 38 │ Zytherin the Forgotten 2885.02 69 39 │ Cyralis Moonbinder 2912.96 69 40 │ Korvath the Obsidian 2937.44 75 41 │ Korthen Deepflame 2940.78 80 42 │ Gorvath Ironchant 2954.14 93 43 │ Orren Emberforge 2960.82 100 44 │ Sareth the Verdant 2966.38 87 45 │ Nimriel the Golden 2991.99 89 46 │ Talmek the Shattered 2996.55 75 47 │ Xandor the Arcane 3060.11 82 48 │ Zerathorn the Pale 3105.85 86 49 │ Eldwyn of the Shimmering Vale 3218.5 87
A pak paměť ve stejném experimentu, čím méně, tím lépe.
sort!(df, :newton_m)
record_rank!(df, :newton_m)
show(df[!, [:nick, :newton_m, :score]], allrows=true)49×3 DataFrame Row │ nick newton_m score │ String Int64? Int64 ─────┼──────────────────────────────────────────────────── 1 │ chatgpt 0 41 2 │ kalvotom 0 34 3 │ Eldaric Runehand 0 21 4 │ Ilyrien Dawnpetal 0 15 5 │ Maerilith Stormweaver 0 25 6 │ Dravok the Gloomed 0 47 7 │ Kerron the Unseen 0 35 8 │ Caelwyn of the Crystal Spire 0 43 9 │ Elithar Dawnseeker 0 47 10 │ Vessryn Bloodsong 0 45 11 │ Selvethra of the Whispering Woods 0 56 12 │ Morvain Duskwalker 0 34 13 │ Mirelda Starbloom 0 69 14 │ Thauren the Wandering 0 61 15 │ Althira Starweaver 0 61 16 │ Orlien Silverchant 0 26 17 │ Rhovar Mistborn 0 35 18 │ Aeloria of the Seven Sigils 0 52 19 │ Vyrion the Eternal 0 74 20 │ Galdur the Wise 0 56 21 │ Lyssara Moonveil 0 66 22 │ Valtheris of the Amber Flame 0 70 23 │ Velindra the Azure 0 92 24 │ Lunara Dreambinder 0 71 25 │ Maranelle Frostpetal 0 65 26 │ Faelora Nightbloom 0 51 27 │ Talvorn Runebreaker 0 66 28 │ Tirvian Shadowmantle 0 69 29 │ Bramor the Tempest 0 66 30 │ Velmaris Lightbinder 0 71 31 │ Ivenar Spellforge 0 99 32 │ Seraphyne Windwhisper 0 56 33 │ Thalendir Brightflame 0 81 34 │ Thamior Embercloak 0 79 35 │ Yseline Frostwhisper 0 81 36 │ Erenwyn the Whispering 0 73 37 │ Dromek the Bound 0 74 38 │ Zytherin the Forgotten 0 70 39 │ Cyralis Moonbinder 0 70 40 │ Korvath the Obsidian 0 76 41 │ Korthen Deepflame 0 81 42 │ Gorvath Ironchant 0 94 43 │ Orren Emberforge 0 101 44 │ Sareth the Verdant 0 88 45 │ Nimriel the Golden 0 90 46 │ Talmek the Shattered 0 76 47 │ Xandor the Arcane 0 83 48 │ Zerathorn the Pale 0 87 49 │ Eldwyn of the Shimmering Vale 0 88
Konstruktor Newton
Test konstruktoru typu Newton z pohledu časové a paměťové náročnosti. Jak vidíte, i zde jde velký prostor pro zamyšlení.
sort!(df, :constructor_t)
df[!, :constructor_t] /= df[1, :constructor_t]
record_rank!(df, :constructor_t)
show(df[!,[:nick, :constructor_t, :score]], allrows=true)49×3 DataFrame Row │ nick constructor_t score │ String Float64 Int64 ─────┼───────────────────────────────────────────────────────── 1 │ Dravok the Gloomed 1.0 48 2 │ Ilyrien Dawnpetal 1.34328 17 3 │ Faelora Nightbloom 1.34328 53 4 │ Tirvian Shadowmantle 1.39801 72 5 │ Korthen Deepflame 1.39801 84 6 │ Eldaric Runehand 1.44279 25 7 │ Valtheris of the Amber Flame 1.49254 75 8 │ Caelwyn of the Crystal Spire 1.49751 49 9 │ Elithar Dawnseeker 1.54229 54 10 │ Erenwyn the Whispering 1.54229 80 11 │ Orlien Silverchant 1.54726 34 12 │ Rhovar Mistborn 1.59701 44 13 │ Thalendir Brightflame 1.59701 90 14 │ Vyrion the Eternal 1.6194 84 15 │ kalvotom 1.64677 45 16 │ Xandor the Arcane 1.64677 94 17 │ Vessryn Bloodsong 1.69652 57 18 │ Kerron the Unseen 1.74129 48 19 │ Maranelle Frostpetal 1.84577 79 20 │ Selvethra of the Whispering Woods 1.89055 71 21 │ Thauren the Wandering 1.9403 77 22 │ Aeloria of the Seven Sigils 2.29353 69 23 │ Velmaris Lightbinder 20.5846 89 24 │ Talvorn Runebreaker 21.7836 85 25 │ Zerathorn the Pale 2960.41 107 26 │ Althira Starweaver 3471.58 82 27 │ Orren Emberforge 4879.07 123 28 │ Bramor the Tempest 4907.43 89 29 │ Mirelda Starbloom 6755.69 93 30 │ Thamior Embercloak 8835.09 104 31 │ Galdur the Wise 12349.2 82 32 │ Lunara Dreambinder 12506.7 98 33 │ Sareth the Verdant 12670.1 116 34 │ Yseline Frostwhisper 12805.1 110 35 │ Morvain Duskwalker 12842.9 64 36 │ chatgpt 13658.0 72 37 │ Seraphyne Windwhisper 13837.8 88 38 │ Talmek the Shattered 14098.6 109 39 │ Cyralis Moonbinder 14140.8 104 40 │ Dromek the Bound 14385.5 109 41 │ Lyssara Moonveil 14788.7 102 42 │ Maerilith Stormweaver 15070.0 62 43 │ Eldwyn of the Shimmering Vale 15644.0 126 44 │ Ivenar Spellforge 15870.4 138 45 │ Velindra the Azure 16190.6 132 46 │ Zytherin the Forgotten 17227.4 111 47 │ Korvath the Obsidian 17666.9 118 48 │ Nimriel the Golden 18624.9 133 49 │ Gorvath Ironchant 37745.6 138
sort!(df, :constructor_m)
record_rank!(df, :constructor_m)
show(df[!, [:nick, :constructor_m, :score]], allrows=true)49×3 DataFrame Row │ nick constructor_m score │ String Int64? Int64 ─────┼───────────────────────────────────────────────────────── 1 │ Dravok the Gloomed 24000208 49 2 │ Ilyrien Dawnpetal 32000296 19 3 │ Faelora Nightbloom 32000296 55 4 │ Tirvian Shadowmantle 32000296 74 5 │ Korthen Deepflame 32000296 86 6 │ Eldaric Runehand 32000296 27 7 │ Caelwyn of the Crystal Spire 32000296 51 8 │ Elithar Dawnseeker 32000296 56 9 │ Erenwyn the Whispering 32000296 82 10 │ Orlien Silverchant 32000296 36 11 │ Rhovar Mistborn 32000296 46 12 │ Vyrion the Eternal 32000296 86 13 │ kalvotom 32000296 47 14 │ Xandor the Arcane 32000296 96 15 │ Vessryn Bloodsong 32000296 59 16 │ Maranelle Frostpetal 32000296 81 17 │ Selvethra of the Whispering Woods 32000296 73 18 │ Thauren the Wandering 32000296 79 19 │ Aeloria of the Seven Sigils 32000296 71 20 │ Velmaris Lightbinder 32000296 91 21 │ Talvorn Runebreaker 32000296 87 22 │ Zerathorn the Pale 32000296 109 23 │ Althira Starweaver 32000296 84 24 │ Orren Emberforge 32000296 125 25 │ Bramor the Tempest 32000296 91 26 │ Mirelda Starbloom 32000296 95 27 │ Thamior Embercloak 32000296 106 28 │ Galdur the Wise 32000296 84 29 │ Lunara Dreambinder 32000296 100 30 │ Sareth the Verdant 32000296 118 31 │ Yseline Frostwhisper 32000296 112 32 │ Morvain Duskwalker 32000296 66 33 │ chatgpt 32000296 74 34 │ Seraphyne Windwhisper 32000296 90 35 │ Talmek the Shattered 32000296 111 36 │ Cyralis Moonbinder 32000296 106 37 │ Dromek the Bound 32000296 111 38 │ Lyssara Moonveil 32000296 104 39 │ Maerilith Stormweaver 32000296 64 40 │ Ivenar Spellforge 32000296 140 41 │ Velindra the Azure 32000296 134 42 │ Korvath the Obsidian 32000296 120 43 │ Nimriel the Golden 32000296 135 44 │ Gorvath Ironchant 32000296 140 45 │ Valtheris of the Amber Flame 32000312 78 46 │ Thalendir Brightflame 32000360 94 47 │ Kerron the Unseen 32000408 53 48 │ Eldwyn of the Shimmering Vale 32000424 132 49 │ Zytherin the Forgotten 48000384 118
Metoda compute!
Test metody provádějící samotný výpočet a následné přiřazení výsledků k nalezeným kořenům. Opět testuji časovou a paměťovou náročnost.
sort!(df, :compute_t)
df[!, :compute_t] /= df[1, :compute_t]
record_rank!(df, :compute_t)
show(df[!,[:nick, :compute_t, :score]], allrows=true)49×3 DataFrame Row │ nick compute_t score │ String Float64 Int64 ─────┼───────────────────────────────────────────────────── 1 │ Maerilith Stormweaver 1.0 65 2 │ Thamior Embercloak 3.7785 108 3 │ Eldaric Runehand 4.59084 30 4 │ Selvethra of the Whispering Woods 4.62282 77 5 │ Dravok the Gloomed 4.81458 54 6 │ kalvotom 4.88751 53 7 │ Caelwyn of the Crystal Spire 4.92029 58 8 │ Kerron the Unseen 5.06916 61 9 │ Ilyrien Dawnpetal 5.07804 28 10 │ Mirelda Starbloom 5.23881 105 11 │ Morvain Duskwalker 5.26121 77 12 │ Vessryn Bloodsong 5.3744 71 13 │ Vyrion the Eternal 5.58315 99 14 │ Valtheris of the Amber Flame 6.41484 92 15 │ Lyssara Moonveil 6.4501 119 16 │ Orlien Silverchant 6.45402 52 17 │ Velindra the Azure 6.48516 151 18 │ Rhovar Mistborn 6.51762 64 19 │ Thauren the Wandering 6.56443 98 20 │ Lunara Dreambinder 6.5742 120 21 │ Galdur the Wise 6.61648 105 22 │ Talmek the Shattered 6.83866 133 23 │ Althira Starweaver 6.8615 107 24 │ Faelora Nightbloom 6.95021 79 25 │ Yseline Frostwhisper 6.99482 137 26 │ Bramor the Tempest 7.05321 117 27 │ Maranelle Frostpetal 7.06329 108 28 │ Velmaris Lightbinder 7.07012 119 29 │ Tirvian Shadowmantle 7.072 103 30 │ Xandor the Arcane 7.18818 126 31 │ Gorvath Ironchant 7.19101 171 32 │ Cyralis Moonbinder 7.21077 138 33 │ Aeloria of the Seven Sigils 7.22134 104 34 │ Dromek the Bound 7.23148 145 35 │ Ivenar Spellforge 7.31605 175 36 │ Sareth the Verdant 7.33179 154 37 │ Korvath the Obsidian 7.48923 157 38 │ Zerathorn the Pale 8.05274 147 39 │ Nimriel the Golden 8.08771 174 40 │ Thalendir Brightflame 8.15173 134 41 │ Erenwyn the Whispering 8.16038 123 42 │ Talvorn Runebreaker 8.48894 129 43 │ Orren Emberforge 8.50647 168 44 │ Zytherin the Forgotten 8.56994 162 45 │ Eldwyn of the Shimmering Vale 8.59489 177 46 │ Korthen Deepflame 8.74319 132 47 │ Elithar Dawnseeker 9.06717 103 48 │ Seraphyne Windwhisper 9.75367 138 49 │ chatgpt 52.0062 123
A pak paměť, čím méně, tím lépe.
sort!(df, :compute_m)
record_rank!(df, :compute_m)
show(df[!, [:nick, :compute_m, :score]], allrows=true)49×3 DataFrame Row │ nick compute_m score │ String Int64? Int64 ─────┼────────────────────────────────────────────────────── 1 │ Talmek the Shattered 144 134 2 │ Selvethra of the Whispering Woods 1056 79 3 │ Caelwyn of the Crystal Spire 40001024 61 4 │ Eldaric Runehand 96000000 34 5 │ Dravok the Gloomed 96000000 58 6 │ Vessryn Bloodsong 96000000 75 7 │ Gorvath Ironchant 96000000 175 8 │ Eldwyn of the Shimmering Vale 96000000 181 9 │ Maerilith Stormweaver 128000000 70 10 │ kalvotom 128000000 58 11 │ Kerron the Unseen 128000000 66 12 │ Ilyrien Dawnpetal 128000000 33 13 │ Mirelda Starbloom 128000000 110 14 │ Morvain Duskwalker 128000000 82 15 │ Vyrion the Eternal 128000000 104 16 │ Valtheris of the Amber Flame 128000000 97 17 │ Lunara Dreambinder 128000000 125 18 │ Galdur the Wise 128000000 110 19 │ Faelora Nightbloom 128000000 84 20 │ Yseline Frostwhisper 128000000 142 21 │ Bramor the Tempest 128000000 122 22 │ Maranelle Frostpetal 128000000 113 23 │ Velmaris Lightbinder 128000000 124 24 │ Tirvian Shadowmantle 128000000 108 25 │ Xandor the Arcane 128000000 131 26 │ Cyralis Moonbinder 128000000 143 27 │ Dromek the Bound 128000000 150 28 │ Ivenar Spellforge 128000000 180 29 │ Sareth the Verdant 128000000 159 30 │ Korvath the Obsidian 128000000 162 31 │ Zerathorn the Pale 128000000 152 32 │ Velindra the Azure 128016144 157 33 │ Lyssara Moonveil 144000000 126 34 │ Nimriel the Golden 160000624 182 35 │ Orlien Silverchant 176000000 61 36 │ Rhovar Mistborn 176000000 73 37 │ Aeloria of the Seven Sigils 176000000 113 38 │ Thalendir Brightflame 176000000 143 39 │ Erenwyn the Whispering 176000000 132 40 │ Zytherin the Forgotten 176000000 171 41 │ Thamior Embercloak 256000576 118 42 │ Korthen Deepflame 391497760 143 43 │ Thauren the Wandering 407497760 110 44 │ Althira Starweaver 407497760 119 45 │ Talvorn Runebreaker 407497760 141 46 │ Orren Emberforge 407497760 180 47 │ Elithar Dawnseeker 593829600 116 48 │ Seraphyne Windwhisper 639296000 152 49 │ chatgpt 6104924320 138
Závěrečná tabulka
Zaznamenávali jsme v každé kategorii (sdílené) pořadí. Čím nižší hodnota, tím lepší výsledek.
sort!(df, :score)
show(df[!,[:nick, :score]], allrows=true)49×2 DataFrame Row │ nick score │ String Int64 ─────┼────────────────────────────────────────── 1 │ Ilyrien Dawnpetal 33 2 │ Eldaric Runehand 34 3 │ Dravok the Gloomed 58 4 │ kalvotom 58 5 │ Caelwyn of the Crystal Spire 61 6 │ Orlien Silverchant 61 7 │ Kerron the Unseen 66 8 │ Maerilith Stormweaver 70 9 │ Rhovar Mistborn 73 10 │ Vessryn Bloodsong 75 11 │ Selvethra of the Whispering Woods 79 12 │ Morvain Duskwalker 82 13 │ Faelora Nightbloom 84 14 │ Valtheris of the Amber Flame 97 15 │ Vyrion the Eternal 104 16 │ Tirvian Shadowmantle 108 17 │ Mirelda Starbloom 110 18 │ Galdur the Wise 110 19 │ Thauren the Wandering 110 20 │ Maranelle Frostpetal 113 21 │ Aeloria of the Seven Sigils 113 22 │ Elithar Dawnseeker 116 23 │ Thamior Embercloak 118 24 │ Althira Starweaver 119 25 │ Bramor the Tempest 122 26 │ Velmaris Lightbinder 124 27 │ Lunara Dreambinder 125 28 │ Lyssara Moonveil 126 29 │ Xandor the Arcane 131 30 │ Erenwyn the Whispering 132 31 │ Talmek the Shattered 134 32 │ chatgpt 138 33 │ Talvorn Runebreaker 141 34 │ Yseline Frostwhisper 142 35 │ Cyralis Moonbinder 143 36 │ Thalendir Brightflame 143 37 │ Korthen Deepflame 143 38 │ Dromek the Bound 150 39 │ Zerathorn the Pale 152 40 │ Seraphyne Windwhisper 152 41 │ Velindra the Azure 157 42 │ Sareth the Verdant 159 43 │ Korvath the Obsidian 162 44 │ Zytherin the Forgotten 171 45 │ Gorvath Ironchant 175 46 │ Ivenar Spellforge 180 47 │ Orren Emberforge 180 48 │ Eldwyn of the Shimmering Vale 181 49 │ Nimriel the Golden 182