This document is structured in 2 mains sections.
The first one, The RescueBot, is introductory/explanatory about what trust is and how to handle it.
The second section, the Trust Process, explains the general structure of how trust is evaluated, including our base model in Updating the degrees of Competence and Willingness and then on how the robot takes decisions, with calculation of actual trust, and decision process in Obtaining the trust value and Robot behaviour respectively.
Please include in the implementation messages that log the current trust values (similarly to the messages sent to the robot) so we have a quick way of seeing if something is going wrong. Please note that the rest of the team needs to be able to easily read your code, to make sure the model is correctly implemented. Include many comments explaining what you are implementing now, extract code when necessary (e.g., the mathematical functions we detail in this document), etc.
We are dealing with an environment where there are 2 agents: the robot RescueBot (the trustor) and the human (the trustee).
In this section, we first setup the basic info regarding trust, and then we clarify the specifics for our application.
There are multiple ways to represent trust and reputation values. The two main characteristics we need to guarantee are simplicity and expressiveness.
Values will vary in the $[-1, 1]$ range. $0$ is the “neutral” value. -$1$ would be complete distrust, and $1$ complete trust.
The most typical information sources are:
Direct experiences. This is, without doubt, the most relevant and reliable information source for a trust/reputation model. For simplicity, we will assume the trustor and trustee are reliable in giving information.
There are two types of direct experiences that an agent can include as part of its knowledge:
Witness information. The information that comes from other members of the community. This does not hold for our assignment.
The robot can receive one of the following messages: