Skip to content

Feature/POLCA Algorithm: epsilon-net and summarizer#60

Merged
chinganc merged 14 commits intoexperimentalfrom
feature/epsNet_and_summarizer
Mar 23, 2026
Merged

Feature/POLCA Algorithm: epsilon-net and summarizer#60
chinganc merged 14 commits intoexperimentalfrom
feature/epsNet_and_summarizer

Conversation

@xuanfeiren
Copy link
Copy Markdown
Collaborator

@xuanfeiren xuanfeiren commented Dec 11, 2025

In this PR, I added the POLCA algorithm (epsilon net and summarizer features built on PS).

  1. Add summarizer.py under priority_search. (Updated: currently summarizer supports the multi-objective feature)
  2. Add a regressor template in module_regressor.py. This could be used to create different types of regressors. In this PR, it is used to get the embeddings of candidates.
  3. Add polca.py under priority_search, containing POLCA, which is a subclass of PrioritySearch.
  4. Modifty the current PrioritySearch. Move "adding the exploration sample rollouts to ModuleCandidate" before proposing new candidates. Now at the propose step, we have information of exploration candidates.

@xuanfeiren xuanfeiren requested a review from chinganc December 15, 2025 20:26
@allenanie allenanie force-pushed the feature/epsNet_and_summarizer branch from 4dcf1c4 to c7177fd Compare December 27, 2025 15:27
@xuanfeiren xuanfeiren changed the title Feature/eps net and summarizer Feature/POLCA Algorithm: epsilon-net and summarizer Mar 20, 2026
# identically to objective_config=None, making the "scalar" mode a no-op.
cfg = getattr(self, 'objective_config', None)
if cfg is not None and cfg.mode != "scalar":
if cfg is not None:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you remove the condition cfg.mode != "scalar"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the compute_exploration_priority function, when cfg.mode == "scalar" (not None), we still need this score_dict data? I want to make them consistent.

Copy link
Copy Markdown
Member

@chinganc chinganc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xuanfeiren added some comments

@chinganc
Copy link
Copy Markdown
Member

LGTM. Thanks for the contribution @xuanfeiren

@chinganc chinganc merged commit d46d7f4 into experimental Mar 23, 2026
1 check passed
@chinganc chinganc deleted the feature/epsNet_and_summarizer branch March 23, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants