|
|||
CATCHING CONSPIRATORS
|
|||
|
|
|||
THE BACKGROUND
|
|||
|
|
|||
THE TRADES
|
|||
|
|
|||
THE TOOLS OF THE FOLLOWERS
|
|||
|
|
|||
LOGIC COMBOS
|
|||
|
|
|||
PERL TO THE ASSIST
|
|||
|
|
|||
EVALUATING CANDIDATES
# evaluate each candidate that is not a proposed ring leader
for($c = 0; $c < $candidates; $c++) {
next if($rldr1 == $c || $rldr2 == $c || $rldr3 == $c);
for $n (0 .. $rules) { # init count of rule hits
$ruleCnt[$c][$n] = 0;
}
# apply the rules to each event for this candidate
for $e (1 .. $events) { # column zero is not an event
$tmp = ($aoa[$rldr1][$e] & $aoa[$rldr2][$e]) ? 1 : 0;
$res[0] = ($aoa[$rldr3][$e] != $tmp) ? 1 : 0; # 2 inp AND with ODD
$tmp = $aoa[$rldr1][$e] & $aoa[$rldr3][$e];
$res[1] = ($aoa[$rldr2][$e] != $tmp) ? 1 : 0;
$tmp = $aoa[$rldr2][$e] & $aoa[$rldr3][$e];
$res[2] = ($aoa[$rldr1][$e] != $tmp) ? 1 : 0;
$res[3] = ($aoa[$rldr1][$e] + $aoa[$rldr2][$e] +
$aoa[$rldr3][$e]) & 1; # 3 inp ODD
|
|||
|
|
|||
EVALUATION CONT'D
$res[4] = $aoa[$rldr1][$e] & $aoa[$rldr2][$e] & $aoa[$rldr3][$e]; # 3 inp AND
$tmp = ($aoa[$rldr1][$e] + $aoa[$rldr2][$e]) & 1; # 2 inp ODD with AND
$res[5] = $aoa[$rldr3][$e] & $tmp;
$tmp = ($aoa[$rldr1][$e] + $aoa[$rldr3][$e]) & 1;
$res[6] = ($aoa[$rldr2][$e] & $tmp);
$tmp = ($aoa[$rldr2][$e] + $aoa[$rldr3][$e]) & 1;
$res[7] = ($aoa[$rldr1][$e] & $tmp);
print " !! Rule results !!\n" if($debug > 2 && $e < 2);
for($r = 0; $r < $rules; $r++) { # count the rule hits
print "( $res[$r] vs $aoa[$c][$e])" if($debug > 2);
if($res[$r] == $aoa[$c][$e]) {
$ruleCnt[$c][$r]++; # add to the 'hit' count
}
}
print "\n" if($debug > 2);
}
|
|||
|
|
|||
EVALUATION CONT'D
my $rcnt = 0;
@ary = ();
for($r = 0; $r < $rules; $r++) { # collect list of follower conspirators
print " rule $r: good $ruleCnt[$c][$r] times\n" if($debug > 1);
next if($ruleCnt[$c][$r] < $events);
$ary[$rcnt++] = $r; # save which rule qualified
}
push @resTable, [@ary];
print "Rules that qualified: @ary\n" if($debug && $rcnt);
if($rcnt) {
if($debug > 1) {
my $cn = $c + 1;
print "Rule(s) @ary qualify candidate $cn\n";
}
} else {
return; # ignore this leader combo
}
}
|
|||
|
|
|||
EVALUATION CONT'D
|
|||
|
|
|||
SUMMARY
|
|||
|