Automated programming, symbolic computation, machine learning: my personal view
In this note, I present my personal view on the interaction of the three areas Automated Programming, Symbolic Computation, and Machine Learning. Programming is the activity of finding a (hopefully) correct program (algorithm) for a given problem. Programming is central to automation in all areas an...
Gespeichert in:
Veröffentlicht in: | Annals of mathematics and artificial intelligence 2023-10, Vol.91 (5), p.569-589 |
---|---|
1. Verfasser: | |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 589 |
---|---|
container_issue | 5 |
container_start_page | 569 |
container_title | Annals of mathematics and artificial intelligence |
container_volume | 91 |
creator | Buchberger, Bruno |
description | In this note, I present my personal view on the interaction of the three areas Automated Programming, Symbolic Computation, and Machine Learning. Programming is the activity of finding a (hopefully) correct program (algorithm) for a given problem. Programming is central to automation in all areas and is considered one of the most creative human activities. However, already very early in the history of programming, people started to “jump to the meta-level” of programming, i.e., started to develop procedures that automate, or semi-automate, (various aspects or parts of) the process of programming. This area has various names like “Automated Programming”, “Automated Algorithm Synthesis”, etc. Developing compilers can be considered an early example of a problem in automated programming. Automated reasoners for proving the correctness of programs with respect to a specification is an advanced example of a topic in automated programming. ChatGPT producing (amazingly good) programs from problem specifications in natural language is a recent example of automated programming. Programming tends to become the most important activity as the level of technological sophistication increases. Therefore, automating programming is maybe the most exciting and relevant technological endeavor today. It also will have enormous impact on the global job market in the software industry. Roughly, I see two main approaches to automated programming:
symbolic computation
and machine learning.
In this note, I explain how the two approaches work and that they are fundamentally different because they address two completely different ways of how problems are specified. Together, the two approaches constitute (part of) what some people like to call “artificial intelligence”. In my analysis, both approaches are just part of (algorithmic) mathematics. The approaches, like all non-trivial mathematical methods, need quite some intelligence on the side of the human inventors of the methods. However, applying the methods is just “machine execution” of algorithms. It is misleading to call the application “machine intelligence” or “artificial intelligence”. The analysis of the two approaches to automated programming also suggests that the two approaches, in the future, should be combined to achieve even higher levels of sophistication. At the end of this note, I propose some research questions for this new direction. |
doi_str_mv | 10.1007/s10472-023-09894-7 |
format | Article |
fullrecord | <record><control><sourceid>gale_proqu</sourceid><recordid>TN_cdi_proquest_journals_2918202874</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><galeid>A770200792</galeid><sourcerecordid>A770200792</sourcerecordid><originalsourceid>FETCH-LOGICAL-c402t-ea87a9f7678d6973fcab95c96eebcf660a31af3c6c0990fda17ffcf795a6c19d3</originalsourceid><addsrcrecordid>eNp9kM1KAzEURgdRsFZfwNWA2069yUyTibtS_IOCLnQdbjNJTZlMajJV-jY-i09mdAR3ksUNl-9cPk6WnROYEgB-GQlUnBZAywJELaqCH2QjMuNlwSsOh-kPhBa0qsrj7CTGDQAIVrNR9jjf9d5hr5t8G_w6oHO2W0_yuHcr31qVK--2ux5767tJ7lC92E7nrcbQpdxV7vafH1sdou-wzd-sfj_Njgy2UZ_9znH2fHP9tLgrlg-394v5slAV0L7QWHMUhjNeN0zw0ihciZkSTOuVMowBlgRNqZgCIcA0SLgxynAxQ6aIaMpxdjHcTbVfdzr2cuN3IbWIkgpSU6A1r1JqOqTW2GppO-P7gCq9RjurfKeNTfs550CTRkETQAdABR9j0EZug3UY9pKA_FYtB9UyqZY_qiVPUDlAMYW7tQ5_Xf6hvgDEcoN2</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2918202874</pqid></control><display><type>article</type><title>Automated programming, symbolic computation, machine learning: my personal view</title><source>SpringerNature Journals</source><source>ProQuest Central UK/Ireland</source><source>ProQuest Central</source><creator>Buchberger, Bruno</creator><creatorcontrib>Buchberger, Bruno</creatorcontrib><description>In this note, I present my personal view on the interaction of the three areas Automated Programming, Symbolic Computation, and Machine Learning. Programming is the activity of finding a (hopefully) correct program (algorithm) for a given problem. Programming is central to automation in all areas and is considered one of the most creative human activities. However, already very early in the history of programming, people started to “jump to the meta-level” of programming, i.e., started to develop procedures that automate, or semi-automate, (various aspects or parts of) the process of programming. This area has various names like “Automated Programming”, “Automated Algorithm Synthesis”, etc. Developing compilers can be considered an early example of a problem in automated programming. Automated reasoners for proving the correctness of programs with respect to a specification is an advanced example of a topic in automated programming. ChatGPT producing (amazingly good) programs from problem specifications in natural language is a recent example of automated programming. Programming tends to become the most important activity as the level of technological sophistication increases. Therefore, automating programming is maybe the most exciting and relevant technological endeavor today. It also will have enormous impact on the global job market in the software industry. Roughly, I see two main approaches to automated programming:
symbolic computation
and machine learning.
In this note, I explain how the two approaches work and that they are fundamentally different because they address two completely different ways of how problems are specified. Together, the two approaches constitute (part of) what some people like to call “artificial intelligence”. In my analysis, both approaches are just part of (algorithmic) mathematics. The approaches, like all non-trivial mathematical methods, need quite some intelligence on the side of the human inventors of the methods. However, applying the methods is just “machine execution” of algorithms. It is misleading to call the application “machine intelligence” or “artificial intelligence”. The analysis of the two approaches to automated programming also suggests that the two approaches, in the future, should be combined to achieve even higher levels of sophistication. At the end of this note, I propose some research questions for this new direction.</description><identifier>ISSN: 1012-2443</identifier><identifier>EISSN: 1573-7470</identifier><identifier>DOI: 10.1007/s10472-023-09894-7</identifier><language>eng</language><publisher>Cham: Springer International Publishing</publisher><subject>Algorithms ; Artificial Intelligence ; Automation ; Complex Systems ; Computation ; Computer Science ; Computer software industry ; Human influences ; Labor market ; Machine learning ; Mathematics ; Mechanization ; Natural language ; Natural language (computers) ; Programming ; Programming languages ; Semantics ; Software industry ; Specifications</subject><ispartof>Annals of mathematics and artificial intelligence, 2023-10, Vol.91 (5), p.569-589</ispartof><rights>The Author(s) 2023</rights><rights>COPYRIGHT 2023 Springer</rights><rights>The Author(s) 2023. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c402t-ea87a9f7678d6973fcab95c96eebcf660a31af3c6c0990fda17ffcf795a6c19d3</citedby><cites>FETCH-LOGICAL-c402t-ea87a9f7678d6973fcab95c96eebcf660a31af3c6c0990fda17ffcf795a6c19d3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10472-023-09894-7$$EPDF$$P50$$Gspringer$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://www.proquest.com/docview/2918202874?pq-origsite=primo$$EHTML$$P50$$Gproquest$$H</linktohtml><link.rule.ids>314,780,784,21388,27924,27925,33744,41488,42557,43805,51319,64385,64389,72469</link.rule.ids></links><search><creatorcontrib>Buchberger, Bruno</creatorcontrib><title>Automated programming, symbolic computation, machine learning: my personal view</title><title>Annals of mathematics and artificial intelligence</title><addtitle>Ann Math Artif Intell</addtitle><description>In this note, I present my personal view on the interaction of the three areas Automated Programming, Symbolic Computation, and Machine Learning. Programming is the activity of finding a (hopefully) correct program (algorithm) for a given problem. Programming is central to automation in all areas and is considered one of the most creative human activities. However, already very early in the history of programming, people started to “jump to the meta-level” of programming, i.e., started to develop procedures that automate, or semi-automate, (various aspects or parts of) the process of programming. This area has various names like “Automated Programming”, “Automated Algorithm Synthesis”, etc. Developing compilers can be considered an early example of a problem in automated programming. Automated reasoners for proving the correctness of programs with respect to a specification is an advanced example of a topic in automated programming. ChatGPT producing (amazingly good) programs from problem specifications in natural language is a recent example of automated programming. Programming tends to become the most important activity as the level of technological sophistication increases. Therefore, automating programming is maybe the most exciting and relevant technological endeavor today. It also will have enormous impact on the global job market in the software industry. Roughly, I see two main approaches to automated programming:
symbolic computation
and machine learning.
In this note, I explain how the two approaches work and that they are fundamentally different because they address two completely different ways of how problems are specified. Together, the two approaches constitute (part of) what some people like to call “artificial intelligence”. In my analysis, both approaches are just part of (algorithmic) mathematics. The approaches, like all non-trivial mathematical methods, need quite some intelligence on the side of the human inventors of the methods. However, applying the methods is just “machine execution” of algorithms. It is misleading to call the application “machine intelligence” or “artificial intelligence”. The analysis of the two approaches to automated programming also suggests that the two approaches, in the future, should be combined to achieve even higher levels of sophistication. At the end of this note, I propose some research questions for this new direction.</description><subject>Algorithms</subject><subject>Artificial Intelligence</subject><subject>Automation</subject><subject>Complex Systems</subject><subject>Computation</subject><subject>Computer Science</subject><subject>Computer software industry</subject><subject>Human influences</subject><subject>Labor market</subject><subject>Machine learning</subject><subject>Mathematics</subject><subject>Mechanization</subject><subject>Natural language</subject><subject>Natural language (computers)</subject><subject>Programming</subject><subject>Programming languages</subject><subject>Semantics</subject><subject>Software industry</subject><subject>Specifications</subject><issn>1012-2443</issn><issn>1573-7470</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><sourceid>C6C</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><recordid>eNp9kM1KAzEURgdRsFZfwNWA2069yUyTibtS_IOCLnQdbjNJTZlMajJV-jY-i09mdAR3ksUNl-9cPk6WnROYEgB-GQlUnBZAywJELaqCH2QjMuNlwSsOh-kPhBa0qsrj7CTGDQAIVrNR9jjf9d5hr5t8G_w6oHO2W0_yuHcr31qVK--2ux5767tJ7lC92E7nrcbQpdxV7vafH1sdou-wzd-sfj_Njgy2UZ_9znH2fHP9tLgrlg-394v5slAV0L7QWHMUhjNeN0zw0ihciZkSTOuVMowBlgRNqZgCIcA0SLgxynAxQ6aIaMpxdjHcTbVfdzr2cuN3IbWIkgpSU6A1r1JqOqTW2GppO-P7gCq9RjurfKeNTfs550CTRkETQAdABR9j0EZug3UY9pKA_FYtB9UyqZY_qiVPUDlAMYW7tQ5_Xf6hvgDEcoN2</recordid><startdate>20231001</startdate><enddate>20231001</enddate><creator>Buchberger, Bruno</creator><general>Springer International Publishing</general><general>Springer</general><general>Springer Nature B.V</general><scope>C6C</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>M7S</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PTHSS</scope></search><sort><creationdate>20231001</creationdate><title>Automated programming, symbolic computation, machine learning: my personal view</title><author>Buchberger, Bruno</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c402t-ea87a9f7678d6973fcab95c96eebcf660a31af3c6c0990fda17ffcf795a6c19d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>Algorithms</topic><topic>Artificial Intelligence</topic><topic>Automation</topic><topic>Complex Systems</topic><topic>Computation</topic><topic>Computer Science</topic><topic>Computer software industry</topic><topic>Human influences</topic><topic>Labor market</topic><topic>Machine learning</topic><topic>Mathematics</topic><topic>Mechanization</topic><topic>Natural language</topic><topic>Natural language (computers)</topic><topic>Programming</topic><topic>Programming languages</topic><topic>Semantics</topic><topic>Software industry</topic><topic>Specifications</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Buchberger, Bruno</creatorcontrib><collection>Springer Nature OA/Free Journals</collection><collection>CrossRef</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science & Engineering Collection</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Advanced Technologies & Aerospace Database</collection><collection>ProQuest Advanced Technologies & Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>Engineering Collection</collection><jtitle>Annals of mathematics and artificial intelligence</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Buchberger, Bruno</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Automated programming, symbolic computation, machine learning: my personal view</atitle><jtitle>Annals of mathematics and artificial intelligence</jtitle><stitle>Ann Math Artif Intell</stitle><date>2023-10-01</date><risdate>2023</risdate><volume>91</volume><issue>5</issue><spage>569</spage><epage>589</epage><pages>569-589</pages><issn>1012-2443</issn><eissn>1573-7470</eissn><abstract>In this note, I present my personal view on the interaction of the three areas Automated Programming, Symbolic Computation, and Machine Learning. Programming is the activity of finding a (hopefully) correct program (algorithm) for a given problem. Programming is central to automation in all areas and is considered one of the most creative human activities. However, already very early in the history of programming, people started to “jump to the meta-level” of programming, i.e., started to develop procedures that automate, or semi-automate, (various aspects or parts of) the process of programming. This area has various names like “Automated Programming”, “Automated Algorithm Synthesis”, etc. Developing compilers can be considered an early example of a problem in automated programming. Automated reasoners for proving the correctness of programs with respect to a specification is an advanced example of a topic in automated programming. ChatGPT producing (amazingly good) programs from problem specifications in natural language is a recent example of automated programming. Programming tends to become the most important activity as the level of technological sophistication increases. Therefore, automating programming is maybe the most exciting and relevant technological endeavor today. It also will have enormous impact on the global job market in the software industry. Roughly, I see two main approaches to automated programming:
symbolic computation
and machine learning.
In this note, I explain how the two approaches work and that they are fundamentally different because they address two completely different ways of how problems are specified. Together, the two approaches constitute (part of) what some people like to call “artificial intelligence”. In my analysis, both approaches are just part of (algorithmic) mathematics. The approaches, like all non-trivial mathematical methods, need quite some intelligence on the side of the human inventors of the methods. However, applying the methods is just “machine execution” of algorithms. It is misleading to call the application “machine intelligence” or “artificial intelligence”. The analysis of the two approaches to automated programming also suggests that the two approaches, in the future, should be combined to achieve even higher levels of sophistication. At the end of this note, I propose some research questions for this new direction.</abstract><cop>Cham</cop><pub>Springer International Publishing</pub><doi>10.1007/s10472-023-09894-7</doi><tpages>21</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1012-2443 |
ispartof | Annals of mathematics and artificial intelligence, 2023-10, Vol.91 (5), p.569-589 |
issn | 1012-2443 1573-7470 |
language | eng |
recordid | cdi_proquest_journals_2918202874 |
source | SpringerNature Journals; ProQuest Central UK/Ireland; ProQuest Central |
subjects | Algorithms Artificial Intelligence Automation Complex Systems Computation Computer Science Computer software industry Human influences Labor market Machine learning Mathematics Mechanization Natural language Natural language (computers) Programming Programming languages Semantics Software industry Specifications |
title | Automated programming, symbolic computation, machine learning: my personal view |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-21T13%3A17%3A44IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-gale_proqu&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Automated%20programming,%20symbolic%20computation,%20machine%20learning:%20my%C2%A0personal%20view&rft.jtitle=Annals%20of%20mathematics%20and%20artificial%20intelligence&rft.au=Buchberger,%20Bruno&rft.date=2023-10-01&rft.volume=91&rft.issue=5&rft.spage=569&rft.epage=589&rft.pages=569-589&rft.issn=1012-2443&rft.eissn=1573-7470&rft_id=info:doi/10.1007/s10472-023-09894-7&rft_dat=%3Cgale_proqu%3EA770200792%3C/gale_proqu%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2918202874&rft_id=info:pmid/&rft_galeid=A770200792&rfr_iscdi=true |