1 Introduction

Trust has become one of the crucial criteria for selecting partners in open, distributed and dynamic environments such as multiagent system. Many models of computational trust for multiagent systems have been proposed such as Grandison and Sloman [6], Nefti et al. [16], Yu and Singh [3032], Sen and Sajja’s [26], Carter et al. [4], Ramchurn et al. [22], Huynh et al. [12, 13], Victor et al. [28], Nguyen and Tran [1719], Katz and Golbeck [14], Hang et al. [8], Guha et al. [7], Vogiatzis et al. [29]. Most of such models are based on two sources of information. First, based on experiences, agents may estimate the experience trust from their transactions in the past with a given partner. Second, agents could compute trust based on reputation of the partner, which is a mutual and shared judgment about the partner from other agents in the system.

However, these models may not deal with the case when a new coming agent could have no experience with partners or not obtain the information about the reputation of partners. And that may lead others in the system to be in difficulty for estimating trust because they have neither experience with this new coming agent, nor information about its reputation. Thus, the new coming agent and even the old member agents in the system could not utilise the traditional mechanisms based on experience or reputation to infer trust values.

Intuitively, a simple solution for initiation of trust in such a situation is to assign an average value for the trust of the new coming agent. Another solution is to use some more information about the new coming agent to estimate its trust. For instance, Hermoso et al. [911] utilised organisational structures; Burnett et al. [3] used stereotypes; Sabater and Sierra [23, 24] used social structures of agent; Sebastia et al. [25] used the users profiles.

In our model, we utilise information resources such as the profiles of new coming agent and compare with the ones of well-known agents to solve the following issues:

  • First, if an agent \(A\) has a well-known trust on agent \(B\) with a value of \(x\), and that the similarity level on profile between agent \(B\) and a new coming agent \(C\) is \(y\). How much should the initial trust of agent \(A\) on agent \(C\) be assigned?

  • Second, in the case an agent \(A\) has the trusts on a set of agents \(\{B_1,B_2,\ldots B_n\}\), with respective values \(\{x_1,x_2,\ldots x_n\}\), and that the similarity level on profile between each agent \(B_i\) and a new coming agent \(C\) is \(y_i\). How much should the initial trust of agent \(A\) on agent \(C\) be assigned?

In this paper, we first propose a new mechanism for trust initiation which is based on the similarity of a new coming agent profile and the other well-known agents. Then, we describe a weighted combination model for integrating types of experience trust, reputation and similar trust. Experiments have been conducted to evaluate the proposed model in a scenario of an e-commerce environment compared with some recent trust models. The remainder of the paper is structured as follows. Section 2 investigates some recent related works. Section 3 presents the similarity-based mechanism for trust initiation. Section 4 describes an experimental evaluation. Conclusion is presented in Sect. 5.

2 Related works

There are many models proposed for estimation of trust in the context of multiagent systems. Some models are based on experience trust. For instances, Grandison and Sloman [6] define trust as a quantified belief by a truster with respect to the competence, honesty, security and dependability of a trustee within a specified context. The model given by Nefti et al. [16] considers some kind of information on a merchant website that is shown to increase customer trust. Abdul-Rahman and Hailes [1] make use of four degrees of belief to typify agent trustworthiness: vt (very trustworthy), t (trustworthy), u (untrustworthy) and vu (very untrustworthy). For each partner and context, the agent maintains a tuple of values of past experiences in each category. Then, from the point of view of direct interaction, the trust on a partner in a given context is equal to the degree that corresponds to the maximum value in the tuple. De Vesine [27] presented a fully detailed method for representing and comparing confidence. This method uses a two-dimensional vector, representing the authority of the knowledge used in reasoning and the level of resemblance of the current situation bearing to the original knowledge.

Some hybrid models makes use of integrating both personal experience trust and reputation. For instances, Histos [33, 34] was designed to respond to the lack of personalization in Sporas reputation values. The model can deal with direct information (although in a very simple way) and witness information. Yu and Singh [3032] proposed a model to store values of the quality of direct interactions among agents and only consider the most recent experiences with each partner for computation. Esfandiari and Chandrasekharan [5] proposed two one-on-one trust acquisition mechanisms. The first one is based on observation and utilises Bayesian networks to perform the trust acquisition. Sen and Sajja’s [26] reputation model considers both types of direct experiences: direct interaction and observed interaction, while the main idea behind the reputation model presented by Carter et al. [4] is that the reputation of an agent is based on the degree of fulfilment of roles ascribed to it by the society. Ramchurn et al. [22] developed a trust model based on confidence and reputation. It makes use of fuzzy techniques to guide agents in evaluating past interactions and in establishing new contracts with one another. Huynh et al. [12, 13] described FIRE, which is a trust and reputation model. It integrates a number of information sources to produce a comprehensive assessment of an agent’s likely performance in open systems. Victor et al. [28] advocate the use of a trust model in which trust scores are (trust, distrust)-couples. Badica et al. [2] introduced a reputation model for agents engaged in e-business transactions. The model adds the forgiveness factor and uses the new sources of reputation information based on agents groups. Nguyen and Tran [1719] introduced a computational model of trust, which is also combination of experience and reference trust using fuzzy computational techniques and weighted aggregation operators. The model is then extended to multi-subjects of trust [18] and then to the case there are some agents lying in sharing their personal trust [17]. Katz and Golbeck [14] introduces a definition of trust suitable for use in Web-based social networks with a discussion of the properties that will influence its use in computation. Hang et al. [8] describe a new algebraic approach, show some theoretical properties of it, and empirically evaluate it on two social network datasets. Guha et al. [7] develop a framework of trust propagation schemes, each of which may be appropriate in certain circumstances, and evaluate the schemes on a large trust network. Vogiatzis et al. [29] propose a probabilistic framework that models agent interactions as a hidden Markov model.

Such trust models based on experience trust and reputation seem to be suitable when there are enough transactions to estimate the experience as well as reputation. In the case of having no enough transaction in the past, agent must base on other confident sources of information to estimate trust about a given partner. Recently, there are some trust models proposed for dealing with this situation. For instance, Hermoso et al. [911] utilised organisational structures to improve the efficiency of trust computing mechanisms by endowing agents with some extra information to choose the suitable agents to interact with, such as the role taxonomy of agents in the structured organisation. Such a solution may not work in non-hierarchy environments such as e-commerce, social network, and recommendation systems where agents are peer-to-peer. Burnett et al. [3] describe a new approach, inspired by theories of human organisational behaviour, whereby agents generalise their experiences with known partners as stereotypes and apply these when evaluating new and unknown partners. Sabater and Sierra [23, 24] introduced ReGreT a modular trust and reputation system oriented to complex small/mid-size e-commerce environments, where social relations among individuals play an important role. The system takes into account three different sources of information: direct experiences, information from third party agents and social structures. Sebastia et al. [25] introduced a multiagent system that aimed to support a user or a group of users on the planning of different leisure and tourist activities in a city. The system integrates agents to dynamically capture the users profiles and to obtain a list of suitable and satisfactory activities for the user or for the group, using the experience acquired through the interaction of the users and similar users with the system. Our contribution in this paper is to propose a mechanism for computing similarity trust based on agent profile, and then it is combined with experience trust and reputation to give the final trust of a given partner.

3 Similarity-based mechanism for trust propagation

In this paper, we distinguish three types of trust among agents:

  • Experience trust: the trust that a truster obtained based on the history of interaction with a trustee. An interaction is called a transaction, and trust from the interaction is called transaction trust.

  • Similar trust: the trust that a truster obtained by reasoning itself on the similarity of a trustee with other well- known trustees. A trustee is considered as a well known by a truster if there is an interaction between the truster and the trustee and the truster has its own experience trust about this trustee.

  • Reputation: the trust about a trustee that a truster refers from other agents in the system.

In these kinds of trust, we refer the experience trust and reputation from the work of Nguyen and Tran [19] and base on the same assumption with Huynh et al. [13] about the willingness and the honesty of agent in the system:

  • Agents are willing to publish their profiles

  • Agents are honest in publication of their profiles

  • Agents are willing to publish their experience trust about a given partner

  • Agents are honest in publication of their experience trust about a given partner.

Let \(A = \{1,2,\ldots n\}\) be a set of agents in the system and denote \(E_{ij}\), \(S_{ij}\), \(R_{ij}\) and \(T_{ij}\) to be the experience trust, the similar trust, the reputation and the overall trust that agent \(i\) obtains on agent \(j\), respectively. The following subsections will describe a computational model to estimate the values of \(E_{ij}\), \(S_{ij}\), \(R_{ij}\) and \(T_{ij}\). Section 3.1 presents the experience trust. Section 3.2 presents reputation. Section 3.3 presents the similar trust. Section 3.4 presents the overall trust of a truster about a trustee.

3.1 Experience trust

Intuitively, experience trust of agent \(i\) on agent \(j\) is the trustworthiness about \(j\) that agent \(i\) collects from all transactions between \(i\) and \(j\) in the past. Let \(U_{ij}\) be a set of transactions having been performed between agent \(i\) and agent \(j\) until the current time.

Experience trust of agent \(i\) on agent \(j\), denoted as \(E_{ij}\), is defined by the equation:

$$\begin{aligned} E_{ij} (t_{ij}, w) = \sum _{k=1}^{\mid U_{ij}\mid } t^k_{ij} * w_{k} \end{aligned}$$
(1)

where \(t_{ij}\) is the vector of transaction trust of agent \(i\) in its partner \(j\): \(t_{ij}= (t_{ij}^k),\,k=1,\ldots ,\mid U_{ij}\mid \) and \(i,j = 1,\ldots ,n\). \(t_{ij}^k\in [0,1]\) is the trustworthiness of agent \(i\) about agent \(j\) from the \(k\)th latest transaction between \(i\) and \(j\). \(w=(w_1,w_2,\ldots w_{\mid U_{ij}\mid })^T\) is called the transaction weight vector where \(w_{k} \in [0,1],\, k= 1,\ldots ,\mid U_{ij}\mid \), is the weight of the \(k\)th latest transaction based on agent \(i\) evaluation such that:

$$\begin{aligned} {\left\{ \begin{array}{ll} w_{k_{1}} \geqslant w_{k_{2}}&{}\text {if}\;k_{1} < k_{2}\\ \sum _{k=1}^{\mid U_{ij}\mid } w_{k} = 1&{} \end{array}\right. } \end{aligned}$$
(2)

The weight vector is decreasing from the head to the tail of the sequence since the aggregation focuses more on the later transactions and less on the older transactions. It means that the later the transaction is, the more its trust is important to estimate the experience trust of the correspondent partner. This vector may be computed by means of regular decreasing monotone (RDM) linguistic quantifier \(Q\) [35].

3.2 Reputation

Reputation of agent \(j\) is the trustworthiness on agent \(j\) given by other agents in the system. As mentioned above, we suppose that any agent in the system is willing and trustworthy to share its experience trust about a particular trustee to other agents.

Suppose that \(j\) is an agent which the agent \(i\) has not yet interacted with but needs to evaluate to cooperate with. Let \(V_{ij} \subseteq A\) be a set of agents that an agent \(i\) knows and have had transactions with \(j\) in the past.

Reference trust of agent \(i\) on agent \(j\):

$$\begin{aligned} R_{ij} = {\left\{ \begin{array}{ll} \frac{\sum _{l \in V_{ij}} r^l_{ij}}{\mid V_{ij}\mid } &{}\quad \text {if}\;V_{ij} \ne \varnothing \\ 0&{}\quad \text {otherwise} \end{array}\right. } \end{aligned}$$
(3)

where \(r^l_{ij}\) is the individual reference trust of agent \(i\) on agent \(j\) via agents \(l\) (\(l\in V_{ij}\)), \(r^k_{ij} = E_{kj}\), \(E_{kj}\) is the current experience trust of \(k\) on \(j\).

3.3 Similar trust

Similar trust is the trust that a truster obtained by reasoning itself on the similarity of a trustee with other well-known trustees.

3.3.1 Profiles similarity

There are several methods to measure the similarity between two objects [15], or the similarity between profiles [20, 21]. Without loss of generality, we assume that there are \(n\) concerned features \(\{a^1,a^2,\ldots a^n\}\), which are attributes of agent, to measure the similarity between two agents. There are two steps as follows.

First, estimate the similarity on each considered feature and normalised it into the unit interval \([0,1]\). We distinguish some kinds of feature to measure their similarity:

  • Feature whose value is a single number: for this kind of feature, we define a possible interval, call \([MIN,MAX]\), for the value of the feature. It means that the value of the feature is acceptable if only if it is inside a given interval. Therefore, suppose that \(a^k_i\), \(a^k_j\) are two single number values on the features \(a^k\), of two agents \(i\) and \(j\), respectively. The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is defined by the equation:

    $$\begin{aligned} s^k_{ij} = 1 - \frac{\mid a^k_i - a^k_j \mid }{MAX-MIN} \end{aligned}$$

    For example, the feature of the age of a seller agent in an e-commerce application has a possible interval value of \([0,100]\). So, if both agent \(i\) and agent \(j\) are 30 years old, then their similarity on the feature age is 1 (100 %); if agent \(i\) is 30 years old, agent \(j\) is 40 years old, then their similarity on the feature age is 0.900 (90.0 %). This computation is also applied for the feature whose value is a single date time.

  • Feature whose value is a single string: suppose that \(a^k_i\), \(a^k_j\) are two single string values on the features \(a^k\), of two agents \(i\) and \(j\), respectively. Let \( length ^k_i\), \( length ^k_j\) are the length of the single string value of the features \(a^k_i\) and \(a^k_j\), respectively, counted by words. And \( length ^k_{ij}\) is the length of the longest substring between \(a^k_i\) and \(a^k_j\), counted by word. The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is defined by the equation:

    $$\begin{aligned} s^k_{ij} = \frac{2* length ^k_{ij}}{ length ^k_i + length ^k_j} \end{aligned}$$

    For example, considering the feature name of two agents: “Eton John” (length = 2 words) and “John Lennon” (length = 2 words), the longest substring of these two names is “John” (length = 1), then their similarity on the feature name is \(2*1/(2+2) = 0.500\) (\(50.0\%\)). Meanwhile, the similarity on the feature name of “Eton John” (length = 2) and “John” (length = 1) is \(2*1/(2+1) = 0.667\) (\(66.7\,\%\)).

  • Feature whose value is an interval of number: suppose that \(a^k_i = [x_1,x_2]\), \(a^k_j = [y_1,y_2]\) are two interval values on the features \(a^k\), of two agents \(i\) and \(j\), respectively. And \([z_1,z_2]\) is the intersection interval of \([x_1,x_2]\) and \([y_1,y_2]\). The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is defined by the equation:

    $$\begin{aligned} s^k_{ij} = \frac{2*(z_2 - z_1)}{(x_2 - x_1) + (y_2 - y_1)} \end{aligned}$$

    In the case that the intersection interval of \([x_1,x_2]\) and \([y_1,y_2]\) is empty, then \(s^k_{ij} = 0\). This is also applied for the feature whose value is a time duration. For example, considering the feature price interval of preference of seller agent in an e-commerce application. If agent \(i\) prefers the price between \(\$100 and \$300\), agent \(j\) prefers that between \(\$200 and \$400\), then the intersection interval between them is \(\$200 - \$300\), so the similarity on this feature between these two agents is \(2*(300-200)/((300-100)+(400-200)) = 0.500\) (\(50.0\,\%\)).

  • Feature whose value is a set of ordered discrete numbers (a vector): suppose that \(a^k_i = (x_1,x_2,\ldots x_n)\), \(a^k_j = (y_1,y_2,\ldots y_n)\) (n is the size of vector) are two vector values on the features \(a^k\), of two agents \(i\) and \(j\), respectively. And the value in each dimension of the vector is limited in an acceptable interval \([MIN,MAX]\). The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is defined by the equation:

    $$\begin{aligned} s^k_{ij} = 1 - \frac{ \sqrt{\frac{\sum ^n_{v=1} (x_v-y_v)^2}{n}}}{(MAX - MIN)} \end{aligned}$$

    For example, the feature position of agent is represented in a three-dimensional space where the limit in each dimension is in an interval \([0,10]\). If the agent \(i\) is at the position \((0,3,7)\), and agent \(j\) at the position \((6,10,2)\) then the similarity on the feature position between them is \(0.395\) (\(39.5\,\%\)).

  • Feature whose value is a set of non-ordered discrete numbers: suppose that \(a^k_i = \{x_1,x_2,\ldots x_n\}\), \(a^k_j = \{y_1,y_2,\ldots y_m\}\) (n,m are the size of set) are two set values on the features \(a^k\), of two agents \(i\) and \(j\), respectively. And the value in each element of the set is limited in an acceptable interval \([MIN,MAX]\). The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is estimated as follow:

    • Sort the set \(a^k_i\) in increasing order such that \(a^k_i = \{x'_1 \leqslant x'_2 \leqslant \cdots \leqslant x_n\}\)

    • Sort the set \(a^k_j\) in increasing order such that \(a^k_j = \{y'_1 \leqslant y'_2 \leqslant \cdots \leqslant y_m\}\)

    • Without lost any generalisation, we suppose that \(n \leqslant m\), the similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is defined by the equation:

      $$\begin{aligned} s^k_{ij} = 1 - \frac{\sqrt{\frac{\sum ^n_{v=1} (x'_v-y'_v)^2 + (m-n)(MAX - MIN)^2}{m}}}{(MAX - MIN)} \end{aligned}$$
  • Feature whose value is a set of strings: suppose that \(a^k_i\), \(a^k_j\) are two values of type of set of strings on the features \(a^k\), of two agents \(i\) and \(j\), respectively. Let \( size ^k_i\), \( size ^k_j\) are the sizes of the set value of the features \(a^k_i\) and \(a^k_j\), respectively. And \( size ^k_{ij}\) is the size of the conjunction set of \(a^k_i\) and \(a^k_j\). The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) on feature \(a^k\) is defined by the equation:

    $$\begin{aligned} s^k_{ij} = \frac{2* size ^k_{ij}}{ size ^k_i + size ^k_j} \end{aligned}$$

    For example, in the same application of e-commerce, the feature favourite leisure of agent \(i\) is a set of {play football, travel, shopping} (size = 3) and that of agent \(j\) is {travel, play football, lecture, play tennis} (size = 4), then the conjunction set of the two values is {play football, travel} (size = 2), so the similarity of \(i\) and \(j\) on this feature is \(2*2/(3+4) = 0.571\) (\(57.1\,\%\)).

It is easy to prove that all possible values of \(s^k_{ij}\) are lied in the interval \([0,1]\). It means that, after this step, all similarities between the two agents on each feature are normalised into the unit interval. This normalisation enables us to avoid the domination of some feature whose value domain is vast on other features whose value domain is tight.

Second, the similarity between two agents is then estimated by averaging the similarity between them on all considered features:

Definition 1

The similarity between agent \(i\) and agent \(j\) (\(i,j \in A\)) is defined by the function \( f_d:[0,1]^n \rightarrow [0,1]\), which is a mapping from the similarities on all considered features into the overall similarity between them:

$$\begin{aligned} s_{ij} = \frac{\sum \limits ^n_{k=1} w^k*s^k_{ij}}{\sum \limits ^n_{k=1} w^k} \end{aligned}$$
(4)

where \(w^k, s^k_{ij}\) are, respectively, the weight of the features \(a^k\) and the similarity on the feature \(a^k\) between agent \(i\) and agent \(j\).

The usage of the weighted average operator leads this formula more flexible and generic. And the application designer could choose their own weight vector to customise the formula such that it is suitable for the nature of their application.

3.3.2 Similarity trust referred from profile similarity

The estimation of similar trust of truster \(i\) about trustee \(j\) via another trustee \(l\) is based on the combination of the experience trust of \(i\) about \(l\), and the similarity between \(l\) and \(j\). Intuitively, this combination must satisfy the following conditions:

  • The more the experience trust of \(i\) about \(l\) is high, the more the similar trust is high;

  • The more the similarity between \(l\) and \(j\) is high, the more the similar trust is closed to the experience trust of the well- known trustee.

These constraints may be represented by the following similar trust function (STF):

Definition 2

A function \(f_{stf}: [0,1]^2\rightarrow [0,1]\) is called the similar trust function, denote STF, if and only if it satisfies the following conditions:

  1. (i)

    \(f_{stf}(e_1,s) \leqslant f_{stf}(e_2,s)\;\text {if}\,e_{1} \leqslant e_{2};\)

  2. (ii)

    \(\mid e - f_{stf}(e,s_1)\mid \leqslant \mid e - f_{stf}(e,s_2)\mid \;\text {if}\,s_{1} \geqslant s_{2};\)

It is easy to prove the following proposition.

Proposition 1

The following functions are STF functions:

  1. (i)

    \(f_{stf}(e,s) = min(e+\mid e - e*s\mid , 1)\)

  2. (ii)

    \(f_{stf}(e,s) = max(e-\mid e - e*s\mid , 0)\)

Now, we can define the individual similar trust of a truster \(i\) about a trustee \(j\) via the similarity between the trustee \(j\) and another trustee \(l\) as follows.

Definition 3

The individual similar trust of a truster \(i\) about a trustee \(j\) via the similarity between the trustee \(j\) and another trustee \(l\) is a function \(f_{fts}:[0,1]\times [0,1] \rightarrow [0,1]\) from the experience trust of truster \(i\) about trustee \(l\) and the difference between trustee \(l\) and trustee \(j\), which is defined as follows:

$$\begin{aligned} st^l_{ij} = f_{fts}(E_{il}, s_{lj}) \end{aligned}$$
(5)

where \(f_{fts}\) is a STF function, \(E_{il}\) is the experience trust of truster \(i\) on trustee \(l\), \(s_{lj}\) is the similarity between agent \(j\) and agent \(l\).

Based on the concept of the individual similar trust, we can now define the similarity trust via a set of trustee agents. Let \(O \subseteq A\) be the set of all agents who have already executed at least one transaction with agent \(i\). The similar trust of truster \(i\) about trustee \(j\) via all well-known trustee \(k\in O\) of the truster \(i\) is then defined as follows:

Definition 4

The similar trust of truster \(i\) about trustee \(j\) in general is a function: \( [0,1]^{\mid O \mid } \rightarrow [0,1]\) from all individual similar trust of truster \(i\) about trustee \(j\) via trustee \(k \in O\):

$$\begin{aligned} S_{ij} = \frac{\sum \limits ^{\mid O \mid }_{k=1} n_k*st^k_{ij}}{\sum \limits ^{\mid O \mid }_{k=1} n_k} \end{aligned}$$
(6)

where \(st^k_{ij}\) is the individual similar trust of truster \(i\) on trustee \(j\) via trustee \(k\), \(n_k\) is the number of transactions made between agent \(i\) and agent \(k\).

3.4 Overall trust

Resulting from these partial trust measures, we may construct a definition of combination of these types of trust.

Combination trust \(T_{ij}\) of agent \(i\) on agent \(j\) is defined by the equation:

$$\begin{aligned} T_{ij} = w_{ie}*E_{ij} + w_{ir}*R_{ij} + w_{is}*S_{ij} \end{aligned}$$
(7)

where \(E_{ij}, R_{ij}, S_{ij}\) are experience trust, reputation, and similar trust about trustee \(j\) in the point of view of truster \(i\), respectively, and \(w_{ie} + w_{ir} + w_{is} = 1\) are weights of these trusts.

4 Experimental evaluation

This section describes an evaluation of the proposed model (called Model 1) by taking experiments in an application of an e-commerce environment to compare this model with other models:

  • Model 2: it is a model of trust based only on experience trust and reputation, which is proposed by Huynh et al. [12, 13].

  • Model 3: it is a model of trust with some additional information about the role taxonomy of agents in the system, which is proposed by Hermoso et al. [911].

It is mentioned that the model of Hermoso et al. uses the role taxonomy as a type of additional information to estimate trust, while the model of Huynh et al. and our model do not use it. So we need to take the experiment in two situations:

  • Situation 1: there is no role taxonomy in the multiagent system. All agents have the same role as peer-to-peer (Sect. 4.1).

  • Situation 2: agents have different role in the system and the role taxonomy is in some of data source to estimate the trust of the agent in a given role (Sect. 4.2).

4.1 Situation 1: no role taxonomy in the system

4.1.1 Experiment setup

In this section, we consider a scenario of an e-commerce system without any role taxonomy of agents: an e-market is composed of a set of seller agents, a set of buyer agents, and a set of transactions. All sellers are peer-to-peer and the same principle for buyers. Each transaction is performed by a buyer agent and a seller agent. A seller agent plays the role of a seller who owns a set of items and it could sell many items to many buyer agents. A seller agent also has a profile which is published in the system for all buyers. A buyer agent plays the role of a buyer who could buy many items from many seller agents.

Each buyer agent has a transaction set to calculate the experience trust of all seller agents which have transaction(s) with it. It also has a set of reference trusts (reputation) about seller agents which are referred from other buyer agents.

When a transaction is made between a buyer agent and a seller agent, the buyer agent will evaluate the transaction based on the quality of the received item. The buyer agent will then update its trust on its seller agents once it finishes a transaction or receives a reference trust from other buyer agents.

To apply the similarity trust based on profile, we build the profile for seller agent with following features:

  • Name: the name of seller agent. This feature is a kind of single string value.

  • Age: the age of seller agent. This feature is a kind of single number value.

  • Zodiac: the birthday signs of seller agent. This feature is a kind of single string value.

  • Country of origin: the country of origin of seller agent. This feature is a kind of single string value.

  • Operation time: the time duration from the moment when the seller agent entered the system until the current time. This feature is a kind of single number value.

  • Price interval of preference: the interval of the price of the goods that the buyer agent is going to buy. This feature is a kind of interval number value.

  • Leisure of favourite: the preference of leisure of the seller agent. This feature is a kind of string set value.

  • Main goods: the main goods that the seller agent sells. This feature is a kind of string set value.

All features have the same level of importance. It means that, in the estimation of the overall similarity between the two seller agents from the similarity on each feature, the weighted average operator becomes a simple average. This is fixed for all simulations. And we launch the simulations with following scenarios:

Scenario 1 for model 1:

  • Initiating the set of evaluating sellers and the set of evaluating products of each training seller. They are completely unknown for buyers. (There is no transaction with these sellers yet).

  • Running the application until each buyer bought \(1\), \(5\), \(10\), \(20\), \(40\), \(60\), \(80\), and \(100\) products. This step applies the proposed model to calculate the experience trust, similar trust, and reputation of each seller.

  • Calculating the average quality of bought products after reaching the configured number of them.

Scenario 2 for model 2:

  • Initiating the set of evaluating sellers and the set of evaluating products of each training seller. They are identical with the evaluating sellers and evaluating products in the second phase of the first scenario. Initiating the set of buyers. These buyers have not any data about training sellers nor training products.

  • Running the application until each buyer bought \(1\), \(5\), \(10\), \(20\), \(40\), \(60\), \(80\), and \(100\) products. This step applies the trust model proposed by Huynh et al. [12, 13].

  • Calculating the average quality of bought products after reaching the configured number of the bought products.

Scenario 3 for model 3:

  • Initiating the set of evaluating sellers and the set of evaluating products of each training seller. They are identical with the evaluating sellers and evaluating products in the second phase of the first scenario. Initiating the set of buyers. These buyers have not any data about training sellers nor training products.

  • Running the application until each buyer bought \(1\), \(5\), \(10\), \(20\), \(40\), \(60\), \(80\), and \(100\) products. This step applies the trust model proposed by Hermoso et al. [911].

  • Calculating the average quality of bought products after reaching the configured number of the bought products.

For each scenario, we will run 100 times for each configured number of bought products. In the output, we need to calculate the following parameters:

  • The average quality (in %) of brought products for all buyers. A scenario (respectively model) is considered better if it brings the higher average quality of brought products for all buyers in the system.

4.1.2 Results

The results are presented in Fig. 1. There is an evolution on the average quality of bought products in all three models: the average of product quality increases when the number of well-known sellers increases. The results also indicate that there is always significant difference on the output parameter, independently from numbers of bought products considered:

  • In the case of \(1\) bought product, the product quality from our model is significantly higher than that of model 2 and model 3 [\(M({model} 1) = 77.8\,\%\), \(M(model 2) = 51.9\%\), \(M ({model} 3) = 53.9\,\%\), significant difference with p value \(<\)0.001].

  • In the cases of \(5\) products [\(M (model 1) = 80.2\,\%\), \(M (model 2) = 56.2\,\%\), \(M (model 3) = 57.1\,\%\), significant difference with p value \(<\)0.001].

  • In the cases of \(10\) products [\(M (model 1) = 82.6\,\%\), \(M (model 2) = 58.3\,\%\), \(M (model 3) = 60.1\,\%\), significant difference with p value \(<\)0.001].

  • In the cases of \(20\) products [\(M (model 1) = 83.9\,\%\), \(M (model 2) = 60.1\,\%\), \(M (model 3) = 62.3\,\%\), significant difference with p value \(<\)0.001].

  • In the cases of \(40\) products [\(M (model 1) = 84.9\,\%\), \(M (model 2) = 61.6\,\%\), \(M (model 3) = 63.1\,\%\), significant difference with p value \(<\)0.001].

  • In the cases of \(80\) products [\(M (model 1) = 86.1\,\%\), \(M (model 2) = 64.2\,\%\), \(M (model 3) = 65.1\,\%\), significant difference with p value \(<\)0.001].

  • In the cases of \(100\) products [\(M (model 1) = 86.2\,\%\), \(M (model 2) = 64.8\,\%\), \(M (model 3) = 66.2\,\%\), significant difference with p value \(<\)0.001].

Fig. 1
figure 1

Variation of average quality of bought products, in the case without hierarchy of roles in the system, among 3 models: our model (model 1), model of Huynh et al. (model 2), and model of Hermoso et al. (model 3)

4.2 Situation 2: there is role taxonomy in the system

4.2.1 Experiment Setup

In this experiment, we use the same scenario with the similar trust in Sect. 4.1, except that:

  • We assign a role for each agent in the system.

  • The roles in the system are organised in hierarchy.

  • This role taxonomy system is also used to estimate the trust of each seller in the case of model 3 given by Hermoso et al. [911].

We apply the role taxonomy of seller agent in the system with the following hierarchy:

  • Primary agency Seller

  • Secondary agency seller: we differentiate three levels of secondary agency seller:

    • Secondary agency level 1

      • Secondary agency level 2

        • Secondary agency level 3

  • Freedom seller: the retail seller without constraint of primary or secondary agency.

We also run 100 times for each configured number of contacted sellers. In the output, we also consider the average quality (in %) of brought products for all buyers.

4.2.2 Results

The results are presented in Fig. 2. Unsurprisingly, the product quality from our model is always significantly higher than that of model 2 in all cases considered with difference number of bought product. However, there is no significant difference between the output value from our model and that of model 3: p value \(>\)0.05 in all cases considered with difference number of bought products.

Fig. 2
figure 2

Variation of average quality of bought products, in the case with hierarchy of roles in the system, among 3 models: our model (model 1), model of Huynh et al. (model 2), and model of Hermoso et al. (model 3)

5 Conclusions

In this paper, we have introduced a new mechanism for trust initiation which is based on the similarity of a new trustee profile and the other well-known agent ones. The trust inferred from similar computation mechanism has been combined in the weighted computation with the experience trust and reputation to achieve an overall trust. We have performed experiments to test our model with various parameters in the e-commerce environment. The experimental results indicate that the model with similar profile based trust is better compared with the trust model with only the experience trust and reputation, in both situation with and without role hierarchy in the system. And that the model with similar profile based trust is better the one with similar role taxonomy based trust when the system is peer-to-peer. In the situation that the agents in the system have their roles with taxonomy, there is no significant difference between the two models.

In our work, all agents are supposed to be faithful. It means that they always provide reliable information for computing reputation and similarity. However, in the reality, there may be some lying agents who intend to provide unreliable information for the sake of their own utility. Dealing with the situation when considering similar trust and reputation with such unreliable information of liars will be our future research topics. The research results will be presented in the other work.