the probability transition matrix of the corresponding
Markov model.
Average commute time (CT). We use the average
commute time, n(i, j) , to rank the agents of the con-
sidered set, where i is an agent of the user-agent set
and j is an agent of the set to which we compute the
dissimilarity (the movie-agent set). For instance, if
we want to suggest movies to people for watching,
we will compute the average commute time between
user agents and movie agents. The lower the value
is, the more similar the two agents are. In the sequel,
this quantity will simply be referred to as “commute
time”.
Principal components analysis defined on aver-
age commute times (PCA CT). In a related paper,
we showed that, based on the eigenvector decomposi-
tion, the nodes vectors, e
i
, can be mapped into a new
Euclidean space (with 2625 dimensions in this case)
that preserves the Euclidean Commute Time Distance
(ECTD), or a m−dimensional subspace keeping as
much variance as possible, in terms of ECTD. We
varied the dimension of the subspace, m, from 25 to
2625 by step of 25. It shows the percentage of vari-
ance accounted for by the m first principal compo-
nents
P
m
i=1
λ
i
/
P
n
j=1
λ
j
. After performing a PCA
and keeping a given number of principal components,
we recompute the distances in this reduced subspace.
These Euclidean commute time distances between
user agents and movie agents are then used in order
to rank the movies for each user agent (the closest
first). The best results were obtained for 100 dimen-
sions (m = 100).
Notice that, in the related paper, we also shows that
this decomposition is similar to principal components
analysis in the sense that the projection has maximal
variance among all the possible candidate projections.
Average first-passage time (one-way). In a simi-
lar way, we use the average first-passage time, m(i|j),
to rank agent i of a the movie-agent set with respect
to agent j of the user-agent set. This provides a dis-
similarity between agent j and any agent i of the con-
sidered set. This quantity will simply be referred to as
“one-way time”.
Average first-passage time (return). As a dis-
similarity between agent j of the user-agent set and
agent i of the movie-agent set, we now use m(j|i) (the
transpose of m(i|j)), that is, the average time used to
reach j (from the user-agent set) when starting from
i. This quantity will simply be referred to as “return
time”.
We now introduce other standard collaborative fil-
tering methods to which we will compare our algo-
rithms based on first-passage time.
Nearest neighbours (KNN). The nearest neigh-
bours method is one of the simplest and oldest meth-
ods for performing general classification tasks. It can
be represented by the following rule: to classify an
Table 1: Contingency table.
Individual j
1 0 Totals
Individual i 1 a b a + b
0
c d c + d
Totals a + c b + d p = a + b + c + d
unknown pattern, choose the class of the nearest ex-
ample in the training set as measured by a similar-
ity metric. When choosing the k-nearest examples
to classify the unknown pattern, one speaks about k-
nearest neighbours techniques.
Using a nearest neighbours technique requires a
measure of “closeness”, or “similarity”. There is
often a great deal of subjectivity involved in the
choice of a similarity measure (Johnson and Wichern,
2002). Important considerations include the nature of
the variables (discrete, continuous, binary), scales of
measurement (nominal, ordinal, interval, ratio), and
subject matter knowledge.
In the case of our MAS movie architecture, pairs of
agents are compared on the basis of the presence or
absence of certain features. Similar agents have more
features in common than do dissimilar agents. The
presence or absence of a feature is described mathe-
matically by using a binary variable, which assumes
the value 1 if the feature is present (if the person i has
watched the movie k, that is if the user agent i has an
interaction with movie agent k) and the value 0 if the
feature is absent (if the person i has not watched the
movie k, that is if the user agent i has no interaction
with movie agent k).
More precisely, each agent i is characterized by
a binary vector, v
i
, encoding the interactions with
the movie agents (remember that there is an interac-
tion between an user agent and a movie agent if the
considered user has watched the considered movie).
The nearest neighbours of agent i are computed by
taking the k nearest v
j
according to a given simi-
larity measure between binary vectors, sim(i, j) =
sim(v
i
, v
j
). We performed systematic comparisons
between eight different such measures (see (Johnson
and Wichern, 2002), p.674). Based on these compar-
isons, we retained the measure that provide the best
results: a/(b + c), where a, b, c and d are defined in
Table 1. In this table, a represents the frequency of
1-1 matches between v
i
and v
j
, b is the frequency of
1-0 matches, and so forth.
We also varied systematically the number of neigh-
bours k (= 10, 20, ..., 940) . The best score was ob-
tained with 110 neighbours.
In Section 5, we only present the results ob-
tained by the best k-nearest neighbours model (i.e.,
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
60