Strong AI Steps for Coding AI Mind in Python

Joel Goldstick joel.goldstick at gmail.com
Tue Apr 14 08:28:43 EDT 2020


On Tue, Apr 14, 2020 at 8:21 AM <mentificium at gmail.com> wrote:
>
> 1. Code the MainLoop module -- http://ai.neocities.org/MainLoop.html
>
> Code the MainLoop in Python. Use either an actual loop with subroutine calls, or make a ringlet of perhaps object-oriented module stubs, each calling the next stub. Provide the ESCAPE key or other mechanisms for the user to stop the AI.
>
> 2. Code the Sensorium module or subroutine -- http://ai.neocities.org/Sensorium.html
>
> Start a subroutine or module that is able to sense something coming in from the outside world, i.e., a key-press on the keyboard.
>
> 3. Stub in the EnThink module for English thinking -- http://ai.neocities.org/EnThink.html
>
> 4. Initiate the AudInput module for keyboard or acoustic input.
>
> Drop any [ESCAPE] mechanism down by one tier, into the AudInput module, but do not eliminate or bypass the quite essential Sensorium module, because another programmer may wish to specialize in implementing some elaborate sensory modality among your sensory input stubs. Code the AudInput module initially to deal with ASCII keyboard input. If you are an expert at speech recognition, extrapolate backwards from the storage requirements (space and format) of the acoustic input of real phonemes in your AudInput system, so that the emerging robot Mind may be ready in advance for the switch from hearing by keyboard to hearing by microphone or artificial ear.
>
> 5. The TabulaRasa loop.
>
> Before you can create an auditory memory AudMem subroutine for storing input from the keyboard, you may need to code a "TabulaRasa" loop that will fill the mental memory of the AI with blank engrams, thus reserving the memory space and preventing error messages about unavailable locations in the AI memory.
>
> 6. MindBoot English +/- Russian bootstrap -- http://ai.neocities.org/MindBoot.html
>
> The knowledge base (MindBoot) module makes it possible for the Strong AI Mind to begin thinking immediately when you launch the more advanced AI program. Here we stub in the EnBoot subroutine with an English word or two before the AudMem module begins to store new words coming from the AudInput module. The EnBoot stub shows us that the first portion of the AI mental memory is reserved for the innate concepts and the English words that express each concept. If you use the same Unicode that Perl enjoys to create a Strong AI Mind in Arabic, Chinese, Hungarian, Indonesian, Japanese, Korean, Swahili, Urdu or any other natural human language, you will need to create a bootstrap module for your chosen human language.
>
> 7. AudMem (Auditory Memory) -- http://ai.neocities.org/AudMem.html
>
> Into the auditory array that was filled with blank spaces by the TabulaRasa sequence and primed with some bootstrap content by the EnBoot or MindBoot sequence, insert some new memories with the AudMem auditory memory module. Modify the AudInput module to prompt for English words and modify the EnThink module to display words stored in memory as if they were a thought being generated in English (or in your chosen natural human language).
>
>
> 8. Speech Module -- http://ai.neocities.org/Speech.html
>
> The Speech module fetches characters from a starting point in auditory memory and displays the characters on-screen until a blank space occurs to signify the end of the word stored in memory.
>
>
> 9. NewConcept Module -- http://ai.neocities.org/NewConcept.html
>
> The NewConcept module creates a new concept for any unrecognized word in the input stream, even a misspelled word entered by mistake. In Symbolic AI, each word of natural language is the symbol of a concept, and as such is the key to accessing the concept. Of course, a recognized image may also grant access to a concept.
>
>
>
> 10. EnParser English Parsing Module -- http://ai.neocities.org/EnParser.html
>
> The EnParser (English parser) module does not so much determine the part of speech of a word of input, but more importantly it assigns to an input word its grammatical role in the complete phrase being processed during Natural Language Understanding.
>
>
>
> 12. AudRecog auditory Recognition Module -- http://ai.neocities.org/AudRecog.html
>
> The AudRecog module for auditory recognition recognizes various forms of a word, such as singular or plural nouns, or verbs with various inflected endings.
>
>
>
> 13. OldConcept Module -- http://ai.neocities.org/OldConcept.html
>
> If the AudRecog module recognizes a particular word, then the AudInput module calls the OldConcept module to create a new instance of the previously known concept. If a word is not recognized, AudInput calls the NewConcept module to create a new concept for the word as a symbol.
>
>
>
> 14. SpreadAct Spreading Activation Module -- http://ai.neocities.org/Spreadact.html
>
> The SpreadAct module for Spreading Activation performs both simple spreading activation between concepts and also an extremely sophisticated role of responding to various input queries posed by human users.
>
>
>
> 15. EnNounPhrase English Noun-Phrase Module -- http://ai.neocities.org/EnNounPhrase.html
>
> The English noun-phrase module selects the most activated noun-concept to be the subject of a phrase or sentence.
>
>
> 16. ReEntry.
>
> The ReEntry module is used in the various JavaScript Minds to facilitate the reentry of an output word back into the AI Mind.
>
>
> 17. EnVerbPhrase English Verb-Phrase Module -- http://ai.neocities.org/EnVerbPhrase.html
>
> The English verb-phrase module fetches from memory a verb that has basically been pre-ordained to be expressed as the verb in a Subject-Verb-Object (SVO) phrase or sentence. EnVerbPhrase also calls a module like EnVerbGen to generate an inflected form of an indicated verb. EnVerbPhrase is designed with a view to calling the VisRecog module to supply the English word for the visually recognized object of the action of a verb, such as in a sentence like "I see... (a dog)."
>
>
>
> 18. EnAuxVerb English Auxiliary Verb Module -- http://ai.neocities.org/EnAuxVerb.html
>
> The English auxiliary-verb module calls auxiliary verbs such as "do" or "does" for use in the generation of such sentences as a negated idea, such as "God does not play dice."
>
>
> 19. AskUser Module -- http://ai.neocities.org/AskUser.html
>
> The AskUser module works in conjunction with the logical InFerence module to ask a human user to confirm or deny a logical inference being proposed inside an AI Mind.
>
> 20. ConJoin Module -- http://ai.neocities.org/ConJoin.html
>
> The ConJoin module inserts a conjunction during the generation of a compound thought. For instance, if an AI Mind has two or more higjly activated subjects of thought, the ConJoin module will insert the conjunction "and" to join two active ideas together.
>
>
> 21. EnArticle Module -- http://ai.neocities.org/EnArticle.html
>
> The English article module inserts the article "a" or the article "the" before a noun in a sentence being generated.
>
>
> 22. EnAdjective Module -- http://ai.neocities.org/EnAdjective.html
>
> The English adjective module recalls and inserts an adjective during the generation of a thought.
>
>
> 23. EnPronoun Module -- http://ai.neocities.org/EnPronoun.html
>
> The English pronoun module replaces a noun with a pronoun.
>
> 24. AudBuffer Module -- http://ai.neocities.org/AudBuffer.html
>
> The auditory buffer module stores a word in memory for transfer to the OutBuffer module for inflectional processing.
>
>
> 25. OutBuffer Module -- http://ai.neocities.org/OutBuffer.html
>
> The OutBuffer module holds a word in a right-justified framework where the ending of the word may be modified by a module like the EnVerbGen module for generating a required English verb-form.
>
>
> 26. KbRetro Module -- http://ai.neocities.org/KbRetro.html
>
> The KbRetro module retroactively adjusts the knowledge base (KB) of the AI in response to user input responding to a question from the AskUser module.
>
>
> 27. EnNounGen English-Noun Generating Module
>
> The English noun-generating module shall modify a singular English noun into its proper plural form by adding "s" or "es".
>
>
> 28. EnVerbGen EnGlish Verb Generating Module -- http://ai.neocities.org/EnVerbGen.html
>
> The verb-generation module operates when the verb-phrase module fails to find a needed verb-form in auditory memory.
>
>
> 29. InFerence Module -- http://ai.neocities.org/InFerence.html
>
> The InFerence module engages in automated reasoning with logical inference. For instance, if the user inputs 'John is a student," the AI may infer the possibility that John reads books, The AskUser module asks the user, "Does John read books?" Depending on a "yes" or "no" answer, the KbRetro module retroactively adjusts the knowledge base (KB), either discarding the unwarranted inference or by leaving intact a true inference or inserting "not" into a negated inference such as "John does not read books."
>
>
> 30. EnThink English Thinking Module -- http://ai.neocities.org/EnThink.html
>
> The English thinking module calls such subordinate modules as the Indicative module for a declarative sentence or the InFerence module for automated reasoning.
>
>
> 31. Motorium Robot Motor Memory Module -- http://ai.neocities.org/Motorium.html
>
> As soon as you have sensory memory for audition, it is imperative to include motor memory for action. The polarity of robot-to-world is about to become a circularity of robot - motorium - world - sensorium - robot. If you have been making robots longer than you have been making minds, you now need to engrammatize whatever motor software routines you may have written for your particular automaton. You must decouple your legacy motor output software from whatever mindless stimuli were controlling the robot and you must now associate each motor output routine with memory engram nodes accreting over time onto a lifelong motor memory channel for your mentally awakening robot. If you have not been making robots, implement some simple motor output function like emitting sounds or moving in four directions across a real or virtual world.
>
> 32. Volition module for robot free will -- http://ai.neocities.org/Volition.html
>
> In your robot software, de-link any direct connection that you have hardcoded between a sensory stimulus and a motor initiative. Force motor execution commands to transit through your stubbed-in Volition module, so that future versions of your thought-bot will afford at least the option of incorporating a sophisticated algorithm for free will in robots. If you have no robot and you are building a creature of pure reason, nevertheless include a Volition stub for the sake of AI-Complete design patterns.
>
>
> 33. The SeCurity module.
>
> The SeCurity module is not a natural component of the mind, but rather a machine equivalent of the immune system in a human body. When we have advanced AI robots running factories to fabricate even more advanced AI robots, let not the complaint arise that nobody bothered to build in any security precautions. Stub in a SeCurity module and let it be called from the MainLoop by uncommenting any commented-out mention of SeCurity in the MainLoop code. Inside the new SeCurity module, insert a call to ReJuvenate but immediately comment-out the call to the not-yet-existent ReJuvenate module. Also insert into SeCurity any desired code or diagnostic messages pertinent to security functions.
>
> http://ai.neocities.oprg/AiSteps.html
> --
> https://mail.python.org/mailman/listinfo/python-list

Is there a question here?  It looks like a pretty involved homework assignment

-- 
Joel Goldstick
http://joelgoldstick.com/blog
http://cc-baseballstats.info/stats/birthdays


More information about the Python-list mailing list