bearaboc 发表于 2004-12-11 21:43:45

第四个逻辑运算符号[nand]的用法

先看一个例子(摘自Cpsb.doc):
(defrule
      (difficulty >= easy)
      (game-time > 300)
      (soldier-count == 0)
      (unit-type-count villager < five-percent-pop)
      (nand
                (players-stance any-human ally)
                (stance-toward any-human ally)
      )
=>
      (set-goal 1 19)
      (disable-self)
)
我个人的理解是:
  nand相当于逻辑运算符Xor(逻辑异或),facts1与facts2任一为 TRUE,但不同时为 TRUE时,本事实才为TRUE。具体为:
(nand(true)(true))=false
(nand(true)(false))=true
(nand(false)(true))=true
(nand(false)(false))=false
注意:上述说法有误,请参见<b><FONT color=#990000>yesgqt先生的回贴</FONT></b>
<B>介绍AI脚本技术,加精华。按第四等耕战之功论,奖励魅力100——操作人:无知者</B>
[此贴子已经被作者于2004-12-12 12:45:13编辑过]

卧龙先生 发表于 2004-12-12 13:35:10

老大哥,好像没有这么多呀。<B><FONT color=#990000>不过告诉你, yesgqt 只是个小朋友。</FONT></B>

卧龙先生 发表于 2004-12-11 22:47:58

呵呵,兄弟将AI说到最底层的地方去了,可惜我们一般用户很少用到这些。不过当你写厉害的AI的时候却一定要用到。

yesgqt 发表于 2004-12-12 08:36:37

nand是与非吧(not and),好像和异或还有区别,那样的话就是(nand(true)(true))=false
(nand(true)(false))=true
(nand(false)(true))=true
(nand(false)(false))=true

bearaboc 发表于 2004-12-13 00:40:11

<b><FONT color=#990000>yesgqt先生讲的完全正确。NAND就是逻辑与非门。</FONT></b><b><FONT color=#990000>那么,在AI脚本中,是否有七种逻辑运算符呢?</FONT></b><b><FONT color=#990000>1、AND</FONT></b><b><FONT color=#990000>2、OR</FONT></b><b><FONT color=#990000>3、NOT</FONT></b><b><FONT color=#990000>4、NAND</FONT></b><b><FONT color=#990000>5、NOR</FONT></b><b><FONT color=#990000>6、XOR</FONT></b><b><FONT color=#990000>7、XNOR</FONT></b>

bearaboc 发表于 2004-12-12 16:20:45

<FONT face=黑体 color=#ee3d11 size=4>尊重知识 尊重真理 </FONT><FONT face=黑体 color=#ee3d11 size=4>三人行 必有我师焉</FONT>   参见鄙贴:<a href="https://www.hawkaoe.net/bbs/viewthread.php?tid=5029" target="_blank" ><FONT color=#421ae6>全部逻辑运算符测试实例</FONT></A>

卧龙先生 发表于 2004-12-12 18:58:35

当然知识没有因年龄而有分别。不过叫它小朋友他更喜欢,比先生。
页: [1]
查看完整版本: 第四个逻辑运算符号[nand]的用法