Telerobotics
Friday, May 17, 2024
Friday, February 23, 2024
Memetic Engineering as a Basis for Learning in Robotic Communities
Memetic Engineering as a Basis for Learning in Robotic CommunitiesThis paper represents a new contribution to the growing literature on memes. While most memetic thought has been focused on its implications on humans, this paper speculates on the role that memetics can have on robotic communities. Though speculative, the concepts are based on proven advanced multi agent technology work done at NASA - Goddard Space Flight Center and Lockheed Martin. The paper is composed of the following sections : 1) An introductory section which gently leads the reader into the realm of memes. 2) A section on memetic engineering which addresses some of the central issues with robotic learning via memes. 3) A section on related work which very concisely identifies three other areas of memetic applications, i.e., news, psychology, and the study of human behaviors. 4) A section which discusses the proposed approach for realizing memetic behaviors in robots and robotic communities. 5) A section which presents an exploration scenario for a community of robots working on Mars. 6) A final section which discusses future research which will be required to realize a comprehensive science of robotic memetics.
https://ntrs.nasa.gov/citations/20160007482
https://ntrs.nasa.gov/api/citations/20160007482/downloads/20160007482.pdf
Memetic Engineering For robots, memes have been defined as sets of instructions that can be followed to evolve behavior. Instructions can be encoded as written text and visible or vocal action (Silby, 2000). To allow for memetic learning, memes should also include observations of the environment. A robot that is able to observe and intelligently imitate the behavior of others is able to participate in memetic learning. In order to perform intelligent imitation, a robot needs to be able to process memetic information. This process involves evaluating models, examples, and patterns which the robot observes (Hougen et al., 2003). In addition, the robot is expected to analytically compare its current knowledge to the new information it is observing. A robot has modified its individual knowledge base when it learns a new meme. Each robot is expected to evaluate active memes in the community knowledge base for strengths and weaknesses when deciding whether to learn them. It can be expected that each individual robot will benefit from the aggregation of other robots which are also participating in memetic learning. When the community knowledge base and size expands, there is a larger selection of memes which can be evaluated and learned. With a larger community knowledge base, a robot has a larger selection of memes to modify to develop novel memes. All individuals capable of participating in memetic learning are able to generate new memes. Also, individuals who are able to broadcast observations are capable of generating new memes. The memes that are in the knowledge base of a robot are in constant competition with all other memes in the meme pool (Silby, 2000). The meme pool is the collection of all existing memes that are accessible to the other individuals in the community. An individual robot may develop new memes that become candidates for imitation in the community meme pool. The community meme pool increases with the addition of novel memes generated by individual robots in the community. The connection between an individual knowledge base and the community meme pool is similar to the structure of a distributed cloud network. A distributed cloud network is structured so that each individual is connected to the cloud where they can have limited abilities to explore large areas efficiently. NASA has shown increased interest in robotic teams for exploration and servicing. In these teams different robots would have various roles and responsibilities. To work together in a team, robots will need to exchange information on their current status, needs, capabilities and findings. Using memes as an unit of transmission could facilitate this needed information exchange. Memetics has been a recent subject of interest as a new method for information exchange (Silby 2000, Hougen et al., 2003, Aunger 2002, Blackmore 2000, Wilson et al. 2011) . In communities, memes have been studied to understand and enhance group learning (Hougen et al., 2003). Richard Dawkins first defined memes as a unit of cultural transmission (Dawkins, 1989). Essentially, memes are ideas that evolve according to the same principles as biological evolution (Silby, 2000). Memetic learning works by transmitting units of cultural ideas or symbols from one mind to another. All ideas that exist within an individual's mind are examples of memes. Memes that are good at replicating leave more copies of themselves in minds. Examples of memes are catch phrases, musical themes, scientific ideas and sayings. In robotics, examples of memes are algorithms, observations, and instructions. Figure 1 - Visual Representation of Memes Memes benefit from having behavior similar to genes (Gunders, 2010). Like genes, memes are under constant selection pressures. Memes are in constant competition to be absorbed and evolved from the collection of memes in the community. Memes are competing to be learned and those that are better at reproducing are those that are successful in accomplishing their intended behavior. Memes give communities more power and knowledge to accomplish their tasks. There are still many unknowns regarding the representation and transmission of memes in a robotic community. Memetic Engineering For robots, memes have been defined as sets of instructions that can be followed to evolve behavior. Instructions can be encoded as written text and visible or vocal action (Silby, 2000). To allow for memetic learning, memes should also include observations of the environment. A robot that is able to observe and intelligently imitate the behavior of others is able to participate in memetic learning. In order to perform intelligent imitation, a robot needs to be able to process memetic information. This process involves evaluating models, examples, and patterns which the robot observes (Hougen et al., 2003). In addition, the robot is expected to analytically compare its current knowledge to the new information it is observing. A robot has modified its individual knowledge base when it learns a new meme. Each robot is expected to evaluate active memes in the community knowledge base for strengths and weaknesses when deciding whether to learn them. It can be expected that each individual robot will benefit from the aggregation of other robots which are also participating in memetic learning. When the community knowledge base and size expands, there is a larger selection of memes which can be evaluated and learned. With a larger community knowledge base, a robot has a larger selection of memes to modify to develop novel memes. All individuals capable of participating in memetic learning are able to generate new memes. Also, individuals who are able to broadcast observations are capable of generating new memes. The memes that are in the knowledge base of a robot are in constant competition with all other memes in the meme pool (Silby, 2000). The meme pool is the collection of all existing memes that are accessible to the other individuals in the community. An individual robot may develop new memes that become candidates for imitation in the community meme pool. The community meme pool increases with the addition of novel memes generated by individual robots in the community. The connection between an individual knowledge base and the community meme pool is similar to the structure of a distributed cloud network. A distributed cloud network is structured so that each individual is connected to the cloud where they can access the knowledge bases of others in the community pool. Individuals will be able to quickly access, process, and analyze the collective knowledge within the cloud (Krutz et al., 2010). Figure 2 - Visualization of Memetic Knowledge Base Related Work Memes can be utilized for many other applications other than robotics. One example has been tracking memes to develop a coherent representation of the news cycle - the daily rhythms in the news media that have previously been difficult to perform quantitative analysis (Leskovec, Backstrom, & Kleinberg, 2008). By using memes, Leskovec et al were able to develop a framework for tracking short and distinctive phrases that travel relatively intact in media. Further, the change in information as it propagates was able to be observed. Using memetics in this model has provided a method to see how a particular idea moves within and between groups. Memetics also has the potential to enhance our study of psychology. Memes can be used to discover the origin of certain psychological conditions. By modeling the mind as a memetic construct, conditions such as depression or addiction might be explained by memetic viruses that influence the behavior of an individual (Silby, 2000). This method may provide a path to pinpoint methods to prevent the spread of malicious psychological conditions. The most powerful adaptation of memetic systems is the ability to predict behavior and evolution of future memetic structures. In the future, psychologists may be able to model memetic learning within communities and predict what will happen when individuals are exposed to combinations of memes. With this knowledge, memes will become a driving force in the study of human behavior (Silby, 2000).
Sunday, August 20, 2023
Documenting my Massive Multicore CPU Startup from 2001.
My 2001 Efforts:
http://www.ultratechnology.com/ml0.htm
His hardware was designed to support a simple approach to software and to be fast and cheap. The software was designed to be as simple and efficient as possible. While a couple of C compilers have been produced they have not included significant optimization. There remains much work to be done to integrate this technology to the larger world of standard development tools. Forth was made public domain long ago and there was a PD Forth community before the new Free Software community. The fact that these designs and the required software is so simple makes them ideal for Free Software projects.
Mr. Moore met John Sokol while doing a presentation for the Tech Startup Connection, formerly the Parallel Processing Connection, about these designs and his approach to VLSI CAD. Mr. Sokol, well known in the BSD community and as an Internet video pioneer, expressed interest in a new design for a cluster chip with multiple CPU and memory nodes connected via register based communication busses. Mr. Sokol brought the interest and expertise to support integration with conventional software tools and Enumera was formed.
25X a 63,000 MIP Parallel Multiple Stack Computer Cluster Chip for $1
The latest chip design is more difficult to describe because the outside of the chip, the action of the pins, is programmable. It can be programmed to mate directly to an 18-bit cache RAM without the need for a circuit board. It essentially uses the same CPU architecture and instruction set as F21 from a programmer's point of view with an increase of the instruction count to 29. But the layout of gates is quite different and new and Chuck is exploiting some new tricks to push the state of the art in hardware performance. In addition to being an asynchronous processor design this design also uses more dynamic logic and has a more high level description of the layout in colorforth source.
25X it is designed to be a very small chip that could be sold for about $1 in quantity. Small volume prototype runs are substantially more expensive. 25X contains 25 CPU core each with its own memory. They are connected to each other via internal communication busses and to the outside world via the pins. With 25 2400 Forth MIP CPU on a one dollar chip the metric is 63,000 MIPS per dollar of hardware. A production cluster chip could be larger than a one dollar chip for millions of MIPS but a tiny one with only 25 CPU can be prototyped more easily. As Mr. Moore said, "They are small. They don't do much, but they do it very fast." [Moore, 2002]
The chip could be programmed to act as other more conventional parts, as a single chip or be used as a node in a larger parallel computer. Like an FPGA or general purpose computer it is very difficult to describe exactly what the things you can make with it could do. 25X is more like an FPGA with 2400 MIP Forth engines as logic blocks than a typical desktop processor. I think the 25X design looks like most of a multi-line gigabit Internet router on a $1 chip, something that one would snap on the end of a fiber to connect it to other fibers or anything else.
Because these designs are simple at both an abstract and gate count requirement level they seem to be the little engine that can. These highly gate and code efficient designs can often be the most efficient way to perform the programmable functions in some device. They allow cheaper FPGA or cheaper custom VLSI part options for many mundane computing operations because they are small and run compact code and they simplify the task of programming. To become more mainstream these designs will require development tools and pre-packaged hardware devices with software libraries. As more people become aware of these technologies perhaps people in the Free Software community may find ways to integrate the technology.
Enumera website from 2001. Thank You archive.org.
https://web.archive.org/web/20010307063852/http://enumera.com/
2007
https://slashdot.org/story/07/08/20/1830221/mit-startup-unveils-new-64-core-cpu
It's was called Enumera www.enumera.com
I started to work with Chuck Moore, the author of the FORTH Language on a 7X7 array of very fast small processors.
From at talk I did, February 16, 2001
From http://www.dnull.com/~sokol/amorp/emtalk.ppt [dnull.com]
build. Co-processors could also be added.
Each CPU's would be operating at 2400 MIPS x 49 for a total of 117 Billion operations per second.
The power consumption would be 1 watt 1.8 Volts a 500 mA.
With this level of computing power new applications that were unthinkable before, now become possible.
Also mention earlier on Slashdot:
http://developers.slashdot.org/comments.pl?sid=13
And earlier here:
http://www.colorforth.com/ [colorforth.com] 25x Multicomputer Chip
This eventually became IntellaSys after Enumera failed.
http://www.intellasys.net/products/24c18/SEAforth
http://www.findarticles.com/p/articles/mi_m0EIN/i
http://www.findarticles.com/p/articles/mi_m0EIN/i
Also for older info see:
Specifically look at the P21 / I21/ F21 chips...
http://www.enumera.com/chip/ [enumera.com]
http://www.ultratechnology.com/ml0.htm [ultratechnology.com]
http://www.ultratechnology.com/f21.html#f21 [ultratechnology.com]
http://www.ultratechnology.com/store.htm#stamp [ultratechnology.com]
http://www.ultratechnology.com/cowboys.html#cm [ultratechnology.com]
BRING YOUR ROBOT MOTIONS AND MECHANISMS TO LIFE
- Design and animate mechanisms for making your robots move, such as walking robots, drawing bots, grabbers, etc.
- Visualize in 2D and 3D using different view options.
- Design and draw your own simple shapes, which you can attach to mechanisms. Add your own context and scenes.
- Prototype your completed robot using SnappyXO hardware kits.
- Export custom part geometries for 3D printing and laser-cutting.