**Input**: windowSize**, ***S* = *〉*, *batchSize * |

**Output**: *C* = |

(1)* slideWindow* = , *apprSet *= |

(2) Read data into *slideWindow * |

(3)** While** *ReadIn*() **do** |

(4)* tmpSet* = MDLSlideWindow(*slideWindow, * |

* batchSize*); |

(5)** If** *tmpSet*.size() < 2 **do** |

* // no proper hypothesis is found, * |

* * *data deemed as random noise * |

(6) * *Add all data in *slideWindow* into *apprSet * |

(7) * *Empty *slideWindow * |

(8) * ***Else** |

(9) * *Add at most first *batchSize* + 1 points in |

* ** *tmpSet into apprSet |

(10) * ** *Take out used points from *slideWindow * |

(11) Output apprSet |