summaryrefslogtreecommitdiff
path: root/intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js
diff options
context:
space:
mode:
authorolpc user <olpc@xo-5d-f7-86.localdomain>2020-01-10 14:56:27 -0800
committerolpc user <olpc@xo-5d-f7-86.localdomain>2020-01-10 14:56:27 -0800
commit26c980d302adce8e3d802cb8db8ab1c69d58ce1a (patch)
treee296225f17370c9e472660396b3a51539f76ff28 /intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js
parent2e01fed206e46a669ba56f57b4b943cfe661a0f1 (diff)
parentc8bb547bea279af2bb48c13260f98aa8add07131 (diff)
downloadstandingwithresilience-26c980d302adce8e3d802cb8db8ab1c69d58ce1a.tar.gz
standingwithresilience-26c980d302adce8e3d802cb8db8ab1c69d58ce1a.zip
Merge branch 'intellect-framework-from-internet'
Diffstat (limited to 'intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js')
-rw-r--r--intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js b/intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js
new file mode 100644
index 0000000..143a991
--- /dev/null
+++ b/intellect-framework-from-internet/starts/random-harmonic-hospital/coding-assister.js
@@ -0,0 +1,55 @@
+/* NEXT: add aux func
+ store access order tree
+ -> make nodes objects */
+/* BTW: need to practice slowly or will have error when fast <- although could have been a 'trick'; clocks */
+async function learn1(name, goal, knowledge)
+{
+ let focus = [{val: name}]
+ knowledge[name] = {val: focus}
+ console.log("Ctx: " + name)
+
+ a = function(idea)
+ {
+ focus.push({val: idea})
+ //focusUpdated()
+ }
+
+ randomSeed(0)
+
+ function pickNextIdx(lastIdx, focus)
+ { // make this function be a contextual property
+ return Math.floor(random() * (focus.length - lastIdx)) + lastIdx
+ }
+
+ async function trial()
+ {
+ let result = []
+ let last = [{focus: focus, idx: 0}]
+ while (true) {
+ let llast = last[last.length - 1]
+ let next = pickNextIdx(llast.idx, llast.focus)
+ if (next >= llast.focus.length) {
+ if (random() >= 0.5) {
+ last.pop()
+ } else {
+ llast.idx = 0
+ }
+ if (last.length == 0) {
+ break
+ }
+ continue
+ }
+ llast.idx = next
+ next = llast.focus[idx].val
+ if (next in knowledge && random() < 0.5) {
+ // open subcontext or subtree
+ last.push({focus: knowledge[next].val, idx:0})
+ continue
+ }
+ result.push(next)
+ }
+ let resstr = result.join('')
+ return await goal(resstr)
+ }
+ // TODO: call trial in loop that checks return value
+}