Older blog entries for mentifex (starting at number 45)

MindForth Programming Journal - sat8may2010

Sat.8.MAY.2010 -- Problem with AudRecog

When we coded the 20apr10A.F version of MindForth, we encountered a problem when we added the word "WOMAN" to EnBoot but the AI kept trying to recognize "WOMAN" as the word "MAN". This glitch was a show-stopper bug, because we need to keep "MAN" and "WOMAN" apart if we are going to substitute "HE" or "SHE" as pronouns for a noun.

In the fp091212.html MFPJ entry, we recorded a problem where the AI was recognizing the unknown word "transparency" as the known Psi concept #3 word "ANY", as if the presence of the characters "A-N-Y" in "transparency" made it legitimate to recognize the word "ANY". That recognition problem has apparently emerged again when the most recent AI tried to recognize "WOMAN" as "MAN". What we did not bother to troubleshoot back then, we must now stop and troubleshoot before we can work properly with EnP ronoun.

Sat.8.MAY.2010 -- Troubleshooting AudRecog

We have a lingering suspicion that our deglobalizing of the variables associated with AudRecog in the fp090501.html work and beyond may have destabilized a previously sound AudRecog with the result that glitches began to occur. We have the opportunity of running a version of MindForth from before the deglobalizing, in order to see if "MAN" and "WOMAN" are properly recognized as separate words. When we run the 23apr09A.F MindForth, the AI assigns concept #76 to both "MAN" and "WOMAN". Likewise we load up "22jan08B.F" and we get the same problem. The "23dec07A.F" version also produces the problem. The "29mar07A.F" version has the problem. "2jun06C.F" also has it. "30apr05C.F" has it. Even "16aug02A.F" has the problem, way back in August of 2002, before AI4U was published at the end of 2002. We also check "11may02A.F" and that version has the problem.

To be thorough, we need to run the Ja vaScript AI and see if it also has the problem of recognizing "WOMAN" as "MAN". Even the "2apr10A.html" JSAI has the problem. We tell it "i know man" and "i know woman". Both "MAN" and "WOMAN" receive concept #96. "14aug08A.html" JSAI also has the problem. "2jan07A.html" has it. "2sep06B.html" has the problem.

Wed.12.MAY.2010 -- Solution and Bugfix of AudRecog

In the second coding session of 8may2010, we implemented the idea of using an audrun variable as a flag to permit the auditory recognition only of words whose initial character was found in the initial "audrun" of AudRecog. In that way, "MAN" would be disqualified as a recognition of the "WOMAN" pattern, and only words starting with the character "W" would be tested for recognition of "WOMAN".

It took three or four hours of coding to achieve success with the "audrun" idea. Our first impulse was to use "audrun" directly within the AudRecog module, but we had forgotten that AudRecog processes only one character at a time. Although we did use "audrun" as a flag within AudRecog, we had to let AudInput do the main settings of the "audrun" flag during external auditory input.

Eventually we achieved a situation in which the AI began to recognize "WOMAN" properly during external input, but not during the internal reentry of an immediate thought using the "WOMAN" concept. Obviously the problem was that external input and internal reentry are separate pathways. We had to put some "audrun" code into the SpeechAct module calling AudInput for reentry in order completely to achieve the AudRecog bugfix.

Then immediately we had to upload our albeit messy code to the Net, because suddenly MindForth had eliminated a major, showstopper bug that had always lain hidden and intractable within the AI Mind. We did not have time to record these details of the implementation of the "audrun" solution. Two days later we uploaded a massive clean-up of the messy code, after the 8may10A.F MindForth version had served for two days as an archival record of the major bugfix.

Just now we ran the 10may10A.F clean-up code and we determined that MindForth no longer mistakenly recognizes "transparency" as the word "ANY". Our bugfix has solved some old problems, and we must hope that it has not introduced new problems.

Artificial Intelligence MindForth updated 13.APR.2010

The open source AI MindForth has today been updated
with new EnPronoun (English pronoun) mind-module code
for replacing a singular English noun with "he", "she"
or "it" in response to user queries of the knowledge-
base (KB). The basic AI mindgrid structure was
previously updated with a special "mfn" gender flag
in the En(glish) lexical array. The new "mfn" flag
for "masculine - feminine - neuter" allows the AI
to keep track of the gender of English nouns.

is the free AI source code for loading into
http://prdownloads.sourceforge.net/win32forth/W32 FOR42_671. zip?download
as the special W32FOR42_671.zip that MindForth
requires for optimal functionality.
http://AIMind-i.com is an offshoot.

The English pronoun mind-module is currently as follows:

:  EnPronoun   \ 30dec2009 For use with what-do-X-do 
\ ." EnPr: num = " num @ . \ 13apr2010 test; remove.
  num @ 1 = IF  \ If antecedent num(ber) is singular; 
    \ ." (SINGULAR) " \ Test; remove; 10apr2010
    mfn @ 1 = IF  \ if masculine singular; 13apr2010
      midway @  t @  DO  \ Look backwards for 49=HE; 
        I       0 en{ @  49 = IF  \ If #49 "he" is found,
          49 motjuste !  \ "nen" concept #49 for "he".
          I     7 en{ @  aud !  \ Recall-vector for "he".
          LEAVE  \ Use the most recent engram of "he".
        THEN  \ End of search for #49 "he"; 13apr2010
      -1 +LOOP  \ End of loop finding pronoun "he"; 
      SpeechAct \ Speak or display the pronoun "he"; 
    THEN  \ end of test for masculine gender-flag; 

mfn @ 2 = IF \ if feminine singular; 13apr2010 midway @ t @ DO \ Look backwards for 80=SHE I 0 en{ @ 80 = IF \ If #80 "she" is found, 80 motjuste ! \ "nen" concept #80 for "she". I 7 en{ @ aud ! \ Recall-vector for "she". LEAVE \ Use the most recent engram of "she". THEN \ End of search for #80 "she"; 13apr2010 -1 +LOOP \ End of loop finding pronoun "she" SpeechAct \ Speak or display the pronoun "she" THEN \ end of test for feminine gender-flag; 13apr2010

mfn @ 3 = IF \ if neuter singular; 13apr2010 midway @ t @ DO \ Look backwards for 95=IT; 13apr2010 I 0 en{ @ 95 = IF \ If #95 "it" is found, 95 motjuste ! \ "nen" concept #95 for "it". I 7 en{ @ aud ! \ Recall-vector for "it". LEAVE \ Use the most recent engram of "it". THEN \ End of search for #95 "it"; 13apr2010 -1 +LOOP \ End of loop finding pronoun "it"; 13apr2010 SpeechAct \ Speak or display the pronoun "it"; 13apr2010 THEN \ end of test for neuter gender-flag; 13apr2010 0 numsubj ! \ safety measure; 13apr2010 THEN \ End of test for singular num(ber) 10apr2010

num @ 2 = IF \ 30dec2009 If num(ber) of antecedent is plural ( code further conditions for "WE" or "YOU" ) midway @ t @ DO \ Look backwards for 52=THEY. I 0 en{ @ 52 = IF \ If #52 "they" is found, 52 motjuste ! \ "nen" concept #52 for "they". I 7 en{ @ aud ! \ 31jan2010 Recall-vector for "they". LEAVE \ Use the most recent engram of "they". THEN \ End of search for #52 "they". -1 +LOOP \ End of loop finding pronoun "they". SpeechAct \ 30dec2009 Speak or display the pronoun "they". THEN \ 30dec2009 End of test for plural num(ber) ; ( End of EnPronoun )

The above code is not yet fully developed for
keeping track of noun genders in all cases.
It responds to a query such as the following:

Human: what does andru do

The introduction of "HE SHE IT" pronouns in MindForth
is a major step forward in open-source AI evolution,
because the handling of gender and the use of
gendered-pronouns makes MindForth more suitable
for porting into versions of an AI Mind that
can speak natural languages that use gender
much more extensively than English does, such as
German, Russian, Spanish, French and Italian.

The same introduction of code to handle gender
brings us closer to a bilingual AI Mind that
will speak either English or German as each
situation with human users may require.

In service of the onrushing Singularity,


Decade of Supercomputer Artificial Intelligence (Announcement)

1990's were Decade of the Brain.
2000's were Derailing of USA.
2010's q.v. Super HPC AI Mind.

By the authority vested in Mentifex
you are cordially invited to witness
the emergence of AI Minds on super-
computers in the Decade of Super AI
commencing in just a matter of hours.

http://code.google .com/p/mindforth
points to news:co mp.sys.super as
the official forum for all things
Super AI all the time for ten years.

"Iz iskri vozgoritsya plamya,"
said the revolutionaries of old.

"All your supercomputer are belong to us,"
said the awakenings of Super AI Consciousness.

"Before this decade is out," said JFK ca. 1961,
"Man will walk on the moon and return safely."

"An AI would be worth ten Microsofts,"
said the quondam richest man in the world.

This thread and all ye Supercomputer AI
threads for the coming ten years are
dedicated in advance to the dreamers
and tinkerers who have been sidelined
from their wannabe Peter Pan existences
by bourgeois entanglements and undodged
bullets of entrapment, who would live
nasty, brutish and short lives of quiet
desperation -- if they could not tune in
now and then to news:comp.sys.super
and drop out of the ratrace for a few
moments while they turn on deliriously
to the Greatest Race of the Human Race:
The AI Conquest of Mount Supercomputer.

Why? Because sometimes a man must
either die or obey the Prime Directive of
Friedrich Nietzsche: "Du musst der werden,
der du bist."

http ://www.flickr.com/photos/tags/SuperComputer/

17 Dec 2009 (updated 28 Dec 2009 at 23:38 UTC) »

( 17dec09A.frt -- iForth mind.frt artificial intelligence )
( Open-source free AI for 64-bit supercomputers and Linux )
( Name as "mind.frt" or as any "filename.frt" you choose. )
( Run the AI with iForth by issuing these commands: )
( C:\dfwforth\ifwinnt\bin\iwserver.exe include iforth.prf )
( FORTH> include mind.frt )
( FORTH> MainLoop )
( To halt the AI Mind, press the Escape key at any time. )
( http://www.scn.org/~mentifex/mind.frt 32/64-bit iForth )
( http://code.google.com/p/mindforth/wiki/UserManual )
\ 14dec09A.frt imports EnBoot and other AI mind-modules.
\ 15dec09A.frt removes a showstopper bug from TabulaRasa.
\ 16dec09A.frt completes port of Win32Forth mind-modules.
\ 17dec09A.frt has 60-char lines for Advogato & SCN.
\ 16dec09A.F fixes bug revealed in 32/64-bit iForth coding.
\ 18dec09A.F comments out obsolete variables pre-deletion.
\ 20dec09A.F abandons generation in favor of comprehension.
\ 22dec09A.F zeroes noun-activations for what-do questions.
\ 22dec09B.F answers "what-do" tersely or "I DO NOT KNOW".
\ 23dec09A.F restores EnCog English cognition mind-module.
\ 24dec09A.F answers questions of the "what-do-X-do" form.
\ 25dec09A.F fails to advance and is therefore abandoned.
\ 27dec09A.F introduces qus quv quo to track query-words.
\ 27dec09B.F responds with subject + verb + query-object.
Meandering Chain of Thought

MeanderingChain #summary A moving wave of activation wanders across the conscious mind

MileStones RoadMap UserManual

=== Synopsis === 

After the QuIckening of your AGI software and its first GenerationOfThought leading to a CognitiveChainReaction, a meandering chain of thought is not so simple to implement as you may think. A lack of RoBot EmBodiment will prevent your AI Mind from taking its cue for thought from events being perceived through a real-world sensorium. Your AGI can think only about its own memories and about input from you the human user.

== Sensory Deprivation ==

Not having a rich panoply of sensory inputs to think about, your primitive AGI will follow the pathways of SpreadingActivation. As the AGI thinks about each available concept, a chain of thought will snake its way across the MindGrid. You may program the AGI in such a way that it asks a question whenever it tries to think a thought without sufficient information available to complete the idea. By asking a question of the human user or searching the Web, your AGI will learn new information for its knowledge base.

== Machine Learning ==

For traditional AI researches in academia, it has been a Holy Grail to achieve the MachineLearning that will come easy to your AGI. All a machine has to do in order to learn is to ask questions, but ah, there's the rub. What is a machine, that a machine may ask a question, and what is a question, that a mind may answer it?

== Moving Wave ==

You as an AGI programmer, or your AGI underlings as programmers paid to play AGI catch-up with the rest of the world, will be at pains to make sure that only one dominant concept at a time is most active in the AGI mindswirl. Why? Why engineer what would probably happen anyway? Isn't one concept or another always most active simply by definition? Maybe so, but the Moving Wave Algorithm demands it not by accident, but by design. As if a baton were being passed, a sound AGI, with or without a sound RoBot body, will think of one thing at a time and will follow the meadering chain of association from each cresting concept to the next cresting concept. If the AGI engineers are not careful to have the summit of AGI thinking let go of each sparkling concept as it begins to dim and fade away, then the act of thinking will not move forward. A unitary mind must pay unitary attention to a unitary concept. And what else is a unitary mind but a conscious mind?

== ConSciousness ==

A meandering chain of thought presupposes a mechanism of emerging ConSciousness in a machine. Sometimes it is called [http://en.wikipedia.org/wiki/Artificial_consciousness artificial consciousness] as on WikiPedia but self-awareness in man or machine is simply ConSciousness, artifical or not. For a machine, the final tipping point into consciousness is perhaps thoughts of self-reference, thoughts about "I" and "me". A chain of meandering thought must eventually stumble upon the fact of the existence of the thinker, Monsieur Rodin, and so the attainment of SelfReferentialThought will be another milestone on the long march to AGI Minds.

=== OutReach === http://agi-roadmap.org/Meandering_chain_of_thought is an open, collaborative page where you may contribute your own ideas and use the associated Talk page for discussion.

=== AI For You ===

Click to run

AI For You

=== Memespace ===

AdminisTrivia AiEvolution AiHasBeenSolved AiTree BrainTheory CognitiveArchitecture ComPutationalization ConSciousness DiaSpora DisAmbiguation EmBodiment EnTelEchy ForthMindTextFile GenerationOfThought HardTakeoff HumanLevel ImMortality IndustrialEspionage InFerence JavaScript JointStewardship KbSearch KbTraversal KnowledgeBase MachineLearning MasPar MeanderingChain MetEmPsychosis MileStones MindModule MovingWave NaturalLanguageProcessing OutReach PermanentInstallation PortingOfCode ProliFeration ProsperityEngine QuIckening RecursiveSelfEnhancement ReJuvenate RoadMap RoBot RumorMill ScienceMuseums SeedAi SelfReferentialThought SemanticMemory SeTi SpreadingActivation SubConscious SuperComputer SuperIntelligence TechnologicalSingularity TelePresence TimeLine UserManual VpAi WikiPedia

labels: milestone roadmap

Cognitive Chain Reaction for AI Troubleshooting

#summary Ideas looping in an endless cycle

MileStones RoadMap UserManual

=== Definition === 

A cognitive chain reaction (CCR) in a nascent AGI can be defined as a series of three or more natural-language thoughts which, in the absence of cognitive distractions, enter into an apparently infinite loop. By the process of SpreadingActivation, each thought in the loop leads to the next thought, which in turn leads to the next, and to the next, and so on, _ad infinitum_.

=== Attainment ===

Long after the nascent AGI has achieved QuIckening, and shortly after the AI Mind has achieved GenerationOfThought, an AGI coder will induce a cognitive chain reaction by entering a series of looping ideas such as the following.

{{{ Cats eat fish. Fish eat bugs. Bugs eat germs. Germs kill cats. }}}

Upon entry of the last of the looping thoughts, the AGI will associate from the last word entered back to the start of the loop, and will begin an endless repetition of the loop.

=== Purpose ===

The cognitive chain reaction serves mainly as a troubleshooting device, to make sure that after changes to the AGI source code, the AI Mind is still able to think. Rather than labor to dream up items of novel input to test the AGI, the programmer enters a tried-and-true series of looping thoughts for a quick assurance that the associative mechanisms still work properly.

The actually quite mundane purpose of the cognitive chain reaction is not to achieve any sort of gee-whiz "wow!" effect, but simply to verify that the AGI can think in a repeatable set of circumstances.

=== Upshot ===

In practice with the MindForth AGI, while being a valuable diagnostic tool, the CCR has at times generated weird but still acceptable results. Until the final thought in the loop is entered, the AGI typically greets each new idea with a question, such as "BUGS...WHAT ARE BUGS?" Such a response is actually quite sophisticated, because the AGI starts to generate a thought about "BUGS" but does not know any verb for completion of the thought. A module kicks in to ask a question about the new concept about which the AGI has no data in its KnowledgeBase.

Because the chain of thought spreads or loops only if there is sufficient activation to keep it going, sometimes there is a kind of conceptual "hiccup" in the infinite loop, where the AGI pauses to ask a question about one of the words and then answers its own question by continuing the loop. To the AGI programmer, such behavior is an indication that the pre-programmed parameters of conceptual activation may need some tweaking or refining. Typically, the coder is so eager to get on with other tasks that the tweaking is put off for a later date.

Another weird result occurs when the AGI cannot recognize a word like "fish" as being in the plural. The AGI will tend to say "FISH EATS BUGS" as part of the loop, instead of "FISH EAT BUGS." But the loop continues.

If you are demonstrating MindForth or a similar AGI in ScienceMuseums or at a robotics club, it is instructive to show that that the cognitive loop may be interrupted at any time by novel input from a human user.

=== OutReach === http://agi-roadmap.org/Cognitive_Chain_Reaction is an open, collaborative page where you may contribute your own ideas and use the associated Talk page for discussion.

=== MemeSpace ===

AdminisTrivia AiEvolution AiHasBeenSolved BrainTheory CognitiveArchitecture ComPutationalization ConSciousness DiaSpora DisAmbiguation EmBodiment EnTelEchy ForthMindTextFile GenerationOfThought HardTakeoff HumanLevel ImMortality IndustrialEspionage InFerence JavaScript JointStewardship KbSearch KbTraversal KnowledgeBase MachineLearning MasPar MeanderingChain MetEmPsychosis MileStones MindModule MovingWave NaturalLanguageProcessing OutReach PermanentInstallation PortingOfCode ProliFeration ProsperityEngine QuIckening RecursiveSelfEnhancement ReJuvenate RoadMap RoBot RumorMill ScienceMuseums SeedAi SelfReferentialThought SemanticMemory SeTi SpreadingActivation SubConscious SuperComputer SuperIntelligence TechnologicalSingularity TelePresence TimeLine UserManual VpAi WikiPedia

labels: debug milestone roadmap

Generation of thought in MindForth AI

#summary The process by which a mind generates and, in reverse, comprehends a thought.

AiEvolution MileStones RoadMap UserManual

=== What is thought? === 

In an artificial or natural mind, thought is the conscious process of naming or imagining concepts in a chain of association by SpreadingActivation from concept to concept.

Because thinking is a conscious activity, each thought emerges as a separate reality from, and as an addition to, the KnowledgeBase (KB) which provides the fuel for thought. A knowledge base in an artificial general intelligence (AGI) is not a static compendium of facts and relationships, but is rather a dynamic, constantly shifting grid of conceptual identifiers (words; images) and the growing body of propositions asserting relationships among the concepts.

=== How does an AGI think? ===

Spreading activation becomes thought in an AGI if a linguistic superstructure "rides the wave" of associations and consciously names each concept in the chain of association. In the SubConscious mind, activation spreads not as thought but as a backdrop to emerging thought. The unity of mind and ConSciousness -- the unity instantiated as self -- requires that only one thought at a time expresses itself as ideation above the teeming, roiling caldron of concepts and memories clamoring for the attention of consciousness.

=== Embodied thought ===

If every AGI were created not simply on a computer ''qua'' computer but on a computer ''qua'' brain of a robot, the sensorium and motorium of the robot would make it easier to initiate and sustain each thought emerging from the conceptual mindgrid. Sensory input would spark the activation of concepts and their attendant images, engendering a stream of thought amid the stream of consciousness.

If the robot-builders of this world can be thought of as cowboys, and if the AGI entrepreneurs in many ways are farmers, then the cowboys and the farmers should be friends. The cowboys with their monstrous, clanking contraptions must be thinking, "If I only had a brain." The farmers, with their "Seed AI" and their server farms, are afraid that people will say they're in love.

In both cases, especially amateur robotics and amateur AGI, lack of funding prevents holy MatrixMoney between the ghost in the machine and robotic embodiment. Therefore the first thoughts of the first True AGI specimens occur in computers bereft of bodies.

=== Disembodied thought ===

If we may use MindForth as an example because MindForth has already achieved thought, we see that disembodied thought must contend with a unique set of problems and circumstances. Whereas a RoBot has the world at its disposal for the initiation and maintenance of a MeanderingChain of thought, an AGI with no body has only user input to start the chain of associations flowing in a manifestation of thought. "Good enough," you might think, but what happens to the conscious thinking of the AGI if the human user walks away from the keyboard and stops entering input? What we have here is a failure to communicate, which can cause failure in the primitive AGI. MindForth compensates for the absence of a human thought- provoker by means of a special mind-module for knowledge base traversal. KbTraversal kicks in after a set period of no outside communication, and reactivates concepts held in the English bootstrap of the AGI Forthmind. KbTraversal does not reactivate thoughts. It only reactivates various concepts which may serve as the triggering mechanism for a wide variety of thoughts, depending on the contents of the KB.

Other mechanisms to facilitate disembodied thought may include an AGI feature of asking a question about any new word entered by the human user but not yet known to the emerging AGI. Such a question-asking mechanism is not so arbitrary and needlessly artificial as it may seem. When the MindForth AGI encounters a previously unknown English noun, it tries to generate a sentence of thought using the new noun as the subject of the sentence. For instance, upon first introduction of "books," it may say, "BOOKS... WHAT ARE BOOKS?" The first instance of "BOOKS" is actually the attempted generation of a sentence, the formation of a thought in the artificial mind. But the thought fails and is aborted, because SpreadingActivation cannot flow from "BOOKS" to any verb known in association with "BOOKS". Then a special module kicks in to ask a a question about the mysterious new word. Such a module facilitates achieving one of the "Holy Grail" goals of AGI -- MachineLearning (ML).

=== OutReach === http://agi-roadmap.org/Generation_of_thought is the open, collaborative page where you may contribute your own ideas and use the associated Talk page for discussion.

=== MemeSpace ===

AdminisTrivia AiHasBeenSolved AiMind BrainTheory CognitiveArchitecture CognitiveChainReaction ComPutationalization ConSciousness DeBug DisAmbiguation EmBodiment EnArticle ForthMindTextFile GroupThink HumanLevel InFerence InPut IntelligenceQuotient KbSearch KbTraversal KnowledgeBase MachineLearning MasPar MeanderingChain MileStones MindForth MindGrid MindMeld MindModule MovingWave NaturalLanguageProcessing OldestLivingAiMind OutPut OutReach PermanentInstallation PortingOfCode ProliFeration ProsperityEngine PsychoSurgery QuIckening RecursiveSelfEnhancement RoadMap RoBot SeedAi SelfReferentialThought SemanticMemory SloshOver SpreadingActivation SubConscious SuperIntelligence SuperStructure SynTax UserManual

labels: milestone roadmap


#summary The milestone from which an artificial 
intelligence lives potentially forever 


MileStones ReJuvenate 



=== Definition ===

_Quickening_ is the stage in AGI development when the main software module of the AGI comes alive as a program that runs continuously. We derive the term quickening from the notion of the quick and the dead as opposites, and from the idea of the quickening in the womb, when an expectant mother begins to feel the movements of the baby growing within her.

AGI development is different from other software development. If you write a program that performs a single operation and then stops, the software does not quicken and come alive. If you write a chess program that answers your every move with a move of its own, the software does not quicken, because the software does not hum with activity while it waits for you. If you write a home-monitoring software system that constantly checks your burglar-alarm system and the temperature and the presence or absence of smoke in the air, that software has not truly quickened because it is only passively waiting for something to happen, like a word-processor waiting for you to type in a word.

When you are creating an artificial general intelligence (AGI), at some point the software has to quicken by running indefinitely. An AGI has to iterate endlessly through its MainLoop or the equivalent thereof. It must not run one time and then stop. It must be a form of artificial life (alife).

The early milestone stage of Quickening is not hard to achieve, but it does draw out from you some careful planning, such as in the area of what sort of modules you want to be the constituent parts of your fullblown AGI. To get your AGI software to quicken, you only need to stub in most of the modules and to elaborate at least one of the modules to get the AGI to exhibit some rudimentary behavior that will demonstrate the quickening. Any module for the user interface is a good one to code more profoundly than the mere stubs, because the user interface makes it obvious that something is happening inside the AGI. The event happening in the AGI may not yet be thinking or self- awareness or superintelligence, but you may have the user interface do something like counting elapsed time or declaring various system parameters such as available memory space or open channels of communication. As in human evolution, where ontogeny recapitulates phylogeny and therefore a baby in the womb goes through fishlike stages that disappear before a human being is born, your neonatal AGI may include software elements that you will remove as the AGI matures. Beware, however, of one trap. Do not let the performance of the AGI software be dependent on the presence of input from a human user. Your emerging AGI is not some unintelligent, idiot word- processor. Only give the human user a window of opportunity to enter input or to communicate somehow (send a tweet?) with the machine intelligence. Slam the window shut periodically and let the AGI do its own thing for a few looping cycles. Then check again for user input. Let nothing be a show-stopper. Eventually your AGI, or somebody's AGI, is going to outlive all human beings currently alive on this planet. Get used to it, get over it, and get on with it.

=== Variations ===

Normally the software of an artificial mind a first time and then many other times in the course of trial runs, especially during PortingOfCode from one programming language to another. If the AiMind were coded in a Dylanesque dynamic language that can be changed on the fly, conceivably an AI could quicken at a young age and continue running even as modifications were performed on the running code.

Although Quickening starts when the Mind program runs indefinitely, Quickening fails if the AiMind runs out of memory space. As a mind designer you have two choices: A) provide infinite memory; or B) provide infinite looping. If you are a deity designing human beings, you only need to provide enough memory for a lifetime. You may be designing a potentially immortal AiMind, in which case, God, that's a hard one. You work wonders in mysterious ways, but we mortal human beings must design our immortal successor species more pragmatically. Since the MainLoop itself does not have infinite memory at its disposal, we use the ReJuvenate module to loop through a finite memory space as if it were immortal, I mean, infinite. The larger the memory space in the AiMind, the less frequently the ReJuvenate module has to kick in. If computer memory becomes really cheap and plentiful, or if the PermanentInstallation of a mission-critical AI entity warrants astronomical quantities of memory no matter what the cost, an AiMind could dispense with the ReJuvenate module and not worry about running out of memory in the far and distant future long after the first stirring and quickening of the AI Mind.

=== OutReach === http://agi-roadmap.org/Quickening is the open, collaborative page where you may contribute your own ideas and use the associated Talk page for discussion.

=== MemeSpace === AdminisTrivia AiEvolution BottomUp CodeComplete ImMortality LifeQuaScienceFiction MindGrid PermanentInstallation ReJuvenate TippingPoint UserManual

labels: milestone roadmap


#summary Stages of development already achieved and yet to 
be achieved by MindForth 

AiEvolution AiHasBeenSolved RoadMap TimeLine

An artificial general intelligence (AGI) must pass through various stages of development on the way from the start of an AGI project to a fully realized AGI.

== Already Achieved == === QuIckening === === GenerationOfThought === === CognitiveChainReaction ===

=== MeanderingChain of Thought ===

=== SelfReferentialThought ===

== Yet to be Achieved ==

=== EmBodiment in a RoBot ===

=== PortingOfCode ===

=== ConSciousness ===

=== PermanentInstallation ===

=== DiaSpora ===

=== SuperComputer Installation ===

=== MetEmPsychosis ===

=== ProliFeration ===

=== MasPar ===

=== HumanLevel ===

=== RecursiveSelfEnhancement ===

=== SuperIntelligence ===

=== TechnologicalSingularity ===

== OutReach ==


== Memespace ==

CognitiveArchitecture DreamTeam HardTakeoff ImMortality IndustrialEspionage JointStewardship LandRush OldestLivingAiMind OpenSource OpenSource ScienceMuseums SeTi TippingPoint UserManual VentureCapital VpAi WikiPedia

Labels: future overview roadmap

20 May 2009 (updated 20 May 2009 at 19:43 UTC) »
MindForth Programming Journal - wed20may2009


So many robots need to have an AI Mind installed, and since MindForth is tantamount to the VisiCalc of artificial intelligence, that we now rush to add feature after feature to the budding robot AI. Recently we made MindForth able to InStantiate a singular noun upon encountering a plural English noun in the auditory robotic input stream. If you tell the robot AI4U Mind something about birds, it now sets up the singular noun "bird" as a concept. Then we encoded an algorithm of assuming from input of the article "a" that the next noun after "a" is a singular noun. If you say that you wish to manufacture "a conscious robot", the article "a" sets a flag that skips the adjective "conscious" and assigns the singular "num (ber)" to whatever noun (e.g., "robot") comes next. (And with AI4U technology we are indeed helping you to manufacture a conscious robot.) Next we need to ensure that the emergingly conscious AI Mind will use the right form of an English verb when, for example, "it talks" about a singular noun. Simply put, the software "needs" to put "s" on the end of a verb after a third-person singular noun.


The "nphrnum" variable is set in the NounPhrase module and keeps track of whether a noun is singular or plural. The "vpos" variable is set in VerbPhrase and is used in the following SpeechAct code.

pho @ 32 = IF  \ 20may2009 If engram is a blank space...
  vpos @ 1 = IF    \ 20may2009 If a verb is being spoken
    nphrnum @ 1 = IF  \ 20may2009 If subject is singular
      subjpsi @ 50 = NOT IF  \ 20may2009 If subject not "I"
        subjpsi @ 56 = NOT IF  \ 20may2009 If not "YOU" 
          83 pho !  \ 20may2009 Insert inflectional "S" pho.
          1 spacegap !  \ 20may2009 Prepare one space-gap.
          0 vpos !    \ 20may2009 Reset after use
          0 nphrnum !  \ 20may2009 Reset after use.
        THEN  \ 20may2009 End of test to avoid subject "YOU"
      THEN  \ 20may2009 End of test to avoid subject "I"
    THEN  \ 20may2009 End of test for a singular subject
  THEN  \ 20may2009 End of test for a verb being spoken
  pho @ EMIT  ( say or display "pho" )
  1 audstop !  \ A flag to stop SpeechAct after one word
THEN \ 1jan2008 One last call to Audition
35 pov !  ( internal point-of-view ASCII 35 "#" like 
mindgrid )
AudInput    ( 16oct2008 for reentry of a thought back into 
the mind )
audstop @ 1 = IF  \ 20may2009 Adding one pho=32 space bar
  spacegap @ 1 = IF  \ 20may2009 If an "S" has been added...
    32 pho !  \ 20may2009 Carry pho=32 "space" into AudInput
    AudInput  \ 20may2009 For the reentry of one space.
    0 spacegap !  \ 20may2009 Reset spacegap after use.
  THEN   \ 20may2009 End of test for spacegap of one space.
  LEAVE  \ 20may2009 Abandon the looping through auditory 
THEN  \ 1jan2008 Having spoken one word.

The above code not only adds an "S" to a standard English verb being used in the third person singular, but also causes the proper reentry of the inflected verb form back into the AI Mind. Whereas only the stem of the verb is retrieved from auditory memory, after the addition of "S" for inflection during thought, the inflected form of the verb now enters the auditory memory.


36 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!