PowerPoint Presentation
SDSU Foundation
CES302 July 14, 2011 10:15am
Dr. Joseph Lewis
Collaboration
Possibilities:
Metron and the SEAS Lab
Introduction
Science of Evolving Adaptive Systems (SEAS) LabA semi-virtual space comprised of university hardware, a software repository, people and the collection of their individual computational platforms, the Starcat framework and other novel computational architectures (e.g. population-based algorithms, artificial immune systems, etc.) and a commitment to the investigate the tools and empirical results of experiments in the sciences of complexity (emergence, spatiotemporal and multidimensional self-organization, stigmergy, autopoiesis)
Introduction
SEAS Director (myself): Dr. Joseph Lewis BS Honors Physics and Mathematics; Computer Science minor. Purdue University 1990Spent four years developing computational models of physical systems (microwave device simulations) for the Navy
MS Computer Science. National University (Navy) 1994Spent two years developing enterprise software systems for commerce in Chicago
PhD Computer Science. University of New Mexico 2001Developed Madcat, an autopoietic navigation and mapping engine for mobile robots
Spent the last ten years in teaching and research, particularly on the development of the Starcat framework, here at SDSU
Continuing this while also experiencing research migration
Research Migration
...is driven by changing technology and thus publication patterns,as well as by the needs and inspirations of (particularly graduate) education
For me there were three primary paths toward parallelization and distributed computing approaches.
Computational geometry and GIS applications often benefit from from parallelization
Population-based techniques (some more than others, e.g. genetic algorithms) map nicely into such an approach
My longstanding commitment to certain cognitive models for emergent and adaptive computation are inherently both distributed and parallel
The Road to Metron
John Crockett from the SDSU Foundation contacted me indicating that my research may be a fit for collaboration with Metron.
Mike Atamian and I had a galvanizing conversation about three primary possibilities*:Recent involvement in parallel geometric algorithms in my own teaching curriculum motivate an interest in collaborating on work closer to Metron's established capabilities and the SPEEDES product, as relevant to current BAAs, SBIRs and STTRs.
Mike also responded with interest to my suggestion that my own recent move into the world of research with GPGPU hardware could result in a joint effort to produce a similar kind of framework to SPEEDES for that rapidly growing technique
*(caveat): I was unable to follow up with Mike very quickly due to administrative obligations of our new certificate program; John stepped in to facilitate, so that here we are today (thanks!)
The Road to Metron (contd.)
Finally, Jim Brutocao indicated in an email to John that the research presented on my starcat.org website, the internet presence for the SEAS lab, was of significant interest to him...
...which generated unexpected excitement for me as I have been ruminating on both distributed and parallel possibilities for that architectureindeed have been developing a more close-to-the-silicon version of Starcat in support of mult-agent simulations leveraging the hundreds of parallel cores in the Nvidia Tesla board (GPU)
...but which may have as much or more chance of success in a CPU based mature framework such as SPEEDES.
The ultimate goal would be to produce self-organizing behavior in a computational system that adapts to a changing environment and learns new behavior in a manner more cognitively plausible than much of the body of work in traditional machine learning (Hawkins for exp.)
Manifesting this Research:
Parts One and Two
With regard to my participating as an academic partner in announcements and initiatives (the first possibility) I would join as you call me to, dictated presumably by the timelines for the various calls for research Metron has in its scopes. (Depending on who spoke first) this has either been or will be broached presumably today.
Developing an analog of SPEEDES for leveraging GPGPU hardware is a completely independent line of research we could begin as soon as feasible; likely there are sources of support for something of this natureor at least a clear need (and thus client base) for that framework (I resisted the urge to invent a cute cousin acronym for it)
A subsequent slide will present some very preliminary thoughts regarding the feasibility of such a port of the SPEEDES product to this different hardware configuration
Manifesting this Research:
Part Three
In the interest of moving from too many words to some engaging technical discussion, let me just sum up my thoughts on the intrigue of a collaboration between the ideas behind adaptive computation and and institution with such mature products supporting parallel computation in this succinct way:
It is FULL of possibilities of interest to everyone from the DOD to, for example, the Neurosciences Institute here in SD
I've been wanting to bring the two ideas together for a couple of years now
I'd love to get involved in such a collaboration! Publications guaranteed. Follow-on funding and applications too...
Again, following a bit later are some slides to motivate some technical discussion about adaptive computation and the Starcat framework
Evocative Image of Similarity Between SPEEDES and GPGPUs
Shared Memory
Shared Memory
Shared Memory
Compute Node
Compute Node
Compute Node
High-Speed Communications
CPUs
Compare to GPGPUs*
Inter-cluster communication (local bus), third fastest
Cluster Shared Memory(second fastest)
Core Cluster
Core Cluster
Core Cluster
Local core pipeline memory (fastest)
Cluster Shared Memory(second fastest)
Cluster Shared Memory(second fastest)
GPU cores
CPU MotherboardControlling bus (slowest)
(abrupt transition alert)
Autopoiesis (Stigmergy)
The term comes from ant colony behavior: a system changes its environment so that later the system will respond differently, thereby guiding its behavior
String on finger, book by door, pheromones.
Internal stigmergy occurs in a complex system when changes in internal dynamics persist and have influence on future action.
When that persistence is closely coupled with particular interactions with the environment, the changes can be called emergent representations of the phenomona from the environment.
Nothing to add here
Emergent Representation
Representation has been the traditional Achilles heel of AI: choosing the best one for a problem and avoiding brittleness is tough.
Some have gone so far as to eschew it completely (Brooks, 1991).
But a representation that emerges as a side-effect of the interaction of very many agents with the environment and each other, guided by long-trained system dynamics, is another matter.
Partial sufficient representationno more need to maintain fidelity of a model.
Such a representation might also be leveraged externally, as a usable product of the systems processes
Nothing to add here
Adaptive Behavior
As internal emergent representations evolve, they can have varying impacts on the functioning of the systems components.
So the systems own trail of behavior plays a role in guiding the systems future actions.
Coupled with the fact that global behavior arises from the interaction of very many locally acting agents, we have the possibility of adaptation of behavior.
It only calls for us to define the microbehaviors that are possible and the concepts which motivate them.
Nothing to add here
The Starcat Project
Starcat (*-cat) is an adaptive computational framework that generalizes the Copycat architecture (Mitchell 1993, Hofstadter 1995)
facilitating the development of open-ended systems
that autonomously adapt behavior to continuously changing environments
Emergent representation is a key feature of its functioning
Adaptive behavior is the desired result that it supports
We consider here the details of the framework and some of the applications developed as part of the effort to advance it
Caveat that this definition of Starcat is the ultimate goal; it takes development of applications along the way to discover just how these long-term goals can be realized.Presented here are some of those intermediate application efforts
Starcat Project Assumptions
This architecture makes the assumptions that adaptive behavior is supported by:
Top-down pressures from conceptual organization
Bottom-up pressures from perceptual input and context
Fluid concepts that shift under these pressures
Flexible representations, situated through behavior, that emerge from the interactions of very many simple agents
Anything here?...
Starcat Architecture Design
Coderack
biased probabilistic priority queue
codelets
Activation levels Spreading activation Activation decay Probabilistic jumps Codelet production
Links: Category / Instance Property Labeled / Slip Lateral
Slipnet
codelets
codelets
Workspace
Structures: Descriptors Bonds Groups Correspondences
Partial, competitive constructionCoherence-measure
Comment on ordering of components (doesnt have to be in this cycleswimming in seabut no applications so far that require other, even though we can imagine them)
Starcat Design Characteristics
Asynchronous components, event driven design
Arbitrary connectivity among and choice of components
Data structure / Metabolism model for components
Success-based and failure-based slipnet activation
Genericity of workspace structures
Broader spectrum of codelet release
Original biological metaphor for codelets amplified
Elaborated modulation of workspace access patterns
XML configuration of slipnet and component parameters
Type constrained access?Experiments in workspace access methods?What else from grads?
Starcat: Antcat (Ant Colony Simulation)
Degenerate configuration with no slipnet
Workspace as spatial array captures physical constraints
Ants, pheromones, food are basic objects
Codelets (MoveAnt, EvaporatePheromone,) imbue workspace structures with dynamics
Stigmergic behavior provides optimization solution to familiar asymmetric bridge experiment and in general finding paths from nest to food
Explores notion of stigmergy as learning
Preceded current framework but helped to develop the ideas in it
How does autopoeisis figure in here?
Starcat: Starcopy (Copycat Revisited)
Based on previous work in the Copycat project
Copycat was one of the first systems to realize the idea of emergent representation and was a predecessor to Starcat
Want to show the new system has similar capabilities
Problem domain is analogies between letter-string pairs
Initial results here; a complete redevelopment using a refined Starcat architecture and extending the Copycat capabilities is underway
Remember here and everywhere to narrate what the slipnet looks like and what the codelets are and what the structures areThat is the set of features that occurs across applications and which helps speak to the primary question of:
HOW DOES THE STARCAT FRAMEWORK REALIZE THE POSSIBILITY OF A SOFTWARE SYSTEM BUILT ON PRINCIPLES OF COMPLEX SYSTEMS!!
Starcat: Agentcat (ALife Simulation)
We want to explore different component configurations
We want to explore the interactions between multiple instantiations of the framework
We have an ALife application where each individual agent has a slipnet and a coderack for regulating its behavior and they all interact in a shared workspace
Patterns of interaction change depending on the internal states of the many slipnets
Fear, hunger and contentedness nodes rise and fall in activation in response to environment, driving individual agents behaviors (exploring, fleeing, attacking, eating)
Hunter and prey agents (both lazy and active varieties) have slipnets with different biases and generated codelets
Experiments conducted with various combinations of these agents
Hunter agents outlived prey agents by about 15% on average over all experiments
Lazy prey agents had the peak lifespan in a single experiment
Lazy hunters moved dramatically less than any other agent (scavenging)
Active prey agents were attacked more than lazy ones (increased interaction)
Lazy prey moved more than any agent type on average, across all experiments (fear, hunger and longer lifespans)
Scavenging in general (more eating than movement/attacking)
Changing the slipnets affects these tendencies
Tuning space huge and true emergent effects not clearly seenan issue to consider
One point: we can talk about the resulting predator-prey interactions, but what are the larger lessons here?: Can we build multi-instance systems, yes. What changes in design are required (thread cycling/synchronizing) ?
Starcat: Madstar (Madcat Revisited)
Based on previous work in the Madcat project
Madcat was the first system to embody the emergent representation and fluid concept network of Copycat in ongoing interaction with a problem domain
Madcats development motivated Starcat and its premises
Madcat highlighted the possibility of autopoiesis in a computational system and the use of partial, sufficient representation
Want to show the new system has similar capabilities and explore additional features
Problem domain is mapping and navigation for a sonar-driven mobile robot
data
Sensor
Coherence
Workspace
Snapshots
Mapnet
Slipnet
Persistent
SnapshotPeriodic
Map CellPeriodic
Behavior
Coderack
A Sd ea lp et ci tv ie o n
Movement Codelets
Model-building Codelets
Would we want to talk about structural coupling? See Crossing the barrier
Madcat Results
E
E
E
coherence-measure: 31
coherence-measure: 54
coherence-measure: 76
First the spatial patterns are built by codelets Then temporal patterns in those structures are tended toThese give rise to structures in the mapnet indicating both whats there and how much is known (coherence)
Starcat: Coolcat (Musical Improvisation)
Intended as a model of creative activity in a musical domain
Performs analysis of musical concepts at multiple levels of abstraction (notes, phrases, etc.)
Provides ability to seed the system with different types of musical styles
Workspace is time-driven (similar to Madcat) with a window of analysis
It can be influenced by past structures but only build new structures from present and beyond
Workspace has subdivisions for melody track and chord progressions
Has the potential for real-time interaction with performing musician
Rather dense slipnet with core of basic musical concepts and smaller set of style-specific concepts
Phrasing and melodic shaping are emergent properties of the system
One of the more successful Starcat implementations
One point: we can talk about the resulting predator-prey interactions, but what are the larger lessons here?: Can we build multi-instance systems, yes. What changes in design are required (thread cycling/synchronizing) ?
Starcat: Botcat (A Robocode Agent)
Uses the Starcat framework to create instances of Robocode agents that can move around in a space and interact with other agents (targeting and killing them for a gain in personal energy).
Integrates a genetic algorithm into the framework.
The slipnet links and link lengths are determined by this GA.
Populations of 50-100 Botcat agents, initially randomly configured, are evolved over 1500 generations.
This ability to train the network with a GA has been a goal of the project since the beginning.
We also want to provide an evolutionary process over the development of codelets.
Together these might bring about something like learning, provided the GA is always running, similar to the classifier system.
Botcat experimented with different configurations of the framework and with new types of codelets (fuzzy and composite).
Demonstrated two interesting truly emergent phenomena: ramming and raking, to cope with the underlying Robocode frameworks evaluator patterns
One point: we can talk about the resulting predator-prey interactions, but what are the larger lessons here?: Can we build multi-instance systems, yes. What changes in design are required (thread cycling/synchronizing) ?
Starcat: SONUS (Intro)
A dynamic network of sensors monitoring anomalies without any central control
We want this network to self-organize its configuration (who is talking to who, who is monitoring the signal, how to collaborate for increased confidence, etc.)
Subject to various constraints (orientations, available power, etc.)
Use Starcat as a fine-grained implementation of an artificial immune system model
Two layers: network layer (AIS model) and node layer (Starcat model)
A
B
C
D
E
F
One-way message
Two-way messages
Sensor node
a Acoustic sensorv EM (visible) sensorav Dual capability sensor
A
B
C
D
E
F
a
v
a
av
av
v
GPS
Removed bullet: Leads to next-level problem of data fusion; also expect to address this using Starcat
Mention LM
Use language about events like, bright flash of light accompanied by a ground-carried acoustic signal
Distributed Event Perception
PotentialEvent: 24
PotentialEvent: 75
PotentialEvent: 83
Perceptual Workspace
self-comparesmem-compares
PossibleEvent: 89
PossibleEvent: 87
Perceptual Workspace (later, partial)
self-comparesmem-comparesexternal compares
promotion by confidence and accumulated comparisons
competition
external event message: possible event
external event message: determined event
other nodesin network
external event message: possible event
DeterminedEvent: 89
Perceptual Workspace (still later, partial)
promotion by confidence and accumulated comparisons
external event message: determined event
thissensor node
What Weve Learned
Tuning matters
Growing/evolving rather than programming
Slipnet is core (and hardest and exploratory)
Genericity is difficult because ofNature of architecture itself and
the principles of complex systems at play
New issues arise with each effort
But it is at least partially possible
Memory is a function of persistence of internal structures and the behaviors coupled to them
Autonomy arises because the system simply produces ongoing behavior in response to a changing environment without external intervention
Genericity classifier systems has some of it, but then there are many different versions
Principles---many interacting agents
New issues: think SONUS
Mention GUI with partially possible
starcat.org
Top Related