Développement WEB et cybernétique |
le vrai sens du mot cybernétique |
|
 |
Cyber est un mot qui était souvent associé à l'Internet. Pourtant la vraie cybernétique commence tout juste à se faire une place dans le monde du web ... Ce petit mémo réalisé en 2 heures est là pour vous titiller le neurone ...
|
CYBERNETIQUE
ET DEVELOPPEMENT WEB
Le
mot "cybernétique" porte en lui beaucoup de fantasmes, pourtant
sa compréhension est simple. La cybernétique regroupe les technologies
qui traitent de tout système adapatant un process à son environnement
en fonction d'une consigne (ou d'un ordre) : Cela recouvre donc aussi bien le
domaine de la régulation de process industriels que la vision l'IA ou
la robotique ... mais aussi le développement WEB.
Sommaire
:

MEUPEG
: Mon projet de Knowledge Management Multimedia
avec moteur de recherche "génétique".
Pour
atteindre ce but, la cybernétique fait appel à différents
outils et méthodes :
Régulation
PID (proportionnelle, Intégrale, Dérivée)
:
Cette
méthode utilisée en régulation industrielle par exemple
s'appuie sur un modéle du systeme. Dans le cas d'un robot mobile,
on aura une modélisation de l'environnement du fonctionnement du
robot. En fonction de cela on apportera une correction proportionnellle
(correction proportionnel au modèle) intégrée (correction
exagérée) ou dérivée (correction douce). L'avantage
de cette méthode c'est qu'elle est stable et fixe. Son défaut
c'est que l'efficacité dépend essentiellement de la qualité
de son modèle. Hors certains systèmes sont difficiles à
modéliser.
Logique
floue :
La
logique floue est issue d'une théorie mathématique des ensembles
"grossiers". Vous vous rappelez tous de vos cours de math sur
les ensembles "i appartient au patatoide A et au patatoide B"
... Le mathématicien fondateur de cette théorie a introduit
une notion d'approximation ... Un point peut un peu appartenir à
A et beaucoup à B. Puis cela a été mis sous forme informatique
par Lofti Zadeh fin des années 60.

Lofti Zadeh !
Le
point fort de cette méthode c'est qu'elle fait abstraction du modèle
pour utiliser un moteur de régles régulé par de la
logique floue. Je vous conseille l'excellent bouquin de Kosko sur le sujet
(ed. Prentice Hall). Le système d'une "certaine manière"
apprend.
Le
paradoxe de cette méthode c'est qu'elle fonctionne trés bien
pour des problemes simples : régulateur de vitesse de locomotive,
machine à laver entièrement automatique...
Les
moteurs de régles et listes :
Ces
méthodes cousines sont déterministes : Dans le cas des listes
cela consiste à condirer que tout systeme peut etre réduit
à une liste. On applique des régles pour naviguer dans la
liste. Cette méthode a été essentiellement portée
par un langage trés intéressant : le LISP.
Les
algorithmes génétiques :
Cette
méthode est celle que j'ai retenue pour le projet de moteur de recherche
de Knowledge managment que je commence actuellement en ASP(.NET ?). Cette
méthode s'apparente à l'évolution génétique.
Chaque méthode est dupliquée avec une certaine "erreur"
de duplication, les meilleurs candidats sont maintenus en vie, les autres
supprimés. Mais je vais revenir sur cette méthode dans la
suite de cette article.
WEB
et cybernétique :
Nous
voila dans le coeur du probleme. Que vient faire la cybernétique dans
le développement WEB ? En fait les possibilités sont énormes
: Assistant en ligne "intelligent" accompagnant un visiteur dans un
site marchand (facile), agents intelligents, etc ... Lisez les abstracts dans
http://Www.sciencedirect.com vous
comprendrez l'ampleur des possibilités. Un des sujet est le moteur de
recherche ....
Etude
de cas : Moteur de recherche
Je
vous présente mon prochain projet après BLUE-RP.
Je développe actuellement un outil de Knowledge Management avec un support
multimédia, et une base donnée avec échange de "cartes"
en XML. Le gros probleme de ce type de projet est le module de recherche ...
La
problématique d'un moteur de recherche :
Le
vrai probleme d'un moteur de recherche c'est qu'il est dépendant
de la culture de l'utilisateur. Ainsi en fonction de sa culture et de son
métier, une personne (pour trouver la meme chose) utilisera des mots
différents, et aura une appréciation différente de
la qualité des résultats.
La
bonne nouvelle : l'utilisation d'un moteur de recherche est validant !
Bah
oui ! Rien ne vous empeche sur un moteur de recherche d'avoir une validation
de la qualité du résultat de la recherche soit par une action
volontaire du "chercheur", soit par une validation à fortiori.
L'implémentation
d'un algo "génétique" en ASP
Globalement
cela consiste à créer différents modules de recherches
en ASP avec des approches différentes. Puis à les associer
de manière "aléatoire" et de les dupliquer avec
erreur ...
Exemple
: On met en place une dizaine de méthodes de recherche différentes
(c facile quand on manipule énormément de données).
On met en place
une chaine génétique définisant un organisme composé
de recherche.
On
aura par exemple : "((Method1 U Method2) Inter Method 3" Puis
on mute cette regle au fure et à mesure.
A
chaque génération l'utilisateur valide qualitativement la
méthode pour valider la mutation ou la supprimer.
L'important
est de garder l'historique de l'évolution pour chaque utilisateur
et donc d'invidualiser l'utilisation d'un tel moteur de recherche, puisque
le type "idéal", au fure et à mesure sélectionné,
depent de critères subjectifs de l'utilisateurs.
J'aurais
l'occasion, de détailler les algos en ASP que je vais utiliser lors
de la livraison du projet MEUPEG. Sachant que le seul vrai probleme est
la génération de chiffres aléatoires propres
Autre
cas : les assistants en ligne
Vous
développez un magasin et ou un support technique en ligne. La création
d'un assistant peut s'avérer utile d'autant qu'un visiteur apporte
énormément d'informations sans le savoir à fortiori :
par le choix de sa navigation et des pages qu'il lit, ou par les mots qu'il
tape dans le moteur de recherche.
Prenons
un cas concret : Vous mettez en place un magasin en ligne avec des news, et
différentes catégories de produits et de services. Puis vous
attrapez votre commercial et vous lui demandez de décrire différents
profils de clients qu'il rencontre et comment il les approche, et les oriente.
Vous n'avez plus qu'à mettre cela sous forme de régles avec
ou sans logique floue. D'autres aspects peuvent être gérés
par un assistant avec des régles simples :
Si
visiteur lit 4 news ou plus alors lui proposer de s'inscrire à la lettre
d'information.
Si connexion haut débit et Si visiteur est sur page caddie première
fois lancer video Howto sur l'utilisation du caddie.
Si visiteur faire recherche mot cles ("souris sans fil") et naviguer
sur plus de 3 produits, lui suggérez de contacter le support techniques.
etc
...
Conclusion
: ne complexez pas et laissez aller votre imagination.
1
- D'abord je vous invite à lire les abstracts disponibles sur http://Www.sciencedirect.com
... La lecture seule des abstracts sans devoir payer l'accès à
l'article complet peuvent vous donner des idées.
2
- Laissez votre instinct s'exprimer : il est possible que vos idées ait
déja été publiées depuis plus de 30 ans, mais cela
n'a aucune importance. Ce sujet est passionnant (limite vivant).
3
- Si vous voulez aller plus loin faites des recherches sur les différents
thèmes soulevés dans ce tout petit mémo (désolé
j'avais que 2 heures pour l'écrire) lisez des publications scientifiques
puis oubliez tout et laissez vous faire.
4
- Pour info sur le forum de Blue-RP j'ai une section ou je peux vous aider ainsi
qu'un ami spécialisé en vision artificielle.
http://www.ornithorynque.com/forums/viewforum.php?f=17
Je
concluerais par ce ceci : j'ai développé Blue-RP pour aider mes
collègues startupers. Mais ma motivation était à l'origine
d'avoir une plateforme pour développer (en JAVA) un agent intelligent
à la sauce "CARL de 2001 odyssée de l'espace". Il ne
s'agit pas d'IA à proprement parlé, mais un agent intelligent
avec une voix et un simulateur de caractère permet de générer
de l'empathie ... Autre sujet passionnnant de la cybernétique.
 |
HTML,
ASP, PHP, JAVA, REBOL ...
Qu'importe la munition, l'important est de viser juste !
ma munition préférée : ASP-PHP.net |
bluerp le
06/02/2004 (8 063 hits) |
|