Botarea51, your quake bot source
 
Article
Spinev2 - Spine V2
by Headshot

Architecture Architecture rating 3.5/5 Architecture rating 3.5/5 Architecture rating 3.5/5 Architecture rating 3.5/5
Playability Playability rating 3.5/5 Playability rating 3.5/5 Playability rating 3.5/5 Playability rating 3.5/5
Xreaper Xreaper rating 3.5/5 Xreaper rating 3.5/5 Xreaper rating 3.5/5 Xreaper rating 3.5/5
Mapsize Large
Size 461 Kb


 
  Fuzzy Logic
  by mephisto - 2002/05/29
   
  If you are a frequent bot user you might have encountered the term 'fuzzy logic'. In this article I will describe the workings and implementations of this a.i. technique used in quake bots.

What is fuzzy logic?
While roaming over the internet searching for information on fuzzy logic you will find a lot of defenitions. The fuzzy logic faq states the following definition:
Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth -- truth values between "completely true" and "completely false". It was introduced by Dr. Lotfi Zadeh of UC/Berkeley in the 1960's as a means to model the uncertainty of natural language.
For example, if you where standing on the bank of a river, making the decision whether you would like to swim or not. In boolean you would say yes or no. Fuzzy logic adds the grey in the middle and could lead to yes, but when the water is not too cold enough. In this case the fuzzy relation (weight) is the water temperature. This weight has influence on your decision, it makes your decision inbetween yes and no, when the water is warmer it will be more likely to take a swim.

Fuzzy logic and quake bots
The relation between fuzzy logic and quake bots can now easily be drawn. Fuzzy logic can alter the decisions of a bot, making them more realistic. A bot will now not just attack when he sees an enemy, but will look at the weapons he is carrying and look at the amount of health and armor. These items will become weights which will be influencing the decision, resulting in an attack or maybe run away and avoid combat until the odds are in his favour.

Running away...

As you can see fuzzy logic can be as complicated as you want it to be. Let's continue with the attack decision, you could add numerous weights, like am I underwater and do I need air first or does the enemy have quad damage. The side effect of adding a lot of weights is the need of system resources and slowing down the bot's decisions.

Bots with fuzzy logic
Fuzzy logic does not have to be difficult to implement into a bot, you can make it as tough as you want. For most bot creators it is a goal to make their bot as human as possible, fuzzy logic can help greatly achieving this goal. This is why almost every bot has a little fuzzy logic, some more than others. The last generation of classic quake bots, like the omicron, have advanced fuzzy logic.


mephisto
   
Archive  |  Submit
What do you think of this article?
5 - Excellent
4
3
2
1 - Poor
Vote
 

Hosted by PlanetQuake  |  Design by Mephisto (c)2001-2009