<< Back to the main page of Ivan Tanev

  1. Evolutionary computations: algortithmic paradigm, implementations, and applications,
  2. Evolutionary robotics: evolving optimal control of robots (e.g., car, snake, fish, dog, etc.), and
  3. Software agents and multiagent systems (e.g., agents for automated driving of cars, advanced driver-assistance systems, and simple agents as models of nano- and micro robots, etc.).

  1. Evolving (via genetic algorithms) the optimal swimming gaits of real (physical) fish root (2020~);
  2. Introducing an asymmetric morphology of the simple agents that model nano- and micro robots. Evolving (via genetic algorithms) the social behavior of the team of such agents (2017~);
  3. Introducing epigenesis in genetic programming (epigenetic programming) for the evolution of software agents (2002~2013);
  4. Evolving (via genetic programming) optimal sidewinding locomotion gaits of simulated snake robot (2002~2010);
  5. Introducing biased (non-random) mutations in genetic programming via learning probabilistic context-sensitive grammar (2003~2007);
  6. Introducing genetic transposition as an evolutionary playground for the evolution of novel traits in incremental genetic programming (2012~2013);
  7. Coevolving the active sensing (morphology) and locomotion (behavior) of simulated snake like robot (2008~2012);
  8. Introducing the notion of driving style of computer-controlled racing scale cars. Evolving (via genetic algorithms) the fastest driving styles of such cars (2004~2010);
  9. Introducing anticipatory modeling for the control of scale cars with latent feedback (2004);
  10. Developing an XML-based evolutionary framework XGP (2002~2010);
  11. Implementing an evolutionary computation for flexible job-shop scheduling in PL-SQL in Oracle database (2000~2001);
  12. Developing (i) the physical model, and (ii) software simulator of the Liebau effect of valveless blood circulation (1998~1999);
  13. Developing DCOM-based parallel implementation of genetic programming (1998~2000);
  14. Developing a fine-grained mutual exclusion mechanism in Novell Netware (1994~1995);
  15. Developing RISC parallel Prolog interpreter (1989~1993);
  16. Developing and piloting RC planes with wide flying envelope (i.e., capable of retaining the control authority at (i) nearly zero airspeeds, and (ii) 90 degrees AoA) by (i) thrust-vectoring, and (ii) utilizing the aerodynamics of vortices (2006~).


Developing an Adaptive Cruise Controller for the Car in Drive Simulator (with Lab Students):

The objective is to develop an adaptive cruise controller that automatically adjusts the speed of the car in order to keep a preset (target) time interval to the vehicle ahead. The controller should provide a stable (non-oscillatory) control of the speed of the car in various driving conditions (e.g., preset time intervals, changes in the preset time intervals, speed of the car, speed of the vehicle ahead, approaching speed, etc.) regardless of the nonlinearities in the controlled systems of the car and feedback delays.

Evolving the Undulatory Swimming Gaits of Fish Robot (with Lab Students):

The objective is to evolve the optimal parameters of the central pattern generator (CPG) of Fish robot. Summary: (i) To account for vortices, a real robot (rather than a software simulation) is used. (ii) We adopted genetic algorithm (GA) to optimize the values of parameters of CPG of the bot. (iii) We consider the optimality from three viewpoints - maximum (static) thrust, maximum speed, or maximum energy efficiency. (iv) The value of Strouhal number might be used for estimating analytically (instead of evolving) some parameters of CPG. (v) The system consist of four subsystems: GA, CPG, optical tracker, and the bot. (vi) We view the monitoring and management of ecological systems as main application domain.

Evolving Societies of Agents that Do Not Compute (with Lab Students):

In this research we focus on societies of very simple agents. The latter -- inntended to model the emerging micro- and nano-robots -- are morphologically simple. They feature a single line-of-sight sensor with a limited range, and a simple control of their two thrusters. The agents are behaviorally simple too -- their decision-making involves no computing, rather -- a direct mapping of the few perceived environmental states into corresponding pairs of thrust values. We apply genetic algorithms to evolve such a mapping that results in complex behaviors -- dispersing, shepherding, surrounding, capturing, etc. -- of the society of these simple agents. Also, we are interested in exploring the effects of morphological asymmetry (i.e., angular offset of the line-of-sight sensor) on generality and robustness of these complex behaviors.

Detecting the Inadequate Cognitive Load of Drivers of Road Vehicles (with Lab Students):

This research is intended to develop (via Genetic Programming) a driving agent as a realistic model of a human driver that matches the latter in a most basic driving behavior Esteering of a (realistically simulated) car with an instant, non-latent steering response. We would like to verify whether (according to the control theory applied to the model of the human driver) the delay, introduced in the steering response of this driving agent would result in well-expressed changes in its steering behavior. Especially, we are interested in whether such changes in steering behavior (if any) could be defined as oscillations. By detecting these oscillations we could pave the way for an accident-preventive early-warning of the inadequate cognitive load (as an underlying cause of delayed response) of driver in normal driving conditions Ewell before an urgent response to an eventual hazardous traffic situations is required.

Automated Control of Car in Driving Simulator (with Lab Students):

The objective is a stable, non-oscillatory control of the car (steering wheel, accelerator- and brake pedals) despite the non-linearity and significant latencies of car's response.

Brake Assistance during Emergency Braking (with Lab Students):

Due to various human-related factors, there is a time lag of several hundreds ms between the instants of lifting the accelerator and pressing the brake pedal completely. Depending on the speed of the car, this lag would correspond to a several meters of traveled distance. The objective of this research is to develop and apply machine learning techniques that would allow (i) to identify the emergency braking situations from the moving patterns of accelerator pedal and (ii) to apply the brakes automatically much earlier than the human driver would have been able to do.

Psychological Factors (e.g., stress, cognitive load, risk homeostasis, flicker vertigo, automation startle, perceptual hysteresis, etc.) in Driving (with Lab Students)

One topic of research is to investigate whether the biofeedback to the driver could yield (i) a safer driving and (ii) an improved health indicators of the driver (left picture). Hypothesizing that potentially risky driving may result in stressful experience to the driver, and consequently, to their elevated hearth rate, blood pressure, and (or) blood sugar, we are interested whether notifying the driver (in real time) about the detected abnormalities in their health-related indicators would result in any favorable change in their driving style. Also, we are interested in a possible placebo effect -- when the drivers who promptly adjust their driving style to a safer one are temporarily "rewarded" with false notifications of "improved" health indicators -- does actually facilitate a longer-term improvements of these health indicators.

Other research directions include investigating the effect of flickering light on driving, and detecting automatically any potentially dangerous symptoms of flicker vertigo (right picture). We also conduct research on psychological phenomena such as automation startle and risk homeostasis.

Evolving Electronic Stability Program of Cars via Genetic Programming (with Lab Students):

This research is devoted to the evolution (via Generic Programming, GP) of the electronic stability program (ESP) of cars, realistically simulated in The Open Source Racing Car Simulator (TORCS). ESP is intended to assist the yaw rotation of an unstable (e.g., either understeering or oversteering) car in low-grip, slippery road conditions by applying a carefully-timed and carefully-measured asymmetrical braking forces to its wheels. In this research, we express the instant amount of ESP-induced brake force as an evolvable (via GP) algebraic function - brake force function (BFF) - of the values of parameters, pertinent to the state of the car, and their derivatives. In order to obtain a general enough BFF, i.e., a function that result in a handling of the car, that is better than that of non-ESP car for a wide range of conditions, we evolve BFF on different combinations of surface conditions and speeds of the car. The preliminary experimental results indicate that, compared to the car without ESP, the best evolved BFF of ESP would offer a superior controllability E in terms of both (i) a smaller deviation from the ideal trajectory and (ii) faster average speed on a wide range of track conditions (Icy, Snowy, Rainy and Dry) and traveling speeds. The results could be considered a step towards the verification of the feasibility of applying GP for automated, evolutionary development of ESP.

Evolution of Remote Controllers with Latent Feedback:

The objective is to develop a framework for automated design of the control software of remotely operated vehicles capable to find an optimal solution to various tasks in different traffic situations and road conditions. The agent/car package is a winner of the 2005 IEEE CEC computer-controlled car racing competition.

Evolution of Locomotion Gaits of Sidewinding Snakebot:

The objective is an automatic design through GP, of the fastest possible (sidewinding) locomotion of simulated snake-like robot (Snakebot). The realism of simulation is ensured by employing the Open Dynamics Engine (ODE), which facilitates implementation of all physical forces, resulting from the actuators, joints constrains, frictions, gravity, and collisions. Focusing on the emergent properties of Snakebot, viewed as a complex hierarchical system comprising simply defined morphological segments, we investigated the emergence of basic intelligence in the ability of evolving Snakebot to discover: (i) the shape of wheel as a tool for efficient locomotion, (ii) the way to utilize the sources of grip additionally introduced in the surrounding environment, and (iii) compensatory locomotive traits in response to its own partial damage. In addition, we address the issues of (i) the efficiency of evolution and achieved velocity of locomotion of various locomotion gaits of Snakebot, (ii) the robustness of evolved Snakebot in challenging environments and (iii) the ability of Snakebot to adapt to partial damage by gradually improving its velocity characteristics.

Effect of Bloat Introduced in Genetic Programming via Genetic Retrotransposition on Efficiency of Incremental Evolution:

The objective of this research is to investigate whether the bloat, deliberately introduced in genetic programming via redundant code, would have a beneficial effect of the efficiency of evolution. Inspired by the discoveries in molecular biology that retro-transpositions play a significant role in natural evolution, we duplicated the well-working code, evolved in a first stage of incremental evolution (e.g. a code that controls a locomotion of sensor-less Snakebot in a flat smooth terrain), and allowed the copy to evolve further during the second stage. In the second stage we evolve novel features, e.g., ability to deal with sensory information. We verified that by evolving these features in redundant areas of genome, the eventual damaging of the already evolved features of the bot could be avoided, which, in turn improves the efficiency of evolution.

Epigenetic Programming:

Extending the notion of inheritable genotype in genetic programming (GP) from the model of DNA into chromatin (DNA and histones), we propose an approach of embedding in GP an explicitly controlled gene expression via modification of histones. Developed double-cell representation of individuals in GP features somatic cell and germ cell, both represented by their respective chromatin structures. Following biologically plausible concepts, we regard the plasticity of phenotype of somatic cell, achieved via controlled gene expression owing to modifications to histones (epigenesys) as relevant for fitness evaluation, while the genotype of the germ cell - to reproduction of the individual. The research focuses on the implications of features of epigenesis (such as polyphenism and epigenetic stability) on the computational effort of GP.

Non-random Mutations in Genetic Programming via Learning Probabilistic Context-sensitive Grammars:

The objective of this research is the modeling of the recent discoveries in biology and genetics suggesting that mutations do not happen randomly in the Nature. Instead, some fragments of DNA tend to repel the mutations away, while other fragments attract it. It is assumed that the latter fragments of DNA correspond to phenotypes related to the very basics of life, and therefore, are shared among the species in the Nature. Focusing on the use of GP for evolution and adaptation (to partial damage) of locomotion gaits of Snakebot, we consider the very ability of Snakebot to move as an allegory of the basic, universal feature, which is supposed to be represented in a similar way in both healthy and damaged adapted artifacts. In the proposed approach the mutation operations in the adapting (via GP) damaged artifact are steered away from the fragments of genotype which are assumed to correspond to this universal feature. In order to steer the mutations we employ a learning probabilistic context-sensitive grammar (LPCSG). LPCSG is derived from the originally defined context-free grammar (which usually expresses the syntax of genetic programs in strongly typed GP). The most beneficial probabilities of applying each of particular production rules with multiple right-hand side alternatives in LPCSG depend on the context, and these probabilities (the knowledge about how to steer mutation operations) are "learned" from the aggregated reward values obtained from the evolved best-of-run healthy, undamaged Snakebots.

XGP: XML-based Genetic Programming Framework:

The focus of this research is on developing adequate representation of genetic programs as DOM-parsing trees featuring corresponding XML text and employing built-in API of standard DOM-parser for maintaining and manipulating such representation. The benefits of using DOM/XML-based representations of genetic programs are (i) fast prototyping of GP by using standard built-in API of DOM-parsers for traversing and manipulating (via genetic operations) the genetic programs, (ii) generic support for the representation of grammar of strongly-typed GP using W3C-standardized XML-schema; and (iii) inherent Web-compliance of the distributed implementation of GP.

Emergence of Social Behavior in Multi-agent Societies:

This research focuses on use of strongly typed GP for evolving social behavior of agents situated in inherently cooperative environment. Predators-prey problem is employed to investigate the emergence and the features (generality and robustness) of relatively complex social behavior from what we regard as Occam razor for interaction: simple, implicit, locally defined interactions between the predator agents.


Evolutionary Flexible Job Shop Scheduling - an Application Service Provider Approach: The objective of this work is to provide the factories operating plastic injection machines (FPIM) with high business speed which implies (i) providing the customers with convenient way for remote online access to the factory's database and (ii) developing an efficient scheduling routine for planning the assignment of the submitted customers' orders to FPIM machines. Remote online access to FPIM database, approached via delivering the software as a Web-service in accordance with the application service provider (ASP) paradigm is proposed. As an approach addressing the issue of efficient scheduling routine, a hybrid evolutionary algorithm (HEA) combining priority- dispatching rules (PDRs) with GA is developed. In our approach HEA is developed using Oracle PL/SQL programming language and stored on database server as a stored procedure (SP). Database server also handles the execution of SP. The benefits of implementing HEA as SP are improved performance, reduced network overhead and enhanced security.

Single System Image Middleware (SSIM) for Metacomputer Implementation of Parallel Genetic Programming (GP): The approach is based on boss-workers model of parallelism exploiting the medium-grained inherent parallelism among the evaluation of individuals in GP. For GP-applications, the SSIM, developed applying the paradigm of Distributed Component Object Model (DCOM), creates an illusion of single virtual supercomputer representing the pool of nondedicated, heterogeneous workstations (or PCs) in LAN environment. In addition, SSIM manages the issues of locating and allocating the resources (workstations or PCs), scheduling, load balancing and fault tolerance.

Distributed Collaborative Approach for GP: The approach is based on island model of parallelism exploiting the coarse-grained inherent parallelism among the semi-isolated subpopulations in GP. The subpopulations communicate with each other through the knowledge base (build on top of SQL database) which maintains the pool of globally fittest individuals. The approach is suitable for distributed implementation of GP on Internet environment.

Liebau Effect of Valveless Generation of Blood Circulation: The objective of this research is to understand the phenomenon of valveless generation of blood circulation (i.e. circulation generated by heart which has no valves), as originally discovered by G.Liebau. Personal engagement in this highly collaborative research is associated with the (i) comprehending the nature of the phenomenon, (ii) defining the properties and the operational mode of the valveless heart needed for the occurrence of phenomenon, (iii) developing the mathematical model of the phenomenon and (iv) software simulation.

Parallel Interpretation of Prolog on Heterogeneous Shared Memory RISC Multiprocessor: The objective of this research is to enchance the notoriously poor performance of Prolog-language through the exploitation of both AND- and OR-types of inherent parallelism of the language on the system level. This work includes developing the (i) process model (the task decomposition model) for parallel implementation of Prolog, (ii) inter-process communication mechanism, (iii) parallel multiprocessor architecture of Prolog-system based on specialized RISC-processors and (iv) instruction set of RISC-processors, semantically oriented to Prolog.

...and more: building and piloting supermaneuverable RC planes.

<< Back to the main page of Ivan Tanev