1.
Theory of
AI Textbook Algorithm Steps: Code the HCI Module
___________ ___________ / \ / \ / Motorium \ / enBoot \ \_____________/\ ______ /\_____________/ __________ \ / \ / ________ / \ \/ main \/ / \ ( Volition )--------< aLife >----------( Security ) \__________/ /\ loop /\ \________/ _____________ / \______/ \ _____________ | / \/ | \/ \ | \ Think / ____V_____ \ Sensorium / | \___________/ / \ \___________/ _V_ ( Emotion ) / \ \__________/ ( HCI ) \___/http://mind.sourceforge.net/diagrams.html shows a Theory of Mind.
The human-computer interaction (HCI) module is a crucial
component not only of the robot AGI mind but of any software
designed for direct personal use by human beings.
Whole careers are based on the always hot topic of HCI.
The HCI issue is especially sensitive if we are going to accord
robots the same rights as we human beings enjoy, and vice versa.
The diagram above shows how the Security
module calls the HCI module.
Although Darwininan mind-designers are free to ordain the calling
of HCI however seems best for the survival of the fittest, it makes
sense to put Security in charge of governing all instances of
Human-Computer Interaction (HCI).
2. Genesis -- Constructing the HCI Module
Fashioning the HCI module is more of an art than a science,
because there is very little science of mind involved, and
plenty of artwork. If you are building artificial minds
commercially, the HCI is where you had better look your best.
Let's say, Netizen, that you want to set up an artificial mind
for a friend or client's atelier, or professional waiting room,
or customer information kiosk, or whatever. You have artistic
license to make the HCI display as dazzling and flashy as you dare,
or as somber and as subdued as the situation necessitates.
// HCI()is the Human-Computer Interface between user and program. // HCI()is called from buttons and checkboxes or from Security(). function HCI() { // ATM 20may2002; or your ID & date. if (document.all["cb2"].checked == true) { // cb2=Troubleshoot. document.all["cb1"].checked = false; // Turn off Transcript. trouble = true; // Set the troubleshoot flag to "true". msg = 9; // for a cluster of Tutorial() troubleshoot messages } // end of if-clause to see if "Troubleshoot" is checked. if (document.all["cb2"].checked == false) { trouble = false; // Set the troubleshoot flag to "false". } // end of if-clause to see if Troubleshoot is NOT checked. if (document.all["cb1"].checked == true) { document.all["cb2"].checked = false; // Turn off Troubleshoot. hardcopy = true; msg = 4; // for cluster of Tutorial() Transcript messages now = new Date(); adcopy= ("<font size='+2'>Transcript of " + now + "<\/b><\/font>"); document.all.souvenir.innerHTML = adcopy; } // end of if-clause to see if "Transcript" is checked. if (document.all["cb1"].checked == false) { hardcopy = false; } // end of if-clause to see if Transcript is NOT checked. if (hardcopy == true) { // If session transcript is to be printed, if (userline != "" || output != "" ) { // if data are present, Transcript(); // display conversation for optional printing. } // End of test for "hardcopy" transcript flag. } // End of if-clause to call Transcript(). if (trouble == true) { // If a user requests Troubleshoot mode, Troubleshoot(); // display the deep contents of the AI Mind. } // End of if-clause to call Troubleshoot(). // DIY AI: Always return control to user: if (life == true) { // Only invite input if AI is alive. document.forms[0].ear.focus(); // Display blinking cursor. } // Check HALT to stop cursor; uncheck HALT to resume cursor. } // End of Human-Computer Interface (HCI) function.
\ HCI is the human-computer interface of the Robot AI Mind. : HCI \ ATM 11mar2005; or your ID & date. CLS ( Clear the screen to prevent scrolling. ) CR CR CR CR CR CR CR CR CR CR CR ( use middle of screen ) t @ 60 < IF CR ." There is no warranty for what this software does." ELSE CR THEN ." " \ A kind of buffer before all the backspacing. t @ 8 > IF .echo THEN ( show output of AI ) CR CR ." This AI Mind has been alive since " bhour @ . bminute @ . bsecond @ . ." o'clock on " bday @ . bmonth @ 1 = IF ." January " THEN bmonth @ 2 = IF ." February " THEN bmonth @ 3 = IF ." March " THEN bmonth @ 4 = IF ." April " THEN bmonth @ 5 = IF ." May " THEN bmonth @ 6 = IF ." June " THEN bmonth @ 7 = IF ." July " THEN bmonth @ 8 = IF ." August " THEN bmonth @ 9 = IF ." September " THEN bmonth @ 10 = IF ." October " THEN bmonth @ 11 = IF ." November " THEN bmonth @ 12 = IF ." December " THEN byear @ . CR ." and has rejuvenated itself " rjc @ . ." times by forgetting old unused memories." CR ." Enter a brief positive or negative unpunctuated sentence." CR ." The AI listens briefly for input, then generates a thought." CR ." Time = " t @ . 8 EMIT 59 EMIT \ Backspace, then display a semicolon. ." inert = " inert @ . inert @ 1 > IF \ As "inert" builds up in Audition... 8 EMIT 59 EMIT \ backspace, then display a semicolon. ." Ego may start a new chain of thought." ELSE \ if not about to assert EGO... 8 EMIT 46 EMIT \ Backspace, then display a period. THEN \ end of test for approach of call to EGO. 32 uract ! \ 26jul2002 Let PARSER decrement input "act". \ 26jul2002 We set point-of-view "pov" to 42=external \ so that SENSORIUM calls AUDITION which calls LISTEN: 42 pov ! \ 26jul2002 So that LISTEN will be called. ; \ End of HCI; return to the SECURITY safeguards module.
5. Analysis of the Seed AI Modus Operandi
The HCI modules in JavaScript and Forth are far more different
from each other than the AI algorithmic modules, for two reasons.
Firstly, as a semantic Web language, JavaScript is flashy and fun
and colorful, whereas Forth as a robotics control language is all
business and no play -- except for legions of amateur robot builders.
Therefore the AI in JavaScript is infinitely versatile and fanciful,
whereas Mind.Forth takes a minimalist approach to loading the AI.
Since the Forth version of the Robot AI Mind may be either loaded
into an autonomous mobile robot or hosted in a separate computer
connected by umbilical cord or infra-red link or whatever to the
robot embodiment of the Mind, the HCI possibilities are unlimited
in a remote-control mind that may operate on any system ranging
from an exact replica of the robot AI hardware all the way up to
the world's most powerful supercomputer for parsecs around the sun.
6. Troubleshooting and Robotic Psychosurgery
Try in advance not to introduce any
evolutionary bugs.
The
AI Debugger program may shed some light in general on how to debug
and troubleshoot programs in artificial intelligence.
7. HCI Resources for Post-Breakthrough AI Development