$element = new Element("h1", 1); $element->addProperty(new Property(1, "color", ["#1abc9c", "#16a085", "#f1c40f", "#f39c12", "#40d47e", "#27ae60", "#e67e22", "#d35400", "#3498db", "#2980b9", "#e74c3c", "#c0392b", "#9b59b6", "#8e44ad", "#ecf0f1", "#bdc3c7", "#34495e", "#2c3e50", "#95a5a6", "#7f8c8d"])); $element->addProperty(new Property(2, "text-align", ["center", "left", "right", "justified"])); $element->addProperty(new Property(3, "text-decoration", ["overline", "underline", "line-through"])); $element->addProperty(new Property(4, "font-family", ["Tangerine", "Inconsolata", "Droid Sans"])); $element->addProperty(new Property(5, "font-style", ["normal", "italic", "oblique"])); $element->addProperty(new Property(6, "font-weight", ["normal", "lighter", "bold"])); $element->addProperty(new Property(7, "letter-spacing", ["-3px", "-2px", "-1px", "0px", "1px", "2px", "3px"])); $element->addProperty(new Property(7, "background-color", ["#1abc9c", "#16a085", "#f1c40f", "#f39c12", "#40d47e", "#27ae60", "#e67e22", "#d35400", "#3498db", "#2980b9", "#e74c3c", "#c0392b", "#9b59b6", "#8e44ad", "#ecf0f1", "#bdc3c7", "#34495e", "#2c3e50", "#95a5a6", "#7f8c8d"])); $ga = new GeneticAlgorithm(5, 0.9, 0.1, 1); $population = $ga->initPopulation($element); $individuals = $population->getIndividuals(); //Printing Style echo "<style>"; foreach ($individuals as $id => $individual) { echo "\n" . $ga->decode($id + 1, $individual, $element); } echo "</style>"; //Printing headers foreach ($individuals as $id => $individual) { $id++; echo "Encoded: " . $individual . "<br>"; echo "Decoded: <h1 id='individual{$id}'>This is a Title</h1>"; echo '<input type="text" class="input_range" id="range_' . $id . '" form="form1" name="individual_' . $id . '" value="" />'; } //TEMP:: Setting random fitness foreach ($population->getIndividuals() as &$i) { $i->setFitness(Random::generate()); } $ga->evalPopulation($population); echo $population->getPopulationFitness() . "<br>";