Artificial Intelligence Aided Recommendation Based Mobile Trip

Artificial Intelligence Aided Recommendation Based
Mobile Trip Planner For Eskisehir City
Ahmet Aydin, Sedat Telceken
Department of Computer Engineering
Anadolu University
Eskisehir, Türkiye
{ahmetaydin, stelceken}@anadolu.edu.tr
Abstract— Recent years have seen a proliferation of
applications aimed for the mobile users. Although there are some
mobile trip planning applications available for big cities such
Istanbul, they lack some important features that would be
necessary for the best trip quality. This study proposes a new
mobile trip planner for real-time navigation developed for
Eskisehir city, Turkey (30 points of interests and more than 150
sub places). Given the current GPS location of the traveler and
their preferences, the mobile trip planner allows finding a route
which minimizes the total travelling time while optimizing the
visiting time for each point of interest. The proposed application
also gives some recommendations to the travelers which helps
them to re-plan their route interactively. The details of the route
computation algorithms and their test results are discussed and
evaluated.
Keywords—A*; Ant Colony Optimization; Mobile Application;
Trip Planner.
I. INTRODUCTION
Nowadays, in a vacation or business trip, people who want
to travel a city plan their trip either on web sites or mobile
applications. With the increase on smart phone usage and the
convenience of a mobile device for this kind of application, a
demand has been revealed on mobile application markets.
There are several trip planning applications on the market and
they are useful and have rich content for popular cities. For
other cities, most applications have poor or user-based,
unreliable content. An application that uses a database with
reliable and rich content that provided by local authorities like
municipality and provincial directorate of tourism, can solve
this problem.
In this paper, designing database and collecting data stages
have been explained in Section II. The application’s lifecycle
and features have been described in Section III. Problem
description and algorithms that produce routes have been
examined in Section IV. In Section V, Artificial Intelligence
based features of the application have been introduced. In
Section VI, behavior of the application for different scenarios
and results have been displayed and explained.
II. DESIGNING DATABASE AND COLLECTING DATA
A. Designing Database
The reliability and performance of the application depends
on a well-designed database. The data must be categorized into
meaningful tables and keys and relations must be defined.
Tables must be detailed to contain rich content.
B. Collecting and Categorizing Data
There are two types of data that the application uses: data
that collected from users and reliable data that provided by
local authorities. Eskisehir Provincial Directorate of Culture
and Tourism and Eskisehir Metropolitan Municipality
provided large amunt of data of visiting places that contains
high resolution photographs, informative presentation and
GPS coordinates [12, 13]. This data must be categorized to
make it meaningful and easier to reach. Detailed information
like open hours of a place, average visiting time, ideal hours to
visit etc. can help the application to make more accurate plans.
The application tracks user’s previous trips and actions. Thus,
it can make reasonable suggestions. Also user’s comments and
ratings about places may inform other users.
A preliminary work is designing more than 30 points of
interest (POI) and 150+ sub POI’s located inside the parent
POI’s grouped by the popularity and content for Eskisehir
city. These main POI’s are categorized in core class, like:
Architecture, Art, Entertainment, Museum, Nature, Popular,
etc.
For a mobile application, there are several attributes to be
practical. It has to be dynamic, user-interacted, capable of
responding quickly, well designed etc. For a trip planning
application, route must be calculated quickly for chosen
visiting places and changeable. It should recommend places
according to user’s choices and other user’s ratings. It should
track user’s trip and make reasonable suggestions. Also it
should have detailed information to make accurate plans.
III. LIFECYCLE AND FEATURES OF THE APPLICATION
Some GPS oriented transportation applications have been
proposed in the literature [1, 2]. Decision support software was
introduced for the urban freight transportation which could
significantly improve the performance [3]. Multi-objective
shortest path problems are examined in [4-11]. In the literature,
there is no
algorithm that uses search algorithm and
recommendation system simultaneously.
The lifecycle of the application can be described with a
scenario. User travels to Eskisehir for two days and wants a
cultural trip. He chooses start and end dates then places by
chosen category list on the page with descriptions and ratings.
After this operation, the application makes a plan considering
open hours, ideal hours to visit and average time to visit and
transportation time. Then separates places to days and returns
user with routes by days. In the process of making route, the
application should run an algorithm to sort places and that
algorithm must make the calculations as fast as possible.
Because user might want to change plan during the trip and
routes must be prepared quickly. When user starts the trip, the
application starts tracking him and make suggestions like
adding or removing places according to user if he is ahead or
behind the schedule. During the trip, the application scans
places like coffee houses, restaurants with good ratings in a
certain radius and presents recommendations to user. The
application displays routes on map and leads user to next place.
If user visits a complex place with multiple sub-places, the
application encourages user to make a sub-route. After visiting
places, user can rate places and write comments about them.
IV. ROUTE PLANNING ALGORITHMS
Finding the shortest route is a problem that very similar to
Travelling Salesman Problem (TSP). TSP is the problem of a
salesman who wants to visit all cities in a data set starting from
a certain point and finishes his tour at that point. The tour must
be completed with minimum cost [14]. Solution algorithms that
can be applied to TSP can also be applied to the application’s
route problem with several modifications. TSP is an NP-Hard
problem that is increase of amount of cities in the data set
affects solution time exponentially if all possible routes are
tested [15]. Thus, with large amount of data, the solution time
might take years. To avoid this, there are heuristic algorithms
that gives optimum results in reasonable solution time.
A. Problem Description
A directed graph
,
representing the route, with
POI’s set P and arc set A, is given. Three criteria are defined on
the arcs: travel time and travel cost and travel type. Each POI
includes visiting time (v), visit duration (d) and count of sub
POI (c). This identifications are used in a triplet , , . For
indicates the travel time,
each arc , ,
indicates the travel cost and
the travel type. These arc
values can change during the time, we consider a discretization
of the day in 5 time slots. Therefore each criterion can be
considered constant on each time slot. On the graph G, a set
of route is also defined, where each , , in
denotes that the arc , cannot be traveled after arc , .
A traveler
who uses mobile application identified by
the triplet , , , given his current GPS position at the
instant time and its route . We proposed for solving that
search problem A* Algorithm and Ant Colony Optimization
which is detailed below.
B. A* Algorithm
A* Algorithm is developed by Hart, Nilsson and Raphael in
1968 [16]. It guarantees to find the optimum route from start
point to end point if there is route. It is usually used for
network routing, finding shortest path for games etc. [17, 18].
It chooses the next point by current cost from starting point and
heuristic distance to ending point.
(1)
Basically, it calculates the heuristic function f(n) (1) for each
point. In this formula (1), g(n) represents the cost from starting
point to point n and h(n) represents the heuristic distance from
point n to end point. According to calculated f(n) values, points
are stored in an ordered stack. The algorithm calculates the
route by selecting points from stack by order and checks the
route if it is optimum. It stops when the next point in the stack
is end point.
C. Ant Colony Optimization
Ant Colony Optimization was presented as a PhD Thesis
by Marco Dorigo in 1992 [19]. It is usually used for vehicle
routing, data mining etc. [20, 21]. It is based on ants’ path
finding to their nest. While ants carrying food from food source
to their nest, they choose random paths and leaves pheromones
on the road. These pheromone are volatile. Thus, it is more
intense on shorter paths. Other ants prefers the road with more
pheromones but not always. Some ants prefers new roads to
seek shorter paths. By time the shortest paths will be preferred
by ants and total shortest path reveals.
V. ARTIFICIAL INTELLIGENCE AIDED
RECOMMENDATIONS OF THE APPLICATION AND
SUB-PLANNING
A. Producing Recommendations
A regular trip planning application calculates a route by
user’s choices and finishes its job. But usually, user does not
follow the schedule precisely. Visiting durations or
transportation time or extra points might change the schedule.
The application must follow these changes and can produce
alternative routes by user’s choices. Application must have an
option for producing recommendations or run regularly. When
user starts the trip with his choices by his interests, the
application tracks him by GPS coordinates. It checks if he is on
schedule or not. If he is ahead the schedule, the application
recommends new places to add to trip. In this situation, the
application scans an area with a certain radius for user’s
interests that he chose at the beginning. According to user
rates, places are recommended to the user. If he is behind the
schedule, the application suggests user to reorganize the trip.
When the schedule changes, the route must change also. At
certain time intervals, the application recommends places to
rest like cafes and restaurants. If user prefers to visit these
recommendations and after these changes he is behind the
schedule, user needs to decide to extend the schedule or
remove some places. In a scenario with user chooses 5 POI’s
like in Fig. 1, the application calculates the total time needed
for trip and recommend places periodically.
Fig. 1. Start-up Scenario
During the trip in Fig. 1, the application should recommend
a café or restaurant with high rates between
and
.
The application recommends several places and user chooses a
restaurant called “Papagan Restaurant”. Then new route is
calculated in Fig. 2.
Fig. 2. Scenario after chosen recommendation
This feature provides user a detailed tour. In Fig. 4, user
visits a park called Sazova and in the park there are several
places to visit like Castle, Pirate Ship, Zoo etc.. While making
the plan at the beginning, user chooses the park but when he
visits, sub-places need to be introduced to user. Then informed
user can make choice of sub-places and make a sub-plan as
distinct from the main plan.
VI. RECOMMENDATION COST
, the time that user decided for trip is not
After new
enough for the schedule and user decided not to extend the
time. Then the application checks POI’s from
to
for transportation and visiting times if time is enough after
removing a POI. Then it suggests several alternative schedules
and user chooses one. Then new route is calculated in Fig. 3.
The application tracks the user during whole his trip and
offer suggestions at certain times and on certain situations if
user selects the recommendation option at the beginning of the
trip. According to total time t and free time of user’s schedule
amount of recommendation might change dynamically. For
example for a 9-10 hour trip schedule, user needs to rest at a
café and have lunch at a restaurant but for a 3-4 hour trip
schedule, a short stop for a café on the road might be enough.
Each recommendation might change rest of the schedule and
route dynamically. For changes in route calculations must be
made and each calculation has a cost. There are two scenarios
and results for each scenario if user chooses to add
recommended places to tour and change trip by alternatives.
TABLE I. POIS AND GPS COORDINATES FOR TEST
POIs
Fig. 3. Recalculated route after delaying
B. Sub-planning
Another feature of the application is, when user visits a
complex place with sub-places, the application makes user to
plan a new trip inside the complex place. For example,
(Fig. 1) has sub-places. When user visits
, sub-places are
being listed and user chooses of them. Then a new route
calculated inside
like in Fig. 4.
Fig. 4. Sub-route in a complex place
.
GPS Coordinates
39.765505, 30.471746
39.781275, 30.513441
39.771555, 30.516892
39.765234, 30.521856
39.774921, 30.549236
39.776077, 30.515681
39.765720, 30.513063
39.781222, 30.526839
39.757967, 30.531173
39.772172, 30.520269
39.775023, 30.518881
39.771243, 30.529220
In Scenario 1, user plans a trip with first 5 places in Table
I. Between
and
, the application offers a
recommended place
. If user adds this place to trip,
the application produces two alternative plans for the rest of
the trip. Alternative 1 is
,
,
,
and
,
,
,
,
.
Alternative 2 is
In Scenario 2, user plans a trip with 10 places
,
,
,
,
,
,
,
,
,
in order. Between
and
, the application offers
a recommended place
and between
and
,
another recommended place
. According to user’s
choices, the application produces two alternative plans.
Alternative 3 is
,
,
,
,
,
,
,
,
and Alternative 4 is
,
,
,
,
,
,
,
,
,
,
.
TABLE II. RESULTS FOR ALTERNATIVE PLANS
..
Recom.
5
5
5
10
10
10
N
Y (Alt. 1)
Y (Alt. 2)
N
Y (Alt. 3)
Y (Alt. 4)
5
4
5
10
9
10
Total
Travel
Time
(min.)
Total
Dist.
(Km.
)
Total
Visit
Duration
26
31
23
47
48
50
12.4
14.0
10.3
19.7
19.1
20.0
6h 30m
5h 50m
6h
11h 20m
10h 10m
10h 30m
Alg. Running
Time (ms.)
A*
1
1
1
2
1
2
ACO
2
2
2
16
15
17
In Table II, results according to different scenarios have
been shown. ∑
, is represented by Total Travel
Time. POI numbers are changed after recommendations in
two alternative plans. For alternative plans, new routes are
calculated and Total Travel Time, Total Distance and Total
Visit Duration are affected. Total Visit Duration is calculated
by sum of the visit duration of POIs that is stored in database.
Comparison of A* Algorithm and Ant Colony Optimization
reveals that A* Algorithm runs %50-90 faster. Alternative
routes are calculated dynamically and results must be
displayed to user immediately. A* Algorithm provides less
time consuming and reasonable accuracy and these two
features are essential for the application. Pseudo code that
explains the lifecycle of the application is written Fig. 5.
Fig. 5. Pseudo code of the application’s lifecycle
calculate(G(P,A));
while(POI in P)
visit(POI);
if(POI has sub-POIs)
P=sub-POIs;
calculate(G(P,A));
endif
scanArea(radius);
if(recommendation)
produceAlternatives;
recalculate(G(P,A));
endif
endwhile
scenarios divided into normal route selection, artificial
intelligence aided recommendation and sub-planning. Their
test results showed that A* algorithm gives the best results
rather than Ant Colony Optimization in terms of running time.
Additionally artificial intelligence aided application presents
the user with alternative suggestions during the trip, which
help increase the total quality of the trip experience.
Proposed application also gives the sub point of interests
under the planned route. This will help the user not to skip
important popular places inside a park, museum or historical
area etc. Sub-planning provides the user to finish that point in
minimum amount time.
Experimental results show that A* algorithm calculates the
complete route %50-90 faster than Ant Colony Organization
under the same scenarios. Overall, the mobile trip planner can
assist travelers to optimally design their travel routes online
before the trip begins.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
VII. SUMMARY AND CONCLUSIONS
In this study we proposed a recommendation based mobile
trip planner that assists travelers and would be travelers in
finding routes that fit their personal preferences. Using the
user-friendly Google Maps interface, the mobile application
allows users to choose categorized places. After that
preference application calculates the best route in specified
time interval. At present, A* and Ant Colony Optimization
algorithms are chosen for computation of the best routes.
These algorithms are examined for different scenarios. These
[10]
[11]
[12]
[13]
[14]
Crainic, T. G., Ricciardi, N., & Storchi, G., “Advanced freight
transportation systems for congested urban areas”, Transportation
Research, Part C: Emerging Technologies, 12(2), 119-137, 2004.
Taniguchi, E., Thompson, R. G., Yamada, T., & Van Duin, R., “City
Logistics. Network modelling and intelligent transport systems”,
Amsterdam : Pergamon, 2001.
Crainic, T. G., Gendreau, M., & Potvin, J. Y., “Intelligent freighttransportation systems: Assessment and the contribution of operations
research”, Transportation Research Part C: Emerging Technologies,
17(6), 541-557, 2009.
Azevedo, J.A., & Martins, E.Q.V., “An algorithm for the multiobjective
shortest path problem on acyclic networks”, Investigação Operacional,
11 (1), 52–69, 1991.
Clímaco, J.C.N., & Martins, E.Q.V., “On the determination of the
nondominated paths in a multiobjective network problem”, Methods in
Operations Research 40, 255–258, 1981.
Corley, H.W., & Moon, I.D., “Shortest paths in networks with vector
weights”, Journal of Optimization Theory and Applications 46, 79–86,
1985.
Tung, C.T., Chew, K.L., “A multicriteria Pareto-optimal path
algorithm”, European Journal of Operational Research 62, 203–209,
1992.
Luè, A., Ciccarelli, D., Colorni, A., “A GIS-Based Multi-Objective
Travel Planner for Hazardous Material Transport in the Urban Area of
Milan.. In: Bersani, C., Boulmakoul, A., Garbolino, E., & Sacile, R.
(Eds)”, Advanced Technologies and Methodologies for Risk
Management in the Global Transport of Dangerous Goods, 45, IOS
Press, 2008.
Luè, A., Colorni, A., “A multicriteria spatial decision support system for
hazardous material transport In: R. Bisdorff, R, Dias, L., Meyer, P.,
Mousseau, V., & Pirlot, M. (Eds)”, Evaluation and Decision Models
with Multiple Criteria: Case studies, Springer-Verlag, Berlin, 2015.
Sastry, V.N., Janakiraman, T.N., Mohideen, S.I., “New algorithms for
multi objective shortest path problem”, Opsearch 40, 278–298, 2003.
Sastry, V.N., Janakiraman, T.N., Mohideen, S.I., “New polynomial time
algorithms to compute a set of Pareto optimal paths for multiobjective
shortest path problems”, International Journal of Computer
Mathematics 82, 289–300, 2005.
http://www.eskisehirkulturturizm.gov.tr/ Last Visited : 12.12.2014
http://www.eskisehir-bld.gov.tr/ebb.php Last Visited: 12.12.2014
Russell, S., Norvig, P., “A modern approach. Artificial Intelligence”,
Prentice-Hall, pp. 69, 1995.
[15] Karp, R. M., “Reducibility Among Combinatorial Problems”,
Complexity of Computer Computations, New York, Plenum, pp. 85-103.
[16] Hart, P. E., Nilsson, N. J., Raphael B., "A formal basis for the heuristic
determination of minimum cost paths", Systems Science and
Cybernetics, IEEE Transactions on 4.2, pp. 100-107, 1968.
[17] Cui, X., & Shi, H., “A*-based pathfinding in modern computer
games”.International Journal of Computer Science and Network
Security, 11(1), 125-130,2011.
[18] Wang, J. Y., Lin, Y. B., “Game AI: Simulating Car Racing Game by
Applying Pathfinding Algorithms. International Journal of Machine
Learning and Computing”, 2(1).
[19] Dorigo M., “Optimization, Learning and Natural Algorithms”, PhD
thesis, Politecnico di Milano, Italy, 1992.
[20] Gambardella, L. M., Taillard, É., Agazzi, G., “Macs-vrptw: A multiple
colony system for vehicle routing problems with time windows. In New
ideas in optimization”,1999.
[21] Parpinelli, R. S., Lopes, H. S., Freitas, A. A. “Data mining with an ant
colony optimization algorithm”. Evolutionary Computation, IEEE
Transactions on, 6(4), pp.321-332,2002.