I was riding the bus into work the other day when I realized that bus route calculations are kind of like the maze problem, only harder. Imagine that you live in a city (e.g. Seattle) and that you use buses to get everywhere and you want to be able to calculate the most efficient routes from any address to any other address. As data sets, you have all the bus timetables and their route maps, plus the input of starting time or finishing time, starting address, and ending address. Build an application that will show you the bus routes and schedules and overlay them onto a map.
This is a real app, by the way, only the Seattle one just gives you text as output.
I was thinking through this problem the other day and realized just how complicated it could be.