Can be run with
python pw_argumentation.py
This is the main script to run the argumentation. The two agents argue until one of them run out of arguments.
make install
Run tests for the preferences and arguments.
pytest
Explanation of our choices in critical files and classes.
ArgumentAgent
has the attribute items_with_infos
which is of type Dict[Item, Dict[CriterionName, CriterionValue]]
Preferences
takes as a parameters a parameter of type Dict[Item, Dict[CriterionName, CriterionValue]]
to keep track of all the preferences.
Each argument is a list of the following format: [Item, CriterionName, CriterionValue]
.
We chose to implement three types of argument:
get_proposal
which allows to find the best or worst value for any criterionget_counter_proposal
which allows the agent to counter an argument with a criterion that is more important for them than the one used by the opponentget_other_item_with_better_value_for_same_criterion
which allows to find a better item for the criterion used by the opponent
Depending on the situation (the last used arguments for example), the agent chooses an argument strategy with get_argument
.