0
votes

I have a been a staunch Forth'er for a long while, learning and adapting the small language for many application needs. I have once in the past tinkered with the idea of using Forth as a language to implement an artificial intelligence system (AI) in. A while back someone ventured into this where MindForth was born. It showed promising results, but nothing much has been done to improve the idea.

Naturally, FORTH is a language that speaks your language. There being no restrictions on word lengths or what a definition can do (hardware limits permitting), and the mere organisation of the language constructs into a dictionary of words makes it a rather sweet little language to implement AI logic in.

A conventional approach to solve an AI problem in code is to use/create a rule-based system where the language is broken down into various segments which are later converted into complex rules and this goes on until a whole language is developed. This is really tedious if you ask me. Forth does this kind of rope jumping for you by simply being Forth.

I have been eying a personal project that will expand on what MindForth already has achieved, but rather try and develop a complete AI for personal use.

How should I proceed?

4
What is your question? - Thomas Jungblut
Just do it. Every language is as potent as the person at the keyboard. - ziggystar
If that last paragraph is the entirety of your project idea, it might be a fools errand. If not, please do elaborate and clarify. - clwhisk
The Forth language get's you as close as you can to the hardware without much abstraction , it speaks machine language fluently while speaking human language in almost the same degree.It is perhaps the best translator that I have ever seen between HW/SW which gives the programmer the ability to create highly interactive applications.In AI , the biggest challenge is bridging this human-machine divide. FORTH naturally bridges this gap giving the programmer a high degree of flexibility when designing AI logic. MIND forth is tiny but promising , more work can be done to improve the AI logic .. - DeLorean
@wvxvw It's not a question. It's someone seeking confirmation in how great FORTH is. - ziggystar

4 Answers

2
votes

I haven't done this myself but check The Journal of Forth Application and Research (e.g. Vol. 4) and it might give you an idea.

2
votes

http://www.nlg-wiki.org/systems/Mind.Forth has gotten more advanced over the years and has been translated into German as the http://www.nlg-wiki.org/systems/Wotan software.

2
votes

Forth is not just a "Programming Language", it is a Meta Language. That is, it is a tool to create other languages. See http://thinking-forth.sourceforge.net/tf-kindle.pdf. Some AI languages created in Forth: Prolog, LISP. I took an AI course at UCI and created a neuro network language. Didn't quite finish it, however, it was easy.

The key reasons you want to use Forth over C (I used both)...

Forth is interactive without slowing things down. Forth is an "Incremental Compiler". Do you want to compile every time your AI wants to learn something?

Forth is extensible: You can easily create "Compiling Words". Forth uses the term "Words" where C calls them "Functions." Don't you want your AI to learn and create it's own Functions?

I created a real-time AI operating system (3 tiered, called it: The Triune OS) for robotics in the early 1990's using Forth. The entire robotics control language fit in a 32K EPROM and ran on a little 8 bit micro: a Motorola HC11.

I gave a presentation to the top robotics group at JPL and 18 months later they came out with "3T" (3 Tiered). This system is used extensively in self driving cars.

Yes, Forth would be idea as the base system for AI.

BTW, a great processor for Forth is a PIC DSPIC33. Use Flash Forth, it fits inside the programming memory. Cost is only $2 to $3...

LISP written in Forth: http://forums.parallax.com/discussion/160027/lisp-technically-scheme-written-in-forth

0
votes

The best way to proceed is abandon Mindforth. It is twenty years in the making and is going nowhere. Just wanting to "do AI" is a fools errand anyway. I doubt that this question fits the Stack Overflow rules.