probabilities/README.md

44 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2023-01-01 23:45:51 +00:00
Terminology:
Sample space 'S' has 'n' bits, and there is a function 'f', that maps 'x' (an n-bit vector) in 'S' to 'y'.
f(x) = y
We can use PCA to generate candidates for some sub-sample of 'S', 'P'. Candidates that exhibit generalization
properties (score higher than the previous generation on a sub-sample they haven't seen before, 'Q') can be
cascaded into the input for training the next generation of candidates.
This candidate generation process is 'G'. 'G' is considered to perform well if the candidates that it
generates exhibit generalization properties.
To bootstrap, we can use PCA for 'G' and store the state machine instructions 'S_G' for creating the highest-performing
candidates on a particular problem 'f' as a sample space for training a new generator 'G_n'.
Use 'G' to generate candidates for 'G_n'. Training samples come from 'S_G', but candidates should be evaluated
based on how well the candidates they generate perform on 'f'.
So, we need to be able to score a particular g e G_n. We can evaluate for a fixed number of epochs and use some combination
of the average difficulty and evaluation score.
A generator G is a state machine with input
G(|j-bit step|m * n-bit inputs|) = y
Where y is a bit in an instruction.
'a' is an address in 'A' |log2(n)|
|opcode 2-bit|
|00 - xor|
|01 - end|
|10 - and|
|11 - nand|
xor is followed by an address 'a' for an input bit.
This process can be repeated indefinitely, replacing 'G' with 'G_n' to create new generators that outperform the previous
generation for solving 'f'.
A candidate is a state machine with input
f(|n-bit input|) = y