Skip to main content

Welcome to my Website at MSU!

Contact Info

Email: banzhafw .at. cse.msu.edu
Phone: 517-432-0212
Office: 1508E Engineering
Mailing Address:
     428 S. Shaw Lane, Room 3115
     East Lansing, MI 48824

Banzhaf - Research

Research Interests

Evolutionary Computing, Genetic Programming, Complex Adaptive Systems, Self-Organization, Artificial Chemistries

My Google Scholar Profile
My Microsoft Academic Search Profile
My Research Gate Profile
My LinkedIn Profile

Current Research Topics

My research can be roughly located in the area of nature-inspired computing. In this area, we look at biological (and other natural) systems and try to abstract away as many details as possible while keeping essential features in order to create algorithms that behave in similar ways as their inspiration source. This requires both insight into biological/natural systems as well as a clear grasp of the challenges of the targeted application. The current research topics are:

Genetic Programming - Theory, Practice, Applications

Genetic Programming, the youngest branch of evolutionary computation, has many unexplored theoretical areas. There is the unintended (emergent phenomena) aspect of its behaviour, which we started to characterize by examining the emergence of neutral code and repetitive patterns in GP. We also have been looking at neutrality and its relation to robustness and evolvability of the resulting systems.
In the practice of GP, we are looking at all kinds of acceleration methods, GPU computing, different selection methods, operator variants, hybridization with more classical algorithms. In the application area, we study time series recognition, application in specific areas like astronomy/astrophysics, and generally data-science related applications like modelling and symbolic regression and classification.
The latest addition is the evolution or re-evolution of code, some call it genetic repair or genetic improvement.

Our books on the topic: Left: Textbook on GP; Right: Monograph on Linear GP




Computational Evolution

The knowledge of evolution and of its mechanisms has increased tremendously in Biology over the last decades. Computational evolution is a term coined to describe an area of research where we try to transfer more of this knowledge into computing and, at the same time, to use computational techniques to elucidate natural evolutionary mechanisms in more detail. Today many branchens of Science benefit from being studied with computational means, and we believe that the same is true for the study of natural evolution.
Our 2006 research manifesto on this topic discussed the "central dogma" of molecular biology as an example of a system that has experienced serious revisions in the past decades which have yet to find their way into our algorithms.



Figure from: Banzhaf et al, Nature Reviews Genetics, Vol 7 (2006) 729 - 735.

Artificial Chemistries

Artificial Chemistries are an agent-based modelling technique for chemistries, natural and artificial. Abstract molecules are allowed to react according to reaction laws specified by the user. This allows to study interaction of systems at a very detailed level, including the emergence of collective phenomena, novelties, and transitions of the system into new states. In fact, the most interesting aspect of ACs for me is their potential for novelty, produced in the interplay of reaction rules and stochastic events in the reaction vessel.
There are many different applications of ACs, and we are examining currently a particularly interesting one, an AC economy in which new agents (producers/consumers) as well as new products and technologies appear over time. We simulate such systems and consider their dynamics and contingencies.

Our 2015 book on the topic:


Fundamental questions of computation, natural science and engineering in the context of complex systems

The universe seems to be the product of emergence at all scales. I am interested in the mechanisms by which emergence works, and its relation to self-organization of complex systems and computation. In the figure below, Genetic Programming has been coached in terms of the mechanims by which its solutions "emerge".
A deep question in this regard is: What is the role of time in natural (complex) systems, and how is this role reflected in artificial complex systems?
When we model systems, we immediately think of mathematical models/descriptions of their behavior. However, it is far from clear whether mathematical models can continue to play the prominent role for complex systems they played for simple systems. Closed-form mathematical description quickly reach their limits as the number agents interacting in a system or the complexity and non-linearity of their interactions grow.
This is related to the issue of locating causality in networks, again, an issue deeply connected to our understanding of time.