De Earth Similarity Index (ESI) is een maat die uitdrukt hoe sterk de fysieke gelijkenis is tussen een bepaald hemellichaam en planeet Aarde. Het is een schaal die loopt van nul (geen gelijkenis) tot één (absolute gelijkenis). De Aarde zelf heeft uiteraard een ESI van 1,0. Als vertrekbasis voor de berekening van de ESI wordt uitgegaan van de easy scale (ES) formule: \[ \textrm{ES} = \prod_{i=1}^{n}\left(1 - \left|\frac{o_i - r_i}{o_i + r_i}\right|\right)^{\frac{w_i}{n}} \] Deze formule drukt de gelijkenis tussen een object $$o$$ en een referentieobject $$r$$ uit op basis van de waarden voor $$n$$ eigenschappen. De waarde van object $$o$$ voor de $$i$$-de eigenschap ($$1 \leq i \leq n$$) wordt in de formule voorgesteld als $$o_i$$, en voor het referentieobject $$r$$ als $$r_i$$. De waarde $$w_i$$ is een gewichtsexponent voor de $$i$$-de eigenschap, die kan gebruikt worden om het belang van deze eigenschap uit te drukken ten opzichte van andere eigenschappen.
Bij de berekening van de ESI wordt rekening gehouden met de gemiddelde straal van het hemellichaam, en diens bulkdichtheid, ontsnappingssnelheid en oppervlaktetemperatuur. Deze lijst van eigenschappen, hun referentiewaarden, en hun gewichtsexponenten zoals ze gebruikt worden voor de berekening van de ESI staan weergegeven in onderstaande tabel.
eigenschap | referentiewaarde | gewichtsexponent |
---|---|---|
gemiddelde straal | 1,0 $$\oplus$$ | 0,57 |
bulkdichtheid | 1,0 $$\oplus$$ | 1,07 |
ontsnappingssnelheid | 1,0 $$\oplus$$ | 0,70 |
oppervlaktetemperatuur | 288 K | 5,58 |
Hierbij staat het symbool $$\oplus$$ voor aardeenheden. Om verschillende aspecten van de fysieke gelijkenis te kunnen onderscheiden, wordt de ESI soms opgesplitst in twee afzonderlijke componenten — de interior ESI en de surface ESI. Voor de interior ESI worden enkel de gemiddelde straal en de bulkdichtheid in rekening gebracht, terwijl de surface ESI enkel de ontsnappingssnelheid en de oppervlaktetemperatuur in rekening brengt.
ESI waarden tussen 0,8 en 1,0 stemmen overeen met aardachtige planeten met een aardse rotsachtige samenstelling die in staat zijn om onder gematigde omstandigheden een atmosfeer vast te houden. Volgens deze maat zijn er geen andere aardachtige planeten of manen te vinden in ons zonnestelsel. Mars heeft met 0,70 de hoogste ESI na de Aarde zelf. Er zijn wel een aantal exoplaneten gevonden met ESI waarden die hen binnen de categorie van de aardachtige planeten plaatsen. De hoogste gekende ESI van 0,92 werd vastgesteld voor de recent ontdekte planeet Gliese 581 g1.
Schrijf een functie ES die de gelijkenis bepaalt tussen een object $$o$$ en een referentieobject $$r$$ volgens de easy scale. Deze waarde moet als een floating point getal teruggegeven worden. De functie heeft drie parameters: i) een lijst met de waarden $$o_i$$ ($$1 \leq i \leq n$$) voor $$n$$ eigenschappen van het object $$o$$, ii) een lijst met de corresponderende referentiewaarden $$r_i$$ voor het referentieobject $$r$$, en iii) een lijst met gewichtsexponenten $$w_i$$. Deze laatste parameter is optioneel. Indien er geen argument wordt doorgegeven voor deze parameter, dan krijgen alle gewichtsexponenten waarden 1,0 in de formule van de easy scale. De functie mag ervan uitgaan dat er steeds lijsten worden doorgegeven voor de verschillende parameters, maar moet wel nagaan dat al deze lijsten dezelfde lengte hebben. Indien dat niet het geval is, dan moet de functie een AssertionError opwerpen met de tekst ongeldige argumenten.
Gebruik de functie ES om een functie ESI te schrijven. Deze functie heeft vier parameters: i) een parameter $$r$$ waaraan de gemiddelde straal van een hemellichaam kan doorgegeven worden, ii) een parameter $$d$$ voor de bulkdichtheid, iii) een parameter $$v$$ voor de ontsnappingssnelheid, en iv) een parameter $$t$$ voor de oppervlaktetemperatuur. Indien voor elk van de vier parameters een waarde wordt doorgegeven, dan moet de functie de ESI waarde teruggeven. Indien enkel de gemiddelde straal en de bulkdichtheid doorgegeven worden, dan moet de interior ESI teruggegeven worden. Indien enkel de ontsnappingssnelheid en oppervlaktetemperatuur doorgegeven worden, dan moet de surface ESI teruggegeven worden. Voor alle andere combinaties van waarden die worden doorgegeven voor de parameters, moet de functie een AssertionError opwerpen met de tekst ongeldige argumenten.
>>> ES([1.36, 1.22, 1.51, 278.0], [1.0, 1.0, 1.0, 288.0])
0.879229825878449
>>> ES([1.36, 1.22, 1.51, 278.0], [1.0, 1.0, 1.0, 288.0], [0.57, 1.07, 0.70, 5.58])
0.8903703266879102
>>> ES([1.36, 1.22, 1.51], [1.0, 1.0, 1.0, 288.0])
Traceback (most recent call last):
AssertionError: ongeldige argumenten
>>> ESI(1.00, 1.00, 1.00, 288.0) # Aarde
1.0
>>> ESI(r=0.53, d=0.71) # Mars (interior ESI)
0.8154483513183794
>>> ESI(v=0.38, t=440.0) # Mercurius (surface ESI)
0.42223988785100186
>>> ESI(t=278.0, v=1.51, d=1.22, r=1.36) # Gliese 581g
0.8903703266879102
>>> ESI(d=1.22, r=1.36) # Gliese 581g (interior ESI)
0.9021231636588817
>>> ESI(t=278.0, v=1.51) # Gliese 581g (surface ESI)
0.878770605369469
>>> ESI(r=0.27, d=0.60, t=220.0) # Moon
Traceback (most recent call last):
AssertionError: ongeldige argumenten