"Smart" fly intelligence emulation system

(C) 2003 O.G.Stepanov, A.A.Shalyto

Saint-Petersburg State University of Information Technologies, Mechanics and Optics

From here it is possible to download full text of documentation in Russian in PDF format (230 kb)
Source code and images (17 kb)
The applet (40 kb)


The purpose of work is demonstration of implementation of a simple artificial intelligence emulation system with use of SWITCH-technology. As a base we took the "Smart Fly" program that was proposed in [1]. It emulates behavior of fly on a field with secondary object.

SWITCH-technology was proposed by A.A.Shalyto for algorithmization and programming of problems of logic control and developed by him together with N.I.Tukkel' in application to event-driven and object-oriented programs. It is possible to familiarize with this technology on sites http://is.ifmo.ru http://www.softcraft.ru.

This technology was approved many times for problems of logic control of technical objects such as, for instance, an elevator which is concerned in work of A.A.Shalyto and A.S.Naumov which can be seen by address http://is.ifmo.ru/?i0=projects&i1=elevator. This work demonstrates application of SWITCH-technology to programming of artificial intelligence systems what is also shown in project of creation a robot for the Robocode game (http://is.ifmo.ru/?i0=projects&i1=tanks). Convenience of use is caused by the fact that use of automotive approach it is possible particularly to raise control logic centralization in source code. Another advantage of this approach is that the code is isomorphous to the transition graph by which it has been built. This allows to avoid addressing to source code for program logic (behavior) insight what is significant in development of difficult artificial intelligence systems.

Java language was chosen for implementation so the application is executed as applet that can be easily run to introduce SWITCH-technology.

This work shows how one can easily split control system logic from controllable system implementation.


  1. LaMothe A., Ratcliff D., Seminatore M. et al. Tricks of the Game Programming Gurus. SAMS, 1994