Past Honors Projects

Below is a sampling of past honors projects in computer science. A print version of each honors project is deposited in the Bowdoin College Library's Department of Special Collections and Archives.


Jack Beckitt-MarshallAverage energy consumption with each combination of compiler flags

Improving Energy Efficiency through Compiler Optimizations

Advisor: Sean Barker

Energy efficiency is becoming increasingly important for computation, especially in the context of the current climate crisis. The aim of this experiment was to see if the compiler could reduce energy usage without rewriting programs themselves. The experimental setup consisted of compiling programs using the Clang compiler using a set of compiler flags, and then measuring energy usage and execution time on an AMD Ryzen processor. Three experiments were performed: a random exploration of compiler flags, utilization of SIMD, as well as bench- marking real world applications. It was found that the compiler was able to reduce execution time, especially when optimising for the specific architecture, to a degree that depends on the program being compiled. Faster execution time tended to correlate with reduced energy usage as well, further suggesting that optimizing programs for speed and architecture is the most effective way of decreasing their overall energy usage.

Kim Hancock

Cascades and Overexposure in Networks

Advisor: Mohammad Irfan

No description available.

Liam R. JuskeviceCongressional database schema

The Congressional Database: Designing a Web Application Using an HCI Approach

Advisor: Mohammad Irfan

The activities of the United States Senate are a topic of interest for researchers and concerned members of the public alike. Websites such as GovTrack and allow people to research specific bills among many other offerings. However, they have significant weaknesses regarding their ease of use and the way they organize and store data. The Congressional Database Project aims to provide an intuitive user experience navigating government data while storing the data in a consistent database. We approach this project from an HCI perspective in order to determine the best ways to improve the user experience. We have conducted a qualitative user study to test the effectiveness of our design and identify potential areas of improvement. This paper provides an in-depth overview of the design of the Congressional Database on the front end and back end. It then explains the methodology of our user study and discusses the implications of its findings.

Yuto Yagi

A Comparative Study of Equilibria Computation in Graphical Polymatrix Games

Advisor: Mohammad Irfan

Graphical games are often used to model human networks such as social networks. In this project, we focus on one specific type of graphical games known as polymatrix games. In a polymatrix game, a player's payoff can be additively decomposed into payoffs coming from its network neighbors. It is well known that computing Nash equilibria, which is the main solution concept in game theory, in polymatrix games is a provably hard problem. Due to this, we focus on special graph structures like paths and trees. We compare several equilibrium computation algorithms at an implementation level. Two main algorithms compared are a fully polynomial-time approximation scheme (FPTAS) algorithm by Ortiz and Irfan [2017] and another algorithm by Kearns et al. [2001]. We evaluate the applicability of these algorithms based on the size of the network and the accuracy level desired.



Dylan Hayton-RuffnerRank vs. length and key word

Word Embedding Driven Concept Detection in Philosophical Corpora

Advisor: Fernando Nascimento

During the course of research, scholars often explore large textual databases for segments of text relevant to their conceptual analyses. This study proposes, develops and evaluates two algorithms for automated concept de- tection in theoretical corpora: ACS and WMD Retrieval. Both novel algorithms are compared to key word search, using a test set from the Digital Ricoeur corpus tagged by scholarly experts. WMD Retrieval outperforms key word search on the concept detection task. Thus, WMD Retrieval is a promising tool for concept detection and information retrieval systems focused on theoretical corpora.

Dani Paul HoveMap of testing environment

Virtual Reality Accessibility with Predictive Trails

Advisor: Sarah Harmon

Comfortable locomotion in VR is an evolving problem. Given the high probability of vestibular-visual disconnect, and subsequent simulator sickness, new users face an uphill battle in adjusting to the technology. While natural locomotion offers the least chance of simulator sickness, the space, economic and accessibility barriers to it limit its effectiveness for a wider audience. Software-enabled locomotion circumvents much of these barriers, but has the greatest need for simulator sickness mitigation. This is especially true for standing VR experiences, where sex-biased differences in mitigation effectiveness are amplified (postural instability due to vection disproportionately affects women).

Predictive trails were developed as a shareable Unity module in order to combat some of the gaps in current mitigation methods. Predictive trails use navigation meshes and path finding to plot the user’s available path according to their direction of vection. Some of the more prominent software methods each face distinct problems. Vignetting, while largely effective, restricts user field-of-vision (FoV), which in prolonged scenarios, has been shown to disproportionately lower women’s navigational ability. Virtual noses, while effective without introducing FoV restrictions, requires commercial licensing for use.

Early testing of predictive trails proved effective on the principal investigator, but a wider user study - while approved - was unable to be carried out due to circumstances of the global health crisis. While the user study was planned around a seated experience, further study is required into the respective sex-biased effect on a standing VR experience. Additional investigation into performance is also required.

Luca Ostertag-Hill

Ideal Point Models with Social Interactions Applied to Spheres of Legislation

Advisor: Mohammad Irfan

We apply a recent game-theoretic model of joint action prediction to the congressional setting. The model, known as the ideal point model with social interactions, has been shown to be effective in modeling the strategic interactions of Senators. In this project, we apply the ideal point models with social interactions to different spheres of legislation. We first use a machine learning algorithm to learn ideal point models with social interactions for individual spheres using congressional roll call data and subject codes of bills. After that, for a given polarity value of a bill, we compute the set of Nash equilibria. We use the set of Nash equilibria predictions to compute a set of most influential senators. Our analysis is based on these three components--the learned models, the sets of Nash equilibria, and the sets of most influential senators. We systematically study how the ideal points of senators change based on the spheres of legislation. We also study how most influential senators, that is a group of senators that can influence others to achieve a desirable outcome, change depending on the polarity of the desirable outcome as well as the spheres of legislation. Furthermore, we take a closer look at the intra-party and inter-party interactions for different spheres of legislation and how these interactions change depending on whether or not we model the contextual parameters. Finally, we show how probabilistic graphical models can be used to extend the computational framework.



Kevin Fakai Chen3-dimensional rendering of Ackley with n=2

GEM-PSO: Particle Swarm Optimization Guided by Enhanced Memory

Advisor: Stephen Majercik

Particle Swarm Optimization (PSO) is a widely-used nature-inspired optimization technique in which a swarm of virtual particles work together with limited communication to find a global minimum or optimum. PSO has been successfully applied to a wide variety of practical problems, such as optimization in engineering fields, hybridization with other nature-inspired algorithms, or even general optimization problems. However, PSO suffers from a phenomenon known as premature convergence, in which the algorithm's particles all converge on a local optimum instead of the global optimum, and cannot improve their solution any further. We seek to improve upon the standard Particle Swarm PSO algorithm by fixing this premature convergence behavior. We do so by storing and exploiting increased information in the form of past bests, which we deem enhanced memory. We introduce three types of modifications to each new algorithm (which we call a GEM-PSO: Particle Swarm Optimization, Guided by Enhanced Memory, because our modifications all deal with enhancing the memory of each particle). These are procedures for saving a found best, for removing a best from memory when a new one is to be added, and for selecting one (or more) bests to be used from those saved in memory. By using different combinations of these modifications, we can create many different variants of GEM-PSO that have a wide variety of behaviors and qualities. We analyze the performance of GEM-PSO, discuss the impact of PSO's parameters on the algorithms' performances, isolate different modifications in order to closely study their impact on the performance of any given GEM-PSO variant, and finally look at how multiple modifications perform. Finally, we draw conclusions about the efficacy and potential of GEM-PSO variants, and provide ideas for further exploration in this area of study. Many GEM-PSO variants are able to consistently outperform standard PSO on specific functions, and GEM-PSO variants can be shown to be promising, with both general and specific use cases.

James I. LittleDigits composited on top of brick textures or house facades

Teaching Computers to Teach Themselves: Synthesizing Training Data based on Human-Perceived Elements

Advisor: Eric Chown

solation-Based Scene Generation (IBSG) is a process for creating synthetic datasets made to train machine learning detectors and classifiers. In this project, we formalize the IBSG process and describe the scenarios—object detection and object classification given audio or image input—in which it can be useful. We then look at the Stanford Street View House Number (SVHN) dataset and build several different IBSG training datasets based on existing SVHN data. We try to improve the compositing algorithm used to build the IBSG dataset so that models trained with synthetic data perform as well as models trained with the original SVHN training dataset. We find that the SVHN datasets that perform best are composited from isolations extracted from existing training data, leading us to suggest that IBSG be used in situations where a researcher wants to train a model with only a small amount of real, unlabeled training data.