1

Тема: Алгоритм підсумовування даних і отримання середнього балу в реальному

Всім доброго часу доби!
Довго думав як правильно сформулювати питання.
Довше, ніж усвідомлював саме завдання :)

Коротке пояснення:
Є сайт з категоріями і підкатегоріями. Поки не має значення що це за категорії та подкатегоіі. Їх можна представити як дерево графів. Є нульова / головна категорія і від неї вже успадковуються підкатегорії.

На сайті, через фронди-енд відповідно, різними користувачами будуть вноситися цифри. Діапазон, скажімо, від -10 до +10. Користувач буде їх вносити в обрану під (а може і під .... під) категорію.

А ось тепер найцікавіше. Потрібно в реальному масштабі часу проводити сумірованіе цих чисел і отримувати середній бал на рівні підкатегорії і так далі до верху. Умовно кажучи в реальному масштабі часу неужно отримувати і бачити динаміку змін як в будь-який підкатегорії, так і в результаті на головній категорії.

Вибачте, не сильний я ставити такі питання правильно, але думаю загальне уявлення є.

Чи є у кого які думки як це організувати.

Про сервері: elixir/phoenix
Як зберігання даних думаю використовувати Redis.

Велике спасибі за будь-яку підказку.

2

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

Дерево часто змінюється?
Якщо ні - то вага гілки буде (майже) незмінною. При зміні значення треба просто коригувати середнє на зміну, множену на вагу гілки, де відбулася зміна.
Звісно, якщо буде зміна структури, то треба буде перерахувати ваги.

Подякували: ostap34PHP, ProudNoob2

3

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

дерево є виродженний граф...

4

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

ProudNoob
Ви уже вирішили, за якою формулою бали дочірніх категорій будуть сумуватися з балами батьківської?

Подякували: koala1

5

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

Всім привіт!!!

Вибачте, що не відразу відповідаю на ваші повідомлення. Я не очікував, що форумчани такі активні :)
Спасибі!

З ваших повідомлень я зрозумів, що щоб отримати повну відповідь, потрібно задати правильний питання.
Підкажіть, в якому розділі форуму я можу розмістити повний опис ідеї. Не хочу смітити на хорошому форумі :)


Спасибі всім!

6

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

ProudNoob написав:

Всім привіт!!!

Вибачте, що не відразу відповідаю на ваші повідомлення. Я не очікував, що форумчани такі активні :)
Спасибі!

З ваших повідомлень я зрозумів, що щоб отримати повну відповідь, потрібно задати правильний питання.
Підкажіть, в якому розділі форуму я можу розмістити повний опис ідеї. Не хочу смітити на хорошому форумі :)


Спасибі всім!

Наприклад в цьому.

7

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

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

8

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

Доброго дня!

Спробую максимально коротко описати ідею. Ідеї проекту більше десяти років. Було відкладено з деяких причин.

Всі знають, в східній філософії є поняття карми.
Уявіть якусь чергову соціальну мережу з мікро постами, назвемо їх кармікі.

Користувач додав кармік, інформацію якої він хоче з усіма поділитися, і вказує своє ставлення в балах від -10 (максимально погане) до 10 (максимально гарне).
Інші користувачі на його кармік можуть залишити коментар із зазначенням свого ставлення в діапазоні від -10 до 10.
За балами отримуємо середнє арифметичне (як в школі;)) поста, назвемо його кармою поста.

Зараз про категорії та підкатегорії. Всі вони мають сувору ієрархію.
Короткий приклад події: Всі події навколо, і тим більше пов'язані з нами особисто, несуть для нас, а в підсумку і для нашого оточення якесь емоційне (кармічне) навантаження. Скажімо зранку, перед роботою, ми зайшли в кафе за кавою на винос. Нам нахамили і дали поганий кави. Ми злі і наступили кому то в транспорті на ногу. І так далі. Все це збільшує карму. Карма може бути позитивною або негативною. Все це впливає на загальну глобальну карму. В даному прикладі категорії і підкатегорії можуть мати такий ланцюжок: Мир> Країна-> Місто-> Харчування> Кафе = Кармік з кармою поста + коментарі з кармою коментарів.

Усі кармікі розміщуються в обраних підкатегоріях з відповідним напрямом. Середній бал по кармі підкатегорій впливає на середній бал вище. І так далі, до до глобальної карми людства.

За підсумком ми будемо бачити як всі події впливають на стан людства. Скочуючись в "-10" ми скочуємося до глобальної катастрофи. "0", це середина. Ну і "10", це глобальне процвітання. Це все зрозуміло відносно, але дає загальне уявлення де ми знаходимося.

Ось я і думаю, як все організувати.

9

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

Мабуть це безглузда ідея)))

10

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

Ні, ідея цікава, хоча й важко сказати, наскільки її вдасться розкрутити. (Йдеться про роздачу лайків і дизлайків об'єктам в реалі, з сумарною репутацією для більших категорій, утворених за географічним принципом — я правильно зрозумів?)
Тут, щоправда, є такий момент, що оцінку люди можуть дати лише відносну: хтось, живучи в умовах комфорту, ставитиме наднизьку карму за неправильно сервіровану чорну ікру, а десь у голодній країні величезні лайки збиратиме баланда з тухлятиною — хоча ближча до катастрофи, очевидно, друга. Це щодо філософії проекту, а не самого алгоритму.

Подякували: ProudNoob1

11

Re: Алгоритм підсумовування даних і отримання середнього балу в реальному

Ви близько підійшли до розуміння самої ідеї)
Я забув вказати, що регіональне положення не зовсім панує. Швидше воно на одному рівні з іншими під категоріями. Правильно було б мені написати так Країна == Місто == Харчування->Кафе. Рівень неприязні до чого то безумовно заснований на сприйнятті навколишнього світу, але від цього залежить і рівень віддачі негативу/позитиву. У проекті розглядається не стільки соціальна катастрофа, скільки емоційна.
Хоча перше не виключено, як показує практика. Є багато прикладів коли невиліковно хворі люди (негатив) брали позитивне мислення, навіть де то через самообман, і видужували (мегапозітів).