Research Article

A Dynamic Recommender System for Improved Web Usage Mining and CRM Using Swarm Intelligence

Algorithm 4

Bluegill-BestPredictions algorithm.
Input: Extracted Clusters , newdata: data
Output: Extracted Clusters , Visualization of Clusters, Recommendations to users.
Steps:
()    REPEAT
()     Map each cluster centroid as Lake and define . //Now N Lakes
()     If data is not assigned an agent
()      Then map agent to data// represents the bluegill.
()     Else
()      Identify the agent corresponding to data
()     End if
()     FOR
()     IF Sim(agent, Lake) > Maxth where the ranges from 1 to //bluegill enters the lake containing high density of prey
      and identifies neighboring preys
()   Repeat
()    If Sim(agent, neighbor_agent) high_ range //bluegill eats large size prey
()       Then Eat neighbor_agent
()       nosh = Sim(agent, neighbor_agent)
()       Update energy = Sum(nosh)
()       Increment by one
()    Else
()       Increment by one
()      End if
()   Until energy = 1
()  ELSE IF Sim(agent, Lake) < Minth where ranges from 1 to //bluegill enters the lake containing low density of preys
      and identifies the neighboring preys
()     Repeat
()        If Sim(agent, neighbor_agent) high_range //blue gill eats large size prey
()         Then Eat neighbor_agent
()         nosh = Sim(agent, neighbor_agent)
()         Update energy = Sum(nosh)
()         Increment by one
()        Else
()         Break;
()        End if
()       Until energy = 1
()       Repeat
()        If Sim(agent, neighbor_agent) mid_range //blue gill eats medium size prey
()          Then Eat neighbor_agent
()          nosh = Sim(agent, neighbor_agent)
()          Update energy = Sum(nosh)
()          Increment by one
()        Else
()          Break;
()        End if
()      Until energy = 1
()      Repeat  //blue gill eats small size prey
()          Eat neighbor_agent
()          nosh = Sim(agent, neighbor_agent)
()          Update energy = Sum(nosh)
()          Increment by one
()      Until energy = 1
()     ELSE//bluegill enters a lake containing medium density of prey and identifies neighboring preys
()      Repeat
()        If Sim(agent, neighbor_agent) high_range //blue gill eats large size prey
()          Then Eat neighbor_agent
()          nosh = Sim(agent, neighbor_agent)
()          Update energy = Sum(nosh)
()          Increment by one
()        Else
()          Break;
()        End if
()       Until energy = 1
()       Repeat
()         If Sim(agent, neighbor_agent) mid_range //blue gill eats medium size prey
()           Then Eat neighbor_agent
()           nosh = Sim(agent, neighbor_agent)
()           Update energy = Sum(nosh)
()           Increment by one
()         Else
()          Break;
()         End if
()        Until energy = 1
()       END IF
()      END FOR
()      Keep the clusters with Clus_threshold sessions.
()      Plot Clusters on visualization panel according to cluster names //visualize clusters in x, y coordinates where different
       cluster elements are represented in different shapes.
()      For each cluster do
()       Find the URL’s which are visited more than Url_count_threshold in all the sessions of that cluster //display URLs
        accessed frequently in all the sessions of that cluster as user profiles
()      End For
()      For each agent agent do
()       Find the cluster to which agent belongs.
()        = agents of agent in cluster within distance
()        = preferred items by each agents in
()       Recommend most frequent items in to user represented by agent
()      End For
()     UNTIL there is no more data records
()     End