mercredi 9 novembre 2011

tintin : oui mais bof

Samedi, direction le cinéma pour aller voir tintin avec les gars.
Pas vraiment motivé mais les filles allaient voir intouchables, impossible d'imaginer mes têtes blondes de 4,8 et 12 ans devant le même film. Donc, tintin.

bande annonce et publicité super longue, Tom (4 ans) commençait déjà à en avoir marre, il me demande plusieurs fois quand le film commence. ça part mal ! Enfin, après une petite demi heure (!), le film commence.

 Les premières images sont réellement bluffantes, le dessin hyper réaliste donne un peu le vertige. C'est tellement vrai, les expressions du visage, les effets de lumière, les mouvements... et puis, ç'est comme tout, on fini par se lasser et on se laisse uniquement porté par l'histoire.

La filiation avec Indiana Jones est évidente (ou plutôt l'inverse), on voit vraiment de Spielberg s'est largement inspiré du héro d'Hergé pour créer son personnage. Ca court, ca saute, on circule au 4 coins du monde, du tintin quoi ! Pas de déception, on est vraiment dans l'univers de la BD. Le réalisateur n'a pas pris le partie de certains réalisateurs (suivez mon regard) qui prenne une BD comme point de départ d'un film mais ce sente obligé d'inventer une histoire complètement nouvelle (non je n'ai pas parlé d'Adèle Blanc Sec !). Pas de surprise, on est en univers connu.

Au final, bilan des courses ?

  •  Simon 12 ans, bof, un peu cul-cul pour lui, après Real Steel de la semaine dernière, tintin c'est carrément bof. 
  • Tom 4 ans, trop long, s'est fait chié, m'a demandé 10 fois quand est-ce que c'est fini, 2 heures et des bananes c'est largement trop long. Et puis tintin c'est un peu bavard. Dans la tête de Tom, ça restera pas un grand souvenir. 
  • Andrea, 8 ans, lui, je crois qu'il a aimé. C'est bien simple, sitôt rentré à la maison il s'est plongé dans les albums, albums qu'il n'avait jamais touché auparavant, peut-être une vocation qui commence. 
  •  Et moi ? bof, pas passé un mauvais moment mais il ne restera pas grand chose, je ne reverrait pas ce film une seconde fois, ni mes gars non plus. 
 Par contre, juste pour signaler qu'on a vu la nouvelle bande annonce du chat Potté et là, on sent vraiment le gros gros potentiel. Les rires de Tom à coté de moi me signalant que là, tout le monde devrait être d'accord !

vendredi 4 novembre 2011

Tour de hanoi - exercice de style

Vous connaissez le problème des tours de Hanoi ? c'est un petit problème algorithmique assez marrant à résoudre. vous pouvez trouver le détail sur la page dédié sur wikipedia, pour faire simple, le problème est le suivant :

vous avez des disques empilés sur une tour de départ. Le but va être de les déplacer sur une tour d'arrivée en vous aidant d'une tour intermédiaire. Jusque là, ça va... le seul petit problème c'est qu'on :

  • ne pas déplacer plus d'un disque à la fois
  • on ne peut déplacer un disque que sur un emplacement vide ou alors sur un disque plus grand
voila, c'est le type même de beau problème. Enoncé simple, réalisation pas forcément aussi aisée.

Maintenant, prenons un exemple de résolution de ce problème avec 3 disques . Au départ, j'ai 3 disques empilés sur la 1ére tour. 1ère itération, je déplace le 1er disque sur la tour 3. Ensuite je déplace le 2nd disque sur la tour intermédiaire 2 et je peux alors dans la 3éme itération remettre mon 1er disque sur le second, tour intermédiaire.

Dans la 4éme itération, j'ai enfin mon plus grand disque disponible pour être déplacer sur la tour d'arrivée. Après, je m'aide de ma tour de départ comme tour intermédiaire pour enfin reconstituer ma pile.

Au final, 7 itérations pour arriver au but ! sur la page wikipedia on vous donne la formule du nombre d'itération, c'est 2 puissance votre nombre de disque - 1. Dans notre cas : 23-1 = 7 bingo



Nous allons maintenant voir comment résoudre ce problème grace a un algorithme récursif !

Si on regarde bien les déplacements, on peut dire que tout le problème consiste à :
  1. déplacer  les 2 premiers disques vers la tour intermédiaire
  2. déplacer le 3éme disque vers la tour d'arrivée
  3. déplacer les 2 disques de la tour intermédiaire vers la tour d'arrivée
Au final, cela nous donne la fonction suivante :
Procedure Deplacer(nbdisques,depart,arrivee,intermediaire)
  Si (nbdisques = 1) Alors
     Ecrire (depart, " -> ", arrivee)
  Sinon
     Deplacer(nbdisques-1,depart,intermediaire,arrivee)
     Deplacer(1,depart,arrivee,intermediaire)
     Deplacer(nbdisques-1,intermediaire,arrivee,depart)
  FinSi
Fin

pas compliqué, hein ?
Voici un petit exemple d'implémentation de l'algorithme des tours de Hanoi en Java. Si j'ai un peu de temps, je vous écrit le même algo en Groovy et en PHP, mes deux langages préférés (enfin, surtout ceux que je connais à peu près...). Si quelqu'un veut m'envoyer sa version dans son langage préféré. On pourrait même faire un petit benchmark ensuite.
/**
 * algorithme récursif de résolution des tours de Hanoi
 * 
 * @author olivier
 */

import java.util.*;

public class hanoi_recursive {
 static int coup = 0;

 public static void main(String[] args) {
  Scanner Entree = new Scanner(System.in);
  System.out.printf("Entrez le nombre de disques : ");
  int nbDisques = Entree.nextInt();
  Entree.close();
  System.out.printf("\n coup    déplacement\n");
  System.out.printf("---------------------\n");
  long startTime = System.currentTimeMillis();
  deplacer(nbDisques, 1, 3, 2);
  long endTime = System.currentTimeMillis();
  System.out.println("Temps d\'exécution en millisecondes :"
    + (endTime - startTime));
 }

 /**
  * procédure récursive des tours de Hanoi
  * @param nb_disques
  * @param depart
  * @param arrivee
  * @param intermediaire
  */
 static void deplacer(int nb_disques, int depart, int arrivee,
   int intermediaire) {
  if (nb_disques == 1) // déplacement d'un seul disque
   System.out.printf("%4d      %d -> %d\n", ++coup, depart, arrivee);
  else // déplacement d'une pile de disques
  {
   deplacer(nb_disques - 1, depart, intermediaire, arrivee);
   deplacer(1, depart, arrivee, intermediaire);
   deplacer(nb_disques - 1, intermediaire, arrivee, depart);
  }
 }
}

jeudi 3 novembre 2011

captain america - super-heros = super chiant

Je me fais à chaque fois avoir. Le décor, la bande annonce, l'image... Ce qui m'a décidé pour ce captain america était le coté un peu "oldies" du film. La période aussi. Un film d'avenger pendant la 2éme guerre mondiale, pourquoi pas.

Au final, quelle impression me reste de ce captain america ? Bof, pas forcément grand chose. Bon petit film à voir pour de belle image, sans plus.

Pas un mauvais moment, effectivement les décors, l'ambiance est bien marqué par ce coté rétro mais c'est pratiquement tout. Il faut s'y faire, dans un film de super-héros, le super-héros est toujours super chiant et le méchant en face est toujours très con. Je crois que c'est l'exercice de genre qui veut ça. Pour ne pas se tromper, les personnages sont pratiquement la caricature de la caricature.

 Sur la palanqué de film de super-héros ne surnage que batman begins et dark knight, mais ça c'est christopher Nolan. On peut ajouter également ironman 1, pour le 2 je ne suis pas sûr.

Bref, promis juré, je ne me fais plus avoir

mardi 1 novembre 2011

San antonio : les tontons flingueurs sur papier

C'est pas très glorieux, c'est même carrément très moyen mais il faut que j'avoue que ma première véritable découverte en littérature a été SAS de Gérard de Villiers...