Handlarz złomu: dane statystyczne + kalkulator złomowania

  • Gra:
  • Handlarz złomu: dane statystyczne + kalkulator złomowania

    Siema!

    Wrzucam dane 500 symulacji handlu z Galaktycznym Januszem.
    Podałbym wyniki szczegółowej analizy, dotyczące kilku bezużytecznych ciekawostek oraz kilku kluczowych liczb, jednak pozbawiłbym tym samym zabawy karkulatorowych nerdów.




    ( Pliki .xlsx do pobrania z Google Drive )



    Propozycja otwarta - jeśli znajdzie się ktoś na tyle szalony żeby spędzać godziny na dorzucanie się do danych, czyniąc je jeszcze bardziej precyzyjnymi, chętnie zaktualizuję plik. Zasada jest taka, że rozrzut bardziej losowych wyników szacuję w granicach 100 symulacji serią. Na raty po 1, po 10 niestety odpada.

    Ostatnia aktualizacja: 28.01.2021
    "Istnieją tylko dwie możliwości: albo jesteśmy sami we Wszechświecie, albo nie. Obie są równie przerażające."

    The post was edited 1 time, last by Aurora Borealis: Kosmetyczne zmiany w poście ().

  • Witam, bardzo ciekawe dane. Postanowiłem je trochę opracować i oto co wyszło:


    NEG 0
    NEG 1
    NEG 2
    NEG 3
    NEG 4
    NEG 5
    NEG 6
    NEG 7
    CENA


    0


    2000


    4000


    6000


    8000


    10000


    10000


    10000


    SUMA


    0


    2000


    6000


    12000


    20000


    30000


    40000


    50000





    W pierwszym rzędzie mamy zwykłe histogramy dotyczące zliczeń z zamieszczonych danych. W drugim rzędzie uznałem, że lepiej oszacować prawdopodobieństwo trafienia danego procentu odzysku gdyż znaczny odsetek stanowi tam już 75% czyli wartość maksymalna.



    Obliczenia wykonane w matlabie, dodatkowo zrobiłem te dane w pliku html, ale należy go pobrać i otworzyć w przeglądarce bo na dysku wyświetli się tylko kod:

    drive.google.com/file/d/1t_R7l…sx75jENa/view?usp=sharing

    Tak to się prezentuje w fragmencie:

  • Bardzo dobra robota! Podoba mi się zwłaszcza kolorowanie surowej tabelki, bo daje to intuicyjny, pełny obraz skali opłacalności przy niższych i średnich wartościach odzysku. Sam również chciałem coś takiego zrobić, jednak nie jestem jeszcze tak obeznany z tymi narzędziami i dobrze uczyniłem oddając dane żywcem, bo w tym pomyśle byłem skazany na manualną robotę. Kolorowanie kilku tysięcy komórek, heheh, dobre sobie!

    Przyznam się szczerze, że gdy robiłem ten spis (tak jak z przelicznikami, tak i tu) najbardziej chodziło mi o samą anty, a dopiero potem o jakieś szczegóły. To przez to, że niższe i średnie wartości mnie nie interesują zbyt bardzo, a robić kawał roboty dla kogoś - po tak wielu godzinach spisywania, - to to nie, nie chciało mi się jeszcze. No ale tak czy inaczej, przynajmniej odłożyłem sobie tą przyjemność na później i zapewne któregoś dnia opublikuję taką tabelkę, (tu i w przelicznikach) że będzie można z niej zrobić mały podręcznik :]

    Wiedziałem, że dobrze robię nie robiąc nic! ;>
    Jeszcze raz dzięki! Naprawdę kawał dobrej roboty! :>
  • Aurora Borealis wrote:

    Propozycja otwarta - jeśli znajdzie się ktoś na tyle szalony żeby spędzać godziny na dorzucanie się do danych, czyniąc je jeszcze bardziej precyzyjnymi, chętnie zaktualizuję plik. Zasada jest taka, że rozrzut bardziej losowych wyników szacuję w granicach 100 symulacji serią. Na raty po 1, po 10 niestety odpada.
    Na szczęście nikt nie będzie musiał wydawać specjalnie na to antymaterii ponieważ przysiadłem dalej do analizy i znalazłem matematyczną zależność. Wykonałem testy dla 100 000 000 prób i zgodność z Twoimi danymi jest 99%, bo było ich bardzo dużo, ale nie tyle ile można osiągnąć w symulacji trwającej 3 minuty w matlabie.

    Ogólnie zasada jest taka:
    • 1/ Zaczynamy od 35%
    • 2/ Negocjujemy za 2k anty. Jak widać z histogramu z poprzedniego posta prawdopodobieństwo zwiększenia % jest w przybliżeniu takie samo dla wartości z przedziału 40%-49%. Krótko mówiąc, zwiększenie o każdy % pociąga za sobą taką samą szansę, gdzie minimalne zwiększenie wynosi według opracowanych danych 5% a maksymalnie 14% (po dodaniu do bazowych 35%).
    Wystarczy zauważyć, że losujemy liczby z zakresu 0-10, zaokrąglamy je w dół i dodajemy do nich wartość 5. Zaokrąglanie w dół sprawia że wartość 15% jest bardzo rzadka i nie wystąpiła, bo liczba losowa musiałaby idealnie wynosić 10, a to się nie zdarza, bo może być np. 9.9998 i już mamy 9.

    Możliwy zakres: 40% - 50%
    • 3/ Negocjujemy kolejny raz za 4k anty. Wszystko co napisałem powyżej nie zmienia się. Nadal losujemy dodając 5%-15% z tym samym prawdopodobieństwem (płaski). Mamy do czynienia ze zdarzeniami losowymi zależnymi od poprzednich dlatego rozkład nie jest płaski, tylko staje się trójkąty względem stanu początkowego.
    Możliwy zakres: 45% - 65%
    • 4/ Negocjujemy kolejny raz za 4k anty. Tym razem rozkład przechodzi w normalny - Jak ktoś oglądał teleturniej "The Wall - Wygraj Marzenia" będzie rozumiał dlaczego tak się dzieje. Oczywiście nadal zwiększamy % minimalnie o 5% a maksymalnie o 15% względem poprzedniej negocjacji. Tutaj dodatkowo możemy osiągnąć już wartości powyżej 75%, więc ograniczamy rozkład z prawej strony, przez co staje się niesymetryczny i nie jest już normalny, ale... Nevermind.
    Możliwy zakres: 50% - 80%, czyli: 50% - 75%
    • 5/ Negocjujemy kolejny raz za 8k anty. Tym razem rozkład przechodzi w bliżej niezidentyfikowany za sprawą ograniczenia z prawej strony. Oczywiście tu jak zawsze obowiązuje reguła punktu 2.
    Możliwy zakres: 55% - 105%, czyli: 55% - 75%
    • 6/ Negocjujemy kolejny raz za 10k anty. Wszystko tak jak powyżej.
    Możliwy zakres: 60% - 120%, czyli: 60% - 75%
    • 7/ Negocjujemy kolejny raz za 10k anty.

    Możliwy zakres: 65% - 135%, czyli: 65% - 75%
    • 8/ Negocjujemy kolejny raz za 10k anty.

    Możliwy zakres: 70% - 150%, czyli: 70% - 75%
    • 9/ Ostatni raz negocjujemy z brodatym złodziejem, który tak umiał się targować po 10k anty, że zgarnął ostatecznie 60k.
    Możliwy zakres: 75% - 165%, czyli: 75%
    ______________________________________________________________

    Więc jaki jest ten wzór? Zapisany rekurencyjne ma następującą postać:

    A(0) = 35%
    A(n) = A(n-1)+floor(5%+10%*rand(numTest,1)) dla: n={1,2,...,9}

    gdzie:

    numTest - liczba testów (ilość liczb losowych do testów, jak klikamy handlarza to 1, jak symulujemy >10 000)
    rand - funkcja liczb losowych o jednolitym rozkładzie
    floor - zaokrąglanie w dół.

    Wyniki testów dla 100 000 000 prób, kolejność taka sama, w drugim rzędzie kliknięte tabeli pokazują prawdopodobieństwo uzyskania 75% przy tej negocjacji:



    Komentarz do prawdopodobieństw osiągnięcia 75% w danej negocjacji:

    0/ 0%
    1/ 0%
    2/ 0%
    3/ ~1%
    4/ ~40,05%
    5/ ~89%
    6/ ~99,5%
    7/ ~100%
    8/ 100%

    Użyty Kod:
    Display Spoiler

    numTest = 100000000;
    a0=35;
    a1 = a0+floor(5+10*rand(numTest,1)); %[40-50]
    a2 = a1+floor(5+10*rand(numTest,1)); %[45-65]
    a3 = a2+floor(5+10*rand(numTest,1)); %[50-80]
    for i=1:numTest
    if a3(i)>75
    a3(i)=75;
    end
    end
    a4 = a3+floor(5+10*rand(numTest,1)); %[55-95]
    for i=1:numTest
    if a4(i)>75
    a4(i)=75;
    end
    end
    a5 = a4+floor(5+10*rand(numTest,1));
    for i=1:numTest
    if a5(i)>75
    a5(i)=75;
    end
    end
    a6 = a5+floor(5+10*rand(numTest,1));
    for i=1:numTest
    if a6(i)>75
    a6(i)=75;
    end
    end
    a7 = a6+floor(5+10*rand(numTest,1));
    for i=1:numTest
    if a7(i)>75
    a7(i)=75;
    end
    end
  • A pomyślałeś żeby uciąć dane o początkowe 35 i końcowe 75%?

    Druga sprawa - jak przysiądę do moich poczynań z pełniejszą analizą, sprawdzę powtarzalność niektórych sytuacji. Np. gdy pierwszy uhandlowany procent jest dość niski, kolejny też, a następny ma już skok o ok. 10% to przeważnie kolejny ma już 75%. Na razie nic nie wiem, ale pewne sytuacje zapamiętałem, bo na czuja wyczułem, że się zdarzają. Czasem zdarzają się wyjątki od reguły i wiem, że niestety nie da się oszukać algorytmu, bo naprawdę jest losowy. Uroiłem sobie, że w związku z powyższym, można by prognozować na podstawie początkowych wartości ile podbitek będzie potem. Na pewno można się na to naciąć, ale sprawdzić jak to działa nie zaszkodzi. Pewne jest to, że jeśli się regularnie złomuje (rzadko, czy często - nieważne), średnia wydanej u brodatego Janusza anty, wynosi średnio 30k za kawusię w jego baraku.

    Trzecia sprawa - nie lubię presji czasu, ani naciskania siebie/kogoś w takich luźnych sprawach, ale mam propozycję, żebyśmy pewnego kiedyś tam dnia usiedli razem i skonsolidowali wszystkie rozkminione dane w jednym poście/wątku. Jak nic z tego nie wyjdzie, to nic. Nevermind jak mówisz - ktoś zawsze może zerknąć w surowe dane i sam se porozkmniniać.
  • Tutaj mamy prawdopodobieństwo jak w łańcuchu Markova - każda następna sytuacja jest zależna od poprzedniej.

    Nieważne w której jesteś negocjacji. Masz takie samo prawdopodobieństwo uzyskania w kolejnej +5%, +6%, ... + 13%,+14% - histogram nr 1 (licząc od 0) ten płaski.
    Np.
    Twój aktualny % wynosi 56%, masz takie samo prawdopodobieństwo, że dalej negocjując uzyskasz 56%+5%=61% jak i 56%+14% = 70% (uzyskanie +15% jest prawie niemożliwe). Możesz tylko ocenić ile minimalnie negocjacji pozostało do 75%, ale nie ma co odmawiać różańca przy każdym kolejnym kliknięciu negocjacji i wierzyć w jakiś system. Matematyka...

    Przy okazji zrobiłem jeszcze takie zestawienie danych z algorytmu i Twoich (nie chcę myśleć z jakim trudem uzyskanych).



    * W min i range (rozstęp wyników) dla 3 negocjacji wdarł Ci się najpewniej błąd bo min wynosi 43, a to by było niezgodne z algorytmem (min 50), ot takie spostrzeżenie, sam nie jestem nieomylny.

    Dodatkowo wygenerowałem csv-kę dla 1 000 000 prób (26,7MB) i wersję w html dla pierwszych 10 000 prób analogiczną to tej z 1 mojego posta.

    CSV: brodacz-1.000.000_prob (z uwzględnieniem wydanej antymaterii).csv
    HTML: brodacz-10.000_prob.html
    _______________________________________
    edit

    Aurora Borealis wrote:

    średnia wydanej u brodatego Janusza anty, wynosi średnio 30k za kawusię w jego baraku.
    Tu trochę przesadziłeś, ale byłeś dość blisko, w końcu wiesz ile wydałeś...
    • Podliczając każdą transakcję dla modelu: 27 055
    • Podliczając każdą transakcję dla danych statystycznych: 26 916
    Można to także policzyć z prawdopodobieństwa trafienia 75%, ale miałem różnice rzędu 500anty, dlatego podliczyłem każdą transakcję z osobna i wyznaczyłem średnią wartość. W zależności od ilości symulacji wynik waha się o kilka-kilkadziesiąt jednostek antymaterii, ale ogólne należy zakładać: 27 050 ± 50 j.

    The post was edited 2 times, last by Qwant-holon ().

  • Nie trzeba nic wydawać na sprawdzanie takich rzeczy. Wystarczy założyć konto na uni testowym i dostaje się 10 mln anty na start. Jak antymateria się skończy, to się kasuje konto i zakłada nowe.

    Mało osób ma licencję na matlaba i nie odpali twojego skryptu, więc daję arkusz w Excelu, żeby sobie posymulować negocjacje z brodatym złomiarzem:
    megadrive.pl/#/view/file/6falf8rzzgk6mfdkdf27/Symulator

    The post was edited 2 times, last by Forumowy As ().

  • Qwant-holon wrote:

    byłeś dość blisko
    Nie o średnią arytmetyczną mi chodziło, tylko o to, że zdecydowana większość negocjacji 75% kończy się na 30k, co widać w arytmetycznej, którą wykazałeś - jest najbliższa 30k. To widać gołym okiem w tabelce danych. Mogłeś złapać mnie za słówko, gałganie jeden -_- :E Arytmetyczną jest dobrze znać, gdy ma się (jak ja) w planach regularne odwiedzanie brodacza, ale i tak kupując tyle anty nie powinno się jej liczyć na styk - to na pewno sam dobrze wiesz ;)

    Qwant-holon wrote:

    w końcu wiesz ile wydałeś...
    Na testowanie przeliczników i złomowań wydałem niewiele. Ktoś by pomyślał, że wariat wydał niezłą sumkę na tabelki, a prawda jest taka, że skorzystałem z anty przyznanej rok temu na kontach testowego uni Bermuda (tego od testu wersji 7.0). Hłe, hłe, hłe... Po prostu resztkę, która mi brakowała dorzuciłem (coś koło 2kk anty).

    Forumowy As wrote:

    Nie trzeba nic wydawać na sprawdzanie takich rzeczy. Wystarczy założyć konto na uni testowym i dostaje się 10 mln anty na start. Jak antymateria się skończy, to się kasuje konto i zakłada nowe.
    Napomknę co zostało powiedziane ;) Tak na wszelki wypadek.

    Aurora Borealis wrote:

    Propozycja otwarta - jeśli znajdzie się ktoś na tyle szalony żeby spędzać godziny na dorzucanie się do danych, czyniąc je jeszcze bardziej precyzyjnymi, chętnie zaktualizuję plik. Zasada jest taka, że rozrzut bardziej losowych wyników szacuję w granicach 100 symulacji serią. Na raty po 1, po 10 niestety odpada.

    The post was edited 1 time, last by Aurora Borealis ().

  • Myślę że temat jest już w pełni opracowany, wypadało by zamieścić wnioski:
    • Minimalny odzysk wynosi 35%, maksymalny zaś 75% (oczywiście odzyskujemy metal, kryształ i deuter)
    • Wiemy że prawdopodobieństwo w danej negocjacji uzyskania dodatkowych procentów w zakresie {+5%,+6%,+7%,...,+13%,+14%} jest takie samo i wynosi dokładnie 10% na daną liczbę (bo jest ich 10).
    • Każda kolejna negocjacja jest złożeniem kolejnych płaskich rozkładów jak w 1 punkcie. Mianowicie w drugiej negocjacji jest to rozkład trójkątny, w trzeciej pewna parabola, a w nieskończoności złożenia dążą do rozkładu normalnego, ale:
    • Maksymalna liczba negocjacji wynosi 8. Minimalna 3 patrz: tabela w 6 poście.
    • Na pierwszego max'a możemy liczyć w 3 negocjacji, mamy na to 1% szans. W 4 negocjacji mamy 40% szans na najwyższy odzysk (75%), w kolejnej piątej 89%, następnej 99,5%, kolejnej 99,997% i ostatecznie 100%.
    • Koszta rosną o 2k anty na daną negocjację aż do 10k, kolejno: 2k, 4k, 6k, 8k, 10k, 10k, 10k, 10k.
    • Średnia ilość antymaterii zakładająca około 100 wizyt u brodacza i wymiany z 75% stopniem odzysku będzie oscylować w okolicach 27k antymaterii.
    Ode mnie chyba tyle. Co do matlaba to zdaję sobie z tego sprawę dlatego nie zamieszczałem żadnych .m-plików. Dobrze, że chciało Ci się zrobić arkusz .xlsx, żeby ludzie sami mogli to przeklikać, bo mi brakło na to motywacji i poprzestałem na danych .csv.
  • Dobra myśl. Nie ma zbyt bardzo nad czym tu więcej rozkminiać. Interesują nas tylko pełne 75%. Dane które podałeś, w zupełności wystarczają do tego, żeby każdy mógł kalkulować je pod swoje strategie. Myślę, że to dobry moment żeby ująć wszystko co wiemy w pierwszym poście, żeby odwiedzający wątek mieli wszystko jak na dłoni (oczywiście powołam się na źródło). Uczynię to jeszcze dziś.

    Dziękuję za ogromny wkład i zapraszam do rozkminiania przeliczników! ;D
  • Tabela pokazująca, ile średnio antymaterii potrzeba na wynegocjowanie poszczególnych procentów:

    Display Spoiler

    wynegocjowany procentśrednia ilość wydanej antymaterii
    402.000
    412.000
    422.000
    432.000
    442.000
    452.361
    462.653
    472.920
    483.143
    493.331
    506.097
    516.245
    526.425
    536.584
    546.781
    557.138
    567.583
    578.137
    588.783
    599.496
    6010.210
    6110.972
    6211.785
    6312.770
    6413.906
    6514.524
    6614.974
    6715.646
    6816.394
    6917.350
    7018.340
    7119.346
    7220.482
    7321.509
    7422.644
    7527.053





    Dane na podstawie miliona symulacji udostępnionych w niniejszym temacie
  • A mógłbyś powiedzieć jak to wyznaczyłeś z tej csv-ki? Bo ja tam podliczałem anty potrzebne do uzyskania konkretnie 75%, więc nie mam pomysłu w jaki sposób uzyskałeś to samo dla np. 74% odzysku korzystając z tamtych danych.

    Cóż, sprawdziłem to, bo dane które podałeś są logiczne, ale niepokoiły mnie te dwie rzeczy - skoki oraz fakt, że wartości 40-44 mają stałą średnią 2k anty co na pewno jest źle. Zamieściłem fragment kodu z matlaba przykładowo, żeby pokazać jak ja podliczam cenę ostateczną:

    C Source Code: przykład kodu

    1. ceny = [2000,4000,6000,8000,10000,10000,10000,10000,10000];
    2. SumAntyA = zeros(size(A,1),36);
    3. for k = 1:1:36
    4. for i=1:size(A,1)
    5. for j=1:size(A,2)
    6. if A(i,j)<40+k-1
    7. SumAntyA(i,k) = SumAntyA(i,k) + ceny(1,j);
    8. else
    9. SumAntyA(i,k) = SumAntyA(i,k);
    10. end
    11. end
    12. end
    13. end
    14. AvgAntyA = sum(SumAntyA)/size(A,1);
    Display All

    Macierz 'A' to macierz z symulacji czyli to co w pliku csv - wszystkie wyniki negocjacji. W 6 linijce podliczam koszta sprawdzając kolejne negocjacje ('j') dla danych symulacji ('i') symbolem: A(i,j)<40+k-1, gdzie nierówność oznacza wynegocjowany %. W udostępnionym pliku było po prostu 75%, czyli zliczało anty, aż do osiągnięcia tej wartości. Do kodu dopisałem dodatkową pętlę ('k'), która sprawdza ilość antymaterii jaką musimy wydać aby uzyskać % większy niż ta wartość. Stąd też wyrażenie 40+k-1, co dla k=1 - 36 daje procenty odzysku od 40% do 75%.

    To oznacza, że jeśli zadowala nas np. 56%, to średnia wydanej antymaterii będzie sumą wszystkich negocjacji, które kończyły się powyżej tej wartości, ale kolejne negocjacje nie były już prowadzone (nie są zliczanie - else...).
    Wracając do stałych wartości z zakresu 40-44, zauważ, że nie jest to możliwe, bo po pierwszej negocjacji uzyskamy zawsze minimum 40%, wydając 2k anty, natomiast w drugiej negocjacji za 4k anty uzyskamy minimum 45%. Np.

    Zakładając, że wystarczy nam 43% odzysku czasami trafi się, że klikniemy negocjację raz (gdy wynegocjujemy +8%, +9%, +10%, +11%, +12%, +13%, +14%). Ale jeśli wylosujemy +5%, +6% lub +7% to procent odzysku (30% szans że tak się stanie) wyniesie mniej niż zakładamy i musimy negocjować po raz drugi, co akurat w 100% da nam założony odzysk.
    A więc średni koszt dla 43% odzysku będzie wynosił:
    0.7*2000+0.3*(2000+4000)= 3200 anty

    Oczywiście liczenie z prawdopodobieństwa wyższych % jest dużo bardziej skomplikowane dlatego zastosowałem ww. algorytm przybliżony dla 10mln, wyniki są z dużą dokładnością (ale nie idealnie jak pokazuje wynik z przykładu).


    Stosując taki algorytm uzyskamy prawie liniowy wzrost cen, ale czy założenie miliona prób jest słuszne? Żaden gracz tyle razy tego nie przeklika, dlatego zrobiłem test typu Monte-Carlo czyli założyłem, że gracz skorzysta z handlarza pewną ilość razy i symulowałem w ten sposób możliwy rozrzut wyników.


    Powyższy test można traktować jako wartości asymptotyczne, ale realnie nie zastosujemy handlarza złomu tyle razy, dlatego przeprowadziłem możliwe warianty na kolejno 1000 wizyt u brodacza, 100 i 10 (Monte Carlo):

    Dla 10 testów:

    Dla 100 testów:
    Dla 1000 testów:
  • Pierwsza tabela jest odpowiedzią na następujące pytanie:
    Ile anty średnio wydał gracz, jeśli wiadomo że wynegocjował dokładnie ustalony procent?

    Druga tabela, którą prezentuję odpowiada na nieco inne pytanie:
    Ile anty średnio wydał gracz, jeśli wiadomo że wynegocjował nie mniej niż ustalony procent i wycofał się z dalszych negocjacji?

    Display Spoiler

    %średnia ilość wydanej anty
    402 000
    412 396
    422 800
    433 202
    443 595
    454 004
    464 463
    474 984
    485 564
    496 202
    506 900
    517 275
    527 725
    538 255
    548 870
    559 569
    5610 275
    5710 984
    5811 707
    5912 440
    6013 198
    6114 007
    6214 818
    6315 647
    6416 476
    6517 306
    6618 181
    6719 108
    6820 047
    6921 019
    7021 994
    7122 975
    7223 974
    7324 984
    7425 997
    7527 052



    a


    Dane na podstawie 65 tysięcy własnych symulacji

    Edit: Do obliczeń z Twoim plikiem użyłem funkcji licz.jeżeli()
    Podobają mi się wykresy, które wstawiłeś. Są estetyczne i pokazują w jakich granicach mogą wahać się wyniki

    The post was edited 2 times, last by Forumowy As ().

  • Forumowy As wrote:

    Ile anty średnio wydał gracz, jeśli wiadomo że wynegocjował nie mniej niż ustalony procent i wycofał się z dalszych negocjacji?
    Teraz rozumiem na czym polegała różnica. Twój pierwszy wykres ma sens wówczas gdybyśmy cały czas trafiali dany procent, w sumie ciekawe. Z praktycznego punktu widzenia nie możemy zakładać, że wynegocjujemy dokładnie ustalony procent tylko jak w powyższym cytacie - zakładamy procent który nas zadowala. Zrobiłem jeszcze research w tym kierunku. Co prawda miałem tego nie publikować, bo to dosyć skomplikowane, ale...

    Nasze poprzednie wyliczenia opierały się na symulacjach, ja już powiedziałem, że można to jeszcze obliczyć z prawdopodobieństwa - łańcuchów Markova. Znam ten temat, bo to wiedza przydatna w grze na giełdzie (np. Risk of Ruin), dlatego pobawiłem się dalej i wyznaczyłem m.in. dokładne wartości średnie.

    By wyznaczyć wykres wynegocjowanego % od średniego wydatku dla każdego założonego procentu konstruowałem macierz przejść Markova. Taką macierz należy redystrybuować (wyznaczyć transmisję prawdopodobieństw) i mamy tabelkę zależności prawdopodobieństwa na założony % od ilości negocjacji. Fajne jest zobrazować jak taki łańcuch Markova wygląda.
    Np.

    Dla 43%:

    Strzałki pokazują możliwe przejścia - tutaj widać jak na dłoni że wychodzimy z 35% z prawdopodobieństwem 0.1 na 40%, 41%, 42%, ale wchodząc do założonych (zadowalających nas) 43% krążymy tam w nieskończoność a szansa na to wynosi 0.7. W kolejnej negocjacji 100% szans. Dla tego przykładu odzysk już liczyłem i wynosi on 3200 anty.

    Dla 60%:


    Dla 75%


    Macierz przejść Markova dla 75% odzysku prezentuje się tak. Można z niej patrząc na wiersze odczytujemy szansę na wartość w kolumnie. Jest to albo 0% albo 10%, w ostatniej kolumnie szansa kumuluje.


    Po redystrybuowaniu takiej macierzy wyznaczamy szanse na osiągnięcie danego % w danej negocjacji. Poniżej zamieściłem 3 różne dla przykładowych 43%, 60% i 75%. Finalna szansa która będzie nas interesować zawarta jest w ostatniej kolumnie danej tabeli:


    A więc budując model Markova dla każdego % począwszy od 40% a skończywszy na 75% i zapisując tylko ostatnią kolumnę otrzymamy tablicę prawdopodobieństw na wystąpienie danego procentu odzysku który zakładamy.


    Aby obliczyć średni wydatek antymaterii wystarczy teraz przemnożyć cenę danej negocjacji przez (1-prawdopodobieństwo) dla każdej kolumny osobno i zsumować. Wówczas otrzymamy dane które były już prezentowane, ale z dokładnością do każdego miejsca po przecinku.

    Np. zakładamy że wystarcza nam 66%, wtedy średnią cenę liczymy w ten sposób:

    Avg_Anty(66%) = 2000*(1-0) + 4000*(1-0) + 6000*(1-0) + 8000*(1-0.352) + 10000*(1-0.9003) + 10000*(1-0.99748) + 10000*(1-0.999999) + 10000*(1-1) +... = 2000+4000+6000+5184+997+25,2+0,01 = 18206,21



    Wykres dla wyznaczonych danych:

    Tym algorytmem można wyznaczyć także wyższe procenty odzysku czysto hipotetyczne.
    Np.
    Średni koszt odzysku minimum 75% wynosi: 27065.18000
    Średni koszt odzysku minimum 85% wynosi: 37564.60815
    Średni koszt odzysku minimum 100% wynosi: 53351.48126

    Żeby dojść do 100% odzysku potrzeba maksymalnie 13 negocjacji, minimalnie 5, ale rzecz jasna raju dla pushówek nie chcem tu robić i 75% powinno zostać. No może 85% jeszcze...

    _____________
    edit

    Obrazy raz działają raz nie, ale zawsze można kliknąć w "pokaż obraz" na symbolu że niby wywaliło zdjęcie. Wszystko jest na drive, a więc było jest i będzie dostępne aż google się wypnie.

    The post was edited 2 times, last by Qwant-holon ().

  • Czasem warto zacząć negocjacje od nowa. W temacie podsumowującym dałem link do kalkulatora prawdopodobieństw i średniego kosztu w antymaterii. Podam przykład. Zaczęliśmy negocjacje i po pierwszych dwóch negocjacjach mamy zaledwie 45 %. Wydaliśmy 6000 antymaterii. Mierzymy w 75%. Kalkulator podaje, że na wynegocjowanie maksymalnego procentu wydamy średnio dodatkowe 30478 jednostek antymaterii. Zatem w tym przypadku średni koszt łączny to 36478. Możemy się wycofać z negocjacji i zacząć od nowa. Średni koszt uzyskania 75% w nowym rozdaniu to 27065 jednostek antymaterii, ale trzeba doliczyć 6000 jednostek zmarnowanych z uprzednio zerwanych negocjacji, czyli łączny średni koszt wyjdzie 33065 jednostek antymaterii. Zatem to jest mniej niż w pierwszym wariancie, w którym nie przerywamy negocjacji.

    The post was edited 1 time, last by Forumowy As ().

  • Zgadzam się, ale średnia dotyczy dominujących czterech do pięciu tur na tle ogromnej liczby symulacji, podczas gdy jednorazowo może się zdarzyć jak w dwóch przykładach powyżej. To są dane z autentycznych negocjacji, dlatego podałem numery wierszy. Dla mnie średnia jest bardzo ważna, bo często złomuję, ale dla gracza, który robi to doraźnie, a który nie używa tyle anty co ja, każde jej kilo jest na wagę złota. W sytuacji w której mógłby mieć 5 tur negocjacji, ten rezygnuje przy 3-ciej, może dostać w nowym rozdaniu 6, albo 7 tur. W sytuacji odwrotnej, gdy wylosowało mu 6 albo 7 tur, a rezygnuje po 3-ciej, może w nowym rozdaniu dostać 4, albo nawet fuksem 3. Tylko że w związku z powyższym, nie jest to do przewidzenia, dlatego dodałem na koniec wniosek, że jednak każdy styl gry - czy stosujesz złomowanie często, czy rzadko - wymaga zapasu anty, żeby nie wtopić.