| | Input: event E, Occ_vec All Events S, Max_Pattern_Length, Prev_Keys |
| | Output: a list of mined patterns |
| | NP = {}, New_Events = slice_even (S, Prev_Keys) Periodic = periodicity (E, Occ_vec,lengthofOcc_vec,Confidence) for i in {O1, ..., On} of Period do |
| | for Key in {K1, ..., Kn} of New_Events do for Item |
| | in {I1, ..., In} of |
| | New_Events(Keys) do |
| | Difference ← Periodic − Item if |
| | continue |
| | end Difference > Max_Pattern_Length |
| | then |
| | if Item > Periodic then if |
| | Difference > KeySize then |
| | star_count = Difference− |
| | KeySize |
| | end |
| | if star_count > star_limit then |
| | end |
| | continue |
| | end |
| | end stars = calculate_stars(star_count) pattern_key = E + stars + Key |
| | end patterns_with_stars = Periodic[i] NP ∪ pattern_with_star |
| | else |
| | pattern_key = Key + E patterns_without_stars = Periodic[i] |
| | NP ∪ pattern_without_star_count |
| | end if Difference > KeySize then |
| | star_count = Difference − KeySize |
| | else |
| | if star_count > star_limit then |
| | continue |
| | end end |
| | end stars = calculate_stars (star_count) pattern_key = Key + stars + E pattern_with_star |
| | end =Periodic[i] NP ∪ pattern_with_star |
| | pattern_key = Key + Epattern_without_star = Periodic[i] NP ∪ |
| | pattern_without_star |
| | end for j in {Key1, ..., Keyn} of New_Events do |
| | NL_Patterns = calc_next (New_Events, NP, Max_Pattern_Length) NP ∪ |
| | update (NL_Patterns) |
| | end |
| | end |
| | ReturnNP |