Задать вопрос
@solomonych

По какому алгоритму лучше управлять вероятностью рандомной выборки из массива?

Приветствую!


Есть вот такая интересная задачка, которую мой программист что-то не может никак осилить:


у меня на сайте (строительный портал) решили внедрить что-то типа своей тизерной сети…

написать ее проблем не составило, но вот на чем произошел стопор:


вероятность показа объявлений решили сделать произведением ctr и цены клика, введенной рекламодателем (по системе гугла — выигрывает пересечение высокой цены клика и высокого качества объявления)…


Но вот как эффективно и правильно реализовать такое управления выборкой объявлений, пока не смогли допереть…


Буду благодарен за любые советы!!! :)
  • Вопрос задан
  • 2814 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
@ShouldNotSeeMe
Если база объявлений в MySQL и объявлений не очень много, то можно приблизительно так:
SELECT… ORDER BY ctr*price+RAND()
где x — некоторый коэффициент
Ответ написан
Позволю предложить тяжелое математическое решение:

1) нормализация и одновременно определение границ RND() для каждого объявления: ( LEFT[i]; LEFT[i+1] )

NORM=0
for i=0 to N-1
LEFT[i] = NORM
NORM = NORM + CTR[i]*PRICE[i]

2) работа

ADV_ID = GET_i_BY_LEFT_BORDER( RND()*NORM )
Ответ написан
Комментировать
@1x1
ORDER BY RAND() — самый простой, но весьма медленный для объёмных таблиц, это тоже стоит учитывать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Synapse AI Москва
от 120 000 ₽
ITK academy Нижний Новгород
от 75 000 до 120 000 ₽
от 180 000 до 250 000 ₽