mercredi 25 novembre 2009

A0050 Comprendre un Texte

Pour une machine, comprendre un texte, c'est comprendre une personne qui comprend un texte.

A0049 Entrée Libre, Séjour Payant

Après celui de Google (voir billet A0014), je viens de comprendre le modèle économique du logiciel libre.

Je croyais que, quand il y avait un bug, toute la communauté unie et désintéressée s'empressait de le corriger. Eh bien non!
Quand il y a un bug, vous commandez trois jours de service à la jeune et sympathique société de service qui vous aide -pardon, vous "accompagne"-  à jouir de la liberté de votre logiciel.

On peut dire qu'avec Microsoft et ses confrères, on achète les bugs et le droit d'attendre que l'éditeur les supprime.

Avec le logiciel libre, on récupère les bugs gratuitement, et ensuite on paye quelqu'un pour vivre avec.

lundi 23 novembre 2009

A0048 Pessimiste comme le Hardware, Optimiste comme le Software

Depuis des dizaines d'années, le même phénomène se reproduit:

En hardware, chaque annonce de progrès dans la miniaturisation des procédés provoque des prévisions de performances de machines que l'on n'arrive jamais à croire: on est régulièrement émervéillés de pouvoir s'acheter une disquette de 1,44 millions d'octets, puis un ordinateur portable tournant à 25 MHZ, puis une clé USB de 16 Giga-octets, alors que les journaux avaient annoncé  tout aussi régulièrement ces chiffres 3 ans à l'avance.

En software, chaque fois qu'apparaît dans les laboratoires ou sur le marché un nouveau concept, les journaux et leurs lecteurs sont d'un optimisme sans limites: avec les bases de données relationnelles, puis l'intelligence artificielle, puis la business intelligence, puis le web sémantique, c'est régulièrement le même déferlement d'horizons qui chantent, de changements révolutionnaires, alors que  tout aussi régulièrement, 3 ans après, les journaux se font l'écho des espérances déçues.

En hardware, les innovations, on les jette.
En software, les innovations, on les guette.

vendredi 20 novembre 2009

A0047 Le meilleur format standard

Le meilleur format standard, c'est le langage naturel.
Dans 50 ans, il n'est pas sûr que l'on disposera encore de machines capables de lire du XML, ou de connaître le sens de telle ou telle ontologie en OWL - ça, c'est même sûr que pas.
Par contre, je parie fort qu'il y aura encore des gens capables de lire de l'italien et de l'arabe, et d'autres capables de traduire l'un en l'autre.
Donc, si vous avez des informations précieuses à conserver, écrivez-les en langage naturel.
Plus précisément,  si vous voulez dire  pour la postérité que:

 "le 18 novembre 2009, Thierry Henri a fait une main non sanctionnée lors de la première mi-temps des prolongations du match de barrage France-Irlande"

je vous propose d'utiliser le format suivant:

"le 18 novembre 2009, Thierry Henri a fait une main non sanctionnée lors de la première mi-temps des prologations du match de barrage France-Irlande"

Si vous avez une meilleure proposition à faire, je suis preneur.

De même que l'on a vu dans le billet A0037 que "information structurée" n'était pas incompatible -bien au contraire- avec "langage naturel" en ce sens que le langage naturel est extrêmement structuré, on voit ici que "langage naturel" n'est pas synonyme de "long document".

Adopter le langage naturel comme format standard de représentation des données consiste à représenter les informations élémentaires en langage naturel.

Partant, un système d'information contiendra un ensemble -qui pourra être très grand- de phrases en langage naturel.

Il reviendra au  calcul littéraire d'exploiter ces informations.

Nous allons faire un système d'information radicalement autrement: toutes les informations qu'il contient seront lisibles, sans l'intermédiation d'aucun programme.

mardi 17 novembre 2009

A0046 AIR FRANCE: Une Informatique de Haut Vol

Suite à mes aventures sur le site SNCF décrites dans le billet A0040, voilà ce qui m'est arrivé ces derniers jours sur celui d'AIR FRANCE.

Je voulais réserver un vol Madrid-Paris.
Et voilà le résultat:






Encore une bonne raison d'essayer de faire des systèmes d'information Radicalement Autrement.
On notera que chacun de ces trois vols est bien sans escale.
Ils ont trouvé la bonne manière de concurrencer les low-cost.

Une chose me trouble: le montant de la taxe: 111,1 euros
Peut-être que quelqu'un s'est amusé à programmer le jeu suivant: "trouver un voyage entre A et B tel que le montant de la taxe soit un nombre binaire."

lundi 16 novembre 2009

A0045 Luttons Contre le Réchauffement Sémantique!

Il se publie plus de 2000 articles scientifiques en biologie par jour.
Il se prend 1 milliard de photographies numériques par jour.
Il y aura bientôt plus de caméras video et autres webcams que de paires d'yeux.
Je ne me souviens plus du noms des réseaux sociaux qui m'enserrent dans leurs rêts (L'étymologie de "réseau" c'est "rêts": sorte de nasse pour capturer les poissons)

Luttons Contre le Réchauffement Sémantique!

dimanche 15 novembre 2009

A0044 La Programmation peut-elle être sans objet ?

Si nous voulons Faire Radicalement Autrement,  nous allons devoir nous attaquer à la Programmation Orientée Objet (et Java va bien nous y aider).
Vaste programme qui fera l'objet de plusieurs billets.

Commençons par l'étymologie de "Programmation Objet"
Programmation, c'est "écrire à l'avance" (pro -gramma)
Objet: c'est "quelque chose qui fait obstacle, qui git devant nous" (ob- jacere)

NB: tout ça, c'est du grec et /ou du latin; ils étaient assez mélangés à l'époque; l'interopérabilité marche bien entre langages naturels, surtout avant l'invention de l'imprimerie. Pas besoin d'ontologie en XML.

Donc, en gros, "Programmation Objet" ça veut dire " décrire à l'avance les obstacles que l'on va rencontrer plus tard sur notre route".

Partis comme ça, on ne risque pas d'aller bien loin.

Nous avons déjà commencé à nous attaquer à la programmation toute seule (voir le billet A0005), et à l'objet tout seul (voir le billet A0039 - objets et modèles c'est pareil)

Mais nous devons aussi ambitionner de dissoudre le couple  "Programmation" et "Objet", c'est à dire nous intéresser à:

"La Programmation sans Objet" et "Les Objets sans Programmation"

Cela nous conduira à parler de "La Programmation Logique"
A suivre ...

A0043 réponse à la devinette du billet A0026

Rappel de la question ici.

C'est Edsger Dijkstra, en ... 1968.
Dijkstra est l'homme qui a  -entre autres- dénoncé l'instruction "GOTO" et inventé la programmation structurée (If ... Then ... Else, While ...).

samedi 14 novembre 2009

A0042 Petit Soulier Sémantique

Les ontologies, c'est comme le Père Noël. Ca n'existe pas -dur dur avec un nom comme ça-,  mais, elles non plus ne se portent pas si mal:

-- on commence par y croire
-- quand on n'y croit plus, on fait semblant d'y croire
-- quand on ne fait plus semblant d'y croire, on le fait croire aux autres

Ainsi, comme le Père Noël, les ontologies, c'est, année après année, une occasion de dépenser beaucoup d'argent tous ensemble et dans la bonne humeur.

vendredi 13 novembre 2009

A0041 Intelligence des machines: le point de vue d'un pionnier

A la lecture de mon énoncé:
"Nous ne sommes pas assez intelligents pour fabriquer des systèmes aussi intelligents que nous"

Jacques Pitrat  ,"le" pionnier de l'Intelligence Artificielle en France (Thèse d'Etat  passée en 1966 !),  me fait parvenir un  point de vue plus optimiste:

"Nous ne sommes pas assez intelligents pour fabriquer sans aide des systèmes aussi intelligents que nous;  et alors nous pouvons espérer arriver à le faire grâce à l'aide de l'Intelligence Artificielle..
L'amorçage apparaît toujours paradoxal à ceux qui n'en ont pas réalisé !"

Le dernier ouvrage de Jacques Pitrat: "Artificial Beings"

mardi 10 novembre 2009

A0040 "GARE" aux informaticiens de la SNCF!

La SNCF est le premier site de commerce électronique de France.
Elle dispose des meilleurs informaticiens  sortis des meilleures écoles.
Elle dispose de tout l'argent qu'elle veut pour développer son informatique.

En 2005, je voulais prendre un billet de TGV  au départ de la gare Montparnasse.
Je tape donc "Paris Montparnasse" comme lieu de départ.
Ca me répond "connais pas" !
Pour aider la machine je précise "Gare Montparnasse".
Là, elle comprenait beaucoup mieux!
Voyez vous-mêmes à l'écran:


Quelle imagination !
Je décide alors de profiter de l'existence de la Gare Fictive 1 (75) pour prendre mon billet pour l'aventure. Las:



 Il y a donc encore loin -du moins par le train- de la fiction à la réalité.
Moralité:
1) Ils sont incapables de traiter le plus élémentaire langage naturel:
La GAREnne-Colombes n'est pas une GARE !
Pas plus que GARElochead (GB)
2) La présence d'intitulés comme "Gare Fictive 1" , "Gare Etc Italienne (CH)"  "Gare Allemande" fait craindre le pire:

--des données de test oubliées dans la vraie base ?
--un mélange entre des classes de modèles UML et leurs instances ?
--un mélange entre des entités et des attributs ?

Comme ils disent à la SNCF:  "TOUT EST POSSIBLE" !

 On imagine d'ici les dizaines d'années d'empilements de  déraillements de l'ingéniérie informatique, qui conduisent à de tels résultats.
Oui, décidemment, il faut Faire Radicalement Autrement 
N.B.: Nous verrons bientôt qu'AIR FRANCE ne fait guère mieux en 2009.

lundi 9 novembre 2009

A0039 Se passer des modèles ?

De manière classique, on conseille de commencer par construire LE modèle des données de l'application (avec UML par exemple).
Le problème est qu'il peut être impossible à construire, par exemple parce qu'il change tout le temps, ou que l'on n'arrive pas à mettre la main sur les gens assez savants pour vous l'expliquer.
Mais comme il faut un modèle, on en bricole un quand même, en toute ignorance de cause.
Et évidemment les ennuis commencent.
Comment améliorer ça ?
De manière classique, on va faire des groupes de progrès, appeler des consultants, externaliser le développement.

Une autre manière est de "Faire Radicalement Autrement"
Ce qui en l'occurence veut dire " Ne pas faire de modèle".
Ce qui veut dire encore:
Il y a des informations dans le système, elles sont comme elles sont.
Elles n'ont pas été introduites en respectant un modèle prédéfini.
Au contraire, ce sont les informations qui vont définir le modèle.
Par émergence.

Quand on veut poser une question, le système nous présente la manière dont les informations sont structurées à cet instant, et nous donne tous les éléments pour nous aider à  trouver ce que nous cherchons.
Quand on veut ajouter une information, le système nous dit comment les gens qui nous ont précédé ont procédé.
Et on décide de faire pareil, ou de faire autrement.
Les suivants verront la conséquence de notre intervention, à travers la manière dont le système se présentera à eux.

SUN Microsystems disait:
"The Network IS the Computer"
Nous disons:
"Information IS the System"
"User IS the Architect"

Cela a beaucoup d'avantages: citons-en un seul:
Vous voulez fusionner deux bases d'information.
Pas facile si chacune a son modèle.
Mais si aucune n'a de modèle, c'est beaucoup plus simple: il n'y a rien à faire.
On mélange les deux ensembles d'informations sans modèle en un seul ensemble.
Et la prochaine fois qu'un utilisateur se présentera il verra le modèle du moment, tel qu'il émergera  du nouvel ensemble.
Le système IDELIANCE a été réalisé de cette manière.
Pour en savoir plus:
Présentation PowerPoint IDELIANCE
Article IDELIANCE

dimanche 8 novembre 2009

A0038 Faire Radicalement Autrement

Intelligence Artificielle s'abrévie "I.A."
Au début des années 1990, Sylvie Le Bars avait considéré que "I.A." voulait dire "l'Informatique Autrement".
N'abandonnons surtout pas cet objectif.
Au contraire, reprenons-le avec force.
Il y a des milliers de manières inexplorées d'utiliser l'ordinateur.

samedi 7 novembre 2009

A0037 Calcul Littéraire (Litteratus Calculus)

On oppose traditionnellement l'information structurée -celle des bases de données- à l'information non structurée -celle des documents en langage naturel.
C'est une vision bien éloignée de la réalité: le langage naturel est au contraire extrêmement structuré, avec des structures d'une complexité qui nous dépasse. Les bases de données, elles, sont structurées de manière très simpliste.
Il faut plutôt parler d'informations structurées complexes ou simplistes.

Rappelons l'étymologie de "complexe" : cum plexus = avec des plis
et de "simple" sine plexus = sans plis.

Les systèmes actuels qui essaient simplement (sic!) de ramener le "non structuré" du texte au "structuré" des bases de données sont et seront toujours dans des  impasses.
Nos effort doivent porter sur l'amélioration de  notre compréhension de la complexité du langage naturel. Il ne faut ni la nier,  ni essayer de la contourner.

Nous appelons "Calcul Littéraire"  ou "Litteratus Calculus" l'effort de compréhension de la complexité du langage naturel.

N.B. Le Diamant Sémantique "Litteratus Calculus" m'a permis de découvrir le Blog http://www.gazettelitteraire.com/

mercredi 4 novembre 2009

A0036 L'Intelligence Artificielle au 17ème siècle

Descartes et Leibniz ont écrit l'essentiel sur le sujet, et en ont beaucoup discuté entre eux. Extraits:
Descartes:
« établir un ordre entre toutes les pensées, … de même qu ’il y en a un établi entre les nombres »
« cette langue aiderait au jugement , lui représentant si distinctement les choses qu ’il lui serait presque impossible de se tromper »
« je tiens que cette langue est possible … mais n ’espérez jamais la voir en usage … sauf au Paradis Terrestre … »
Leibniz:
« quoique cette langue dépende de la vraie philosophie, elle ne dépend pas de sa perfection »
«  à mesure que la science des hommes croîtra, cette langue croîtra aussi »
« alors raisonner et calculer sera la même chose »
Commentaire:
Descartes imagine l ’intégration de systèmes, mais a déjà compris que ça ne marchera jamais.
Leibniz est plus optimiste, car il est en faveur de l ’interopérabilité, qui marche « un peu ».

A0035

On dit souvent qu'il faut "mettre l'homme dans la boucle".
Sombre et infernale perspective digne des "Temps Modernes" de Charlie Chaplin.
Essayons plutôt de "mettre la boucle dans l'homme": que l'ordinateur nous aide à bien "tourner rond", comme une montre ou un pacemaker.

mardi 3 novembre 2009

A0034

L'informatique
C'est quand la machine fait bien ce que l'homme fait mal
L'intelligence artificielle, c'est le contraire

A0033

On raille souvent les consultants qui "vous demandent votre montre pour vous donner l'heure";
C'est compter sans les gens qui ont oublié qu'ils ont une montre, ne la regardent jamais, ou ne savent pas lire l'heure.
PS: il semblerait que les avocats n'aient pas besoin de consultants.

A0032

Tim Berners-Lee a inventé le Web car il savait le faire.
Puis il a inventé le Web Sémantique car il ne savait pas le faire.

Dans les deux cas, l'avenir lui a  donné raison: le Web, ça marche depuis longtemps, et le Web Sémantique, ça  commence  aussi à faire longtemps que ça ne marche pas.

A0031

Le Web Sémantique, c'est l'Intelligence Artificielle sans les applications

A0030

A propos de la chute du Mur de Berlin.
Les gens de l'autre côté du Mur avaient la réputation d'être très forts en mathématiques.
Mais ils n'ont jamais été bons en informatique.
Une preuve de plus que l'informatique n'a pas grand chose à voir avec les mathémathiques.
Dans d'autres domaines comme l'astronautique,  ils avaient au contraire des longueurs d'avance, en particulier en  chaudronnerie des moteurs des fusées.