Lindley
December 12th, 2007, 12:20 AM
I'm trying to figure out the Fast Marching Method. Two things have become apparent:
1) I need a data structure which is a heap according to one key (arrival time), has an increase_key function, and is indexable by position as well. I have yet to find anything ideal, although I think I can approximate the behavior using an STL multiset without asymptotically worsening the runtime. It would require using equal_range to search on an existing key, and then walking through the possibilities to find the proper (x,y) entry to update. The actual update would need to be an erase/re-insert......why couldn't STL just give their heap algorithm an increase_key method?
2) I need to understand the update rule. I've been looking at:
http://sepwww.stanford.edu/public/docs/sep95/tariq5/paper_html/node3.html
But it's not clear to me how the two dimensions interact; and I can't make out the symbol under "delta s" in two of the key equations there, anyway. (Why not make the darn things big enough to read?)
1) I need a data structure which is a heap according to one key (arrival time), has an increase_key function, and is indexable by position as well. I have yet to find anything ideal, although I think I can approximate the behavior using an STL multiset without asymptotically worsening the runtime. It would require using equal_range to search on an existing key, and then walking through the possibilities to find the proper (x,y) entry to update. The actual update would need to be an erase/re-insert......why couldn't STL just give their heap algorithm an increase_key method?
2) I need to understand the update rule. I've been looking at:
http://sepwww.stanford.edu/public/docs/sep95/tariq5/paper_html/node3.html
But it's not clear to me how the two dimensions interact; and I can't make out the symbol under "delta s" in two of the key equations there, anyway. (Why not make the darn things big enough to read?)