ASSIGNMENT 4: PROJECT ===================== Due date: NOV. 28 Complete is the name of a small village in Southern California inhabited solely by the members of a cult called The Church of Age and K-Grouping. Complete is composed of isolated houses connected by small roads; the entire village will look as a complete graph (houses as nodes and roads as arcs) to any competent computer scientist flying above. An important theological foundation of the cult is that members should live in groups of at most k. The groups are highly autonomous (i.e., no central authority), but are structured in an age and name hierarchy. That is, each group has a name and, given two groups where the name of the first group is lexicographically smaller than the second, the members of the first must not be older than the members of the second. Over the years, the k-grouping commandament has never been violated. However, some seemingly unimportant and mundane events (e.g., children being born, people falling in love with someone from a different house and moving there, heretics being stoned to death, etc.) have concurred in relaxing the name and age hierarchy requirement. Following a spiritual resurgence and faced with the possible disintegration of the moral foundations of the community, the members have decided to enforce the name and age hierarchy requirement. The problem is that each group knows only the ages of its members and, obviously, the name of the group. Design an efficient distributed algorithm which will help restore the old faith commandment in Complete. Motivate and defend your solution. Your algorithm must work regardless of the number of initiators; you may assume partial reliability. Implement your algorithm using the DC5 Simulator and througly test it.