Consensus Algorithm. Ten people need to decide which one flavour of ice they will order as a group. There are 3 types of ice cream from which to choose.
Design an algorithm which can survey and re-survey each person, with the goal of reaching consensus on one kind of ice cream. The algorithm can present answers to each person in the group until a consensus is reached.
This task is open-ended. You may make assumptions as needed. Explain these assumptions in your initial post.
Determine whether there are situations in which your algorithm may never result in an answer, and account for this when writing your pseudo-code.