Discussion:
AI Differences between Forth and JavaScript
(too old to reply)
Mentifex
2013-03-19 17:21:48 UTC
Permalink
The German artificial intelligence for Linux

http://cyborg.blogspot.com/2009/11/linux.html

64-bit supercomputers is currently the most
advanced Mentifex AI Mind, but it warrants
porting into a JavaScript tutorial version
for memetic purposes of AI diaspora and for
incentivising ports into further languages
(both programming and natural languages).

Therefore yesterday I was translating the

http://code.google.com/p/mindforth/wiki/InFerence

module for machine reasoning from Forth into

http://cyborg.blogspot.com/2009/08/javascript.html

JavaScript and I ran into problems with how to
translate the following Forth neural-net AI code:

1 t +! \ increment t to store direct object; 30jan2013
seqtqv @ 7 psi{ @ t @ 0 psi{ ! \ dir. obj 30jan2013
40 t @ 1 psi{ ! \ activation of direct object 30jan2013
seqtqv @ 7 psi{ @ t @ 8 psi{ ! \ enx 18dec2012; 30jan2013
dobseq @ t @ 0 de{ ! \ so noun can be found; 30jan2013

The code above in Forth and below in JavaScript
stores the direct object "child" in the inference
formed when we tell the AI that "Eve is a woman."
Since the AI knows that "Women have a child",
the artificial Mind infers the possibility,
"Eve has a child." Forth fetches the concept of
"child" from one point in the mindgrid array and
inserts the stack-riding value into another point.
To code the same neural-net algorithm in JavaScript,
it was necessary to create the special variables
"seqdob" for the sequential direct object and
"seqenx" for the sequential English transfer.
Notice how verbose the code is in JavaScript:

t = (t+1); // increment time to store direct object; 18mar2013
Psi[seqtqv].psiExam(); // obtain seqdob from Psi array; 18mar2013
seqdob = psi7; // to serve as "psi0" in next insertion 18mar2013
seqenx = psi8; // to serve as "psi8" in next insertion 18mar2013
Psi[t].psiExam(); // expose values for change of some; 18mar2013
Psi[t] = new psiNode(seqdob,40,psi2,psi3,psi4,psi5,psi6,psi7,seqenx);
enLexicon[t].enExam(); // expose values even if empty; 18mar2013
enLexicon[t] = new enNode(dobseq,en1,en2,en3,en4,en5,en6,en7,en8);

http://www.scn.org/~mentifex/AiMind.html is now

"Artificial General Intelligence with machine
reasoning by inference", but the mind-modules

http://code.google.com/p/mindforth/wiki/AskUser

http://code.google.com/p/mindforth/wiki/KbRetro

have yet to be ported from Forth into JavaScript.
The current AiMind.html creates only a silent
inference visible as array-elements in Diagnostic
Display Mode when the AI is run in MS Explorer.

If these Mentifex AI Minds and other projects
catch on with some burgeoning pre-Cambrian-esque
explosiveness, behold soon an emergent job market
for AI coders and AI installation technicians.

Mentifex (Arthur)
--
http://www.scn.org/~mentifex/DeKi.txt
http://www.scn.org/~mentifex/Dushka.html
http://www.scn.org/~mentifex/mindforth.txt
http://store.kagi.com/cgi-bin/store.cgi?storeID=AMP_Live
Michael Haufe (TNO)
2013-03-19 21:43:18 UTC
Permalink
Despite the fact you write in a form analogous to post-modernists[1],
I will nevertheless offer the following advice: A stack oriented
language generally consists of functions from Stack -> Stack where a
Stack is implemented as a tuple of (a,Stack). Translating this into
another language which is either not stack oriented, or not one
amenable to the manipulation of such structures will no doubt lead to
a program of greater verbosity. As a result it would be wiser to
change perspective and use a different data structure such as a list,
or higher order combinators. For JavaScript I suggest either extending
an Array-like structure with methods, or implementing a fluent
interface for your DSL before layering the Forth translation on top of
it.


[1] http://old.richarddawkins.net/articles/824
Post by Mentifex
The German artificial intelligence for Linux
http://cyborg.blogspot.com/2009/11/linux.html
64-bit supercomputers is currently the most
advanced Mentifex AI Mind, but it warrants
porting into a JavaScript tutorial version
for memetic purposes of AI diaspora and for
incentivising ports into further languages
(both programming and natural languages).
Therefore yesterday I was translating the
http://code.google.com/p/mindforth/wiki/InFerence
module for machine reasoning from Forth into
http://cyborg.blogspot.com/2009/08/javascript.html
JavaScript and I ran into problems with how to
1 t +!  \ increment t to store direct object; 30jan2013
The code above in Forth and below in JavaScript
stores the direct object "child" in the inference
formed when we tell the AI that "Eve is a woman."
Since the AI knows that "Women have a child",
the artificial Mind infers the possibility,
"Eve has a child." Forth fetches the concept of
"child" from one point in the mindgrid array and
inserts the stack-riding value into another point.
To code the same neural-net algorithm in JavaScript,
it was necessary to create the special variables
"seqdob" for the sequential direct object and
"seqenx" for the sequential English transfer.
t = (t+1);  // increment time to store direct object; 18mar2013
Psi[seqtqv].psiExam(); // obtain seqdob from Psi array; 18mar2013
seqdob = psi7;  // to serve as "psi0" in next insertion 18mar2013
seqenx = psi8;  // to serve as "psi8" in next insertion 18mar2013
Psi[t].psiExam(); // expose values for change of some; 18mar2013
Psi[t] = new psiNode(seqdob,40,psi2,psi3,psi4,psi5,psi6,psi7,seqenx);
enLexicon[t].enExam();  // expose values even if empty; 18mar2013
enLexicon[t] = new enNode(dobseq,en1,en2,en3,en4,en5,en6,en7,en8);
http://www.scn.org/~mentifex/AiMind.htmlis now
"Artificial General Intelligence with machine
reasoning by inference", but the mind-modules
http://code.google.com/p/mindforth/wiki/AskUser
http://code.google.com/p/mindforth/wiki/KbRetro
have yet to be ported from Forth into JavaScript.
The current AiMind.html creates only a silent
inference visible as array-elements in Diagnostic
Display Mode when the AI is run in MS Explorer.
If these Mentifex AI Minds and other projects
catch on with some burgeoning pre-Cambrian-esque
explosiveness, behold soon an emergent job market
for AI coders and AI installation technicians.
Thomas 'PointedEars' Lahn
2013-03-20 10:03:28 UTC
Permalink
Post by Michael Haufe (TNO)
Despite the fact you write in a form analogous to post-modernists[1],
[…]
Please do not feed the troll. [1]

Please do not crosspost without Followup-To. [2]

Please do not use Google Groups for posting to Usenet. [3]

Please do not top-post. [4, 5]

F'up2 comp.lang.javascript

________
[1] <http://www.nothingisreal.com/mentifex_faq.html>
[2] <http://en.wikipedia.org/wiki/Crossposting>
[3] <http://al.howardknight.net/msgid.cgi?ID=120829004500>
[4] <http://jibbering.com/faq/#posting>
[5] <http://pointedears.de/faq#posting>
--
PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.
Dr J R Stockton
2013-03-20 20:43:50 UTC
Permalink
In comp.lang.javascript message <9cb9f93a-0f52-4732-aa93-***@qo
9g2000pbb.googlegroups.com>, Tue, 19 Mar 2013 10:21:48, Mentifex
Post by Mentifex
http://code.google.com/p/mindforth/wiki/InFerence
module for machine reasoning from Forth into
http://cyborg.blogspot.com/2009/08/javascript.html
If you write, or otherwise obtain, a Forth interpreter written in
JavaScript, then you will immediately be able to run all of the Forth
that anyone generates, for the project or otherwise.

I found it easy enough to write an RPN engine in Pascal (longcalc, via
sig line 3).
--
(c) John Stockton, nr London UK. ?@merlyn.demon.co.uk DOS 3.3, 6.20; WinXP.
Web <http://www.merlyn.demon.co.uk/> - FAQqish topics, acronyms and links.
PAS EXE TXT ZIP via <http://www.merlyn.demon.co.uk/programs/00index.htm>
My DOS <http://www.merlyn.demon.co.uk/batfiles.htm> - also batprogs.htm.
Continue reading on narkive:
Search results for 'AI Differences between Forth and JavaScript' (Questions and Answers)
5
replies
What Non-Complex programming language should I learn to make games?
started 2014-07-28 19:54:52 UTC
programming & design
Loading...