Question: JAVA IMPLEMENTATION OF BRUTE FORCE TO STABLE MATCHING PROBLEM - (Implement the function in bold) In this problem we will consider a version of the

JAVA IMPLEMENTATION OF BRUTE FORCE TO STABLE MATCHING PROBLEM - (Implement the function in bold)

In this problem we will consider a version of the problem for professors and students and their fully ordered list of preferences. The Stable Matching Problem, as discussed in the text, assumes that all men and women have a fully ordered list of preferences. In this problem we will consider a version of the problem for professors and students and their fully ordered list of preferences. Note that ties in preference lists are not allowed. As before we have a set P of n professors and a set S of n students. Assume each professor and each student ranks the members of the opposite group

A brute force solution to this problem involves generating all possible permutations of men and women, and checking whether each one is a stable matching, until a stable matching is found. For this assignment, you are provided with Preferences.java class which includes the necessarry input structures for the problem. Please see the comments in Preferences.java file for details. You are also given Assignment1.java file where you will put your implementation for this part under stableMatchBruteForce() function which returns ArrayList. This ArrayList should contain information for matching information representing the index of student matched with a professor, -1 is not matched. For example, if ith element of the returned ArrayList is j, than professor i is matched with student j. There might be a stable matching which is neither professor nor student optimal. This is because in a brute force, you are trying to find all possible stable matches. Preferences.java is provided below. Please implement stableMatchBruteForce().

// Part1: Implement a Brute Force Solution public static ArrayList stableMatchBruteForce(Preferences preferences) {

}

Preferences.java

import java.util.ArrayList;

/** * Class to provide input to Stable Matching algorithms */ public class Preferences { /** Number of professors. */ private int numberOfProfessors;

/** Number of students. */ private int numberOfStudents;

/** A list containing each professor's preference list. */ private ArrayList> professors_preference;

/** A list containing each student's preference list. */ private ArrayList> students_preference;

public Preferences(int numberOfProfessors, int numberOfStudents, ArrayList> professors_preference, ArrayList> students_preference) { this.numberOfProfessors = numberOfProfessors; this.numberOfStudents = numberOfStudents; this.professors_preference = professors_preference; this.students_preference = students_preference; }

public int getNumberOfProfessors() { return numberOfProfessors; }

public void setNumberOfProfessors(int numberOfProfessors) { this.numberOfProfessors = numberOfProfessors; }

public int getNumberOfStudents() { return numberOfStudents; }

public void setNumberOfStudents(int numberOfStudents) { this.numberOfStudents = numberOfStudents; }

public ArrayList> getProfessors_preference() { return professors_preference; }

public void setProfessors_preference(ArrayList> professors_preference) { this.professors_preference = professors_preference; }

public ArrayList> getStudents_preference() { return students_preference; }

public void setStudents_preference(ArrayList> students_preference) { this.students_preference = students_preference; } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!