OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-learn commits / ecac3ea

L-systems and agents
ecac3eaf8863fdcfe6795c021d5ac9faf954fde5
by Linas Vepštas <linasvepstas@gmail.com> · 2026-01-29T22:13:25.000Z

Changed files (1) +274 -7

learn-lang-diary/learn-lang-diary-part-ten-F.lyx +274 -7
……@@ -7050,6 +7050,39 @@ with this third line being the abuse of notion.
70507050 Lets plow some more ravines.
70517051\end_layout
70527052
7053\begin_layout Standard
7054Footnote:
7055 I can validate that the abuse of notation above still gives the right answer,
7056 as follows.
7057 So for
7058\begin_inset Formula $g_{\mu\nu}=\lambda^{2}\delta_{\mu\nu}$
7059\end_inset
7060
7061 it follows that
7062\begin_inset Formula $g^{\mu\nu}=\lambda^{-2}\delta^{\mu\nu}$
7063\end_inset
7064
7065 because this gives
7066\begin_inset Formula $g_{\mu\nu}g^{\nu\rho}=\delta_{\mu}^{\rho}$
7067\end_inset
7068
7069 as desired,
7070 and then from
7071\begin_inset Formula $e_{\;\mu}^{a}=\lambda\,\delta_{\mu}^{a}$
7072\end_inset
7073
7074 just raise:
7075
7076\begin_inset Formula $e^{a\mu}=e_{\;\nu}^{a}g^{\nu\mu}=\lambda\cdot\lambda^{-2}\delta^{a\mu}=\delta^{a\mu}/\lambda$
7077\end_inset
7078
7079.
7080 So this awkward–looking expression contracting greek and roman letters is just fine and fully consistent.
7081 The awkwardness of it all,
7082 and Claude's glibness,
7083 was giving me the willies.
7084\end_layout
7085
70537086\begin_layout Paragraph*
70547087Spinors
70557088\end_layout
……@@ -7328,7 +7361,7 @@ Finally
73287361\end_inset
73297362
73307363 but this is trivially satisfied by the above results.
7331 I think the above is correct.
7364 I think the results in this section are correct.
73327365\end_layout
73337366
73347367\begin_layout Paragraph*
……@@ -7358,7 +7391,7 @@ subject to the hedgehog boundary conditions applied at
73587391\end_inset
73597392
73607393.
7361 We comply trickery from here on out.
7394 We use trickery from here on out.
73627395 I am using Claude to find the tricks.
73637396 I'm not verifying them carefully,
73647397 they smell correct.
……@@ -7648,7 +7681,7 @@ Pöschl-Teller potential
76487681\begin_layout Standard
76497682Next,
76507683 we can solve the above.
7651 Clause guesses that its hypergeometric,
7684 Claude guesses that its hypergeometric,
76527685 and arrives at the exact solution
76537686\begin_inset Formula
76547687\[
……@@ -7670,8 +7703,9 @@ with
76707703\end_inset
76717704
76727705 OK,
7673 that's trctable.
7674 In chart coords its
7706 that's tractable.
7707 In chart coords,
7708 its
76757709\begin_inset Formula
76767710\[
76777711u=r\;{}_{2}F_{1}\left(a,b;2;-\frac{r^{2}}{1-r^{2}}\right)
……@@ -8143,6 +8177,13 @@ I want the opposite.
81438177 call them screw–ball escapades.
81448178\end_layout
81458179
8180\begin_layout Standard
8181Well,
8182 I can tell it's not over.
8183 This didn't pan out,
8184 but burbling in the back of my mind is the idea that some other screwball twist will work....
8185\end_layout
8186
81468187\begin_layout Paragraph*
81478188Punt
81488189\end_layout
……@@ -8347,12 +8388,238 @@ this will feel good
83478388\end_layout
83488389
83498390\begin_layout Subsection*
835028 January 2026
839129 January 2026
83518392\end_layout
83528393
83538394\begin_layout Standard
83548395OK,
8355 so lets get back to the main topic....
8396 back to the drawing board.
8397 Here I will belly–ache about AI development status,
8398 and try to see if there's some better way.
8399 There are multiple topics I've been putting off for months.
8400 Lets bullet list them.
8401 Lets not bullet list them,
8402 I can't remember them.
8403 They'll come back naturally as I write...
8404\end_layout
8405
8406\begin_layout Standard
8407I want to restart rewriting the learning pipeline.
8408 So I unleashed Claude and it was a total failure.
8409 Because Claude is stupid.
8410 So what I envisioned,
8411 hoped for,
8412 wanted was some autonomous file–system crawler,
8413 that would crawl and take notes,
8414 build a world–model of what it found,
8415 represented in a way that makes it easier to query than the brute–force of actually crawling the file system to find what is there.
8416 That is,
8417 the world–model is held in the AtomSpace in some
8418\begin_inset Quotes eld
8419\end_inset
8420
8421natural
8422\begin_inset Quotes erd
8423\end_inset
8424
8425 representation that is easy to query in some ad hoc manner.
8426\end_layout
8427
8428\begin_layout Standard
8429There are two bootstrapping issues here.
8430 One is:
8431 what is the
8432\begin_inset Quotes eld
8433\end_inset
8434
8435natural representation
8436\begin_inset Quotes erd
8437\end_inset
8438
8439?
8440 Of course,
8441 I can hand–design the initial one,
8442 but it would then need to be able to accrete additional information when it becomes available.
8443 So then the next question is
8444\begin_inset Quotes eld
8445\end_inset
8446
8447what is that additional information
8448\begin_inset Quotes erd
8449\end_inset
8450
8451?
8452 and its meant to be pair–counting results,
8453 and then the marginal probabilities.
8454 So I can hand–engineer all that.
8455 I'd done it two or three times before,
8456 so this is yet another implementation.
8457 At any rate,
8458 I'm the one designi9ng where things will get stored,
8459 and when I asked Claude to do it,
8460 I got a hash,
8461 so I have to do it.
8462\end_layout
8463
8464\begin_layout Standard
8465The second bootstrapping issue is that I have to explicitly specify the file–walk algo;
8466 depth–first or breadth–first or whatever.
8467 Again,
8468 this does not happen
8469\begin_inset Quotes eld
8470\end_inset
8471
8472naturally
8473\begin_inset Quotes erd
8474\end_inset
8475
8476,
8477 but is engineered into place.
8478\end_layout
8479
8480\begin_layout Standard
8481So let me run with that idea.
8482 Can I define a set of axioms and inference rules,
8483 such that,
8484 when combined,
8485 a file–walking algo results?
8486 That is,
8487 what is the axiomatic system in which tree–walking algos are embedded?
8488 And,
8489 given this axiomatic system,
8490 what can I do to make it self–assemble,
8491 like the abelian sand–pile?
8492 i.e.
8493 to get to a critical point,
8494 where the behavior patterns at that critical point are that the avalanches are tree–walks?
8495\end_layout
8496
8497\begin_layout Standard
8498To answer that,
8499 I dig back to L–systems,
8500 and the work that Prusinkiewicz did with them:
8501 some simple grammatical rules,
8502 and you crank them,
8503 and tree structures result.
8504 Now I take them and the trees that grow are forced to conform to whatever the actual file–system tree is.
8505\end_layout
8506
8507\begin_layout Standard
8508So the new thing here for me is that with an L–system,
8509 it is incorrect to think of a single algo,
8510 walking a tree.
8511 Instead,
8512 one has creates a new agent:
8513 one for each directory and file,
8514 and that agent communicates what it finds with it's neighboring agents.
8515 Now,
8516 I can force this,
8517 project this back down to a single traditional comp–sci algo that is depth–first or breadth–first,
8518 but that is a projection (in the sense of a fibre bundle projection) If instead,
8519 I am L–system inspired,
8520 the fibre of my fibre–bundle is the L–system.
8521 Now,
8522 the agent at each directory and file is very nearly almost totally trivial:
8523 the only thing it can do is to communicate with neighbors.
8524 And maybe not even that:
8525 it can just statically denotes connections (and I statically represent these in the AtomSpace).
8526 The one non–trivial agentic behavior is that when an agent determines
8527\begin_inset Quotes eld
8528\end_inset
8529
8530oh hey I am a directory
8531\begin_inset Quotes erd
8532\end_inset
8533
8534 then the grammatical production rules say
8535\begin_inset Quotes eld
8536\end_inset
8537
8538grow a new agent,
8539 one for each inode in the directory
8540\begin_inset Quotes erd
8541\end_inset
8542
8543.
8544\end_layout
8545
8546\begin_layout Standard
8547At this meta–level,
8548 at this L–system level,
8549 each new agent gets enqueued onto some run–time queue,
8550 so that the CPU goes over that queue,
8551 and alots some CPU time to each agent.
8552 Since agents that have already explored all of their inodes don't really need any more CPU time,
8553 they become
8554\begin_inset Quotes eld
8555\end_inset
8556
8557dead
8558\begin_inset Quotes erd
8559\end_inset
8560
8561 (or dormant) and can be dequeued,
8562 I guess.
8563 This search algo is naturally
8564\begin_inset Quotes eld
8565\end_inset
8566
8567parallelizable
8568\begin_inset Quotes erd
8569\end_inset
8570
8571,
8572 because L–systems are naturally parallel.
8573 And,
8574 as I write this,
8575 I realize that I could also do this for the query engine.
8576\end_layout
8577
8578\begin_layout Standard
8579Let me explore the query–engine idea for a moment.
8580 Every for–loop is parallelizable in this way:
8581 it enqueues a job to explore every item in the loop.
8582 Sounds sexy,
8583 the reality is data locality:
8584 the items being walked in the loop have to be fetched from RAM,
8585 or,
8586 if its running on a GPU,
8587 it has to be copied across some bus to that GPU.
8588 Copying is automatic,
8589 for CPU's:
8590 data is automatically copied from RAM to 3rd,
8591 second then 1st level cache,
8592 then registers,
8593 and I don't have to think about that data movement problem,
8594 because the good folks at Intel/AMD have already solved it for me.
8595 For GPU's,
8596 it is much more hands–on,
8597 because the GPU sits on the far side of the PCIe bus,
8598 and I have to think about how to convert the body of my for–loop into a vector that I can efficiently pass over to the GPU side.
8599 So this is hard and tricky.
8600 Thinking about L–systems and agents is inspirational,
8601 but hits a wall when I say
8602\begin_inset Quotes eld
8603\end_inset
8604
8605oh gee,
8606 I want each agent to run on a GPU,
8607 but my agents are so trivial that they do almost nothing
8608\begin_inset Quotes erd
8609\end_inset
8610
8611,
8612 and that almost the only thing that they do is to vectorize and enqueue the next set of agents to be enqueued on the runtime queue.
8613 So this is ...
8614 abstractly interesting but profoundly mis–matched to what hardware can actually do.
8615\end_layout
8616
8617\begin_layout Standard
8618Hmm.
8619 Anyway.
8620 it is beautiful outside,
8621 so I am going for a bike ride now.
8622 Later.
83568623\end_layout
83578624
83588625\begin_layout Section*