{"id":656,"date":"2023-06-17T14:40:38","date_gmt":"2023-06-17T12:40:38","guid":{"rendered":"https:\/\/naupacte.com\/?p=656"},"modified":"2023-06-17T17:24:09","modified_gmt":"2023-06-17T15:24:09","slug":"wikipedia-derivation_automatique","status":"publish","type":"post","link":"https:\/\/naupacte.com\/index.php\/2023\/06\/17\/wikipedia-derivation_automatique\/","title":{"rendered":"Selon Wikipedia, la d\u00e9rivation automatique est algorithmique!"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>En <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Math%C3%A9matiques\">math\u00e9matique<\/a> et en <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Calcul_formel\">calcul formel<\/a>, la <strong>d\u00e9rivation automatique<\/strong> (DA), \u00e9galement appel\u00e9 <strong>d\u00e9rivation algorithmique<\/strong>, <strong>d\u00e9rivation formelle<\/strong><sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/D%C3%A9rivation_automatique#cite_note-1\">1<\/a>,<a href=\"https:\/\/fr.wikipedia.org\/wiki\/D%C3%A9rivation_automatique#cite_note-baydin2018automatic-2\">2<\/a><\/sup>, ou <strong>auto-d\u00e9rivation<\/strong> est un ensemble de techniques d&#8217;\u00e9valuation de la <a href=\"https:\/\/fr.wikipedia.org\/wiki\/D%C3%A9riv%C3%A9e\">d\u00e9riv\u00e9e<\/a> d&#8217;une fonction par un programme informatique.<\/p>\n<cite>https:\/\/fr.wikipedia.org\/wiki\/D\u00e9rivation_automatique<\/cite><\/blockquote>\n\n\n\n<p>Relevons d&#8217;abord une faute par rapport \u00e0 l&#8217;anglais qui parle de la d\u00e9riv\u00e9e d&#8217;une fonction <em>sp\u00e9cifi\u00e9e<\/em> par un programme informatique. Le mot &#8220;sp\u00e9cifi\u00e9e&#8221; \u00e9tant absent de la version fran\u00e7aise, le programme informatique s&#8217;entend comme l&#8217;outil contenant les techniques d&#8217;\u00e9valuation de la d\u00e9riv\u00e9e. La diff\u00e9rence est de taille, mais dans les deux versions l&#8217;incoh\u00e9rence r\u00e8gne.<\/p>\n\n\n\n<p>S&#8217;il s&#8217;agit de calcul formel au sens usuel, la fonction est donn\u00e9e non sous la forme d&#8217;un programme imp\u00e9ratif mais d&#8217;une expression formelle et on parle de d\u00e9rivation symbolique. Sinon, il s&#8217;agit de la d\u00e9rivation d&#8217;un programme, c&#8217;est-\u00e0-dire de d\u00e9rivation algorithmique. Cependant, un programme peut \u00eatre vu comme une expression particuli\u00e8re de type proc\u00e9dure, prenant comme entr\u00e9es les param\u00e8tres et le corps de la fonction; et r\u00e9ciproquement, une expression peut \u00eatre transform\u00e9e en proc\u00e9dure selon un m\u00e9canisme d&#8217;\u00e9valuation (cf. l&#8217;article Computer_algebra de Wikipedia, section Expressions, paragraphe 2).<\/p>\n\n\n\n<p>Pour r\u00e9sumer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la d\u00e9rivation algorithmique est une d\u00e9rivation formelle op\u00e9rant sur les expressions que constituent les \u00e9l\u00e9ments d&#8217;un programme.<\/li>\n\n\n\n<li>la d\u00e9rivation symbolique est une d\u00e9rivation formelle op\u00e9rant sur les expressions math\u00e9matiques classiques.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">&#8230; et synonyme de d\u00e9rivation formelle !!!<\/h2>\n\n\n\n<p>L&#8217;article se restreint aux <em>math\u00e9matiques<\/em> et au <em>calcul formel<\/em>. Ne sachant pas ce qu&#8217;est une d\u00e9rivation <em>automatique<\/em> en math\u00e9matiques, on arrive au calcul formel et dans ce cadre, certes, la d\u00e9rivation automatique est formelle! La boucle est-elle boucl\u00e9e? Non, on y adjoint le terme auto-d\u00e9rivation. L&#8217;auto-d\u00e9rision serait-elle une d\u00e9rision automatique? D\u00e9cid\u00e9ment, ce premier paragraphe est \u00e0 revoir. H\u00e9las, le deuxi\u00e8me le conforte en une auto-satisfaction <s>automatique<\/s>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#8230;mais diff\u00e9rente de la d\u00e9rivation symbolique et de la d\u00e9rivation num\u00e9rique<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>La d\u00e9rivation automatique est distincte de la <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Calcul_formel\">d\u00e9rivation symbolique<\/a> et de la d\u00e9rivation num\u00e9rique (m\u00e9thode des diff\u00e9rences finies).<\/p>\n<\/blockquote>\n\n\n\n<p>La d\u00e9rivation symbolique est <em>une<\/em> d\u00e9rivation automatique: sinon, je ne sais pas de quoi on parle, si ce n&#8217;est du lyc\u00e9en sur ses exercices.<\/p>\n\n\n\n<p>La d\u00e9rivation num\u00e9rique n&#8217;est pas automatiquement automatique mais sans doute la m\u00e9thode la plus facilement automatisable. Et m\u00eame elle devient, en abusant quelque peu, une d\u00e9rivation algorithmique au grain le plus grossier&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ces deux m\u00e9thodes ne sont d\u00e9finies que par leurs d\u00e9fauts<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>La d\u00e9rivation symbolique peut conduire \u00e0 un code inefficace et se heurte \u00e0 la difficult\u00e9 de convertir un programme informatique en une seule expression, tandis que la d\u00e9rivation num\u00e9rique peut introduire des <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Erreur_d%27arrondi\">erreurs d&#8217;arrondi<\/a> lors de la <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Discr%C3%A9tisation\">discr\u00e9tisation<\/a> et de l&#8217;annulation. Ces deux m\u00e9thodes classiques ont par ailleurs des probl\u00e8mes lors du calcul de d\u00e9riv\u00e9es d&#8217;ordre plus \u00e9lev\u00e9es, car la complexit\u00e9 et\/ou les erreurs augmentent. Enfin, ces deux m\u00e9thodes sont lentes pour calculer les d\u00e9riv\u00e9es partielles d&#8217;une fonction lorsque cette derni\u00e8re d\u00e9pend de nombreuses variables, comme cela est n\u00e9cessaire pour les algorithmes d&#8217;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Optimisation_(math%C3%A9matiques)\">optimisation<\/a> par <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_du_gradient\">descente de gradient<\/a>.<\/p>\n<cite>Idem<\/cite><\/blockquote>\n\n\n\n<p>En quoi ces d\u00e9fauts emp\u00eachent-ils une m\u00e9thode d&#8217;\u00eatre automatique? Conduire \u00e0 un code inefficace, c&#8217;est d\u00e9j\u00e0 arriver \u00e0 un code!<\/p>\n\n\n\n<p>Les id\u00e9es pr\u00e9sent\u00e9es m\u00e9riteraient d&#8217;\u00eatre d\u00e9velopp\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#8230; et la d\u00e9rivation automatique r\u00e9sout tous ces probl\u00e8mes (sic)<\/h2>\n\n\n\n<p>Tout est dit dans ce titre, qui est la conclusion du deuxi\u00e8me paragraphe!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ma conclusion: une entr\u00e9e Wikipedia pour la d\u00e9rivation <em>algorithmique<\/em><\/h2>\n\n\n\n<p>Il faut redonner au terme automatique son sens usuel: automatique ne signifie pas algorithmique, sauf abusivement dans un contexte sp\u00e9cial. La d\u00e9rivation algorithmique est une d\u00e9rivation automatique <em>de code<\/em>. Il faut pr\u00e9senter les autres d\u00e9rivations automatiques et montrer en quoi elles se distinguent, notamment leurs avantages et leurs inconv\u00e9nients, et renvoyer \u00e0 un article sp\u00e9cial pour la d\u00e9rivation algorithmique, en \u00e9vitant donc ce double biais: une \u00e9quivalence usurp\u00e9e avec une m\u00e9thode et la rel\u00e9gation des m\u00e9thodes concurrentes.<\/p>\n\n\n\n<p>L&#8217;article n&#8217;est pas seul en cause: rechercher &#8220;algorithmic differentiation&#8221; ou &#8220;computational differentiation&#8221; sur Wikipedia donne &#8220;Automatic_differentiation&#8221;. C&#8217;est \u00e9quivalent, vous dit-on.<\/p>\n\n\n\n<p>On doit s&#8217;appuyer sur le sch\u00e9ma pertinent faisant intervenir la d\u00e9rivation symbolique et la d\u00e9rivation algorithmique et le d\u00e9tailler. <em>Cf. bouton ci-dessous<\/em>.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">simulation num\u00e9rique et d\u00e9rivation automatique<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>En math\u00e9matique et en calcul formel, la d\u00e9rivation automatique (DA), \u00e9galement appel\u00e9 d\u00e9rivation algorithmique, d\u00e9rivation formelle1,2, ou auto-d\u00e9rivation est un ensemble de techniques d&#8217;\u00e9valuation de la d\u00e9riv\u00e9e d&#8217;une fonction par un programme informatique. https:\/\/fr.wikipedia.org\/wiki\/D\u00e9rivation_automatique Relevons d&#8217;abord une faute par rapport \u00e0 l&#8217;anglais qui parle de la d\u00e9riv\u00e9e d&#8217;une fonction sp\u00e9cifi\u00e9e par un programme informatique. Le mot &#8220;sp\u00e9cifi\u00e9e&#8221; \u00e9tant absent de la version fran\u00e7aise, le programme informatique s&#8217;entend comme l&#8217;outil contenant les techniques d&#8217;\u00e9valuation de la d\u00e9riv\u00e9e. La diff\u00e9rence est de taille, mais dans les deux versions l&#8217;incoh\u00e9rence r\u00e8gne. S&#8217;il s&#8217;agit de calcul formel au sens usuel, la fonction est donn\u00e9e non sous la forme d&#8217;un programme imp\u00e9ratif mais d&#8217;une expression formelle et on parle de d\u00e9rivation symbolique. Sinon, il s&#8217;agit de la d\u00e9rivation d&#8217;un programme, c&#8217;est-\u00e0-dire de d\u00e9rivation algorithmique. Cependant, un programme peut \u00eatre vu comme une expression particuli\u00e8re de type proc\u00e9dure, prenant comme entr\u00e9es les param\u00e8tres et le corps de la fonction; et r\u00e9ciproquement, une expression peut \u00eatre transform\u00e9e en proc\u00e9dure selon un m\u00e9canisme d&#8217;\u00e9valuation (cf. l&#8217;article Computer_algebra de Wikipedia, section Expressions, paragraphe 2). Pour r\u00e9sumer: &#8230; et synonyme de d\u00e9rivation formelle !!! L&#8217;article se restreint aux math\u00e9matiques et au calcul formel. Ne sachant pas ce qu&#8217;est une d\u00e9rivation automatique en math\u00e9matiques, on arrive au calcul formel et dans ce cadre, certes, la d\u00e9rivation automatique est formelle! La boucle est-elle boucl\u00e9e? Non, on y adjoint le terme auto-d\u00e9rivation. L&#8217;auto-d\u00e9rision serait-elle une d\u00e9rision automatique? D\u00e9cid\u00e9ment, ce premier paragraphe est \u00e0 revoir. H\u00e9las, le deuxi\u00e8me le conforte en une auto-satisfaction automatique. &#8230;mais diff\u00e9rente de la d\u00e9rivation symbolique et de la d\u00e9rivation num\u00e9rique La d\u00e9rivation automatique est distincte de la d\u00e9rivation symbolique et de la d\u00e9rivation num\u00e9rique (m\u00e9thode des diff\u00e9rences finies). La d\u00e9rivation symbolique est une d\u00e9rivation automatique: sinon, je ne sais pas de quoi on parle, si ce n&#8217;est du lyc\u00e9en sur ses exercices. La d\u00e9rivation num\u00e9rique n&#8217;est pas automatiquement automatique mais sans doute la m\u00e9thode la plus facilement automatisable. Et m\u00eame elle devient, en abusant quelque peu, une d\u00e9rivation algorithmique au grain le plus grossier&#8230; Ces deux m\u00e9thodes ne sont d\u00e9finies que par leurs d\u00e9fauts La d\u00e9rivation symbolique peut conduire \u00e0 un code inefficace et se heurte \u00e0 la difficult\u00e9 de convertir un programme informatique en une seule expression, tandis que la d\u00e9rivation num\u00e9rique peut introduire des erreurs d&#8217;arrondi lors de la discr\u00e9tisation et de l&#8217;annulation. Ces deux m\u00e9thodes classiques ont par ailleurs des probl\u00e8mes lors du calcul de d\u00e9riv\u00e9es d&#8217;ordre plus \u00e9lev\u00e9es, car la complexit\u00e9 et\/ou les erreurs augmentent. Enfin, ces deux m\u00e9thodes sont lentes pour calculer les d\u00e9riv\u00e9es partielles d&#8217;une fonction lorsque cette derni\u00e8re d\u00e9pend de nombreuses variables, comme cela est n\u00e9cessaire pour les algorithmes d&#8217;optimisation par descente de gradient. Idem En quoi ces d\u00e9fauts emp\u00eachent-ils une m\u00e9thode d&#8217;\u00eatre automatique? Conduire \u00e0 un code inefficace, c&#8217;est d\u00e9j\u00e0 arriver \u00e0 un code! Les id\u00e9es pr\u00e9sent\u00e9es m\u00e9riteraient d&#8217;\u00eatre d\u00e9velopp\u00e9es. &#8230; et la d\u00e9rivation automatique r\u00e9sout tous ces probl\u00e8mes (sic) Tout est dit dans ce titre, qui est la conclusion du deuxi\u00e8me paragraphe! Ma conclusion: une entr\u00e9e Wikipedia pour la d\u00e9rivation algorithmique Il faut redonner au terme automatique son sens usuel: automatique ne signifie pas algorithmique, sauf abusivement dans un contexte sp\u00e9cial. La d\u00e9rivation algorithmique est une d\u00e9rivation automatique de code. Il faut pr\u00e9senter les autres d\u00e9rivations automatiques et montrer en quoi elles se distinguent, notamment leurs avantages et leurs inconv\u00e9nients, et renvoyer \u00e0 un article sp\u00e9cial pour la d\u00e9rivation algorithmique, en \u00e9vitant donc ce double biais: une \u00e9quivalence usurp\u00e9e avec une m\u00e9thode et la rel\u00e9gation des m\u00e9thodes concurrentes. L&#8217;article n&#8217;est pas seul en cause: rechercher &#8220;algorithmic differentiation&#8221; ou &#8220;computational differentiation&#8221; sur Wikipedia donne &#8220;Automatic_differentiation&#8221;. C&#8217;est \u00e9quivalent, vous dit-on. On doit s&#8217;appuyer sur le sch\u00e9ma pertinent faisant intervenir la d\u00e9rivation symbolique et la d\u00e9rivation algorithmique et le d\u00e9tailler. Cf. bouton ci-dessous.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[],"class_list":["post-656","post","type-post","status-publish","format-standard","hentry","category-programmation"],"_links":{"self":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts\/656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/comments?post=656"}],"version-history":[{"count":5,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts\/656\/revisions"}],"predecessor-version":[{"id":674,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts\/656\/revisions\/674"}],"wp:attachment":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/media?parent=656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/categories?post=656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/tags?post=656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}