So long, suckaz!

November 20th, 2008 mejf

Imorgon kl. 8.10 avgår minibussen som ska ta mig från Lund till Utrecht, Holland där jag ska tävla i NWERC (Northwestern Europe Regional Programming Contest) där jag ska gnugga mina geniknölar och tävla i programmering. För den som vill följa tävling (som går av stapeln på söndag förmiddag) finns denna hemsidan. Är du sugen på att titta på vad för slags problem vi kommer syssla med kan du ta en titt på tävlingens hemsida från förra året.

Önska mig lycka till!

Posted in Programmering | Tags: , , , | 2 Comments »

TimeTanks, Preview

August 19th, 2008 mejf

Jag har äntligen kommit loss och programmerat lite! Jag håller på med ett spel jag kallar TimeTanks. Skjuta monster och klara banor, with a twist, är tanken. Är man inte nöjd med hur man genomförde banan kan man resa tillbaka i tiden och spela om banan tillsammans med sig själv. Dock får man procentuellt poängavdrag för varje tidsresa. Blir man dödad färdas man automatiskt tillbaka i tiden. Här kommer några screenshots av hur långt jag kommit hittills, för den som är intresserad:

Posted in Programmering | Tags: , , , , | No Comments »

Semester

June 17th, 2008 mejf

Nu drar jag på semester. En vecka i Blekinge kommer sitta fint. Jag ska sitta på en gräsmatta, plugga körteori, dricka läsk och öl, umgås med familj och, mot slutet av veckan, Hannas släkt.

Två spännande saker händer på onsdag, och jag ska följa båda så gott det går. FRA-omröstningen i riksdagen och fotbollen.

I övrigt har du säkert sett att min, nu världsberömda, Sitename Generator har blivit en widget längst ner till höger på denna sida. Jag har dessutom utökat sortimentet av ord i den så att det totala antalet möjliga kombinationer ligger just över 650 000.

Jag har nog förresten glömt att berätta att resultaten från vårens kurser har kommit in i Ladok. 4:an i kursen Matematisk Statistik ger mig 138 högskolepoäng och det innebär alltså att jag nu (poängmässigt) har passerat halva utbildningen. Grattis till mig!

Posted in Mejf, Programmering | Tags: , , , , , , , , , , , | No Comments »

Yoursitename.com

June 13th, 2008 mejf

Japp japp. Jag har nu gjort slag i saken och skapat mig en egen sitename-generator. Funderar du på att starta en ny, hipp hemsida som ska locka alla werldens besökare? Ge knappen nedan ett snabbt klick!

<klicka på knappen>

För den som är intresserad av källkoden så finns den här.
Generatorn (som den används ovan) fungerar så vitt jag vet inte i Internet Exploder.

[Disclaimer: Jag garanterar icke att genererade sitenamn inte redan är upptagna. En jäkla massa av dem är dessutom registrerade varumärken hos diverse företag och organisationer.]

Posted in Programmering | Tags: , , , | 1 Comment »

Chatbotten Markov

May 13th, 2008 mejf

En Markovkedja är enligt Wikipediaen tidsdiskret stokastisk process med Markovegenskapen, det vill säga att processens förlopp kan bestämmas utifrån dess befintliga tillstånd utan kännedom om det förflutna.“. Med andra ord har vi något slags process som befinner sig i ett tillstånd åt gången. Efter varje tillstånd har processen ett antal andra tillstånd till vilken den går vidare till med en viss sannolikhet.

Med lite vilja bör man kunna se språk som en Markovkedja av bokstäver, ord, meningar eller kanske till och med hela konversationer. Man kan genom att dela upp ett språkexempel i dessa tillstånd få ut en jättestor matris med alla dessa sannolikheter där raden representerar “från”-tillstånd och kolumnen “till”-tillstånd. Då innehåller elementet sannolikheten för just den övergången. Denna matrix kallas därför för “övergångsmatris”.

Analyserar vi exempelvis meningen “Hej jag heter Manfred” med avseende på ord så kommer det vara 100% sannolikhet att ordet “Hej” efterföljs av ordet “jag”, och så vidare. Ser man istället tecken (bokstäver) som tillstånd kommer det vara 25% (1/4) chans att bokstaven “e” följs av bokstaven “j”, 25% bokstaven “t”, osv.

Detta kan man givetvis leka med om man känner för det. Med ett oerhört litet, enkelt C-program kan man analysera en given text (med avseende på bokstäver) och sedan slumpa fram en ny text med den analyserade textens sannolikheter. Då kan man få resultat som:

“The homexis llle be!”, eller

“Fin suth! or mar thtou ghed thinechtew.”.

Kan du gissa vilken text det är jag har utgått från? Nej, misstänkte det. Det blir nog lite lättare om jag låter ord vara mina tillstånd istället. Det blev en något mer avancerad övergångsmatris, så det blev ett inte lika kort program, och dessutom skrivet i Java (för att enklare kunna bolla med datastrukturer). Då kan man få meningar som dessa:

“Prologue: Enter Nurse Nurse Madam, if they can give to stand: I cannot at graves!” eller

“Juliet Madam, if they can give to thee, they have to love, to Romeo There is shut.”

Ja, alldeles riktigt. Texten jag har analyserat är en omarbetad version Romeo och Julia av Shakespear (som kan laddas ner gratis på Wikisource). Nu återstår bara att komplettera så att man kan blanda sannolikheter från meningar till meningar och meningar till ord och bygga in IRC-stöd, så har jag en komplett chatbot! Eller nått…

Posted in Programmering | Tags: , , , , , | No Comments »