Cyborg AI Minds are a true concept-based artificial intelligence with natural language understanding, simple at first and lacking robot embodiment, and expandable all the way to human-level intelligence and beyond. Privacy policy: Third parties advertising here may place and read cookies on your browser; and may use web beacons to collect information as a result of ads displayed here.

Showing posts with label what-query. Show all posts
Showing posts with label what-query. Show all posts

Tuesday, June 05, 2018

jmpj0605

Mentifex re-organizes the Strong AI SpreadAct() module.

In the 5jun18A.html JavaScript AI Mind we would like to re-organize the SpreadAct() mind-module for spreading activation. It should have special cases at the top and default normal operation at the bottom. The special cases include responding to what-queries and what-think queries, such as "what do you think". Whereas JavaScript lets you escape from a loop with the "break" statement, JavaScript also lets you escape from a subroutine or mind-module with the "return" statement that causes program-flow to abandon the rest of the mind-module code and return to the supervenient module. So in SpreadAct() we may put the special-test cases at the top and with the inclusion of a "return" statement so that program-flow will execute the special test and then return immediately to the calling module without executing the rest of SpreadAct().

When we run the JSAI without input, we notice that at first a chain of thought ensues based solely on conceptual activations and without making use of the SpreadAct() module. The AI says, "I HELP KIDS" and then "KIDS MAKE ROBOTS" and "ROBOTS NEED ME". As AI Mind maintainers we would like to make sure that SpreadAct() gets called to maintain chains of thought, not only so that the AI keeps on thinking but also so that the maturing AI Mind will gradually become able to follow chains of thought in all available directions, not just from direct objects to related ideas but also backwards from direct objects to related subjects or from verbs to related subjects and objects.

In the EnNounPhrase() module we insert a line of code to turn each direct object into an actpsior concept-to-be-activated in the default operation at the bottom of the SpreadAct() module. We observe that the artificial Mind begins to follow associative chains of thought much more reliably than before, when only haphazard activation was operating. In the special test-cases of the SpreadAct() module we insert the "return" statement in order to perform only the special case and to skip the treatment of a direct object as a point of departure into a chain of thought. Then we observe something strange when we ask the AI "what do you think", after the initial output of "I HELP KIDS". The AI responds to our query with "I THINK THAT KIDS MAKE ROBOTS", which is the idea engendered by the initial thought of "I HELP KIDS" where "KIDS" as a direct object becomes the actpsi going into SpreadAct(). So the beastie really is telling us what is currently on its mind, whereas previously it would answer, "I THINK THAT I AM A PERSON". When we delay entering our question a little, the AI responds "I THINK THAT ROBOTS NEED ME".

Sunday, June 03, 2018

jmpj0603

AI Mind spares Indicative() and improves SpreadAct() mind-module.

We have a problem where the AI Mind is calling Indicative() two times in a row for no good reason. After a what-think query, the AI is supposed to call Indicative() a first time, then ConJoin(), and then Indicative() again. We could make the governance depend upon either the 840=THINK verb or upon the conj-flag from the ConJoin() module, which, however, is not set positive until control flows the first time through the Indicative() module. Although we have been setting conj back to zero at the end of ConJoin(), we could delay the resetting in order to use conjas a control-flag for whether or not to generate thought-clauses joined by one or more conjunctions. Such a method shifts the problem back to the ConJoin() module, which will probable have to check conceptual memory for how many ideas have high activation above a certain threshold for warranting the use of a conjunction. Accordingly we go into the Table of Variables webpage and we write a description of conj as a two-purpose variable. Then we need to decide where to reset conj back to zero, if not at the end of Indicative(). We move the zero-reset of conjfrom ConJoin() to the EnThink() module, and we stop getting more than one call to Indicative() in normal circumstances. However, when we input a what-query, which sets the whatcon variable to a positive one, we encounter problems.

Suddenly it looks as though answers to a what-think query have been coming not from SpreadAct(), but simply from the activation of the 840=THINK concept. It turns out that a line of "psyExam" code was missing from a SpreadAct() search-loop, with the result that no engrams were being found or activated -- which activation is the main job of the SpreadAct() module.