Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Полезные (интересные и оригинальные) решения

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

leb5teR

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
#---------- ЖИВУЧЕСТЬ ----------#
    function FCalcFitness($Gene) {
 
        global $Result,$MaxPop;
 
        for($i=0;$i<$MaxPop;$i++) {
            $Fitness[$i]=abs(($Gene[$i]["coeff_a"]+2*$Gene[$i]["coeff_b"]+3*$Gene[$i]["coeff_c"]+4*$Gene[$i]["coeff_a"])-$Result);
            print $Fitness[$i]."<BR>";
            $MiddleFitness=$MiddleFitness+$Fitness[$i];
        }
 
        $MiddleFitness=$MiddleFitness/$MaxPop;
 
        print "<BR>Средняя приспособленность: ".$MiddleFitness;
 
        return $Fitness;
 
    }
 
#---------- Стать мамо или папо ----------#
 
#
# не используется
#
 
    function FCalcLikelihood($Fitness) {
        global $Result,$MaxPop;
 
        for($i=0;$i<$MaxPop;$i++) {
            $InvSum[$i]=(1/$Fitness[$i]);
            $FullSum=$FullSum+$InvSum[$i];
        }
 
        $LikelihoodSum=0;
 
        for($i=0;$i<$MaxPop;$i++) {
            $Population[$i]=array("Likelihood"=>($InvSum[$i]/$FullSum)*100);
            $LikelihoodSum=$LikelihoodSum+$Population[$i]["Likelihood"];
            print $Population[$i]["Likelihood"]."%<BR>";
        }
 
        print "<BR>Сумма=".$LikelihoodSum;
 
    }
 
#---------- Пары хромосом ----------#
    function FSelectGenePairs($Gene) {
        global $Result,$MaxPop;
 
        print "Сочетания пар хромосом (папо и мамо):<BR>";
        echo "<TABLE border=0 cellspacing=0 cellpadding=0>";
        for($i=0;$i<$MaxPop;$i++) {
            echo "<TR>";
            for($j=0;$j<2;$j++) {
                $GenePair[$i][$j]=rand(0,$MaxPop-1);
                echo "<TD align=\"center\">".$GenePair[$i][$j];
            }
        }
        echo "</TABLE>";
 
    print "<BR>Пары хромосом (папо и мамо):<BR>";
 
        echo "<TABLE border=0 cellspacing=0 cellpadding=0>";
        echo "<TR><TD align=\"center\" colspan=4>МАМО<TD width=30px><TD align=\"center\" colspan=4>ПАПО";
        for($i=0;$i<$MaxPop;$i++) {
            echo "<TR>";
            for($j=0;$j<2;$j++) {
                echo "<TD align=\"center\">".$Gene[$GenePair[$i][$j]]["coeff_a"];
                echo "<TD align=\"center\">".$Gene[$GenePair[$i][$j]]["coeff_b"];
                echo "<TD align=\"center\">".$Gene[$GenePair[$i][$j]]["coeff_c"];
                echo "<TD align=\"center\">".$Gene[$GenePair[$i][$j]]["coeff_d"];
                echo "<TD>";
            }
        }
        echo "</TABLE>";
 
        return $GenePair;
 
    }
 
#---------- SEX ----------#
    function FChildBirthday($GenePair,$Gene) {
        global $Result,$MaxPop;
 
        print "Даунито-хромосом:<BR>";
        echo "<TABLE border=0 cellspacing=0 cellpadding=0>";
        for($i=0;$i<$MaxPop;$i++) {
            $ChildGene[$i][0]=$Gene[$GenePair[$i][0]]["coeff_a"];
            $ChildGene[$i][1]=$Gene[$GenePair[$i][0]]["coeff_b"];
            $ChildGene[$i][2]=$Gene[$GenePair[$i][1]]["coeff_c"];
            $ChildGene[$i][3]=$Gene[$GenePair[$i][1]]["coeff_d"];
 
            echo "<TR>";
            echo "<TD align=\"center\">".$ChildGene[$i][0];
            echo "<TD align=\"center\">".$ChildGene[$i][1];
            echo "<TD align=\"center\">".$ChildGene[$i][2];
            echo "<TD align=\"center\">".$ChildGene[$i][3];
        }
        echo "</TABLE>";
        return $ChildGene;
    }
 
#---------- ЖИВУЧЕСТЬ ДЕТИШКОВ ----------#
    function FChildFitness($ChildGene) {
        global $Result,$MaxPop;
 
        print "Выживаемость потомства:<BR>";
        $MiddleFitness=0;
 
        for($i=0;$i<$MaxPop;$i++) {
            $DaunitoHromosome[$i]=abs(($ChildGene[$i][0]+2*$ChildGene[$i][1]+3*$ChildGene[$i][2]+4*$ChildGene[$i][3])-$Result);
            $MiddleFitness=$MiddleFitness+$DaunitoHromosome[$i];
            print $DaunitoHromosome[$i]."<BR>";
        }
 
        $MiddleFitness=$MiddleFitness/$MaxPop;
        $MinFitness=min($DaunitoHromosome);
        print "<BR>Наименьшее значение: ".$MinFitness."<BR>";
        print "<BR>Средняя выживаемость популяции: ".$MiddleFitness."<BR>";
 
        for($i=0;$i<$MaxPop;$i++) {
            if($DaunitoHromosome[$i]==0) {
                print "Решение найдено: <TABLE border=0 cellspacing=0 cellpadding=0><TR>";
                print "<TD align=\"center\">".$ChildGene[$i][0];
                print "<TD align=\"center\">".$ChildGene[$i][1];
                print "<TD align=\"center\">".$ChildGene[$i][2];
                print "<TD align=\"center\">".$ChildGene[$i][3]."</TABLE><BR>";
            }
        }
 
    }

Всего записей: 6 | Зарегистр. 29-01-2007 | Отправлено: 22:47 23-07-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Полезные (интересные и оригинальные) решения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru