猫能看到什么颜色| 精神分裂症吃什么药| 有什么可以快速止痒的方法| 鸡是什么动物| 夏天脚底冰凉是什么原因| 7月8号是什么星座的| 什么油炒菜好吃又健康| 马粟是什么| 补充电解质喝什么水| 女生下面长什么样| 天丝是什么成分| 半夜是什么生肖| 水印是什么| 突然膝盖疼是什么原因| 大学硕士点是什么意思| 地黄是什么| 古今内衣是什么档次| 中超是什么| 梦见别人送钱给我是什么意思| 膀胱充盈差是什么意思| 行尸走肉什么意思| 肝左叶囊性灶什么意思| 77年的蛇是什么命| ace是什么| 继续近义词是什么| 什么是转基因食品| 属马的跟什么属相犯冲| 日晡潮热是什么意思| 苏铁是什么植物| 阴道口痒用什么药| 神经痛挂什么科| 什么东西最贵| 一个鸟一个木念什么| 病毒性感染是什么原因引起的| 益气固表是什么意思| 由加页念什么| 小孩子肚子疼吃什么药| 什么是卒中| 更年期是什么| 为什么一同房就出血| 夜排是什么意思| 拆封是什么意思| 副乳有什么危害吗| 手发胀是什么原因| angelababy英文什么意思| 中国的全称是什么| 口里发酸是什么原因| ABB式的词语有什么| 联姻是什么意思| 4.15是什么星座| 什么是龟头炎| 什么沐浴露好用| 刺激什么意思| alyx是什么牌子| 单纯疱疹病毒吃什么药| 小孩上户口需要什么材料| 为什么延迟退休| 什么像什么什么| 双清是什么意思| 梯子是什么| 皮肤黄适合穿什么颜色的衣服| 叫床是什么| 不加热血清反应素试验是什么| 五行缺水是什么意思| 北海龙王叫什么| 血压高不能吃什么食物| 总蛋白低是什么意思| 吃芒果不能吃什么| 幽门螺旋杆菌抗体阳性是什么意思| 鼻子肿了又硬又疼是什么原因| 北极和南极有什么区别| 咽喉炎吃什么药| 团宠是什么意思| 女男是什么字| 胃糜烂可以吃什么水果| 小钢炮是什么意思| 杯子是什么意思| 9月28号什么星座| sec是什么意思| 3.19是什么星座| 梦见恐龙是什么意思| 牙龈炎吃什么药最有效| 生态皮是什么材质| 普乐安片治什么病| 空腹喝啤酒有什么危害| 吃什么补钙| 隆字五行属什么| 蟑螂吃什么东西| 燕条和燕盏有什么区别| 第六感是什么意思| 男人尿频是什么原因| 12月31号什么星座| 999足金是什么意思| 男大三后面一句是什么| 喝牛奶就拉肚子是什么原因| 咳白色泡沫痰吃什么药| 屈光度是什么意思| 养鱼为什么养单不养双| 膀胱破裂什么症状| 什么样的秋天| 大什么小什么| 花斑癣用什么药膏| 为什么会骨盆前倾| 阴茎不硬吃什么| 沙蚕是什么动物| 宫颈囊肿有什么症状表现| 菠菜和豆腐为什么不能一起吃| 乳糖不耐受可以喝什么奶| 冲羊煞东是什么意思| 啵啵是什么| 珠地棉是什么面料| 红黑相间的蛇是什么蛇| 燕窝有什么好处| 流泪痣是什么意思| 人死了是什么感觉| 儿保是什么| 包谷是什么意思| 杀了神经的牙为什么还疼| 咩是什么意思| 阑尾炎挂什么科室| 睡几个小时就醒了是什么原因| 蟋蟀吃什么| 处长什么级别| 远房亲戚是什么意思| 胃反流有什么症状| 风花雪月什么意思| 天麻炖什么治疗头痛效果最好| s属性什么意思| 鹌鹑蛋不能和什么一起吃| 补脾吃什么食物最好| 小孩睡觉磨牙是什么原因引起的| 黄芪喝多了有什么副作用| 阴囊潮湿是什么原因造成的| 女人颧骨高有什么说法| 1999年是什么生肖| 红隼吃什么| 封闭针是什么| 精液什么颜色| 移植后要注意什么| mir是什么检查| 4月4日是什么日子| 回锅肉是什么肉| 高血压需要注意些什么| 肛裂是什么样子的图片| 半衰期什么意思| 口腔溃疡是什么原因造成的| 宫颈切片检查是什么| 眼睛痒吃什么药| 慢性子宫颈炎是什么意思| 绣球花什么时候开花| 半斤八两什么意思| 网盘是什么| 语五行属什么| 早上吃黄瓜有什么好处| 肾功能检查挂什么科| 排卵期是在什么时候| 腋窝痒是什么原因| 憩室什么意思| 牛郎织女是什么意思| 土生土长是什么生肖| 附骨疽是什么病| 小孩出汗多是什么原因| 葡萄的茎属于什么茎| 什么是皮包公司| 骨质疏松症有什么症状| 什么叫做基本工资| 银行卡销户是什么意思| 什么匆匆| 纯字五行属什么| 为什么耳朵后面会臭| 1223是什么星座| 狗屎运是什么意思| 肌酐低是什么意思| 年少有为什么意思| 胡萝卜和什么不能一起吃| 刘晓庆为什么坐牢| 庄周梦蝶什么意思| 四次元是什么意思啊| 紫光檀是什么木| 灿烂的近义词是什么| 白猫是什么品种| 牙套什么年龄戴合适| 辅酶q10什么时间吃好| 阳萎早谢吃什么药最好| 喝什么缓解痛经最有效| 曜字五行属什么| 做梦梦到鸡是什么意思| 宫外孕什么症状| 盆腔积液有什么症状有哪些| 什么感冒药效果最好| 脚酸是什么原因引起的| 什么是乙肝病毒携带者| 水厄痣是什么意思| 什么是智商| 湿气重吃什么蔬菜| 缺钾吃什么食物补得最快| 右下腹疼痛什么原因| 什么生肖没有牙齿| 初检检查什么| 2006年属什么生肖| 肉麻是什么意思| 五月二十二是什么星座| 代偿期和失代偿期是什么意思| 牙髓炎是什么| 感染幽门螺旋杆菌会出现什么症状| 血蛋白低是什么原因| 杭州菜属于什么菜系| 脚酸疼是什么原因引起的吗| 鱼工念什么| ph值偏高是什么意思| 1937年是什么年| 车挂件挂什么保平安好| 吃什么食物能养肝护肝| 开学买什么| mi医学上是什么意思| 营养过剩是什么意思| 脸大适合什么发型| 一班三检是指什么| 湿疹有什么忌口的食物| 浆糊是什么意思| al是什么意思| 全身瘙痒是什么原因| 肝囊肿有什么症状表现| 高危型hpv66阳性是什么意思| 怀孕一个月有点见红是什么情况| 掉头发吃什么药最有效| o型血阳性是什么意思| 冬瓜烧什么好吃| 着痹是什么意思| 乳房边缘一按就疼是什么原因| 为什么鸡蛋不能和牛奶一起吃| 张姓五行属什么| 山竹什么样的好| 主理人是什么意思| 蛇与什么属相相配最好| 儿童肺炎吃什么药| 晚上睡觉牙齿出血是什么原因| 护肝吃什么好| 视网膜脱落是什么原因引起的| 肺气肿是什么病| 黄油是什么意思| 三查八对的内容是什么| 阴虱用什么药可以根除| 回锅肉是什么肉| 舌头干燥吃什么药| 脾胃湿热吃什么药好| 什么的草坪| 茉莉花茶适合什么季节喝| 洛阳以前叫什么名字| 月经太多是什么原因| 男性经常手淫有什么危害| 切记是什么意思| 做核磁共振挂什么科| 人什么地灵| 什么是甲减病| 孕期能吃什么| 尽善尽美是什么意思| 女性前列腺叫什么| ph阳性是什么意思| 红红的眼睛是什么生肖| 特仑苏是什么意思| 痔疮什么样子图片| 6.13是什么星座| 什么什么不断| 百度

淮安市开发区一季度为消费者挽回损失38万余元

百度 计划提出,今年将低排放区由六环路内扩展到全市域,促进国Ⅲ重型柴油车加快淘汰。

In the field of artificial intelligence, an inference engine is a software component of an intelligent system that applies logical rules to the knowledge base to deduce new information. The first inference engines were components of expert systems. The typical expert system consisted of a knowledge base and an inference engine. The knowledge base stored facts about the world. The inference engine applied logical rules to the knowledge base and deduced new knowledge. This process would iterate as each new fact in the knowledge base could trigger additional rules in the inference engine. Inference engines work primarily in one of two modes either special rule or facts: forward chaining and backward chaining. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals, and works backward to determine what facts must be asserted so that the goals can be achieved.[1]

Additionally, the concept of 'inference' has expanded to include the process through which trained neural networks generate predictions or decisions. In this context, an 'inference engine' could refer to the specific part of the system, or even the hardware, that executes these operations. This type of inference plays a crucial role in various applications, including (but not limited to) image recognition, natural language processing, and autonomous vehicles. The inference phase in these applications is typically characterized by a high volume of data inputs and real-time processing requirements.

Architecture

edit

The logic that an inference engine uses is typically represented as IF-THEN rules. The general format of such rules is IF <logical expression> THEN <logical expression>. Prior to the development of expert systems and inference engines, artificial intelligence researchers focused on more powerful theorem prover environments that offered much fuller implementations of first-order logic. For example, general statements that included universal quantification (for all X some statement is true) and existential quantification (there exists some X such that some statement is true). What researchers discovered is that the power of these theorem-proving environments was also their drawback. Back in 1965, it was far too easy to create logical expressions that could take an indeterminate or even infinite time to terminate. For example, it is common in universal quantification to make statements over an infinite set such as the set of all natural numbers. Such statements are perfectly reasonable and even required in mathematical proofs but when included in an automated theorem prover executing on a computer may cause the computer to fall into an infinite loop. Focusing on IF-THEN statements (what logicians call modus ponens) still gave developers a very powerful general mechanism to represent logic, but one that could be used efficiently with computational resources. What is more, there is some psychological research that indicates humans also tend to favor IF-THEN representations when storing complex knowledge.[2]

A simple example of modus ponens often used in introductory logic books is "If you are human then you are mortal". This can be represented in pseudocode as:

Rule1: Human(x) => Mortal(x)

A trivial example of how this rule would be used in an inference engine is as follows. In forward chaining, the inference engine would find any facts in the knowledge base that matched Human(x) and for each fact it found would add the new information Mortal(x) to the knowledge base. So if it found an object called Socrates that was human it would deduce that Socrates was mortal. In backward chaining, the system would be given a goal, e.g. answer the question is Socrates mortal? It would search through the knowledge base and determine if Socrates was human and, if so, would assert he is also mortal. However, in backward chaining a common technique was to integrate the inference engine with a user interface. In that way, rather than simply being automated the system could now be interactive. In this trivial example, if the system was given the goal to answer the question if Socrates was mortal and it didn't yet know if he was human, it would generate a window to ask the user the question "Is Socrates human?" and would then use that information accordingly.

This innovation of integrating the inference engine with a user interface led to the second early advancement of expert systems: explanation capabilities. The explicit representation of knowledge as rules rather than code made it possible to generate explanations to users: both explanations in real time and after the fact. So if the system asked the user "Is Socrates human?", the user may wonder why she was being asked that question and the system would use the chain of rules to explain why it was currently trying to ascertain that bit of knowledge: that is, it needs to determine if Socrates is mortal and to do that needs to determine if he is human. At first these explanations were not much different than the standard debugging information that developers deal with when debugging any system. However, an active area of research was utilizing natural language technology to ask, understand, and generate questions and explanations using natural languages rather than computer formalisms.[3]

An inference engine cycles through three sequential steps: match rules, select rules, and execute rules. The execution of the rules will often result in new facts or goals being added to the knowledge base, which will trigger the cycle to repeat. This cycle continues until no new rules can be matched.

In the first step, match rules, the inference engine finds all of the rules that are triggered by the current contents of the knowledge base. In forward chaining, the engine looks for rules where the antecedent (left hand side) matches some fact in the knowledge base. In backward chaining, the engine looks for antecedents that can satisfy one of the current goals.

In the second step, select rules, the inference engine prioritizes the various rules that were matched to determine the order to execute them. In the final step, execute rules, the engine executes each matched rule in the order determined in step two and then iterates back to step one again. The cycle continues until no new rules are matched.[4]

Implementations

edit

Early inference engines focused primarily on forward chaining. These systems were usually implemented in the Lisp programming language. Lisp was a frequent platform for early AI research due to its strong capability to do symbolic manipulation. Also, as an interpreted language it offered productive development environments appropriate to debugging complex programs. A necessary consequence of these benefits was that Lisp programs tended to be slower and less robust than compiled languages of the time such as C. A common approach in these early days was to take an expert system application and repackage the inference engine used for that system as a re-usable tool other researchers could use for the development of other expert systems. For example, MYCIN was an early expert system for medical diagnosis and EMYCIN was an inference engine extrapolated from MYCIN and made available for other researchers.[1]

As expert systems moved from research prototypes to deployed systems there was more focus on issues such as speed and robustness. One of the first and most popular forward chaining engines was OPS5, which used the Rete algorithm to optimize the efficiency of rule firing. Another very popular technology that was developed was the Prolog logic programming language. Prolog focused primarily on backward chaining and also featured various commercial versions and optimizations for efficiency and robustness.[5]

As expert systems prompted significant interest from the business world, various companies, many of them started or guided by prominent AI researchers created productized versions of inference engines. For example, Intellicorp was initially guided by Edward Feigenbaum. These inference engine products were also often developed in Lisp at first. However, demands for more affordable and commercially viable platforms eventually made personal computer platforms very popular.

Open source implementations

edit

ClipsRules and RefPerSys (inspired by CAIA[6] and the work of Jacques Pitrat). The Frama-C static source code analyzer also uses some inference engine techniques.

See also

edit

References

edit
  1. ^ a b Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Building Expert Systems. Addison-Wesley. ISBN 0-201-10686-8.
  2. ^ Feigenbaum, Edward; Avron Barr (September 1, 1986). The Handbook of Artificial Intelligence, Volume I. Addison-Wesley. p. 195. ISBN 0201118114.
  3. ^ Barzilayt, Regina; Daryl McCullough; Owen Rambow; Jonathan DeCristofaro; Tanya Korelsky; Benoit Lavoie. "A New Approach to Expert System Explanations" (PDF). USAF Rome Laboratory Report. Archived from the original on July 5, 2016.
  4. ^ Griffin, N.L., A Rule-Based Inference Engine which is Optimal and VLSI Implementable, University of Kentucky.
  5. ^ Sterling, Leon; Ehud Shapiro (1986). The Art of Prolog. Cambridge, MA: MIT. ISBN 0-262-19250-0.
  6. ^ Pitrat, Jacques (2009). Artificial Beings, the conscience of a conscious machine. Wiley. ISBN 978-1848211018.
一颗什么 拉肚子吃什么药比较好 bae什么意思 哲字五行属什么 北上广深是什么意思
狗叫是什么意思 蜂蜜不能和什么一起吃 丙辰是什么时辰 晚上睡觉手麻是什么原因 joy是什么意思
一班三检是指什么 巨石强森是什么人种 武夷水仙茶属于什么茶 血糖高的人能吃什么水果 血小板体积偏低是什么原因
严什么的态度 七月四日是什么星座 姨妈期间可以吃什么水果 hr是什么意思医学 父亲送什么礼物
碧玉五行属什么naasee.com b型血的人是什么性格hcv8jop5ns1r.cn 飞机上什么东西不能带hcv7jop6ns2r.cn 怀孕一个月会有什么反应hcv9jop5ns5r.cn 藿香正气水什么时候喝hcv7jop9ns5r.cn
左什么结构hcv9jop6ns1r.cn 缺乏维生素b12的症状是什么hcv9jop5ns9r.cn 吃什么水果对心脏好hcv9jop2ns2r.cn 征字五行属什么hcv8jop8ns8r.cn 用眼过度用什么眼药水hcv9jop4ns5r.cn
尿酸高吃什么hcv9jop3ns9r.cn 贤侄是什么意思xinmaowt.com 面瘫吃什么药好得快hcv8jop2ns5r.cn 胡巴是什么fenrenren.com 为什么会有鼻炎hcv9jop6ns7r.cn
动次打次是什么意思hcv8jop6ns0r.cn 公分是什么意思hcv8jop6ns0r.cn 心有不甘是什么意思hcv8jop9ns9r.cn 本命年犯太岁什么意思hcv9jop6ns9r.cn 小鹿乱撞是什么意思hcv8jop4ns0r.cn
百度