my $Number_of_geographical_regions = 4;
my $Number_of_generations = 3;
####
Generation 1:
Geographical regions:
2
3
1
4
Generation 2:
Geographical regions:
4
2
3
1
Generation 3:
Geographical regions:
1
4
3
2
####
my $nregions = 354; # 354;
my $number_of_replicates = 3;
my %seen;
foreach my $generation (1..$number_of_replicates) { ## TEMP
my @members = random_subset_X($nregions, $nregions );#$number_of_replicates ); # 5 element subsets, e.g. #### THIS BIT NEEDS SORTING OUT
my $key = join(" ", @members); # note: members already sorted
redo if $seen{$key}; # make sure the subsets are unique
$seen{$key} = 1;
print "\n\nI'm about to enter the insert subset subroutine\n\n";
insert_subset($generation, @members);
} ## TEMP
sub random_subset_X {
my ($n, $k) = @_; # $k member subset of 1..$n. # # $n is no. of regions, $k no. of replicates
my %member;
while ($k > 0) {
my $x = int(rand()*$n)+1; # generates random number 1..$n.
redo if $member{$x};
$member{$x} = 1;
$k--;
} continue {
$k--;
}
sort keys %member;
}
sub insert_subset {
my ( $generation, @members) = @_;
for my $x (@members) {
# $sth_insert_into_random->execute($generation, $x);
print "$generation\t$x\n";
}
}