Эффективность алгоритма

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Эффективность алгоритма

Сообщение sergejey » Ср дек 19, 2012 6:53 pm

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Эффективность алгоритма

Сообщение Alex » Ср дек 19, 2012 7:29 pm

Quote:
Не лучше ли сначала растянуть массив на ширину графика, а потом втыкать ненулевые (значимые) отсчёты пропорционально времени. Гарантированно на график попадут _все_ значения. Потерять в этом случае ничего не получится, даже если очень захотеть.

а как быть, если плотность значений не равномерно распределена по времени? если значение меняется несколько раз в день,но несколько дней новых значений не было, то график за месяц покажет плавное изменение, включающее каждый день, хотя реально за какой-то день данных не было, а в другой день они резко менялись.
Нет, идея не в этом. Если какой-то гений на двухстах точках попробует отобразить 2592000 отсчётов, то по любому они сольются. :)
то график за месяц покажет плавное изменение
Нет! Никакого плавного изменения. В данном примере на день приходится примерно 6 точек. И они всё (или часть из них) будут чёрными, а соседние дни останутся белыми. Если наш гипотетический гений будет отслеживать активность PIR датчиков за месяц на графике длиной в 25 :) точек, то да — будут затронуты соседние дни. Но таких среди пользователей MajorDoMo, я надеюсь, не найдётся. :) И даже в этом случае визуально будет понятно, что в районе такого-то числа была активность.

Надо разделить «аналоговые» графики и отслеживание единичных событий в разные модули.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Эффективность алгоритма

Сообщение sergejey » Чт дек 20, 2012 2:53 pm

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Эффективность алгоритма

Сообщение Alex » Чт дек 20, 2012 4:56 pm

А у меня графический модуль жутко кривой и написанный за полчаса работает. Всё ждал пока ошибки проявятся, а он работает себе и работает. Без замечаний. Нет стимула лезть туда и наводить порядок. В конце концов какая разница, что у него внутри, если снаружи всё ок.

Следующий шаг в этом направлении — модуль статистики и аналитики. Потихоньку ваяю в соответствии со своими потребностями и в меру своей фантазии.
Вложения
stat.png
stat
stat.png (29.08 КБ) 5171 просмотр
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Эффективность алгоритма

Сообщение Vit » Пт дек 21, 2012 5:47 pm

классно Alex....ждем когда Сергей добавит в исходники такие варианты как ты сделал...


задачи думаю у многих совпадают, особенно по отоплению...
Ответить