Experimental Software
Nuclear Physics
- For this project I used codes for
distorted Born waves for spin +1/0/-1 particle reactions, tuned
using DOE optical parameter model database, and a genetic algorithm
energy sequencing optimizer to maximize nuclear reaction yields of
desirable nuclides and minimize undesirable nuclide species.
Quite a bit of SQL database work to stage model data and parameter
sweep spaces, and not a little hitting of nuclear physics textbooks
before I got this one coming out right. First tackled in 1994,
I shelved the project for a dozen years until I was able to tackle
the physics and apply it properly in 2007. A patent draft has
been written and reviewed by a retired USPTO examiner.
Self-Programmed Predictive
Neural Network AI Engine Models
- This project is ongoing in 2009
and I am trying some exciting techniques to predict data-driven
system states that are many-to-one, and somewhat less many-to-many.
This project also uses genetic algorithm techniques to optimize
neural network performance behaviors in entire classes of problem
solvers, not just single-shot applications.
Source
Code / VC++ Project Downloads
You can download my code projects
as-is, though I may not support them. Min VC++ version required to read
project files is given in [brackets].
Note: some projects have license agreements you
must agree to abide by in order to download them. Please email me with
why you want the code and I'll send a download link.
Distributed Computing Grids
- Core Continuum 1.0 distributed
computing server, client and SDK framework for application code and
data distribution and versioning,
control, execution, inter-node messaging, and much more [7.0]
Internet
- CLEAN and SIMPLE yet fully
featured X.509 secure sockets
layer (SSL) server and SSL client (HTTPS)
implementations using OpenSSL (SSLeay+) [7.0]
- batch reverse IP
address lookup using WHOIS queries for address
details [6.0]
- tracert-like
console app, lists router hops, latencies at each
hop in ms, etc. [7.0]
- HTTP file
download/retrieval example using wininet.dll
[6.0]
- HTTP file
download/retrieval example using sockets [7.0]
- RPC server and RPC
client implementation projects [6.0]
Database
- MS SQL Server
custom stored procedure DLL example [7.0]
- MS SQL Server custom stored
procedure DLL for FTP [7.0]
- MS SQL Server custom stored
procedure DLL for base-64 encoding [7.0]
- Simple ODBC class
without MFC CRecordset example [7.0]
Grab bag
- Lempel-Ziv
variable-length file data compression &
decompression [7.0]
- GNU Chess 4.0 [7.0]
- a fun source code
puzzle for programmers [6.0]
- Windows 98/ME VXD
thread CPU time in ms example [6.0 + Win98 DDK]
- Kanerva sparse
distributed memory implementation (AI memory)
[6.0]
- 26-element stock
data batch Internet retrieval (SQL-loadable text)
[7.0]
"Darwin
Engines" - self-programming software development
systems
- Also called
evolution algorithms, the two key questions for
this technology are:
- (a) How long would such an
evolutionary system need to run before it begins to exhibit a
distinct observable change in its organizational phase? How would we
recognize such a change in phase within an autonomous,
self-organized computing network?
- (b) What is the right atomicity of opaque execution and data?
Atomicity
maps an execution thread instance onto
self-selected and organized binary code
instructions and binary data. Genetic solutions are a natural
Darwinian theater in which to drive a selected
population of vectors - some code, some data,
where their various I/O costs, bandwidths &
latencies (RAM, disk, network, etc.) are
optimized by competitive selection, however there are two
fundamental problems to overcome, (i) selection of meaningful
fitness functions, and (ii) the sparseness and 'brittleness' of the
binary solution space.
- Question (b) has an enormous
impact upon the answer to question (a). For example, if we designed
a self-evolving system using binary bit fields to generate
machine-language execution code, the system
would be tied to the hardware upon which it evolved. Yet
abstracting away the hardware could well result in a system that requires geologic time frames to
develop interesting, much less useful, behaviors. A more likely
system will assemble software and data components
in larger chunks that may be hand-crafted at first, and only
much later be also evolved.
- My PhD thesis proposal does two
things. First, it estimates the computational self-organization
change of phase boundary conditions using a model based in part upon a novel
evolution architecture that attempts to solve the two problems
identified in (b) above (but is necessarily not revealed here!), and
in part upon first principles.
Second, it tests for the change of phase boundary conditions using a
public-participation distributed supercomputing grid, similar to the
PrimeNet, FAAH and SaferMarkets grids I've created.
- Ultimately, the question is how to
accelerate evolution to select for thread-vector populations that
reliably perform computing services of significant commercial value.
Most likely I will build and commercialize this technology before
submitting the PhD thesis.
|