Jump to content

Programming by example: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
 
Line 1: Line 1:
In [[computer science]], '''programming by example''' ('''PbE'''), also termed '''programming by demonstration''' or more generally as '''demonstrational programming''', is an [[end-user development]] technique for [[machine learning|teaching a computer new behavior]] by demonstrating actions on concrete examples.<ref>[https://www.microsoft.com/en-us/research/publication/machine-learning-framework-programming-example/ A Machine Learning Framework for Programming by Example - Microsoft]</ref> The system records user actions and infers a generalized [[Computer program|program]] that can be used on new examples.
In [[computer science]], '''programming by example''' ('''PbE'''), also termed '''programming by demonstration''' or more generally as '''demonstrational programming''', is an [[end-user development]] technique for [[machine learning|teaching a computer new behavior]] by demonstrating actions on concrete examples.<ref>[https://www.microsoft.com/en-us/research/publication/machine-learning-framework-programming-example/ A Machine Learning Framework for Programming by Example - Microsoft]</ref> The system records user actions and infers a generalized [[Computer program|program]] that can be used on new examples.


PbE is intended to be easier to do than traditional [[computer programming]], which generally requires learning and using a [[programming language]]. Many PbE systems have been developed as research prototypes, but few have found widespread real-world application. More recently, PbE has proved to be a useful paradigm for creating scientific work-flows. 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].
PbE is intended to be easier to do than traditional [[computer programming]], which generally requires learning and using a [[programming language]]. Many PbE systems have been developed as research prototypes, but few have found widespread real-world application. More recently, PbE has proved to be a useful paradigm for creating scientific work-flows. 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].


Also the [[programming by demonstration]] (PbD) term has been mostly adopted by robotics researchers for teaching new behaviors to the robot through a physical demonstration of the task. The usual distinction in literature between these terms is that in PbE the user gives a prototypical 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 tool (e.g. [[Adobe Photoshop|Photoshop]]), the most simple case of PbD is the [[macro recorder]].
Also the [[programming by demonstration]] (PbD) term has been mostly adopted by robotics researchers for teaching new behaviors to the robot through a physical demonstration of the task. The usual distinction in literature between these terms is that in PbE the user gives a prototypical 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 tool (e.g. [[Adobe Photoshop|Photoshop]]), the most simple case of PbD is the [[macro recorder]].


==See also==
==See also==
Line 15: Line 15:


==References==
==References==
{{Reflist}}
<references />


==External links==
==External links==
Line 22: Line 22:
* [http://web.media.mit.edu/~lieber/Your-Wish/ Online copy of <u>Your Wish is My Command</u>, Henry Lieberman's sequel to <u>Watch What I Do</u>]
* [http://web.media.mit.edu/~lieber/Your-Wish/ Online copy of <u>Your Wish is My Command</u>, Henry Lieberman's sequel to <u>Watch What I Do</u>]
* [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]
* [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:User interfaces]]
[[Category:User interfaces]]
[[Category:Programming paradigms]]
[[Category:Programming paradigms]]
[[Category:Machine learning]]
[[Category:Machine learning]]



{{comp-sci-stub}}
{{comp-sci-stub}}

Latest revision as of 22:06, 31 March 2021

In computer science, programming by example (PbE), also termed programming by demonstration or more generally as demonstrational programming, is an end-user development technique for teaching a computer new behavior by demonstrating actions on concrete examples.[1] The system records user actions and infers a generalized program that can be used on new examples.

PbE is intended to be easier to do than traditional computer programming, which generally requires learning and using a programming language. Many PbE systems have been developed as research prototypes, but few have found widespread real-world application. More recently, PbE has proved to be a useful paradigm for creating scientific work-flows. PbE is used in two independent clients for the BioMOBY protocol: Seahawk and Gbrowse moby.

Also the programming by demonstration (PbD) term has been mostly adopted by robotics researchers for teaching new behaviors to the robot through a physical demonstration of the task. The usual distinction in literature between these terms is that in PbE the user gives a prototypical product of the computer execution, such as 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 tool (e.g. Photoshop), the most simple case of PbD is the macro recorder.

See also

[edit]

References

[edit]
[edit]