Skip to content
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

Addition of Coalition Formation in Multi-agent Systems implementation, which is specifically a Social Aware Assignment Algorithm to NetworkY Library #3

Merged
merged 1 commit into from
Sep 18, 2023

Conversation

VictoKu1
Copy link
Contributor

Dear NetworkY team,

I am writing to submit a pull request to add the "Social Aware Assignment of Passengers in Ridesharing" algorithm to the NetworkX library. The algorithm is based on the article "Levinger, C., Hazon, N., & Azaria, A. (2022). Social Aware Assignment of Passengers in Ridesharing". https://github.com/VictoKu1/ResearchAlgorithmsCourse1/raw/main/Article/2022%2C%20Chaya%20Amos%20Noam%2C%20Socially%20aware%20assignment%20of%20passengers%20in%20ride%20sharing.pdf.
The following Pull request is parallel to #6364 in the NetworkX library (networkx/networkx#6364).

The social aware assignment problem belongs to the field of coalition formation, which is an important research branch
within multiagent systems. It analyses the outcome that results when a set of agents is partitioned into coalitions.

Social aware assignment definition:
Given a number k and an undirected friendship graph G = (V, E) where (v_i , v_j) ∈ E if v_i and v_j are connected.
The goal is to find an assignment P, which is a partition of the set V , such that ∀S ∈ P, |S|≤ k, and the value of P,
V_P = |{(v_i , v_j) ∈ E: ∃S ∈ P where v_i ∈ S and v_j ∈ S}| is maximized.

I have implemented the algorithm in the file "networky/networky/algorithms/approximation/coalition_formation.py" and included test cases in the file "networky/networky/algorithms/approximation/tests/test_coalition_formation.py" to ensure its correctness. The algorithm has been implemented in such a way that it can be easily integrated into the existing NetworkY library.
Actually, Match_And_Merge model is a special case of simple Additively Separable Hedonic Games (ASHGs).

It has completed all the tests, those which I wrote as well as all the included library tests.

I have also included an online flask web page that allows users to run the algorithm using a web interface. The URL for the website is provided in the comments of the code: https://victoku1.pythonanywhere.com/ .

I would be happy to answer any questions or provide additional information about the implementation. Thank you for considering my pull request.

VictoKu1.

@erelsgl erelsgl merged commit 4a4bba7 into ariel-research:master Sep 18, 2023
27 checks passed
erelsgl pushed a commit that referenced this pull request Aug 3, 2024
move the test to the correct location
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