Két civilizáció találkozásának esélyét az univerzumban (vagy a Tejútrendszerben) leggyakrabban a híres Drake-formula és az abból levezetett térbeli távolságok, illetve az időbeli átfedések valószínűsége alapján szokták modellezni. Mivel az univerzum hatalmas, két civilizációnak nemcsak egy időben kell léteznie, hanem elég közel is kell lenniük egymáshoz, hogy a rádiójeleik (vagy űrhajóik) elérjék a másikat. Az alábbi Python program először kiszámítja a galaxisunkban egyidejűleg létező technológiai civilizációk várható számát (\(N\)) a Drake-egyenlet alapján, majd egy térbeli statisztikai modellt használva megbecsüli az átlagos távolságukat, végül pedig kiszámítja annak a valószínűségét, hogy egy adott sugarú keresési zónán belül (pl. amin belül még képesek vagyunk kommunikálni) találkoznak-e.
1. Drake-egyenlet (drake_equation): Összeszorozza a csillagászati, biológiai és technológiai valószínűségeket. A fenti, optimista beállításokkal nagyjából \(N = 100\) egyidejűleg létező, kommunikáló civilizáció jön ki a galaxisunkban.
2. Átlagos távolság: Egyenletesen elosztja a civilizációk számát a Tejútrendszer hatalmas térfogatában. Ha 100 civilizáció van, az átlagos távolság közöttük nagyjából 4000–5000 fényév lesz.
3. Kombinatorikus valószínűség (becsult_talalkozasi_esely): Kiszámítja a keresési zónánk és a galaxis teljes méretének arányát. Annak az esélyét határozza meg, hogy a többi civilizáció közül legalább egy beleesik-e ebbe a zónába.
--------------------
import math
def drake_equation(R_star, f_p, n_e, f_l, f_i, f_c, L):
"""
Kiszámítja a Tejútrendszerben jelenleg létező, kommunikációra képes civilizációk számát (N).
"""
return R_star * f_p * n_e * f_l * f_i * f_c * L
def becsult_talalkozasi_esely(r_max_ly, tejut_sugar_ly, tejut_vastagsag_ly, N):
"""
Kiszámítja a találkozás valószínűségét egy adott 'r_max_ly' fényév sugarú kommunikációs zónán belül.
"""
if N <= 1:
return 0.0 # Ha csak egyedül vagyunk (vagy senki sincs), az esély 0%
# A Tejútrendszer térfogatának közelítése (lapos korongként/hengerként)
tejut_terfogat = math.pi * (tejut_sugar_ly ** 2) * tejut_vastagsag_ly
# Egy civilizáció maximális kommunikációs gömbjének térfogata
kommunikacios_terfogat = (4 / 3) * math.pi * (r_max_ly ** 3)
# Annak az esélye, hogy egy KIVÁLASZTOTT másik civilizáció kívül esik ezen a zónán
kivul_esett_esely = 1 - (kommunikacios_terfogat / tejut_terfogat)
# Biztonsági korlát (ha a kommunikációs zóna nagyobb lenne, mint a galaxis)
if kivul_esett_esely < 0:
kivul_esett_esely = 0
# Annak az esélye, hogy a többi (N - 1) civilizáció MINDEGYIKE kívül esik a zónánkon
mindenki_kivul_van = kivul_esett_esely ** (N - 1)
# Legalább egy civilizációval való találkozás/kapcsolatba lépés esélye
legalabb_egy_talalkozas_eselye = 1 - mindenki_kivul_van
# Átlagos távolság kiszámítása a legközelebbi civilizációig (gömbök szerint elosztva)
egyseg_terfogat = tejut_terfogat / N
atlagos_tavolsag = ((3 * egyseg_terfogat) / (4 * math.pi)) ** (1/3)
return legalabb_egy_talalkozas_eselye * 100, atlagos_tavolsag
# --- Alapértelmezett tudományos becslések (Drake és mérsékelt modern adatok) ---
R_star = 2.0 # Új csillagok keletkezési üteme évente a Tejútrendszerben
f_p = 0.5 # Csillagok aránya, amelyek rendelkeznek bolygókkal
n_e = 1.0 # Életre alkalmas bolygók átlagos száma bolygórendszerenként
f_l = 1.0 # Az élet tényleges kialakulásának esélye ezeken a bolygókon
f_i = 0.1 # Az intelligens élet kialakulásának esélye (10%)
f_c = 0.1 # Kommunikációra képes/jeleket kibocsátó civilizációk aránya (10%)
L = 100 # Egy technológiai civilizáció átlagos élettartama évben (pl. 100 év)
# Galaxis méretei (fényévben)
TEJUT_SUGAR = 50000
TEJUT_VASTAGSAG = 1000
# Maximális távolság, amin belül még képesek lennénk észlelni egymást (pl. a rádiójeleink hatótávolsága)
KERESESI_RADIUS_LY = 5000
# --- Számítások futtatása ---
N = drake_equation(R_star, f_p, n_e, f_l, f_i, f_c, L)
esely, tavolsag = becsult_talalkozasi_esely(KERESESI_RADIUS_LY, TEJUT_SUGAR, TEJUT_VASTAGSAG, N)
# --- Eredmények kiíratása ---
print("=" * 60)
print(f"A Tejútrendszerben jelenleg aktív civilizációk becsült száma: {N:.2f}")
print(f"Becsült átlagos távolság a legközelebbi civilizációig: {tavolsag:.0f} fényév")
print("-" * 60)
print(f"Annak az esélye, hogy egy {KERESESI_RADIUS_LY} fényéves körzeten belül")
print(f"találkozunk vagy kapcsolatba lépünk egy másik civilizációval: {esely:.4f}%")
print("=" * 60)
-----------------
Futtatás
https://pythoncompiler.io/
Eredmény
============================================================
A Tejútrendszerben jelenleg aktív civilizációk becsült száma: 1.00
Becsült átlagos távolság a legközelebbi civilizációig: 2657 fényév
------------------------------------------------------------
Annak az esélye, hogy egy 5000 fényéves körzeten belül
találkozunk vagy kapcsolatba lépünk egy másik civilizációval: 33.8919%
============================================================
Nincsenek megjegyzések:
Megjegyzés küldése