On Feb 10, 4:39 am, William Lachance <
wrl...@gmail.com> wrote:
> Doesn't astar (
http://en.wikipedia.org/wiki/A*_search_algorithm) make
> more sense in the case of a transit network, where some vertices
> should just plain never be visited? For example, if you're travelling
> from Brooklyn to the Upper West Side, it probably doesn't make sense
> to go into Queens.
I was involved in trip planner development early on in my career. A
few experiences here:
If brute force is an option, do it. When results do not match
expectations and assuming the algorithm for finding solutions in the
problem space is correct, you know you need to work on the data. Brute
force isn't an option in many cases though (nature of the problem), so
things get tricky now.
Enter heuristics and you are confronted with an additional layer of
complexity. In particular if the heuristics are not supported by the
data model and reliable data behind it. My favorite metaphor here,
it's winter after all: It's like a blanket that's too short. Pull it
over the nose and the toes get cold. Cover the toes, and you get a
cold nose. You might have success to develop a blanket that somewhat
fits New York, but take it to another transit system, and you will
likely be out of luck.
Looking at the data models of scheduling systems, or better, the model
behind data exports (or GTFS for that matter), it looks pretty hard to
find aspects of the data models that could support effective
heuristics. Adding supporting data to complement the transit data is
hard. Try too much, and the effort to populate and maintain the data
model may be way too involved. You're also fighting the inner platform
effect. Try too little, and your effort may not be effective.