GuruShots Algorithm

Как се изчислява вота в GuruShots

В GuruShots най-честото объркване идва от това, че хората гледат само две числа — Exposure % и Votes — и очакват между тях да има проста връзка от типа „повече показвания = повече вот“. Реалността е по-различна: системата работи като пул за гласуване, в който снимките се показват динамично, а гласовете не са „еднакви“, защото всеки потребител има различна Voting Power. Затова една снимка може да стигне 100% exposure и пак да не „избухне“ във вот, докато друга с подобни показвания да отиде много напред — просто защото е видяна и оценена от по-силни гласуващи или има по-висок vote/view ratio.

Алгоритъмът на GuruShots (поне в публично описаната му част) има една основна цел: да изравни показванията между снимките в рамките на даден challenge, така че всяка снимка да получи реален шанс. Това означава, че системата постоянно „следи“ колко пъти е била показана всяка снимка и приоритизира тези, които изостават спрямо текущия таргет за гледания. В същото време, истинският резултат в класирането не идва от самите показвания, а от това какво се случва по време на тези показвания: дали хората гласуват за кадъра ти и каква е тяхната тежест (Voting Power). Ако го преведем на прост модел, вотът за една снимка може да се мисли като: показвания × шанс да получиш глас × средна тежест на гласуващите. Именно тази комбинация обяснява защо понякога имаш достатъчно exposure, но вотът ти расте бавно — или обратното.

1) “Вотът” в GuruShots е претеглен: Voting Power

Това е официално и публично (в community FAQ):

  • Newbie: voting power = 1

  • Guru: voting power = 9 + Guru Rang

  • т.е. 1 глас от Guru = 9+ “vote points”

Формула (точките за снимка):

VotePoints(photo)=∑i=1NVotingPower(voteri)\text{VotePoints(photo)}=\sum_{i=1}^{N}\text{VotingPower(voter}_i)

Това е причината една и съща “експозиция” (показвания) да дава много различен резултат като “votes” според това кой те е видял.


2) Моделът “показвания → гласове” (това най-вероятно е формулата, която си виждал)

Тук идва “реалната” формула в смисъл на математически модел на системата:

Нека:

  • VV = брой views (колко пъти снимката е показана в voting)

  • pp = вероятност да получиш “vote” при показване (vote/view ratio)

  • P‾\overline{P} = средна voting power на хората, които гласуват за теб (не на всички, а на тези, които натискат vote)

Тогава очакваните точки вот са:

E[VotePoints]≈V⋅p⋅P‾\mathbb{E}[\text{VotePoints}] \approx V \cdot p \cdot \overline{P}

Това е изключително полезно, защото обяснява защо:

  • показванията сами по себе си не гарантират вот

  • същите показвания при по-висок клас гласуващи дават много повече votes

Има точно такъв пример с числа в community материалите (500 показвания × 9 voting power = 4500) като илюстрация на ефекта.


3) Колко пъти се показва една снимка в voting pool (Views / “top amount of views”)

Това е частта, която хората най-често наричат “алгоритъма”.

Официалното описание от GuruShots (важните редове)

  • Броят показвания за снимка в даден challenge е динамичен (зависи от участници/гласуващи).

  • Алгоритъмът е направен да даде на всяка снимка equal opportunity → изравнява views между снимките.

  • Нова снимка получава бърза експозиция, докато системата я “изравни” с останалите.

  • След като стигне “top amount of views per photo”, експозицията забавя, защото други снимки трябва да наваксат.

Т.е. има “цел” (таргет) за views, която се движи нагоре/надолу според динамиката.


4) Как изглежда “формулата” за views (неофициална, но точно описва поведението)

Официално не дават числова формула, но поведението им съвпада много добре с този модел:

4.1. Таргет за views на снимка

Vtarget(t)≈TotalImpressions(t)PhotosInChallenge(t)V_{\text{target}}(t) \approx \frac{\text{TotalImpressions}(t)}{\text{PhotosInChallenge}(t)}

Където:

  • TotalImpressions(t) = колко общо показвания са произведени от voting-а до момента

  • PhotosInChallenge(t) = колко снимки участват до момента

Това обяснява защо “таргетът” е moving target и защо “влизане късно / swap-ване” прави “view-gap” (снимката е изостанала спрямо новия таргет и системата я бута да навакса). Това е описано като наблюдение в community анализи.

4.2. Правило за селекция: “кой да се показва сега”

В реалните системи това най-често е вариант на:

  • предпочитай снимки с най-голям “дефицит”:

ΔV=Vtarget−Vcurrent\Delta V = V_{\text{target}} – V_{\text{current}}

и показвай тези с най-голям ΔV\Delta V по-често, докато се изравнят.

Това е точно еквивалент на официалното изречение “system strives to equal out the views across all photos”.


5) Къде влиза “Exposure Bonus meter” (защо “гласуването” влияе на показванията)

GuruShots официално казват:

  • като гласуваш → увеличаваш Exposure Bonus → снимките ти получават повече exposure

  • meter-ът пада с времето и трябва пак да го пълниш

Наблюденията обикновено се моделират като множител на шанса да бъдеш избран от пула (не като гарантирани views), и хората дори говорят за “ratio”, която се виждала в JSON от vote endpoint (колко гласа са нужни да качиш метъра).

Тоест (пак като модел):

Pr⁡(photo shown)∝w(ExposureBonus)⋅NeedToCatchUp(ΔV)⋅BoostFactor\Pr(\text{photo shown}) \propto w(\text{ExposureBonus}) \cdot \text{NeedToCatchUp}(\Delta V) \cdot \text{BoostFactor}


Най-полезното “в едно изречение”

Показванията (views) се стремят да се изравнят за всички снимки в challenge-а (официално), но вотът (vote points) е претеглен по voting power, така че реално:

VotePoints≈Views×VoteRate×AvgVotingPower\text{VotePoints} \approx \text{Views} \times \text{VoteRate} \times \text{AvgVotingPower}

…и затова “кой те вижда” е почти толкова важно, колкото “колко пъти те виждат”.

error: Защитено съдържание!! Използването без позволението на автора е незаконно.