Research Projects

1. Differential Privacy for Distributed Optimization

Agents in a multi-agent system collaborate with other agents or a central server to solve a class of distributed optimization problems. The exchange of optimization parameters such as states, constraints, or objective functions with other agents or a central server may be required to solve such optimization problems. Due to the exchange of these parameters, an adversary may infer sensitive information of agents. We aim to develop differentially private algorithms to allocate multiple shared resources. Which will provide a differential privacy guarantee to agents in the network. There is no inter-agent communication required; however, a central server keeps track of the aggregate consumption of resources.

2. Doctoral Research: Distributed Optimization and Federated Optimization

Distributed resource allocation arises in many application domains such as smart cities, intelligent transportation systems, sharing economy, cloud computing, edge-computing, power systems, etcetera. In several scenarios, the agents such as Internet of Things (IoT) devices may require multiple shared resources to achieve social optimum values; furthermore, they may have heterogeneous resource demands. Such distributed resource allocation problems are challenging to solve, especially when the agents are constrained through communication infrastructure, computational capabilities or do not wish to communicate with other agents in the network due to privacy reasons. Additionally, when the cost functions of agents are non-separable and are coupled through the allocation of multiple resources, in such cases, the single resource allocation algorithms are not efficient and provide suboptimal solutions.

In the available distributed solutions for multiple resources, best to my knowledge, agents exchange their information with at least one neighboring agent that may incur communication overhead or compromise agents’ privacy. We develop several solutions to solve such problems for multiple divisible and multiple indivisible resources wherein no inter-agent communication is required. Moreover, we assume that each agent has private cost functions coupled with multiple resources; these functions are strictly convex, twice continuously differentiable, and increasing in each variable.

(i) Stochastic algorithm for distributed multi-resource allocation for divisible resources: We developed a stochastic distributed algorithm that solves multi-resource allocation problems with no direct agent-to-agent communication for divisible resources; moreover, it achieves social-optimum values. In the algorithms, each agent decides its resource demands locally, and an agent is unaware of the resource allocations of other agents. We solve the divisible multi-resource allocation problem by extending the additive-increase multiplicative-decrease (AIMD) algorithm for single resource allocation by Wirth and co-authors. In the algorithm, the agents keep increasing the demands for a resource linearly until they receive a one-bit signal from a central agency. The central agency broadcasts the signal whenever one of the allocated resources reaches its capacity. Agents then respond to this signal in a probabilistic manner to decrease the resource demand. By doing so, the social optimum is achieved in long-term averages.

(ii) Deterministic algorithm for distributed multi-resource allocation for divisible
resources:
We developed a derandomized AIMD algorithm to solve a class of distributed optimization problems for multiple divisible shared resources. The algorithm is a derandomized version of the stochastic additive-increase and multiplicative-decrease (AIMD) algorithm. The developed solution uses a one-bit feedback signal for each resource between the system and the agents, and it does not require inter-agent communication. We show empirically that the long-term average allocations of multiple shared resources converge to optimal allocations, and the system achieves minimum social cost. Furthermore, we show that the derandomized AIMD algorithm converges faster than the stochastic AIMD algorithm, and both approaches provide approximately the same solutions.

(iii) Stochastic algorithm for distributed multi-resource allocation for indivisible
resources:
We developed a stochastic algorithm for multiple indivisible (unit-demand) resources, inspired by classical stochastic approximation techniques. Each agent’s consumption is modeled as a Bernoulli random variable in the solution, and no inter-agent communication is required. Moreover, we provide fundamental guarantees of convergence. Additionally, we present an example illustrating the performance of the algorithm.

(iv) Stochastic algorithm for regulating prosumers in a prosumer market: We developed a distributed stochastic algorithm for  Internet-of-Things (IoT) enabled sharing economy applications. In many sharing economy scenarios, agents both produce as well as consume a resource; we call them prosumers. A community of prosumers agrees to sell excess resources to another community in a prosumer market. The developed algorithm regulates the number of prosumers in a prosumer community, wherein each prosumer has a cost function coupled through its time-averaged production and consumption of the resource. Furthermore, each prosumer runs its distributed algorithm and takes (binary) decisions in a probabilistic way, whether to produce one unit of the resource or not and to consume one resource unit or not. In the developed approach, prosumers do not explicitly exchange information with each other due to privacy reasons but little with a central agency. Additionally, prosumers achieve the optimal values asymptotically.

3. Generative Adversarial Networks (Deep learning)

Embroidery automation and optimization for mass customization November 2016- April 2017 (Mitacs Accelerate program)

We developed models that automatically generate embroidery-like previews of the images uploaded by consumers. The embroidery design is a popular art and a customization method in the fashion industry. Recently, consumers demand individually customized embroidery patterns on their clothing, like caps, hoodies, etc. The developed models are based on deep learning techniques such as conditional generative adversarial networks (GANs), cycle consistency GANs, and neural style transfer. The models generate embroidery-like preview images without passing embroidery attributes such as stitch style, density, outline, fabric type, etcetera.

4. Braid Groups and Automata Theory (joint work with Dr. Shrisha Rao)

Braid languages and undecidability of braid word problems: We introduce the family of languages defined by Artin’s algebraic closure rules for the braids, and we call it braid-languages; we also study their properties. Furthermore, we prove the undecidability of the braid word problem using the braid-language formulation. Given the mathematical equivalence of braids and knots, this, in turn, implies that the knot invariant problem, that is, the problem of finding an “invariant” classification function that maps all distinct knots to different values, is also undecidable.

During Masters program at IIIT Bangalore:

Master's Thesis

(m, n)-Semirings and a Generalized Fault Tolerance Algebra of Systems 

Advisor: Prof. Shrisha Rao
IIIT Bangalore, India
January 2010 - June 2010

1. Detection of Brain Tumor Suspect areas from High Resolution CAT-scan and MR Images using CUDA August 2009 – February 2010
Language used: C, CUDA
With Balkrishnan V., guided by: Prof. Shrisha Rao

We proposed a solution to identify the tumor suspect areas from the CAT scan and MR images of the human brain. Since these images are of very high resolution, a GPU is used for processing the same. GPUs are very efficient at manipulating computer graphics and their highly parallel structure makes them more effective than general purpose CPUs for a range of complex algorithms. The programming model used in this implementation is the NVIDIA’s CUDA architecture with C as the high level programming
language. The proposed algorithm has been tested on a data set of CAT scan and MR images, and the tumor suspect regions were segregated from the respective images.

2. High Availability Using Virtualization January 2009 – July 2009
Language used: Java
Team size: 5, guided by: Prof. Shrisha Rao

The project is to achieve complete fault tolerance on multiple servers including application servers as well as DNS servers using virtualization. Architecture provides instant backup to the client at run-time with minimal data loss by using hot-standby backup servers. With this architecture, a backup virtual server comes into action as soon as the primary server goes down, and will continue the operations that the main server was running, exactly from the point of failure, with minimal loss of data.

3. Supply Chain Management System-Graphical Visualizer August 2008 – June 2009

Language used: Java
Optimizer: CPLEX
Testing Tool: IBM Rational Functional Tester
Team size: 3, guided by: Prof. G. N. Srinivasa Prasanna

Graphical Visualizer is a Supply Chain Management System (SCM) project module at IIIT-B. It shows the constraint equations in a graphical form. It also displays the set-theoretic relations between constraint sets in terms of subset, equal, disjoint, and intersection. It relates them to the observed optimum value and helps in decision support. In this project, we first manually tested the graphical visualizer module using IBM Rational Functional Tester (IBM RFT) and developed an automated tester for the Graphical Visualizer module. The tester compares the graph files, and the constraint sets files line by line and finds out the difference between the files if any. The two graph files compared are the files recorded by the IBM RFT application and the saved file through the module.