Om ni inte får nyhetsbrevet, är en ny tävling utlyst! Det här skall bli spännande att se vad ni kommer fram till. Satt själv och spånade på chatten och insåg att man borde nästan behöva nån algoritm för att räkna fram en summa på ordet där samma värde borde vara exakt samma fast man bara kastar om bokstäverna. Det är alltid trevligt med tävlingar, men i det här fallet är kanske formuleringen något dum... har inga större kunskaper i det, men är det inte oerhört enkelt att lösa detta i RegExp? <b>är det inte oerhört enkelt att lösa detta i RegExp?</b> Bra per, Du kanske är inne på vad jag tänkte på. <b>Att jag skrev "ni vet jag jag menar" syftar till att ni förstår säkert vad jag är ute efter att förklara.</b> Kanske fungerar det bra med RegExp. Men det är lättast att lösa med en minimum edit distance-algoritm. I princip är det bara att implementera en sådan och anpassa vikterna av editeringsoperationerna så har man en bra grund. angående ordlista så kanske http://sv.speling.org/download.html vara nåt kolla t.ex. in dsso-115.zip och plocka ut grundformerna ur klassifi.txt så är det ju en ordentlig ordlista att leka med. Behövs ju ändå "ett antal" ord innan det märks skillnad på en bra och en dålig algoritm, och en brute-force är ju inge skoj ;) Jag gjorde en liten access databas, lägger upp den så andra kan ladda ner om dom inte orkar fixa egen. Jag har gjort en fungerande variant som just nu söker i en databas på ca 37000 ord... Gud vad roligt, hoppas flera andra kommer utmanar dig nu :-) Skall bli spännande att se vad du kommit fram med sen. Har gjort en första variant. Har framförallt fokuserat på snabbheten, tiden för en sökning är oberoende av hur många ord som finns i ordlistan (testar f.n. med ~70k st.) Måste ju komma hit med lite mer när någon annan skrivit också ;)Ny tävling
Se: http://www.pellesoft.se/documents/pageblank.aspx?id=22506
Om ni inte får nyhetsbrevet kan detta ställas in via er profil, ändra inställningar och "konto".Sv: Ny tävling
Sen frågades det var man skulle få datat ifrån. I detta läge räcker det ju med 5-10 ord, det är bara att bevisa att man klarat av det.
Skulle det visa sig vara kalasbra kan jag säkert kasta upp en access-databas som alla får hjälpa till och föda, sen kan man ladda hem den och använda den privat.
Som sagt, skall bli väldigt kul att se om ni får till detta!Sv:Ny tävling
Den första algoritm jag kom på var en där jag skulle ta en token i taget, och ha typ en finita tillstånds-variant, för att se vilka ord som kunde uppfylla kravet. Sen insåg jag att det väl är exakt det RegExp gör?
Har som sagt inga kunskaper i hur man i praktiken använder RegExp, och kan därför inte lösa det själv på det sättet, men det får mig bara att tveka inför tävlingsbidragen...
En tävling som var på gång som jag tyckte var förbannat skoj, var den med luffarschacksspelet. Synd att det aldrig blev av...Sv: Ny tävling
Jo, iaf om man skall skriva in t.ex. "alg**itm" och få fram "algoritm" behövs knappt ens regexp.
<code>SELECT ord
FROM ordlista
WHERE ord LIKE 'alg__itm'</code>
Jag vet inte om Pelle hade tänkt sig något mer avancerat. Förstår inte riktigt även om han skrivit <b>Ni förstår vad jag menar.</b>...Sv:Ny tävling
Att jag skrev "ni vet jag jag menar" syftar till att ni förstår säkert vad jag är ute efter att förklara.Sv: Ny tävling
Vilket jag alltså inte är säker på om jag gjorde.
För övrigt stavar jag mitt namn med stor begynnelsebokstav.Sv: Ny tävling
/André
edit: särskrivning och ordval.Sv:Ny tävling
EDIT:
för att följa upp mitt eget inlägg.. följande pythonkod
import re
outfile = file("ordlista.txt", "w")
pattern = re.compile(">(.*?):")
for line in file("klassifi.txt"):
match = pattern.search(line)
if match:
print >> outfile, match.group(1)
extraherar ca. 35k ord ur filen klassifi.txt som finns i ovannämnda zip-fil, borde ju vara passligt att leka med :)
Sv: Ny tävling
http://snabbstart.com/kod/eddie/data.mdbSv: Ny tävling
Kan hitta olika kombinationer, till exempel kan man skriva in ett mönster på "M__*" så hittar den alla ord som börjar på M, och är minst tre tecken långa.
Dessutom kan man lägga in vilka bokstäver man har att tillgå för att få fram ord man kan lägga...
Så ja, jag har nog kommit igång =)
/ThomasSv:Ny tävling
Sv: Ny tävling
Sv: Ny tävling
Min är inte heller så hemskt beroende på antalet ord i databasen, dock blir den marginellt slöare med fler ord, men det är för att funktionen som kontrollerar om man kan lägga ordet med bokstäverna, och jokrarna, man har...
Snabbhet är något jag också koncentrerat mig på, samt design i viss utsträckning...
Har gjort en egen kontroll för listning av orden...
Vad har andra att komma med? =)
Och Stefan, hur hanterar du sökningarna?
Kan man söka på mönster och få fram ord man kan lägga?
Mvh,
Thomas