Code Examples
A repository of 155 code examples for BeepBeep
package-info.java
1 /*
2  BeepBeep, an event stream processor
3  Copyright (C) 2008-2017 Sylvain HallĂ©
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published
7  by the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 /**
20  * Extract trends and patterns from a set of input streams.
21  * <p>
22  * This is accomplished by an instance of Pat The Miner's
23  * <tt>SetMiningFunction</tt>. This function takes as its input a set of
24  * sequences, and returns a "trend" computed on these sequences. A trend
25  * can potentially be anything, such an average, a vector of features,
26  * a statistical distribution, etc.
27  * <p>
28  * Although Pat The Miner provides a few built-in functions (and the
29  * possibility for a user to create their own by extending
30  * <tt>SetMiningFunction</tt>), the <tt>ProcessorMiningFunction</tt> object
31  * simplifies the task of creating mining functions through the use of
32  * BeepBeep processors. The <tt>ProcessorMiningFunction</tt>
33  * takes as input as set of sequences,
34  * and produces as output a "pattern" object, representing a trend computed
35  * from the contents of the input sequences.
36  * <p>
37  * When created, the <tt>ProcessorMiningFunction</tt> is parameterized by two
38  * BeepBeep <tt>Processor</tt> objects:
39  * <table>
40  * <tr>
41  * <td><img src="./doc-files/mining/trenddistance/BetaProcessor.png" alt="Processor graph"></td>
42  * <td>This processor, called the <em>trend processor</em>, computes a trend
43  * from a single input sequence. The trend is taken as the last event output
44  * by &beta; when being fed a sequence of events.</td>
45  * </tr>
46  * <tr>
47  * <td><img src="./doc-files/mining/extraction/AlphaProcessor.png" alt="Processor graph"></td>
48  * <td>This processor, called the <em>aggregation processor</em>, aggregates
49  * the trends computed by &beta; from each input sequence into a single,
50  * "aggregated" trend. Its input is an array of values.
51  * </tr>
52  * </table>
53  * In addition, the computation of &beta;'s output on each input sequence can
54  * be done in parallel in different threads, if one supplies a properly
55  * configured {@link ThreadManager} to the function.
56  * <p>
57  * Depending on how these two parameters are instantiated, the
58  * <tt>ProcessorMiningFunction</tt> processor computes different things. The examples in
59  * this section show different ways of using the mining functions, an in
60  * particular the <tt>ProcessorMiningFunction</tt> object.
61  * @author Sylvain HallĂ©
62  *
63  */
64 package mining.extraction;