Why I pursue the HaveNWant cognitive architecture:

1. I'm an engineer, but I was raised by scientists. After being inspired by Minsky in '71 to understand the workings of the mind, I spent my career building hardware and systems elements for customers desires. As I worked with the great architect Phil Carvey understanding the characteristics of high speed fabrics, I got to thinking of a fabric for the brain. An interconnect standard for the brain!  That works across all Broadman Information Modalities.

2. In the '90's some time, I came across the notion that I've named "Micro-Bidirectionality".  It says: "Whenever you have a variable in the computation of a forward path, you should also have another variable in the computation of the reverse path. These pairs might be evident in the sensory map built using HaveNWant. It would be made of predicates which have two activation levels: sensed activation and desired activation. And for the purpose of binding modules together, those bidirectional pairs of variables go together.  This underlies back propagation. In Minsky's K-Lines circa '70, there seems to be no such pairing.

3. HaveNWant was the first bidirectional pair found, but there are many more powerful link pairings:  StartNDone, BidNSelect, SeeNExpect, TemplarPrereqNActive,  aPrioriNAPosteriori, UniqNUniquer and more to name them playfully.  Each of these is associated with many powerful operators, sufficient we believe to organically grow connections needed to construct the Reenactment Simulator. It is able to recreate in its internal simulation what is going on now, focused in on the important part.

4. My focus in the last decade has been to build a code environment which embeds all of the concepts of HaveNWant, including the definition and visualization of the machines being studied as they operated in an environment.  One of the first environments to be studied involves the two dozen odd places one senses or touches on your car as you approach it: the door handle, door lock, blink signal, gas pedal, ... Each of those can be represented as a HaveNWant "factal" bit, with "sensed" upward and "activate" downward. So Imagine you are the controller and you don't know what the various two dozen odd bits mean, or even which is which. If by good chance a real person got into the car and sensed and activated the bits, the controller could remember that and try it next time. But if nobody drives, perhaps the controller would have to generate an approach to the N-Arm Bandit problem, trying out each factal. I hope to find/define working machines that do this. Right in front of your eyes. You can read the code.

5. Currently, an older version uses Objective C, and the new version is being coded in the latest Swift. Features are then moved to it from Objective C. It is all a lot of work, so I could always use some help. As well there are many PhD level questions lingering in my understanding of what's useful next.


So how far did you get in this walk? I'd like to hear from you, no matter how far.  But if you could tell me the paragraph number, and what made sense, and what didn't, it would be helpful.

           Allen