Giter Site home page Giter Site logo

anshul1004 / lubymis Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 1.0 108 KB

Implementation of LubyMIS algorithm to find the Maximal Independent Set in case of distributed networks

Java 100.00%
mis maximal-independent-set luby-s-algorithm distributed-systems distributed distributed-computing distributed-algorithms java threads processes

lubymis's Introduction

Team Members:
Anshul Pardhi arp180012
Jayita Roy jxr190003
Ruchi Singh rxs180057

We have divided the project into several tasks:
1. Study LubyMIS algorithm: Anshul, Jayita, Ruchi
2. Study multithreading in Java: Anshul, Jayita, Ruchi
3. Create input file from graph: Jayita
4. Implement code to parse input file graph: Jayita
5. Implement LubyMIS algorithm: Anshul
6. Implement thread synchronization: Ruchi
7. Integration of LubyMIS algorithm with thread synchronization: Anshul, Jayita, Ruchi
8. Implement method to check if the generated MIS is correct: Anshul
9. Implement code to generate output file to store results: Anshul
10. Test the code with the same input multiple times: Ruchi
11. Create multiple graph input files to test the correctness of the implemented algorithm: Jayita
12. Test the code on new input files, and generate their corresponding output files: Anshul, Ruchi
13. Documentation (code comments, README): Anshul, Jayita, Ruchi

To implement the Luby's MIS algorithm, we have created a Luby.java file. To compile and run the Luby.java code, there are following steps that need to be followed -

a) The algorithm will run on csgrads1 server.
b) Make sure Java 1.8 or any other higher version is installed on the machine.
c) The code takes two command-line arguments i.e., input and output file names. Make sure the input file is in the same directory with the code file or make appropriate changes according to the file path in the command line argument.
d) The input file contains 3 lines -
   1) n, number of vertices in the graph
   2) id array; a one-dimensional array of size n
   3) adjacency matrix (which is a symmetric n by n matrix). 1 represents if the nodes are adjacent to each other and 0 otherwise.
e) First, to compile Luby.java use command "javac Luby.java".
f) A Luby.class file will be created in the same directory after compiling the java file.
g) Now, to run the above code, use command "java Luby inputfile outputfile" e.g. java Luby input1.txt output1.txt
h) An output file will be created which contains the rounds (rounds took to generate the MIS), resultant MIS set and a verification message whether the generated MIS is correct or not.

lubymis's People

Contributors

anshul1004 avatar

Watchers

 avatar  avatar

Forkers

shub8968

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.