{"id":4579,"date":"2023-09-18T20:08:56","date_gmt":"2023-09-18T18:08:56","guid":{"rendered":"https:\/\/sites.ac-corse.fr\/maths\/?page_id=4579"},"modified":"2023-11-27T11:54:47","modified_gmt":"2023-11-27T10:54:47","slug":"presentation-de-lequation-de-bellman","status":"publish","type":"page","link":"https:\/\/sites.ac-corse.fr\/maths\/presentation-de-lequation-de-bellman\/","title":{"rendered":"Pr\u00e9sentation de l\u2019\u00e9quation de Bellman"},"content":{"rendered":"\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.ac-corse.fr\/maths\/labo-ia\/\">Cors&rsquo;IA<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.ac-corse.fr\/maths\/apprentissage-renforcement\/\">Apprentissage par renforcement<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.ac-corse.fr\/maths\/apprentissage-supervise\/\">Apprentissage supervis\u00e9<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator aligncenter has-alpha-channel-opacity is-style-wide\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"409\" src=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/bellman.png\" alt=\"\" class=\"wp-image-4581\" srcset=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/bellman.png 660w, https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/bellman-300x186.png 300w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">\u00c9tats et Actions<\/h3>\n\n\n\n<p>En apprentissage par renforcement, l&rsquo;<strong>\u00e9quation de Bellman<\/strong>&nbsp;d\u00e9crit une fa\u00e7on de&nbsp;<strong>r\u00e9compenser<\/strong>&nbsp;un agent suite \u00e0 une action.<\/p>\n\n\n\n<p>Avant tout, il est n\u00e9cessaire de comprendre que dans un&nbsp;<strong>environnement<\/strong>&nbsp;donn\u00e9, on d\u00e9finit :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>des&nbsp;<strong>\u00e9tats<\/strong>&nbsp;: ce sont les diff\u00e9rentes configurations de l&rsquo;environnement. Par exemple, si on consid\u00e8re une grille de jeu de morpion (notre environnement), alors les \u00e9tats sont les diff\u00e9rents arrangements possibles de croix et de ronds.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"577\" src=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/morpion1.png\" alt=\"\" class=\"wp-image-4583\" srcset=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/morpion1.png 566w, https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/morpion1-294x300.png 294w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"584\" height=\"570\" src=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/morpion2.png\" alt=\"\" class=\"wp-image-4584\" srcset=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/morpion2.png 584w, https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/09\/morpion2-300x293.png 300w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><em>Deux \u00e9tats diff\u00e9rents au morpion<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>G\u00e9n\u00e9ralement, on associe \u00e0 chaque \u00e9tat un nombre entier, de 1 \u00e0 N (nombre total d&rsquo;\u00e9tats).<br>Au morpion, il y a th\u00e9oriquement N = 3<sup>9<\/sup>&nbsp;= 19683 \u00e9tats, mais certains n&rsquo;apparaissent jamais, comme une grille remplie de ronds.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>des&nbsp;<strong>actions<\/strong>&nbsp;: ce sont les choix possibles, quel que soit l&rsquo;\u00e9tat consid\u00e9r\u00e9. Au morpion, en consid\u00e9rant le joueur qui place les croix, il y a donc 9 actions possibles, une pour chaque case de la grille. Certaines actions m\u00e8nent \u00e0 la victoire ou \u00e0 la d\u00e9faite, d&rsquo;autres font simplement progresser le jeu. Une action \u00ab\u00a0impossible\u00a0\u00bb, comme jouer sur une case d\u00e9j\u00e0 occup\u00e9e, am\u00e8nera \u00e0 la d\u00e9faite.<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Un tableau de scores : la&nbsp;<em>Q-Table<\/em><\/h3>\n\n\n\n<p>Pour choisir quelle action effectuer dans un \u00e9tat donn\u00e9, on utilise un tableau de scores, appel\u00e9&nbsp;<em>Q-table<\/em>&nbsp;(<em>Q<\/em>&nbsp;pour&nbsp;<em>Qualit\u00e9<\/em>) : c&rsquo;est un tableau \u00e0 double entr\u00e9e qui, \u00e0 chaque paire (\u00e9tat , action) associe un score, positif ou n\u00e9gatif.<\/p>\n\n\n\n<p>Dans un \u00e9tat donn\u00e9, on choisira alors l&rsquo;action avec le plus grand score.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"310\" src=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/11\/Q-Table2.png\" alt=\"\" class=\"wp-image-5038\" srcset=\"https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/11\/Q-Table2.png 753w, https:\/\/sites.ac-corse.fr\/maths\/wp-content\/uploads\/sites\/18\/2023\/11\/Q-Table2-300x124.png 300w\" sizes=\"auto, (max-width: 753px) 100vw, 753px\" \/><\/figure>\n<\/div>\n\n\n<p>Dans cet exemple, on voit que les actions menant \u00e0 une victoire sont mieux r\u00e9compens\u00e9es que les autres. Quant aux actions \u00ab\u00a0interdites\u00a0\u00bb, elles sont fortement punies par un score n\u00e9gatif.<\/p>\n\n\n\n<p>Dans le cas du morpion, la&nbsp;<em>Q-Table<\/em>&nbsp;contient au plus 3<sup>9<\/sup>&nbsp;x 9 = 177 147 cases. C&rsquo;est beaucoup pour un humain, mais pas pour un ordinateur.<br>Cependant, dans le cas d&rsquo;un jeu comme le puissance 4, il y a 7 actions possibles et un maximum th\u00e9orique de 3<sup>42<\/sup>&nbsp;\u00e9tats, soit une&nbsp;<em>Q-Table<\/em>&nbsp;contenant au maximum 3<sup>42<\/sup>&nbsp;x 7 = 765932923920586514463 cases !<\/p>\n\n\n\n<p>Le probl\u00e8me qui se pose alors est : comment remplir correctement et efficacement la Q-Table ? C&rsquo;est l\u00e0 qu&rsquo;intervient l&rsquo;<strong>\u00e9quation de Bellman<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Q-Table et \u00e9quation de Bellman<\/h3>\n\n\n<p><math display=\"block\">\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n  <mo stretchy=\"false\">&#x2190;<\/mo>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n  <mo>+<\/mo>\n  <mi>&#x3B1;<\/mi>\n  <mrow>\n    <mo>(<\/mo>\n    <mi>R<\/mi>\n    <mo>+<\/mo>\n    <mi>&#x3B3;<\/mi>\n    <mrow>\n      <mo>(<\/mo>\n      <mi>m<\/mi>\n      <mi>a<\/mi>\n      <msub>\n        <mi>x<\/mi>\n        <mrow class=\"MJX-TeXAtom-ORD\">\n          <msup>\n            <mi>a<\/mi>\n            <mo>&#x2032;<\/mo>\n          <\/msup>\n        <\/mrow>\n      <\/msub>\n      <mi>Q<\/mi>\n      <mo stretchy=\"false\">(<\/mo>\n      <msup>\n        <mi>s<\/mi>\n        <mo>&#x2032;<\/mo>\n      <\/msup>\n      <mo>,<\/mo>\n      <msup>\n        <mi>a<\/mi>\n        <mo>&#x2032;<\/mo>\n      <\/msup>\n      <mo stretchy=\"false\">)<\/mo>\n      <mo>&#x2212;<\/mo>\n      <mi>Q<\/mi>\n      <mo stretchy=\"false\">(<\/mo>\n      <mi>s<\/mi>\n      <mo>,<\/mo>\n      <mi>a<\/mi>\n      <mo stretchy=\"false\">)<\/mo>\n      <mo>)<\/mo>\n    <\/mrow>\n    <mo>)<\/mo>\n  <\/mrow>\n<\/math><\/p>\n\n\n\n<p>Quelques explications s&rsquo;imposent :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><math>\n  <mi>s<\/mi>\n<\/math> repr\u00e9sente un \u00e9tat, <math>\n  <mi>a<\/mi>\n<\/math> une action et <math>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n<\/math> le score associ\u00e9 au couple (\u00e9tat, action)<\/li>\n\n\n\n<li><math>   <mi>\u03b1<\/mi> <\/math> et <math>   <mi>\u03b3<\/mi> <\/math> sont des param\u00e8tres d&rsquo;apprentissage, nomm\u00e9s respectivement la vitesse d&rsquo;apprentissage et le facteur d&rsquo;actualisation<\/li>\n\n\n\n<li>R est la r\u00e9compense associ\u00e9e \u00e0 l&rsquo;action&nbsp;<math><mi>a<\/mi><\/math>&nbsp;dans l&rsquo;\u00e9tat&nbsp;<math><mi>s<\/mi><\/math>, et prend en g\u00e9n\u00e9ral au moins 3 valeurs :\n<ul class=\"wp-block-list\">\n<li>une valeur en cas de victoire, comme +10<\/li>\n\n\n\n<li>une valeur en cas de d\u00e9faite, comme -10<\/li>\n\n\n\n<li>une valeur par d\u00e9faut, lorsque le jeu continue, comme -1<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><math>   <mi>m<\/mi>   <mi>a<\/mi>   <msub>     <mi>x<\/mi>     <mrow class=\"MJX-TeXAtom-ORD\">       <msup>         <mi>a<\/mi>         <mo>\u2032<\/mo>       <\/msup>     <\/mrow>   <\/msub>   <mi>Q<\/mi>   <mo stretchy=\"false\">(<\/mo>   <msup>     <mi>s<\/mi>     <mo>\u2032<\/mo>   <\/msup>   <mo>,<\/mo>   <msup>     <mi>a<\/mi>     <mo>\u2032<\/mo>   <\/msup>   <mo stretchy=\"false\">)<\/mo> <\/math> repr\u00e9sente le score maximum que l&rsquo;on peut obtenir depuis l&rsquo;\u00e9tat&nbsp;<math><msup><mi>s<\/mi>     <mo>\u2032<\/mo><\/msup><\/math>, suivant l&rsquo;\u00e9tat&nbsp;<math><mi>s<\/mi><\/math>&nbsp; apr\u00e8s l&rsquo;action&nbsp;<math><mi>a<\/mi><\/math>.<\/li>\n<\/ul>\n\n\n\n<p>On peut r\u00e9\u00e9crire cette \u00e9quation de la fa\u00e7on suivante :<\/p>\n\n\n<p><math display=\"block\">\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n  <mo stretchy=\"false\">&#x2190;<\/mo>\n  <mo stretchy=\"false\">(<\/mo>\n  <mn>1<\/mn>\n  <mo>&#x2212;<\/mo>\n  <mi>&#x3B1;<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n  <mo>&#xD7;<\/mo>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n  <mo>+<\/mo>\n  <mi>&#x3B1;<\/mi>\n  <mo>&#xD7;<\/mo>\n  <mi>R<\/mi>\n  <mo>+<\/mo>\n  <mi>&#x3B1;<\/mi>\n  <mi>&#x3B3;<\/mi>\n  <mo>&#xD7;<\/mo>\n  <mi>m<\/mi>\n  <mi>a<\/mi>\n  <msub>\n    <mi>x<\/mi>\n    <mrow class=\"MJX-TeXAtom-ORD\">\n      <msup>\n        <mi>a<\/mi>\n        <mo>&#x2032;<\/mo>\n      <\/msup>\n    <\/mrow>\n  <\/msub>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <msup>\n    <mi>s<\/mi>\n    <mo>&#x2032;<\/mo>\n  <\/msup>\n  <mo>,<\/mo>\n  <msup>\n    <mi>a<\/mi>\n    <mo>&#x2032;<\/mo>\n  <\/msup>\n  <mo stretchy=\"false\">)<\/mo>\n<\/math><\/p>\n\n\n\n<p>Un cas particulier est celui o\u00f9&nbsp;<math>   <mi>\u03b1<\/mi>   <mo>=<\/mo>   <mn>1<\/mn> <\/math>&nbsp;: on \u00ab\u00a0oublie\u00a0\u00bb le score pr\u00e9c\u00e9dent <math>   <mi>Q<\/mi>   <mo stretchy=\"false\">(<\/mo>   <mi>s<\/mi>   <mo>,<\/mo>   <mi>a<\/mi>   <mo stretchy=\"false\">)<\/mo> <\/math>, et on met \u00e0 jour la&nbsp;<em>Q-Table<\/em>&nbsp;uniquement avec la r\u00e9compense&nbsp;&nbsp;R et le score \u00ab\u00a0futur\u00a0\u00bb maximum&nbsp;&nbsp;:<\/p>\n\n\n<p><math display=\"block\">\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n  <mo stretchy=\"false\">&#x2190;<\/mo>\n  <mi>R<\/mi>\n  <mo>+<\/mo>\n  <mi>&#x3B3;<\/mi>\n  <mo>&#xD7;<\/mo>\n  <mi>m<\/mi>\n  <mi>a<\/mi>\n  <msub>\n    <mi>x<\/mi>\n    <mrow class=\"MJX-TeXAtom-ORD\">\n      <msup>\n        <mi>a<\/mi>\n        <mo>&#x2032;<\/mo>\n      <\/msup>\n    <\/mrow>\n  <\/msub>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <msup>\n    <mi>s<\/mi>\n    <mo>&#x2032;<\/mo>\n  <\/msup>\n  <mo>,<\/mo>\n  <msup>\n    <mi>a<\/mi>\n    <mo>&#x2032;<\/mo>\n  <\/msup>\n  <mo stretchy=\"false\">)<\/mo>\n<\/math><\/p>\n\n\n\n<p>Avec cette derni\u00e8re formule, on voit bien le r\u00f4le de <math>\n  <mtext>&nbsp;<\/mtext>\n  <mi>m<\/mi>\n  <mi>a<\/mi>\n  <msub>\n    <mi>x<\/mi>\n    <mrow class=\"MJX-TeXAtom-ORD\">\n      <msup>\n        <mi>a<\/mi>\n        <mo>\u2032<\/mo>\n      <\/msup>\n    <\/mrow>\n  <\/msub>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <msup>\n    <mi>s<\/mi>\n    <mo>\u2032<\/mo>\n  <\/msup>\n  <mo>,<\/mo>\n  <msup>\n    <mi>a<\/mi>\n    <mo>\u2032<\/mo>\n  <\/msup>\n  <mo stretchy=\"false\">)<\/mo>\n<\/math> : plus l&rsquo;\u00e9tat <math>\n  <msup>\n    <mi>s<\/mi>\n    <mo>\u2032<\/mo>\n  <\/msup>\n<\/math> est int\u00e9ressant pour gagner, plus ce maximum sera grand et la valeur de <math>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n<\/math> augment\u00e9e en cons\u00e9quence, indiquant qu&rsquo;effectuer l&rsquo;action <math>\n  <mi>a<\/mi>\n<\/math> dans l&rsquo;\u00e9tat <math>\n  <mi>s<\/mi>\n<\/math> est une bonne solution. Inversement, moins cet \u00e9tat est int\u00e9ressant et moins <math>\n  <mi>Q<\/mi>\n  <mo stretchy=\"false\">(<\/mo>\n  <mi>s<\/mi>\n  <mo>,<\/mo>\n  <mi>a<\/mi>\n  <mo stretchy=\"false\">)<\/mo>\n<\/math> augmentera.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c9tats et Actions En apprentissage par renforcement, l&rsquo;\u00e9quation de Bellman&nbsp;d\u00e9crit une fa\u00e7on de&nbsp;r\u00e9compenser&nbsp;un agent suite \u00e0 une action. Avant tout, il est n\u00e9cessaire de comprendre que dans un&nbsp;environnement&nbsp;donn\u00e9, on d\u00e9finit : Deux \u00e9tats diff\u00e9rents au morpion G\u00e9n\u00e9ralement, on associe \u00e0 chaque \u00e9tat un nombre entier, de 1 \u00e0 N (nombre total d&rsquo;\u00e9tats).Au morpion, il y [&hellip;]<\/p>\n","protected":false},"author":90,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4579","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/pages\/4579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/users\/90"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/comments?post=4579"}],"version-history":[{"count":40,"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/pages\/4579\/revisions"}],"predecessor-version":[{"id":5039,"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/pages\/4579\/revisions\/5039"}],"wp:attachment":[{"href":"https:\/\/sites.ac-corse.fr\/maths\/wp-json\/wp\/v2\/media?parent=4579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}