翻糖是什么| 相生什么意思| 商数是什么意思| 冰妹什么意思| 存款准备金率下调意味着什么| 尿急尿痛吃什么药| 鱼精是什么| 缺陷的陷是什么意思| 籍贯写什么| 属龙五行属什么| 为什么会长结石| 手指关节痛什么原因| 思维敏捷是什么意思| 家里的财位在什么位置| 交配是什么意思| 小虾吃什么| 咳嗽去医院挂什么科| 梦见给别人剪头发是什么意思| 古埃及是什么人种| 什么的河水| 孕妇吃核桃对胎儿有什么好处| 定海神针是什么意思| 雅字取名的寓意是什么| 130是什么意思| 卖什么意思| 灵芝不能和什么一起吃| 断章取义是什么生肖| 你姓什么| 甜菜根在中国叫什么| 摩拳擦掌是什么意思| 什么胃病需要做手术| 依达拉奉注射功效与作用是什么| 江米是什么米| 手脚脱皮吃什么维生素| 梦见下大雨是什么征兆| 大熊猫生活在什么地方| hmb是什么意思| 身上皮肤痒是什么原因| 牛字旁与什么有关| 纨绔子弟什么意思| 法界是什么意思| 男性疝气是什么病| 阴道发白是什么原因| 淋巴细胞比率偏高是什么意思| 暗合是什么意思| 肝回声改变是什么意思| 石本读什么| 黑洞里面是什么| 嘴苦吃什么药| 什么的青草| 老板喜欢什么样的员工| mv是什么意思| 什么不什么当| ABA是什么植物激素| 劲酒有什么功效| 口腔溃疡吃什么药好| 消化酶缺乏是什么症状| nl是什么单位| 87年是什么年| 胰腺炎有什么症状| 缺硒有什么症状| 保释金是什么意思| 什么水果对心脏有好处| 什么哈欠| 老年人贫血吃什么补血最快最有效| 风什么浪什么| 物美价廉是什么意思| 凉茶是什么茶| 诸葛亮长什么样| 马失前蹄下一句是什么| 南昌有什么好吃的| 发量多的女生适合什么发型| 年夜饭吃什么| 皮蛋为什么含铅| 西瓜坏了是什么样| 预防肺结核吃什么药| 痔疮什么症状| 呵呵代表什么意思| 列文虎克发现了什么| 牙龈疼是什么原因| 什么鱼不能吃脑筋急转弯| 胆脂瘤是什么病| 冥寿是什么意思| 胃溃疡a2期是什么意思| 梦见迁祖坟有什么预兆| 五粮液是什么香型的酒| 有黄痰吃什么药| 外交是什么意思| 玻璃什么时候传入中国| 什么是鼻息肉| 绿色代表什么| 大便发黑是什么情况| 出家人是什么意思| 和谐是什么意思| 2月7日是什么星座| 足及念什么| 想做肠镜挂什么科| 突然好想你你会在哪里是什么歌| 罗汉局是什么意思| 铁罗汉是什么茶| 晚上9点多是什么时辰| 光绪帝叫什么名字| 真菌感染用什么药| 跳楼机是什么| 胃炎适合吃什么食物| 科目二学什么| 什么是卫校| 妇科彩超主要检查什么| 木辛读什么| 什么是偏爱| 欲生欲死是什么意思| 三sprit是什么牌子| 瘢痕是什么意思| 摇头晃脑是什么生肖| 吃什么有助睡眠| 眼皮浮肿什么原因| 梦见蒸馒头是什么意思| 海扶治疗是什么| 龟头炎是什么| 正佳广场有什么好玩的| 怀孕初期吃什么好| 为什么会一直打嗝| 甲状腺tsh高说明什么| 维生素c补什么| 琼瑶什么意思| 大便每天四五次是什么病| 心率慢吃什么药| 肠手术后吃什么恢复快| 除异味用什么效果最好| 悬壶济世是什么意思| 没经验开什么店最简单| 什么的雾霾| 一天吃一个苹果有什么好处| 内什么外什么| 急性肠胃炎吃什么食物| 胃隐隐作痛吃什么药| 小二阳是什么意思| 鳊鱼吃什么食物| 排卵期什么时候| 赊账是什么意思| 低密度灶是什么意思| 当枪使什么意思| 胎儿左心室强光点是什么意思| 胃疼挂什么科室| 放疗为什么死得更快| 摩拳擦掌是什么生肖| 迁就什么意思| 红花有什么功效| 脑干出血是什么原因| 指甲的月牙代表什么| 夜间胃痛是什么原因| 卧推60公斤什么水平| 什么时候阅兵| 肉炒什么菜谱大全| 戴银首饰对身体有什么好处| 什么是淡盐水| 肾功能不全有什么症状| 走马观花的走是什么意思| 很low是什么意思| 喝益生菌有什么好处| 4岁小孩流鼻血是什么原因| 女性私处痒是什么原因引起的| sars是什么病毒| 身份证照片穿什么颜色衣服| 栽赃是什么意思| 4月份是什么季节| 湿疹长什么样子图片| 口苦口干是什么原因引起的| 杨贵妃属什么生肖| 补钾吃什么| 小炒皇是什么菜| m 是什么单位| 拉肚子适合吃什么食物| 督察是什么意思| 卩是什么意思| 鼻血止不住是什么原因| 什么网名好听| 玉帝和王母是什么关系| 黑加出念什么| 胃酸胃烧心吃什么药| 什么情况下需要切除子宫| 什么叫情人| 备孕检查挂什么科| 视力突然模糊是什么原因引起的| 八面玲珑是什么数字| 打下巴用什么玻尿酸最好| 老年人便秘吃什么药| 农转非是什么意思| 下眼皮跳是什么原因| 常吃山药有什么好处和坏处| 结婚婚检都检查什么项目| 尿比重偏高是什么原因| 追求是什么意思| 移植后可以吃什么水果| 红枣为什么要去核煮| 辛属什么五行| 看眼睛挂什么科| 鼻子经常出血是什么病征兆| 天天喝酒会得什么病| 清明为什么插柳枝| 接下来有什么节日| 多多益善的意思是什么| 男性阴囊瘙痒用什么药膏| 阴道真菌感染用什么药| 老是干咳什么原因| 椰子水有什么好处| 什么汤降火| 医院红色手环代表什么| 大本营是什么意思| 1.18是什么星座| 清宫和刮宫有什么区别| 睡觉腿抽筋是什么原因| 栀子花什么季节开花| 在岸人民币和离岸人民币什么意思| 1月19号是什么星座| 双侧瞳孔缩小见于什么| 世界第一大运动是什么| 苋菜与什么食物相克| 跌打损伤用什么药最好| 斯夫是什么意思| 法国的国花是什么花| 阳痿什么意思| 2013属什么生肖| 胃镜能检查出什么| 心律不齐吃什么药效果好| 解脲脲原体是什么病| 荨麻疹是什么原因引起的| 2015年属什么| 夜尿频多吃什么药效果好| 36属什么| 什么什么为什么| 5月27日什么星座| 徐才厚什么级别| 急性扁桃体炎吃什么药| 中位数什么意思| 封建思想是什么意思| 菜心是什么菜的心| 2b是什么意思| 2月7日是什么星座| 反常是什么意思| 悦人不如悦己什么意思| 风寒感冒咳嗽吃什么药| 左眼跳什么意思| 淋巴结转移是什么意思| 什么是自由基| 菠萝蜜和什么不能一起吃| 15朵玫瑰花代表什么意思| 活好的女人有什么表现| sj是什么| 吉士粉是什么东西| 查过敏源挂什么科| 什么是善良| 无以言表什么意思| 爽约是什么意思| 孜然是什么植物| 胆固醇偏高有什么危害| 月经前一周是什么期| 苏麻为什么不嫁给康熙| 小孩为什么会得手足口病| solo 什么意思| 足跟痛吃什么药| 梦见自己化妆是什么意思| 诸葛亮是一个什么样的人| 界代表什么生肖| 百度Jump to content

北京自动驾驶测试车辆上路

From Wikipedia, the free encyclopedia
百度 研讨会上,各位专家、教授和学者根据古代地理名著《山海经》《水经注》和当前学术研究成果,论证了廆山、平逢山文化遗址存于孙旗屯乡辖区境内。

Inductive programming (IP) is a special area of automatic programming, covering research from artificial intelligence and programming, which addresses learning of typically declarative (logic or functional) and often recursive programs from incomplete specifications, such as input/output examples or constraints.

Depending on the programming language used, there are several kinds of inductive programming. Inductive functional programming, which uses functional programming languages such as Lisp or Haskell, and most especially inductive logic programming, which uses logic programming languages such as Prolog and other logical representations such as description logics, have been more prominent, but other (programming) language paradigms have also been used, such as constraint programming or probabilistic programming.

Definition

[edit]

Inductive programming incorporates all approaches which are concerned with learning programs or algorithms from incomplete (formal) specifications. Possible inputs in an IP system are a set of training inputs and corresponding outputs or an output evaluation function, describing the desired behavior of the intended program, traces or action sequences which describe the process of calculating specific outputs, constraints for the program to be induced concerning its time efficiency or its complexity, various kinds of background knowledge such as standard data types, predefined functions to be used, program schemes or templates describing the data flow of the intended program, heuristics for guiding the search for a solution or other biases.

Output of an IP system is a program in some arbitrary programming language containing conditionals and loop or recursive control structures, or any other kind of Turing-complete representation language.

In many applications the output program must be correct with respect to the examples and partial specification, and this leads to the consideration of inductive programming as a special area inside automatic programming or program synthesis,[1][2] usually opposed to 'deductive' program synthesis,[3][4][5] where the specification is usually complete.

In other cases, inductive programming is seen as a more general area where any declarative programming or representation language can be used and we may even have some degree of error in the examples, as in general machine learning, the more specific area of structure mining or the area of symbolic artificial intelligence. A distinctive feature is the number of examples or partial specification needed. Typically, inductive programming techniques can learn from just a few examples.

The diversity of inductive programming usually comes from the applications and the languages that are used: apart from logic programming and functional programming, other programming paradigms and representation languages have been used or suggested in inductive programming, such as functional logic programming, constraint programming, probabilistic programming, abductive logic programming, modal logic, action languages, agent languages and many types of imperative languages.

History

[edit]

Research on the inductive synthesis of recursive functional programs started in the early 1970s and was brought onto firm theoretical foundations with the seminal THESIS system of Summers[6] and work of Biermann.[7] These approaches were split into two phases: first, input-output examples are transformed into non-recursive programs (traces) using a small set of basic operators; second, regularities in the traces are searched for and used to fold them into a recursive program. The main results until the mid-1980s are surveyed by Smith.[8] Due to limited progress with respect to the range of programs that could be synthesized, research activities decreased significantly in the next decade.

The advent of logic programming brought a new elan but also a new direction in the early 1980s, especially due to the MIS system of Shapiro[9] eventually spawning the new field of inductive logic programming (ILP).[10] The early works of Plotkin,[11][12] and his "relative least general generalization (rlgg)", had an enormous impact in inductive logic programming. Most of ILP work addresses a wider class of problems, as the focus is not only on recursive logic programs but on machine learning of symbolic hypotheses from logical representations. However, there were some encouraging results on learning recursive Prolog programs such as quicksort from examples together with suitable background knowledge, for example with GOLEM.[13] But again, after initial success, the community got disappointed by limited progress about the induction of recursive programs[14][15][16] with ILP less and less focusing on recursive programs and leaning more and more towards a machine learning setting with applications in relational data mining and knowledge discovery.[17]

In parallel to work in ILP, Koza[18] proposed genetic programming in the early 1990s as a generate-and-test based approach to learning programs. The idea of genetic programming was further developed into the inductive programming system ADATE[19] and the systematic-search-based system MagicHaskeller.[20] Here again, functional programs are learned from sets of positive examples together with an output evaluation (fitness) function which specifies the desired input/output behavior of the program to be learned.

The early work in grammar induction (also known as grammatical inference) is related to inductive programming, as rewriting systems or logic programs can be used to represent production rules. In fact, early works in inductive inference considered grammar induction and Lisp program inference as basically the same problem.[21] The results in terms of learnability were related to classical concepts, such as identification-in-the-limit, as introduced in the seminal work of Gold.[22] More recently, the language learning problem was addressed by the inductive programming community.[23][24]

In the recent years, the classical approaches have been resumed and advanced with great success. Therefore, the synthesis problem has been reformulated on the background of constructor-based term rewriting systems taking into account modern techniques of functional programming, as well as moderate use of search-based strategies and usage of background knowledge as well as automatic invention of subprograms. Many new and successful applications have recently appeared beyond program synthesis, most especially in the area of data manipulation, programming by example and cognitive modelling (see below).

Other ideas have also been explored with the common characteristic of using declarative languages for the representation of hypotheses. For instance, the use of higher-order features, schemes or structured distances have been advocated for a better handling of recursive data types and structures;[25][26][27] abstraction has also been explored as a more powerful approach to cumulative learning and function invention.[28][29]

One powerful paradigm that has been recently used for the representation of hypotheses in inductive programming (generally in the form of generative models) is probabilistic programming (and related paradigms, such as stochastic logic programs and Bayesian logic programming).[30][31][29][32]

Application areas

[edit]

The first workshop on Approaches and Applications of Inductive Programming (AAIP) held in conjunction with ICML 2005 identified all applications where "learning of programs or recursive rules are called for, [...] first in the domain of software engineering where structural learning, software assistants and software agents can help to relieve programmers from routine tasks, give programming support for end users, or support of novice programmers and programming tutor systems. Further areas of application are language learning, learning recursive control rules for AI-planning, learning recursive concepts in web-mining or for data-format transformations".

Since then, these and many other areas have shown to be successful application niches for inductive programming, such as end-user programming,[33] the related areas of programming by example[34] and programming by demonstration,[35] and intelligent tutoring systems.

Other areas where inductive inference has been recently applied are knowledge acquisition,[36] artificial general intelligence,[37] reinforcement learning and theory evaluation,[38][39] and cognitive science in general.[40][32] There may also be prospective applications in intelligent agents, games, robotics, personalisation, ambient intelligence and human interfaces.

See also

[edit]

References

[edit]
  1. ^ Biermann, A.W. (1992). Shapiro, S.C. (ed.). "Automatic programming". Encyclopedia of Artificial Intelligence: 18–35.
  2. ^ Rich, C.; Waters, R.C. (1993). Yovits, M.C. (ed.). Approaches to automatic programming (PDF). Advances in Computers. Vol. 37. pp. 1–57. doi:10.1016/S0065-2458(08)60402-7. ISBN 9780120121373.
  3. ^ Lowry, M.L.; McCarthy, R.D., eds. (1991). Automatic software design.
  4. ^ Manna, Z.; Waldinger, R. (1992). "Fundamentals of deductive program synthesis". IEEE Trans Softw Eng. 18 (8): 674–704. CiteSeerX 10.1.1.51.817. doi:10.1109/32.153379.
  5. ^ Flener, P. (2002). "Achievements and Prospects of Program Synthesis". In Kakas, A.; Sadri, F. (eds.). Computational Logic: Logic Programming and Beyond; Essays in Honour of Robert A. Kowalski. Lecture Notes in Computer Science. Vol. LNAI 2407. pp. 310–346. doi:10.1007/3-540-45628-7_13. ISBN 978-3-540-43959-2.
  6. ^ Summers, P.D. (1977). "A methodology for LISP program construction from examples". J ACM. 24 (1): 161–175. doi:10.1145/321992.322002. S2CID 7474210.
  7. ^ Biermann, A.W. (1978). "The inference of regular LISP programs from examples". IEEE Trans Syst Man Cybern. 8 (8): 585–600. doi:10.1109/tsmc.1978.4310035. S2CID 15277948.
  8. ^ Smith, D.R. (1984). Biermann, A.W.; Guiho, G. (eds.). "The synthesis of LISP programs from examples: a survey". Automatic Program Construction Techniques: 307–324.
  9. ^ Shapiro, E.Y. (1983). Algorithmic program debugging. The MIT Press.
  10. ^ Muggleton, S. (1991). "Inductive logic programming". New Generation Computing. 8 (4): 295–318. CiteSeerX 10.1.1.329.5312. doi:10.1007/BF03037089. S2CID 5462416.
  11. ^ Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D. (eds.). "A Note on Inductive Generalization" (PDF). Machine Intelligence. 5: 153–163.
  12. ^ Plotkin, Gordon D. (1971). Meltzer, B.; Michie, D. (eds.). "A Further Note on Inductive Generalization". Machine Intelligence. 6: 101–124.
  13. ^ Muggleton, S.H.; Feng, C. (1990). "Efficient induction of logic programs". Proceedings of the Workshop on Algorithmic Learning Theory. 6: 368–381. S2CID 14992676.
  14. ^ Quinlan, J.R.; Cameron-Jones, R.M. (1993). "Avoiding Pitfalls When Learning Recursive Theories". IJCAI: 1050–1057. S2CID 11138624.
  15. ^ Quinlan, J.R.; Cameron-Jones, R.M. (1995). "Induction of logic programs: FOIL and related systems" (PDF). 13 (3–4). Springer: 287–312. Archived from the original (PDF) on 2025-08-07. Retrieved 2025-08-07. {{cite journal}}: Cite journal requires |journal= (help)
  16. ^ Flener, P.; Yilmaz, S. (1999). "Inductive synthesis of recursive logic programs: Achievements and prospects". The Journal of Logic Programming. 41 (2): 141–195. doi:10.1016/s0743-1066(99)00028-x.
  17. ^ D?eroski, Sa?o (1996), "Inductive Logic Programming and Knowledge Discovery in Databases", in Fayyad, U.M.; Piatetsky-Shapiro, G.; Smith, P.; Uthurusamy, R. (eds.), Advances in Knowledge Discovery and Data Mining, MIT Press, pp. 117–152
  18. ^ Koza, J.R. (1992). Genetic Programming: vol. 1, On the programming of computers by means of natural selection. MIT Press. ISBN 9780262111706.
  19. ^ Olsson, J.R. (1995). "Inductive functional programming using incremental program transformation". Artificial Intelligence. 74 (1): 55–83. doi:10.1016/0004-3702(94)00042-y.
  20. ^ Katayama, Susumu (2008). "Efficient Exhaustive Generation of Functional Programs Using Monte-Carlo Search with Iterative Deepening" (PDF). PRICAI 2008: Trends in Artificial Intelligence. Lecture Notes in Computer Science. Vol. 5351. pp. 199–210. CiteSeerX 10.1.1.606.1447. doi:10.1007/978-3-540-89197-0_21. ISBN 978-3-540-89196-3.
  21. ^ Angluin, D.; C.H., Smith (1983). "Inductive inference: Theory and methods". ACM Computing Surveys. 15 (3): 237–269. doi:10.1145/356914.356918. S2CID 3209224.
  22. ^ Gold, E.M. (1967). "Language identification in the limit". Information and Control. 10 (5): 447–474. doi:10.1016/s0019-9958(67)91165-5.
  23. ^ Muggleton, Stephen (1999). "Inductive Logic Programming: Issues, Results and the Challenge of Learning Language in Logic". Artificial Intelligence. 114 (1–2): 283–296. doi:10.1016/s0004-3702(99)00067-3.; here: Sect.2.1
  24. ^ Olsson, J.R.; Powers, D.M.W. (2003). "Machine learning of human language through automatic programming". Proceedings of the International Conference on Cognitive Science: 507–512.
  25. ^ Lloyd, J.W. (2001). "Knowledge Representation, Computation, and Learning in Higher-order Logic" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  26. ^ Lloyd, J.W. (2003). Logic for learning: learning comprehensible theories from structured data. Springer. ISBN 9783662084069.
  27. ^ Estruch, V.; Ferri, C.; Hernandez-Orallo, J.; Ramirez-Quintana, M.J. (2014). "Bridging the gap between distance and generalization". Computational Intelligence. 30 (3): 473–513. doi:10.1111/coin.12004. hdl:10251/34946. S2CID 7255690.
  28. ^ Henderson, R.J.; Muggleton, S.H. (2012). "Automatic invention of functional abstractions" (PDF). Advances in Inductive Logic Programming.
  29. ^ a b Irvin, H.; Stuhlmuller, A.; Goodman, N.D. (2011). "Inducing probabilistic programs by Bayesian program merging". arXiv:1110.5667 [cs.AI].
  30. ^ Muggleton, S. (2000). "Learning stochastic logic programs" (PDF). Electron. Trans. Artif. Intell. 4(B): 141–153. Archived from the original (PDF) on 2025-08-07. Retrieved 2025-08-07.
  31. ^ De Raedt, L.; Kersting, K. (2008). Probabilistic inductive logic programming. Springer.
  32. ^ a b Stuhlmuller, A.; Goodman, N.D. (2012). "Reasoning about reasoning by nested conditioning: Modeling theory of mind with probabilistic programs". Cognitive Systems Research. 28: 80–99. doi:10.1016/j.cogsys.2013.07.003. S2CID 7602205.
  33. ^ Lieberman, H.; Paternò, F.; Wulf, V. (2006). End user development. Springer.
  34. ^ Lieberman, H. (2001). Your wish is my command: Programming by example. Morgan Kaufmann. ISBN 9781558606883.
  35. ^ Cypher, E.; Halbert, D.C. (1993). Watch what I do: programming by demonstration. MIT Press. ISBN 9780262032131.
  36. ^ Schmid, U.; Hofmann, M.; Kitzelmann, E. (2009). "Analytical inductive programming as a cognitive rule acquisition devise" (PDF). Proceedings of the Second Conference on Artificial General Intelligence: 162–167.
  37. ^ Crossley, N.; Kitzelmann, E.; Hofmann, M.; Schmid, U. (2009). "Combining analytical and evolutionary inductive programming" (PDF). Proceedings of the Second Conference on Artificial General Intelligence: 19–24.
  38. ^ Hernandez-Orallo, J. (2000). "Constructive reinforcement learning". International Journal of Intelligent Systems. 15 (3): 241–264. CiteSeerX 10.1.1.34.8877. doi:10.1002/(sici)1098-111x(200003)15:3<241::aid-int6>3.0.co;2-z. S2CID 123390956.
  39. ^ Kemp, C.; Goodman, N.; Tenenbaum, J.B. (2007). "Learning and using relational theories" (PDF). Advances in Neural Information Processing Systems: 753–760.
  40. ^ Schmid, U.; Kitzelmann, E. (2011). "Inductive rule learning on the knowledge level". Cognitive Systems Research. 12 (3): 237–248. doi:10.1016/j.cogsys.2010.12.002. S2CID 18613664.

Further reading

[edit]
[edit]
睡觉时间长是什么原因 冠冕是什么意思 做梦吃饺子是什么意思 玉米须煮水喝有什么好处 海关清关什么意思
什么水果可以降火 做什么来钱快 安静如鸡什么意思 脚干裂用什么药膏 尿酸高吃什么
一个鸟一个木念什么 吃西瓜有什么坏处 一见什么 此地无银三百两是什么意思 脚底出汗是什么原因女
狗狗打喷嚏流鼻涕怎么办吃什么药 什么叫收缩压和舒张压 健康证都查什么传染病 白色糠疹是什么原因引起的 火字旁的字有什么
vad是什么意思hcv7jop4ns6r.cn 吃什么大补hcv8jop1ns2r.cn 脸油油的是什么原因hcv9jop7ns5r.cn 94年属什么今年多大weuuu.com 新婚志喜是什么意思hcv8jop6ns9r.cn
血细胞分析五分类是查什么的bjhyzcsm.com 看见喜鹊有什么预兆hcv9jop1ns8r.cn 苹果手机为什么充不进去电hcv8jop3ns7r.cn 飞行模式和关机有什么区别hcv8jop8ns0r.cn 冰袋里面装的是什么hcv7jop9ns3r.cn
孔雀开屏是什么意思hcv9jop8ns3r.cn 大三阳是什么hcv7jop6ns9r.cn hiv是什么病毒hcv8jop2ns3r.cn 吃什么水果养胃hcv8jop8ns8r.cn 婧字五行属什么hcv8jop5ns4r.cn
尿多吃什么药hcv8jop1ns2r.cn 狗狗发抖是什么原因hcv7jop4ns8r.cn 不服是什么意思hcv7jop4ns7r.cn 成双成对是什么生肖hcv9jop6ns3r.cn 什么地笑hcv9jop5ns1r.cn
百度