ED_LRR/docs/src/ed-lrr.md

2.7 KiB

title author subtitle toc lang colorlinks papersize numbersections panflute-filters panflute-path titlepage toc-own-page
ED_LRR
Daniel Seiller <earthnuker@gmail.com>
Elite Dangerous: Long-Range Router true en true a4 true
multifilter
filters true false

\pagebreak

Implementation

stars.csv format

Columns

Name Content
id unique ID-Number (not equal to id or id64, just a sequential number)
star_type Type of Star
system Name of System
body Name of Star
mult Jump Range Multiplier (1.5 for White Dwarfs, 4.0 for Neutron Stars)
distance Distance from arrival in Ls
x,y,z Position in Galactic Coordinates with Sol at (0,0,0)

stars.idx format

bincode serialized data:

  • [u64]: List of byte offset for records (entry 0=first recod, entry 1= second record, etc)

Routing Algorithms

Breadth-First Search (BFS)

Standard Breadth-First Search, always finds the shortest route

Modified A*-Search with adjustable "greediness". Priority Queue weighted by \text{number of jumps from start system} + (\text{estimated number of jumps to target system} * \text{greediness})

A greediness of 0 is equivalent to BFS and a greediness of \infty is equivalent to Greedy-Search

Priority Queue weighted by minimum distance to target, prefers systems with high multiplier (Neutron Stars and White Dwarfs)

Optimizations

Ellipse elimination

Only consider systems within an ellipsoid with source and destination as the foci, the width of the ellipsoid is adjustable

Routing Graphs

File format

bincode serialized data:

  • bool primary: flag to indicate that graph only includes primary stars
  • f32 range: jump range for routing graph
  • [u8] file_hash: sha3 hash of stars.csv from which graph was generated
  • String path: path to stars.csv from which graph was generated
  • FnvHashMap graph: Hashmap mapping systems to the systems from which they can be rached, traversed from destination system backwards to source to reconstruct route

Usage

Preprocessing Data

Plotting a Route

Changelog