Anagrammenlijst

Moderator: Rhiannon

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Berichten: 4.246

Anagrammenlijst

Is er ergens digitaal een lijst met alle Nederlandse anagrammen te vinden? Dus niet met namen van bekende mensen of iets dergelijks maar van de reguliere Nederlandse woorden. Het liefst geordend op basis van aantal letters.
Quitters never win and winners never quit.

Berichten: 12.262

Re: Anagrammenlijst

Ik vermoed van niet. Er zijn ongetwijfeld lijsten met anagrammen, maar ik denk dat nooit volledig kunnen zijn, zeker niet als een anagram ook nog spaties mag bevatten (bijv "lopen op" als anagram van "oplopen"). 
 
Zonder die spaties is het dan weer niet zo moeilijk: je hebt slechts een lijst met alle nederlandse woorden nodig. Vervolgens heb je, met de simpelste methode, n! zoekpogingen nodig voor alle anagrammen (dwz letters in andere volgorde die ook in de lijst staan). 
 
Die n! is natuurlijk wel een lastpost voor langere woorden. Bij 6 letters heb je 720 permutaties te doorzoeken. Dat lijkt veel, maar er zijn in de orde van 200.000 nederlandse woorden (als in, entries in de grote Van Dale), voor een computer is dat secondenwerk in het slechtste geval.
 
Bij langere woorden wordt dat een drama, iets van 12 letters heeft ~500 miljoen permutaties, al is het aantal woorden met exact 12 letters natuurlijk een stuk kleiner dan de 200.000 in totaal. 
 
In het 'zonder spaties' scenario lijkt het me zonder meer mogelijk een dergelijke lijst te genereren als je een bestand hebt met alle mogelijke woorden. 
 
Mocht zoiets nog niet bestaan hoor ik het overigens graag, lijkt me een leuk ding op eens uit te proberen om het op te stellen - met de full brunt van een webserver gaat dat een stukje rapper dan op thuiscomputer, en kan ik het op een rustig uur doen waarop het ding toch staat te idlen. 
Victory through technology

Gebruikersavatar
Moderator
Berichten: 4.361

Re: Anagrammenlijst

Ik heb nog nooit gehoord over zo'n lijst, maar het lijkt me leuk om dat eens uit te zoeken. Wordt vervolgd.
Contra principia negantem disputari non potest.

Gebruikersavatar
Berichten: 2.906

Re: Anagrammenlijst

Benm schreef:
Die n! is natuurlijk wel een lastpost voor langere woorden. Bij 6 letters heb je 720 permutaties te doorzoeken. Dat lijkt veel, maar er zijn in de orde van 200.000 nederlandse woorden (als in, entries in de grote Van Dale), voor een computer is dat secondenwerk in het slechtste geval.
 
Bij langere woorden wordt dat een drama, iets van 12 letters heeft ~500 miljoen permutaties, al is het aantal woorden met exact 12 letters natuurlijk een stuk kleiner dan de 200.000 in totaal.
 
Het kan veel sneller. Als je twee woorden wil vergelijken hoef je alleen maar voor elk woord de letters in alfabetische volgorde te zetten en dan kijken of je voor beide woorden hetzelfde resultaat krijgt. Dat kan in n log n.
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }

Berichten: 12.262

Re: Anagrammenlijst

Dat zou inderdaad een betere methode zijn, zoals ik probeerde op te merken is het doorzoeken van alle permutaties simplistisch. Zeker voor langere woorden zou dit een forse tijdswinst opleveren (bij 6 letters is de 'domme aanpak' best te doen, bij 12 wat minder). 
 
Het heeft beide echter als nadeel dat je de "geen spaties" regel moet volgen, maar als dat okay is kun je zo een volledige lijst anagrammen van een geleverde woordenlijst vinden/maken. 
Victory through technology

Gebruikersavatar
Berichten: 2.906

Re: Anagrammenlijst

Ik verveelde me dus ben op zoek gegaan naar een lijst met Nederlandse woorden en heb toen een programmaatje geschreven om anagrammen te vinden. Zie het resultaat in de bijlage :)
 
(Het programma deed er iets meer dan een seconde over, op een trage laptop. De oorspronkelijke woordenlijst bevatte 164.313 woorden.)
Bijlagen
anagrammen.txt
(78.16 KiB) 111 keer gedownload
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }

Berichten: 12.262

Re: Anagrammenlijst

Haha, hoe rap techniek kan werken :)
 
Maar wat me nu opvalt is dat de woordenlijst wellicht te klein is: ik neem aan dat je een lijst van lemma's hebt gebruikt, maar niet de vervoegingen, meervouden, verkleinwoorden en dergelijke. Als je die wel hebt krijg je ongetwijfeld veel meer, en grappige, anagrammen. Vraag is waar je die woordenlijst kunt halen - bijvoorbeeld alle woorden die wordfeud goedkeurt in het nederlands. 
Victory through technology

Gebruikersavatar
Moderator
Berichten: 4.094

Re: Anagrammenlijst

Haha, ik had vorig jaar hetzelfde gebouwd, en zo te zien precies dezelfde lijst met woorden gevonden, want ik heb er ook 164.313 in mijn woordenlijst!

Berichten: 12.262

Re: Anagrammenlijst

Maar waar kwam die woordenlijst dan vandaan?
Victory through technology

Gebruikersavatar
Berichten: 2.906

Re: Anagrammenlijst

Ik weet niet meer precies waar hij vandaan kwam, maar ik vond hem na een tijdje googelen.
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }

Berichten: 12.262

Re: Anagrammenlijst

Ah okay, dan zal je vast dezelfde gevonden hebben inderdaad. Ik ben wel benieuwd of er ergens een lijst is met vervoegingen, meervouden, overtreffende trappen en dergelijke erin, dat zou denk ik veel meer (en mogelijk onverwachte) anagrammen opleveren. 
Victory through technology

Reageer