shiran alush shai kerer dor altshuler academic instructor: prof. ronen brafman the decider group...
TRANSCRIPT
Shiran AlushShai KererDor Altshuler
Academic instructor: Prof. Ronen Brafman
The Decider
Group Decision Making
AApplicationDDesign
DDocument
Reminder – About the project Main System Requirements System Architecture Class Diagram – Main Classes Database Scheme User Interface Algorithms Task List
ContentsContents
The Decider© is a web-based Facebook application for group decision making.
The Decider is a new tool that will help groups of different scale to convey polls & questionnaires, while letting the voter express his preferences, and process the results using the most cutting-edge algorithms in order to get an ideal decision.
What is “The DeciderWhat is “The Decider? ”? ”
Create questionnaires with four types of possible questions (Choose, Rank, Grade, Budget).
Invite others to participate in a questionnaire.
Vote - fill out and submit questionnaire and Express
preferences.
Decide/ View result - Reach a decision in a fair
way.
View statistics about questionnaires, votes, results
and users.
Main System RequirementsMain System Requirements
System ArchitectureSystem Architecture
Our System will be deployed on a web server, exposing its API and communicating with the front-end users as a web-service, via a 3rd-party actor which is the Facebook interface.
Questionnaire – represent a collection of questions
(variables)
and possible answers (values), and some other additional
information regarding the questionnaire.
Variable – represent a question in a questionnaire.
Value – represent a possible answer to a certain
question.
Class DiagramClass Diagram
Vote (Abstract) – a vote is basically a pair of type question-answer. An instance
of vote can be according to the question type (Choose, Rank, Score).
VoteManager – this class's role is to create the above mentioned votes according
to the user's input, and save those votes in the Database.
Class DiagramClass Diagram
Decider – Creates the decision.
It does so by reading the votes from the Database and
invoking the decision-making algorithms.
Decision –Represent a complete decision to a questionnaire.
Algorithm (Interface) – provide an interface for the classes
that implements a decision-making algorithm.
Class DiagramClass Diagram
SystemHandler – a type of façade controller that handles all the
transactions between the end-user and our system.
GuiHandler – translate requests made by the user via the GUI to real system
functionality expressed as objects instantiation and methods invocation.
DatabaseHandler – responsible for communication with the Database.
FacebookHandler – API that connects between
our system and Facebook.
Class DiagramClass Diagram
Database Scheme Database Scheme (partial)(partial)
Questionnaire (ID, Name, Description, Creator-Id, Creation-date, settings)
Variables (Question-Id, Var-num, Name, Description, Type)
Values (Question-Id, Var-number, Value-num, Name, Is-Visible)
Constraints (Question-Id, Var1-num, Value1-num , Var2-num, Value2-num)
Single-Value-Vote (Question-Id, Dependency-comb, Var-num, Value-num, Count)
Ranking-Vote (Question-Id, Dependency-comb, Var-num, Ranking, Count)
Grading-Vote (Question-Id, Dependency-comb, Var-num, Value-num, Sum-Score, Count)
Dependency-Combination (Question-Id, Dependency-Id, Var-num, Value-num)
:An example of a questionnaire
• Brand? (rank)– 1) Porsche– 2) Volvo– 3) Subaru– 4) Mazda
• Color? (rank)– 1) Red– 2) black– 3) White– 4) Blue
• Gear? (choose)
– 1) Automatic– 2) Manual
What community car to buy?
Does your answer to any question will depend on other questions?
My answer to Brand depends on my answer to: Color Gear
My answer to Color depends on my answer to: Brand Gear
My answer to Gear depends on my answer to: Brand Color
Does your answer to any question will depend on other questions?
My answer to Brand depends on my answer to: Color Gear
My answer to Color depends on my answer to: Brand Gear
My answer to Gear depends on my answer to: Brand Color
Does your answer to any question will depend on other questions?
My answer to Brand depends on my answer to: Color Gear
My answer to Color depends on my answer to: Brand Gear
My answer to Gear depends on my answer to: Brand Color
The car’s manufacture and model.
Does your answer to any question will depend on other questions?
My answer to Brand depends on my answer to: Color Gear
My answer to Color depends on my answer to: Brand Gear
My answer to Gear depends on my answer to: Brand Color
Does your answer to any question will depend on other questions?
My answer to Brand depends on my answer to: Color Gear
My answer to Color depends on my answer to: Brand Gear
My answer to Gear depends on my answer to: Brand Color
Rank your preferences to “Brand:”
Instructions: Click on a value and move it up or down using the arrows.
Porsche
Volvo
Subaru
Mazda
Ranking-Vote:
Question-IdDependencyVar-numRankingCount
00010112341
Questionnaire’s ID
Specifies the dependencies in which this vote is cast.
Here there are none so we put value zero.
Variable number
The ranking given to this variable.
‘1234 ’means that in first place is the 1st value
(Porsche), in second place is the 2nd value (Volvo) and etc.
Number of similar votes cast on this
variable.
Dependences:
If “Brand” is then rank your preferences to “Color”: Red
Black
White
Blue
Porsche
Ranking-Vote:
Question-IdDependencyVar-numRankingCount
00011212341
Dependency-Combination:
Question-IdDependency-IDVar-numValue-num
0001111 The ranking given to this variable.
Specifies the dependencies in which this vote is cast.
‘1 ’points to the record on the Combination table .
Color
“Porsche”
Choose your preferences of “Gear:”
AutomaticManual
Single-Value-Vote:
Question-IdDependencyVar-numValue-numCount
00010321
Gear “Manual”
Decision Making AlgorithmsDecision Making AlgorithmsChoose one Algorithms
•Plurality•Plurality with run-off (two rounds)•Sequential run-off (multiple rounds)
Ranking Algorithms•Borda count•Condorcet (can return empty set)•Plurality with run-off •Sequential run-off •Extended Condorcet - Copeland
Score Algorithms•Maximum sum•Minimal regret
http://www.math.princeton.edu/math_alive/Voting/
Task ListTask List
Data base Build-up.
Decision Algorithms implementation.
Graphical User interface (creation, voting, editing, result viewing)
• Domain layer implementation.
• System handler implementations.
• Proto-type testing.
• Smart Voting and Sequential voting implementation.
• Project- day presentation – Due date 10/6/2010