|Andrew M. Burke
|The Generic Gaming Engine
|Cleveland Q. Crosby
|Web-Based TOEFL Reading Comprehension Assistance Site
|Derek A. Fox
|Simulating Milankovitch Cycles
|Frisbee Physics Simulation
|Victoria M. Hurley
|Simulation of a Dragonfly Intercepting its Prey
|David A. Liepmann
|Experimental Iterated Competition with Artificially Intelligent Go Agents
|Simulation of the California Electric Power Market
|Transforming the e-Concordiensis
|Notions of Smallness in Oracle Space
|Acoustic Instrument Sampler
Andrew M. Burke
Advisor: Prof. Cass
Games have long been a source of fascination. Their inherent complexity has challenged the limits of both computing power and human creativity. Similarly, games are also an excellent teaching tool for the exploration of artificial intelligences. The Generic Gaming Engine is a single computer program capable of playing many different two-player board games. With the engine as a framework, students are able to develop and play games of their own design. Game behavior is described using a small programming language and a finite state machine. The generality of the game rules and the utility’s ease of use simplify the game design process, freeing the user from many of the details involved in writing game-playing programs from scratch.
Cleveland Q. Crosby
Advisor: Prof. Cass
The Test of English as a Foreign Language (TOEFL) is the most widely used measure of North American English proficiency today. There are numerous study guides to prepare one for this test, however, there are topics that appear on the TOEFL which are not thoroughly explained in such guides, namely, idioms, colloquialisms, and the various subtleties of English verb tenses.
Derek A. Fox
Advisor: Prof. Hemmendinger, Prof. Hollocher
Milankovitch cycles consist of three separate astronomical cycles. They are the eccentricity of the Earth’s orbit, precession of the equinoxes and the axial tilt or obliquity. These cycles change over time, resulting in differing amounts of insolation reaching the latitudes of the Earth. My program takes a series of inputs and simulates how the cycles cause the insolation to change. There is a model of the Earth showing the insolation changes at all the latitudes and there are graphs that show how insolation changes at specific latitudes.
Advisor: Prof. Brian Postow
The recent growth in popularity of Ultimate Frisbee has prompted many questions about the physics of Frisbees. While well researched, very few demos of Frisbee Physics exists. For my project, I created a Frisbee Physics demo. To calculate the physics, I use a set of rotation matrices to alter the coordinate system of the Frisbee, from there it becomes easy to calculate two of the forces, lift and drag. Once they are calculated the system rotates back, and gravity is added in. Finally, any pitch and roll moments are totaled, and factored into the system. I represent the physics demo with a 2D, top down view. The project is designed for expandability into a full simulation of Ultimate Frisbee.
Victoria M. Hurley
Advisor: Prof. Rudko
A computer simulation of a dragonfly intercepting its prey was developed in order to investigate a number of questions scientists have encountered. Dragonflies use visual detection to localize and intercept moving objects, particularly prey. Generally biologists recognize the various factors that characterize this ability yet some questions remain. The two-dimensional computer simulator of this behavior that was developed incorporates real data and allows the user to alter each parameter that is known to govern flight. Ultimately, it provides scientists with a new technique for studying the influence of the different known factors while opening the door to additional parameters that may have been overlooked.
David A. Liepmann
Advisor: Prof. Cass
The board game Go has proved tremendously difficult for the field of artificial intelligence (A.I.). No Go A.I. has been successful in achieving a professional level of play. One program that comes close is GNU Go, a free software program written by volunteer effort. My project centers around a single modification of my own design to GNU Go, with three slight variations. The idea of surroundedness in GNU Go was represented by a ternary value, which in theory does not allow for the understanding one could gain by using a real number 0 < x <= 1, which I implemented. The effectiveness of my modification was verified using iterated competition on the order of twelve hundred games played between the four versions of the A.I., compiling and randomizing results with Perl scripts, and analysing them using the ELO statistical ranking system.
Advisor: Prof. Hemmendinger, Prof. Schmidt
California's recent electricity crisis has shown that an attempt to restructure the electric power market allowed firms to exploit market power by charging unprecedented wholesale prices. In the summer of 2000, wholesale electricity costs for the state of California rose from $2.04 billion in 1999 to $8.98 billion. Recent empirical studies have shown that market inefficiencies arose from inadequate protection against companies obtaining market power and in turn charging outrageous prices. This project models the varying degrees of market power, available capacity, and bottleneck transmission with a discrete event simulation program. After validating the flaws of the market through comparison with historical data, we shall use the simulation to analyze new, diverse stresses on the electric power market. Simulating California’s electric power market will not only help prevent another crisis from occurring within California but will also assist other electric power markets, as market restructuring, electricity supply, and competitive pricing continue to be important issues throughout the country.
Advisor: Prof. Cass
The Concordiensis, the Union College student newspaper, has had a website for many years, but the editors have recently realized that their web-publishing process is cumbersome and requires much manual work, causing extra work and therefore delays in publishing the web version of the newspaper. We present and evaluate a custom content-management system to organize the data for the web version of the Concordiensis and streamline the process of using that data to publish to the web. Two core technologies were used in the design and implementation of the Concordiensis Publishing Tool: Struts and Hibernate. Hibernate provides the system with a means for connecting to and querying a database and Struts is the framework that handles collection and display of data. Through the use of these two technologies and several other libraries, a custom content manager was created to allow editors to easily add content and publish it to the Internet.
Advisor: Brian Postow (CS) and Alan Taylor (Math)
P=?NP is the most important open question in computer science. It asks, roughly, if all computational problems for which solutions can be guessed/checked quickly can also be solved quickly, or equivalently, whether or not there is any intrinsic difficulty to problems that seem to require brute force search. A crucial concept in the study of this question has been that of an oracle. Intuitively, an oracle provides solutions to some computational problem for free; for example, an oracle for Traveling Salesman (TSP) would (almost) instantly give a minimal tour for any graph. It is evident that an oracle for a hard problem such as TSP can provide a great deal of computational power, so allowing the use of such an oracle might affect whether P=NP. This is indeed the case; in fact, it is known that there are oracles in the presence of which P=NP, and also oracles for which P\neq NP. We describe upon results in the literature showing that P=NP for only a `small’ set of oracles, under two different notions of `small’ (Measure Zero and Meager), and then describe an attempt to prove a similar result for a third notion of `small’ (Small Completely Ramsey).
Advisor: Prof. Catravas and Prof. Postow
A sampler takes sounds, or “samples,” as input and provides the ability to transform them and play them back. They are commonly used by composers, disc jockeys, and musical performers to add natural instrument sounds to music; it saves them time and money by allowing them to quickly preview their music without having to arrange it to be played by real musicians. The Acoustic Instrument Sampler, programmed in MATLAB, takes single-note acoustic instrument samples as .wav files, and allows the user to play many more notes based solely on that single sample. Through the processes of event detection, looping, pitch detection, and pitch shifting, the program automatically determines certain characteristics necessary for natural-sounding playback. The final result is a functional sampler that allows multiple instruments to be loaded, analyzed, and stored, while using as little disk space as possible; the sampler then provides a means of using the stored data to play a piece of programmed music.