Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2007  »  12  »  Frechheit siegt  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© Elgin Grabe und fotolia.com, ril

Die Gewinner des Wettbewerbs zum Snapshot-Jubiläum

Frechheit siegt

von Michael Schilli
Erschienen im Linux-Magazin 2007/12

Manche Leser ließen sich in die Irre führen. Das zeigte die rege Forumsdiskussion zum Perl-Programmierwettbewerb anlässlich des zehnjährigen Bestehens der Snapshot-Kolumne im Linux-Magazin 10/2007. Inzwischen hat die Jury alle Einsendungen gesichtet und bewertet - jetzt stehen die Sieger fest.

Die Preisaufgabe im vorletzten Linux-Magazin fragte nach der bedingten Wahrscheinlichkeit, mit der ein Proband eine Tux-Tux-Karte in der Hand hält, wenn er bereits eine Karte mit Tux auf der Oberseite gezogen hat. Die richtige Lösung lautet 2:3, also etwa 66 Prozent. Warum? Wenn der Proband eine Karte mit dem Tux auf der Oberseite gewählt hat, dann muss es sich entweder um die Tux-Tux- oder die Tux-Gates-Karte handeln. Beide sind allerdings nicht gleich wahrscheinlich: Die Tux-Tux-Karte kommt zweimal so häufig dran wie die Tux-Bill-Karte, denn zöge der Proband den Bill, müsste er die Karte wieder zurück in den Topf legen und das Experiment wiederholen.

Reingelegt

Rund die Hälfte der Einsendungen liefert ein falsches Ergebnis. Die Wettbewerber berechneten entweder die Wahrscheinlichkeit für die Tux-Tux-Karte lediglich im ersten Versuch (33 Prozent) oder sie zählten gezogene Bill-Karten als gültige Experimente und landeten damit bei 50 Prozent.

Aber nicht nur das richtige Ergebnis zählt. Die Aufgabe verlangt auch Perl-Code, der das Experiment simuliert. Listing 1 zeigt eine mögliche Implementierung. Eine For-Schleife rattert durch 1000 Versuchsdurchgänge, eine Redo-Anweisung wiederholt das Experiment, falls Bill auftaucht. Bei einem Tux auf der Rückseite gibt es dagegen einen Punkt. Das Ergebnis ist das Verhältnis der Punkte zur Gesamtzahl der Versuchsdurchgänge.

Listing 1:
»tuxgates«

01 #!/usr/bin/perl -w
02 
03 use strict;
04 
05 my @cards = (
06     ['tux',   'tux'],
07     ['tux',   'gates'],
08     ['gates', 'gates']
09 );
10 
11 my $hits  = 0;
12 my $total = 1000;
13 
14 for(1..$total) {
15     my $draw  = $cards[rand @cards];
16 
17     my $front_idx = int rand 2;
18     my $back_idx  = !$front_idx;
19 
20     redo if $draw->[$front_idx] ne 'tux';
21 
22     if($draw->[$back_idx] eq 'tux') {
23         $hits++;
24     }
25 }
26 
27 print $hits, " of ", $total, "n";

Dreistigkeit

Die Jury bewertete die richtigen Einsendungen nach drei Kategorien: das kürzeste, das anschaulichste und das originellste Skript. In der Kategorie "Originell" gewinnt Thomas Güttler, dessen Einsendung die Redaktion als Erste erreichte und das richtige Ergebnis lieferte. Die bass erstaunte Jury fand aber bei näherem Hinsehen, dass Thomas die Frechheit besessen hat, ein Python-Skript einzusenden, das nur notdürftig in ein Perl-Skript verpackt ist. Es sucht einen installierten Python-Interpreter und übergibt ihm den Python-Code als String zur Ausführung. Für so viel Chuzpe verleiht die Jury volle zehn Punkte, die höchste Wertung - die Goldmedaille.

Hanspeter Schmid lieferte einen Vierzeiler, in dem er "Tuxlis" aus dem Wasser (H2O) entsteigen lässt und diese mit »unpack« wieder auseinanderklaubt, das reicht für Platz zwei. Patrick Falb nutzt einen regulären Ausdruck mit Look-Ahead, um eine Karte zu ziehen. Die Platzierungen von korrekt arbeitenden Skripten mit Origininalitätscharakter zeigt die Tabelle "Gewinner".

Beim kürzesten Skript war die Wertung relativ einfach, es zählte schlicht die Anzahl der Anschläge, das richtige Ergebnis natürlich vorausgesetzt. Dieses so genannte Perl-Golf trägt seinen Namen nach dem Golfsport, bei dem ja bekanntlich auch der Spieler mit den wenigsten Schlägen gewinnt.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Vom Thron gestürzt Die besten Lesereinsendungen des Programmierwettbewerbs
Recht einfach Leser fragen, der Linux-Magazin-Ratgeber antwortet
Wer A sagt, darf nicht B sagen Frage-Antwort-System fürs Web
Tierische Kurssprünge Börsenkurs-Alerting im Eigenbau
Wissenstransfer Aussichtsreiche Würfelkandidaten unter der Lupe
Eurovision Bot Contest Über 120 Teilnehmer stürmen beim Programmierwettbewerb die Würfelbecher
Whitepaper
Usage Landscape Enterprise Open Source Data Integration

Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.

Download PDF (Registrierung erforderlich)
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
Kommentare (0)