Content deleted Content added
Tag: |
|||
(13 intermediate revisions by 8 users not shown) | |||
Line 1:
{{WikiProject banner shell|class=Start|
{{WikiProject Computing|importance=|auto=yes}}
}}
{{annual readership|scale=log}}
==Super-online?==
Is there a word for an online algorithm that has the additional property that partial results can be combined? That is, if I want to run an algorithm in parallel, I want to be able to combine partial results. For example, the sum of a set of numbers is the sum of the partial sums. [[User:BenFrantzDale|—Ben FrantzDale]] 01:00, 7 December 2006 (UTC)
Line 20 ⟶ 25:
:: In general I'm just interested in ''O''(''N'') algorithms that have ''O''(1) internal state but where the internal state for partial results can be combined so each of ''m'' processors could compute a partial result in ''O''(''N''/''m'') time and those results could then be combined quickly to get the full solution. [[User:BenFrantzDale|—Ben FrantzDale]] 05:01, 7 December 2006 (UTC)
:::In machine learning, this is quite a common paradigm for large-scale learning: you train a bunch of [[linear model]]s in parallel, then average their parameters, weighted by the number of samples each learner got (or you train several [[random forest]]s and concatenate them). I'm not aware of a generic term for this, though. Usually you'll here this being called "distributed online learning" or something similar. [[User:Qwertyus|Q<small>VVERTYVS</small>]] <small>([[User talk:Qwertyus|hm?]])</small> 10:14, 21 July 2013 (UTC)
== Algorithms for variance ==
I had added "[[Algorithms_for_calculating_variance#On-line_algorithm|Online algorithms for calculating mean and variance]]" to the see-also section but it got removed with a comment that "streaming algorithm" was a more appropriate place for it. While I'm not 100% clear on the difference between a streaming and an online algorithm, computing the mean and standard deviation of a sequence in a single pass seems like an ideal simple example of an online algorithm. At first glance it is obvious that the mean can be computed in a single pass with O(1) storage, but that isn't obvious about the variance. Could someone explain why these are better examples of [[streaming algorithm]]s than of online algorithms? [[User:BenFrantzDale|—Ben FrantzDale]] ([[User talk:BenFrantzDale|talk]]) 20:58, 30 April 2009 (UTC)
== Proposed merge with [[Streaming algorithm]] ==
Seems to describe the same class of algorithms. [[User:Qwertyus|Q<small>VVERTYVS</small>]] <small>([[User talk:Qwertyus|hm?]])</small> 09:59, 21 July 2013 (UTC)
:Then you don't understand what they are about, because they are very different. Online alforithms are about decision making in the face of uncertaintly, and making a sequence of decisions that would not necessarily be globally optimal if you knew the whole input at once but are as close to optimal as you can make with your limited knowledge. Streaming algorithms are about solving problems optimally (or close to optimally) when the whole input is given, but using sublinear memory to do it. —[[User:David Eppstein|David Eppstein]] ([[User talk:David Eppstein|talk]]) 16:31, 21 July 2013 (UTC)
== Misleading title for the "Definition" Section ==
I think the title of that section should be replaced, not sure to what title though. The content of the section does not give the definition of what is an online algorithm (it does provide a definition of the term "competitive ratio"), rather it discusses (not necessarily all main) properties of (not necessarily all) online algorithms.--[[User:Shay Zakov|Shay Zakov]] ([[User talk:Shay Zakov|talk]]) 08:08, 6 August 2020 (UTC)
|