-
Notifications
You must be signed in to change notification settings - Fork 659
Fix MAP-Elites algorithm implementation #151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Fix _enforce_population_limit to respect MAP-Elites structure - Prioritize removing non-elite programs before elite programs - Fix program replacement in feature cells to properly remove old programs - Add _remove_program_from_database method for clean program removal - Add comprehensive tests to verify MAP-Elites functionality - Preserve diversity by keeping best program in each feature cell - Add logging for MAP-Elites grid occupancy and operations Fixes #150 Co-authored-by: Asankhaya Sharma <[email protected]>
|
Claude finished @codelion's task —— View job PR Review CompleteSummaryThis PR successfully fixes the MAP-Elites algorithm implementation to properly respect feature map structure during population limit enforcement. The changes are well-implemented with comprehensive test coverage. ✅ StrengthsCode Quality & Best Practices
Algorithm Implementation
Test Coverage
|
|
@claude bump versions in PR for next release. |
|
Claude finished @codelion's task —— View job Task: Bump versions in PR for next release
SummarySuccessfully bumped the version from Changes made:
Version architecture:
Since this PR fixes a bug in the MAP-Elites algorithm implementation, a patch version bump (0.0.18 → 0.0.19) is appropriate. |
Co-authored-by: Asankhaya Sharma <[email protected]>
|
@claude the unit test are failing please make sure they succeed before we can merge this PR. |
|
Claude finished @codelion's task —— View job Task: Fix failing unit tests for MAP-Elites algorithm implementationTodo List:
Summary✅ Successfully fixed the failing unit tests by resolving the non-deterministic behavior in the MAP-Elites algorithm implementation. Root CauseThe test failure in Fix AppliedCommit:
Technical Details
Files Modified
Expected ResultThe MAP-Elites algorithm tests should now pass consistently, resolving the CI failures and enabling the PR to be merged. |
- Replace random.sample() with deterministic sorting by program ID in _calculate_feature_coords - Replace random.sample() with deterministic sorting by program ID in _calculate_diversity_bin - This ensures consistent feature coordinate calculation across test runs - Fixes test_map_elites_replacement_basic and related MAP-Elites tests Co-authored-by: Asankhaya Sharma <[email protected]>
Fix MAP-Elites algorithm implementation to properly respect feature map structure during population limit enforcement.
Changes
_enforce_population_limitto respect MAP-Elites structure_remove_program_from_databasemethod for clean program removalProblem
The original issue was that
self.feature_mapwas not being used during population limit enforcement. The_enforce_population_limitmethod was simply removing the worst programs by fitness, which defeated the purpose of MAP-Elites diversity preservation.Solution
The fix ensures that:
Fixes #150
Generated with Claude Code