Content deleted Content added
m Date/fix the maintenance tags or gen fixes using AWB |
Adding short description: "Using concrete examples to teach computers behaviors" |
||
(53 intermediate revisions by 26 users not shown) | |||
Line 1:
{{Short description|Using concrete examples to teach computers behaviors}}
In [[computer science]], '''
▲'''Programming by Example''' (also known as ''Programming by Demonstration'' or more generally as ''Demonstrational Programming'') is a technique for teaching a [[computer]] new [[behavior]] by demonstrating actions on concrete examples. The system records user actions and infers a generalized [[program]] that can be used upon new examples.
Also the [[programming by demonstration]] (PbD) term has been mostly adopted by robotics [[Research|researchers]] for [[teaching]] new behaviors to the [[robot]] through a physical demonstration of the task. The usual distinction in the literature between these terms is that in PbE the user gives a prototypica<nowiki/>l product of the [[computer]] execution, such as [[Query by Example|a row in the desired results of a query]]; while in PbD the user performs a sequence of actions that the computer must repeat, generalizing it to be used in different [[data]] sets. For final users, to automate a [[workflow]] in a [[Complex logarithm|complex]] tool (e.g. [[Adobe Photoshop|Photoshop]]), the most simple case of PbD is the [[macro recorder]].
▲Programming by Example is intended to be easier than traditional [[programming]], which generally requires learning and using a [[programming language]]. Many Programming by Example systems have been developed as research prototypes, but few have found widespread real-world application. More recently, programming-by-example has proved to be a useful paradigm for creating scientific workflows. PBE is used in two independent clients for the [[BioMOBY]] protocol: [http://www.biomedcentral.com/1471-2105/8/208/abstract Seahawk] and [http://www.scfbm.org/content/1/1/4 Gbrowse moby].
==See also==
* [[Query by Example]]
* [[Automated machine learning]]
* [[Example-based machine translation]]
* [[Lapis (text editor)]], which allows [[simultaneous editing]] of similar items in [[multiple selection]]s created by example
* [[Programming by demonstration]]
* [[Test-driven development]]<!-- example-driven software development -->
==References==
{{Reflist}}
==External links==
* [http://web.media.mit.edu/~lieber/PBE/
* [http://www.acypher.com/wwid/ Online copy of <u>Watch What I Do</u>, Allen Cypher's book on Programming by Demonstration]
* [http://web.media.mit.edu/~lieber
* [http://www.dsmforum.org/events/DSVL01/carlson.pdf <u>A Visual Language for Data Mapping</u>, John Carlson's description of an Integrated Development Environment (IDE) that used Programming by Example (desktop objects) for data mapping, and an iconic language for recording operations]
{{Authority control}}
[[Category:Programming paradigms]]
[[Category:Machine learning]]
▲[[Category:Computer programming]]
▲[[Category:User interface]]
{{
{{machine-learning-stub}}
|