Projects



Demystifying AlphaGo

MSc Essay (Spring ‘18) [Link]

While Go programs have been around since the 1970s, their performance has not come close to achieving professional level playing let alone defeating Go champions. AlphaGo’s journey towards achieving superhuman-level performance in Go came into the spotlight in 2016 when it defeated Go world champion Lee Sedol. While it is easy to be carried away by the enormous hype surrounding AlphaGo’s achievement, it is a worthwhile exercise to delve deeper into how AlphaGo works and in the process demystify some of the hype surrounding this truly extraordinary achievement. This is the primary motivation of this essay. By looking deeper into AlphaGo’s architecture, we can see that it is indeed a combination of techniques, some of which have been developed by researchers in the early days of computer Go, aided with state of the art hardware.


GT2: A game-theoretic framework for fair and efficient bandwidth allocation in datacenters

CPSC 527: Computer Communication Protocols (Fall ‘17)

[PDF]

Network Bandwidth is an important shared resource like the CPU and Memory in datacenters. However, unlike other system resources, cloud providers currently do not provide hard guarantees on minimum bandwidth, and the allocations are often unfair. Nash bargaining has been extensively used in economics to achieve a middle-ground between fairness and efficiency in resource allocation problems. We describe GT2, a game-theoretic framework that models the data center bandwidth allocation problem as a bargaining game, and leverages the underlying theory to derive a Nash Bargaining Solution which achieves our objectives of minimum bandwidth guarantee and fairness.


Understanding Convolutional Neural Networks

CPSC 540: Machine Learning (Spring ‘17)

[PDF]

This perspective paper presents the architecture of Convolutional Neural Networks (CNN). We discuss popular techniques used in neural nets in order to understand why these techniques help CNNs perform well at classification. Additionally, we discuss applications of CNNs and conclude by highlighting its strengths and weaknesses.


Improving Human Behavior Prediction in Simultaneous-Move Games

CPSC 522: Artificial Intelligence II (Spring ‘16)

[PDF]

In multi-agent settings, we often assume that agents will adopt Nash equilibrium strategies. However, studies in experimental economics demonstrate that Nash equilibrium is a poor indicator of human players’ initial behavior in normal-form games.[1] We study ways of improving the best performing behavioral models.[2]


Relative Merits of approaches to solving Russel's Paradox

CPSC 501: Theory of Computing (Fall ‘15)

[PDF]

Towards the end of the 19th century, a series of logical contradictions were found to exist in Set Theory. The most famous of these contradictions, discovered by Bertrand Russell, raised several doubts among mathematicians regarding set theory. We study Russel's paradox and ways of solving the contradiction. We use a real world example to examine Russell’s paradox and then apply Zermelo and Fraenkel’s solution to resolve the paradox.


smartJOBhunter| Find Jobs Intelligently

CSE470: Software Engineering Project (Fall '14)

smartJOBhunter is an online job site where employers can list job openings and job seekers can view current vacancies and apply for jobs. Job seekers can also keep track of their pending job applications. Additional features include a sophisticated user forum, newsletter publishing system and a powerful administrative panel. smartJOBhunter is designed using PHP, JavaScript, and HTML/CSS and uses a MySQL database system.


tREX| Multi-threaded Web Browser

CSE310: Object-Oriented Programming Project (Fall '13)

A simple multi-threaded web browser that can load web pages from URLs specified by the user in an address box. The program loads web pages asynchronously in a thread. The browser is able to display plain HTML pages along with common image files. The browser supports multi-tabbed browsing and users are able to open new browser windows.


hardwareZONE| Online Computer Hardware Store

CSE 370: Database Systems Project (Summer ‘13)

hardwareZONE is an online retailer of computer hardware peripherals and accessories. Developed using PHP, HTML/CSS and MySQL, The store website maintains comprehensive records of customers, sales and product inventories. The store personnel are able to modify, search for, and retrieve data regarding products, sales & customers generate reports using a simple GUI interface.


eREC | Entertainment Recommendations

CSE 391: Internet Programming Project (Spring ‘13)

eREC intelligently recommends Books, Movies, TV Shows and Music that are tailored to users' unique tastes. Designed using PHP, JavaScript, HTML5/CSS3 and AJAX, eREC offers an intuitive & user-friendly interface to browse through the site’s contents in a seamless manner.