官术网_书友最值得收藏!

Thinking with fuzzy logic

Finally, we arrive at fuzzy logic. Put simply, fuzzy logic refers to approximating outcomes as opposed to arriving at binary conclusions. We can use fuzzy logic and reasoning to add yet another layer of authenticity to our AI.

Let's use a generic bad guy soldier in a first person shooter as our agent to illustrate this basic concept. Whether we are using a finite state machine or a behavior tree, our agent needs to make decisions. Should I move to state x, y, or z? Will this task return true or false? Without fuzzy logic, we'd look at a binary value (true or false, or 0 or 1) to determine the answers to those questions. For example, can our soldier see the player? That's a yes/no binary condition. However, if we abstract the decision-making process even further, we can make our soldier behave in much more interesting ways. Once we've determined that our soldier can see the player, the soldier can then "ask" itself whether it has enough ammo to kill the player, or enough health to survive being shot at, or whether there are other allies around it to assist in taking the player down. Suddenly, our AI becomes much more interesting, unpredictable, and more believable.

This added layer of decision making is achieved by using fuzzy logic, which in the simplest terms, boils down to seemingly arbitrary or vague terminology that our wonderfully complex brains can easily assign meaning to, such as "hot" versus "warm" or "cool" versus "cold," converting this to a set of values that a computer can easily understand. In Chapter 7, Using Fuzzy Logic to Make Your AI Seem Alive, we'll pe deeper into how you can use fuzzy logic in your game.

主站蜘蛛池模板: 闻喜县| 吴旗县| 南乐县| 旌德县| 麦盖提县| 万山特区| 武邑县| 宜宾市| 稷山县| 汝阳县| 弥勒县| 龙陵县| 吴江市| 通河县| 潮安县| 资讯 | 丽江市| 安新县| 桐庐县| 塔河县| 诏安县| 榆社县| 综艺| 哈密市| 福鼎市| 临沭县| 新蔡县| 黑水县| 如皋市| 怀安县| 宾阳县| 集安市| 达拉特旗| 广德县| 图木舒克市| 鸡泽县| 长葛市| 鄂伦春自治旗| 民和| 西充县| 依兰县|