Tijdens zijn opzoekingswerk voor The American Language1 verzamelde H.L. Mencken
in de jaren dertig en veertig heel wat ongebruikelijke meisjesnamen uit
gedrukte bronnen, voornamelijk uit het Zuidwesten van de Verenigde Staten.
Een kleine greep daaruit:
Apple, Armadilla, Arthurene, Australia, Beatfred, Begonia, Birdeen, Cementa, Chlorine, Covadonga, Coweene, Elicious, Faucette, Garguerite, Gazelle, Glary Ann, Glenoulia, Halloween, Hygiene, Hughzetta, Kiwanis, Larceny, Leafy Ella, Locust, O'Dwaine, Pencilla, Pleasantina, Scharlott, Townzella, Ukdene, Vasoline, Wroberta, Wyneese, Zelvateen
Over deze vreemde exemplaren schreef Mencken:
Hoewel je het voor sommige van die namen nauwelijks kunt geloven, zijn ze allemaal authentiek. Het is alsof de ambitieuze moeder van een pasgeboren schatje de lettergrepen van alle bestaande meisjesnamen op papiertjes heeft geschreven, daar nog wat willekeurige lettergrepen uit de terminologie van de kunsten en de wetenschappen heeft aan toegevoegd, alles in een slazwierder heeft gegooid, om dan met een willekeurige greep uit die hutsepot een nieuwe naam samen te stellen.
We zouden geen echte informatici zijn als we ons hierdoor niet hadden laten inspireren tot het schrijven van een script waarmee we een resem nieuwe namen konden genereren.
Elke regel van het tekstbestand names.txt2 bevat een patroon $$p$$ uit de verzameling $$\mathcal{P}$$ van alle strings die bestaan uit één of meer namen die telkens van elkaar gescheiden worden door één enkele spatie. Een naam bestaat uit een hoofdletter gevolgd door twee of meer kleine letters. Gevraagd wordt:
Bepaal zo kort mogelijke reguliere expressies voor de volgende deelverzamelingen van $$\mathcal{P}$$. Bij het vergelijken van letters mag nooit onderscheid gemaakt worden tussen hoofdletters en kleine letters: zo stellen m en M bijvoorbeeld dezelfde letter voor. De letters a, e, i, o en u zijn klinkers. Alle andere letters zijn medeklinkers.
$$\mathcal{P}_1 = \{\,p \in \mathcal{P}\,|\,$$de voorlaatste letter van elke naam in $$p$$ verschilt altijd van de tweede letter van de volgende naam$$\,\}$$
voorbeelden: | |
$$\mathcal{P}_2 = \{\,p \in \mathcal{P}\,|\,p\ $$heeft een naam die minstens vier keer dezelfde medeklinker bevat$$\,\}$$
voorbeelden: | |
$$\mathcal{P}_3 = \{\,p \in \mathcal{P}\,|\,p\ $$ heeft een naam die afwisselend uit klinkers en medeklinkers bestaat$$^\text{*}\,\}$$
(*) het maakt niet uit of de naam start met een klinker of een medeklinker
voorbeelden: | |
$$\mathcal{P}_4 = \{\,p \in \mathcal{P}\,|\,$$ er is een naam in $$p$$ waarvan de eerste drie letters in dezelfde volgorde ook voorkomen als de laatste drie letters van een naam in $$p\,^\text{*}\,\}$$
(*) als dit in dezelfde naam is dan mogen de twee groepen van drie letters aan het begin en einde van de naam elkaar niet overlappen
voorbeelden: | |
Geef telkens een Unix commando waarin de reguliere expressie gebruikt wordt door een commando uit de grep familie om enkel de regels van het tekstbestand naar stdout te schrijven waarvan het patroon $$p$$ behoort tot $$\mathcal{P}_i\ (i = 1, 2, 3, 4)$$.
Bepaal als volgt de woorden $$w_1\ w_2\ w_3\ w_4$$ van een geheime boodschap:
woord $$w_1$$ bestaat uit de eerste letters van alle namen op de unieke regel waarvan $$p$$ behoort tot $$\mathcal{P}_1 \cap \mathcal{P}_2$$
woord $$w_2$$ bestaat uit de eerste letters van alle namen op de unieke regel waarvan $$p$$ behoort tot $$ \mathcal{P}_2 \cap \mathcal{P}_3$$
woord $$w_3$$ bestaat uit de eerste letters van alle namen op de unieke regel waarvan $$p$$ behoort tot $$\mathcal{P}_3 \cap \mathcal{P}_4$$
woord $$w_4$$ bestaat uit de eerste letters van alle namen op de unieke regel waarvan $$p$$ behoort tot $$\mathcal{P}_4 \cap \mathcal{P}_1$$
Geef telkens een Unix commando waarin de reguliere expressies voor de verzamelingen $$\mathcal{P}_i\ (i = 1, 2, 3, 4)$$ gebruikt worden door commando's uit de grep familie om woord $$w_j\ (j = 1, 2, 3, 4)$$ op te zoeken in het tekstbestand en in kleine letters uit te schrijven naar stdout. Hierbij is het niet toegelaten om woord $$w_j$$ letterlijk uit te schrijven (bv. echo $$w_j$$).
Uiteraard vond H.L. Mencken niet alleen maar bizarre meisjesnamen. Dit is een greep uit zijn bonte verzameling jongensnamen:
Allmouth, Anvil, Arson, Centurlius, Cho-Wella, Clarmond, Cluke, Comma, Crellon, Cyclone, Doke, Elesten, Elgne, Elvcyd, Felmet, Florns, Habert, Harce, Human, Jat, Kark, Kleo Murl, Koith, Lig, Loarn, Mord, Murt, Quannah, Rephord, Terbert, Thrantham, Torl, Valourd, Virgle, Yick, Zelmer, Zurr
Hij vermeldde ook nog deze curiositeit:
Een generatie of twee geleden was er in Connecticut een politicus met de familienaam Bill en als voornamen Kansas Nebraska3. Hij had broers die Lecompton Constitution4 en Emancipation Proclamation5 heetten en zussen die Louisiana Purchase6 en Missouri Compromise7 heetten.