22 import ca.uqac.lif.cep.Connector;
23 import static ca.uqac.lif.cep.Connector.BOTTOM;
24 import static ca.uqac.lif.cep.Connector.INPUT;
25 import static ca.uqac.lif.cep.Connector.OUTPUT;
26 import static ca.uqac.lif.cep.Connector.TOP;
27 import ca.uqac.lif.cep.GroupProcessor;
28 import ca.uqac.lif.cep.functions.ApplyFunction;
29 import ca.uqac.lif.cep.functions.CumulativeFunction;
30 import ca.uqac.lif.cep.functions.Cumulate;
31 import ca.uqac.lif.cep.functions.FunctionException;
32 import ca.uqac.lif.cep.functions.TurnInto;
33 import ca.uqac.lif.cep.peg.Sequence;
34 import ca.uqac.lif.cep.peg.ml.ProcessorMiningFunction;
35 import ca.uqac.lif.cep.tmf.Filter;
36 import ca.uqac.lif.cep.tmf.Fork;
37 import ca.uqac.lif.cep.tmf.Trim;
38 import ca.uqac.lif.cep.util.Equals;
39 import ca.uqac.lif.cep.util.Numbers;
49 public static void main(String[] args)
throws FunctionException
54 Set<Sequence<Number>> sequences =
SequenceReader.readNumericalSequences(
"numbers-1.csv");
61 GroupProcessor total_same =
new GroupProcessor(1, 1);
63 Fork fork =
new Fork(3);
64 Trim trim =
new Trim(1);
65 Connector.connect(fork, 0, trim, INPUT);
66 ApplyFunction equals =
new ApplyFunction(Equals.instance);
67 Connector.connect(fork, 1, equals, BOTTOM);
68 Connector.connect(trim, OUTPUT, equals, TOP);
69 TurnInto ones =
new TurnInto(1);
70 Connector.connect(fork, 2, ones, INPUT);
71 Filter filter =
new Filter();
72 Connector.connect(ones, OUTPUT, filter, TOP);
73 Connector.connect(equals, OUTPUT, filter, BOTTOM);
74 Cumulate sum =
new Cumulate(
new CumulativeFunction<Number>(Numbers.addition));
75 Connector.connect(filter, sum);
76 total_same.associateInput(INPUT, fork, INPUT);
77 total_same.associateOutput(OUTPUT, sum, OUTPUT);
78 total_same.addProcessors(fork, sum, trim, ones, equals, filter);
84 ProcessorMiningFunction<Number,Number> a_f =
new ProcessorMiningFunction<Number,Number>(total_same,
new Cumulate(
new CumulativeFunction<Number>(Numbers.maximum)), 0);
87 Object[] outputs =
new Object[1];
88 a_f.evaluate(
new Object[]{sequences}, outputs);
93 System.out.println(outputs[0]);
Utility class that creates a set of sequences from a file.
Create a mining function from BeepBeep processors.