Title: Organic Computing
1Organic Computing
- A Summary of Issues Raised During the Symposium
A Summary of Issues Raised During the
Symposiumbut also those that were left out!
2Why Organic Computing?
- The Software Crisis
- Many software projects fail or exceed projected
costs - The algorithmic schema is doomed where too many
processes need to be coordinated/anticipated by a
programmer - Distributed processing across networks
- Sensor-rich processing
- Strongly dynamic environments
There seems to be consensus that a coordinated
research initiative towards Organic Computing
would be useful!
3Where Is Organic Computing Useful?
- Computational processing characterized by
- High precisions is not the primary purpose (?)
- Processes with some fault tolerance
- Sensor-rich processing
- Dynamic environments
- Processes where manual decomposition is tough
- E.g., HCI, computer action,perception, language,
networking, complex process control - Organic computing may be less useful for
- Simple computer tools (e.g., text editors,
graphic programs) - Zero-fault tolerance tools (accounting,
databases, etc.)
4What is Organic Computing?
- Computing with a hierarchy/nesting of active
modules - Dynamics of module formation and growth
- Search in module space
- Teaching of OC modules (Bootstrapping)
- Communication between OC modules
- Programming by teaching, biasing, and re-using
modules - The Physics of Biology
- An Evolvable Computer
5Properties of Organic Computing
- Robustness
- Structural Robustness (-gtredundancy)
- Process Robustness (-gtfeedback loops)
- Noise Rejection (-gtredundancy)
- Generalization (-gtlarge basins of attraction)
- Flexibility
- Stability/Plasticity dilemma
- Exploration vs. Exploitation
- Modularity
- Hierarchies
- Adaptation, Learning, Self-Organization
- Templates Instantiation
- Specialization
6OC Modularity-Research?
- Modularity is good!
- Reduces search space (data hiding, dimensionality
reduction), allows re-use of modules, allows
later global optimization - Communication between Modules
- Embodiment can serve a communication device
- Processing within a module Some form of
self-organization - What are modules?
- Inputs, outputs, reinforcement, internal state
(memory) - Specific computational abilities
- Confidence (probabilistic modules?)
- Module Competition vs. Restructuring of Modules
- Module selection (based on confidence,
reinforcement, self-consistency, inter-module
consistency?)
7Formalizing the OC Module
Reinforcement(Environment)
Computational Specialization Instantiation
OC Module
Inputs afferent efferent output from
other modules confidence values values may be
grouped
Outputs transformed values confidences
8Self-Organization
- Within Modules Comp. Specialization
- Unsupervised learning
- Feature extraction, density estimation
- Dimensionality reduction
- Self-consistency recognition-generation networks
(statistical or functional inversion) - (Self-)Supervised Learning
- Nonlinear correlations-gtdimensionality reduction
- Reinforcement Learning
- Somehow we need to encode a goal
- Dynamical Systems (e.g., feedback loops?)
- Between Modules
- Contribution to the goal
- Consistency with other modules
- With who to interact?
9OC-Related Computing Areas
- Statistical Learning
- Reinforcement learning (in particular modular RL)
- (Self-)supervised learning
- Unsupervised learning
- Committee machines
- Genetic/Evolutionary Programming
- Artificial Life
- Soft-Computation, Natural Computation
- Distributed Computing
- Agents community
- Computer networking
10Research Approaches Towards Organic Computing
- Methods of Self-Organization Self-Consistency
- Within the module
- Theory of Self-organization of Modules
- Communication(Interaction) between modules
- Propagation of probabilities across modules?
- Selection
- Task-oriented Experiments
- Manual creation of OC modules and their
interaction - Exploration of principles and constraints
- Generalization to other tasks
- Compare systems programmed with different
paradigms - Model experimental data