SETI::Drake - Estimate the number of interstellar communicating civilizations
use SETI::Drake; $d = SETI::Drake->new( R => $stars, fp => $planets, ne => $support, fl => $life, fi => $intelligence, fc => $communication, L => $lifespan, ); $n = $d->N; printf 'You are ' . ($n > $threshold ? 'opt' : 'pess') . "imistic: %0.2f\n", $n;
SETI::Drake object answers the question, "How many detectible, intelligent, interstellar communicating civilizations might be out there, in the galaxy?" by providing a single method,
N(), which is a prediction based on the product of seven factors. In other words, this module does nothing more than multiply seven numbers together.
According to NOVA, Drake's values were:
R => 5, # Number of stars formed per year. fp => 0.5, # Fraction of those stars that form planets. ne => 2, # Average number of those planets that can support life. fl => 1, # Fraction of those planets that actually do develop life. fi => 0.2, # Fraction of those planets that then evolve intelligence. fc => 1, # Fraction of those planets that develop interstellar communication. L => 10000, # Average lifetime (in years) of an interstellar communicating civilization.
According to Wikipedia, Drake's values were:
R => 10, # Annual rate of star creation in our galaxy. fp => 0.5, # Fraction of those stars which have planets. ne => 2, # Average number of these planets that can potentially support life. fl => 1, # Fraction of the above that develop life. fi => 0.1, # Fraction of the above that develop intelligent life. fc => 0.1, # Fraction of the above that communicate. L => 10, # Expected lifetime (in years) of such a civilisation.
On Cosmos, Carl Sagan computes it this way:
R => 400_000_000_000, # Number of stars in the Milky Way. fp => 1/4, # Fraction of stars that have planets. ne => 2, # Worlds suitable for sustaining life per system. fl => 1/2, # Fraction of suitable worlds in which life does arise fi => 1/10, # Fraction of worlds where intelligent life evolves. fc => 1/10, # Fraction of worlds that produce a technical civilization. L => 1/100_000_000, # Chance that we might destroy ourselves tomorrow.
my $d = SETI::Drake->new($arguments);
Return a new SETI::Drake instance. If no equation variables are provided, Frank Drake's choices (from his 2004 chalkboard video interview on Nova) are used.
$N = $d->N;
Return the value of the Drake equation:
N = R* x fp x ne x fl x fc x L
http://www.youtube.com/watch?v=0Ztl8CG3Sys - Carl Sagan explains it.
Copyright 2004, Gene Boggs, All Rights Reserved
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Gene Boggs <firstname.lastname@example.org>