5 wmz за красивое решение

Skie
На сайте с 14.10.2006
Offline
161
#31

Ещё вариант:

Чем больше фоток посмотрел пользователь, прежде чем проголосовать, тем весомее у него голос.

(типа того, что к выбору подошел серьёзно, а не на первую попавшуюся клюнул)

stealthy
На сайте с 15.06.2006
Offline
69
#32

Ma-)cTpo, нет, не кажется. В условиях задачи нет ничего о логике выбора и о критериях "достойности". "Сиськи или жопа" будут в топе независимо от алгоритма расчета рейтинга если посетители это любят и кликают. Более того, мне кажется вы неверно поняли предложенный алгоритм. В моем случае будет выше вероятность смены близко расположенных картинок местами, поскольку образно говоря дистанция для преодоления разницы в голосах картинкой "снизу" будет для нее меньше, чем для убегания "верхней" еще выше. Но в любом случае выше будет та картинка, за которую голосовали больше, а уж за что голосуют - это дело посетителей.

Я, возможно, не в теме, поэтому лично мне совершенно все равно какая фотка будет на первом месте. Здраво рассуждая, скорее всего не все равно будет а) посетителям (фанатам) и б) владельцу баннера, который ассоциирован с фото. Посетители которым что-то не понравятся выведут быстро любую другую фото в топ по принципу "а вот эта, на мой взгляд лучше", а владельцы баннеров пусть соревнуются, у них появится такая возможность (я так понимаю как раз сейчас то её и нет).

И вообще, задачи часто решаются по аналогии. Если мы имеем некоторое неравенство, когда рейтинг растет слишком быстро и его нужно ограничить - легко найти аналогию в RPG играх, где требуется дать возможность быстро вырасти новичку, но требуется больше сил на взросление и заработок experience на более высоких уровнях. Для задач когда нужно выравнять всех по одной линеечке годятся алгоритмы выделения тайм-слайсов для процессов операционной системы (например мультизадачность Юниксов). Для случая когда вес голосов разный и нужно считать общую "карму" подойдут такие схемы расчета, как расчет PR в Гугле, например. И так далее. Нашел аналогию - попробуй применить, а потом уже подкручивай коэффициенты под себя, поскольку почти все задачи "в принципе" давно уже решены.

Twilight CMS (http://www.twl.ru): есть Free версия, очень проста и удобна в использовании. Консультирую по любым вопросам. Новый спорт - практическая стрельба (http://nikit.in) - не для офисного планктона.
Ma-)cTpo
На сайте с 27.02.2007
Offline
49
#33

stealthy, правильно говорите, надо по аналогии. Если рассматривать PR Гугла, то в моей модели рейтинг больше зависит от "скорости прироста ссылок", чем от их количества. Скорость падает, рейтинг тоже падает - это не сильно зависит от общего количества ссылок (~ голосов).

В вашем же случае, если PR например 8, то во-первых - его сложно быстро догнать (второй фотке сложно обогнать лидера, если у него всегда будет больше голосов за отрезок времени), во-вторых снижаться PR тоже будет очень медленно.

В моей модели процессом (скоростью смены фоток) можно управлять с помощью параметра n

Но стоит заметить, что ваша идея тоже имеет право на существование ;)

You have to do what you have to do
stealthy
На сайте с 15.06.2006
Offline
69
#34

Да конечно всё имеет право на жизнь. Просто это совсем разные алгоритмы для разных случаев. "PR гугла" - это алгоритм во-первых сетевой, а во-вторых накопительный, то есть когда вес передается не просто от сайта к сайту, а еще и дальше с затуханием. И этот вес у каждого участника свой и итоговый вес передаваемый рассчитывается по сложному многоходовому алгоритму. Выше в обсуждении уже предлагалось назначать разный вес каждому голосу за картинку в зависимости от возраста и чего-то еще. Greenwood сказал что это неоправданное усложнение. Поэтому, я предложил намного более простую по принципу работы схему, где вклад каждого голоса считается примитивно. Подойдет ему или нет - он сам решит (5 WMZ мне однако не нужны :), чисто любопытная задача).

Насчет догнать того кто выше в рейтинге как раз все получится. Ну, предположим всего две фотки и два места. Если фотка на первом месте - голос добавляет 1 балл, а если на втором - 2. В начале имеем так (в скобках - баллы):

Ф1[0] и Ф2[0] стартуют с нулями, оба считаем на втором (самом нижнем) месте

Ф1[2], Ф2[0] (первый клик по первой, +2 балла, в итоге Ф1 на первом месте, Ф2 на втором)

Ф1[3], Ф2[0] (второй клик по первой, +1 балл)

Ф1[4], Ф2[0] (третий клик по первой, +1 балл)

Ф1[5], Ф2[0] (четвертый клик по первой, +1 балл)

Итого, после 4х кликов Ф1 вырвалась вперед, у неё 5 баллов! Тут пришли фанаты "сисек" и начали кликать на вторую картинку.

Ф1[5], Ф2[2] (первый клик по второй, +2 балла)

Ф1[5], Ф2[4] (второй клик по второй, +2 балла)

Ф2[6], Ф1[5] (третий клик по второй, +2 балла, фотки меняются местами)

Итого, после 3х кликов по Ф2 она оказалась выше в рейтинге, чем Ф1 у которой 4 клика!

Далее все будет наоборот - клики по Ф2, которая залезла наверх, будут давать ей уже только по баллу, а Ф1 получать по 2. Таким образом, при примерно одинаковом числе кликов по фоткам они будут регулярно меняться местами, чего при традиционном рейтинге будет происходить гораздо реже (не силен в комбинаторике, но вроде бы раза в 2 примерно). Плюс, такое соревнование будет между любыми двумя соседями, поэтому и совокупное количество перемешиваний во всем рейтинге должно быть гораздо больше, чем при простом линейном начислении. И это даст по сути некоторую ротацию баннеров и затруднит (хотя и не сделает невозможным) убегание фоток на самый верх с большим отрывом.

Сразу говорю, что с вашим алгоритмом не сравнивал, поскольку "с ходу" его не понял. Может быть он более эффективен, но, соответственно, и немного более сложен в реализации.

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#35
greenwood:
Выслушаю все решения.

Обрати внимание на BL в webmoney...

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
greenwood
На сайте с 08.09.2003
Offline
519
#36
stealthy:
Нормировать рейтинг по логарифмической или степенной шкале (с дробным коэффициентом). Например, Чтобы голос первому месту давал 1 балл, второму 2, третьему 4, четвертому 7, пятому 13, шестому 24, седьмому 44, восьмому 81, девятому 149... В итоге пока фото внизу - оно быстро поднимается вверх, но как только оно в топе - держаться ему на плаву становится сложнее.

боюсь это вызовет большую нагрузку на сервер

greenwood добавил 04.06.2008 в 04:42

Skie:
Чем больше фоток посмотрел пользователь, прежде чем проголосовать, тем весомее у него голос.
(типа того, что к выбору подошел серьёзно, а не на первую попавшуюся клюнул)

логично, но сложно в реализации да и спорно если вспомнить про вкусы :)

greenwood добавил 04.06.2008 в 04:47

СКОРПИОН:
Обрати внимание на BL в webmoney...

алгоритм там неизвестен :)

D
На сайте с 21.06.2006
Offline
168
#37

1. Решение проблемы зависания фоток в топе.

Создать специальный раздел на сайте "Наши топы".

Фотки, провисевшие в топе 3 дня, переносятся в него и в рейтинге больше не участвуют.

Какие-то численные алгоритмы не годятся, ибо на первые места кликают всегда больше, даже если там кикимора! Был опыт.

2. Не давать голосовать из топа

3. Предлагать посетителю оценить 10 фоток, которые ему покажутся в случайном порядке

4. Вывести топ в случайном порядке и предложить посетителю составить свой топ(потом сравнить, пересчитать и т.п.)

Appstorespy - платформа анализа мобильных сторов | Publa.io - готовая инфраструктура для приема платежей и оплаты рекламных кабинетов в бурже
Ma-)cTpo
На сайте с 27.02.2007
Offline
49
#38

stealthy, я вас понял, однако в такой системе есть 2 существенных недостатка:

1. Нагрузка на сервер. Я чувствую фотки будут меняться каждый день по несколько десятков раз. Конечно, можно изменить коэффициенты так, что чередование замедлиться, но тогда придется находить оценку неизвестных параметров для какой-либо регрессии по известным специально придуманым данным, которые бы нас устроили. Плюс придется переделывать оценку каждый раз, когда захочется изменить скорость ротации фоток с одного места на другое. Плюс к этому при каждом (!) голосе придется программно делать выбор коэффициентов (в зависимости от места фотки). А это 10 операторов IF или WHILE. И это для каждой фотки =)

P.S. Метод хорош при должной доработке, однако в плане вычислений это пипец для сервера.

а 5 долларов конечно не при чем. Вот если бы было 6 ;)

Ma-)cTpo добавил 04.06.2008 в 07:25

Dash,

2. как раз по топу чаще всего и голосуют

3. Мне бы было в лом )

4. Посетитель не пришел сортировать ваши фотки, он пришел смотреть и проголосовать за лучшую.

потом сравнить, пересчитать и т.п

это уже не численный алгоритм?

P
На сайте с 10.03.2008
Offline
168
#39

Не обязательно выводить только самую высшую в топе фотку. Можно сделать некий топ-10 и выводить их случайно. Но, чем популярнее фотка, тем чаще она будет показываться.

фотка #1 - 30% шанс быть показаной пользователю.

фотка #2 - 20% шанс быть показаной пользователю.

фотка #3 - 10% шанс быть показаной пользователю.

И так далее. Разумеется, фотография должна выводиться с надписью "N место в топе".

Тем самым, 1 фотка не будет мозолить глаза всё то время, пока она будет держаться в топе.

greenwood
На сайте с 08.09.2003
Offline
519
#40
Ma-)cTpo:
5 долларов конечно не при чем. Вот если бы было 6

хоть 10 лишь бы решение было приемлимое, красивое и справедливое :)

речь идет об этом, если кто не понял и там кстати .. в следующую 15 после топа попадает другой банер у которого рейтинг по рубрике на втором месте ... и так делее

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий