Skip to content

Optimistic variant of MWU, and a variant of the Extragradient Method#1

Open
VarsosC wants to merge 2 commits intomainfrom
Learning_dynamics
Open

Optimistic variant of MWU, and a variant of the Extragradient Method#1
VarsosC wants to merge 2 commits intomainfrom
Learning_dynamics

Conversation

@VarsosC
Copy link
Copy Markdown
Collaborator

@VarsosC VarsosC commented Dec 7, 2023

There are two methods. The first one is the Optimistic Multiplicative Weights Update method, and the second one is the Forward Looking Best-Response Multiplicative Weights Update method. Both attain point-wise convergence in the case of 2-player zero-sum games.

@VarsosC VarsosC marked this pull request as ready for review December 7, 2023 13:41
@VarsosC VarsosC closed this Dec 7, 2023
@VarsosC VarsosC reopened this Dec 7, 2023
@VarsosC VarsosC requested a review from wyz2368 December 7, 2023 13:53
Comment thread ordinal_potential_games/main_MWU.py Outdated
num_iterations = 10
num_iterations = 50
potential, games = runner(dim)
games.append([np.array([[2, -1], [-1, 4]]), np.array([[-2, 1], [1, -4]])])
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Is the game appended an ordinal potential game?

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.

No, I appended a zero-sum game in order to point the difference between the vanilla MWU and the two new methods.

Comment thread ordinal_potential_games/FLBR_MWU.py Outdated
@@ -0,0 +1,43 @@
import numpy as np

def FLBR_multiplicative_weights_update(meta_games, num_iterations, step_size, alternate=False):
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Can you add some reference to the implementation of FLBR and Optimistic MWU? Thanks.

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.

Yes sure, here you go

Comment thread ordinal_potential_games/FLBR_MWU.py Outdated

last_weights = [np.ones(n)/n, np.ones(m)/m]
weights = [np.ones(n) / n, np.ones(m) / m]
print(step_size)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Please mute all printing used for testing.

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.

Done.

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.

2 participants