<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sciences-Informatiques | Dr. Goulu</title><link>https://drgoulu.com/tag/sciences-informatiques/</link><atom:link href="https://drgoulu.com/tag/sciences-informatiques/index.xml" rel="self" type="application/rss+xml"/><description>Sciences-Informatiques</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>fr-FR</language><lastBuildDate>Wed, 26 Feb 2020 00:00:00 +0000</lastBuildDate><image><url>https://drgoulu.com/media/icon_hu_8d57a97d564ea9bb.png</url><title>Sciences-Informatiques</title><link>https://drgoulu.com/tag/sciences-informatiques/</link></image><item><title>Peut-on modéliser la question suivante "Existe-t'il une vie extraterrestre ?" dans nos supercalculateurs modernes en essayant d'en dégager une probable réponse scientifique ?</title><link>https://drgoulu.com/2020/02/26/peut-on-modeliser-la-question-suivante-existe-t-il-une-vie-extraterrestre-dans-nos-supercalculateurs-modernes-en-essayant-d-en-degager-une-probable-reponse-scientifique/</link><pubDate>Wed, 26 Feb 2020 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2020/02/26/peut-on-modeliser-la-question-suivante-existe-t-il-une-vie-extraterrestre-dans-nos-supercalculateurs-modernes-en-essayant-d-en-degager-une-probable-reponse-scientifique/</guid><description>&lt;p&gt;&lt;em&gt;Réponse publiée
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ca revient à une bête multiplication des 7 facteurs de l&amp;rsquo;
.&lt;/p&gt;
&lt;p&gt;On sait qu&amp;rsquo;il y a des centaines de milliards de galaxies dans l&amp;rsquo;univers observable, chacune ayant une centaine de milliards d&amp;rsquo;étoiles , donc dans les 10^22 étoiles&lt;/p&gt;
&lt;p&gt;On commence à avoir une idée du nombre de planètes (~10 par étoile, donc 10&lt;sup&gt;23 ) et de la proportion d&amp;rsquo;entre elles qui sont dans la
(disons 1%, soit 10&lt;/sup&gt;21, soit 10^10 par galaxie).&lt;/p&gt;
&lt;p&gt;Le problème est qu&amp;rsquo;ensuite on a pas d&amp;rsquo;information sur les autres facteurs : la probabilité d&amp;rsquo;apparition de la vie, de la vie complexe à fortiori, de la vie intelligence à fortiori&lt;sup&gt;2 et la durée de vie d&amp;rsquo;une telle forme de vie (à fortiori&lt;/sup&gt;3 …)&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai tendance à dire que puisque c&amp;rsquo;est arrivé sur Terre, il y a environ 1/10^10 chances que nous soyons un cas unique dans la galaxie …&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai traduit un texte très intéressant avec beaucoup de références sur ce sujet :
&lt;/p&gt;</description></item><item><title>Comment le hasard, le hasard dans les jeux vidéo et la machine à sous sont-ils codés ?</title><link>https://drgoulu.com/2020/02/13/comment-le-hasard-le-hasard-dans-les-jeux-video-et-la-machine-a-sous-sont-ils-codes/</link><pubDate>Thu, 13 Feb 2020 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2020/02/13/comment-le-hasard-le-hasard-dans-les-jeux-video-et-la-machine-a-sous-sont-ils-codes/</guid><description>&lt;p&gt;&lt;em&gt;Réponse publiée
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dans les jeux vidéo, un
suffit largement. En gros on prend un nombre qui change souvent, comme le nombre de microsecondes depuis le démarrage de la machine, on le multiplie par un grand nombre premier, on ajoute un autre nombre premier et on garde le résultat modulo quelque chose comme nombre aléatoire (voir
)&lt;/p&gt;
&lt;p&gt;Pour les machines à sous, poker en ligne etc, on utilise de plus en plus des
basés sur des principes physiques, notamment quantiques.&lt;/p&gt;</description></item><item><title>Pourquoi utilisons-nous JavaScript ?</title><link>https://drgoulu.com/2019/12/09/pourquoi-utilisons-nous-javascript/</link><pubDate>Mon, 09 Dec 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/12/09/pourquoi-utilisons-nous-javascript/</guid><description>&lt;p&gt;&lt;em&gt;Réponse publiée
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Parce que les browsers l&amp;rsquo;implantent de façon très efficace.&lt;/p&gt;
&lt;p&gt;Je pense qu&amp;rsquo;il faut voir Javascirpt comme &amp;ldquo;l&amp;rsquo;assembleur du web&amp;rdquo; : maintenant qu&amp;rsquo;il existe des langages comme
,
et
qui peuvent être &amp;ldquo;transpilés&amp;rdquo; en JavaScript, il ne faut plus développer de projet important directement en JavaScript.&lt;/p&gt;
&lt;p&gt;Par contre la performance de ce langage dans les browser modernes ne cesse de m&amp;rsquo;étonner . Ca tourne assez vite pour émuler des processeurs d&amp;rsquo;(avant-) hier en temps réel ! voir
&lt;/p&gt;</description></item><item><title>Une « tétrachiée d'octets », fait combien d'octets à peu près ?</title><link>https://drgoulu.com/2019/08/17/une-tetrachiee-d-octets-fait-combien-d-octets-a-peu-pres/</link><pubDate>Sat, 17 Aug 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/08/17/une-tetrachiee-d-octets-fait-combien-d-octets-a-peu-pres/</guid><description>&lt;p&gt;&lt;em&gt;Réponse publiée
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je conteste énergiquement la réponse de
. Le document de référence qu&amp;rsquo;il cite est pourtant limpide:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;4.1.5 la chiée : unité générique très populaire, voire triviale, de grande quantité pouvant avantageusement sinon élégamment se substituer à chacune des unités précédentes (c’est vrai, essayez !). Dans sa grande universalité, elle connote naturellement à la fois le dégoût, l’excès et le mépris. Aucun exemple n&amp;rsquo;est cité pour conserver à ce document une certaine dignité. Signalons toutefois les multiples bien connus : la mégachiée et surtout la &lt;strong&gt;tétrachiée, qui permet d’accéder à l’ampleur galactique.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;or justement un galaxie moyenne contient environ 10^11 étoiles, chiffre corroborant l&amp;rsquo;interprétation de Guy, au détail près qu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;une puissance de dix.&lt;/p&gt;
&lt;p&gt;Une tétrachiée = 10^11 octets soit 100 Gigabytes.&lt;/p&gt;</description></item><item><title>Pourquoi est-ce que je ne peux pas comprendre les mathématiques derrière le Machine Learning ?</title><link>https://drgoulu.com/2019/07/05/pourquoi-est-ce-que-je-ne-peux-pas-comprendre-les-mathematiques-derriere-le-machine-learning/</link><pubDate>Fri, 05 Jul 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/07/05/pourquoi-est-ce-que-je-ne-peux-pas-comprendre-les-mathematiques-derriere-le-machine-learning/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les mathématiques derrière l&amp;rsquo;
ne sont pas simples. Ce sont des recherches universitaires récentes qui ont permis à ces techniques d&amp;rsquo;émerger. Il faut de bonnes bases en algèbre linéaire, statistiques, systèmes dynamiques pour aborder ce domaine. Si vous les avez, vous pouvez les rafraîchir avec un MOOC comme
par exemple. Si vous ne les avez pas, ce sera dur…&lt;/p&gt;
&lt;p&gt;Cela dit, il n&amp;rsquo;y a pas forcément besoin de savoir comment fonctionne un moteur pour conduire une voiture. Si vous ne voulez pas développer vos propres algos mais utiliser ceux existant, il vous faut principalement connaitre les avantages et inconvénients de chacun&lt;/p&gt;</description></item><item><title>Puis-je devenir un bon programmeur sans connaissances en mathématiques et en algorithmes ?</title><link>https://drgoulu.com/2019/06/16/puis-je-devenir-un-bon-programmeur-sans-connaissances-en-mathematiques-et-en-algorithmes/</link><pubDate>Sun, 16 Jun 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/06/16/puis-je-devenir-un-bon-programmeur-sans-connaissances-en-mathematiques-et-en-algorithmes/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sans connaissances en mathématiques éventuellement, si vous évitez les sujets qui en nécessitent (3D, simulation, traitement d&amp;rsquo;image, cryptographie,…)&lt;/p&gt;
&lt;p&gt;S ans connaissances en algorithmes, non. La connaissance des algorithmes est indispensable pour choisir une solution au problème posé, savoir quoi coder et quoi réutiliser, et anticiper les performances de votre programme.&lt;/p&gt;
&lt;p&gt;Connaissance ne veut pas forcément dire maîtrise totale au point de les réécrire, mais vous devez savoir qu&amp;rsquo;un tri est n.log(n) et que le voyageur de commerce est NP.&lt;/p&gt;</description></item><item><title>Lisp est-il un langage de programmation facile ?</title><link>https://drgoulu.com/2019/05/29/lisp-est-il-un-langage-de-programmation-facile/</link><pubDate>Wed, 29 May 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/05/29/lisp-est-il-un-langage-de-programmation-facile/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lots of Insipid and Stupid Parenthesis ? Non, pas facile du tout.&lt;/p&gt;
&lt;p&gt;Au début ça va, si on a un IDE qui formate ça bien avec des parenthèses multicolores, ce qui n&amp;rsquo;est pas le cas ci-dessous:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(defun factorial (n &amp;amp;optional (acc 1))
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;#34;Calcule la factorielle de l&amp;#39;entier n.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(if (&amp;lt;= n 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; acc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; (factorial (- n 1) (* acc n))))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;et puis ça donne des
(un bout de browser en LISP trouvé sur GitHub) …&lt;/p&gt;
&lt;p&gt;Sérieusement : dès que j&amp;rsquo;ai appris LISP en 1986, je me suis dépêché d&amp;rsquo;apprendre Prolog pour ce qu&amp;rsquo;on appelait intelligence artificielle à l&amp;rsquo;époque., et aujourd&amp;rsquo;hui les bonnes idées de LISP (car il y en a quand même…) se retrouvent beaucoup plus clairement dans des langages comme Python&lt;/p&gt;
&lt;p&gt;voir
&lt;/p&gt;</description></item><item><title>Quelles sont les choses que seuls les programmeurs comprendront ?</title><link>https://drgoulu.com/2019/05/02/quelles-sont-les-choses-que-seuls-les-programmeurs-comprendront/</link><pubDate>Thu, 02 May 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/05/02/quelles-sont-les-choses-que-seuls-les-programmeurs-comprendront/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;les blagues de programmeur comme celle là:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;Il y a deux sortes de gens : ceux qui comprennent la notion de récursivité et ceux qui ne comprennent pas qu’il y a deux sortes de gens : ceux qui comprennent la notion de récursivité et ceux qui ne comprennent pas qu’il y a deux sortes de gens : ceux qui comprennent la notion de récursivité et ceux qui ne comprennent pas qu’il y a deux sortes de gens&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;</description></item><item><title>Quels sont les grands dictons de la programmation ?</title><link>https://drgoulu.com/2019/04/30/quels-sont-les-grands-dictons-de-la-programmation/</link><pubDate>Tue, 30 Apr 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/04/30/quels-sont-les-grands-dictons-de-la-programmation/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les plus célèbres sont les
.&lt;/p&gt;
&lt;p&gt;Mes préférés sont:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La constante d’une personne est la variable d’une autre.&lt;/li&gt;
&lt;li&gt;La simplicité ne précède pas la complexité, elle la suit.&lt;/li&gt;
&lt;li&gt;La preuve de la valeur d’un système informatique est son existence.&lt;/li&gt;
&lt;li&gt;Il ne vaut pas la peine de connaître un langage qui ne modifie pas votre façon de penser la programmation.&lt;/li&gt;
&lt;li&gt;Un langage de programmation est “bas niveau” quand il nécessite de faire attention à ce qui n’a aucune importance.&lt;/li&gt;
&lt;li&gt;Il y a deux manières d’écrire des programmes sans erreurs. Seule la troisième marche.&lt;/li&gt;
&lt;li&gt;Tout programme a (au moins) deux buts : celui pour lequel il a été écrit, et celui pour lequel il ne l’a pas été.&lt;/li&gt;
&lt;li&gt;Tout doit être construit de haut en bas (top-down), sauf la première fois.&lt;/li&gt;
&lt;li&gt;Si vous avez une fonction avec 10 paramètres, vous en avez probablement oublié.&lt;/li&gt;
&lt;li&gt;Une fois que vous comprenez comment écrire un programme, trouvez quelqu’un d’autre pour l’écrire.&lt;/li&gt;
&lt;li&gt;Il est plus facile d’écrire un programme incorrect que d’en comprendre un correct.&lt;/li&gt;
&lt;li&gt;Vous pouvez mesurer les perspectives d’avenir d’un programmeur par son attitude par rapport à la vitalité de FORTRAN.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et une entendue de Niklaus Wirth:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le langage de programmation parfait sera celui dans lequel vos collègues auront du plaisir à lire votre code.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Qu'est-ce qu'un algorithme de routage ?</title><link>https://drgoulu.com/2019/04/15/qu-est-ce-qu-un-algorithme-de-routage/</link><pubDate>Mon, 15 Apr 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/04/15/qu-est-ce-qu-un-algorithme-de-routage/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Très généralement, c’est un algorithme qui fournit un chemin optimal d’un noeud A à un autre B dans un graphe.&lt;/p&gt;
&lt;p&gt;Une application très courante est le GPS
qui vous indique comment aller à votre destination le plus vite ou le moins cher possible.&lt;/p&gt;
&lt;p&gt;Une autre est le
de paquets sur un réseau comme internet où on veut parfois transmettre une même information à plusieurs endroits (streaming …) ou en utilisant plusieurs canaux en parallèle&lt;/p&gt;
&lt;p&gt;Une autre application intéressante est le routage des pistes d’un
où les chemins entre de nombreuses paires de nœuds ne doivent pas se croiser sur une même couche du circuit.&lt;/p&gt;
&lt;p&gt;Quelques algorithmes de routage:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes de bas de page&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;</description></item><item><title>Qu'est-ce qu'un algorithme utile pour générer des décimales de π?</title><link>https://drgoulu.com/2019/04/14/qu-est-ce-qu-un-algorithme-utile-pour-generer-des-decimales-de/</link><pubDate>Sun, 14 Apr 2019 00:00:00 +0000</pubDate><guid>https://drgoulu.com/2019/04/14/qu-est-ce-qu-un-algorithme-utile-pour-generer-des-decimales-de/</guid><description>&lt;p&gt;&lt;em&gt;Article initialement publié sur
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;le plus incroyable est le “spigot”, en 133 caractères de C :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;int a[52514],b,c=52514,d,e,f=1e4,g,h;main()
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{for(;b=c-=14;h=printf(&amp;#34;%04d&amp;#34;,e+d/f)) for(e=d%=f;g=--b*2;d/=g)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;d=d*b+f*(h?a[b]:f/5),a[b]=d%--g;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;il génère 15000 décimales correctes de pi, et si vous le regardez bien vous verrez qu’il ne travaille qu’avec des nombres entiers !&lt;/p&gt;
&lt;p&gt;description et explication ici :&lt;/p&gt;
&lt;p&gt;Jeremy Gibbons “
” (2006), The American Mathematical Monthly 4 (113) p. 318-328 DOI&amp;gt;
&lt;/p&gt;</description></item></channel></rss>