[Toulouse-pm] Le lien du jour: Quantum::Superposition

Michel Rodriguez mirod at xmltwig.com
Mon May 19 10:44:01 CDT 2003


On Mon, 2003-05-19 at 17:08, mat at reynerie.org wrote:
> On Mon, May 19, 2003 at 04:18:52PM +0200, Michel Rodriguez wrote:
> > 
> > Vu sur PerlMonks, une utilisation utile de Quantum::Superposition, le
> > module de Damian qui simule un ordinateur quantique:
> > 
> > http://perlmonks.org/index.pl?node_id=259141
> > 
> > Tout l'interet ici c'est de pouvoir ecrire ca:
> > 
> > my $ignore_src_ip = any(qw[198.144.10.227 163.228.80.5 198.144.10.143]);
> > if($src_ip  eq $ignore_src_ip)
> > 
> > Joli non?
> 
> certes :)
> 
> pour ma part, j'ecris ce genre de code comme suit :
> 
> my %ignore_src_ip = (
>         '198.144.10.227' => 'ga',
>         '163.228.80.5' => 'bu',
>         '198.144.10.143' => 'zomeu',
>         );
> if (exists $ignore_src_ip{$src_ip})
> 
> en quoi est-ce (plus|moins) joli/efficient/... ?

Des qu'un ordinateur quantique sera disponible (et que tu bosseras a la
NSA qui devrait l'avoir en premier ;--) la version quantique sera plus
rapide, parce qu'elle sera en temps constant, pas de boucle, rien, donc
O(1) (c'est comme ca qu'on dit constant en algorithmique, cf
http://www.bups.bilkent.edu.tr/ibcomp/course/topic56.html ou google
big-O notation) alors que l'acces a un hash est... zut, O(1) aussi!

Bon, ben dans ce cas on gagne pas grand chose. Mais c'est joli quand
meme ;--)

Les examples
(http://search.cpan.org/author/LEMBARK/Quantum-Superpositions-2.02/lib/Quantum/Superpositions.pm#EXAMPLES) dans la doc donnent quand meme une bonne idee de ce qu'on peut faire avec le module. Disons que meme de nos jours, sans avoir d'ordinateur quantique sous la main, et en sachant que Q::S est plutot lent, ca permet de d'ecrire de maniere assez naturelle des operations sur des ensembles, voir l'exemple sur l'intersection de n ensembles dans la doc.

> je me le demande. mais j'avoue ne pas avoir compris
> grand chose de la doc de Quantum::Superposition 

Quoi, tu comprends pas? Qu'est ce qui n'est pas clair dans "In other
words, the old meta-semantics superimposed the result of each parallel
comparison, whilst the new meta-semantics superimposes the left operands
of each parallel comparison that succeeds."?

-- 
Michel Rodriguez
Perl & XML
http://www.xmltwig.com



More information about the Toulouse-pm mailing list