NewDevBehavior

Une spécificité de la force élémentaire électromagnétique induit des comportement que nous avons sût mesurer et utiliser.

Ces comportements permettent l’apparition du principe de Diode (qui ne laisse passer le courant que dans un seul sens), puis si l’on ajoute une seconde entrée à la diode cela devient un transistor… je simplifie volontairement. Un assemblage de transistors permet l’émergence des portes logiques et enfin l’assemblage de portes logiques permet l’émergence de fonctions primitives.

Ces fonctions peuvent être divisées en 3 catégories :

  • les adresses
  • les données
  • les opérations

Ces seuls outils sont nécessaires au fonctionnement de l’écosystème informatique complet existant aujourd’hui, car tous les autres concepts héritent de ces primitives. Une suite structurée de ces éléments peut être identifié comme une brique contributive. Ces briques pourront être à leurs tour utilisées par d’autres briques, cela s’appelle l’encapsulation. Ceci permet de considérer certaines briques comme élémentaires à tout moment pour aider à simplifier la modélisation d’un outil plutôt que de repartir à chaque fois de la base sémantique physique primaire.

C’est le principal intérêt de la technologique informatique, en effet si l’on devait reproduire chaque mécanique physique avant de pouvoir opérer le moindre calcul arithmétique même de bas niveau, le chemin serait long.
Aujourd’hui nous sommes donc capable de décrire des mécaniques utilisables rapidement et les briques élémentaires ne sont mises à contribution que lorsque le processus est alors déclenché.

En revanche on observera que l’intérêt pour les briques élémentaires diminue considérablement du fait qu’elle soient tenues pour acquises et qu’a moins d’un profond bouleversement des structures de logiques elles n’ont pas besoin d’être retravaillées, dès lors que leur utilitée est fonctionnellement reconnue.

Cependant se serait sans voir la fondation sur laquelle reposent ces primitives, si je m’autorise un parallèle à formuler en philosophie, je mentionnerai probablement le fonctionnalisme, qui dit entre autre … «peut importe le support sur lequel repose la fonction»

Mais du coup le support choisi qui est à l’œuvre dans les micro-processeurs ne sont que partiellement partagé, nous entendons peu de communauté qui en parle, même si certains on put lire des articles et regarder des vidéos très biens faites sur le net, et je remercie ceux qui ont fait ces efforts. Mais seules les briques élémentaires sont connues. Elles sont, d’une certaine manière, notre bien commun issue de logiques humaines et il serait important voir impératif des les protéger en tant que telles.

Mais voila, passée cette barrière de l’élémentaire, le spectre s’agrandit considérablement, la base de compréhension ne se discute que dans de rares bureaux d’experts.

Par ailleurs, peut-être est-il impensable que nos esprits soient en mesure de maîtriser intégralement les processus depuis les primitives jusqu’aux plus belles réalisations d’algorithme, réalisme des images de synthèses, apprentissage de réseaux de neurones.

J’imagine que n’est pas par hasard si nous organisons l’information sous forme d’encapsulation, car c’est peut-être un des mécanismes à l’œuvre dans nos cerveaux.

Or ces mécanismes et toute l’intelligence qu’ils hébergent ne sont relatées pour l’instant que sous forme écrite et/ou partiellement sous forme UML (Aïe, çà y est j’ai dit un gros mot)

Tout cela pourrait paraître complexe ou rébarbatif, mais surtout sans intérêt car il s’agit seulement de documenter les concepts physiquement implémenté dans les programmes.

Prises séparéments, chacune des notions sont abordable par tous, il suffit de se pencher sur ces pratiques pour comprendre pourquoi elles ont émergée et comment elles rendent service au quotidien. Même si nous ne devenons pas tous des développeurs ou des électros, nous devrions partager ce qui semble si naturel alors qu’une part gigantesque de nos congénères passe à côté.

Évidemment, nous n’avons pas besoin de savoir comment nous fonctionnons pour fonctionner et pourtant d’une certaine manière c’est un gage de liberté qui se cache derrière des rapports de force futurs.

La genèse de ces principes est absolument vérifiable dans le cas des programmes informatiques on peut relativement bien admettre que ces techniques existent belles et bien, vu l’usage que l’on en fait et qu’il y aurait éventuellement un intérêt à les étudier comme une matière générale.

Je revient donc à mon sujet pour poser la question :

Cela prendrait-il vraiment beaucoup de temps de recomposer la « matrice » informatique primitive (somme de processus physique) qui fournirait par exemple le premier niveau d’instanciation d’une chaîne de caractères.

Prenons le problème à l’envers dans un premier temps, nous pouvons pratiquer l’inverse d’une modélisation puisque ces notions existent déjà et qu’il nous suffit de décrire le comment.

Proposons la construction suivante communément utilisés lors d’exemples simples :

{var1: »hello world »}

On dit que la variable var1 a pour valeur « hello world »
Une variable, c’est un bloc de mémoire. Un bloc de mémoire nécessite une adresse, une adresse c’est un nombre, c’est une position dans la mémoire, on utilisera le point 34869 de notre barrette de mémoire. On peut utiliser comme convention le @ pour désigner que l’on parle d’une adresse
Il faudrait donc dire {var1:{@:34869, « hello world »}}
Sauf que la machine ne comprends que des nombres, aussi, la notation  » signifie qu’il y a un traitement.

La donnée, c’est « hello world », il y a encore un peu de travail avant de savoir concrètement comment c’est modélisé par la machine, mais c’est plutôt simple.
Voyons déjà comment se propage cette donnée :
« hello world » c’est une chaîne de caractère, dans l’histoire de l’informatique il y a eu plusieurs essai, mais pour simplifier admettons qu’aujourd’hui on utilise la table ASCII.
Cette table ASCII associe à chaque caractère un nombre :
104=h, 101=e, 108=l, 111=o, etc…
Cette table existe «quelque-part» dans nos ordinateurs, c’est donc identifié par une adresse et même peut-être qu’on va pouvoir préciser cette adresse pour la table entière, on s’en doute, il y a du monde dans cette table, les caractères minuscules mais aussi les majuscules et aussi les chiffres et un tas d’autres choses qui nous intéressent moins pour cet exemple mais qui sont très utile et efficace dans certains cas, comme les sauts de lignes …
Arrivé à la table ASCII qui a pour adresse (par exemple) 66536, cette table devrait pouvoir nous donner quelques indications sur son identité et la manière de l’interroger, c’est le rôle de l’encodage, il y en a de très nombreux, pour faire simple, c’est la grille de lecture/écriture de symboles pour la machine, ces symboles peuvent représenter absolument tout et n’importe quoi… ASCII=@66536

Bref, nous pourrions noter l’égalité suivante :

ASCII{@104} = {« h »:{type:char}}

Le principe est à appliquer sur chacune des lettres. Il faudra au final obtenir quelque chose que l’on pourrait écrire {var1 :{string :{char :[« h », »e », »l », »l », »o »,…]}}}

Il y a plusieurs points a observer et respecter…
Il est imperatif que les nouvelles creations tentent de reutiliser les briques des niveaux adaptés les plus bas. Ceci dans le but de ne pas empiler des concepts equivalents qui pourraient exister sur des niveaux d’encapsulation differents. Ou du moins que dans le moteur ou dans sa definition puissent y etre reperées ces équivalences.

Reperons par des exemples simples

{tata :{string: »tata »}}
on dit que la variable tata a pour valeur « tata »
mais il faudrait dire que string est {tata :{string :{char :[« t », »a », »t », »a »]}}}
puis on pourrait decendre plus loin en donnant une definition des ´char’
nous pourrions donner la representation suivante
{« t » :{char :{ascii(<index>), index:{decimal :116}}}}
quand aux chiffres ils existent surtout sous une forme binaire
{116 :{01110100}}

Meme à ce stade il y a des raccourcis du a mon manque de connaissances sur la couche électronique, car il fo ensuite passer du coté physique pour finaliser les definitions qui restent « ascii() , decimal et enfin 01110100 la suite de pont de diode qui doit etre mise a contribution pour representer cette valeur binaire.
Par exemple la fonction ascii() doit permettre de rentrer dans les details sur la table ascii elle-meme car il faut bien qu’elle existe quelque-part pour traduire des nombres en lettres.
Et de maniere generale tout ce qui possede un type de donnees est oppsable a un mecanisme permettant de le determiner et de conditionner son traitement.
Cette notation serait donc incomplete :
{116 :{type :integer, value :{type :binary, value :[0,1,1,1,0,1,0,0]}}}
il faudrait definir integer…
Selon les langages il n’a pas completement la même definition, les seuls constantes, sans garantie, c’est qu’il s’agit uniquement de nombres entiers ensuite qu’il est codé en binaire sur 16 bits (voir 8) et que s’il devait être negatif il doit posséder un bit de signe (- ou +)
donc 17 bits en tout
on pourrait donc avoir quelque chose comme ça :

{integer :{value :{binary[16]}, sign :{binary[1]}}}

Meme de cette facon il nous faut alors definir sign… et que dire de value qui semble si naturelle pour que je l’utilise depuis le début sans rapeller le concept d’adressage de la donnée, on pourrait le representer par exemple comme suit :
{value :{@ :{type :binary, value:[0,0,1,0,1,0,1,1,1,0]}}}
on voit bien la recursivite sur value qui n’est pas resolu…
Le mecanisme d’adressage est connu pour etre lier au principe de registres micro-processeurs…
un registre c’est une adresse fixe, il est alors possible de déposer dans une adresse fixe une valeur représentant une adresse vers une valeur qui n’est pas fixe. Et nous obtenons alors une fonction read() qui résoudra pour une adresse donnée … une valeur

On a donc à notre disposition:

a :

read() : {{value :{@ :{type :binary, value:[0,0,1,0,1,0,1,1,1,0]}}}}

{integer :{value :{binary[16]}, sign :{binary[1]}}}

Est-il necessaire de rapeller que l’informatique est entièrement fabriquée sur des concepts qui sont le resultat d’adherences entre plusieurs personnes qui se sont mises d’accord à un instant pour permettre d’empiler d’autres concepts par dessus.

Pour ce que j’en connais, on peut eventuellement transposer ce phenomene sur les mathématiques excepte que pour les math il est constamment necessaire de demontrer ses concepts avant que d’autres veuillent seulement s’interesser à les utiliser. En informatique c’est autre chose… Vous pouvez utiliser tellement de pratiques differentes, disponibles de suite, que vous allez verifier rapidement si cela fonctionne ou non.
Et ce langage ne ferait pas exception, il pourrait même permettre a chacun de constituer une batterie de fonctions primaires de très bas niveaux, créé par des agencements totalement differents d’une personne à une autre. Cela peut etre aussi un piège et rendre difficile et/ou infonctionnels certaines tâches que nous considerons comme acquises aujourd’hui, car elles sont rendues possible par l’empilage des conventions etablies, sous forme de protocole de communication ou dans d’autres contextes appelés driver.
Cependant, avec un tel langage, serait rendu possible la lecture du programme en même temps que l’execution, en même temps que la modification, d’autres langages le font dejà, mais jamais le spectre de l’encapsulation n’aura-t-il été parcourus aussi profondemment. Vous possederiez aussi bien la puissance d’un langage comme l’assembleur ou des premiers compilateurs, en passant par la gestion d’événements, de classes puis les notions de design pattern ou d’agent, jusqu’aux

Ceci pourra être considerer comme un espace de cumul des libertés inaltérables bien que perilleux (dangereux meme en terme de cracking), pourra en fait devenir un formidable terrain d’echange, c’est l’open source poussé jusqu’au niveau physique (theorique certe, mais il est envisageable de mappé ce langage sur des architechtures physique réels)

Bref on voit qu’il y a beaucoup de notions à aborder et de travail d’écriture à realiser.

Algocratie

Le terme peut-être entendu à la fois comme une solution pour remédier aux manquements d’hier et d’aujourd’hui de nos représentants et également pour pallier à l’investissement toujours plus bas des citoyens. (Quoi que…)

La logique en soutient de ce projet trouve ses racines dans la certitude que la science, en générale, est le processus de recherche de la vérité.

Aujourd’hui, nous pourrions être séduit par les résultats intégrés à notre quotidien, des avancées visiblement formidables sur certains aspects de nos vies et qui nous laisse imaginer des trajectoires qui augurent de jours prospères et libres. (Quoi que…)

La science étant une recherche de la vérité, elle se confronte chaque jours à de nouveaux défis, il serait intéressant de discerner la vérité matérielle de la vérité vécue, mais ce n’est pas l’objet ici. Ces défis, sont menés sur des espaces d’explorations inspirés par les volontés / découvertes humaines. La science produit des modèles de lectures du monde et permet d’utiliser des mécanismes mis en lumières au travers de ces modèles pour produire des outils permettant d’aller plus loin dans la recherche, mais aussi lier ces mécanismes à nos existences. On peut aussi y comprendre que ce qui nous animes réponds à ces mécanismes, nous sommes par conséquent compatibles.

Pourtant il serait vain de croire que les modèles scientifiques proposés soient la vérité, ils n’en sont que les contours, et pour ce que j’en sais, ce qui est un outil de recherche ne saurait être exhaustivement un outil de gestion. Nous sommes pourtant déjà prêt à penser le monde et l’avenir au travers de ces prisme de lecture. Les consciences «terraformées» dans ce bain de croyances, ont déjà établi que l’incroyable complexité du monde nous dépassent et que nous devrions nous munir d’une industrie de la raison, qui pense à notre place. On ne peut pas blâmer cet état de sidération devant la difficulté, quant on pense que cela fait des décennies que la responsabilité de se choisir des représentants est, bien des choses mais, c’est surtout choisir à qui remettre le pouvoir de décision à notre place.

Nous avons donc été éduqués pour l’avènement d’un ordre scientifique, constitué d’algorithmes capables d’appréhender la complexité du monde à notre place, l’objectif de ce dispositif n’est pourtant pas très net. Qu’il s’agisse de permettre de résoudre des problèmes plus larges ou nous permettre de nous passer de dirigeants, l’intention reste de ne plus émettre que de vagues décisions à mettre en rapport avec le ressenti de l’instant. C’est à dire plutôt très proche de ce que notre cerveau reptilien fait, laissant les tâches complexes à un algorithmes. Il est très probable que nous puissions même observé dans quelques siècles, une baisse conséquente du niveau d’abstraction et donc de nos capacités à innover.

Les algorithmes sont construits sur la base de variables acquises par des mesures, dans le passé, un modèle est alors entraîné par mis à l’épreuve successive afin de vérifier son taux de réussite. Le meilleur modèle est retenu et branché sur des variables réelles pour assumer le service à rendre. Il est donc indiscutablement lié aux outils de mesures produisant les variables. Les outils de mesures doivent être entretenus à la perfection pour une acquisition optimale, et si nous décidions de modifier l’outil de mesure pour obtenir plus de variables il faudra qu’un autre modèle soit entraîné. C’est activités sont déjà très complexes sans compter que l’entraînement d’un modèle peut prendre du temps et que le choix des variables est discutable mais aussi primordial dans l’obtention d’un résultat optimal.

Mais ce type d’algorithmes ne prends aucune décision, il doivent être supervisés par des règles établissant le lien entre valeurs et actions et ceci peut être fait au travers de programmes relativement simples. Serions-nous entrain de cacher l’arbre derrière la forêt. Il y a de toutes évidences lieu de se poser la question de qui doit avoir accès à ces programmes de supervision, car bien qu’ils soient simples, ils déterminent le comportement final d’une chaîne de décision, mais plus encore concentre un pouvoir incroyablement puissant. Azimov et ces règles de la robotique faisait état de ce principe.

Or donc, cela ne serait-il pas simplement un autre moyen de contrôle et de mise en spectacle afin de cacher à nouveau les réels décideurs.

PS :

Une dernière note au passage, pour les lecteurs les plus courageux.

Quand bien même nous serions amené à produire des algorithmes totalement autonomes, qui donc formaliserait ses propres règles de supervision, produit le risque de ne plus intégrer de nouveaux paramètres issus de réflexion humaines, nous pourrions aboutir à une algocratie qui ne tiendrait plus compte de nos avis ou bien considérer que nous sommes une variable d’ajustement, ou encore même une variable obsolète.