News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Creating your own Arnie (AI)

Started by K_F, May 24, 2016, 08:02:51 PM

Previous topic - Next topic

K_F

As i move onto the next phase of my proggie... Artificial Intelligence exciting stuff
Starting with these structures...
It starts looking like COM in a way, but I'm adding some flexibility into the structures.. such as per-synapses/feedback input/output functions, ability to change synapses connections in th learning process, expand/shrink the synapses tables..etc

I (we  :biggrin:) could get out of control here.. :badgrin:

.Const

;--- Level Type constants ----------
LevelTypeNothing equ 0 ;
LevelTypeDataInput equ 1 ; Input only level (Interface to data Inputs)
LevelTypeInputOutput equ 2 ; Mid levels
LevelTypeOutPut equ 3 ; Output only
LevelTypeReqOutPut equ 4 ; Desired output (use for teaching)

;--- Synapsis Type constants ----------
; (Thinking about this)

;--- More stuff later ---

.Data?

.Data
AI_Module Struct ; 2048 bytes
AI_FileName DB 512 DUP(0) ; AI Strucutre file
AI_IniFileName DB 512 DUP(0) ; Initial values file
AI_Description DB 512 DUP(0) ; Module Description
AI_FileHandle DD 0 ; Structure file handle
AI_IniFileHandle DD 0 ; Initial file handle
AI_NumLevels DD 0 ; Number of levels
AI_ptrLevelTable DD 0 ; Level table ptr
AI_Dummy DB 496 DUP (0) ; Extra space
AI_Module Ends

AI_Level Struct ; 128 bytes
LVL_Name DB 104 DUP (0) ; Short name description
LVL_ID DD 0 ; ID This Level
LVL_Type DD 0 ; Level Type
LVL_SynCount DD 0 ; Synapsis Count
LVL_ptrSynTable DD 0 ; Synapsis Table ptr
LVL_Dummy1 DD 0 ; Make a Gap
LVL_Dummy2 DD 0 ;
AI_Level Ends

AI_Synapsis Struct ; 128 bytes
SYN_Name DB 64 DUP (0) ; Short name description
SYN_ID DD 0 ; ID this synapsis
SYN_Type DD 0 ; Synapsis Type (whos knows ?)
SYN_IPValCnt DD 0 ; Number of Input Values and weights
SYN_IPFBCnt DD 0 ; Number of Input Feedback values and weights
SYN_OPValCnt DD 0 ; Number of Output values
SYN_OPFBCnt DD 0 ; Number of Output feedback values

SYN_ptrIPValTbl DD 0 ; Synapsis Input/Output table ptrs
SYN_ptrIPFBTbl DD 0 ;
SYN_ptrOPValTbl DD 0 ;
SYN_ptrOPFBTbl DD 0 ;

SYN_Bias REAL8 0.0 ; Shift between {-1,1]
SYN_CalcValue REAL8 0.0 ; Calculated value
SYN_Dummy1 DD 0 ; Make a Gap
SYN_Dummy2 DD 0 ;
AI_Synapsis Ends ;


INPUTValue Struct ; 32 Bytes
IPV_Function DD 0 ; The Value to Weight function
IPV_Value REAL8 0.0 ; Input value
IPV_Weight REAL8 0.0 ; Weight value
IPV_Dummy1 DD 0 ; Sluurp sluurp
IPV_Dummy2 DD 0 ;
IPV_Dummy3 DD 0 ;
INPUTValue Ends

INPUTFeedBack Struct ; 32 Bytes
IFB_Function DD 0 ; The Value to Weight function
IFB_Value REAL8 0 ; Input value
IFB_Weight Real8 0 ; Weight value
IFB_Dummy1 DD 0 ; Sluurp sluurp
IFB_Dummy2 DD 0 ;
IFB_Dummy3 DD 0 ;
INPUTFeedBack Ends

OUTPUTSynapsis Struct ; 32 Bytes
OSYN_Function DD 0 ; Function to perform on output
OSYN_LVL DD 0 ; Destination level
OSYN_Syn DD 0 ; Destination synapsis
OSYN_SynPtr DD 0 ; Destination synapsis pointer
OSYN_Dummy1 DD 0 ; Sluurp
OSYN_Dummy2 DD 0 ;
OSYN_Dummy3 DD 0 ;
OSYN_Dummy4 DD 0 ;
OUTPUTSynapsis Ends

OUTPUTFeedBack Struct ; 32 Bytes
OFB_Function DD 0 ; Function to perform on output
OFB_LVL DD 0 ; Destination level
OFB_Syn DD 0 ; Destination synapsis
OFB_SynPtr DD 0 ; Destination synapsis pointer
OFB_Dummy1 DD 0 ; Sluurp
OFB_Dummy2 DD 0 ;
OFB_Dummy3 DD 0 ;
OFB_Dummy4 DD 0 ;
OUTPUTFeedBack Ends

;;==============================================================================
;; PROTOTYPE ARTIFICIAL INTELLIGENCE MODULE
;;==============================================================================
;AI_Module::
;Name=
;Levels=

;Levels::
;{
; Level_0:
; {
; Name=
; ID=
; TYPE=
; SynapsisCount=

; INPUT_SYNAPSIS::
; {
; Synapsis_0:
; {
; Name=
; ID=
; TYPE=
; Bias=
; Value=
; IPValCount=
; IPFBCount=
; OPValCount=
; OPFBCount=

; INPUT_VALUES::
; {
; IPVal_0:
; {
; Function=
; Val=
; Wht=
; }
; .
; .
; IPVal_n
; {
; }
; }

; INPUT_FEEDBACKS::
; {
; IPFB_0:
; {
; Function=
; Val=
; Wght=
; }
; .
; .
; IPFB_n:
; {
; }
; }

; OUTPUT_SYNAPSIS::
; {
; OPSYN_0:
; {
; Function=
; DestinationLevel=
; DestinationSyn=
; }
;
; .
; .
; OPSYN_n:
; {
; }
; }

; OUTPUT_FEEDBACKS::
; {
; OPFB_0:
; {
; Function=
; DestinationLevel=
; DestinationSyn=
; }
; .
; .
; OPFB_n:
; {
; }
; }
; }
; .
; .
; Synapsis_n:
; {
; }
; }
; }
; .
; .
; Level_n:
; {
; }
;]

'Sire, Sire!... the peasants are Revolting !!!'
'Yes, they are.. aren't they....'

anunitu

This does seem to be the next step these days..if you can do it,more power to you.

FORTRANS

Hi,

   Not sure if this is of any interest, but...  The current issue of
the magazine "Scientific American", June 2016, has a section (3
articles and a splash page) on artificial intelligence (AI).  The first
is 'Machines Who Learn'.  The second is 'The Truth about
"Self-Driving Cars"'.  And the third is 'Should We Fear Supersmart
Robots?'.  {Who?}

Regards,

Steve N.

anunitu

Terminator or bust? I vote for Robbie or R2D2

rrr314159

Machines are getting more "intelligent" all the time, but will they ever do what humans can do - including creativity, humor, intuition, so forth? Can they ever come up with new ideas, as opposed to merely recycling old ones? Maybe, but they're certainly not there yet. Kurzweil predicts "real" AI by 2029; with luck, I'll find out if he's right.
I am NaN ;)

hutch--

I am much of the view that computer CAN produce artificial intelligence but they will never produce intelligence. Already computer programming can do a number of things based on logic and with a combination of logic and data storage the result can often be useful and sound intelligent but it will never be original as it required a human to write it in the first place. Now predictably in the future as well as the present computer aided software design will improve the capacity of artificial intelligence and bigger better faster and more powerful computer hardware will also extend this capacity but it simply does not have the input sources that humans have.

rrr314159

I am NaN ;)

Raistlin

Bill Gates: "640K ought to be enough for anybody"
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

anta40

Quote from: rrr314159 on May 25, 2016, 02:17:29 AM
but will they ever do what humans can do - including creativity, humor, intuition, so forth?

Maybe one day we have a neural network model which can handle these issues...

:P

xanatose

Quote from: hutch-- on May 25, 2016, 09:52:22 AM
I am much of the view that computer CAN produce artificial intelligence but they will never produce intelligence. Already computer programming can do a number of things based on logic and with a combination of logic and data storage the result can often be useful and sound intelligent but it will never be original as it required a human to write it in the first place. Now predictably in the future as well as the present computer aided software design will improve the capacity of artificial intelligence and bigger better faster and more powerful computer hardware will also extend this capacity but it simply does not have the input sources that humans have.
I guess that what depend on what one defines intelligence to be.

If is gathering of information on a predetermined way? then the computer will surpass us.

However wisdom is something more difficult to achieve.

Should it be IQ, then the computer will win, as IQ is based on predetermined tests.

Should if be inventions (aka seeing the same thing everyone else has seeing but thinking a different thing that makes something new) then humans will continue to win.

As stated it will dependent of what intelligence is.

hutch--

The factor that stay with me is the input range of human beings. Visual, auditory, tactile, linguistically, olfactory and abstractions based on all of these over a lifetime of experience make for a truly massive range of informational input and this would be extremely difficult to duplicate on a computer system. This is why I draw a distinction between AI versus I. Computers will regurgitate data far faster than humans ever will and can access truly massive ranges of known data but humans can laterally think, make guesses that can be tested (hypothetico deductive spiral), draw from any combination of a massive range of inputs and keep- tweaking it until it fits.

anunitu

There is work being done on Organic computing,so it just might be possible to create what Asimov called a Positronic brain in his SF.

And Darpa is on the case for real.
https://kryptonradio.com/2013/07/17/darpa-working-on-sentient-robots-with-positronic-robot-brains/

"DARPA Working on Sentient Robots With "Positronic" Brains"

rrr314159

anunitu, it's true there may be a new techology like "positronic brains" which will make real computer intelligence (which, I think, entails consciousness) possible. hutch is talking about traditional digital computers; unknown breakthroughs can't really be discussed until they're known.

The technology that article presents has absolutely nothing to do with positrons, BTW. It sort of models a brain's connections with synaptic wires. In a way, the big "new" thing about it is: it's partly analog! Recycling old and discredited models is often a good way to make progress.

I still say, a traditional digital computer may be capable of "creativity", "lateral thinking", "imagination" or whatever you want to call it. At least, it may fake it so well you can't tell the difference. In that case, quite possibly we will be able to tell the difference, but only after decades, when society stagnates due to dependence on  the pseudo-thinking machines. Young, brave humans will have to fight a desperate revolution to regain control of their lives and futures, forging ahead to new horizons of thought, mastery of the universe, and stuff like that. Hmmm ... if the hero gets the girl as well, that would make a great plot for a movie!
I am NaN ;)

anunitu

Being that I will most likely not be around to see this "Classic" plot play out,these days the hero might not get the girl,he might get the guy...times change as we have seen over the last 50 years...Or the hero might be a Woman...

K_F

I've completely changed the model (in my head that is :badgrin:), to give it more flexibility and ease of programming.
It just takes up a lot of memory... 4 levels of 2048 synapses each, takes up 756MBytes.  :shock:
I don't expect the prototypes to get that large but using it anyway.
Now to do the keyboard dance..  :greensml:
'Sire, Sire!... the peasants are Revolting !!!'
'Yes, they are.. aren't they....'