Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
Привет всем! собственно, есть такая интересная задачка: У объекта есть события в жизни каждое событие характирезуется 12-ю параметрами. нужно найти объекты у которых совпадает наибольшее число событий. критерий похожести событий: наличие одинаковых параметров. событие: 0|1 ( т.е. если или нет ) ( 12 атрибутов ): 1 0 1 0 1 0 1 0 0 0 1 1 получается, что для каждого объекта нужно взять все события и каждое событие сравнить с каждым событие других объектов. как на данный момент решается вопрос: SELECT MAX(t1+1+t2+1+t3+1+t4+1+t5+1+t6+1+t7+1+t8+1+t9+1+t10+1+t11+1+t12+1) as top id FROM events where group_id=1 ... наиболее похожие - там где сумма максимальна. Можно ли как-то упростить это дело? подскажите что покурить :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 14:20 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
а может одно число и побитово устанвливать события. Затем побитово умножать и далеепринимать решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 14:48 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
не совсем понятно, а отсутствие события - не является критерием похожести ? если является - то Вам нужно считать ещё и количество нулей. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 14:49 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
Gold_а может одно число и побитово устанвливать события. Затем побитово умножать и далеепринимать решение+1. Каждое событие - число, составленное из битов - параметров события. Для сравнения событий делаем XOR, у кого больше, тот более похож. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 15:53 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
pamirКаждое событие - число, составленное из битов - параметров события. Для сравнения событий делаем XOR, у кого больше, тот более похож. А может, всё-таки, у кого меньше, если XOR? Да и, например, 100000b > 000110b, а первое событие больше похоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 16:15 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
DAISER pamirКаждое событие - число, составленное из битов - параметров события. Для сравнения событий делаем XOR, у кого больше, тот более похож. А может, всё-таки, у кого меньше, если XOR? Да и, например, 100000b > 000110b, а первое событие больше похоже.Ошибся я немного, после XOR нужно подсчитать количество бит в результате =1 (т.е. количество совпадений). И вот уже это число - у кого больше, тот и более похож. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 16:30 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
pamir DAISER pamirКаждое событие - число, составленное из битов - параметров события. Для сравнения событий делаем XOR, у кого больше, тот более похож. А может, всё-таки, у кого меньше, если XOR? Да и, например, 100000b > 000110b, а первое событие больше похоже.Ошибся я немного, после XOR нужно подсчитать количество бит в результате =1 (т.е. количество совпадений). И вот уже это число - у кого больше, тот и более похож.Ну да, у кого МЕНЬШЕ! Ибо единицы дадут несовпадающие события. Ну или подсчитывать количество нулевых битов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 16:33 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. pamir , если я не путаюсь - то имхо нельзя хорить _число_ и смотреть результат, нужно хорить биты, каждый в отдельности. число нельзя потому-что результат будет зависить от _позиции_ различающихся битов. и он может быть как больше так и меньше :) например: Код: plaintext 1. 2. Код: plaintext 1. 2. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 17:14 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
pamir pamirОшибся я немного, после XOR нужно подсчитать количество бит в результате =1 (т.е. количество совпадений). И вот уже это число - у кого больше, тот и более похож.Ну да, у кого МЕНЬШЕ! Ибо единицы дадут несовпадающие события. Ну или подсчитывать количество нулевых битов.точно, что-то не внимательно я Вас прочитал, пропустил Ваш пост про "нужно подсчитать количество бит в результате" - всё правильно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 17:24 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
pamir pamir DAISER pamirКаждое событие - число, составленное из битов - параметров события. Для сравнения событий делаем XOR, у кого больше, тот более похож. А может, всё-таки, у кого меньше, если XOR? Да и, например, 100000b > 000110b, а первое событие больше похоже.Ошибся я немного, после XOR нужно подсчитать количество бит в результате =1 (т.е. количество совпадений). И вот уже это число - у кого больше, тот и более похож.Ну да, у кого МЕНЬШЕ! Ибо единицы дадут несовпадающие события. Ну или подсчитывать количество нулевых битов. да, нужно подсчитать количество единиц. Т.е. надо функцию писать какую-то? или как еще можно подсчитать кол-во единич в результате? А как правильно использовать BIT_XOR (expr) ? select * From where t1 XOR 100 = max - как это правильно напистаь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 17:31 |
|
||
|
как лучше сделать запрос для определения похожести событий?
|
|||
|---|---|---|---|
|
#18+
Ёш[src]seb=> select * from events; (4 rows) seb=> select *, (a.t1 # b.t1) + (a.t2 # b.t2) + (a.t3 # b.t3) + (a.t4 # b.t4) as d from events a cross join events b; -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери (a.t3 # b.t3) - Это умножение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=271&tid=2004411]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 405ms |

| 0 / 0 |
