QLog (Quantized Log)

Wiki Constitution

Classé dans : Politique — Sebastiao Correia 2 décembre 2006 @ 1:37
Imprimer ce billet Imprimer ce billet

Voici une initiative bien intéressante : Un Wiki pour établir une Constitution Citoyenne.

Sur le principe de l’encyclopédie libre Wikipedia, l’opportunité est offerte à tout un chacun de participer à la rédaction d’une constitution pour l’Europe. Peut-on faire plus démocratique ?
L’objectif général est clairement affiché :

Il est question ici d’écrire nous-même notre Constitution : une Constitution d’origine citoyenne, écrite par les citoyens pour les citoyens.

Cette initiative d’Etienne Chouard est issue du NON français au Traité de Constitution pour l’Europe.

Le compromis jagiellonien – un pas vers la démocratie ?

Classé dans : Politique, Science — Sebastiao Correia @ 1:02
Imprimer ce billet Imprimer ce billet

Pour compléter ma note sur Un système de vote démocratique, voici une traduction et résumé de l’article paru dans la revue Physics World :

Depuis le « Non » des Pays-Bas et de la France au TCE, des physiciens et mathématiciens tentent d’appliquer leur savoir-faire en statistique pour proposer une solution au problème de distribution des votes entre les états membres du Conseil des Ministres, l’organe principal de prise de décisions de l’Union Européenne.

Le Conseil des Ministres est constitué de représentants politiques de chaque état membre qui votent au nom de leur pays respectif. Pour assurer que l’influence du vote de chaque pays reflète la taille de la population, sans pour autant « écraser » la voix des petits pays, les règles actuelles (celles du Traité de Nice de 2000) sont fondées sur un système compliqué appelé le « vote à la majorité qualifiée« . La voix de chaque représentant de pays est pondérée (avec un poids reflétant vaguement la taille de sa population) et pour qu’une proposition soit acceptée, il faut que 72% du poids total soit en sa faveur. De plus, il faut qu’au moins 13 pays sur les 25 états membres supportent la proposition et la population de ces 13 pays doit dépasser 62% de la population totale.

(Cela fait 3 points à vérifier pour qu’une proposition soit acceptée par le Conseil. Et il ne semble pas exister de justification raisonnable de ces règles).

Pour le TCE, les ministres ont voulu simplifier ce système en définissant la majorité qualifiée selon 2 règles :

  1. Les états membres supportant une proposition doivent représenter plus de 60% de la population de l’Union Européenne.
  2. et la majorité des états doivent la supporter (donc 13 états sur 25).

Bien que ce système soit simplifié et retire un peu de pouvoir aux pays à forte population par rapport au Traité de Nice, il a encore des défauts. Les gros pays (grande population) gardent un pouvoir de décision plus fort que les autres et les petits pays gagnent un pouvoir de décision disproportionné par rapport à leur taille. Ces effets combinés diminuent l’influence que peuvent avoir les pays moyens comme la Pologne ou l’Espagne.

Selon l’article des auteurs, il est possible de définir un système de vote sans ces défauts, dans lequel chaque citoyen de chaque état membre aurait le même pouvoir pour influencer les décisions prises en leur nom. Le système proposé est transparent, facile à mettre en oeuvre, efficace et gère sans problème l’ajout de nouveaux pays à l’Europe.

Les inconvénients inhérents au système de vote tel que celui de la Constitution Européenne sont connus depuis 1952 grâce au psychiatre et mathématicien Lionel Penrose (le père du physicien Roger et du mathématicien Olivier). Penrose a montré qu’un tel système favorisait les gros pays.

Penrose a envisagé un système plus juste fondée sur la loi de la racine carrée. Il a remarqué que lors des élections des représentants politiques dans un pays avec une population de taille N, un citoyen votant dans un gros pays a moins d’influence sur le résultat du vote qu’un citoyen votant dans un petit pays. Puisqu’un vote individuel particulier ne peut changer le résultat de l’élection que dans le cas d’un équilibre entre les différents représentants, le « pouvoir de vote » (ma traduction de « voting power« ) d’un citoyen doit être proportionnel à la probabilité qu’une telle configuration (d’égalité entre les parties) se produise. En prenant pour hypothèse que les votes ne sont pas corrélés, Penrose a calculé que cette probabilité est proportionnelle à 1/sqrt{N}, l’inverse de la racine carrée de N (la taille de la population).
Dans le cas de l’Europe, le gouvernement élu nomme ensuite un ministre pour voter au nom du pays dans le Conseil des Ministres, où le système de vote devrait idéalement représenter les vues de chaque citoyen européen de façon égalitaire quelque soit sa nationalité. Il s’ensuit que le poids du vote de chaque pays devrait être proportionnel à la racine carrée de sa population, afin de compenser le facteur inverse de la racine carrée de N.

La loi de la racine carrée de Penrose a été proposée comme base d’un système de vote pour le Conseil des Ministres en 1998 par Annick Laruelle de l’Université Catholique de Louvain en Belgique et Mika Widgren de la « Turku School of Economics and Business Administration » de Finlande.

Cependant, cette loi de Penrose affectant un poids au vote d’un pays n’est pas suffisante, car elle ne garantit pas que le pays peut exercer son pouvoir dans la prise de décisions. Un contre-exemple simple est donné avec deux pays ayant respectivement un vote pesant 51% et 49%, et un système qui adopte toute proposition s’il y a une simple majorité de votes (majorité qualifiée à 50%). Le pays ayant une voix pesant 51% gagnerait à chaque fois. Il aurait un pouvoir de vote de 100%. Il est donc nécessaire de distinguer entre pouvoir de vote et poids d’un vote. Un tel cas s’est produit (pendant 15 ans !) dans l’ancienne CEE : le Luxembourg avait un vote qui semblait représenter un poids plus lourd que ne le méritait sa petite population, mais malgré cela, son vote n’avait strictement aucune influence sur les décisions prises. Son pouvoir de vote était de 0. Autrement dit, aucune alliance de pays n’avait besoin du vote du Luxembourg pour faire pencher la balance de son côté.

Pour généraliser, un pays a du pouvoir de vote lorsque son vote peut être décisif en cas de ballottage. Ce concept peut être formalisé en considérant toutes les coalitions possibles dans lesquelles un pays peut prendre part. Le pouvoir de vote est défini numériquement comme la proportion de coalitions dans lesquelles le vote d’un pays est décisif. Cette proportion a été trouvée indépendamment par Penrose en 1946 et par l’américain John Banzhaf en 1965, et est connue sous le nom d’index de Banzhaf.

Les 25 états de l’Union Européenne peuvent former plus de 33.5 millions de coalitions (ce sera 4 fois plus avec la Roumanie et la Bulgarie). Pour un choix de poids et une règle de majorité qualifiée donnés, il est possible de calculer les cas où un pays a un vote décisif pour chacune de ces coalitions. En d’autres mots, le pouvoir de vote d’un état, mesuré par l’index de Banzhaf, peut être calculé.

Le compromis jagiellonien.

Sachant calculé le pouvoir de vote de chaque état pour chaque système de vote, les auteurs ont cherché un système qui distribue ce pouvoir selon la loi de Penrose.

En 2004, un des auteurs a proposé un système fondé sur un seul critère : le poids d’un vote d’un état membre doit être proportionnel à la racine carrée de sa population et la décision est prise si la somme des poids des pays votant en sa faveur dépasse 62% du poids total. Ce système est très simple, mais les auteurs se sont posé la question de savoir d’où venait ce seuil de 62%. Ils ont calculé la façon dont varie le pouvoir de vote (l’index de Banzhaf) en fonction de ce seuil et ont observé un « point critique » : lorsque la majorité qualifiée s’approche de la valeur de 62%, le pouvoir de vote de chaque pays devient égal au poids du vote indépendament de la taille de sa population. A ce seuil, le pouvoir de vote est donc égal à la racine carré de la population.

La loi de Penrose est donc respectée et chaque citoyen a le même pouvoir de vote, avec un système de vote plus simple que celui du TCE ou du Traité de Nice. Par ailleurs, tout élargissement de l’Europe conduit à recalculer le seuil de la règle de la majorité qualifiée. Par exemple, il serait de 61.4% pour une Europe à 27.

Le système proposé par ces auteurs a fortement intéressé les experts de la théorie des votes et a été appelé « compromis jagiellionien » par les media. Avant le sommet européen à Bruxelle en juin 2004, une lettre ouverte en faveur de ce système de vote pour le Conseil des Ministres soutenue par plus de 40 scientifiques dans 10 pays européens a été envoyée aux institutions européennes et aux gouvernements des états membres.

La réaction des politiques a été diverse, mais a plus dépendu de la façon dont le pays concerné été affecté par le partage des votes que des critères universels tels que la simplicité et l’objectivité. Quand un système semblable a été mis en avant par les diplomates suédois en 2000, le premier ministre suédois Göran Persson a dit « Notre formule a l’avantage d’être facilement comprise par l’opinion publique et pratique à utiliser dans une Europe élargie… C’est transparent, logique et loyal. Peut-être que c’est pour cela que ça ne plaît pas à tout le monde. » Le précédent premier ministre irlandais John Burton a aussi fait un grand nombre de louanges aux système de vote fondés sur la loi de Penrose et le compromis jagiellonien a été soutenu par plusieurs politiques en Pologne et a été étudié par des chercheurs du gouvernement anglais en 2004.

Le compromis jagiellonien offre aux futurs négociateurs un système simple, mais objectif fondé sur des principes rationnels qui garantissent un même pouvoir pour tous les citoyens d’Europe.

Modélisation dimensionnelle 4

Classé dans : Aide à la décision — Sebastiao Correia 30 novembre 2006 @ 23:17
Imprimer ce billet Imprimer ce billet

Le chapitre 4 aborde les questions à se poser pour modéliser la ou les tables de faits et présente différentes façons de gérer les changements dans les dimensions.

Comment choisir s’il est utile ou non de créer plusieurs tables de faits ? Les questions suivantes peuvent orienter le choix :

  • Quels sont les besoins d’analyse de l’utilisateur ?
  • Les processus sont-ils distincts ou n’y a-t-il qu’un processus ?
  • Les données proviennent-elles de plusieurs applications ?
  • Les dimensions sont-elles différentes selon les types de fait ?

Prise en considération de l’évolution lente des dimensions
Il y a 3 techniques et 2 approches hybrides :

  1. Ecraser la valeur de l’attribut ayant été modifié. Cette solution est valable pour des modifications de type correction. Elle ne conserve aucune trace du changement. Attention, elle nécessite un recalcul des agrégats éventuels.
  2. Ajouter une ligne dans la table dimension avec une clé artificielle différente (mais conservant le code identifiant la dimension, par ex. le code produit dans le cas d’une dimension produit). C’est la principale technique permettant de suivre correctement les attributs des dimensions à évolution lente. Il est possible d’ajouter une date d’effet et/ou une date d’expiration de la ligne, mais elles ne sont pas nécessaires. Grâce à un calcul de CRC, il est possible d’enregistrer automatiquement les changements d’une ligne sans avoir à comparer dans le détail chaque champ. Cette technique est cependant difficilement applicable si la table de dimension a déjà plus d’un million de lignes.
  3. Ajouter une colonne de dimension contenant l’état antérieur à la modification. Cette solution est intéressante si on veut pouvoir coparer l’effet du changement avec l’ancien état (cas d’un changement de secteur vendeur par ex.). Mais elle n’est pas adaptée s’il y a beaucoup de changements.

Outre ces 3 techniques, il y a 2 autres techniques hybrides utilisables lors de

  1. changements prévisibles. Dans ce cas et si l’on souhaite calculer les états selon les différents changements mais sans la segmentation temporelle (par ex. étudier les effets des différentes définitions des secteurs vendeurs), alors il faut ajouter une colonne selon la technique 3 pour chaque changement.
  2. changements imprévisibles avec application aux données antérieures de la version actuelle de l’attribut modifié. L’intérêt est de préserver la vision exacte du passé en gardant la possibilité de présenter les données antérieures selon les valeurs actuelles de l’attribut modifié. Cette approche mélange les techniques 1, 2 et 3.

Source : Ralph Kimball et Margy Ross, « Entrepôts de données, guide pratique de modélisation dimensionnelle« , 2ième édition.

Surveillance mondiale des épidémies avec Google Map

Classé dans : Général — Sebastiao Correia 29 novembre 2006 @ 23:23
Imprimer ce billet Imprimer ce billet

Voici une carte pour la surveillance des épidémies dans le monde :
HEALTHmap | Global disease alert mapping system.

Temps et thermodynamique quantique – Alain Connes – 22 nov. 2006

Classé dans : Physique — Sebastiao Correia 28 novembre 2006 @ 23:20
Imprimer ce billet Imprimer ce billet

C’est toujours un plaisir d’écouter Alain Connes lors de ses exposés, même si je n’ai pas vraiment le niveau mathématique pour bien comprendre tout ce qu’il présente. J’essaie de présenter ci-après les notes que j’ai pu prendre durant la conférence en ajoutant quelques liens sur divers articles en rapport avec le sujet.

Mise en garde : Il se peut bien sûr que dans ces notes, des erreurs aient pu se glisser du fait de ma mauvaise connaissance de certains des domaines abordés. Je remercie l’éventuel lecteur expert qui laissera un commentaire permettant de corriger ces erreurs.

Pour cette journée sur Boltzmann, Alain Connes nous présente un lien entre la thermodynamique quantique et le temps.
Dans l’ensemble canonique, l’état de Gibbs d’un opérateur A est donné par phi (A) = Z^{-1} tr(A e^{-beta H} ).
Dans la représentation de Heisenberg, l’opérateur A dépend du temps :
sigma_t (A) = e^{itH} A e^{-itH}, où H est le hamiltonien. La dynamique est donnée par un groupe d’automorphismes à un paramètre de l’algèbre des observables A right sigma_t (A).

Le point essentiel de l’exposé est la condition KMS qui relie un état à son évolution dans le temps :

F_{x,y} (t) = phi (x sigma_t (y))
F_{x,y} (t + i beta) = phi ( sigma_t (y) x)   forall t in R

Le temps imaginaire permet l’échange de x et y.

En 1967, Tomita montre qu’il existe un unique groupe à un paramètre qui vérifie la condition KMS pour beta=1 pour une algèbre de von Neumann.
Dans sa thèse en 1972, Alain Connes montre qu’une algèbre de von Neumann possède une évolution canonique. Une algèbre non commutative « tourne » avec le temps, elle a une période. La non-commutativité implique l’évolution. De la non-commutativité surgit un paramètre qui ressemble au temps.

La question que se pose Alain Connes par la suite est de savoir si cette évolution est liée au temps.

En 1992, Rovelli propose une origine thermodynamique du temps. La question devient alors : « Quelle est la notion de temps impliquée en gravité quantique ? »

Connes et Rovelli ont publié ensemble un article sur cette question.

D’après l’article de Tomita, chaque fois qu’on se donne un état, on a donc un groupe à un paramètre. En prenant comme état initial le bain thermique dans l’univers (le rayonnement à 3K), et en se rappelant notre déplacement par rapport à ce rayonnement, on note que l’invariance de Lorentz est brisée par ce déplacement. Le soleil se déplace en effet à 370km/s par rapport à ce bain thermique et notre galaxie à plus de 600km/s. (Connes fait remarquer que si ce rayonnement avait été découvert au 19ième siècle, il aurait pu être à tort pris pour l’éther.) Notre temps apparaît comme le paramètre naturel obtenu si l’on part avec l’état initial donné par le fond cosmologique.

Frobenius en caractéristique zéro et lien avec la théorie des nombres. (Désolé, je n’ai pas assez bien suivi ce passage pour le retranscrire ici).

Thermodynamique des espaces non-commutatifs (ENC).

Un ENC a une évolution dans le temps, donc un groupe à un paramètre. Il est possible de changer la température pour « refroidir » un ENC : on cherche les états KMS pour beta {>} 1″ title= »beta {>} 1″/>. Parmi les différents états possibles, on regarde les états extrémaux.</p>
<p>Les zéros de la fonction zeta de Riemann apparaissent à partir de ce système (endomotifs) .</p>
<p>On veut une théorie cohomologique compatible avec la théorie de Galois.</p>
<p>La fonction de partition <img src= correspond à la fonction zeta de Riemann. A son pôle beta = 1 correspond un système quantique.

KMS et la transition de phase électrofaible.

Dans le modèle standard, on a une brisure spontanée de symétrie due à un potentiel quartique (double puits) pour lequel il y a brisure de symétrie. Si la température augmente, le potentiel n’a plus qu’un puits et la symétrie est restaurée. En relativité, dès qu’on fait de la géométrie, il y a brisure de la symétrie qui permet d’échanger toutes les géométries.

Il existe un ensemble d’analogies entre les Q-Réseaux et la gravité quantique qui ne demandent qu’à être approfondies.

Alain Connes a une théorie qui redonne la gravitation quantique et le modèle standard. Elle suggère qu’il est illusoire de chercher une théorie de gravité quantique sur un seul espace-temps fixe.

Le décalage vers le rouge est une homothétie sur les fréquences, ce n’est pas une translation. Le télescope Hubble a permis d’observer un décalage d’un facteur 100.

Une image thermodynamique de la gravitation commence à se faire jour.

Pour approfondir :

Sur la condition KMS : R. Haag, N. Hugenholz and M. Winnink, Commun. Math. Phys. 5, 215 (1967).

Note : Ce résumé ne permet certainement pas de comprendre clairement ce qu’a exposé Alain Connes, mais j’espère qu’il offre tout de même quelques pistes pour étudier plus précisément le sujet.

Modélisation dimensionnelle 3

Classé dans : Aide à la décision — Sebastiao Correia 23 novembre 2006 @ 21:32
Imprimer ce billet Imprimer ce billet

On s’intéresse ici à la chaîne de valeur, aux différents modèles de stocks et à l’architecture de bus entre autres choses.

La chaîne de valeur décrit le flux logique des activités principales d’une organisation. Par exemple, pour un ditributeur, on peut avoir la chaîne de valeur suivante :

Commande émise par le détaillant -> livraison à l’entrepôt du détaillant -> stock de l’entrepôt du détaillant -> livraisons aux mag. de détail -> stock du mag. de détail -> ventes mag. de détail.

Alors que le chapitre 2 du livre traitait des ventes de produits (à l’aide de faits additifs), le présent chapitre traite de la gestion de stocks. Dans ce processus, les stocks d’hier ne sont pas nécessairement complètement différents des stocks d’aujourd’hui. Dans un instantané de stocks, les faits de stock (par ex. valeur au coût en euros) sont dits semi-additifs, car ils ne sont pas additifs selon toutes les dimensions.

Toutes les mesures enregistrant un niveau à un moment donné (niveaux de stock, solde de compte et mesures d’intensité telles que des températures) sont intrinsèquement non additives sur les dimensions date et éventuellement sur d’autres dimensions. De telles mesures peuvent être agrégées utilement dans le temps, par exemple, en faisant la moyenne des différentes périodes.

Des quantités non additives ne sont pas stockées dans la table de faits. Par exemple le retour de marge brute sur stock (RMBSS) qui mesure la qualité de l’investissement de l’entreprise dans ses stocks n’est pas stocké dans la table de faits, mais les informations permettant de le calculer sont stockées.

Une autre façon de modéliser les stocks est via une table de transactions de stock. Seule une table de faits au grain de la transaction permet de répondre à des questions très fines comme celles portant sur le nombre de produits mis dans un casier puis prélevés le même jour ou encore les produits renvoyés au fournisseur…
Cependant, ce type de table ne suffit pas pour toutes les analyses même si en théorie, il est possible de retrouver les cumuls des stocks.

Un 3ième type de table de faits de stock est l’instantané récapitulatif. La table de faits a de multiples clés externes basées sur des dates dans une ligne qui récapitule la vie du produit.

Un bus d’entreprise est indispensable à la construction d’un entrepôt de données. Il permet de réaliser les différents marchés d’infos à différents moments par différentes équipes de développement.
La matrice de bus est le document le plus important de la phase amont de la réalisation d’un entrepôt. Les lignes de cette matrice sont les processus de l’entreprise, les colonnes sont les dimensions. En lisant une ligne, on a toutes les dimensions d’un processus. En lisant une colonne, on a les dimensions partagées entre les processus et donc les interactions entre processus. Ce document peut servir en fait à la conception de l’ensemble de l’entrepôt, à la gestion du projet et à la communication.
Sans ce document pour assurer une cohérence globale, il est fort probable que chaque marché d’infos devienne incompatible avec les autres.

Le forage transverse (drill accross) devient possible lorsque plusieurs tables de faits partagent des dimensions.
Pour être partagée entre différents marchés d’infos, une dimension doit être conformes, i.e. « identique à la dimension la plus granulaire et la plus détaillée » (ou un sous-ensemble strict de cette dernière) avec les mêmes clés de dimension et les mêmes noms de colonnes d’attributs. Pour partager des dimensions, l’organisation doit définir un groupe de personnes (une autorité de dimension) pour gérer et diffuser les dimensions conformes (à l’aide d’une publication de type push pour garantir la cohérence au sein de l’entreprise).

Outre cette mise en conformité des dimensions (qui représente 90% du travail), il y a aussi la mise en conformité des faits. En particulier, il est crucial que des faits conformes aient le nom si et seulement s’ils ont la même interprétation.

Source : Ralph Kimball et Margy Ross, « Entrepôts de données, guide pratique de modélisation dimensionnelle« , 2ième édition.

Séminaires AssoMat/Matière première

Classé dans : Rendez-vous — Sebastiao Correia @ 14:41
Imprimer ce billet Imprimer ce billet

Explication, modélisation, simulation :
problèmes pour l’unité de la science (2)

Lieu : Muséum national d’histoire naturelle, amphithéâtre Rouelle (bâtiment de la
Baleine), 57 rue Cuvier, 75005 Paris, après le porche, à gauche, contourner le grand amphi,
passer devant les kangourous, porte grise en face.
De 18 h 00 à 20 h 00 (ou 20 h 30, si besoin) (entrée libre).

Le programme en pdf est sur le site « Automates Intelligents ».

Les prochaines dates sont :
12 décembre 2006 : Michel Kerszberg (biophysicien, Paris 6)
Titre : La mécanique de l’embryon
9 janvier 2007 : Jean-Sébastien Pierre (biologiste, université de Rennes).
Titre : Théorie des jeux : usages et mésusages en biologie
13 février 2007 : Juan Rodriguez-Carvajal (physicien, Institut Laue-Langevin, Grenoble).
Titre : Modélisation et simulation en physique de la matière condensée. Systèmes, niveaux,
réduction et émergence
13 mars 2007 : Denis Couvet (écologue, MNHN).
Titre : Les apports de la théorie neutre de la biodiversité en écologie théorique et appliquée
10 avril 2007 : Anouk Barberousse (épistémologue, IHPST)
Titre : Simulations numériques et expériences
15 mai 2007 : Jean Lassègue (philosophe, CREA)
Titre : Formel et forme chez Turing
12 juin 2007 : Bernard Walliser (économiste, Ponts-et-Chaussées)
Titre provisoire : Les modèles de l’économie cognitive

Modélisation dimensionnelle 2

Classé dans : Aide à la décision — Sebastiao Correia 21 novembre 2006 @ 23:48
Imprimer ce billet Imprimer ce billet

Nous allons voir maintenant le processus de modélisation dimensionnelle en 4 étapes.

  1. Sélectionner le processus d’entreprise à modéliser. Le but étant de servir l’utilisateur et que celui-ci utilise l’entrepôt de données pour ses questions, le premier modèle dimensionnel à construire doit répondre aux questions les plus pressantes de l’utilisateur et les données doivent être les plus faciles à extraire.
  2. Déclaration du grain. Il faut utiliser les données les plus atomiques à notre disposition. Ne pas agréger les données en faisant des sommes et en perdant de la finesse et de l’information. Le but n’est pas de présenter à l’utilisateur tous les détails du processus, mais de lui offrir la possibilité d’analyser aussi facilement que possible selon diverses manières, à l’aide de coupes en tranches et en dés du cube de données.
  3. Identification des dimensions. « L’énoncé précis du grain détermine les dimensions principales de la table de faits. » D’autres dimensions peuvent être ajoutées si elles ne prennent qu’une seule valeur pour chaque combinaison des dimensions élémentaires.
  4. Identifications des faits. Les faits sont des quantités numériques généralement additives. Les pourcentages, les ratios sont des données non additives.et doivent être stockées dans la table de faits en séparant numérateur et dénominateur pour n’avoir que des quantités additives.

La dimension date apparaît dans quasiment tous les entrepôts de données. Si la table contient les jours des 10 ans à venir, son nombre de lignes est de 3650 seulement. C’est donc une dimension relativement petite. Ses attributs peuvent être : une clé primaire entière, la date, la description textuelle de la date, le jour de la semaine, les n° de jour, de semaine et de mois dans l’époque, les n° de jour dans le mois calendrier, dans l’année calendrier, le nom du mois, le n° du mois dans l’année, le trimestre, l’année, des indicateurs de jour férié, de jour de semaine, une saison particulière pour l’entreprise, un événement majeur…

Pour gérer l’heure de la journée, il est préférable d’ajouter une table de dimension supplémentaire, et de ne pas les mettre dans la table date qui aurait alors 5 256 000 lignes !

Il y a plusieurs intérêts à prendre une clé primaire entière : étant utilisée dans la jointure avec la table de faits, plus la clé est petite, plus on économise de la place dans la table de faits (4 octets économisés sur 1 milliard de lignes fait 4Go d’économie !). Cela permet aussi de traiter l’absence de date avec une clé particulière plutôt qu’une valeur nulle. D’une façon générale, il faut éviter les clés null dans la table de faits. Pour indiquer qu’une dimension ne s’applique pas à un fait, il est conseillé d’ajouter une ligne particulière dans la table dimension (ex. : ajouter une ligne pas de promotion dans la dimension promotion).
Les tables dimensions étant de petites tailles, leurs attributs doivent être autant que possible des champs en texte clair et non des codes (qu’il faut ensuite décodés ou que l’utilisateur doit connaître et se souvenir). Il n’y a aucun besoin d’économie de place dans les tables dimensions.

Pour analyser ses données, l’utilisateur pratique le forage (datamining). Un forage vers le bas dans un marché d’informations consiste à ajouter des intitulés (valeurs de champ) de la table de dimension dans la requête. Le forage vers le haut est l’inverse : retirer des intitulés. Le forage permet une navigation dans une hiérarchie.

« Il est courant de représenter de multiples hiérarchies dans une table de dimension. »

Dimension dégénérée : cette notion apparaît lorsqu’un champ de la table de faits permettant d’identifier de façon unique une ligne (ex. n° de facture ou de commande). Ces numéros d’identification opérationnels sont les clés de dimensions vides, c-à-d ne pointant pas sur une table de dimension. La dimension engendrée par ces clés est dite dégénérée.

Voici différents cas d’extension du modèle dimensionnel :

  1. Ajout de nouveaux attributs de dimension (nouvelles colonnes dans la table dimension). Les applications existantes requêtant sur l’entrepôt de données ne sont pas impactées. Si ces nouveaux attributs ne sont disponibles qu’à partir d’une date donnée, il convient de mettre un libellé particulier (par ex . « non disponible ») pour les anciens enregistrements.
  2. Ajout de nouvelles dimensions. Cela implique d’ajouter une nouvelle clé étrangère dans la table de faits.
  3. Ajout de nouveaux faits. Si ces faits sont au même grain que les faits existants, il suffit d’ajouter autant de colonnes dans la table de faits. S’ils n’apparaissent qu’à partir d’une certaine date, il suffit de mettre la valeur null dans les lignes de faits antérieurs. S’ils ne sont pas au même grain, il est fortement conseillé de les mettre dans une table de faits à part.
  4. Si une dimension devient plus granulaire, la table de faits devient probablement aussi plus granulaire et elle doit être reconstruite. Les applications existantes ne seront cependant pas impactées.
  5. Ajout d’une nouvelles source de données avec les dimensions existantes et de nouvelles dimensions imprévues. Dans ce cas, il faut créer une nouvelle table de faits et conserver l’ancienne.

Modèle dimensionnel en flocons de neige. Ce modèle résulte de la normalisation en 3ième forme normale des dimensions. Il est déconseillé de normaliser les tables de dimension pour plusieurs raisons :

  1. La multiplication des tables de dimension peut perturber les utilisateurs.
  2. Les SGDB auront un traitement moins optimisé.
  3. L’économie d’espace réalisée est négligeable comparée à la taille de la table de faits.
  4. La navigation à l’intérieur d’une dimension est plus difficile.
  5. Les flocons de neige empêchent l’utilisation des index sous forme de bitmaps (utiles pour les champs de faible cardinalité).

Les tables de dimensions doivent donc rester plates.

A éviter également : dépasser 25 dimensions. En général, on peut s’en sortir avec moins de 15 dimensions.

Toute jointure entre des tables de dimension et des tables de faits doit se baser sur des clés entières artificielles sans signification. Eviter les codes opérationnels qui prennent plus de place et peuvent ne pas être pérennes. Aussi l’absence d’une dimension n’a pas de code opérationnel associé. De plus les clés entières permettent de meilleures performances.

Source : Ralph Kimball et Margy Ross, « Entrepôts de données, guide pratique de modélisation dimensionnelle« , 2ième édition.

Sécurité du cryptage par clé asymétrique

Classé dans : Cryptographie — Sebastiao Correia 20 novembre 2006 @ 19:34
Imprimer ce billet Imprimer ce billet

Un article alarmiste du Monde annonce une faille dans le système de cryptage actuel utilisé un peu partout sur Internet et en particulier pour le commerce en ligne. L’article est un peu confus, mais on y apprend tout de même qu’il existe un moyen de casser des codes asymétriques à partir de l’analyse des temps de calcul du processeur.

On peut résumer ainsi le principe de l’attaque : pour aller toujours plus vite, le processeur fonctionne en parallèle et dispose d’un système de prédiction du résultat de l’opération en cours. Si la prédiction est bonne, le processus est sensiblement accéléré. Si elle est erronée, il faut revenir en arrière et recommencer l’opération élémentaire. Il « suffit » de mesurer le temps de calcul lorsque le processeur égrène la chaîne de 0 et de 1 qui constitue la clé de cryptage pour en déduire celle-ci.

Cette menace, qui porte le nom d’ »analyse de prédiction de branche » (BPA), était déjà connue, mais elle nécessitait de très nombreux essais pour déduire de façon statistique la clé de cryptage. Ce qui la rendait impraticable. La percée de Jean-Pierre Seifert tient à ce qu’une seule écoute est désormais nécessaire. Et sa force réside dans le fait que le processus de prédiction, fondamental pour accélérer les performances du processeur, n’est pas protégé.

Un petit logiciel « taupe » pourrait donc écouter la puce en toute discrétion, et renvoyer la clé à des hackers, à des services de renseignement ou à des espions à la solde de concurrents.

Il est également intéressant de lire les commentaires des lecteurs de l’article du Monde.

L’analyse de prédiction de branche est présentée dans un article plus technique de Seifert.

Source :

Modélisation dimensionnelle 1

Classé dans : Aide à la décision — Sebastiao Correia 18 novembre 2006 @ 18:11
Imprimer ce billet Imprimer ce billet

Généralités sur l’entrepôt de données.

  1. L’entrepôt de données doit faciliter l’accès aux données de l’entreprise ou organisation.
  2. Il doit présenter l’information de l’entreprise de manière cohérente.
  3. Il doit être adaptable et résistant aux changements.
  4. Il rassemble une grande richesse informationnelle qui doit être protégée.
  5. Il doit permettre de prendre des décisions.
  6. Un entrepôt de données n’est réussi que s’il est accepté par les utilisateurs.

L’environnement de l’entrepôt de données se compose de 4 parties :

  1. les applications opérationnelles sources, qui capturent les transactions de l’entreprise. Elles sont extérieures à l’entrepôt.
  2. La zone de préparation des données. C’est une zone de stockage et de transformation des données. Elle prépare les données pour être présentée selon les besoins des utilisateurs. Les utilisateurs ne doivent en aucun cas avoir accès à cette zone. La base de données de cette zone n’est pas nécessairement normalisée.
  3. La zone de présentation des données. C’est la base optimisée pour les requêtes des utilisateurs, pour les outils de reporting et autres applications d’analyse. Elle n’est pas normalisée en 3ième forme normale, mais comporte en général une table de faits entourée de tables de dimensions pour former un schéma en étoile. Les données doivent être dimensionnelles, atomiques et doivent adhérer à l’architecture de bus d’entrepôts de données.
  4. Des outils d’accès aux données allant du SQL simple aux outils de reporting genre Business Objects.

Table de faits : C’est la table centrale dans laquelle figure toutes les mesures à un grain donné. Le grain étant la finesse à de la mesure. Les faits sont la plupart du temps numérique et additifs.

Tables de dimension : Elle sont le point d’entrée dans la table des faits. Elles décrivent un axe d’analyse (dimension date, dimension produit, dimension client…). Elles établissent l’interface homme/entrepôt de données.

Les tables de faits doivent contenir les plus petits détails d’une activité. Ce sont les plus grosses tables de l’entrepôt de données. Une ligne de cette table décrit un fait, par ex. le prix en caisse d’un article tel jour, avec telle promotion, dans tel magasin. Le prix est la quantité numérique qui nous intéressent et l’article, la promotion et le magasin sont les dimensions stockées dans leur propre table.

Le marché d’infos sert à présenter en général les données d’un processus de l’entreprise à l’aide du modèle dimensionnel dit en étoile.
La construction d’un modèle en étoile permet de facilement ajouter des dimensions, et la simplicité du schéma relationnel permet d’avoir des requêtes optimisées.

Source : Ralph Kimball et Margy Ross, « Entrepôts de données, guide pratique de modélisation dimensionnelle« , 2ième édition.

<<< Page Précédente - Page Suivante >>>