Skip to content

Instantly share code, notes, and snippets.

View monken's full-sized avatar

Moritz Onken monken

View GitHub Profile

Moose Hackathon Agenda

This is a list of topics/ideas/wishes/dreams that we will discuss during the Moose hackathon at YAPC::NA this year. They are in no particular order, nor does inclusion of this list imply any type of endorsement of the idea, these are just ideas, so please feel free to add yours in.


  • Traits/Roles in Class::MOP
    • A low-level trait/role type primitive
  • removing Test::Exception from Moose/MOP
# this returns results
curl -XGET 'http://api.beta.metacpan.org/release/_search?scroll=5m&pretty=1' -d '
{
"query" : {
"term" : {
"status" : "latest"
}
},
"explain" : 0,
"size" : 10
@monken
monken / gist:1000240
Created May 31, 2011 09:41 — forked from clintongormley/gist:949602
camelcase tokenizer
curl -XDELETE localhost:9200/test
curl -XPUT 'localhost:9200/test?pretty=1' -d '
{
"settings":{
"analysis": {
"analyzer": {
"camelcase":{
"type": "custom",
"tokenizer":"standard",
"filter":["camelcase", "lowercase"]
my $result = $self->es->search(
index => $self->index,
type => ['file'],
query => { "match_all" => {} },
"filter" => {
"and" => [
{ "exists" => { "field" => "file.documentation" } },
{ "term" => { "file.status" => "latest" } },
{ "prefix" => { "file.documentation" => "DBIx::" } }
]

Diese Tour stellt ein mögliches Individuum im Lösungsraum dieses TSP dar, genau wie die (ebenfalls willkürlich ausgewählte) Tour $[1, 5, 7, 6, 4, 3, 8, 2]$ oder beliebige andere Permutationen der 8 Kunden. Zusammen bildet eine Menge solcher zulässigen Lösungen eine \textit{Population}. Die \textit{Fittness} jedes Individuums kann außerdem durch eine \textit{Fittnessfunktion} bestimmt werden, in diesem Beispiel repräsentiert durch den Zielfunktionswert, bzw. der Länge der Touren.

Ausgehend von solch einer initialen Population besteht die Vorgehensweise eines genetischen Algorithmus nun, wie in Abbildung \ref{genetische_algorithmen_flow_chart} dargestellt, aus vier Phasen, die bis zu einem vorher definierten Abbruchkriterium (z.B. eine maximale Anzahl an Iterationen) durchlaufen werden. Im ersten Schritt werden die Individuen der aktuellen Population herausselektiert, die an der Reproduktion der nächsten \textit{Generation} beteiligt sein sollen. Danach folgt die eigentliche Reproduktion, die aus einer Rekombi