Problème binaire

patouki -  
Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je dois préparer un contrôle et le service d'étudiant à mon école a posté récemment cette énoncé d'un ancien examen. Le problème c'est qu'il n'y a pas de solution.
Je n'y arrives pas, pouvez-vous me donner des pistes?

http://imageshack.us/photo/my-images/689/sansre1kk.jpg/ 


Je partais sur le principe qu'on puisse dire 3A au lieu de AAA
ou se baser sur la formule 2^(n)-1 pour trouver sur combien de bits compiler tout ça

Merci.

2 réponses

patouki
 
Avec le questionnaire c'est encore mieux !
0
Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour,
Il n'y a que 20 lettre et chaque lettre peut être répétée au maximum 50 fois
: 20*50 = 1000 possibilités en binaire -> 1111101000
Alors on peut représenter une lettre avec le nombre de répétition de celle-ci sur 10bits au lieu de 11bits si vous utilisez la méthode 3A [6bits+5bits].
Ça c'est pour chaque acide aminé peut importe la séquence, mais pas pour une séquence particulière où il y a la possibilité pour que moins de 20 lettres soit utilisé et moins de 50 répétitions.
Dans l'exemple :
AAABBBBBUUEEEEGGHHHHHHHKKJJJJJJLLLLLLLLLLBB
le max de répétition c'est le L 10 fois et il n'y a que 9 lettres donc au plus simple, le plus facile :
9*10=90 -> 1011010, 7bits max
C'est une chaîne de 10 acides aminés : 10*7 = 70 bits pour cette protéine. On gagne 30bits par rapport à la première méthode. Cependant il faut établir un format pour décoder et c'est là qu'on y perd :
On peut commencer le code de la protéine par 20bits pour établir les lettres utilisées parmi les 20 lettres : 1 est utilisée, 0 n'est pas utilisée.
Et 4bits pour préciser la taille de chaque lettre (max étant 10 en décimal représentable sur 4bits:1010) avec l'exemple ici le code sera 0111 pour 7.
Ensuite attribuer les codes par ordre croissant sur l'alphabet :
l'ordre d'attribution : ABEGHJKLU
Au final sur cette protéine avec cette méthode 70+20+4=94 bits seulement un gain de 6bits... gain variable en fonction de la séquence

Edit : divers
0