|
发表于 2008-10-27 01:35:17
|
显示全部楼层
回复 15# iceviper 的帖子
其实和人也是一样的啊
举个简单的例子,打对头
我们通常飞的时候常常头痛:这个对头要不要抢~
通常影响这个决策的因素是:
“拉死杆能不能形成机头正对,或者说有没有足够的指向余度”
当然还有其他的因素先不分析,道理也是一样的,只是判据增多算法层次更复杂而已
如果是人来决策,那么肯定是根据平显上自机的速度和空间位置,情况再好点还能知道对手的速度和空间位置,但是,即使知道这些数,我们依然只能靠平时训练得到的诸如空间感之类的经验来判断“拉得到或者拉不到,有指向优势或者没有指向优势”,然后再决定要不要做拉死杆这个动作。这个过程由于受经验左右,具有不确定性和模糊性。
但是如果对于一套相对成熟的专家系统,它可不跟你讲什么经验不经验空间感不空间感,他会首先把传感器采集的两机速度、高度、坐标位置、间距、角差以及战斗机转弯性能参数等信息放到动力学仿真程序中进行计算,只花了0.00001秒的时间就计算出了未来5秒钟时间内敌我双机的运动轨迹。经过计算后发现两条轨迹可以相交,则判断能“打对头”可行,如果发现没有相交,那么“打对头”不可行,于是做出精准的判断。
当然,敌机的动作不是死的,但同样,AI的判据不会只有一套,根据你的动作和路线,只要我们在专家系统中给予充分的决策依据,专家系统AI在经过对若干条可能的线同时进行动力学仿真计算和对比后,总都找出一套精准到每一时刻最佳飞行参数的反制路线。
而我们所能做的,是根据实战经验,多告诉AI一些,诸如“别人速度比你高,那么对头后就进单环;别人速度比你低,那么对头后就进双环”之类的大方向依据,至于到底进单环要拉多少杆,进双环要留多少速度,电脑会同时对比多条不同的路线,根据一定时间内可能积累的态势,选择最优的方案执行。
我们要告诉AI的所谓的“大方向”,也就是我们平时打机炮时要认真总结的经验“基本飞法”,至于执行效果,所谓“精准操控”,剪刀里一个爬升到底是用5度还是6度,我们再准也准不过电脑经过“明确方向范围”的“穷举法”在一秒钟里算出来、比出来的。
-------------------------以上所述是专家系统的实现方法之一,
最王道的理论还是为空战找到一个目标函数,第二次世界大战后找到的是“能量”即E( H,V),现代空战的目标函数所包含的元素更为复杂,有可能成了E2(H,V,dH/dt,dV/dt........),而我们在空战中时时刻刻所要做的,无非是“找到一组合适的 H=h,V=v,dH/dt,dH/dt........的取值,使得目标函数E2达到最大,而这在数学上就是"系统最优解"的问题,许许多多数学家提出过很多种解法,有理论的有数值的,这就是数学家的任务了,可能解出来的数会让你觉得匪夷所思,但是没办法,这就是真正的规律所在。
比如第一次世界大战狗斗的经验使当时最多的人认为只要使机轴的角坐标对于时间的导数最大,就能空战目标函数“E”最大了。于是诞生了ZERO一样专为狗斗设计的高机动性战机。然而在0战当年作为狗斗机称霸太平洋的时候,连喷火都水平绕圈都绕不过他的时候,但还有一些更为英明的设计师卓有眼光并且执着而平静的说:“日本人错了,目标函数E的最大值出现在高度和速度达到最大的时候。于是,出现了 F6F F4U P51这些机动性相对低而速度更快爬升更好的飞机,他们成功投入实战并把0战虐的喘不过气,正是因为他们的设计者依据当时的技术条件,正确解出了空战目标函数的最优解。。。。。。。
同样的,二代机的“追求高空高速”到三代机的“高机动性”设计原则,也是经历了类似“找最优解”的过程。随着技术的发展,空战目标函数所包含的元素和阶次也越老越高,如何找到和描述出所有的元素,如何解出这些元素的最优解,无疑成了飞机设计师和空战理论家最根本的任务。
[ 本帖最后由 aceforever 于 2008-10-27 02:14 编辑 ] |
|