ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
iRun
Yannan Zheng
Here is the problem
Sometimes, I want to take a run from Lab to Home
Here is the problem
Sometimes, I want to take a run from Lab to Home
But I want to run different miles on different days
Here is the problem
Sometimes, I want to take a run from Lab to Home
But I want to run different miles on different days
I want to run different routes on different days
Here is the problem
Sometimes, I want to take a run from Lab to Home
But I want to run different miles on different days
I want to run different routes on different days
How to find routes with targeted distances?
Building a graph of Cambridge and Boston
Data Clean Up 0: Original Map
Data Clean Up I: Remove un-runnable area
Data Clean Up II: Remove isolated islands
Data Clean Up III: Remove spikes
Data Clean Up IV: Combine parallel roads
Data Clean Up IV: remove redundant nodes
After Data Clean Up
? 103,365 Nodes, 225,766 edges
reduced to
17,480 Nodes and 49,354 edges
~ 5-fold reduction
5min->30s for path search
Path Finding Algorithm:
My home
My Lab
Starting Address: my Home
Starting Address: my Lab
Desired Distance: 3km
Path Finding Algorithm:
Dijkstra¡¯s Algorithm finding one shortest path
My home
My Lab
Shortest Path Length 1131m
Score
? Penalize difference in desired distance and actual distance
? Penalize turns / loops / zigzags
? Penalize repetitive route
Path Finding Algorithm:
Monte Carlo Heuristic perturbation of route
penalty score = 4.99
path length = 1131m
My home
My Lab
Path Finding Algorithm: Monte Carlo
accept improvements
penalty score = 2.95
path length = 1875m
My home
My Lab
Path Finding Algorithm: Monte Carlo
only accept deterioration with low probability
penalty score = 39.32
path length = 8064m
My home
My Lab
Path Finding Algorithm: Monte Carlo
best route after 1000 iterations
penalty score = 0.495
path length = 2985m
My home
My Lab
Path Finding Algorithm: Monte Carlo
best route after another 1000 iterations
penalty score = 0.251
path length = 3202m
My home
My Lab
Summary
? Build a route recommendation system for runners
? Recommend different routes for given running distances
? Customized running score
? Can be easily generalized for other purposes
log(protein2)
log(protein1)
About Me
log(protein2)
log(protein1)
About Me
log(protein2)
log(protein1)
About Me

More Related Content

I runfinalversion