From d70eac48f091a1f98cd1048a75972da8c0fb7c66 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Wed, 24 May 2023 15:56:08 -0700 Subject: [PATCH] step: develop jit-bayes loop. --- src/jit_bayes | Bin 277160 -> 282592 bytes src/jit_bayes.nim | 80 +++++++++++++++++++++++++++++++++------------- 2 files changed, 58 insertions(+), 22 deletions(-) diff --git a/src/jit_bayes b/src/jit_bayes index 227fea40cdda9ea2c1e6798224841437d382b747..f402e3cd8be4d6828e8d522da173749e2ddc6331 100755 GIT binary patch delta 87548 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 delta 78015 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 Ssmy8}OyhGlS=AKDr2hbA_97hs diff --git a/src/jit_bayes.nim b/src/jit_bayes.nim index 8321f2b..991a693 100644 --- a/src/jit_bayes.nim +++ b/src/jit_bayes.nim @@ -4,20 +4,10 @@ import sequtils import std/sugar import std/algorithm -## Define type +## Prediction type & helpers. type prediction = (string, float) # string represents a hypothesis, # prediction represents the predictionability mass - -## Utils -## Find index (or -1) -proc findIndex(xs: seq[string], y: string): int = - for i, x in xs: - if x == y: - return i - return -1 - -## Do simple predictions proc comparePredictions (x: prediction, y: prediction): int = let (_, p1) = x let (_, p2) = y @@ -33,6 +23,14 @@ proc getHypothesis (t: prediction): string = let (h, _) = t return h +## Utils +## Find index (or -1) +proc findIndex(xs: seq[string], y: string): int = + for i, x in xs: + if x == y: + return i + return -1 + ## Get sequences let file_path = "../data/one_to_three" ## let file_path = "../data/stripped" @@ -71,12 +69,12 @@ proc getSequencesWithStart(seqs: seq[seq[string]], start: seq[string]): seq[seq[ return continuations ## Pretty print sequences - # var start = @["1", "2", "3", "4", "5"] # var continuations = getSequencesWithStart(seqs, start) # print continuations proc predictContinuation(seqs: seq[seq[string]], observations: seq[string]): seq[prediction] = + let continuations = getSequencesWithStart(seqs, observations) let l = observations.len var nexts: seq[string] @@ -121,25 +119,63 @@ proc jitBayesLoop( initial_num_hypotheses: int, num_hypotheses_step: int, ) = - let l = observations.len + print "## Prediction with limited number of hypotheses (~JIT-Bayes)" + if n_observations_seen < 1: + echo "in jitBayesLoop function, n_observations_seen must be 1 or greater" + return + + var num_hypotheses = initial_num_hypotheses + var hypotheses = seqs[0.. getHypothesis(prediction)) + let correct_continuation_index = findIndex(considered_continuations, correct_continuation) + + if correct_continuation_index == -1: + echo "Correct continuation not found in set of hypotheses of size ", num_hypotheses, "/", seqs.len, ". Increasing size of the set of hypotheses." + + var found_concordant_hypothesis = false + var concordant_hypotheses: seq[seq[string]] + + while (not found_concordant_hypothesis) and ( num_hypotheses < seqs.len ): + num_hypotheses = num_hypotheses + num_hypotheses_step + if num_hypotheses > seqs.len: + num_hypotheses = seqs.len + hypotheses = seqs[0.. i) and h[i] == observations[i]) + if concordant_hypotheses.len > 0: + found_concordant_hypothesis = true + + if not found_concordant_hypothesis: + echo "Increased number of hypotheses to ", num_hypotheses, ", but didn't find any hypotheses concordant with observations. Giving up." + return + else: + echo "Increased number of hypotheses to ", num_hypotheses, ", and found ", concordant_hypotheses.len, " concordant hypotheses. Continuing" + + else: + echo "Correct continuation was ", correct_continuation + echo "It was assigned a probability of ", getProbability(predictions[correct_continuation_index]) + + echo "" ## Display outputs -var observations = @["1", "2", "3", "4", "5", "6"] -echo "Initial sequence", observations +echo "" -print "Full prediction with access to all hypotheses (~Solomonoff)" +## var observations = @["1", "2", "3", "4", "5", "6"] +var observations = @["1", "2", "3", "109", "5", "6"] +echo "## Full prediction with access to all hypotheses (~Solomonoff)" +echo "## Initial sequence: ", observations let continuation_probabilities = predictContinuation(seqs, observations) print continuation_probabilities +echo "" -print "Prediction with limited number of hypotheses (~JIT-Bayes)" -jitBayesLoop(seqs, observations, 3, 1_000, 1_000) +jitBayesLoop(seqs, observations, 3, 1_000, 2_000) +echo ""