The human brain is the most complex system known, but models of human cognition do not reflect this: even compared to other scientific disciplines cognitive modelling is shallow and superficial. This is not a derogatory opinion on the quality of individual work in biology, neuroscience, psychology and related disciplines, but the statement of a simple fact about the state of cooperation within and between these fields. The majority of models are often home grown and limited in complexity by what individual PhD students or postdocs can achieve within three of four years. An exception is theoretical neuroscience, where several neuronal simulators are now establishing themselves, but theoretical neuroscience and cognitive modelling are not quite the same thing.
Compared to established disciplines, our tools for storing analyzing and modelling data are quite primitive. An institute like CERN has dozens of people working on such tools. It has literally invested man millennia in a software infrastructure. High energy physics routinely uses libraries that are thirty years old, thereby saving hundreds of people the replication of complex software development. Moreover the complexity of data that they can handle grows by the year, because they work at this steadily, with a large number of experts who are not replenished every three years. We only have to look at WWW and the GRID to see what kind of an impact these efforts have outside of their own field.
So do we need a central institute for ‘brain science’? Our data sets are more complex than those of high energy physics, our experimental instruments are more varied, and the brain as a whole at least as complex as a nucleon. Once we know what brain science is, this is definitely the way to go, but at present ‘brain science’ is a boiling, sub-critical mass comprised of a dozen disciplines. It is unlikely that a consensus on how to create a central infrastructure will be reached quickly, and until this has happened it is hard to find people who can speak for the field at large.
So, what
can we do until then? Look at replication in our own work and that of others,
factor it out, implement it in very simple components and make it available to
everyone else. In this way we can help others, without forcing our modelling
philosophies upon them. This is the philosophy of MIIND. Rather than trying to
write the ultimate tool, that does everything for everyone, try to find simple
structures that surface in nearly every model. Isolate them. Find a good representation
for them, make them publicly available.
This is done done this in C++ for:
- Sparse Networks.
- Coupled systems of Fokker-Planck equations.
- Copuled systems of Wilson-Cowan equations.
- Population dynamics.
We have found this factoring process immensely useful for our own work. A We hope that more people benefit from it. Of course, you may have different ideas on implementing these items. But the fact that the code is there simplifies discussion. See it as a first attempt to construct Design Patterns for cognition.