University of Glasgow
I work in an area of Theoretical Computer Science known as Matching Problems. Day to day, I design algorithms, prove their correctness, implement them and evaluate their performance. My main outreach activities include supporting career progression for women in tech (see GWiCS), and teaching basic CS skills (see Program-Able).
I work in an area of Theoretical Computer Science known as Matching Problems. We have a matching problem when we want to assign one set of things to another set of things based on preferences on one or both sides. Examples of matching problems include assigning students to projects, kidney donors to kidney patients and graduating doctors to hospitals.
For this final example, doctors rank hospitals in order of preference indicating where they would like to take their placement. Hospitals likewise rank students based on priorities such as how well they perform at interview or their GPA. In this setting, we want to find a stable matching, that is, a matching in which no student-hospital pair has reason to deviate from the allocation and assign to each other. Algorithms developed for this problem were used as early as 1952 in the National Resident Matching Program (NRMP). This scheme assigns doctors to placements in the US and is still being used to find optimum allocations benefiting hundreds of thousands of doctors and hospitals.
In my research, I develop new fast algorithms to solve a variety of matching problems such as the one above. I prove my algorithms’ correctness and implement them in software for both experimental research work and real world use.
My institutional website
My GitHub page
My Bitbucket page