ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
iRun
Yannan Zheng
Ph.D. candidate, MIT
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?
Yannan_iRun_082714
Yannan_iRun_082714
Building a graph of Cambridge and Boston
Data Clean Up: Original Map
Data Clean Up: Remove un-runnable area
Data Clean Up: Remove isolated islands
Data Clean Up: Remove spikes
Data Clean Up: Combine parallel roads
Data Clean Up: Remove redundant nodes
Original Map
After Data Clean Up
103,365 nodes, and 225,766 edges
17,480 nodes, and 49,354 edges
5min 30s for path search
~ 5-fold reduction
Path Finding Algorithm:
My home
My Lab
Starting Address: my Lab
Starting Address: my Home
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
Thank You!

More Related Content

Yannan_iRun_082714