I imagine this would depend on the kind of data processing the AI would need to do. A quick guess could be done using fixed point, and a more precise, but slower calculation could involve the floating point module you mentioned. One aspect of AI you might also want to look into is competition, that is to have a pool competing programs in a Propeller with a "judge" somehow rewarding the most correct/efficient program based on an evaluator relevant to the task -- a bit like Tierra/Avida.
cde, I can understand that, since the Propeller has the best of both worlds, we can access either FP or INT depending on the task required. On the topic of AI, there are several things that would be fantastic to accomplish. I call this my wishful thinking list.
Wishful Thinking:
converse with the Brain behind a closed door and not know if it was human or machine
create a life form that is self aware
the Brain is inquisitive about the world and has the ability to learn
[*] the Brain has the ability to solve new problems
Humanoido, please forgive me as the following may sound dismissive of your work -- it is merely constructive criticism.
To achieve the goal above you need to implement some kind of evolutionary software -- right now it appears to me your brain is a collection of fixed functions, in the same way the Linux kernel is a collection of drivers and other stuff.
For example, you implement dreaming, although it might be completely unnecessary for AI. Humans evolved to the point where we are now thanks to competitive/cooperative evolution (coevolution), and I believe you'll have to implement a similar setup. Now having a collection of real robots interacting is costly and slow, this is why I suggested simulated evolution.
Humanoido, please forgive me as the following may sound dismissive of your work -- it is merely constructive criticism. To achieve the goal above you need to implement some kind of evolutionary software -- right now it appears to me your brain is a collection of fixed functions, in the same way the Linux kernel is a collection of drivers and other stuff.
cde, this is a valid point and you are correct - right now the big push is to get everything tested and working, not as a whole, but as individual sections. We must learn to crawl before we can walk, and walk before we can run. So what I've done so far is create many boards that can do two main things, 1) run as testing channels and 2) test the main BUS for sending and receiving data. In the final step, software will be more integrated and we will strive to achieve the six objectives of machine intelligence:
self aware
no difference between machine or human conversation
For example, you implement dreaming, although it might be completely unnecessary for AI. Humans evolved to the point where we are now thanks to competitive/cooperative evolution (coevolution), and I believe you'll have to implement a similar setup. Now having a collection of real robots interacting is costly and slow, this is why I suggested simulated evolution.
Dreaming could of course be totally unnecessary for AI. It's just something that I wanted to do and I think it's really cool to have an intelligent machine do dreaming.
Simulations are great and as you mentioned, can cost less with software substituting for the hardware. But generally the simulations are not 100% like the hardware, and I would not want to miss out on the fun and education of designing and putting together all the hardware.
prof_braino, this is a point I had not considered before. Thanks for pointing this out. I found this supporting link which is very interesting.
http://www.lahey.com/float.htm
The Perils of Floating Point
Binary Floating-Point
Inexactness
Insignificant Digits
Crazy Conversions
Too Many Digits
Too Much Precision
Programming with the Perils
Floating-point arithmetic on digital computers is inherently inexact. The 24 bits (including the hidden bit) of mantissa in a 32-bit floating-point number represent approximately 7 significant decimal digits. Unlike the real number system, which is continuous, a floating-point system has gaps between each number. If a number is not exactly representable, then it must be approximated by one of the nearest representable values.
Whether integer or floating point, it just shows that there's a use, a time and a place for either or both systems, provided the programmer is well aware of the caveats.
Dreaming could of course be totally unnecessary for AI
You may want to consider this statement further. I heard someplace that dreaming is the "information digestion". I don't have the link off hand, but I recall a study that found if humans are not allowed to dream, they get cranky and psycotic. Something about projecting the model from all the participants perspectives.
Yes, that's one of the links I was trying to site. The other one was about calculating interest at a major bank; over the course of a year (somthing like billions or trillions of dollars), the fixed point calculation had an error of hundreds of thousands of dolloars, while the floating poing calculation had an error of tens of millions. While both accepable errors, the bank of course wanted the more precise.
You may want to consider this statement further. I heard someplace that dreaming is the "information digestion". I don't have the link off hand, but I recall a study that found if humans are not allowed to dream, they get cranky and psycotic. Something about projecting the model from all the participants perspectives.
prof_braino, this is a good point that deserves greater in depth response - in psychology class we covered the benefits of dreaming and how dreams are necessary for humans to maintain a balance physically, emotionally, and mentally when awake. So we know dreaming is very important to humans.
I should probably clarify my response which was too short and too summarized which held the notion that for simple applications with a rudimentary AI, the dreaming would not be necessary. On the other hand, I would like to prove that it is.
As I see it, AI is divided into two areas, fundamentally simple and more advanced. Simple could involve carrying on a conversation with a human, where the psychology benefits of dreaming may not appear necessary. Yet, we know, the nuances and details of carrying on a conversation with an intelligent life form would, or could, reflect models of psychology. This model demands the psychology of well being, thus necessitating dreaming.
The advanced AI version would involve more psychology and require dreaming. Either way, simple AI or not, work is already progressing on the dream equation at the first level - the 1st discovery information was also posted.
A number of web sites extol the benefits of dreaming. Reading these sources will provide new information. Did you know there is a device to help you know you are dreaming so that you can guide yourself while in the dream?
Personally, I have long known that dreaming can help solve problems. Often times when faced with a tough analysis problem, I can review everything known before sleep and during the night, a dream will happen to give me the solution. This is why I always have paper and pencil at the bed side stand, for jotting down the solution when waking up.
Will these same benefits be available to an artificial life form? Contemporary thought is yes because in any advanced life form with the elements of forward thinking, creativity, self awareness, and problem solving, the psychology of well being will be involved and this necessitates dreaming.
Yes, that's one of the links I was trying to site. The other one was about calculating interest at a major bank; over the course of a year (somthing like billions or trillions of dollars), the fixed point calculation had an error of hundreds of thousands of dolloars, while the floating poing calculation had an error of tens of millions. While both accepable errors, the bank of course wanted the more precise.
Prof_braino, I had heard about that and it may have had some discussion in Computer Math class and given as an assignment. This was also made into a popular concept by one American movie some years ago. In the fiction story, a hacker accessed all the world banks to collect the "odd fractional cent" that was leftover in all the accounts from the floating point calculations. When this compounded, he became a millionaire and then a billionaire! Maybe there was some truth into the basis of the movie relative to a real life situation.
Benefits of dreaming http://mythwell.com/en/articles/dream.html
There are several key benefits of working with dreams: creative problem solving, health improvements and increased peace of mind.
All benefits have in common that dreams have access to personal information usually not available to the conscious mind. To give a few examples: dreams may show that you're concerned about certain work related challenges even before you start feeling the stress yourself. Dreams can quite literally warn you that you're close to catching a flu because your immune system is running low. With a little luck a dream will even show how to avoid the problem. If you watch your dreams you will notice that you sometimes rehearse situations in your dreams. Such a situation could be an important speech, a new sport, a piano recital, etc. The beauty of it is that when you get more accustomed with your dreamlife, you will also be able to take better advantage of the creative potential of dreams by trying to have dreams that help solve your problems. Weird as this may sound, there are dozens of famous examples of scientific breakthroughts based on dreams. Also much music, poetry and other art originated in dreams. Your dreams can also function as a reliable mirror for yourself, showing your strong and your weak points. By listening to your dreams you will raise your self-knowlegde and in time this will lead to simply being more at ease with yourself.
6 Ways to Reap the Health Benefits of Dreams http://www.care2.com/greenliving/6-ways-to-reap-the-health-benefits-of-dreams.html
Experts claim that our brains midnight shenanigans can give us insight to help heal emotional trauma and stress, improve our sleep, increase happiness and even help figure out problems in our lives. New studies suggest that dreams are part of a healthy emotional coping processthe thoughts that happen when we sleep combine recent events, hidden memories, hopes, and fears into a new mix, forging neural connections that might be impossible to attain while awake.
Along with basic emotional housekeeping, dreaming can help alleviate depression. In sleep studies of recently divorced women with untreated clinical depression, scientists found that patients who recalled dreams and incorporated the ex-spouse or relationship into their dreams scored better on tests of mood in the morning. And they were much more likely to recover from depression than others who either did not dream about the marriage or could not recall their dreams.
According to a report at MSNBC, recent brain scan studies show that regions active during dreaming are the same ones responsible for processing memories and emotions when were awake. Dreams, the new thinking goes, shape your self-image by helping you work through unresolved emotions from waking life. (For this reason, even unpleasant nightmares can be beneficial.) In fact, for a day or two after a significant life eventand again about a week laterhints of it show up in your dreams, according to a study at Canadas University of Alberta. Revisiting events in dreams helps reshape your understanding of them, says study author Don Kuiken, PhD.
Six Points of Dreaming
Paving the way towards AI dreaming
6 points of dreaming http://www.dreammoods.com/dreaminformation/recallingdreams.htm
1. Your dreaming mind has access to vital information that is not readily available to you when you are awake. Your dreams serve as a window to your subconscious and reveal your secret desires and feelings.
2. In remembering your dreams, you gain increased knowledge, self-awareness and self-healing. Dreams are an extension of how you perceive yourself. They may be a source of inspiration, wisdom, joy, imagination and overall improved psychological health.
3. Learning to recall your dreams help you become a more assertive, confident and stronger person. By remembering your dreams, you are expressing and confronting your feelings.
4. Dreams help guide you through difficult decisions, relationship issues, health concerns, career questions or any life struggle you may be experiencing.
5. Remembering your dreams help you come to terms with stressful aspects of your lives.
6. You will learn more about yourself, your aspirations, and your desires through your dreams.
So each cog works from bottom to top, line by line, and it's ok as long as all the cogs move from bottom to top at the same speed and maintain some separation between them. Problems ensue if a cog gets bogged down and a cog "below" it catches up to the line it's on. The thing with dividing the screen into buckets is that it's difficult to handle the edge cases where two buckets touch, and if you ignore the boundaries and just let cogs move sand in and out of each other's buckets, then there is still the possibility that another cog will be writing sand into your bucket area while you are trying to put a grain in the same spot.
So instead of buckets I thought I'd just have all the cogs scan the whole screen, but dynamically insert waits after each line so that the cogs all remain exactly 1/6 of the screen away from each other as they scan. If one cog is getting a little bogged down (happens if there is a lot of sand) the others would all have to slow down too, to maintain an equal distance.
There are still caveats with that; for instance a hole at the bottom of a sand dune can only "bubble up" to the top as fast as the scan speed of a single cog doing the sim no matter how many other cogs are used. Having more cogs doesn't make holes bubble up any faster, but it allows more holes to bubble up at once.
Brain Monolith Discovery Emergence
The Matrix Monolith emerges from within
CONTACT! We've explored the algorithm to create Life and molded the Brain into a potentially powerful platform of multiple propellers and peripherals. We've explored and added software, and stretched the "never traveled before" pathways into mind bending dream worlds and a new Universe.
But what exactly lurks inside the deepest realm of the Brain? Does it contain pure machine circuits and silicon derived electrons and no more, or is there a machine intelligence that can be pulled from within, even provoked into existence?
You may have fascination and pure shock & puzzlement when observing the slowly emerging Brain Monolith from a place deep with the Brain's inner Cog. Like an inner sanctum of a chromatic spacial realm waiting to unfold, this is a mind blowing Propeller variant of the Contact Demo, established with the tools of Spin and PASM by Virand.
Emergence of the Brain Monolith is made possible by a real time
Matrix based on the contact pattern XAX-2313, embedded within the
Brain.
Set up and fully functional, this
operating iBrain is seen loaded
and running a level one Matrix in
one Brain channel. This is not a
static screen, i.e. it moves and
scrolls in real time as variations
of multitudes of components
appear!
The demonstration of the Brain's emerging monolith is one of fascination. You need to see it in real time to appreciate the uniqueness of what can exist inside the Brain, and see it unfold in real time! The code to make this happen generates data, in the words of the programmer, "Ex Nihilo," using magic math, in full color dimensional rendering. Wizard Virand masterminded the code for the HYDRA while guru Jeff (OBC) converted the code to the Parallax Demo Board platform. The Demo Board code easily ports to PPPBs. Follow the active links to download both versions.
As the colorful monolith emerges, an unlimited number of inner circuits from within scroll past, emerging, and ebbing. Like the tidal flow (in the beginning..) of a new world, this remarkable machine Matrix unfolds. What we see is the basis Contact Pattern "XAX-2313."
Program: 1,198 Longs
Variable: 243 Longs
"The Matrix Monolith is capable of extruding millions of of previously unforeseeable matrix components in a muti-processor system."
Brain Dreaming from 2D to 3D
New ELICA LOGO opens up a new realm
Adding 3D to dimensional LOGO Brain Dreaming is an idea conjured up by Ralphw who appears to not only have experience in the field of LOGO programming but is well researched with LOGO derivative languages.
Planets circle a giant sun, with a backdrop of stars. Note the planet immediately to the left of the big sun, undergoing occultation at the solar limb. Dreams have no boundaries or limits -
you can travel the solar system, exit the galaxy, discover new words and life! All these
worlds are yours with 3D LOGO ELICA. This cosmic phenomena was created with ELICA,
a LOGO derivative language. The latest ELICA results include 3D motion.
____________________________
This hot breaking news comes from Ralphw, who cites the virtues of great programming opportunities with a new type of LOGO programming language. "It's possible, but I would probably start with Elica, which is a LOGO-inspired language which supports 3-d graphics inherently." Ralph notes the 3D scene generation has a long history in computer science, particularly the AI circles, starting with the "Blocks Wolrd."
While 3D Elica does not run INSIDE the Propeller chip, it can do the next best thing - run under control of a Propeller chip. The idea is to load up ELICA on a tiny PC Netbook and control it with the Propeller Brain. The Propeller can pass parameters to the Netbook and ELICA can replicate the intended results. The two can share resources including the large color screen and RAM, plus the ATOM processor.
[FONT=Arial,Helvetica]In addition to the flat triangular turtle Elica provides entirely Logo-defined space and spherical turtles, as well as a rich 3D graphics library.[/FONT] [FONT=Arial,Helvetica]Mathematical visualization of curves, surfaces and solids is flexible as users are not bound to predefined sets.[/FONT] [FONT=Arial,Helvetica]This facilitates a deeper understanding the basic principles of geometry, design, programming and logic.
Here's a programming example to make a 3D pyramid in color.
run "graphix
screen [720x400 [rgb 200 200 255]]
make "steps 10
make "size 5
make "time 0
make "piramidSize 8
make "ballRepetitions 300
make "ballVertical :piramidSize - 1
make "ballHorizontal 0
make "colers list 230 99 10
to changeColor
make (word "c_l :ballVertical "_p :ballHorizontal ".color) rgb random :colers random :colers random :colers
regenerateimage (word "c_l :ballVertical "_p :ballHorizontal)
end
make "angleStep 180 / :steps
make "circleRadius ((sqrt 2)*(:size/2))
to move :sx :sy :sz :currAngle
make "b1 :ball.center
make "b2 vector :b1.x+:sx*:size :b1.y+:sy*:size :b1.z+:sz*:size
make "circleStartX :b1.x + :sx*:sz*:circleRadius + :sx*:size/2
make "circleStartY :b1.y + :sy*:sz*:circleRadius + :sy*:size/2
make "circleStartZ :b1.z + :sz*:sz*:circleRadius + :sz*:size/2
repeat :steps[
make "xTemp :circleStartX + :sx*:sx*(1 + (cos :currAngle))*:circleRadius
make "yTemp :circleStartY + :sy*:sy*(1 + (cos :currAngle))*:circleRadius
make "zTemp :circleStartZ - (1 - (sin :currAngle))*:circleRadius
make "currAngle :currAngle - (:sx+:sy)*:angleStep
make "ball.center vector :xTemp :yTemp :zTemp
regenerateimage "ball
make "time :time+1/2
lookat vector cos 45+30*sin :time sin 45+30*sin :time 0.3+0.1*sin :time/2 vector 0 0 -0.5 vector 0 0 1 1 200
]
make "ball.center :b2
make "ballVertical :ballVertical - :sx - :sy
make "ballHorizontal :ballHorizontal + :sy
changeColor
end
to moveRightDown
move 0 1 -1 135
end
to moveRightUp
move -1 0 1 -45
end
to moveLeftDown
move 1 0 -1 135
end
to moveLeftUp
move 0 -1 1 -45
end
make "currLevel 0
make "currCube 0
make "pict0 texture "'\sample0.jpg'
repeat :piramidSize [
repeat (:piramidSize - :currLevel)[
make (word "c_l :currLevel "_p :currCube) custom (cube vector ((:piramidSize - 1 - :currLevel - :currCube)*:size) (:currCube*:size) (0+:currLevel * :size) :size) (set
"mode 2
"texture :pict0
"texture.scale 10
"light "true
"hollow "false
"color (rgb 255 255 255 50)
)
make "currCube :currCube + 1
]
make "currLevel :currLevel + 1
make "currCube 0
]
make "ball custom sphere vector (0.5*:size) (0.5*:size) (:piramidSize *:size + 1) 2 (set "mode 2 "light "true "color rgb 80 80 80 "shininess 10)
repeat :ballRepetitions [
make "maxRight :piramidSize - 1 - :ballVertical
if :ballVertical = piramidSize - 1 [make "mVertical 1]
[if :ballVertical = 0 [make "mVertical 2]
[make "mVertical random [1 2]]]
if :mVertical = 2 [
if :ballHorizontal = 0 [make "mHorizontal 1]
[if :ballHorizontal = :maxRight [make "mHorizontal 2]
[make "mHorizontal random [1 2]]
]
][make "mHorizontal random [1 2]]
if :mVertical = 1 [
if :mHorizontal = 1[moveRightDown][moveLeftDown]
][
if :mHorizontal = 1[moveRightUp][moveLeftUp]
]
]
Propeller Brain Neural Design Moves Forward
The building of neurons
Intro to building Neurons and Neural Nets in the Propeller iBrain
This is a simple working
neural net created with
BrainBox
Modeling neurons from the human brain can be a daunting task. New breakthroughs
in Propeller technology elevate the possible level of the numbers of neurons in the
giant electrical iBrain.
Neuron Modeling
Work is progressing at the early stages in working with a neural programming model that can run wide-band (or channel) in a multi-propeller system.
Cog Permeability
In the progressing software modeling, the neurons are simulated by numerous divisional neuronic spin code segments. This has Cog permeability.
Distribution Injection
There is a means by which the Neurons can be injected across Propellers and this has entered a test phasing.
Neural Allotment
The model for each neuron is given a finite size. Everything the neuron must do in the iBrain must fit into this constraint.
Flowing in Numbers
We already addressed the creation of an artificial electrical Synapse, which is the assist medium for the flow of an actuated neuron response.
Test Density
Experimental test densities of neurons have reached the 21,000 level.
Neuron Expansion
It's important to think in terms of expanding the number of neurons. Resources are now purchased to elevated the neuron density to over 100,000.
Comparative Density with Human Brain
Consider that the human brain has 100 billion neurons and one can see the concern for pumping up density of machine neurons.
Expanding Neural Densities
While this is just the birth of an idea, it is possible to algorithmically define a neural extension for multiplicity. This is a future field to explore.
The Progression of Work
I have written a white paper and while the subject matter is being published, the project will continue to phase develop the algorithm.
Associative Background The brain and spinal cord are made up of many cells, including neurons and glial cells.
Neurons Neurons are cells that send and receive electro-chemical signals to and from the brain and nervous system. There are about 100 billion neurons in the brain. There are many more glial cells; they provide support functions for the neurons, and are far more numerous than neurons
Types of Neurons There are many types of neurons. They vary in size from 4 microns (.004 mm) to 100 microns (.1 mm) in diameter. Their length varies from a fraction of an inch to several feet
Neuron Function & Speed Neurons are nerve cells that transmit nerve signals to and from the brain at up to 200 mph. The neuron consists of a cell body (or soma) with branching dendrites (signal receivers) and a projection called an axon, which conduct the nerve signal.
Synapse The Synapse is the gap between the axon terminal and the receiving cell. A typical neuron has about 1,000 to 10,000 synapses (that is, it communicates with 1,000-10,000 other neurons, muscle cells, glands, etc.).
Axon The axon is a long extension of a nerve cell that takes information away from the cell body.
Nerves Bundles of axons are known as nerves or within the CNS (central nervous system), as nerve tracts or pathways.
Axon Inter-relationships At the other end of the axon, the axon terminals transmit the electro-chemical signal across a synapse. The word "neuron" was coined by the German scientist Heinrich Wilhelm Gottfried von Waldeyer-Hartz in 1891.
Dendrites Dendrites bring information to the cell body. Dendrites branch from the cell body and receive messages.
Myelin Myelin coats and insulates the axon (except for periodic breaks called nodes of Ranvier), increasing transmission speed along the axon. Myelin is manufactured by Schwann's cells, and consists of 70-80% lipids (fat) and 20-30% protein.
SOMA The cell body is named soma and contains the neuron's nucleus, with DNA and typical nuclear organelles.
Programming
Here is simple pseudo code for an artificial neuron Threshold Logic Unit TLU. It works with true or false Boolean input and expunges a single Boolean output when triggered.
[B]class[/B] TLU [B]defined as:[/B]
[B]data member[/B] threshold [B]:[/B] number
[B]data member[/B] weights [B]: list of[/B] numbers [B]of size[/B] X
[B]function member[/B] fire( inputs [B]: list of[/B] booleans [B]of size[/B] X ) [B]:[/B] boolean [B]defined as:[/B]
[B]variable[/B] T [B]:[/B] number
T [B]←[/B] 0
[B]for each[/B] i [B]in[/B] 1 [B]to[/B] X [B]:[/B]
[B]if[/B] inputs(i) [B]is[/B] true [B]:[/B]
T [B]←[/B] T + weights(i)
[B]end if[/B]
[B]end for each[/B]
[B]if[/B] T > threshold [B]:[/B]
[B]return[/B] true
[B]else:[/B]
[B]return[/B] false
[B]end if[/B]
[B]end function[/B]
[B]end class[/B]
Introduction of BrainBox http://neil.fraser.name/software/brainbox/ Models of neurons in the iBrain are made and explored using a program called BrainBox. BrainBox is for coding up neural nets. The neural networks made are fully functional in real time.
BrainBox is a Windows program (3.1 or 95/98) that allows one to graphically build and execute neural networks. Use the mouse to drop neurons, drag links from one neuron to another, adjust the weights, and watch what happens when the network executes. There is no automated learning; you are in complete control. Take a look at BrainBox's demo files to see what it can do.
Note: BrainBox is tested and working on a WinXP computer here at the iBrain lab. Download BrainBox [538k zip]. The download archive contains BrainBox's setup program, along with sample files, and source code.
Humanoido, this level of detail has me wondering if you don't have a background in neuroanatomy. Also, did you see this link in post #1? Paul
Thanks for the link, Paul. There are always cautionary caveats that humans should heed with the development of artificial intelligence technology, lest some unusual unforeseen circumstances may result.
It seems like yesterday when we had the cybernetics lab upstairs. I was working alone on a cybernetic android and developing a new speech chip for VOTRAX. We needed to hold a meeting and I went downstairs, not shutting off the equipment.
The four of us were downstairs talking and suddenly someone was talking upstairs. But no one was there! I remember the chilling feeling that coldly shot across my spine! Who was in the lab? I was almost afraid to go up there alone in the dark and welcomed a couple of colleagues to accompany me!
As fate will have it, the cybernetic "organism" started talking on its own.. probably a power surge causing a boot and it sort of randomly became alive. My colleagues were convinced it had become a life form and congratulated me for achieving life - but I had to explain - I simply had no explanation for the random state causing it to speech out like that.
It's something I will never forget! The story made it to an international magazine when the ten year project was published. Reminiscing, perhaps it was simple circuit failure.. or a symbolic metaphor of insightful vision towards the ebbing birth of new life in the Universe.
Brain Artificial Intelligence through Gaming
Tic Tac Toe Neural Net
Design this neural net using BrainBox on your PC and transfer it to the Propeller chip. Here, the game setup of Tic Tac Toe is only using 59 neurons. Imagine what might be possible by increasing the number of neurons in the Propeller chip or by adding Propeller chips to a vast collective. Up to 1,000 neurons can fit into each Propeller. The iBrain can handle a total of 21,000 neurons across the net. We are not talking about playing 355.9 games of Tic Tac Toe but rather developing a much greater intelligence.
This is Tic Tac Toe on a Neural Net
A Tiny Intelligence
Back in the year 2007, I did a take on Artificial Intelligence with the Penguin Robot and a version of Tic Tac Toe that ran on the Parallax BASIC Stamp 2px. It ushered in Stamp AI through the thinking thought processes with gaming, on a tiny brain board residing on top of Penguin's chassis. This little brain was the forerunner of what we are working on today. If you have an original Penguin, or the new Penguin REVB, you can still download and experience the challenge of interacting with this tiny intelligence.
A Powerful Game
Note: it plays the best game of Tic Tac Toe and you can never beat Penguin. You can only tie the game. But Penguin has a weird sense of humor and when he wins, he laughs in Penguinese using the Virtual Sound Chip built into the software. If you enter the cheat code, the tiny intelligence will cheat! Feel free to explore this precursory open source adventure.
Setup for Penguin Tic Tac Toe uses the Debug Screen. This game
was eventually tied and it was a Cat's Game.
Neural Net Tic Tac Toe
Today, Tic Tac Toe is incorporated into the basis of an embedded neural net. All you need to do is design it with BrainBox or run the sample program. As you can see in the program, there are two boards for one game beset by the propagation of neurons.
A single player of this Tic Tac Toe can challenge
the Neural Net. A challenging Neural Net takes
about 166 neurons which is almost three times
as many neurons compared to the setup of a
two humans game. 126.5 games fit into our large
Propeller Neural Net model. This is sufficient
for the beginning of artificial life based on
fundamental rules.
How it Works [TTT-1.BBX 10KB] Download here
This neural network can play the game of Tic-Tac-Toe against a human. The computer's moves are very good, but not infallible; it is possible to trap the computer and win the game. For information about how to use the Tic-Tac-Toe game, see the documentation for the two-player version of the game: TTT-2.
Rules of the Net
When playing this game, make your move then wait for the computer to play before making your next move. The functionality is the same as the two-player version, including the Clear All, Who goes first Error neurons.The computer follows three simple rules when playing:
Play any move that will result in an instant victory.
Play any move that will block the human from victory in the next turn.
If nothing urgent is detected, then play the center or a corner or a side (in that order of preference)
This is a game played against the Neural Net. The human's board is on the
left and has the winning combination. The Neural Net's board is on the right.
The first play gave the advantage according the win rules of Tic Tac Toe.
The iBrain can handle a total of 21,000 neurons across the net. We are not talking about playing 355.9 games of Tic Tac Toe but rather developing a much greater intelligence.
Here's a link that provides a hint of what 21,000 neurons can accomplish:
Thanks Phil, it's a very good reference and shows the power of animal neurons in numbers. It's a nice comparison if you have ANIMAL neurons. It's probable we can cut much or all of the nerve overhead with a machine neuron model. For example, Sponge and Trichoplax are fully functional creatures, yet they have no nerve cells and as a result, their requirement for quantities of neurons is nill. Plus, a robot does not need 11,000 neurons to emulate the basic thinking intelligence of a pond snail. Probably all that's needed is a prop and a good spin program. This also raises some good points and challenges the neuron model algorithm as applied in artificial life form machines. Do we really want to emulate humans and animals?
BTW, did you notice, if the number of neurons are proportional to intelligence, Hump Back Whales are twice as intelligent as humans, coming in with 200 billion or more compared to 100 billion for humans.. It makes you wonder what new worlds they're spinning deep in the ocean.
I wonder how well a California sea slug plays tic tac toe.
I'm sure that if it didn't have to forage for food, find a mate, elude predators, or pose for National Geographic, it could play -- and win -- 355.9 games at a time.
Going downward on the evolutionary scale, are there lessons to be learned from the lowly Sea Slug? Apparently so..
Cyberslug Cyberbranchaea Program
Control Panel
"An animated model reproduces aspects of optimal foraging decisions. Prey are created with specific nutritional and defensive qualities, given specific odors, and placed in the field. Predator hunger increases with time between feeding. The predator's hedonic evaluation of odors may be inspected at any time by clicking the odor. The predator and prey are shrunken images of Pleurobranchaea and its noxious real prey, Flabellina sp."
Busy as a Bee
We all agree the Sea Slug is a very busy banty little critter, contending with additional elements of commensalism, symbiosis, adapting solar power, mutualism, parasitism, bioilluminism, managing Lessepsian Migration, crawling, joy swimming in Opisthobranchia, spiraling, mantel flapping in Chromodoris, regulating tortion and detortion, and managing eggs and larval culturing. All those things are not necessary in the iBrain, which has other purposes. Perhaps looking at Slug research could be beneficial in some other way.
Slug Research
Dr. Rhanor Gillette's research group [Department of Molecular and Integrative Physiology, Center of Biophysics and Computational Biology, University of Illinois at Urbana-Champaign] has a website called Slug City at http://www.life.uiuc.edu/r-gillette/.
Cyber Slug Program
If you go to the Models page on that site you can download a copy of their Optimal Foraging Simulation program for the cyberslug Cyberbranchaea. The name is a play on the name of the real carnivorous slug they have studied, Pleurobranchaea californica.
This simple analog computer uses voltage levels to simulate stimuli strength and
the feeding or avoidance responses. Potentiometers can be set to desired levels of
virtual hunger, pain, and food-scent. One observes lamp brightness corresponding
to feeding or avoidance behavior. The circuit behaves qualitatively like
Pleurobranchaea, with proper handling of behavior throughout the hunger
continuum.
Brain Ear 1st Experiments
Mic sound input for analysis
The idea of a simple Brain amplification ear came from Chip's code. The audio input from the microphone circuit on a PPDB is fed to the earphone output which in turn is fed to the primary audio amplifier. Two ears on opposing Brain sides can hear in stereo.
Mic to Headphones microphone_to_headphones.spin http://forums.parallax.com/showthread.php?85703-Demo-board-audio-examples&p=587464
This program uses the Propeller Demo Board, Rev C. The microphone is digitized and the samples are played on the headphones. Here's a program that runs on the new Propeller Demo Board, Rev C. It digitizes the microphone to selectable resolutions and then outputs the samples to the headphones. It uses one COG. The COG's CTRA is used for analog-to-digital conversion and its CTRB is used for digital-to-analog conversion.
Envelope Detector Also in use is this demo which uses an envelope detector from the mic input to generate a bar graph output on the board's LEDs. Concocted by Phil for the Propeller Demo Board, it's a simple audio volume level indicator. http://forums.parallax.com/showthread.php?118061-Simple-audio-volume-level-demo
Brain Life Utilize BrainBox Neural Net to Establish Life
Inventing Life
The Game of Life was invented by John Horton Conway, a British mathematician, and described by Martin Gardner in his Mathematical Games in Scientific American in 1970 (Scientific American 223(4), October, 1970, pp 120-123).
Entering a New World
A world ... consisting of locations which may or may not be occupied by life. And time ... as many steps as you like. And a very simple set of rules ...
At each step, life persists in any location where it is also present in two or three of the eight neighboring locations, and otherwise disappears (from loneliness or overcrowding). Life is born in any empty location for which there is life in three of the eight neighboring locations.
Post 382 had discussion about using BrainBox to create neural nets. This code allows the placement and linking establishment of neurons to design and formulate a Neural Net. After exploring the code, a new implement of Life was discovered and is presented here.
Why is Life So Interesting?
Life is one of the simplest examples of what is sometimes called "emergent complexity" or "self-organizing systems." This subject area has captured the attention of scientists and mathematicians in diverse fields. It is the study of how elaborate patterns and behaviors can emerge from very simple rules. It helps us understand, for example, how the petals on a rose or the stripes on a zebra can arise from a tissue of living cells growing together. It can even help us understand the diversity of life that has evolved on earth.
Watch Life evolve within the confines of the Neural Net. Neurons
in Life6T run within the BrainBox.
Game of Life on a 6x6 grid Life6 http://neil.fraser.name/software/brainbox/bboxdemo/life6.htm
Glider slowly moves diagonally across the grid requiring four generations to move by one pixel. This is the pattern displayed when Life6 is loaded."Life6 implements a 6x6 square grid of Life using a neural network. Each pixel of the grid is made up of three neurons in a triangular group.
The lower two determine if the pixel will be alive or dead (death has priority) in the next generation. The top neuron reflects the current state of the pixel. Each Life generation takes two execution steps. To change the grid's pattern one may have to single step the net once so that the top neurons are the active ones, then their states may be toggled.
An interesting side-effect of the two-step generation is that a second Life pattern can be run concurrent with the first, without any interference between the two -- as long as they are half a generation out of phase. The second pattern doesn't slow down the network at all because every neuron must compute its state each step anyway."
6x6 Life Torus
[LIFE6T.BBX 8KB] Life6T Game of Life wrapped toroidally http://neil.fraser.name/software/brainbox/bboxdemo/life6t.htm "Life6T is the same as Life6 with the addition of wrap-around links to make the 6x6 playing field toroidal. This means that Gliders (among other patterns) will circulate forever. For information about Life and how to use it, see the documentation for Life6. An interesting property of Life6T's toroidal nature is that the left-most or right-most column of 'pixels' can be dragged to the opposite side, and the resulting pattern will be identical. The same applies for moving rows from the top to the bottom or vice-versa."
What Life is and is Not
In the article written about John Conway's Life, Martin Gardner refers to it in his interpretation as a game. Note that Life is not really a game. According to the Scientific American Article, it is an implementation of a cellular automata that John H. Conway chose to call "Life." It simulates the birth, death, etc., of organisms based on certain rules.
The Infinitely Programmable Computer
Despite the name of the game, when John Conway developed the system he called Life he wasn't aiming to simulate life at all. All the same, the game's lifelike nature, with its endless complexities and unpredictable nature, has captured imaginations all over the world. Conway's original aim was entirely mathematical - he was trying to find a so-called universal system, that is, a system capable of carrying out arbitrary computations - a sort of infinitely programmable computer.
John Conway Hoped for Greater Simplicity http://plus.maths.org/content/games-life-and-game-life Life is not as simple as Conway had hoped, but is, he says, "a sort of pleasant failure". In one way von Neumann's system was simpler, as the state of a cell only depended on itself and its four crosswise neighbours, whereas Life involves all eight neighbours. Ideally, Conway was looking for a system that was "astonishingly simple", one that only involved one dimension - cellular automata in a line rather than in a plane. With a two-dimensional system "you have to hold the state of position (x,y) at time t. It would be much better if we could reduce the complexity of the space we are operating in", he says.
Investigations continue with the Giant Brain in various scientific fields
pertinent to the future of AI Brain operations and the establishment of
life plus all incorporated related fields.
Overview
This is a large plate of impending agenda based on large elements of
time, labor development, ongoing research and design, and now
testing of modules. In the next phase, many of these modules will be
interconnected in the internal Brain web of neural nets.
Simulations
More simulations and try-outs will take take place, offline from the brain,
to establish new neural designs and try out new ideas to see if they are
fully workable.
Brain Direction
The idea is to build up a collection and references of working sources that
can contribute functional sections with algorithms to the Brain project.
Some will schedule for tryout and end up for reference only while others
will become highly useful.
Continuing Directions
The following fields of development will continue
Brain Channeling was highly successful
Adding processors went well
Adding programming languages will increase
Apps incorporating TV & computer
Modeling, Sketching, Simulation
Development Trends
Current development trends include continuation of wiring (the largest
project ever undertaken with a Brain of this magnitude), sketching
the schematic for the new designs based on earlier testing, research,
and Brain Channeling. Programming languages are also added so in
the final analysis this will become multi-lingual programming code
Brain. It is intended to program the brain will a variety of languages
simultaneously.
Directly Related Background Projects
In the background are other ongoing related projects - the design of
a new cybernetics laboratory equipped with useful test equipment. This
will suffice the current and near future levels of ongoing Brain research &
development including the construction of full scale humanoids,
advanced robotics, & a step toward increasingly powerful Brain technology.
It will require international moving.
Brain Neural Net Day
The upcoming Brain Neural Net Day will be observed and the lab will close
for about 2 weeks and vacated during this time period. No activity or posts will
occur during this time span. This is most likely still a few weeks away. It is not
certain exactly when the observance will occur.
In a nutshell, dreaming is considered information digestion.
(Thanks to Prof_Braino for this coinage)
Artificial Intelligence coding can be complicated or capable of
"processing" large amounts of data even though great strides will
be taken for some degree of simplification. The process of AI will
require time for processing data. This "making sense of the
real world," even in psychological organizations, could be
directed to the benefits of dreaming.
How digestion takes place is directly dependent on the
AI and dreaming algorithms. This incorporates the AI modules.
Refer to the Six Objectives of Machine Intelligence outlined in
Post 364.
The objective of dreaming is not to just show pretty random
unfolding pictures but rather couple the dream world to that of
sorting, organizing and making sense of the real world.
In a kind of data crunching, or uncrunching if you will, dreaming
will contribute to the silicon life form's well being in fundamentally
useful ways.
It's likely that not one second of waking or sleeping time will be
wasted in this kind of ongoing life analysis. The brain will likely
always think, even during nights of lessened power and dreaming..
Comments
Wishful Thinking:
Humanoido, please forgive me as the following may sound dismissive of your work -- it is merely constructive criticism.
To achieve the goal above you need to implement some kind of evolutionary software -- right now it appears to me your brain is a collection of fixed functions, in the same way the Linux kernel is a collection of drivers and other stuff.
For example, you implement dreaming, although it might be completely unnecessary for AI. Humans evolved to the point where we are now thanks to competitive/cooperative evolution (coevolution), and I believe you'll have to implement a similar setup. Now having a collection of real robots interacting is costly and slow, this is why I suggested simulated evolution.
- self aware
- no difference between machine or human conversation
- inquisitive
- It has the ability to learn
- can solve new problems
- creative artistic, abstract thinking
Dreaming could of course be totally unnecessary for AI. It's just something that I wanted to do and I think it's really cool to have an intelligent machine do dreaming.Simulations are great and as you mentioned, can cost less with software substituting for the hardware. But generally the simulations are not 100% like the hardware, and I would not want to miss out on the fun and education of designing and putting together all the hardware.
Float is LESS precise due to rounding errors (when it is assumed that all the psooible digits are MEANINGFUL rather than determining when they become meaningless); fixed point when properly scaled to the needs of the application tend to be one or two orders of magnitude more precise.
http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems
http://www.eetimes.com/design/signal-processing-dsp/4017010/Fixed-vs-floating-point-a-surprisingly-hard-choice
http://www.lahey.com/float.htm
The Perils of Floating Point
Binary Floating-Point
Inexactness
Insignificant Digits
Crazy Conversions
Too Many Digits
Too Much Precision
Programming with the Perils
Floating-point arithmetic on digital computers is inherently inexact. The 24 bits (including the hidden bit) of mantissa in a 32-bit floating-point number represent approximately 7 significant decimal digits. Unlike the real number system, which is continuous, a floating-point system has gaps between each number. If a number is not exactly representable, then it must be approximated by one of the nearest representable values.
Whether integer or floating point, it just shows that there's a use, a time and a place for either or both systems, provided the programmer is well aware of the caveats.
You may want to consider this statement further. I heard someplace that dreaming is the "information digestion". I don't have the link off hand, but I recall a study that found if humans are not allowed to dream, they get cranky and psycotic. Something about projecting the model from all the participants perspectives.
Yes, that's one of the links I was trying to site. The other one was about calculating interest at a major bank; over the course of a year (somthing like billions or trillions of dollars), the fixed point calculation had an error of hundreds of thousands of dolloars, while the floating poing calculation had an error of tens of millions. While both accepable errors, the bank of course wanted the more precise.
I should probably clarify my response which was too short and too summarized which held the notion that for simple applications with a rudimentary AI, the dreaming would not be necessary. On the other hand, I would like to prove that it is.
As I see it, AI is divided into two areas, fundamentally simple and more advanced. Simple could involve carrying on a conversation with a human, where the psychology benefits of dreaming may not appear necessary. Yet, we know, the nuances and details of carrying on a conversation with an intelligent life form would, or could, reflect models of psychology. This model demands the psychology of well being, thus necessitating dreaming.
The advanced AI version would involve more psychology and require dreaming. Either way, simple AI or not, work is already progressing on the dream equation at the first level - the 1st discovery information was also posted.
A number of web sites extol the benefits of dreaming. Reading these sources will provide new information. Did you know there is a device to help you know you are dreaming so that you can guide yourself while in the dream?
Personally, I have long known that dreaming can help solve problems. Often times when faced with a tough analysis problem, I can review everything known before sleep and during the night, a dream will happen to give me the solution. This is why I always have paper and pencil at the bed side stand, for jotting down the solution when waking up.
Will these same benefits be available to an artificial life form? Contemporary thought is yes because in any advanced life form with the elements of forward thinking, creativity, self awareness, and problem solving, the psychology of well being will be involved and this necessitates dreaming.
The commonality of advanced life forms
The Benefits of Dreaming
http://www.world-of-lucid-dreaming.com/benefits-of-lucid-dreaming.html
Improve Your Problem Solving Skills
Improve Your Creativity
Face Your Fears
Improve Your Confidence
Practice New Skills
Explore Alternate Realities
Final Thoughts
Benefits of dreaming
http://mythwell.com/en/articles/dream.html
There are several key benefits of working with dreams: creative problem solving, health improvements and increased peace of mind.
All benefits have in common that dreams have access to personal information usually not available to the conscious mind. To give a few examples: dreams may show that you're concerned about certain work related challenges even before you start feeling the stress yourself. Dreams can quite literally warn you that you're close to catching a flu because your immune system is running low. With a little luck a dream will even show how to avoid the problem. If you watch your dreams you will notice that you sometimes rehearse situations in your dreams. Such a situation could be an important speech, a new sport, a piano recital, etc. The beauty of it is that when you get more accustomed with your dreamlife, you will also be able to take better advantage of the creative potential of dreams by trying to have dreams that help solve your problems. Weird as this may sound, there are dozens of famous examples of scientific breakthroughts based on dreams. Also much music, poetry and other art originated in dreams. Your dreams can also function as a reliable mirror for yourself, showing your strong and your weak points. By listening to your dreams you will raise your self-knowlegde and in time this will lead to simply being more at ease with yourself.
6 Ways to Reap the Health Benefits of Dreams
http://www.care2.com/greenliving/6-ways-to-reap-the-health-benefits-of-dreams.html
Experts claim that our brains midnight shenanigans can give us insight to help heal emotional trauma and stress, improve our sleep, increase happiness and even help figure out problems in our lives. New studies suggest that dreams are part of a healthy emotional coping processthe thoughts that happen when we sleep combine recent events, hidden memories, hopes, and fears into a new mix, forging neural connections that might be impossible to attain while awake.
Along with basic emotional housekeeping, dreaming can help alleviate depression. In sleep studies of recently divorced women with untreated clinical depression, scientists found that patients who recalled dreams and incorporated the ex-spouse or relationship into their dreams scored better on tests of mood in the morning. And they were much more likely to recover from depression than others who either did not dream about the marriage or could not recall their dreams.
According to a report at MSNBC, recent brain scan studies show that regions active during dreaming are the same ones responsible for processing memories and emotions when were awake. Dreams, the new thinking goes, shape your self-image by helping you work through unresolved emotions from waking life. (For this reason, even unpleasant nightmares can be beneficial.) In fact, for a day or two after a significant life eventand again about a week laterhints of it show up in your dreams, according to a study at Canadas University of Alberta. Revisiting events in dreams helps reshape your understanding of them, says study author Don Kuiken, PhD.
Paving the way towards AI dreaming
6 points of dreaming
http://www.dreammoods.com/dreaminformation/recallingdreams.htm
1. Your dreaming mind has access to vital information that is not readily available to you when you are awake. Your dreams serve as a window to your subconscious and reveal your secret desires and feelings.
2. In remembering your dreams, you gain increased knowledge, self-awareness and self-healing. Dreams are an extension of how you perceive yourself. They may be a source of inspiration, wisdom, joy, imagination and overall improved psychological health.
3. Learning to recall your dreams help you become a more assertive, confident and stronger person. By remembering your dreams, you are expressing and confronting your feelings.
4. Dreams help guide you through difficult decisions, relationship issues, health concerns, career questions or any life struggle you may be experiencing.
5. Remembering your dreams help you come to terms with stressful aspects of your lives.
6. You will learn more about yourself, your aspirations, and your desires through your dreams.
Views may have changed since the year 2000. We are now much closer to creating HAL than previously thought.
Handbook of intelligence By Robert J. Sternberg
http://books.google.com/books?id=7ry1NpFtZKkC&pg=PA355&lpg=PA355&dq=ai+dream+program&source=bl&ots=f4OB9cHe4r&sig=exbnXdTQR6GYS1njnbfJkxNVb-s&hl=en&ei=GxZ7TbXDC4HcvwPAr6ztBw&sa=X&oi=book_result&ct=result&resnum=9&ved=0CE8Q6AEwCA#v=onepage&q=ai%20dream%20program&f=false
Fitting life in multiple cogs
Anyone want to try this? The first step is to run the life 1-cog version in the same chip and then modify it with connections to more cogs.
http://forums.parallax.com/showthread.php?125194-Call-for-Tiny-Objects-%28Plez!%29-to-go-in-a-Massive-Prop-Computing-Machine
Heater wrote: I think the game of Life is a perfect idea ...
It is:
- Small and simple for running in COGs.
- Could probably run many Life cells in each COG.
- Requires decent communication between all those COGs and Props as a two dimensional grid.
- Easy to display the results on a video Prop somewhere
Additional Sourcehttp://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain/page17
Dennis Ferron comments on implementing Cellular Automatrons on Multiple Cogs:
http://forums.parallax.com/showthrea...-sand-in-realt ..this particular algorithm is easy to run in parallel because each "cell" only looks at the cells very close to it, so you can run multiple cogs on it as long as they are more than 4 or 5 pixels away from each other as they work.
So each cog works from bottom to top, line by line, and it's ok as long as all the cogs move from bottom to top at the same speed and maintain some separation between them. Problems ensue if a cog gets bogged down and a cog "below" it catches up to the line it's on. The thing with dividing the screen into buckets is that it's difficult to handle the edge cases where two buckets touch, and if you ignore the boundaries and just let cogs move sand in and out of each other's buckets, then there is still the possibility that another cog will be writing sand into your bucket area while you are trying to put a grain in the same spot.
So instead of buckets I thought I'd just have all the cogs scan the whole screen, but dynamically insert waits after each line so that the cogs all remain exactly 1/6 of the screen away from each other as they scan. If one cog is getting a little bogged down (happens if there is a lot of sand) the others would all have to slow down too, to maintain an equal distance.
There are still caveats with that; for instance a hole at the bottom of a sand dune can only "bubble up" to the top as fast as the scan speed of a single cog doing the sim no matter how many other cogs are used. Having more cogs doesn't make holes bubble up any faster, but it allows more holes to bubble up at once.
The Matrix Monolith emerges from within
CONTACT! We've explored the algorithm to create Life and molded the Brain into a potentially powerful platform of multiple propellers and peripherals. We've explored and added software, and stretched the "never traveled before" pathways into mind bending dream worlds and a new Universe.
But what exactly lurks inside the deepest realm of the Brain? Does it contain pure machine circuits and silicon derived electrons and no more, or is there a machine intelligence that can be pulled from within, even provoked into existence?
You may have fascination and pure shock & puzzlement when observing the slowly emerging Brain Monolith from a place deep with the Brain's inner Cog. Like an inner sanctum of a chromatic spacial realm waiting to unfold, this is a mind blowing Propeller variant of the Contact Demo, established with the tools of Spin and PASM by Virand.
Emergence of the Brain Monolith is made possible by a real time
Matrix based on the contact pattern XAX-2313, embedded within the
Brain.
Set up and fully functional, this
operating iBrain is seen loaded
and running a level one Matrix in
one Brain channel. This is not a
static screen, i.e. it moves and
scrolls in real time as variations
of multitudes of components
appear!
The demonstration of the Brain's emerging monolith is one of fascination. You need to see it in real time to appreciate the uniqueness of what can exist inside the Brain, and see it unfold in real time! The code to make this happen generates data, in the words of the programmer, "Ex Nihilo," using magic math, in full color dimensional rendering. Wizard Virand masterminded the code for the HYDRA while guru Jeff (OBC) converted the code to the Parallax Demo Board platform. The Demo Board code easily ports to PPPBs. Follow the active links to download both versions.
As the colorful monolith emerges, an unlimited number of inner circuits from within scroll past, emerging, and ebbing. Like the tidal flow (in the beginning..) of a new world, this remarkable machine Matrix unfolds. What we see is the basis Contact Pattern "XAX-2313."
Program: 1,198 Longs
Variable: 243 Longs
"The Matrix Monolith is capable of extruding millions of of previously unforeseeable matrix components in a muti-processor system."
Discovery Thread
http://forums.parallax.com/showthread.php?100033-Miscellaneous-Demo%28s%29/page2
Downloads
aVA_MatrixCircuit_001.spin For the Parallax Demo Board
http://forums.parallax.com/attachment.php?attachmentid=55170&d=1218965916
aVA_MatrixCircuit_001.spin For the HYDRA
Requires tv.spin and graphics.spin objects
New ELICA LOGO opens up a new realm
Adding 3D to dimensional LOGO Brain Dreaming is an idea conjured up by Ralphw who appears to not only have experience in the field of LOGO programming but is well researched with LOGO derivative languages.
Planets circle a giant sun, with a backdrop of stars. Note the planet immediately to the left of the big sun, undergoing occultation at the solar limb. Dreams have no boundaries or limits -
you can travel the solar system, exit the galaxy, discover new words and life! All these
worlds are yours with 3D LOGO ELICA. This cosmic phenomena was created with ELICA,
a LOGO derivative language. The latest ELICA results include 3D motion.
____________________________
Constellation of stars
http://www.elica.net/site/museum/Constellations.jpg
Shinkansen Gravity Well
http://www.elica.net/site/museum/Math%20Shinkansen.jpg
Global Planetary XRAY
http://www.elica.net/site/museum/X-Ray%20Plane.jpg
This hot breaking news comes from Ralphw, who cites the virtues of great programming opportunities with a new type of LOGO programming language. "It's possible, but I would probably start with Elica, which is a LOGO-inspired language which supports 3-d graphics inherently." Ralph notes the 3D scene generation has a long history in computer science, particularly the AI circles, starting with the "Blocks Wolrd."
While 3D Elica does not run INSIDE the Propeller chip, it can do the next best thing - run under control of a Propeller chip. The idea is to load up ELICA on a tiny PC Netbook and control it with the Propeller Brain. The Propeller can pass parameters to the Netbook and ELICA can replicate the intended results. The two can share resources including the large color screen and RAM, plus the ATOM processor.
[FONT=Arial,Helvetica]In addition to the flat triangular turtle Elica provides entirely Logo-defined space and spherical turtles, as well as a rich 3D graphics library.[/FONT] [FONT=Arial,Helvetica]Mathematical visualization of curves, surfaces and solids is flexible as users are not bound to predefined sets.[/FONT] [FONT=Arial,Helvetica]This facilitates a deeper understanding the basic principles of geometry, design, programming and logic.
Here's a programming example to make a 3D pyramid in color.
[/FONT]
Discovery Link
http://www.elica.net/site/about/about.html
Download ELICA
http://www.elica.net/site/..%5Cdownload%5C5.6%5CElica56Setup.zip
The building of neurons
Intro to building Neurons and Neural Nets in the Propeller iBrain
This is a simple working
neural net created with
BrainBox
Modeling neurons from the human brain can be a daunting task. New breakthroughs
in Propeller technology elevate the possible level of the numbers of neurons in the
giant electrical iBrain.
_____________________________________________________
Neuron Modeling
Work is progressing at the early stages in working with a neural programming model that can run wide-band (or channel) in a multi-propeller system.
Cog Permeability
In the progressing software modeling, the neurons are simulated by numerous divisional neuronic spin code segments. This has Cog permeability.
Distribution Injection
There is a means by which the Neurons can be injected across Propellers and this has entered a test phasing.
Neural Allotment
The model for each neuron is given a finite size. Everything the neuron must do in the iBrain must fit into this constraint.
Flowing in Numbers
We already addressed the creation of an artificial electrical Synapse, which is the assist medium for the flow of an actuated neuron response.
Test Density
Experimental test densities of neurons have reached the 21,000 level.
Neuron Expansion
It's important to think in terms of expanding the number of neurons. Resources are now purchased to elevated the neuron density to over 100,000.
Comparative Density with Human Brain
Consider that the human brain has 100 billion neurons and one can see the concern for pumping up density of machine neurons.
Expanding Neural Densities
While this is just the birth of an idea, it is possible to algorithmically define a neural extension for multiplicity. This is a future field to explore.
The Progression of Work
I have written a white paper and while the subject matter is being published, the project will continue to phase develop the algorithm.
Associative Background
The brain and spinal cord are made up of many cells, including neurons and glial cells.
Neurons
Neurons are cells that send and receive electro-chemical signals to and from the brain and nervous system. There are about 100 billion neurons in the brain. There are many more glial cells; they provide support functions for the neurons, and are far more numerous than neurons
Types of Neurons
There are many types of neurons. They vary in size from 4 microns (.004 mm) to 100 microns (.1 mm) in diameter. Their length varies from a fraction of an inch to several feet
Neuron Function & Speed
Neurons are nerve cells that transmit nerve signals to and from the brain at up to 200 mph. The neuron consists of a cell body (or soma) with branching dendrites (signal receivers) and a projection called an axon, which conduct the nerve signal.
Synapse
The Synapse is the gap between the axon terminal and the receiving cell. A typical neuron has about 1,000 to 10,000 synapses (that is, it communicates with 1,000-10,000 other neurons, muscle cells, glands, etc.).
Axon
The axon is a long extension of a nerve cell that takes information away from the cell body.
Nerves
Bundles of axons are known as nerves or within the CNS (central nervous system), as nerve tracts or pathways.
Axon Inter-relationships
At the other end of the axon, the axon terminals transmit the electro-chemical signal across a synapse. The word "neuron" was coined by the German scientist Heinrich Wilhelm Gottfried von Waldeyer-Hartz in 1891.
Dendrites
Dendrites bring information to the cell body. Dendrites branch from the cell body and receive messages.
Myelin
Myelin coats and insulates the axon (except for periodic breaks called nodes of Ranvier), increasing transmission speed along the axon. Myelin is manufactured by Schwann's cells, and consists of 70-80% lipids (fat) and 20-30% protein.
SOMA
The cell body is named soma and contains the neuron's nucleus, with DNA and typical nuclear organelles.
Programming
Here is simple pseudo code for an artificial neuron Threshold Logic Unit TLU. It works with true or false Boolean input and expunges a single Boolean output when triggered.
Discovery Links
http://vv.carleton.ca/~neil/neural/neuron-b.html
A Program for
Making a Neural
Net
Introduction of BrainBox
http://neil.fraser.name/software/brainbox/ Models of neurons in the iBrain are made and explored using a program called BrainBox. BrainBox is for coding up neural nets. The neural networks made are fully functional in real time.
BrainBox is a Windows program (3.1 or 95/98) that allows one to graphically build and execute neural networks. Use the mouse to drop neurons, drag links from one neuron to another, adjust the weights, and watch what happens when the network executes. There is no automated learning; you are in complete control. Take a look at BrainBox's demo files to see what it can do.
Note: BrainBox is tested and working on a WinXP computer here at the iBrain lab.
Download BrainBox [538k zip]. The download archive contains BrainBox's setup program, along with sample files, and source code.
Samples
http://neil.fraser.name/software/brainbox/bboxdemo/
Paul
It seems like yesterday when we had the cybernetics lab upstairs. I was working alone on a cybernetic android and developing a new speech chip for VOTRAX. We needed to hold a meeting and I went downstairs, not shutting off the equipment.
The four of us were downstairs talking and suddenly someone was talking upstairs. But no one was there! I remember the chilling feeling that coldly shot across my spine! Who was in the lab? I was almost afraid to go up there alone in the dark and welcomed a couple of colleagues to accompany me!
As fate will have it, the cybernetic "organism" started talking on its own.. probably a power surge causing a boot and it sort of randomly became alive. My colleagues were convinced it had become a life form and congratulated me for achieving life - but I had to explain - I simply had no explanation for the random state causing it to speech out like that.
It's something I will never forget! The story made it to an international magazine when the ten year project was published. Reminiscing, perhaps it was simple circuit failure.. or a symbolic metaphor of insightful vision towards the ebbing birth of new life in the Universe.
Tic Tac Toe Neural Net
Design this neural net using BrainBox on your PC and transfer it to the Propeller chip. Here, the game setup of Tic Tac Toe is only using 59 neurons. Imagine what might be possible by increasing the number of neurons in the Propeller chip or by adding Propeller chips to a vast collective. Up to 1,000 neurons can fit into each Propeller. The iBrain can handle a total of 21,000 neurons across the net. We are not talking about playing 355.9 games of Tic Tac Toe but rather developing a much greater intelligence.
This is Tic Tac Toe on a Neural Net
A Tiny Intelligence
Back in the year 2007, I did a take on Artificial Intelligence with the Penguin Robot and a version of Tic Tac Toe that ran on the Parallax BASIC Stamp 2px. It ushered in Stamp AI through the thinking thought processes with gaming, on a tiny brain board residing on top of Penguin's chassis. This little brain was the forerunner of what we are working on today. If you have an original Penguin, or the new Penguin REVB, you can still download and experience the challenge of interacting with this tiny intelligence.
http://forums.parallax.com/showthread.php?98922-PENGUIN-ROBOT-Artificial-Intelligence-the-Code
A Powerful Game
Note: it plays the best game of Tic Tac Toe and you can never beat Penguin. You can only tie the game. But Penguin has a weird sense of humor and when he wins, he laughs in Penguinese using the Virtual Sound Chip built into the software. If you enter the cheat code, the tiny intelligence will cheat! Feel free to explore this precursory open source adventure.
penguin_tic_tac_toe.bsp (10.8 KB, 243 views)
Setup for Penguin Tic Tac Toe uses the Debug Screen. This game
was eventually tied and it was a Cat's Game.
Neural Net Tic Tac Toe
Today, Tic Tac Toe is incorporated into the basis of an embedded neural net. All you need to do is design it with BrainBox or run the sample program. As you can see in the program, there are two boards for one game beset by the propagation of neurons.
A single player of this Tic Tac Toe can challenge
the Neural Net. A challenging Neural Net takes
about 166 neurons which is almost three times
as many neurons compared to the setup of a
two humans game. 126.5 games fit into our large
Propeller Neural Net model. This is sufficient
for the beginning of artificial life based on
fundamental rules.
How it Works
[TTT-1.BBX 10KB] Download here
This neural network can play the game of Tic-Tac-Toe against a human. The computer's moves are very good, but not infallible; it is possible to trap the computer and win the game. For information about how to use the Tic-Tac-Toe game, see the documentation for the two-player version of the game: TTT-2.
Rules of the Net
When playing this game, make your move then wait for the computer to play before making your next move. The functionality is the same as the two-player version, including the Clear All, Who goes first Error neurons. The computer follows three simple rules when playing:
This is a game played against the Neural Net. The human's board is on the
left and has the winning combination. The Neural Net's board is on the right.
The first play gave the advantage according the win rules of Tic Tac Toe.
Discovery Link
For more information about building Neural Nets with your Bare hands and BrainBox, follow the discovery link. http://neil.fraser.name/software/brainbox/
-Phil
BTW, did you notice, if the number of neurons are proportional to intelligence, Hump Back Whales are twice as intelligent as humans, coming in with 200 billion or more compared to 100 billion for humans.. It makes you wonder what new worlds they're spinning deep in the ocean.
-Phil
Sea Slugs Computer Modeling
Going downward on the evolutionary scale, are there lessons to be learned from the lowly Sea Slug? Apparently so..
Cyberslug Cyberbranchaea Program
Control Panel
"An animated model reproduces aspects of optimal foraging decisions. Prey are created with specific nutritional and defensive qualities, given specific odors, and placed in the field. Predator hunger increases with time between feeding. The predator's hedonic evaluation of odors may be inspected at any time by clicking the odor. The predator and prey are shrunken images of Pleurobranchaea and its noxious real prey, Flabellina sp."
Download the Cyber Slug Program
http://www.life.uiuc.edu/slugcity/CyberSlug.exe
Busy as a Bee
We all agree the Sea Slug is a very busy banty little critter, contending with additional elements of commensalism, symbiosis, adapting solar power, mutualism, parasitism, bioilluminism, managing Lessepsian Migration, crawling, joy swimming in Opisthobranchia, spiraling, mantel flapping in Chromodoris, regulating tortion and detortion, and managing eggs and larval culturing. All those things are not necessary in the iBrain, which has other purposes. Perhaps looking at Slug research could be beneficial in some other way.
Slug Research
Dr. Rhanor Gillette's research group [Department of Molecular and Integrative Physiology, Center of Biophysics and Computational Biology, University of Illinois at Urbana-Champaign] has a website called Slug City at http://www.life.uiuc.edu/r-gillette/.
Cyber Slug Program
If you go to the Models page on that site you can download a copy of their Optimal Foraging Simulation program for the cyberslug Cyberbranchaea. The name is a play on the name of the real carnivorous slug they have studied, Pleurobranchaea californica.
The Sea Slug Analog Computer!
http://www.life.illinois.edu/slugcity/cyberslug.html
This simple analog computer uses voltage levels to simulate stimuli strength and
the feeding or avoidance responses. Potentiometers can be set to desired levels of
virtual hunger, pain, and food-scent. One observes lamp brightness corresponding
to feeding or avoidance behavior. The circuit behaves qualitatively like
Pleurobranchaea, with proper handling of behavior throughout the hunger
continuum.
For more information, the Sea Slug Forum is helpful.
http://www.seaslugforum.net/
Mic sound input for analysis
The idea of a simple Brain amplification ear came from Chip's code. The audio input from the microphone circuit on a PPDB is fed to the earphone output which in turn is fed to the primary audio amplifier. Two ears on opposing Brain sides can hear in stereo.
Mic to Headphones
microphone_to_headphones.spin
http://forums.parallax.com/showthread.php?85703-Demo-board-audio-examples&p=587464
This program uses the Propeller Demo Board, Rev C. The microphone is digitized and the samples are played on the headphones. Here's a program that runs on the new Propeller Demo Board, Rev C. It digitizes the microphone to selectable resolutions and then outputs the samples to the headphones. It uses one COG. The COG's CTRA is used for analog-to-digital conversion and its CTRB is used for digital-to-analog conversion.
Envelope Detector
Also in use is this demo which uses an envelope detector from the mic input to generate a bar graph output on the board's LEDs. Concocted by Phil for the Propeller Demo Board, it's a simple audio volume level indicator. http://forums.parallax.com/showthread.php?118061-Simple-audio-volume-level-demo
Utilize BrainBox Neural Net to Establish Life
Inventing Life
The Game of Life was invented by John Horton Conway, a British mathematician, and described by Martin Gardner in his Mathematical Games in Scientific American in 1970 (Scientific American 223(4), October, 1970, pp 120-123).
Entering a New World
A world ... consisting of locations which may or may not be occupied by life. And time ... as many steps as you like. And a very simple set of rules ...
- At each step, life persists in any location where it is also present in two or three of the eight neighboring locations, and otherwise disappears (from loneliness or overcrowding). Life is born in any empty location for which there is life in three of the eight neighboring locations.
Post 382 had discussion about using BrainBox to create neural nets. This code allows the placement and linking establishment of neurons to design and formulate a Neural Net. After exploring the code, a new implement of Life was discovered and is presented here.Why is Life So Interesting?
Life is one of the simplest examples of what is sometimes called "emergent complexity" or "self-organizing systems." This subject area has captured the attention of scientists and mathematicians in diverse fields. It is the study of how elaborate patterns and behaviors can emerge from very simple rules. It helps us understand, for example, how the petals on a rose or the stripes on a zebra can arise from a tissue of living cells growing together. It can even help us understand the diversity of life that has evolved on earth.
Watch Life evolve within the confines of the Neural Net. Neurons
in Life6T run within the BrainBox.
Life evolutionary view during a Life6 run
Discovery Links
http://neil.fraser.name/software/brainbox/bboxdemo/
For more information about Life, check post 333 on page 17
For more information about BrainBox
http://neil.fraser.name/software/brainbox/
Game of Life on a 6x6 grid
Life6
http://neil.fraser.name/software/brainbox/bboxdemo/life6.htm
Glider slowly moves diagonally across the grid requiring four generations to move by one pixel. This is the pattern displayed when Life6 is loaded."Life6 implements a 6x6 square grid of Life using a neural network. Each pixel of the grid is made up of three neurons in a triangular group.
The lower two determine if the pixel will be alive or dead (death has priority) in the next generation. The top neuron reflects the current state of the pixel. Each Life generation takes two execution steps. To change the grid's pattern one may have to single step the net once so that the top neurons are the active ones, then their states may be toggled.
An interesting side-effect of the two-step generation is that a second Life pattern can be run concurrent with the first, without any interference between the two -- as long as they are half a generation out of phase. The second pattern doesn't slow down the network at all because every neuron must compute its state each step anyway."
6x6 Life Torus
[LIFE6T.BBX 8KB]
Life6T Game of Life wrapped toroidally
http://neil.fraser.name/software/brainbox/bboxdemo/life6t.htm
"Life6T is the same as Life6 with the addition of wrap-around links to make the 6x6 playing field toroidal. This means that Gliders (among other patterns) will circulate forever. For information about Life and how to use it, see the documentation for Life6. An interesting property of Life6T's toroidal nature is that the left-most or right-most column of 'pixels' can be dragged to the opposite side, and the resulting pattern will be identical. The same applies for moving rows from the top to the bottom or vice-versa."
What Life is and is Not
In the article written about John Conway's Life, Martin Gardner refers to it in his interpretation as a game. Note that Life is not really a game. According to the Scientific American Article, it is an implementation of a cellular automata that John H. Conway chose to call "Life." It simulates the birth, death, etc., of organisms based on certain rules.
The Infinitely Programmable Computer
Despite the name of the game, when John Conway developed the system he called Life he wasn't aiming to simulate life at all. All the same, the game's lifelike nature, with its endless complexities and unpredictable nature, has captured imaginations all over the world. Conway's original aim was entirely mathematical - he was trying to find a so-called universal system, that is, a system capable of carrying out arbitrary computations - a sort of infinitely programmable computer.
Explore Online Life Applet
http://www.bitstorm.org/gameoflife/
http://www.bitstorm.org/gameoflife/standalone/manual/
http://www.ibiblio.org/lifepatterns/
Single Stepping or X10
Here's a Life applet that allows setting the initial condition
and either single stepping or stepping by ten.
http://serendip.brynmawr.edu/complexity/life.html
Lexicon Discoveries Made Within Life
http://www.bitstorm.org/gameoflife/lexicon/
Many things are discovered while Life is unfolding,
such as vast spaceships,diamonds, volcanoes and
hundreds of other elements!
original Life Lexicon is available at Silver's website
More Information
From Life in Postscript
http://www.tjhsst.edu/~edanaher/pslife/
John Conway Hoped for Greater Simplicity
http://plus.maths.org/content/games-life-and-game-life
Life is not as simple as Conway had hoped, but is, he says, "a sort of pleasant failure". In one way von Neumann's system was simpler, as the state of a cell only depended on itself and its four crosswise neighbours, whereas Life involves all eight neighbours. Ideally, Conway was looking for a system that was "astonishingly simple", one that only involved one dimension - cellular automata in a line rather than in a plane. With a two-dimensional system "you have to hold the state of position (x,y) at time t. It would be much better if we could reduce the complexity of the space we are operating in", he says.
Investigations continue with the Giant Brain in various scientific fields
pertinent to the future of AI Brain operations and the establishment of
life plus all incorporated related fields.
Overview
This is a large plate of impending agenda based on large elements of
time, labor development, ongoing research and design, and now
testing of modules. In the next phase, many of these modules will be
interconnected in the internal Brain web of neural nets.
Simulations
More simulations and try-outs will take take place, offline from the brain,
to establish new neural designs and try out new ideas to see if they are
fully workable.
Brain Direction
The idea is to build up a collection and references of working sources that
can contribute functional sections with algorithms to the Brain project.
Some will schedule for tryout and end up for reference only while others
will become highly useful.
Continuing Directions
The following fields of development will continue
- Brain Channeling was highly successful
- Adding processors went well
- Adding programming languages will increase
- Apps incorporating TV & computer
- Modeling, Sketching, Simulation
Development TrendsCurrent development trends include continuation of wiring (the largest
project ever undertaken with a Brain of this magnitude), sketching
the schematic for the new designs based on earlier testing, research,
and Brain Channeling. Programming languages are also added so in
the final analysis this will become multi-lingual programming code
Brain. It is intended to program the brain will a variety of languages
simultaneously.
Directly Related Background Projects
In the background are other ongoing related projects - the design of
a new cybernetics laboratory equipped with useful test equipment. This
will suffice the current and near future levels of ongoing Brain research &
development including the construction of full scale humanoids,
advanced robotics, & a step toward increasingly powerful Brain technology.
It will require international moving.
Brain Neural Net Day
The upcoming Brain Neural Net Day will be observed and the lab will close
for about 2 weeks and vacated during this time period. No activity or posts will
occur during this time span. This is most likely still a few weeks away. It is not
certain exactly when the observance will occur.
Possible Future Trending
Information Digestion
In a nutshell, dreaming is considered information digestion.
(Thanks to Prof_Braino for this coinage)
Artificial Intelligence coding can be complicated or capable of
"processing" large amounts of data even though great strides will
be taken for some degree of simplification. The process of AI will
require time for processing data. This "making sense of the
real world," even in psychological organizations, could be
directed to the benefits of dreaming.
How digestion takes place is directly dependent on the
AI and dreaming algorithms. This incorporates the AI modules.
Refer to the Six Objectives of Machine Intelligence outlined in
Post 364.
The objective of dreaming is not to just show pretty random
unfolding pictures but rather couple the dream world to that of
sorting, organizing and making sense of the real world.
In a kind of data crunching, or uncrunching if you will, dreaming
will contribute to the silicon life form's well being in fundamentally
useful ways.
It's likely that not one second of waking or sleeping time will be
wasted in this kind of ongoing life analysis. The brain will likely
always think, even during nights of lessened power and dreaming..