Hello, I thought about the delegation system of demexp and I think I'll try to implement a simple scheme, following Jérémy's original idea: implement a kind of vote Vote_as("delegate_name") in each question[1].
This scheme has several advantages: * it is simple: for each question, it is easy to compute the weight of each delegate and the vote result; * it does not rely on classification. While the client will certainly use the classification to compute to which delegate one should delegate a given question, the delegation system itself is orthogonal to the classification system, allowing to change one without disturbing the other; * it allows transitive delegation while not having its complexity. As the expression of delegation is only done at the terminal node of the delegation graph, any conflict (e.g. same participant voting and delegating the same question) can be solve at the question stage itself, with simple rules (a vote of a participant cancels his delegation); * it pushes all the complexity of delegation computation to the client, which makes the scheme more scalable. One potential big disadvantage: its computational cost. For each question, we have as votes as participants (delegating or not). The cost of changing a delegation for a participant might be important. We will see if this really an issue. Probable XDR API (q_id is a question id): * delegate(cookie, delegate_id, q_id array) * undelegate(cookie, q_id array) * get_my_delegation(cookie, q_id array) |-> array of (q_id, delegate) * get_delegate_vote(cookie, q_id array) |-> array of (q_id, vote) The API is designed so that several questions can be delegated/undelegated at once, so as to reduce network latency overhead. Feel free to comment if you see drawbacks in such a scheme. Happy new year and best wishes, d. Footnotes: [1] http://demexp.org/en/doku.php?id=delegation#a_delegated_vote_per_question -- GPG/PGP key: A3AD7A2A David MENTRE <[EMAIL PROTECTED]> 5996 CC46 4612 9CA4 3562 D7AC 6C67 9E96 A3AD 7A2A _______________________________________________ Demexp-dev mailing list Demexp-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/demexp-dev