I've just had an idea for a new way of codifying reasonable routes. It would involve a radical paring down of the Routeing Guide to a series of a few, simple, suggested routes between routeing points. Let's call this the 'GBR/RDG (delete as favoured) book of routes'. But don't worry, passenger rights won't be too affected by this as there will be some computationally provable operating principles to accompany these suggested routes which will create additional, provable and falsifiable routes.
Here we go:
There will be a simpler map system and a smaller number of journey possibilities. However any journey which is shorter than the longest suggested route without recourse to doubling back (save for perhaps group stations) will automatically be permitted. In order the protect passenger interests, the longest current permitted routes will be included within the suggested routes book. This may well take some hefty initial computation, but will only need to be done once. Once this is done, the booking engine has merely to identify whether a route is:
This should be relatively straightforward, as it's simply a case of adding up the track mileage as per the electronic National Rail Timetable and checking things don't doubleback. Any complexity would come from determining which routes to try in the first place, for which a computation could be run every so often and the results cached or heuristics deployed. It doesn't have to think of every single route, maybe just the ones the passenger would probably like to take (remember, we already have a few suggested routes to start with). IF the passenger wants to specify 'via' or 'avoid' points to create a permitted route, this narrows down the calculations and a more nuanced approach can be taken, given that rotues can be invalidated if they violate my two principles.
The advantages of this are that it would need a lot less maintenance from the RDG and would help passengers wanting to take a perfectly reasonable route that nobody has yet to think of at RDG towers.
Thoughts anyone? This would allow reasonable routes to be codified as 'any route more reasonable than those already suggested'. But it comes with the caveat that I almost failed decision mathematics at A level and may be a bit harder than I'm imagining to code/implement!
Here we go:
There will be a simpler map system and a smaller number of journey possibilities. However any journey which is shorter than the longest suggested route without recourse to doubling back (save for perhaps group stations) will automatically be permitted. In order the protect passenger interests, the longest current permitted routes will be included within the suggested routes book. This may well take some hefty initial computation, but will only need to be done once. Once this is done, the booking engine has merely to identify whether a route is:
- Shorter than this longest route
- Free of any doublebacks, unless within a permitted doubleback zone/group station area.
This should be relatively straightforward, as it's simply a case of adding up the track mileage as per the electronic National Rail Timetable and checking things don't doubleback. Any complexity would come from determining which routes to try in the first place, for which a computation could be run every so often and the results cached or heuristics deployed. It doesn't have to think of every single route, maybe just the ones the passenger would probably like to take (remember, we already have a few suggested routes to start with). IF the passenger wants to specify 'via' or 'avoid' points to create a permitted route, this narrows down the calculations and a more nuanced approach can be taken, given that rotues can be invalidated if they violate my two principles.
The advantages of this are that it would need a lot less maintenance from the RDG and would help passengers wanting to take a perfectly reasonable route that nobody has yet to think of at RDG towers.
Thoughts anyone? This would allow reasonable routes to be codified as 'any route more reasonable than those already suggested'. But it comes with the caveat that I almost failed decision mathematics at A level and may be a bit harder than I'm imagining to code/implement!