<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Suggesting Just Enough (Un)Crowded Routes and Destinations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claudia Cavallaro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gabriella Verga</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emiliano Tramontana</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Orazio Muscato</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science, University of Catania</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>237</fpage>
      <lpage>251</lpage>
      <abstract>
        <p>Though people like to visit popular places, for health-related concerns and due to the recent restrictions adopted around the world, gatherings should be avoided. When planning a trip, one has to consider both attractiveness in terms of general interest for the destinations, and the density of people gathering there. In this work, we propose a recommendation system aiming at ofering users some suggestions on useful routes and destinations that balance both liveliness and overcrowding. Firstly, we use datasets storing GPS positions as a basis for the statistics on routes and destinations. Then, we use an accurate probability algorithm that estimates the number of people moving from one place to another in the city and accordingly we show a list of destinations to users. The destination points are filtered based on the user's preference on the density of people. A multi-agent system is used to handle the user requests to find a route for a trip, statistics on possible destinations, and suggestions to users. Thanks to our solution we can inform users on suitable routes and destinations, as well as alert them when a preferred destination is overcrowded.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;GPS trajectory</kwd>
        <kwd>Recommendation systems</kwd>
        <kwd>Movement predictions</kwd>
        <kwd>Multi-agent system</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Currently, organising a trip should take into account the number of people that will gather in
the chosen destination points, since it is necessary to avoid visiting a place that will become
overcrowded to comply with the restrictions due to the Covid-19 influenza pandemic. Hence,
an estimate of the number of people that will be in some place in a future time can be valuable
for people moving and in situations where they could choose visiting some other place.</p>
      <p>
        In previous works, the statistics accumulated over time are used to estimate a measure of
trafic or gatherings [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5">1, 2, 3, 4, 5</xref>
        ]. Moreover, both popular online services, and other apps just
count the number of people currently present in some place [
        <xref ref-type="bibr" rid="ref6 ref7 ref8 ref9">6, 7, 8, 9</xref>
        ]. However, statistics
gathered in the past cannot be a reliable indication for the current situation that has to cope
with e.g. restrictions on gatherings, lower capacity of public transport means, etc. due to the
influenza pandemic. Additionally, a kind of real time measures of gatherings do not let other
people plan their trip, hence understanding whether e.g. one hour later when arriving at the
destination, the place will still be (un)crowded. A better estimate is therefore needed which
takes into account: (i) the current amount of people in some place, and (ii) the statistics on the
number of people that being in some origin place typically flow to another place to visit later on.
Moreover, an app behaving as an assistant agent is needed to timely inform interested people.
      </p>
      <p>This paper proposes an approach to determine the probability that users are moving along
some routes. Given the recordings of several user positions, we compute the probability for
a user that being in some place  will move to another place  (i.e. a possible destination),
hence when arriving in place  he will contribute to the number of people gathering there. By
computing beforehand the probability that he will go to place  in a future time, we can guess
whether a place will become overcrowded. Our proposed estimation of people destinations
is based on the analysis of the co-occurrence of places statistically visited by an amount of
people greater than a threshold. Moreover, we propose to give users an app that will let them
know the amount of people that will gather to some areas that can be reached from the point
where the user is. The app provides us support for suggesting the user possible destinations
that are viable both in terms of distance, usefulness, and gathering. Moreover, the app provides
means to collect data on the current amount of people in some place and then their trajectories.
When collecting user data by means of the app we make sure that user privacy is preserved by
providing only an approximate location to a central server.</p>
      <p>Our approach can be useful in many contexts where estimating the number of people
beforehand can be a crucial factor for a better service, such as e.g. when organising public transport, or
for retailer, etc. Moreover, it could be enriched with data, coming from proper authorities, that
reveal some places where a Covid-19-positive has been found. Then, by using our computed
trajectories, we could give for other places the probabilities of having infection spreads.</p>
      <p>The paper is organised as follows. Next section describes the related work. Section 3 explains
our proposed solution. Section 4 illustrates the experiments and shows the viability of our
approach. Finally, conclusions are drawn in Section 5.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>This section ofers an overview of the studies on multi-agent systems and the analysis of the
movement of people.</p>
      <p>
        Multi Agent System: a multi-agent system is a system with a significant number of independent
agents that interact with each other [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In recent years, multi-agent systems have been
widely used as being regarded suitable for systems with a modular architecture, thanks to their
independence [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Generally, agents interact in three ways [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]: (i) each agent can communicate
directly with any other agents (“autonomous agents”); (ii) agents communicate indirectly with
each other via an intermediary (“facilitator”); (iii) all agents communicate with each other via an
intermediary, however the agents can communicate with each other after the communication
has been set up by the intermediary (“Mediator”). In the second case, the robustness can be
poor and the overhead is relatively high but the intermediary acts as a protective wall for users
privacy because agents do not communicate directly and it processes the information received
from the users, decreasing their work [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. On the other hand, the use of an intermediary has
several advantages in terms of synchronization, reusability, scalability and modularity [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ].
      </p>
      <p>
        Mobility monitoring: an accurate monitoring of user mobility provides support for eficient
resource usage. E.g., it could help avoid trafic congestion [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ], give warnings or make
targeted advertising by discovering the next place to visit [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], or simply study user behaviour [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
The approach described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] identifies the routine behaviour of two sample of people by using
a probabilistic approach (Latent Dirichlet Allocation) to extract 10 diferent positions shared
by multiple users. Other approaches identify people movements. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the proposed system
observes GPS data in the urban area of Milan and creates an origin-destination matrix, then
provides the similarity between two trajectories, leading to the discovery of mobility behaviours.
      </p>
      <p>
        Moreover, to find typical trajectories of a group of people, the approach in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] identifies
lfows using a grid with the Apriori algorithm [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], however noting only flows and not the
frequently visited points of interests, nor the probability of some people moving to another
place. In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], the flows are identified by associating them with spatio-temporal trajectories
shared by multiple users heading in the same direction. Finally, other approaches use machine
learning techniques, e.g. the approach in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is based on a clustering algorithm, and uses an
unsupervised learning solution for an automatic lane detection in multidirectional pedestrian
lfows.
      </p>
      <p>
        Our proposed work uses a multi-agent system communicating with a server that acts as an
intermediary and predicts movements by means of an innovative and reliable mathematical
solution. Unlike the work presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], our goal is to detect the foreseeable routes by
computing their probability, instead their method determines the probability that a group of
users is moving together. The work presented in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] uses an unsupervised learning approach
and aggregates instantaneous information on the position and speed of pedestrians to form
clusters, calculated on short time windows. We use a fixed grid to group people positions into
cells, and then compute the probabilities using the data arriving from the agents in real time.
The paper [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] presents personalised recommendations for guiding tourists through the city of
Melbourne by observing their actions. This system is modelled as a Markov decision process
that recommends the user in sequence the next place to visit. However, unlike the StayPoint
analysis presented here, it does not consider the stationary nature of visitors over a period
of time and this is a key element in avoiding overcrowding. In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] the frequent corridors, i.e.
routes, were found on a grid through Apriori algorithm [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], while in this work we initially find
the areas having highly visited points of interest, hence giving great importance to the user
stay time. Moreover, we consider the Confidence and Lift metrics used in the Market Basket
Analysis to know the probability of displacement and therefore predict the contagion areas that
are continuously updated.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed Approach</title>
      <p>We aim at determining the probability that users are moving from one point to another point.
Such a probability is then used to provide recommendations accordingly. Recommendations,
alerts, or user requests, are communicated by means of a smartphone app. Therefore, our
proposed solution comprises two parts: (i) an algorithm that determines the probability of people
movements, and (ii) an app on the users device to track movements and suggest destinations.</p>
      <sec id="sec-3-1">
        <title>3.1. Determining Probability of Movement</title>
        <p>To determine the probability of movement we perform two steps. The first step consists in
determining shared people flows from the points recorded during the previous movements of
each user. Then, the second step consists in obtaining statistics on the amount of people that
being in point  subsequently go to point .</p>
        <p>By analysing every GPS trajectory, i.e. the set of recorded GPS points temporally ordered,
we extracted its StayPoints ( ). They are the centres of the areas within which a user stays
for more than a certain time: for some reason that area is of interest. Then, the geographical
area where the   of all dataset are located has been discretised by means of a grid, made up
of equal Square Cells. Each determined  has been associated with a single square cell if it
is contained in that space. Sure, a cell could contain multiple   if these are close enough,
depending on the width of the cell. Cells that did not contain any  have not been considered.</p>
        <p>We then determined the subset of frequently visited cells consisting of all the cells that having
at least one  within them have been visited at least by 10% of the people. For the sake of
reliability, we compute only the statistics between the frequently visited cells, and we consider
the Confidence as used by the Market Basket Analysis. Confidence denotes the percentage of
trajectories frequently visiting a cell  which also frequently visit cell . I.e. for a value of
Confidence higher than a threshold (set as 60% in our experiments), we can assert that a large
group of people having visited cell  moves together to cell . Confidence is an estimation of
conditioned probability. Two or more cells for which there is a Confidence higher than 60%
that have been visited by a large group of people are dubbed co-visited cells.</p>
        <p>Then, we check the reliability of the association rules obtained ( ⇒ ) through Lift, which
will confirm that the transition of a user from the SP in  to the  in  has a positive
correlation.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. A Multi-Agent Recommendation System</title>
        <p>
          In general, an agent, according to Wooldridge [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], is merely "a software (or hardware) entity that
is situated in an environment and is able to autonomously react to changes in that environment".
Each agent has the basis to learn and communicate, and in our case, learning takes place by
capturing the user GPS positions and, communication is realised by connecting to a centralised
server, which alerts all agents when needed and stores the geographical coordinates of the
points visited by users. Figure 1 shows the main components of the proposed multi-agent
system.
        </p>
        <p>An agent runs on a smartphone as an app in order to receive suggestions on possible
destination. The agent ofers recommendations highlighting any ‘warm’, that is very crowded, or
‘cold’, that is uncrowded, place, using the statistics gathered as described in the previous section.
For this, the agent periodically reads the user position and checks whether a known StayPoint
(SP) is nearby. Then, the agent communicates to the server whether it is close to a SP. This lets
the agents contribute in determining the number of people close to a SP, rather than giving
their actual position, hence preserving the user’s privacy. In this context, the privacy protection
is intended to prevent the disclosure of information relating to the exact location of the user.
Figure 2 shows the app providing information to the user.</p>
        <p>
          The server, having acquired by the user the position of the nearest SP, returns the list of
other SPs that could be visited according to the probability estimate of passing through that
point (0 equals low probability, 1 equals high probability). In this way, we create a Collaborative
Filtering based recommendation system [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], as it is based on the choices of other users.
        </p>
        <p>Finally, the user, through an administration panel, can set with a flag, if he prefers ’warm’ or
’cold’ places. Thus, the agent, based on the users choice and the list received from the server,
determines information to show and then suggest. Destinations are displayed as a map or a</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiments</title>
      <p>list. All agents are independent of each other and since they extrapolate data directly from the
device they are reliable, making the architecture stable and trustworthy.
This section describes the experiments carried out using a dataset that collects real movements
from one part of the city to another by taxis and/or people. Positions have been gathered by
periodically reading geo-coordinates from tablets or smartphones. The experiments focus on
data analysis for determining the probabilities of moving from one StayPoint to another as
described in Section 3. This approach is used in our centralized server in order to select the
list of suggestions to send to the agents. The used dataset allows us to simulate the behaviour
of a reasonable number of users, showing the useful of the app. Over time, data are updated
as provided by agents. Below we describe the dataset used in our experiments, then the tests
carried out, and the results that have been found.</p>
      <sec id="sec-4-1">
        <title>4.1. Dataset</title>
        <p>
          The dataset used to perform our tests is Cabspottingdata [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] and includes the trajectories
collected in May 2008 by 536 taxis, for a total of 11, 219, 424 GPS points. Cab mobility traces
are provided by the Exploratorium—the museum of science, art and human perception through
the cabspotting project1. To gather data each vehicle was outfitted with a GPS tracking device
that was used by dispatchers to eficiently reach customers. Data were sent from each cab
to a central receiving station, and then delivered in real-time to dispatch computers via a
central server. Each mobility trace file, associated to a taxi ID, contains in each line: latitude,
longitude, occupation, timestamp. Where latitude and longitude are in decimal degrees, the
occupation indicates whether a taxi has a fare (1 = busy, 0 = free) and the time is in the UNIX
era format. The area covered by these routes corresponds to the county of San Francisco of
USA and its surroundings in California, with maximum and minimum longitude and latitude
= [− 127.08143; 32.8697] x [− 115.56218; 50.30546]. The total size of the trajectories registered
with a customer on the taxi consists of 5, 017, 659 points.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Tests carried out to find flows and StayPoints</title>
        <p>A trajectory  is an ordered sequence of GPS points, in which the positions occupied (for
example by a vehicle) and the timestamps associated with them are recorded chronologically.
Each position is represented by latitude and longitude of the geographical point.  = {0 =
(0, 0, 0), 1 = (1, 1, 1), . . . ,  = (, , )}, where ∀ ∈ [0, ],  = (, , ) with
 &lt; +1, and ,  and  represent longitude, latitude, and timestamp, respectively.</p>
        <p>The first step was the data cleaning in order to eliminate noise, due for example to GPS
errors. It was performed by computing the instantaneous speed of each point of the rides
recorded on the taxi. The maximum acceptable speed threshold has been set for 150  . The
ℎ
trajectories have been summarised for the comparison of the distance, considering for each
path two successive points in temporal order only if they were at a minimum distance of 140
. This was done to decrease the size of the dataset and therefore will allow a reduction in the
execution time of the algorithm.</p>
        <p>To carry out a statistical analysis, 90% of trajectories were randomly selected, and this set
was the Train set for the the flow detection algorithm. The complementary set, that is the
remaining 10% of the trajectories, consists in the Test set, that is the verification set. We
considered 6 time slots of 4 hours each, to visualise the movement of the vehicles at diferent
times and the trajectories were therefore split according to the 6 time slots. To identify the
sub-trajectories common to diferent users in the same time slot, a maximum tolerance distance
was set between two diferent points of diferent users as 280 . The distance between two
points was computed by using the Haversine distance, which given two points (, ) and
 ( ,  ) characterised by latitude and longitude in decimal degrees returns their distance in
meters considering the curvature of the earth:
(,  ) = 2 arcsin
√︂
sin2  −  + cos  cos  sin2  −</p>
        <p>2 2
where  is the mean radius of the earth.</p>
        <p>We define flows as close sub-trajectories, belonging to diferent users, spatially similar and
recorded in the same time slot. The density of a flow is the number of users that pass through it.
For detecting flows in this dataset, the minimum density threshold was set to 25. According to
these parameters, 12 flows were identified, ranging from 1 to 2 km in length. The minimum
density of the flows found is 26 taxis, while the maximum density found is 192 taxis. Then, by
taking the complement of the trajectory sample (10% of the taxis, as the test set) we checked
where their GPS points were compared to the previous train set. We found that the points of
the test set intersect with the 12 paths identified on the train set. Another check was carried
out by confirming the correspondence of the points of the flows on a map. It consists of the
process of matching the coordinates of the obtained flows and the road segments, and assessing
that there are no external points with respect to road segments (see Figure 3).</p>
        <p>
          We apply the StayPoint detection algorithm to each trajectory (more details can be found
in [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]) with time threshold, TimeThr, equal to 10 minutes, and distance threshold, DistThr,
100 meters. Such thresholds should sufice to select the positions in which a user dwells (in
several SPs) as he finds the place interesting, and removes the locations where a user is stopping
because e.g. he is blocked at the trafic light.
        </p>
        <p>The execution time for the StayPoints detection algorithm on the whole Cabspotting dataset
(536 taxis and more than 11 points) was 36 minutes and 54 . We obtained a total of 4261
 , which is an average of 8   per vehicle journey. The results show that 98% of users
have at least one StayPoint associated with their trip (523 users out of 536). The implementation
of StayPoints detection algorithm used Python and the experiments were executed in a host
having an Intel Xeon CPU E5-2620 v3 2.40GHz, with RAM 32 GB.</p>
        <p>Figure 4 shows the recorded trace for each trip in blue, and the detected SPs in yellow. Figure 5
shows the detected flows in magenta and the SPs in that area in green.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Movement prediction</title>
        <p>For predicting the movements of people, firstly a grid was built, which covers the map, made
up of square cells with a side of 1 . Such a grid lets us discretise the data and estimate the
probability of movement from a cell having some SPs inside it to another cell also having at least
one SP. Two distinct geographical areas comprising some SPs are represented as two square
cells without intersection, therefore a space partition is formed. Figure 6 shows such a grid,
having size 80 × 46 cells (latitude by longitude), and the obtained SPs are mapped in to the grid
and shown as red dots. Some areas consisting of nearby cells have many more SPs than others,
hence red dots are more dense in some areas than others, as shown in the said figure.</p>
        <p>In order to determine whether a cell  is a frequent destination, the Support for each cell
was calculated. The Support is the ratio between the number of trajectories that contain the
cell and the total number of trajectories. If this ratio exceeds a certain threshold, i.e. if cell 
is crossed by a certain number of diferent trajectories ( 10% value was chosen for Minimum
Support, i.e. 0.1), then the cell (containing one or more SPs) will be a frequently visited cell.</p>
        <p>Our experiments on the above said taxi dataset have shown that there are 43 cells visited by
a number of users greater than or equal to 52. I.e. we can say that in the dataset there are 43
frequently visited   cells. This means that there has been a probable meeting in that cell, as
users have remained stationary in the same time slot in the same cell. Data are updated in real
time through the agents running on smartphones as an app, therefore the Minimum Support
is fixed, however the number of frequent cells in output and the position of these frequently
visited cells will vary over time.</p>
        <p>By lowering the Minimum Support, i.e. the threshold of the minimum amount of people
sharing the same cell, the number of cells considered as having a suficient amount of people
will increase and then the number of cells considered overcrowded will increase. In order to
compute association rules only between the frequently visited cells in the dataset, we considered
the Confidence of the Market Basket Analysis for our approach.</p>
        <p>Given two cells called  and  we have that:
( ⇒ ) =
 (, )

the Support of the association rule ( ⇒ ) denotes the percentage of trajectories containing
 which contain also , where  is the total number of trajectories.</p>
        <p>Hence, confidence is an estimation of conditioned probability, which can be expressed as follows:
 ( ⇒ ) =
( ⇒ )</p>
        <p>()
 ( ⇒ ) =
( ∩ )
()
=  (|).</p>
        <p>
          In Market Basket Analysis, Confidence is the probability of purchasing item , said consequent,
given the purchase of object , said antecedent, within the same transaction. The higher the
Confidence , the greater the reliability of the ( ⇒ ) rule (more details can be found in [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]).
In our context, the value computed as the Confidence ( ⇒ ) gives the probability that a user
is in a SP in cell  moving there together with at least 10% of the total number of users, if he
has already been in cell  and dwelling in one of its SPs.
        </p>
        <p>Going forward along this procedure, we compute Confidence (,  ⇒ ) and after that
Confidence (, ,  ⇒ ), in order to determine a common path that crosses several cells
having highly visited SPs. We compute
 (,  ⇒ ) =
 (, , )
 (, )
and so on.</p>
        <p>Therefore, the results obtained are useful to predict the number of gatherings on some place.
Moreover, given that there is knowledge about an infected person on some area, our results can
be used to predict whether a user can be potentially infected (as his trajectory is estimated),
and predict who else he will infect (i.e. people whose trajectories are expected to pass through
the same areas).</p>
        <p>The Confidence limit is due to the fact that it does not consider the Support of the item on
the right side of the rule and therefore does not provide a correct evaluation in case the groups
of items are not stochastically independent.</p>
        <p>A measure that takes this eventuality into account is Lift( ⇒ ), defined as:
 ( ⇒ ) =
 ( ⇒ )
()
=</p>
        <p>( ∩ )
() * ()
Lift( ⇒ ) takes into account the importance (the Frequency) of . Using such an amount,
then we can say
• if   &gt; 1 the events are positively correlated;
• if   ≤ 1 the events are negatively correlated or independent.</p>
        <p>Therefore, Lift indicates how the occurrence of one event raises the occurrences of the
other. At this point, the setting would be a Minimum Confidence ( 0.6 i.e. 60%) to skim the
results and obtain only the association rules that had a higher Confidence and also a Support
higher than the Minimum Support (0.1 chosen), such a setting is named Strong rules. Finally,
these rules were checked with the Lift, the last column of Table 1. Then, for the Association
Rule ([2587] ⇒ [2588]) in row 6 the events of movement from cell  to cell  are negatively
correlated.</p>
        <p>The left panel in Figure 7 shows the plot of every Strong Rule obtained as a point, as a value
for its Support and Confidence (the latter according to the Support). For association rules with
higher support the Confidence, that is the probability of moving to the frequently visited cell ,
decreases. The Lift and the Confidence of the Strong Rules obtained are directly proportional,
as we can see in the right panel of Figure 7. The Pearson correlation coeficient between them
is 0.9999999999999999 and this implies an exact linear relationship.</p>
        <p>Moreover, the results tell us that the probability of transitioning from one cell with SPs to
another is high even in correspondence with the indicated flows and that diferent highly visited
cells having SPs belong to diferent flows. For each cell we have checked which taxis passed
there and which passed at a later time on other flows passing through other frequently visited
cells.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>Having an educated guess on the amount of people that will gather in some place before
planning a trip can be very useful to avoid overcrowded places and to keep with the current
regulations. We have proposed an approach for predicting the probability of people moving
to some destinations when it is known that a certain amount of people is in some other place.
We use an app that senses the position of people and sends to a server such data. Then, such
an amount is useful, together with previous statistics, to estimating the amount of people in</p>
      <p>( ⇒ )  ( ⇒ )  ( ⇒ )
( ⇒ )
1
2
3
4
5
6
7
8
9
10
11
12
13
14</p>
      <p>[1715]
[1716]
[2405]
[2541]
[2543]
[2587]
[2633]
[2634]
[2635]
[2679]
[2680]
()
another place at a later time. The experiments that we have performed on previously gathered
geographical locations have shown the viability and reliability of our approach.</p>
      <p>The more people use the app the more the approach would give a correct estimate. To make
the approach more robust, it could be extended in order to include data available online from
other services that give indications on queues, road trafic, gatherings.</p>
      <p>Future work will consider the geometry of stations, museums, etc. of some popular
destinations to compute the average distance of people given the estimated size of crowds. Moreover,
how alerts are spread will consider both the people already in some place and the people moving
towards it.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The authors acknowledge the support provided by means of a PO FSE 2014-2020 grant founded
by Regione Siciliana, and by project TEAMS–TEchniques to support the Analysis of big data in
Medicine, energy and Structures–Piano di incentivi per la ricerca di Ateneo 2020/2022.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Urban trafic modelling and prediction using large scale taxi gps traces</article-title>
          ,
          <source>in: Proceedings of of International Conference on Pervasive Computing</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>57</fpage>
          -
          <lpage>72</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -31205-
          <issue>2</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Han</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>A unifying framework of mining trajectory patterns of various temporal tightness</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>27</volume>
          (
          <year>2015</year>
          )
          <fpage>1478</fpage>
          -
          <lpage>1490</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Yuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , H. van de Wetering,
          <article-title>Visual trafic jam analysis based on trajectory data</article-title>
          ,
          <source>IEEE Transactions on Visualization and Computer Graphics</source>
          <volume>19</volume>
          (
          <year>2013</year>
          )
          <fpage>2159</fpage>
          -
          <lpage>2168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bicocchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mamei</surname>
          </string-name>
          ,
          <article-title>Investigating ride sharing opportunities through mobility data analysis</article-title>
          ,
          <source>Pervasive Mobile Computing</source>
          <volume>14</volume>
          (
          <year>2014</year>
          )
          <fpage>83</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Trasarti</surname>
          </string-name>
          , et al.,
          <article-title>Exploring real mobility data with m-atlas</article-title>
          ,
          <source>in: Proceedings of Machine Learning and Knowledge Discovery in Databases</source>
          , Springer,
          <year>2010</year>
          , pp.
          <fpage>624</fpage>
          -
          <lpage>627</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cranshaw</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Schwartz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Sadeh</surname>
          </string-name>
          ,
          <article-title>The livehoods project: Utilizing social media to understand the dynamics of a city</article-title>
          ,
          <source>in: Proceedings of AAAI Conference on Weblogs and Social Media</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Berzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gorrini</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Vizzari, Mining the social media data for a bottom-up evaluation of walkability</article-title>
          ,
          <source>in: Proceedings of International Conference on Trafic and Granular Flow</source>
          , Springer,
          <year>2017</year>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>175</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>B. P. L.</given-names>
            <surname>Lau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Hasala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. S.</given-names>
            <surname>Kadaba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Thirunavukarasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Yuen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Yuen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Nayak</surname>
          </string-name>
          ,
          <article-title>Extracting point of interest and classifying environment for low sampling crowd sensing smartphone sensor data</article-title>
          ,
          <source>in: Proceedings of IEEE Pervasive Computing and Communications</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cavallaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Verga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Tramontana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Muscato</surname>
          </string-name>
          ,
          <article-title>Eliciting cities points of interest from people movements and suggesting efective itineraries</article-title>
          , Intelligenza
          <string-name>
            <surname>Artificiale</surname>
          </string-name>
          (
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .3233/IA-190040.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K. P.</given-names>
            <surname>Sycara</surname>
          </string-name>
          ,
          <article-title>Multiagent systems</article-title>
          ,
          <source>AI</source>
          Magazine
          <volume>19</volume>
          (
          <year>1998</year>
          )
          <article-title>79</article-title>
          . URL: https://www.aaai.org/ ojs/index.php/aimagazine/article/view/1370. doi:
          <volume>10</volume>
          .1609/aimag.v19i2.
          <fpage>1370</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>W.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Norrie</surname>
          </string-name>
          , Facilitators, mediators or autonomous agents,
          <source>in: Proceedings of International Workshop on CSCW in Design</source>
          ,
          <year>1997</year>
          , pp.
          <fpage>119</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lou</surname>
          </string-name>
          ,
          <article-title>Resource management based on multi-agent technology for cloud manufacturing</article-title>
          ,
          <source>in: Proceedings of Electronics, Communications and Control (ICECC)</source>
          , IEEE,
          <year>2011</year>
          , pp.
          <fpage>2821</fpage>
          -
          <lpage>2824</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J. Z.</given-names>
            <surname>Hernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ossowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garcıa-Serrano</surname>
          </string-name>
          ,
          <article-title>Multiagent architectures for intelligent trafic management systems</article-title>
          , Transportation Research Part C: Emerging Tech.
          <volume>10</volume>
          (
          <year>2002</year>
          )
          <fpage>473</fpage>
          -
          <lpage>506</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.</given-names>
            <surname>Tramontana</surname>
          </string-name>
          ,
          <article-title>Minimising changes when refactoring applications to run multiple threads</article-title>
          ,
          <source>in: Proceedings of IEEE Asia-Pacific Software Engineering Conference (APSEC)</source>
          , Nara, Japan,
          <year>2018</year>
          , pp.
          <fpage>713</fpage>
          -
          <lpage>714</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Verga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fornaia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Calcagno</surname>
          </string-name>
          , E. Tramontana,
          <article-title>Yet another way to unknowingly gather people coordinates and its countermeasures</article-title>
          ,
          <source>in: Proceedings of Internet and Distributed Computing Systems (IDCS)</source>
          , Springer LNCS 11874,
          <string-name>
            <surname>Naples</surname>
          </string-name>
          , Italy,
          <year>2019</year>
          , pp.
          <fpage>130</fpage>
          -
          <lpage>139</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Noulas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Scellato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lathia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mascolo</surname>
          </string-name>
          ,
          <article-title>Mining user mobility features for next place prediction in location-based services</article-title>
          ,
          <source>in: Proceedings of IEEE International Conference on Data Mining</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>1038</fpage>
          -
          <lpage>1043</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cavallaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vitrià</surname>
          </string-name>
          ,
          <article-title>Corridor detection from large gps trajectories datasets</article-title>
          ,
          <source>Applied Sciences</source>
          <volume>10</volume>
          (
          <year>2020</year>
          )
          <article-title>5003</article-title>
          . doi:
          <volume>10</volume>
          .3390/app10145003.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Srikant</surname>
          </string-name>
          ,
          <article-title>Fast algorithms for mining association rules in large databases</article-title>
          ,
          <source>in: Proceedings of International Conference on Very Large Data Bases</source>
          , Morgan Kaufmann, Los Altos, CA,
          <year>1994</year>
          , pp.
          <fpage>478</fpage>
          -
          <lpage>499</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>E.</given-names>
            <surname>Tramontana</surname>
          </string-name>
          , G. Verga, Demo:
          <article-title>Get spatio-temporal flows from gps data</article-title>
          ,
          <source>in: Proceedings of IEEE International Conference on Smart Computing (SMARTCOMP)</source>
          , Taormina, Italy,
          <year>2018</year>
          , pp.
          <fpage>282</fpage>
          -
          <lpage>284</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>L.</given-names>
            <surname>Crociani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Vizzari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gorrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bandini</surname>
          </string-name>
          ,
          <article-title>Identification and Characterization of Lanes in Pedestrian Flows Through a Clustering Approach</article-title>
          , volume
          <volume>11298</volume>
          , Springer Verlag,
          <year>2018</year>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>82</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -03840-
          <issue>3</issue>
          _
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>F. de Nijs</surname>
            , G. Theocharous,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Vlassis</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. M. de Weerdt</surname>
          </string-name>
          , M. T. J.
          <string-name>
            <surname>Spaan</surname>
          </string-name>
          ,
          <article-title>Capacity-aware sequential recommendations</article-title>
          ,
          <source>in: Proceedings of International Conference on Autonomous Agents and MultiAgent Systems (AAMAS)</source>
          ,
          <year>2018</year>
          , p.
          <fpage>416</fpage>
          -
          <lpage>424</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          ,
          <source>Intelligent agents and multi-agent systems I, Applied artificial intelligence 9</source>
          (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>P.</given-names>
            <surname>Melville</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Sindhwani</surname>
          </string-name>
          ,
          <article-title>Recommender systems</article-title>
          .,
          <source>Encyclopedia of machine learning 1</source>
          (
          <year>2010</year>
          )
          <fpage>829</fpage>
          -
          <lpage>838</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Piorkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Sarafijanovic-Djukic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Grossglauser</surname>
          </string-name>
          , CRAWDAD dataset epfl/mobility (v.
          <year>2009</year>
          -
          <volume>02</volume>
          -24),
          <year>2009</year>
          . doi:
          <volume>10</volume>
          .15783/C7J010.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cavallaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Verga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Tramontana</surname>
          </string-name>
          ,
          <string-name>
            <surname>O.</surname>
          </string-name>
          <article-title>Muscato, Multi-agent architecture for point of interest detection and recommendation</article-title>
          .,
          <source>in: Proceedings of Workshop</source>
          from Objects to Agents (WOA), Parma, Italy,
          <year>2019</year>
          , pp.
          <fpage>98</fpage>
          -
          <lpage>104</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>J.</given-names>
            <surname>Han</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kamber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Pei</surname>
          </string-name>
          ,
          <source>Data Mining: Concepts and Techniques</source>
          , 3rd ed., Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>