vendredi 19 octobre 2007

L'Oracle électronique



Le professeur Jerzy Rozenblit de l'Université d'Arizona vient de recevoir une subvention de 2,2 M$ pour son projet ATRAP (Asymmetric Threat Response and Analysis Project). Il s'agit d'un projet que l'on pourrait qualifier de "data mining" sur des données hétérogènes, visant à analyser les données politico-militaires afin de prévoir les situations à risque. Il est développé avec l'aide du Battle Command Battle Laboratory de Ft. Huachuca (Arizona).

La prédiction de menace et la prévision de crises sont depuis très longtemps des activités critiques qui intéressent au plus haut point les services de renseignement. Toutefois, il s'agit d'une recherche rendue complexe par deux aspects :

  • L'extraordinaire variété des données devant être considérées (qui pose bien évidemment le problème connu de l'analyse de données volumineuses, et du rapport bruit/silence)

  • Le caractère non déterministe du système.

Pour pallier ces deux problèmes, le projet ATRAP utilise une combinaison de techniques à la fois logicielles et matérielles. D'un point de vue logiciel, le projet s'appuie sur la combinaison d'algorithmes bien connus, de deux types: algorithmes évolutionnistes et théorie des jeux. L'approche évolutionniste mêle algorithmes génétiques (une technique bien connue permettant, en faisant "évoluer" une population de réponses à un problème donné, de faire émerger une solution candidate adaptée) et algorithmes de co-évolution. Il s'agit en réalité de faire évoluer une population de situations à risques afin de trouver la meilleure candidate à une menace future. Le système considère ensuite une co-évolution entre les différentes actions (politiques, économiques, sociales, militaires) d'un groupe ou d'une ethnie, et les autres groupes. L'exemple cité par le Pr Rozenblit est le suivant: un groupe gagne de l'influence dans une communauté dans laquelle d'autres ethnies cherchent à conserver leur suprématie ; en retour, ces autres ethnies vont essayer de diminuer l'influence du groupe (il y a donc bien co-évolution entre les solutions possibles au problème de la stabilité de l'influence pour chaque ethnie ou chaque groupe).

Le but est de trouver, in silico, des patterns, donc des motifs caractéristiques, que l'on cherchera à confronter aux observations réelles afin de lever, le cas échéant, des alarmes.

Du point de vue matériel, il s'agit de permettre, computationnellement parlant, une décision rapide à partir des menaces identifiées. Cela nécessite d'utiliser des ressources de calcul importantes; en l'occurrence, il s'agit d'architectures massivement parallèles. Et pour une fois, ce type de techniques n'est pas une réponse générique, mais sans doute une réponse particulièrement appropriée. En effet, les algorithmes évolutionnistes sont intrinsèquement prédisposés à la parallélisation, dans la mesure où le principe même de ces algorithmes est de cribler un espace de recherche en parallèle, par une population de solutions.

A contrario, on peut se poser la question de la parallélisation à outrance de problèmes séquentiels sur des machines parallèles, qui ne sont pas la réponse universelle à tout problème d'allocations de ressource de calcul. Ce sera le sujet d'un autre post.

(Pr Rozenblit, image (c) Jacob Rader)

mardi 9 octobre 2007

Sur le grill...

Ou plutôt sur la grille. Le programme WCG (World Community Grid) est une initiative visant à créer une grille de calcul distribué mondiale, afin de résoudre des problèmes complexes qui, selon les organisateurs, "bénéficieront à l'humanité entière". Il s'agit d'un projet associant plus de 380 partenaires, sponsorisé par IBM, et dont le principe est simple : chaque ordinateur personnel, en veille, peut être considéré comme "noeud" d'un réseau de calcul. On peut donc lui assigner des sous-tâches de calcul (blocs) qui seront ensuite mutualisées puis réintégrées dans une tâche globale. La puissance de calcul de la grille est donc considérable: près de 330 000 membres (chacun pouvant assigner plusieurs machines au projet), et jusqu'à présent, l'équivalent de 117 056 années de calcul!


Les projets abordés sont variés : modèles climatiques, bioinformatique... Donnons un exemple précis, et significatif: le repliement du protéome. Il s'agit d'un projet visant à comprendre les fonctions des protéines sécrétées par l'organisme humain, et qui entre aujourd'hui dans sa seconde tranche. On rappelle que si le génome humain a bien été séquencé, ce sont les protéines, et en particulier les intéractions entre celles-ci, qui sont la clef pour la compréhension des mécanismes du fonctionnement cellulaire. Or c'est la forme tridimensionnelle, donc le repliement en structures complexes (jusqu'à des structures dites quaternaires) des protéines qui est responsable de leur fonction. Le projet a donc deux objectifs : améliorer la compréhension de la physique de la structure de certaines protéines humaines et certaines protéines pathogènes, et prévoir lesdites structures à partir de la séquence d'acides aminés obtenue par décryptage du génome, après traduction des séquences d'ADN codantes. Pour connaître les résultats de la première phase, je vous propose la lecture de l'article suivant : http://biology.plosjournals.org/perlserv/?request=get-document&doi=10.1371/journal.pbio.0050076&ct=1



Mais certains sont allés plus loin, et ont réussi à connecter une console de jeu (en l'occurrence la PS3, dotée du processeur CELL déjà décrit dans un précédent post), au réseau WCG. L'image ci-dessus montre l'écran de la PS3 pendant le calcul effectué par la console. On peut donc imaginer, à l'avenir, des réseaux de joueurs massivement connectés, qui , lorsqu'ils ne sont pas en prise avec le jeu (ce qui est rare chez les vrais hardcore gamers, je l'accorde, mais plus vraisemblable pour les joueurs occasionnels), partagent leurs capacités de calcul avec la recherche fondamentale.
WDC est une initiative ouverte à tous : il suffit de s'inscrire sur le site et de récupérer l'application locale qui fera office d'économiseur d'écran lorsque le PC est inactif. Vous trouverez le site à l'adresse http://www.worldcommunitygrid.org/. Pour s'incrire : http://www.worldcommunitygrid.org/reg/viewRegister.do.