In 2014 bedachten de fysici Robert Nemiroff1 en Teresa Wilson van de Michigan Technological University een nieuwe manier om tijdreizigers op te sporen: doorzoek het Internet.

tijdreizen
Tijdreizen naar de toekomst zou in theorie mogelijk zijn met behulp van de volgende methoden: i) reizen met een snelheid die de snelheid van licht benadert, ii) het gebruik van kosmische snaren, iii) wormgaten en warp-Alcubierre-aandrijving en iv) rond een zwart gat vliegen.

Ze zochten naar vermeldingen van de zoektermen "komeet ISON2" — een zonscherende komeet3 die op 21 september 2012 werd ontdekt door Vitali Nevksi en Artyom Novichonok — en "Paus Franciscus4" die sinds 13 maart 2013 paus is van de Rooms-Katholieke Kerk en die de eerste paus was die zich Fransicus noemde als eerbetoon aan Franciscus van Assisi5. Beide onderwerpen zijn historisch gezien zo belangrijk dat ze zelfs in de verre toekomst nog gemeengoed zouden kunnen zijn. Als mensen uit de toekomst naar ons verleden reizen, dan zouden ze onbedoeld wel eens sporen kunnen nalaten door deze termen bijvoorbeeld ergens in 2011 op een website te zetten, nog voor de feiten hebben plaatsgevonden.

In hun onderzoeksartikel rapporteerden ze:

Aangezien het Internet momenteel alomtegenwoordig is […] kan deze manier van zoeken beschouwd worden als de meest gedetailleerde en uitgebreide zoektocht naar tijdreizen uit de toekomst die tot nu toe werd uitgevoerd. We erkennen dat we technisch gezien niet gezocht hebben naar de fysieke tijdreizigers zelf, maar eerder naar informatieve sporen die ze ons zouden kunnen nagelaten hebben.

Ze merken ook nog op dat het feit dat ze er niet in geslaagd zijn om tijdreizigers te detecteren allerminst betekent dat ze er niet zijn:

Ten eerste kan het voor tijdreizigers fysiek onmogelijk zijn om blijvende sporen achter te laten van hun verblijf in het verleden, inclusief niet-materiële informatiesporen op het Internet. Bovendien kan het voor ons ook fysiek onmogelijk zijn om dergelijke informatie te vinden omdat het een vooralsnog onbekende fysicawet zou overtreden. [] Tenslotte willen tijdreizigers misschien niet gevonden worden en zijn ze zeer goed in het verdoezelen van hun sporen.

Opgave

We hebben het Internet doorzocht naar sporen die tijdreizigers ons zouden kunnen achtergelaten hebben. Het resultaat van elke zoekopdracht bestaat uit een reeks relevante webpagina's. Voor elke pagina hebben we telkens de volgende informatie geregistreerd in een tekstbestand:

Een tekstbestand met resultaten voor de zoekterm "president Trump" zou er dan bijvoorbeeld als volgt kunnen uitzien:

@2017-10-12
Donald J. Trump is the 45th President of the United States. He believes the
United States has incredible potential and will go on to exceed anything that it
has achieved in the past. His campaign slogan was Make America Great Again, and
that is exactly what he intends to do. Donald J. Trump is the very definition of
the ...
@2017-10-13
Dec 29, 2017 - President Trump gave an impromptu half-hour interview with the
New York Times on Dec. 28. We combed through the transcript and here's a quick
roundup of the false, misleading or dubious claims that he made, at a rate of
one every 75 seconds. (Some of the interview was off the record, so it's
possible the rate of false ...
@2017-12-20
President Donald Trump on Wednesday hailed congressional Republicans' ambitious
$1.5 trillion rewrite of the tax code as a win for middle-class Americans.
Interested in Taxes? Add Taxes as an interest to stay up to date on the latest
Taxes news, video, and analysis from ABC News. Taxes. Add Interest. He took a
victory ...

Het doel van deze opgave is om op zoek te gaan naar de eerste vermelding van een zoekterm in een bestand met zoekresultaten van het Internet. Deze zoekterm kan uit meerdere woorden bestaan. Om te bepalen of een zoekterm voorkomt in een tekstfragment zetten we eerst de zoekterm en het tekstfragment om naar lijsten van woorden, waarbij de woorden gevormd worden door de langst mogelijke opeenvolging van letters en cijfers. Onder letters verstaan we alle karakters waarvoor de stringmethode isalpha de waarde True teruggeeft. Op die manier resulteert het tekstfragment

Donald Trump is the 45th President of the United States.

in de volgende lijst van woorden

woordenlijst

Er zijn twee factoren die een rol spelen bij het bepalen of de lijst van woorden van een zoekterm voorkomen in de lijst van woorden van een tekstfragment. Bij het vergelijken van woorden kunnen we wel of geen onderscheid maken tussen hoofdletters en kleine letters. In het laatste geval zeggen we dat het zoeken ongevoelig is voor het verschil tussen hoofdletters en kleine letters.

We kunnen zeggen dat een zoekterm voorkomt in een tekstfragment als alle woorden van de zoekterm voorkomt in de lijst van woorden van het tekstfragment, ongeacht hun volgorde. We kunnen ook opleggen dat een zoekterm enkel voorkomt in een tekstfragment als de lijst van woorden van de zoekterm ook opeenvolgende woorden zijn in het tekstfragment. In het laatste geval zeggen we dat we zoeken naar opeenvolgende woorden, in het eerste geval moeten de woorden niet opeenvolgend zijn.

opeenvolgende woorden

Gevraagd wordt:

Voorbeeld

In onderstaande voorbeeldsessie gaan we ervan uit dat het tekstbestand president_trump.txt6 zich in de huidige directory bevindt.

>>> zin = 'Donald Trump is the 45th President of the United States.'
>>> woorden(zin)
['Donald', 'Trump', 'is', 'the', '45th', 'President', 'of', 'the', 'United', 'States']
>>> woorden(zin, ongevoelig=True)
['donald', 'trump', 'is', 'the', '45th', 'president', 'of', 'the', 'united', 'states']

>>> zoekterm1 = 'donald trump'
>>> bevat(zin, zoekterm1)
False
>>> bevat(zin, zoekterm1, ongevoelig=True)
True
>>> bevat(zin, zoekterm1, ongevoelig=True, opeenvolgend=True)
True

>>> zoekterm2 = 'president Trump'
>>> bevat(zin, zoekterm2)
False
>>> bevat(zin, zoekterm2, ongevoelig=True)
True
>>> bevat(zin, zoekterm2, ongevoelig=True, opeenvolgend=True)
False

>>> bestandsnaam = 'president_trump.txt'
>>> oorsprong(bestandsnaam, zoekterm1)
>>> oorsprong(bestandsnaam, zoekterm1, opeenvolgend=True)
>>> oorsprong(bestandsnaam, zoekterm1, ongevoelig=True)
datetime.date(2017, 10, 12)
>>> oorsprong(bestandsnaam, zoekterm1, ongevoelig=True, opeenvolgend=True)
datetime.date(2017, 10, 14)

>>> oorsprong(bestandsnaam, zoekterm2)
datetime.date(2017, 12, 27)
>>> oorsprong(bestandsnaam, zoekterm2, opeenvolgend=True)
>>> oorsprong(bestandsnaam, zoekterm2, ongevoelig=True)
datetime.date(2017, 10, 12)
>>> oorsprong(bestandsnaam, zoekterm2, ongevoelig=True, opeenvolgend=True)
datetime.date(2017, 10, 13)

Epiloog

Is James L. Brook — schrijver van de Simpsons episodes — een tijdreiziger? In het jaar 2000 werd het 25e seizoen van de Simpsons uitgezonden, 16 jaar voor Donald Trump verkozen werd als 45e president van de Verenigde Staten. In de episode "Bart to the Future7" droomt Bart over een toekomst waarin Lisa Simpson wordt verkozen tot

America's first straight female president

na de ambtstermijn van president Donald Trump. In die aflevering spreekt ze haar team toe in het Oval Office met de woorden

As you know, we've inherited quite a budget crunch from President Trump.

Ze vraagt haar team hoe slecht het land er financieel voor staat, waarop ze te horen krijgt dat Amerika failliet is omdat het vorige regime massaal veel geld had geïnvesteerd in de jeugd, maar daardoor een hele generatie van ultrasterke supercriminelen gecreëerd heeft.

Vijftien jaar later, nadat Trump zijn kandidatuur had aangekondigd, stak een nieuwe korte episode van de Simpsons "Trumpastic Voyage" de draak met de wannabe wereldleider (en zijn haar).

Epiloog

Op 28 juni 2009 organiseerde Stephen Hawking8 een feestje voor tijdreizigers waarvoor hij de uitnodigingen pas na het feest verstuurde. Er daagde niemand op. Daarmee leverde hij een experimenteel bewijs dat tijdreizen niet mogelijk is. Hij verklaarde aan de pers:

Ik heb daar lang gezeten, maar er kwam niemand.

Bronnen