Evolutionary Computing Systems Lab (ECSL)
Welcome to the Evolutionary Computing Systems Lab (ECSL) directed by Dr. Sushil J. Louis. ECSL is hosted by the Computer Science Department of the University of Nevada-Reno. We investigate systems that combine genetic algorithm (GA) search with case-based reasoning (CBR) principles. Such Case Injected Genetic AlgoRithms (CIGAR) lead to a new paradigm for machine learning with special emphasis on design, optimization, and human modeling. CIGAR learns to take less time and produce better quality solutions as it gains experience. Empirical results from logic design, combinatorial optimization, and other applications show that these systems perform remarkably well across a variety of problem domains and solution representations.
Two undergraduate students, Nishok Yadav, and James Bridegum are working on controlling the AR Drone using the Microsoft Kinect. The image on the right is a diagram of the different positions recognized by the Kinect in order to perform specific actions using the AR Drone.
Evolutionary Computing System's Lab's Entity Engine
ECSLENT The Evolutionary Computing Systems Lab's all new simple game engine now has its own pages.
Like minix, a research operating system, this engine is written to be easily understandable, modifiable, and clean. It is NOT written to be fast. It should however handle 100+ entities with ease on a modern system.
- ECSLENT can run separate threads for networking, graphics, physics, and AI (But note the issue with python's GIL)
- ECSLENT separates the simulation (the physics, ai, and networking) from the graphics. This is very useful for genetic algorithms research. I work in genetic algorithms.
ECSLENT is under active development.
We use case injected genetic algorithms to play computer strategy games involving complex long range planning with imperfect knowledge of the game state. The dynamic nature of these games requires players to anticipate opponent moves and adapt their strategies accordingly. We use genetic algorithm to play these games, casting them as a resource allocation problem, solutions of which map to ective gameplay- ing strategies. Results show this is ective with the genetic algorithm searching towards near optimal game-playing strategies. We then develop a learning technique, constructing a case-base of information which can be used to anticipate opponent moves. Methods are developed for the acquisition and elicitation of this knowledge both from past play, and from the observation of human experts. Results show the genetic algorithm produces near-optimal strategies that accomplish the mission while anticipating and avoiding opponent moves.
Evolving Believable Agents Using Genetic Algorithms
We seek to create competent and believable agents that work together to accomplish a goal. Creating agents by hand can be tedious and time consuming. Each agent has many parameters that must be adjusted to get the desired performance. We use Genetic Algorithms to ease the process as they have been shown to give good performance in adjusting an agent's parameters. We use these agents in a predator/prey scenario. The agents assume the rolls of attacker and defenders in a naval tactics game. The GA-produced agents operate at a 400 percent improvement over hand-produced agents. While hand-adjusting took a whole day, the GA took under an hour. Traditional pathfinding in games uses A*, but A* can be slow and can only find paths on a static map. Also, A* paths can sometimes lack believability. We use GAs to explore the search space of A*-like algorithms to find new algorithms that can find paths quicker at a minimal cost of quality. We also bias the search towards algorithms that can produce paths similar to those specified by a human. Initial results show these algorithms run much faster at only a reduced cost. The shorter run-time allows these algorithms to run more often in a dynamic environment. Our results indicate that GAs can produce competent agents with quick and believable pathfinding. Both games and training simulations would benefit from agents that can evolve rather than made meticulously by hand.
The purpose of Lagoon's Visual Programming Tool is to overcome the knowledge aquisition bottleneck with Navy experts. Using this tool, experts can directly create behavior networks, thus increasing both the productivity of both programmers and subject matter experts as well as the quality of the networks and simulations produced. The VPT is also a powerful tool for reviewing and editing previous networks, and its intuitive interface means that it requires a minimum amount of training to use.
Adaptive Context Aware Interfaces
We research on different learning paradigms like genetics based machine learning techniques (GBML), context-sensitive learning and data mining to build applications that are more responsive to a user's needs. The goal is to create an approach to better learn user preferences using additional contextual information from cheap motion and speech sensors. For this purpose, Sycophant was designed, a user-context-sensitive calendaring application. Sycophant is capable of generating four different types of reminders and primarily uses machine learning techniques for predicting the type of reminder a user prefers. To learn user preferences Sycophant maps user-related contextual features to reminder actions. Current results indicate that additional external contextual information using motion and speech sensors improves Sycophant's performance for learning user preferences.
Evolutionary User Interface Design
User interface design is a complex process driven by aesthetics and usability. We would like to evolve user interfaces, and by doing so diminish and lessen the bottleneck associated with user interface design in the software process lifecycle. Specifically, we investigate whether a user interface can be evolved with the use of evolutionary techniques, specifically, a human driven evolutionary process. Hence, with the use of an interactive evolutionary GA we wish to evolve user interfaces, and by evolving user interfaces, to learn the characteristics associtiated with user interface aesthetics and usability.
We are investigating and applying Case Injected Genetic AlgoRithms (CIGARs) to affordably model human decision-makers in dynamic decision support for strike planning.
Strike planning assigns assets to targets and the formulation requires that you take into account pilot proficiency, asset effectiveness, routing, risk, weather, target priority, as well as scheduling, and other effects. Strike planning is complicated by its non-linearity and dynamism.
Our approach is to build a CIGAR based decision support system for strike planning that learns from humans when used in decision support. By co-evolving an opponent, the same system can be used in training (Think Samuel's checkers or Blondie24). This work will impact human modeling, decision support, Game AI, and design systems.
Welcome to Lagoon
Lagoon is a free open-source component based game engine and can be used as a platform for research and education in artificial and computational intelligence, software engineering, human-computer interaction, and accessibility.
Games pervade our society and culture and provide high fidelity physics and graphics - high fidelity virtual worlds. For fields like AI, where research can be well separated from application, game engines provide a platform for research that is more transferable and applicable to real world problems. Like chess and checkers in the past, 3D Game worlds are the next frontier for AI research. Because we are using genetic algorithms and neural networks (computational intelligence approaches), our game engine has features that are not available in other commercial and research engines. Specifically, Lagoon can run the underlying simulation engine without the graphics - for genetic algorithms and neuroevolution, this means that we can evaluate the fitness of a Game AI without needing graphics or having the graphics component slowing things down. You can, of course, run it with the graphics when you play the game.
This is the Wiki for Lagoon, your source for everything Lagoon. The people at ECSL are busy at work using it and we hope that you too will use it for creating your own games and for your AI research and welcome your contributions. Use the Forums for discussion
Documentation on Lagoon
- Things specific to Lagoon the RTS
- Compiling and Running Lagoon
- Porting Lagoon to AMD 64 (Hypno - Deprecated)
- Porting Lagoon to AMD 64 Avatar
- Compiling with GCC 4.x
- Fedora Core 7 Notes
- Ubuntu 9.10 Notes
- Working with the c Code
- Creating A New Type of Entity
- The EVA system
- Tuning Lagoon Entities - Helper Scripts
- Scaling and Rotating Entities in Lagoon
- Strategery Prime
- Creating a Controller
- Using the SlideViewer
- Adding a Harbor
If the User Manual, FAQ and documentations above fail to answer your questions check here:
Work in Progress
Interactive Collaborative GAs
The more we know. Check out Naval_Information for pertinent domain knowledge