Skip to content

Commit

Permalink
Fixed report loading so there are every time the exact steps executed…
Browse files Browse the repository at this point in the history
… and no steps skipped
  • Loading branch information
byWulf committed Aug 21, 2022
1 parent 527ed38 commit 012bc7d
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions src/Service/PuzzleSolver/ByWulfSolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,8 @@ public function findSolution(array $pieces, array $matchingMap): Solution

$this->repeatedlyAddPossiblePlacements($context, 0.01, 0.01);

if (count($context->getSolution()->getBiggestGroup()?->getPlacements() ?? []) < $context->getPiecesCount() * 0.8) {
$this->removeBadPiecesStrategy->execute($context, 0.5);
$this->repeatedlyAddPossiblePlacements($context, 0.01, 0.01);
}
$this->removeBadPiecesStrategy->execute($context, 0.5);
$this->repeatedlyAddPossiblePlacements($context, 0.01, 0.01);

$this->repeatedlyAddPossiblePlacements($context, 0, 0);

Expand Down Expand Up @@ -218,18 +216,10 @@ private function executeSinglePieceAssignment(ByWulfSolverContext $context, ?flo
*/
private function repeatedlyAddPossiblePlacements(ByWulfSolverContext $context, float $minProbability, float $minDifference): void
{
$lastPieceCount = $context->getSolution()->getPieceCount();
$lastGroupCount = count($context->getSolution()->getGroups());
for ($i = 0; $i < 5; ++$i) {
$context->resetMatchingMap();
$this->addBestSinglePieceStrategy->execute($context, $minProbability, $minDifference);
$this->mergeGroupsStrategy->execute($context, $minProbability);

if ($context->getSolution()->getPieceCount() === $lastPieceCount && count($context->getSolution()->getGroups()) === $lastGroupCount) {
break;
}
$lastPieceCount = $context->getSolution()->getPieceCount();
$lastGroupCount = count($context->getSolution()->getGroups());
}
}

Expand Down

0 comments on commit 012bc7d

Please sign in to comment.