В 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}
…и затова “кой те вижда” е почти толкова важно, колкото “колко пъти те виждат”.
