Towards Interstellar Exploration
Related Products And Services
Cosmic Cat - A cosmic, free game
Sports info and betting
Independent funding for a free lifestyle
The use of artificial neural networks could, as opposed to classical algorithm programming, solve a number of simulation problems without coding extensive conditionals.
Aside from constructing hardware modules, my work around Nerkabtu involves a lot of programming on a day-to-day basis. Developing this flight simulator cockpit goes well beyond achieving a good representation of a real cockpit, and has a significant software-development side: I have been working for a time now on a navigation system that would enable me to toy with hyperspace theory as described by Riemann, Kaluza and Klein using the ideas of people like Alcubierre and Krasnikov. In other words, I want to be able to simulate interstellar travel with FTL characteristics. No magic carpet. Indeed, this is something still speculative but from speculation useful things could emerge. I don't pretend to see this problem using the eyes of an astrophysicist but as a systems analyst and aviator. In other words, assuming that it would be possible to get exotic energy in the amounts needed according to present-day theories, how would one actually pilot such a spaceship.
As of today, this navigation system is partially ready: I can produce the data required by the simulator in order to start a (theoretical) hyperspace jump to any deep space object, including all catalogued galaxies, globulars and nebulae. This means that all the basics are now in place and from this on I plan to develop the modules required to make similar calculations in order to define jumps to star systems and its components, such as planets and moons.
However, one of the things that I saw is that such a navigation system should provide some safety measures to prevent undesired effects like the production of temporal paradoxes. Moreover: it is likely that as time passes and more is known about hyperspace jumps, more safety barriers should be put in place. Plus, as a pilot I would like to have a system presented with a metaphor similar to an auto pilot of the kind found in modern aircraft, with specific, pre-programmed modes accessible by the touch of a button (such as NAV, HDG and so on) in addition to a "command-prompt", fully configurable mode. It could be the case that you want to jump out of hyperspace at standard positions such as a GEO orbit, a Lagrangian point, etc. and that would depend on certain relations obtained from - of course -, nifty formulae, but also from the known characteristics of the intended target. In other words, a stationary orbit around a star would not have the same radius and other properties as the same kind of orbit around Earth.
At this point it is relatively easy to see two things: first, that jumps would depend on significant amounts of data, and second, that the way in which that data is interpreted would eventually change over time, as more is known about the issue, like it happened as the first men flew and didn't know about certain flight conditions such as those conductive to stalls. As more became known, pilots learned that certain things had to be done in certain ways, which were sometimes differed from what they were accustomed to do. Done in a traditional way, such a navigation system would have to be recoded and upgraded every time that such factors acquire a different significance, and that would lead to the need of rewriting conditional sentences that are pretty extensive. Thus, the use of artificial neural networks, with a certain ability to learn, generalise and hopefully, evolve and reconfigure themselves, would make in principle, more sense.
I have been evaluating many different ANN libraries for a couple of months now, but almost all suffer from two limitations that are significant for my project: they don't offer data persistence or they store data in flat files and not in a true database. This means that I should either modify one of those libraries or produce my own in order to get data persistence and database storage. In this way I found Ondra Zizka's SQL ANN implementation, which offers persistence and database storage, unlike most C++ libraries. After trying this implementation, however, I found one or two bugs that would need correction, plus a number of limitations mostly related to the fact that SQL is a database access language, and not so good as C++ at dealing with strings and numbers. Thus, confronted with the need of adapting Zizka's SQL scripts, I decided to take his basic idea but create my own C++ library dealing with ANNs, but able to store everything in SQL files instead of flat ones. I am currently designing the database files required, which will not be quite different from Zizka's. I expect that the functions, objects, etc. would not be too different either, but implemented in C++.
Related Web Pages
Reprint and linking guidelines