Introduction à l’informatique et applications à la biologie

III - Les booléens (version 3.0)

Prof. Patrick E. Meyer

Complément

  • CTGTTGGA (adn-complémentaire ?)
    • GACAACCT
  • Que donne ces brins en binaire avec la convention CTAG?
    • 0001110101111110

    • 1110001010000001

    • la convention CTAG (et idem ACGT) respecte donc les deux complémentarités (binaire et brin à brin)

    • la convention TAGC ne la respecte pas, pourquoi?

  • Le complément binaire c’est l’opérateur logique NOT

Variable de type logique (ou booléen)

  • variable qui peut prendre deux valeurs: true ou false

  • opérateur d’assignation (=) et opérateur not (!)
    qu’affiche à l’écran le code suivant?

    bool B = true;
    cout << !B;
  • variante

    bool B = 0;
    cout << !B;
  • en C/C++, le (;) marque la fin d’une instruction

  • opérateurs d’assignation différents en C/C++ (=) et en R (<-), par contre le not (!) est commun

Opérateur not et régulation génétique

  • Opérateur NOT (!) complément

    B 0 1
    NOT 1 0
  • Repression transcriptionnelle (par exemple LacZ = !LacI)

Table de vérité

Opéron Lac

  • Table de vérité correspondante à l’operon?

    Lac I 1 1 0 0
    Allolactose 1 0 1 0
  • Lac Z /Y /A 1 0 1 1

Opérateurs binaires principaux

  • AND (&&) intersection des 1

    A 1 1 0 0
    B 1 0 1 0
    AND 1 0 0 0
  • AND Transcriptionnel?

  • OR et XOR Transcriptionnel?

  • OR (||) union des 1

    A 1 1 0 0
    B 1 0 1 0
    OR 1 1 1 0
  • XOR (or exclusif)

    A 1 1 0 0
    B 1 0 1 0
    XOR 0 1 1 0

Alternatives (if- else)

  • if-else condition-instructions

    if(!B)
      A = true;
    else
      A = false;
  • attention à l’indentation

  • on peut combiner les conditions avec AND et OR et ‘()’

  • on peut combiner les instructions avec un bloc ‘{}’

    if((A && B) || B) {
      bool C = true;
      cout << C;
    }

Opérateurs à trois entrées

  • 256 combinaisons

    A 1 1 1 1 0 0 0 0
    B 1 1 0 0 1 1 0 0
    C 1 0 1 0 1 0 1 0
    regle 30 0 0 0 1 1 1 1 0
  • Règle 30 en version graphique:

Automates cellulaires

Règle 30:

Une idée de pourquoi on l’appelle la règle 30?

Règles

Classes

Interferences

  • Conus aulicus

Jeu de la vie (J. H. Conway 1970)

  • On part d’une matrice avec des cellules vivantes (1) et mortes (0)

  • une cellule morte avec trois cellules voisines vivantes devient vivante (elle naît)

  • une cellule vivante avec deux ou trois cellules voisines vivantes le reste, sinon elle meurt

  • Gosper’s glider gun:

Les labyrinthes

  • Arothron multilineatus

Extensions et modélisations

  • étendre le voisinage
  • rajouter des couleurs (des entiers)
  • modélisation
    • propagation épidémie
    • propagation incendie
    • propagation opinion
    • croissance de flocons de neige

Récapitulatif

  • l’assignation

  • les opérateurs logiques (not, and, or, xor)

  • la structure de programmation if-else

  • la notion de bloc en programmation

  • les automates cellulaires et le jeu de la vie

  • les applications en modélisation

    • patterns dans la nature (surfaces)

    • phénomènes de propagation