{"id":140,"date":"2022-03-20T19:49:51","date_gmt":"2022-03-20T18:49:51","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/mathsinfo\/?page_id=140"},"modified":"2023-06-01T12:30:14","modified_gmt":"2023-06-01T11:30:14","slug":"et-rpl-exo-robinson","status":"publish","type":"page","link":"https:\/\/blog.univ-angers.fr\/mathsinfo\/et-rpl-exo-robinson\/","title":{"rendered":"et RPL : Exo Robinson"},"content":{"rendered":"<p><strong>Suite de Robinson<\/strong><\/p>\n<blockquote><p><a href=\"http:\/\/fr.wikipedia.org\/wiki\/Suite_de_Robinson\">Suites de Robinson<\/a>&nbsp;: suite math\u00e9matique dont chaque terme se d\u00e9termine en comptant combien de fois chaque chiffre appara\u00eet dans le terme pr\u00e9c\u00e9dent.<\/p><\/blockquote>\n<p>Je renvoie vers&nbsp;<a href=\"http:\/\/www.silicium.org\/forum\/viewtopic.php?f=46&amp;t=31318\">Misez p&rsquo;tit, Optimisez &#8211; N\u00b015 (le jour des fourmis)<\/a>&nbsp;pour plus d&rsquo;explications sur cette suite.<\/p>\n<p><span style=\"text-decoration: underline\">En APL<\/span> :<\/p>\n<pre>ROB \u2190 {\u2283 (+\u233f \u2375 \u2218.\u220a n) ,., n \u2190 \u222a\u2375}\nROB&nbsp;0\nOutput : 1 0        \u235d Il y a 1 z\u00e9ro\nROB&nbsp;1 0\nOutput : 1 1 1 0    \u235d 1 un et 1 z\u00e9ro\n(ROB \u2363 10) 0         \u235d Pour r\u00e9p\u00e9ter 10 fois\nOutput : 3 3 2 2 1 4 3 1 1 0<\/pre>\n<p><span style=\"text-decoration: underline\">Explications<\/span> :<\/p>\n<p>\u222a\u2375 : On r\u00e9cup\u00e8re les valeurs uniques du vecteur<br>\n\u2375 \u2218.\u220a n : Matrice pour les tests d&rsquo;appartenance (produit externe)<\/p>\n<pre>v \u2190 1 3 2 1 1 0   \u235d Exemple de vecteur\n\u222a v               \u235d El\u00e9ments uniques\nOutput : 1 3 2 0\nv \u2218.\u220a \u222a v         \u235d Matrice d'appartenance\n1 0 0 0           \u235d Positions des \u00e9l\u00e9ments\n0 1 0 0           \u235d du vecteur 1 3 2 1 1 0\n0 0 1 0           \u235d dans le vecteur 1 3 2 0\n1 0 0 0\n1 0 0 0\n0 0 0 1<\/pre>\n<p>+\u233f : Somme des diff\u00e9rentes colonnes<\/p>\n<pre>+\u233f v \u2218.\u220a \u222av\n3 1 1 1<\/pre>\n<p>,., : Double concat\u00e9nation, d\u00e9j\u00e0 entre les sommes et les \u00e9l\u00e9ments de \u222av puis concat\u00e9nation de l&rsquo;ensemble.<\/p>\n<p>Nous allons cr\u00e9er un programme RPL en utilisant <strong>UN.<\/strong> (union) et <strong>PE.<\/strong> (Produit externe) que l&rsquo;on a vus pr\u00e9c\u00e9demment. Plus pr\u00e9cis\u00e9ment nous obtiendrons :<\/p>\n<pre>1: {1}         # on part de 1 z\u00e9ro\n2: {0}\n<strong>VAR<\/strong> ROB\n1: {1 1}\n2: {0 1}       # 1 z\u00e9ro et 1 un\nROB\n1: {1 3}\n2: {0 1}       # 1 z\u00e9ro et 3 un\nROB\n1: {1 2 1}\n2: {0 1 3}     # 1 z\u00e9ro, 2 un et 1 trois\n...\nROB\n1: {1 3 2 3 1}\n2: {0 1 2 3 4}   # La suite stationne<\/pre>\n<p><span style=\"text-decoration: underline\">Id\u00e9e du programme<\/span> : on concat\u00e8ne les 2 listes (+), puis on la duplique (DUP) et on cherche les \u00e9l\u00e9ments uniques (UN.)<br>\nEnsuite on va cr\u00e9er la matrice d&rsquo;appartenance, par exemple en utilisant \u00ab &#8211; NOT \u00bb.&nbsp;L&rsquo;id\u00e9e \u00e9tant de soustraire du vecteur (niveau 1 ci-dessous) la valeur que l&rsquo;on cherche. En appliquant NOT les 0 se transforment&nbsp;en 1 et les valeurs non nulles en 0. Le probl\u00e8me est que \u00ab == \u00bb ou \u00ab SAME \u00bb ne fonctionnent pas avec <strong>PE.<\/strong> d&rsquo;o\u00f9 cette \u00ab\u00a0astuce\u00a0\u00bb.<\/p>\n<pre>2: { 1 2 }\n1: { 1 1 1 2 2 1 2 }\n\u00ab - NOT \u00bb\n<strong>VAR<\/strong> PE.\n1: {{1 1 1 0 0 1 0} {0 0 0 1 1 0 1}}<\/pre>\n<p>On a les endroits o\u00f9 apparaissent 1 et 2 dans le vecteur 1 1 1 2 2 1 2<\/p>\n<p>Il suffit ensuite de faire les sommes des diff\u00e9rentes listes (\u2211LIST) :<\/p>\n<pre>2: { 1 2 }\n1: { 1 1 1 2 2 1 2 }\n\u00ab - NOT \u2211LIST\u00bb\nVAR PE.\n1: {4 3}<\/pre>\n<p>on obtient finalement :<\/p>\n<pre>\u00ab + DUP UN. SORT DUP ROT\n \u00ab - NOT \u2211LIST \u00bb PE. SWAP\n\u00bb\n'ROB <strong>STO<\/strong><\/pre>\n\n\n<p><a href=\"https:\/\/blog.univ-angers.fr\/mathsinfo\/et-rpl-resume-en-images\/\">Lire la suite&#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Suite de Robinson Suites de Robinson&nbsp;: suite math\u00e9matique dont chaque terme se d\u00e9termine en comptant combien de fois chaque chiffre appara\u00eet dans le terme pr\u00e9c\u00e9dent. Je renvoie vers&nbsp;Misez p&rsquo;tit, Optimisez &#8211; N\u00b015 (le jour des fourmis)&nbsp;pour plus d&rsquo;explications sur cette &hellip; <a href=\"https:\/\/blog.univ-angers.fr\/mathsinfo\/et-rpl-exo-robinson\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4913,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-140","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/pages\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/users\/4913"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/comments?post=140"}],"version-history":[{"count":1,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/pages\/140\/revisions"}],"predecessor-version":[{"id":1614,"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/pages\/140\/revisions\/1614"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/mathsinfo\/wp-json\/wp\/v2\/media?parent=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}