Górnictwo na P (urobek)

  • Hej, ciekawiło mnie w sumie z jakiego rozkładu prawdopodobieństwa losowane są wartości urobku przy kopaniu rud. Pozbierałem trochę danych (kopiąc na Sohan) i przeanalizowałem je w miarę możliwości. Wyniki zostawiam tutaj, jakby kogoś to interesowało może.

    Dane były zbierane z górnictwem na poziomie P. Według wiki powinno to dawać 40% zadowalających ekstrakcji, cokolwiek słowo "zadowalający" oznacza. No więc, postanowiłem sprawdzić to doświadczalnie.


    Zanim ktoś skrytykuje temat, bo nie tak działa górnictwo, należy sprostować dość sporo.


    W temacie górnictwa jest masa sprzecznych opinii i informacji. W społeczności przewijają się wątpliwości wobec tego, co daje ulepszanie kilofa, a co rozwijanie umiejętności górnictwa.

    Quote

    Poziom kilofa wpływa na ilość wydobytej rudy a górnictwo na ilość uderzeń w rudę oraz % stopień pomyślności jej wydobycia. Załóżmy, że z nierozwiniętym górnictwem musisz uderzyć w rudę 10 razy, nim cokolwiek wydobędziesz lub nie, to z górnictwem na P uderzasz w rudę 6 razy a i szansa większa

    Źródło: Górnictwo i kilof


    W rzeczywistości jest następująco:

    - kilof zwiększa szanse, że wydobędziesz cokolwiek,

    - umiejętność górnictwa zwiększa szanse, że to cokolwiek będzie w miarę "satysfakcjonujące".

    Co do ilości uderzeń, to ciężko powiedzieć, czy jest jakakolwiek różnica. Osobiście nie zauważyłem dużych zmian tutaj, ale nie chcę zajmować konkretnego stanowiska.


    Dla niedowiarków:

    Przeanalizujmy dwa możliwe scenariusze (dane zostały zebrane z kilofem +1 i górnictwem na P):

    Hipoteza A: to kilof zmienia szanse na wydobycie czegokolwiek (kilof +1 daje 35%, więc p=0.35).

    Hipoteza B: to umiejętność górnictwa zmienia szanse na wydobycie czegokolwiek (górnictwo na P daje 40%, więc p=0.40).

    Code
    1. Liczba prób: 951
    2. Próby pomyślne: 323
    3. Stosunek sukcesów do liczby prób: 33.96%
    4. (A) P-wartość, przyjmując p=0.35: 0.5184472
    5. (B) P-wartość, przyjmując p=0.40: 0.0001388

    O ile powyższe obliczenia nie są dowodem za prawdziwością hipotezy A, to jednak pozwalają z bardzo dużą pewnością odrzucić hipotezę B - hipotezę, która notabene jest i tak trochę niedorzeczna (10% na poziomie bazowym a 40% na P na wydobycie czegokolwiek? xd). Szansa na to, że wynik byłby taki jak otrzymano lub bardziej skrajny w przypadku B wynosi zaledwie 0.0001388.


    Dobra, wracajmy do meritum.


    Szybkie podsumowanie zebranych przeze mnie danych:

    Code
    1. Urobek
    2. count 1334.000000
    3. mean 25.134933
    4. std 17.896504
    5. min 1.000000
    6. 25% 12.000000
    7. 50% 21.000000
    8. 75% 33.000000
    9. max 89.000000

    Legenda:

    - count - liczba zanotowanych ekstrakcji;

    - mean - średnia wartość ekstrakcji;

    - std - odchylenie standardowe (można przemilczeć, bo rozkład i tak znacząco różni się od normalnego);

    - min - minimum (liczyłem tylko pomyślne ekstrakcje);

    - 25%, 50%, 75% - kwantyle x%, tj. x procent wszystkich ekstrakcji dał podaną ilość rudy lub mniej;

    - max - maksimum.


    Generalnie, faktyczne wyniki przestawiają się następująco:


    Zm9bMHD.png


    Zaznaczyłem kolorkami co ciekawsze liczby.


    Dysponując takimi danymi możemy się pokusić o przybliżenie dystrybucji, z której wartości były losowane (KDE).


    eSYL6w9.png


    W tym przypadku bardzo wygodną wizualizacją będzie dopełnienie dystrybuanty. Znajdź interesującą Cię wartość na osi X i odczytaj swoje szanse na tyle lub więcej urobku.


    2PV01Ov.png


    Jeśli ktoś chciałby odczytać jakąś wartość dokładniej, proszę bardzo (wyrzuciłem nieparzyste oprócz jedynki ze względu na limit znaków na forum):


    Jaka liczba skrywa się zatem pod zwrotem "satysfakcjonująca ilość urobku"? Cóż, odpowiedź brzmi: około 26-27. Mamy zbyt mało danych, żeby podawać konkretniejsze liczby, ale rzeczywista wartość nie powinna się jakoś drastycznie różnić od tych estymacji. Nie ukrywam, iż spodziewałem się, że będzie trochę większa liczba.


    Ogólnie, fajnie byłoby porównać te wyniki kiedyś z danymi dla górnictwa na poziomie bazowym.


    Zapraszam do dyskusji.

  • SauBaar

    Approved the thread.
  • Jak ty jakiś order powinieneś za to dostać Bardzo dobrze zaprezentowana statystyka, fajnie dogłębna analiza. +1 dla Ciebie ode mnie.

    Niestety nie mogę pomóc z górnictwem na bazowym poziomie, ale życzę szczęścia, jeśli chcesz dalej kontynuować swoje analizy ;)

  • W rzeczywistości jest następująco:

    - kilof zwiększa szanse, że wydobędziesz cokolwiek,

    - umiejętność górnictwa zwiększa szanse, że to cokolwiek będzie w miarę "satysfakcjonujące".

    Co do ilości uderzeń, to ciężko powiedzieć, czy jest jakakolwiek różnica. Osobiście nie zauważyłem dużych zmian tutaj, ale nie chcę zajmować konkretnego stanowiska.

    Dobra, szybko poszło, niestety prawdopodobnie muszę skrytykować to, co sam powyżej napisałem ;(

    Zasięgając do bardzo kontrowersyjnego źródła (nie wiem, czy wypada o nim w ogóle wspominać na tym forum XD), postanowiłem skonfrontować z nim swoją wiedzę, informacje z wiki i mądrości ludowe przekazywane na forach.

    Czy ufam mu? Raczej tak, ale to zależy też od tego, czy od 2014 roku dużo się zmieniła mechanika górnictwa (czyli raczej będzie git).


    Ogólnie sytuacja wygląda tak:

    * Rozkład prawdopodobieństwa, z którego losowane są ilości urobku jest stały. Nie omieszkam go opracować, bo istotnie jest interesujący (pokrywa się nieźle z liczbami uzyskanymi doświadczalnie, tłumacząc nagły spadek po liczbie 40 i nieprzekraczalność wartości 90). Dodam go gdzieś w następnych postach w tym temacie.

    * Zmienia się tylko szansa na uzyskanie jakiegokolwiek urobku, ale sytuacja jest tu doprawdy ciekawa - wpływ ma zarówno poziom kilofa, jak i poziom górnictwa.

    * Liczba uderzeń kilofem jest losowana zawsze z rozkładu jednostajnego od 5 do 15 uderzeń.


    Co do tej szansy na uzyskanie czegokolwiek, to wygląda to następująco:

    * Wartość bazowa wynosi 20 punktów procentowych.

    * Górnictwo dodaje do tej wartości od 0 (nierozwinięte) do 11 (P) punktów procentowych.

    * Kilof dodaje kolejne [3, 5, 8, 11, 15, 20, 26, 32, 40, 50] punktów procentowych zależnie od jego poziomu.


    W moim przypadku powinno to być 20 + 11 + 5 = 36 procent szans na pomyślną ekstrakcję mineralną. Nadal bardzo prawdopodobne.

    Code
    1. Liczba prób: 951
    2. Próby pomyślne: 323
    3. Stosunek sukcesów do liczby prób: 33.96%
    4. P-wartość przyjmując p=0.36: 0.1992896

    Nie jest to dowód za prawdziwością tej hipotezy, ale też jej nie odrzuca. Z pewnością przydałoby się jakoś to sprawdzić doświadczalnie.

    Także popularny zestaw tj. nierozwinięte górnictwo i kilof +0 wydaje się w przypadku takiego scenariusza mieć całkiem prawdopodobne szanse na uzyskanie jakiegokolwiek urobku - 23%.


    Ile zgodnie z tym daje rozwijanie górnictwa?

    No, powiem tak, że nijak to się ma do informacji zawartych na wiki. xD

    https://pl-wiki.metin2.gamefor…/index.php/G%C3%B3rnictwo

  • O Człowieniu : w00t:: w00t: w trakcie czytania tego poczułem się jak za czasów szkoły i powiem, że ponad połowę zrozumiałem prawie do końca gdyż koniec to mnie totalnie zabił może dla tego, że trochę zajęć się opuszczało :D Dodam, że kiedyś słyszałem plotkę o kilofie+9 który daje 40% czy tam więcej ale ile w tym prawdy nie wiem bo tylko +6 widziałem ^^

    Piękna analiza

  • Źródło dokładnego rozkładu prawdopodobieństwa, o którym wspominałem powyżej, przedstawia następujący przepis na generowanie ilości urobku: najpierw wylosuj sobie jeden z dziewięciu rozkładów i z niego dopiero wylosuj ilość urobku (procenty oznaczają szanse na wylosowanie danego rozkładu):

    • 20% - rozkład jednostajny od 1 do 10 włącznie,
    • 30% - rozkład jednostajny od 11 do 20 włącznie,
    • 20% - rozkład jednostajny od 21 do 30 włącznie,
    • 15% - rozkład jednostajny od 31 do 40 włącznie,
    • 5% - rozkład jednostajny od 41 do 50 włącznie,
    • 4% - rozkład jednostajny od 51 do 60 włącznie,
    • 3% - rozkład jednostajny od 61 do 70 włącznie,
    • 2% - rozkład jednostajny od 71 do 80 włącznie,
    • 1% - rozkład jednostajny od 81 do 90 włącznie.

    Odważne tezy głoszę, co?


    Kilka linijek kodu, pogrupowałem doświadczalne wyniki po 10 i zobaczyłem to:


    7WVpQKl.png


    Całkiem nieźle! :D Danych nie miałem jakoś super dużo, więc zachowałbym dystans, ale nie zmienia to faktu, że jestem pod wrażeniem, jak bliskie są uzyskane wyniki.


    Poniżej to samo, ale na tle pojedynczych wartości:


    2ppZZ1z.png


    Dodam także dopełnienie dystrybuanty. W tym wypadku to naprawdę użyteczny wykres. Znajdź interesującą Cię wartość na osi X i odczytaj swoje szanse na tyle lub więcej urobku.


    y5Dqq75.png



    Dokładne liczby:


    Ale powiedzcie mi jedną rzecz: skąd się wzięło w takim razie to mityczne "40% satysfakcjonujących ekstrakcji"? Co o tym w ogóle sądzicie?

  • Przesyłam skromny data set dla postaci z kilofem+0 i górnictwem na 0. Bardzo interesująca analiza, powinna znaleźć się na wiki.:mkay:

    Edited once, last by WeTheBest ().

  • Hej, update wątku!


    WeTheBest dostarczył mi trochę danych do analizy (w sumie 161 sampli: kilof +0, górnictwo 0). Dziękuję za zainteresowanie tematem.

    Postanowiłem więc ruszyć jeszcze trochę ten temat. Sam też trochę pokopałem (260 sampli: kilof +1, górnictwo P).


    Pierwsza sprawa. Jak to jest z tą szansą na drop czegokolwiek? Zbierając sample podliczyłem, ile było wszystkich prób, a ile pomyślnych, więc rozszerzę poprzednie rozważania.

    Code
    1. Liczba prób: 1674
    2. Próby pomyślne: 583
    3. Stosunek sukcesów do liczby prób: 34.83%

    Na razie nie powinienem wyciągać z tego jakoś bardzo daleko idących wniosków, więc nie będę tego robił. Przydało by się takie porównanie na kilku innych kombinacjach poziomu kilofa i górnictwa, ale każde z nich powinno liczyć co najmniej z 1000 prób pomyślnych. Jeśli ktoś byłby zainteresowany to proszę o PW. Wystarczy zanotować sobie liczbę punktów na kilofie na początku oraz końcu górnictwa i policzyć różnicę, a dodatkowo zliczać tylko próby pomyślne. Już te dwie liczby dadzą niezły wgląd.

    Jeśli ktoś by chciał mieć większy wkład, to może też zliczać, ile za każdym razie poleciało rudy. Osobiście przechowuję dane w plikach tekstowych, gdzie na jedną linijkę przypada jedna liczba (dokładnie tak jak przesłał to WeTheBest). Wtedy liczba pomyślnych prób jest oczywista (liczba linijek :P). Dodatkowa informacja o całkowitej liczbie prób byłaby naprawdę bardzo mile widziana.


    Dobra, przejdźmy do rzeczy ważniejszych, które pewnie bardziej was interesują: mianowicie analiza nowych danych.


    qLfrs9d.png


    Mogłoby się jednak wydawać, że faktycznie nierozwinięte górnictwo daje mniej satysfakcjonujący urobek, jednak może to być zwyczajny szum losowy, jako że próbka była dość mała. Ciekawą rzeczą jest jednak to, że po zsumowaniu wszystkich danych te wydają się nawet bardziej pasować do rozkładu dokładnego.

    Uprzedzam jednak, że 161 sampli to zbyt mało, żeby wyciągać daleko idące wnioski. Dlatego ja też się od nich powstrzymam.


    Ludzie, zdecydowanie potrzebujemy więcej danych! Szkoda by to tak zostawić :)

    Zapraszam także do dyskusji :)


    -----------------------

    Dołączam jeszcze krótkie podsumowania obu zbiorów danych, jakby kogoś interesowały.


    Kilof +1, Górnictwo P:

    Code
    1. Urobek
    2. count 1594.000000
    3. mean 25.018821
    4. std 17.803056
    5. min 1.000000
    6. 25% 12.000000
    7. 50% 21.000000
    8. 75% 33.750000
    9. max 89.000000


    Kilof +0, Górnictwo 0:

    Code
    1. Urobek
    2. count 161.000000
    3. mean 21.900621
    4. std 16.679031
    5. min 1.000000
    6. 25% 11.000000
    7. 50% 18.000000
    8. 75% 29.000000
    9. max 86.000000
  • Bardzo ciekawe zestawienie. Mam jedną uwagę - wydaje mi się, że szansa pomyślnego urobku jak i jego ilość zależy jeszcze od dodatkowych zmiennych. Jedna jest przypisana do rudy, a druga do postaci - ewentualnie jest to jedna tylko przy każdej rudzie generowana od nowa, ale raczej stawiam na dwie. Skąd te wnioski? Otóż kopię rudy dwoma postaciami górnictwo jedna ma na 9 druga na 6 - czyli wg wiki te same szanse na urobek, kilof +1 (6800pkt) i +0 (5550pkt). Od początku więcej rud kopała moja "druga" postać (ta ze słabszym górnictwem) po wbiciu przez nią kilofa na +1 zamieniłem go z drugą postacią - i dalej ta niby słabsza kopie więcej! Owszem zdarzają się rudy gdzie więcej leci na postaci 1 (górnictwo 9 i kilof +1) ale i tak średnia wypada lepiej na korzyść tej drugiej (górnictwo 6 kilof +0). Stąd przypuszczenie o dodatkowych zmiennych przypisanych do postaci. Są rudy gdzie urobek od pojawienia do końca obie mają kiepski wynik (od 4 sic! do 30 rud kopania od pojawienia się do zniknięcia), a są i takie gdzie całkowita ilość wypada po około 400-600 na postać (b. rzadko) - stąd przypuszczenie o zmiennej związanej z konkretną rudą. Jedyne co na pewno zauważyłem przy kilofie +1 to zmniejszenie liczby uderzeń - kilof szybciej się "expi"

    Ciekawe byłoby też przeanalizowanie szansy na uzyskanie przetopu. O ile przetapianie u alchemika danego rodzaju rudy wydaje się dobrze opisane - 60% na pomyślny proces - to już przetapianie tam innych rud wydaje się mocno zawyżone - 30% pisze sam alchemik. Przy rozwaleniu obecnego systemu gildyjnego (a dokładnie terenów i budowli) jest kwestią czasu kiedy zostanie jeden alchemik na serwerze - o ile już tak nie jest - o ile w ogóle jakiś zostanie - stąd taka analiza pokazałaby rzeczywiste prawdopodobieństwo uzyskania przetopu u innego alchemika. Ostatnio (po zmianach w zarządzaniu terenami gildyjnymi i "uprawomocnieniu" się ich) na około 100 prób uzyskałem co najwyżej 15-20 przetopów - dla przetopów innych niż u danego alchemika.
    Jeżeli jednak nie przywrócą albo nie zmienią na bardziej przyjazne dla graczy cen za tereny gildyjne i budynki to obawiam się że górnictwo może zniknąć ze sfery zainteresowań - bo normalnie nie będzie gdzie przetapiać rud.

  • Czarcik

    Nie wykluczam takiej możliwości, że obecny system górnictwa faktycznie ma więcej zmiennych parametryzujących proces losowy pozyskiwania urobku. Zaglądałem jednak do kodu gry (tego co wyciekł kilka lat temu, ale myślę, że i tak powinienem zachować dystans, co do niego) i tam można dotrzeć do wszystkich fragmentów, w których ten proces jest opisany. To, co tam znalazłem jest opisane w jednym z powyższych postów.


    Aktualnie mam mieszane uczucia, co do wiarygodności wiki, zwłaszcza, jeśli chodzi o procenty wspominane przy okazji umiejętności górnictwa.

    Ba! Kod gry zawiera zupełnie inną tabelkę i to właśnie ta rozbieżność mnie martwi.

    Tutaj górnictwo 6 i 9 dają różne wartości. Miej to na uwadze.

    Zresztą ten proces losowy jest sam w sobie dość złożony. Myślę, że nie jesteś w stanie wyczuć faktycznych różnic w rozkładach prawdopodobieństwa na oko. Zwłaszcza, że nie mówimy tu o dużych różnicach: górnictwo 6 i 9, oraz kilofy +0 i +1. Jeśli zechcesz, to zachęcam Cię do zbierania danych :)

    Jest jeszcze jedna kwestia, która może mieć spory wpływ na postrzeganie wyników: efekt potwierdzenia (to już psychologia trochę). Na podstawie urobku z jednostkowych żył naprawdę nic nie wyciągniesz, bo proces jest zbyt złożony.


    Nie wydaje mi się też, żeby różne żyły miały mieć różne tabelki z prawdopodobieństwem. Aczkolwiek za te nowe z map 90+ nie dam sobie ręki uciąć.


    Ilość uderzeń w sumie też warto by kiedyś przeanalizować dokładniej. To jest raczej mit, tak sugeruje też kod gry. Ja na przykład nie widziałem dużej różnicy w szybkości expienia kilofów.


    Co do propozycji z przeanalizowaniem kwestii przetapiania u alchemika. Te 60% faktycznie w moim odczuciu jest realne, powołując się na prawo wielkich liczb. Zdarzało mi się przetapiać całkiem spore ilości rud na raz i faktycznie wychodziło mniej więcej 60% prób pomyślnych +-kilka procent. Wahanie to jednak wydaje mi się zbieżne do zera wraz ze zwiększeniem liczby prób. Przetapiając raz 28000 rudy (xDDD) wyszedł mi wynik bardzo bliski 60%. Nie notowałem, to było kilka miesięcy temu, więc raczej nie powiem Ci dokładnie, ale to było 60% i coś po przecinku.

    Co nie znaczy, że samo RNG nie ma tam dziwnych zachowań, bo zdarzało mi się takie obserwować. Ale RNG to tylko algorytm deterministyczny, który może być lepiej lub gorzej napisany lub wykorzystany.

    Quote

    Okazuje się jednak, że operator modulo (%) powoduje, że pod uwagę brane są mniej znaczące bity, które są znacznie mniej losowe od bitów bardziej znaczących. Jest to błędem starszych interpretacji funkcji rand(), który jednak można łatwo wyeliminować, stosując operacje na liczbach rzeczywistych

    Nie zgadniesz, jak rand został wykorzystany w kodzie gry xD Najprawdopodobniej więc sam rand nie jest zbyt sprawiedliwy, będąc w miarę losowym wyłącznie średnio oraz na możliwiej dużej próbce.

    Jeśli jednak chodzi o te 30%, to na ten moment raczej nie mogę się za bardzo wypowiedzieć. Zaglądałem do kodu, ale nie udało mi się na szybko znaleźć źródła procentów w tym wypadku. Osobiście też nie korzystałem za bardzo z tej wątpliwej przyjemności ulepszania z niższą szansą, więc własnych doświadczeń również nie mam. Można by się kiedyś jednak nad tym pochylić.


    Update.


    Dziękuję Charlotta za dostarczenie 415 sampli pomyślnych wraz z sumą wszystkich prób (dokładnie 1000) na górnictwie na poziomie P oraz z kilofem +3.

    Szansa na pomyślne uzyskanie urobku wyniosła zatem 41,5%. Według wiki powinno być 41%, według kodu źródłowego 42%, więc tutaj nie ma rozstrzygnięcia.


    Dorzucam statystyki do reszty. Wykresy wyglądają obecnie następująco:


    LDtvmQZ.png


    Interesujące jest to, co możemy zaobserwować w przedziale 61-80 (górnictwo P, kilof +3). Ciężko powiedzieć jednak, czy to faktyczny trend, czy jakiś losowy artefakt. Notabene, wziąwszy pod uwagę wszystkie próbki, widać wyraźną zbieżność do wykresu dokładnego.


    Jakby ktoś jeszcze chciał dołożyć trochę danych od siebie, to śmiało proszę pisać PW :)


    Moderator SauBaar:
    Połączyłem posty.

    Edited once, last by SauBaar ().

  • SauBaar

    Closed the thread.