Vous êtes sur la page 1sur 35

Agents intelligents en Java

patrice.bellot@iup.univ-avignon.fr DESS Commerce lectronique / DESS TAII 2002/03

Patrice Bellot

Intelligence artificielle


Patrice Bellot

Dbut dans les annes 50 Langages de choix : Lisp, Prolog, Smalltalk


Exemple en Prolog II :
Homme (Pierre) ; Homme (Pierrot) Femme (Pierrette) Fils (Pierre, Pierrot) ; Fils (Pierre, Pierrette) Pre (X,Y) : Homme(X), Fils (Y,X) ? Pre (Pierrot, Pierre) : Oui ? Pre (X, Pierre) : {X = Pierrot}
2

Rgles

Rsolutions

Algorithmes de recherche

Equations sur des arbres, programmation par contraintes Fils Fils


Prolog III et Prolog IV
Pierre Pierrot Pierre X

un ific at ion

Recherche de plus court chemin


Problme du voyageur de commerce
Examen de tous les chemins rapidement impossible

Utilisation dheuristiques (problmes NP-complets)


Algorithmes gntiques Recuit simul

dpart

arrive
Patrice Bellot 3

Recuit simul et voyageur de commerce


Croisement ou change de chemins

Minimum local

=> Recuit simul

Chaque excution fournit une solution diffrente


http://www.enib.fr/~buche/these/recuitSimule.ppt
Patrice Bellot 4

Rseaux de neurones

Cerveau humain
Centaines de milliards de cellules Architecture massivement parallle Fonctions de bas-niveau, pondration des cellules
Entres Sorties Sorties attendues

Apprentissage par rtro-propagation

Patrice Bellot

Algorithmes gntiques

Exploration de dizaines ou de centaines de solutions simultanment Etat du problme = une chane = un chromosome 110010101 Fonction dvaluation : score des chromosomes Slection des chromosomes
Procration (crossover)
Mutations possibles


Patrice Bellot

Paramtres
Taille de la population, mode de slection, nombre de gnrations, frquence des mutations
6

Reprsentation de la connaissance

Connaissance ?
Faits, relations, formules, rgles, hirarchies dobjets
Relations ?
Bases de donnes relationnelles, Structured Query Language (SQL)

Gnralement : connaissance = symbole(s)


Reprsentation interne de la connaissance

Patrice Bellot

Connaissance <==> langage Programmation dclarative vs. Procdurale


{Prolog} vs. {Java, C, C++, }
7

Reprsentation de la connaissance (2)

Logique des prdicats


Ex: Prolog (Programmation LOGique)

Logique floue (fuzzy logic)


vrit dfinie entre 0.0 et 1.0 (et non pas soit 0 soit 1) Variables floues = variables linguistiques

Rseaux smantiques
WordNet, Ontologies


Patrice Bellot

Reprsentation de lincertitude
Rseaux bayesiens
(graphe dirig reprsentant les dpendances entre variables)

Th. de Bayes : P(Y X ) = P( X Y )

P(Y ) P( X )
8

Reprsentation de la connaissance (3)


Knowledge Interchange Format (KIF)


Conu pour lchange de connaissances entre agents Utilise la logique des prdicats
Rminescence de LISP (mais KIF nest pas un langage de programmation)

3 types dobjets
Variables (individuelles : ?price ; squences : @cart) Oprateurs (sur termes/objets, rgles dinfrence, phrases/faits et dfinitions de constantes) Constantes (noms dobjets, relations, conditions boolennes, fonctions sur les objets)
(GetStockPrice ?price) (IntegerCompare ?price > 150)

rcupre le prix et place le dans une variable price puis tester sil est suprieur 150
Patrice Bellot 9

Knowledge Query and Manipulation Language (KQML)

Chaque message correspond une action Exemple :


(ask-one : sender joe : content (real price = sun.price( )) : receiver stock-server : reply-with sun-stock : language java : ontology NYSE-TICKS )

Patrice Bellot

10

Raisonnement
Forward-chaining Systme base de rgles si-alors et de clauses Production de nouveaux faits

Patrice Bellot

11

Raisonnement (2) Backward-chaining (vrifie si vrai ou non)

Patrice Bellot

12

Implmentation en Java Rgles si,alors

Patrice Bellot

13

Implmentation en Java (2) Clauses (parties antcdent et consquence des rgles)

Patrice Bellot

14

Implmentation en Java (3)

Forward-chaining
Chaque rgle est teste (antcdent) en fonction des donnes Cycle dinfrences
(ajout de connaissances)

Patrice Bellot

15

Implmentation en Java (4) Backward-chaining

Patrice Bellot

16

Mthodes dapprentissage

Diffrentes formes dapprentissage


Agent lve recopie lagent matre Ajustement de paramtres importants Raisonnement par induction ( partir dexemples)
Apprentissage de caractristiques importantes

Classification automatique
Dtection de patterns rcurrents

Utilisation en Data Mining :


Transformation dinformations en connaissances
17

Patrice Bellot

Data Mining
Le Data Mining est le procd qui consiste dcouvrir des corrlations nouvelles et utiles, des irrgularits et des tendances en explorant de grands volumes de donnes stockes laide de techniques statistiques, mathmatiques ou issues de la reconnaissance des formes (Gartner Group) Ensemble de techniques permettant dextraire des modles dune base de donnes historises par raisonnement statistique (dduction ou induction approches) afin de dcrire les comportements actuels et/ou de prdire le comportement futur dun procd (Georges Gardarin, PRISM) Le Data Mining est lextraction dinformations de grandes bases de donnes. Il sagit du processus de prsentation automatique de rgles des oprateurs qualifis, pour examen. Ici lhumain joue un rle essentiel car lui seul peut dcider de lintrt dune rgle pour lentreprise (IBM)
18

Patrice Bellot

Data Mining : quelques applications

Analyse de trafic dun site Web Etude des clients dun site
Alexa.com
25 sites les plus visits en amont (resp. en aval)

Amlioration de la navigation dans un site


partir de lanalyse des parcours des internautes

Personnalisation dun site Web


Modlisation de la clientle dun site commercial

Patrice Bellot

19

Data Mining : quelques outils

Analog
Analyse des fichiers log des serveurs

WebTrends
Reconstitution de sessions partir de hits (IP, mots de passe ou cookies) Nombre de pages vues, dure moyenne dune session, nombre de visiteurs, origine gographique des visiteurs, sites dorigine
20

http://www.analog.cx/

Patrice Bellot

Data Mining : parcours dun site

Harvard

NIST
Patrice Bellot 21

Data Mining : Personnalisation de sites Web

cookie Internet

Pages statiques

Base de donnes

Programme serveur (CGI, PHP, JSP, ASP)

client
Page dynamique personnalise

serveur
Base de clients

Patrice Bellot

22

Data Mining : personnalisation de sites Web (2)

Banires contextuelles, slection automatique de donnes, cration dynamique de catalogues

Exemple : http://www.bluemartini.com/software/
Patrice Bellot 23

Data Mining : systme de recommandations

http://aztec.cs.depaul.edu/scripts/ACR2/session.pl?/index.html

Patrice Bellot

24

Apprentissage : catgorisation dans lespace vectoriel


Thmatiques prdfinies Documents placs dans lespace nouveau document ou requte
mais (Document = plusieurs thmatiques) + modle mal adapt

Patrice Bellot

25

Modle vectoriel
terme 3

Exemple : taille vocabulaire : 3 doc 1 : doc 2 : requte : (1, 0, 2) (0, 3, 1) (0, 1, 0)


pondrations

terme 2

terme 1

Contre-exemple : Chat voisin chien chasser


le chat a chass le chien du voisin le chien a chass le chat du voisin le chat voisin du chien chasse
26

Patrice Bellot

Pondrations de type TF.IDF


Pondration pour les documents
tf m i , D . log

Pondration pour les requtes


wi, R tf mi , R = 0,5 + 0,5 max tf mi , R j / m j R

N n mi

(a)

wi, D =

( )
2

(b) (c) (d)

( ) tf (mi , D) wi, D = 0, 5 + 0,5 max tf ( mi , D ) j / m D


j

N tf m j , D . log n m j j / m j D

log

N n mi

( )
N - n mi

wi, R = log

( ) n ( mi )
N n mi

wi, D = log

N n mi

( )
) )
2

wi, R = log
wi, R

wi, D = 1
wi, D = tf m i, D

( ) N - n( m ) = log n( m )
i i

(e) (f)
Patrice Bellot

j / m j D

tf m j, D

wi, R = tf mi , R

wi, D = 1

wi, R = 1

Tableau 1 - Pondrations cites27 et values dans [Salton & Buckley, 1988]

Modles de langage
Probabilit dun mot sachant son historique Thmatiques prdfinies art histoire politique conomie

Modle pour chaque thmatique

Mart

Mhist

Mpol

Mco

Max { P ( thmatique | document ) } ?


Rgle de Bayes
Patrice Bellot 28

Arbres de dcision (Crawford, 1991)


nouveau document
oui

Question

? non

partition qui maximise ou minimise les probabilits lies chaque thmatique

pT1 pT2 pT3 pT4

pT1 pT2 pT3 pT4

probabilit dappartenance la thmatique T1

apprentissage sur des documents tiquets


Patrice Bellot 29

Self Organized Maps (SOM)


(Kohonen 1982)

Rduction de la dimension de lespace

documents

squences de mots

Assignation

chaque zone reprsente par 1, 2 ou 3 mots


Patrice Bellot 30

modle li son voisin

The Agent Building and Learning Environment (ABLE)

Ensemble de beans rutilisables (AbleBeans)


Capacits
Accs des donnes Filtrage Transformation Apprentissage Raisonnement

Fonctionnalits
Catgorisation (classification) Classification (clustering) Prdiction Recherche gntique

http://www.research.ibm.com/able/index.html
Patrice Bellot 31

Autres environnements bass sur Java



AgentBuilder (Reticular Systems Inc.)


www.agentbuilder.com Outils de dveloppement graphiques
diteur dontologies, de rgles Dbogueur ddi

Utilise KQML

Aglets (IBM - SourceForge) FIPA-OS (Nortel Networks - SourceForge)

Patrice Bellot

32

Autres environnements (2)

JADE (CSELT S.p.A., Italie)


coupler avec FIPA Outils destins lintgration et au dploiement dagents distribus
Annuaire pages jaunes dagents (service de noms) Une seule JVM par hte (containeur pour agents) Chaque agent est un thread

Compatible avec RMI et CORBA http://sharon.cselt.it/projects/jade/home.htm


Patrice Bellot

JATLite (Stanford University)


Ensemble de packages orients communication Communications bases sur TCP/IP et KQML Cibl agents autonomes (peer-to-peer) http://java.stanford.edu/java_agent.html
33

Autres environnements (3)

Jess
Implmentation en Java du shell systme-expert (CLIPS) http://herzberg.ca.sandia.gov/jess

Voyager (ObjectSpace, Inc.)


Object Request Broker (ORB) en Java + agents mobiles
Cration distante dobjets

Intelligence rajouter http://www.objectspace.com


Patrice Bellot

ZEUS (British Telecom)


Agents collaboratifs http://www.labs.bt.com/projects/agents.htm
34

Bibliographie Cette partie du cours est base sur le livre : Constructing Intelligent Agents Using Java J.P. Bigus & J. Bigus Wiley, 2001

Patrice Bellot

35

Vous aimerez peut-être aussi