Ответы пользователя по тегу Алгоритмы
  • Популярный сервис без/с плохой системы рекомендаций?

    leventov
    @leventov
    Едва ли вы переплюните систему рекомендаций любого популярного сервиса, даже самую отстающую. Все-таки там не дураки работают.

    Смотрите прежде всего, откуда вы сможете спарсить/вытянуть данные, потому что компании обычно тщательно следят, чтобы никто не смог бесплатно воспользоваться их наработками.

    Лет 7-8 назад Netflix проводил открытый конкурс по улучшению рекомендаций их фильмов, выкладывал данные для анализа. Гуглите.

    Еще есть такая штука: https://www.kaggle.com/competitions
    Ответ написан
    2 комментария
  • Польза олимпиадного программирования, миф или реальность?

    leventov
    @leventov
    К сожалению, это очень субъективный вопрос, потому что нельзя поставить чистый эксперимент - взять одного программиста, в одной вселенной он подался в спортивное программирование, а в другой - нет, и сравнить его успехи. Все, кто занимались - скорее всего, будут хвалить, те, кто не занимались - скажут, что да нафиг надо.

    Я занимался и скажу так - занимайтесь если реально в кайф, азарт чувствуете, считаете дни до контеста. А если это превращается в страду - бросайте без сожаления.

    Вот исчерпывающий обзор плюсов - codeforces.com/blog/entry/1851 Это все правда, но не приближает к ответу на вопрос, нужно оно вам или нет. Потому что список вещей, которые хорошо бы изучить / освоить / прокачать / попробовать / заниматся - бесконечен, а жизнь конечна.
    Ответ написан
    Комментировать
  • Какой учебник лучше для изучения алгоримтов?

    leventov
    @leventov
    Советую e-maxx.ru/algo/: нормальные объяснения, почти без нудной теории и доказательств, рабочие реализации на реальном языке там же.
    Ответ написан
    Комментировать
  • Помогите с выбором программы для оценки связи нодов

    leventov
    @leventov
    Похоже, «созданием кластеров» вы называете укладку графа.

    Для начала определитесь, что у вас все-таки есть: координаты вершин (зачем тогда укладка, ее цель — как раз определить координаты для вершин), попарные расстояния (между всеми вершинами, или только между связанными), или только связи.

    В основе любой укладки лежит бинарная метрика для вершин. Простейшая метрика: 1 — есть связь, 0 — нет связи. В зависимости от имеющейся информации и целей можно изобретать более сложные метрики. Если у вас есть попарные расстояния между вершинами — имеет смысл применить их в метрике.

    Самые распространенные методы укладки: физическое (пседвофизическое) моделирование. Ребра — пружинки. См. en.wikipedia.org/wiki/Force-directed_graph_drawing. Конкретных алгоритмов — не меньше десятка, реализаций — еще больше, от систем перечисленных на странице на Википедии по ссылке до библиотек на любых языках.

    Лично я использовал программу Gephi, библиотеку Sigma.js (для укладки графа в браузере) и реализовывал алгоритмы сам. Gephi мне показалась неудобной. Не помню, есть ли там 3D. Впечатление, что готовые программы в этой области имеют тенденцию быть заточенными под какой-то конкретный способ использования, поэтому если у вас не какой-то простейший случай, рекомендую больше смотреть в сторону библиотек (это не относится к Sigma, там укладка тоже почти не настраивается).

    По поводу соцсетей:
    2D граф друзей Вконтакте на WebGL: habrahabr.ru/post/144758/
    ВК-приложение для построения 2D графа друзей: vk.com/app2353824_14882053
    2D-карта друзей (приложение в ФБ: apps.facebook.com/challenger_meurs)
    Ответ написан
    3 комментария
  • Как быстро сравнить много массивов?

    leventov
    @leventov
    Попробуйте предпосчитать 50 массивов с номерами массивов из 100, которые содержат индекс. Тогда расчет статистики по 1 массиву из 10 млн. займет примерно (100*10/50)*10=200 операций вместо 30*100=3000 при сравнении массивов «в лоб».
    Ответ написан
    4 комментария
  • Случайная ротация баннеров в зависимости от стоимости?

    leventov
    @leventov
    Это weighted random sampling problem.
    Далее в гугле много много ссылок, базовые алгоритмы несколько сложнее чем приведенные выше подходы.
    Ответ написан
    1 комментарий