2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Есть ли однопроходный алгоритм?
Сообщение08.12.2009, 10:59 
Заслуженный участник


27/04/09
28128
Пусть у нас есть вектор $v$. Можно ли за один проход по его элементам вычислить вектора ${\bf{w}} = {{\bf{v}}}/
{{\sum\limits_i {{\bf{v}}_i } }}$ и ${\bf{\hat v}} = {{\bf{v}}}/
{{\left| {\bf{v}} \right|}} = {{\bf{v}}}/
{{\sum\limits_i {{\bf{v}}_i^2 } }}$?
Почему-то я до сих пор верю, что можно, а нигде не видел. :oops: (Обычный же алгоритм за первый проход накапливает сумму, а за второй делит элементы на неё.)

 Профиль  
                  
 
 Re: Есть ли однопроходный алгоритм?
Сообщение08.12.2009, 11:07 
Заслуженный участник
Аватара пользователя


13/08/08
14470
За один проход по вектору $v$ копируем его в $w$, а потом уже больше не трогаем. Конечно, это шутка.
Но уточните тогда, что Вы понимаете под одним проходом? Если это некая процедура, у которой на входе ровно один элемент их $v$, а на выходе ровно один элемент из $w$, то нельзя.
А если Вы под этим понимать что-то другое, то можно. Например, каждый шаг пересчитывая весь вектор $w$. И такое встречается, если элементы $v$ сыплются последовательно откуда-то, количество их неизвестно и огромно, а нужно постоянно иметь вектор $w$ в памяти (непрерывная нормализация).

 Профиль  
                  
 
 Re: Есть ли однопроходный алгоритм?
Сообщение08.12.2009, 11:17 
Заслуженный участник


27/04/09
28128
gris в сообщении #269010 писал(а):
И такое встречается, если элементы $v$ сыплются последовательно откуда-то, количество их неизвестно, а нужно постоянно иметь вектор $w$ в памяти (непрерывная нормализация).

Да, раз совсем в один не получается, хоть бы так, с пересчитыванием целого вектора. :) Примерно таким же способом можно среднее считать, да?
Алгоритм с таким пересчётом медленно вырисовывается... Но лучше где-нибудь его посмотреть (всё равно пока он мне ещё не нужен), gris, не знаете где?

 Профиль  
                  
 
 Re: Есть ли однопроходный алгоритм?
Сообщение08.12.2009, 11:49 
Заслуженный участник
Аватара пользователя


13/08/08
14470
Это есть в статистике.
Идут данные непрерывным потоком, десятками мегабит в секунду. Хранить их не нужно и дорого. Но нужно иметь целый набор динамически меняющихся характеристик. Есть и формулы, и алгоритмы. Тысячи их. Пересчёт после добавления только одного элемента это самое простое.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group