http://www.scn.org/~mentifex/mindforth.txt (source code)
MindForth Programming Journal (MFPJ) excerpts:

Sun.4.SEP.2011 -- Improvements Accentuate Glitches 

Yesterday in the 3sep11A.F version of MindForth artificial 
intelligence, we improved the basic functionality of the AI Mind, 
but the overall performance of the AI was superficially degraded. 
The AI was getting stuck in the repetition of monotonous outputs, 
and the KbTraversal mechanism was not sufficiently activating 
a change of subject for the AI to break out of its doldrums. 
We had to upload some code in order to "release early, release 
often", but at the same time we were eager to get back to 
rectifying the various problems. 

One new problem is that the default adoption of the self-concept 
of "I" in NounPhrase, when no other concept is active enough, 
can cause even an inhibited I-engram to be selected for the 
subject of a thought, when its associated verb-engram remains 
too inhibited to be selected as the next element in the thought. 

We could perhaps use an "svo2" subject-verb locking mechanism 
to cause the re-selection of even an inhibited verb, but we are 
worried that the AI might get stuck in the repetitive thinking 
of the same thought over and over again. On the other hand, 
if the repetitive thought is a response to "who are you" as 
an input query, the human user might stop entering the same 
query when faced with undue repetition of the same answer. 

One rather pleasant-to-have problem is that the inhibition-levels 
were too severe and had to be made much more shallow just before 
the release-by-uploading of the 3sep11A.F MindForth yesterday. 
Our troubleshooting and debugging had eliminated so many glitches 
in the overall program, that the mindgrid of the AI was functioning 
much better than ever before. Subject-candidates were no longer 
inexplicably at zero activation, and the AI could reliably exhaust 
its KB-retrievals on a given subject through neural inhibition. 
With the knowledge being retrieved so reliably, it was obviously 
more important to bring briefly inhibited knowledge "back on-line" 
than to keep the mindgrid in an ultra-inhibited state for purposes 
of unambiguous troubleshooting. 


Mon.5.SEP.2011 -- General Reactivation Problem

Even if the NounPhrase low-activation DeFault is to activate 
the "50=I" concept, the threshold-test mechanisms should still 
prevent "50=I" from generating an unwarranted assertion. 
When the KB tidbits about "50=I" have been exhausted, perhaps 
the problem is that both the I-concept and the BE-concept 
have been re-activated by the input-query. Apparently the 
incessant entry of "who are you" fails to reactivate the 
inhibition-exhausted engrams of "50=I", but does indeed 
reactivate the abundant BE-engrams. Perhaps we would like 
to cut the thought-generation off already in NounPhrase 
with the insufficiently activated "50=I" engram, but 
there is a DeFault activation of "50=I" that gets us 
out of NounPhrase and unwarrantedly into VerbPhrase, where 
the BE-verb concept has been reactivated by the input. 

We may have to alter the verb+object lock-mechanism so that 
it operates only when there is no failure of a threshold-test. 
But such a proleptic step might not be possible. Okay, we could 
keep the lock-mechanism but countermand it when it encounters 
an inhibited object or an inhibited predicate nominative. 

In response to the "who are you" inputs, a stange thing is 
happening. NounPhrase is using a "50=I" not from "I AM PERSON" 
at "t=408" in the bootstrap sequence, but from "I HELP KIDS" 
at "t=422", possibly because each "50=I" may have equal 
activation and the first one encountered in the backwards 
search is at "t=422" for "I HELP KIDS". We know that the 
selection is being made after the entire "who are you" has 
been processed, so there should be some way to steer the 
selection away from "I HELP KIDS" to an "I AM..." engram 
somewhere. The "AM" is coming from "t=411" where "I AM PERSON" 
is recorded in the bootstrap, and we assume that there was 
compound subject+verb activation on the "t=411" verb-node. 
No, maybe the "50=I" at "t=408" did not go into NounAct to 
create any compound activation on the verb. But it did go 
into NounAct. 

Suddenly a major mind-design question arises. When a query 
like "who are you" or "what do you think" comes into the AI Mind, 
should there be only a blanket activation of each subject node 
and each verb-node from the query, or should there be some 
cross-influence or "trans-influence" between the reactivated 
verb-nodes and the reactivated subject-nodes? It is certainly 
possible to implement such an arrangement, but would it be 
needlessly complicated? 


Tues.6.SEP.2011 -- Backwards SpreadAct

As we ponder the mind-design problem of exactly how to re-activate 
concepts after the input of a knowledge-base query, we try to shed 
more light on the subject by moving into the new territory of asking 
how the AI Mind will deal with situations based on the operation of 
SpreadAct in reverse, where backwards associations must be followed 
in order to answer questions like "What carries passengers?" or 
"Which animals have wings?" Since the original design of the 
SpreadAct module (see AI4U page 169), it has carried more ativation 
forwards than backwards. We may have to let more activation be 
carried backwards from a verb to a "pre" concept so that a 
"what-vacuum" in a query may be filled with sufficient activation 
to provide an answer to a query. Thus a question like "What 
carries passengers?" could be answered with the activation of 
a noun like "BUS" or "FERRY" or "AIRPLANE". In case the 
question were repeated with "What else carries passengers?", 
we would probably want the inhibition of subjects to continue 
operating, so that all known answers could be exhausted one by 
one. To deal with the general reactivation problem, we were thinking 
of no longer inhibiting subjects and of only inhibiting verbs and 
their objects, but now we see that subject-inhibition may be too 
valuable to give up. 


Tues.6.SEP.2011 -- Solving the Too-equal Reactivation Problem

Just as we created the variables "flex1 flex2 flex3" to handle 
inflections such as "-ing" on English words, we can create the 
variables "prox1 prox2 prox3" etc. to help the ReActivate module 
to reactivate associated words more pronouncedly than unassociated 
words. If a query like "who are you" comes in, we will throw away 
the "WHO" concept, but we will assign "58=BE" to "prox1" and 
"50=I" to "prox2". Then, as ReActivate imposes activation on 
"oldpsi", if "prox1" is "oldpsi", we will have the loop test for 
"pre" or "seq" matching "prox2" (the other word), and extra 
activation will be imposed if there is a match. In this way, 
our AI mindgrid will be better able to deal with clusters of 
input words. 


Wed.7.SEP.2011 -- Implementing the "prox" Variables

The idea from yesterday of using "prox" variables came when 
we were quite stymied. If it succeeds, it will be a case of 
making the AI software function more like a complex neural 
net. Now we need to implement the scheme. First we declare 
the new variables, and they do not seem to conflict with Forth. 
Next we need to figure out where to assign values during the 
input of a query. 

In the InStantiate module, where we have recently set the "moot" 
variable when "firstword" is "59=DO" or "87=DOES", we set the 
"proxcon" flag when "firstword" is "54=WHAT" or "55=WHO". 
In that way, we hope to cycle through the words of a single 
input and assign the "prox" values. First, though, we need a 
way to turn off the "proxcon" flag. We turn off "proxcon" in 
the AudInput module, when a "13=CR" has been detected. By then, 
the "proxcon" variable should be done with its work of causing 
"prox1" and "prox2" to be filled with the psi-numbers of the 
query-concepts. 

Also in the AudInput module, we use the "ordo" variable as a 
determinant in setting the "prox" variables after each word of 
input is followed by a "32=SPACE" terminator. We could perhaps 
use "ordo" to set up to a dozen or more "prox" variables, but 
for test purposes at first we need to set only two "prox" values. 

Hmm, perhaps we should skip over using "prox1" at first and 
use the "ordo" number as a test to set "prox2" and "prox3". 
In that way, we are proleptic in making it possible in the future 
to keep track of a dozen or more "prox" concepts, including a 
"prox1" concept. 

Now we have a problem because the "audpsi" values of AudInput 
have not yet been instantiated into their proper Psi concepts. 
We may need to see if the "ordo" variable can be used in the 
InStantiate module to set the true Psi values for the "prox" 
variables. Ha! When we moved the ordo-tests from AudInput into 
InStantiate, and we transferred not "audpsi" but "psi" to the 
"prox2" and "prox3" variables, we got "prox2 prox3 = 58 50" after 
inputting "who are you" as a query. The "58=BE" and "50=I" 
can now be used to try to impose extra activation upon associated 
concepts in the ReActivate module. 


Wed.7.SEP.2011 -- Implementing Disparate Reactivation 

In the MindForth artificial intelligence, we are now going 
into the ReActivate module and inserting conditional IF-THEN 
code to make mutually associated input-concepts find likewise 
mutually associated engram-ideas and impose a somewhat higher 
activation than normal upon the matching engrams. 

Somewhere we need to zero out the "prox2" and "prox3" variables 
after using them. Let us try at the end of the EnCog module. 

When we submit "who are you" as a query multiple times, we still 
have a problem even when we are using the "prox" variables to 
achieve disparate reactivation. Apparently the extra activation 
is not getting through to the inhibited "50=I" engrams. We could 
try using an absolute activation, so that even an inhibited engram 
would become positively activated again, with an expectation that 
the verb will remain inhibited and prevent an unwarranted thought. 
Or we might have to let the extra activation get through to engrams 
at a negative level, simply so that they will flip over to positive 
activation a lot sooner. 


Thurs.8.SEP.2011 -- Reconciling "proxcon" and Inhibition

We have recently had both a major point of being stymied, and also 
a minor point of being stymied. We were stymied for two days when 
we could not at first see how to solve the problem of too-equal 
activations on psi-concepts in response to query inputs. We solved 
the problem by introducing "prox" variables to achieve the disparate 
reactivation of concepts associated inside a cluster of concepts 
forming an input query. Then immediately we were somewhat stymied 
with the problem of how to use the powerful new technique. At the 
same time, we are accumulating a lore of documentation of aspects 
of disparate reactivation. For instance, we notice that the new 
technique does not work until at least two "prox" concepts have 
come in during the input query. If we ask the AI "who are you" 
and "are" is the first "prox" concept, there is no other "prox" 
concept to associate it with until the "you" concept comes in. 
The phenomenon was interesting, but not problematical. 

We noticed quite soon that the force of the disparate mechanism 
was being blunted by the neural inhibition still in effect when 
a repeated query has exhausted the available KB-data. So we 
experimented yesterday with letting the disparate mechanism 
override the negative activations of inhibited concepts. Then 
immediately we saw that even if we dealt with too much 
inhibition on query-subjects, there was rampantly too much 
activation on query-verbs at the wrong temporal engram-points. 
Letting a wrong verb-engram be activated was resulting in the 
generation of erroneous assertions. So we are faced with the 
prospect of implementing an "svo2" subject-verb lock-mechanism. 

We go into the NounPhrase module to the point where a "motjuste" 
is being selected as the subject for a sentence, and we transfer 
the psi-number of the associated verb to the "svo2" variable as 
the "un-derailable verb" that goes with the particular noun-engram 
or pronoun-engram. Thus we are building up the subject-verb 
lock-mechanism. 

Even after introducing "svo2" code similar to the "svo3" code, 
we are still getting "I AM MAGIC" as an erroneous assertion. 
It is possible that the use of the "svo2" subject-verb locking 
mechanism prevents the setting of the "svo3" verb-object 
locking mechanism. 


Fri.9.SEP.2011 -- Achieving Valid KB Retrieval

It looks as though we are having difficulty in using both a 
noun-verb lock and a verb-object lock simultaneously. When 
we use disparate reactivation to override inhibitions on 
valid KB-responses, we want a thought to be generated from 
a time-slice starting with a subject-engram. It may be 
better to rely on disparate reactivation for both the 
subject and the verb, and not to use engram-locks. 

It may be possible to turn the SVO engram-locks on and off 
by commenting out the pertinent code. Let us try turning off 
the "svo3" lock. Nothing much changed. Now let us try 
turning off the "svo2" lock. Again not much of anything 
changed. But why did the AI again say "I AM MAGIC"? 

The "prox" mechanism is letting "50=I" be activated and 
selected at 395 for "50=I (am a robot)", but why is the 
nearby "58=BE" verb not being selected? Apparently all the 
"58=BE" nodes are at an activation of fifty, and the first 
one to be found is at "t=527" in the previous "WHO BE I" query. 
Now, why do all those BE-nodes have equal activation? 

When we stopped requiring in SpreadAct that a "spike" be 
transferred to an uninhibited, positive "seqpsi", we stopped 
getting the erroneous "I AM MAGIC" output, and the AI 
started cycling validly through its three KB tidbits of 
knowledge about itself. 


Mentifex (Arthur)
-- 
http://aimind-i.com  
http://www.scn.org/~mentifex/AiMind.html  
http://cyborg.blogspot.com/2011/01/aiapp.html  
http://www.chatbots.org/ai_zone/viewthread/240/  


-------------------------------------------
AGI
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/21088071-c97d2393
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21088071&id_secret=21088071-2484a968
Powered by Listbox: http://www.listbox.com

Reply via email to