ACKNOWLEDGEMENT I am very thankful to Mr. Biplab Mahapatra Sir for allowing me to build this project. I am also very thankful to my teacher guide because it would not be possible to complete this report without his guidance. Last but not least I would like to thank the entire Govt. College of Engineering and Textile Technology, Serampore, Information Technology Department for allowing me to proceed with the report. ABSTRACT A randomized algorithm is a type of algorithm that utilizes a random number generator to make decisions and solve problems. Unlike deterministic algorithms, the output of a randomized algorithm may differ with each run due to the random nature of the computation. This can be advantageous in certain situations where a different output on each run is desirable, such as in simulations or machine learning applications. Randomized algorithms are commonly used in areas such as cryptography, optimization, and machine learning. Despite their random nature, randomized algorithms can still provide provably correct results with high probability, making them a powerful tool in computational problem-solving.