Title:
Rendering for 3D Photorealism

Author:
Hyunwoo Park

Date:
April 1997

Abstract:

There is a focus today in computer graphics to create photo-realistic computer images. With today's workstations available with more memory buffers and more sophisticated graphics capabilities, three-dimensional photo-realistic images are more common. Many applications are progressing from wire-frame rendering images to more accurately shaded images of surfaces.

The objectives of this project are to render more realistic three-dimensional images from the models used in the author's previous work by adding texture mapping, shadows and color. To handle texture maps requires the collected intensity values of pixels to synthesize texture patterns for the image properties. Shadows can be drawn by posing on different location with different intensity values from the image by considering a background color. A colored-image satisfies viewers more than gray-scaled image does, as if colored-photograph satisfies viewers more than black and white photograph does. Easier access to the system is provided via GUI. Java is explored as an aid for implementing the GUI and Java's Socket class is a convenient way to do network programming for server/client model.

We will discuss about handling texture mapping, shadows, color and GUI to provide such realistic images with algorithmic approaches in Computer Graphics.

Visit the project page.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader


Title:
SREV: A 3D Modeling program

Author:
Ben Atkinson

Date:
March 1997

Abstract:
SREV is a highly interactive three-dimensional modeling program. It allows solid objects to be constructed from two-dimensional figures rotated about an axis. You can create any shape using a series of line segments. The shape is then sweept around an axis, and this volume defines a solid. The solid model can be plotted and manipulated in a variety of ways. Your current work can be saved to a project file and recoverelater on.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Impose95: Digital Page Imposition Application

Author:
Joe Rouhana

Date:
March 1997

Abstract:
Your abstract goes here!

Committee:
Dr. H. Kevin Donaghy, Information Technology Department, Chairman
Prof. 2, Reader
Prof. 3, Observer


Title:
ClassMaker CASE Tool

Author:
Geoffrey Jones

Date:
March 1997

Abstract:
ClassMaker is a Microsoft Windows 3.1 Computer Assisted Software Engineering tool that generates formatted skeleton code and comments for C++ class declaration (.h) and definition (.cpp) files. The generated and formatted skeleton code is produced in the ClassMaker application using the following two components:
  1. The ClassMaker application provides the means to specify and edit a class, its attributes, member functions and their associated comments.
  2. Generic Comment Templates are user generated template form files which are used in the generation of skeleton code. These templates control the layout and form in which comments for declaration headers, definition headers and function header comments are displayed.
  3. The ClassMaker application provides the following additional functionality:

Committee:
Prof. Timothy P. Wells, Information Technology Department, Chairman
Dr. Fereydoun Kazemian, Reader
Dr. Peter G. Anderson, Observer


Title:
Document Image Decoding of Printed Music

Author:
Laura Loggi

Date:
August 1997

Abstract:
The purpose of this project will be to explore methodology and algorithms which are applicable to the problem of decoding a binary image of a musical score and producing a playable MIDI file which may be played through a soundcard or other MIDI device.

Document image decoding of printed music is inherently a different problem than document image decoding of textual information. In general, textual information can be segmented into smaller pieces (for example characters of the alphabet) which can be interpreted in isolation. Much of the meaning of printed music, on the other hand, is obtained through the connectivity of the printed symbols.

Therefore to accomplish the task of decoding the musical meaning of the symbols contained in a musical score, the image must be examined from a variety of perspectives. There are 4 types of information found in a music score: pitch information, rhythmic information, dynamic information (volume), and musical interpretation information. For purposes of this project, we will ignore the dynamic and musical interpretation information contained in the music score and concentrate on the pitch and rhythmic information.

Committee:
Dr. Peter G. Anderson, Chairman
Prof. J. A. Biles, Information Technology Department, Reader
Dr. C. Bradley Paxton, RIT Research Corporation, Observer


Title:
LPS Error Diffusion Half-Tone

Author:
John Szybist

Date:
April 1997

Abstract:
A new method of digital halftoning is described that combines Linear Pixel Shuffling order of visiting pixels in an image with diffusion of error in all directions. LPS is based on an arithmetic progression with wrap-around that re-orders the pixels to produce a smooth progressive probing of the image. The initial proposal experienced problems with high contrast because of error being diffused to pixels already rendered. Described are several solutions to this problem leading to an optimal technique that eliminates the problem. We compare the results of this method to the traditional Floyd-Steinberg error diffusion algorithm.

e-mail: szybist(at sign)kodak.com

Committee:
Dr. Peter G. Anderson, Chairman
Prof. Frank Cost, School of Printing, Reader
Prof. J. A. Biles, Information Technology Department, Observer

Title:
LPS Morphology

Author:
David Miles

Date:
April 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Prof. J. A. Biles, Information Technology Department, Reader
Prof. 3, Observer


Title:
The Bean Eater: a web-based genetic algorithm,

Author:
Peter Nystrom

Date:
May 1997

Abstract:
Your abstract goes here!

Click here for a demo of the Bean Eater.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Walter A. Wolf, Reader
Prof. J. A. Biles, Information Technology Department, Observer


Title:
A Comparison of Pattern Classification Techniques for Orienting X-rays

Author:
Martin R. Hoffmann

Date:
April 1997

Abstract:
The problem of orienting digital images of chest x-rays, which were captured at some multiple of 90 degrees from their true orientation, is a typical pattern classification problem. In this case, the solution to the problem must assign an instance of a digital image to one of four classes, where each class corresponds to one of the four possible orientations.

A large number of techniques are available for developing a pattern classifier. Some of these techniques are characterized by independent variables whose values are difficult to relate back to the problem being solved. If a technique is highly sensitive to the values of these variables, the lack of a rigorous way of defining them can be a significant disadvantage to the inexperienced researcher. The thesis describes experiments by the author to solve the chest x-ray orientation problem using four different pattern classification techniques: genetic programming, an artificial neural network trained with back propagation, a probabilistic neural network, and a simple linear classifier. In addition, the author demonstrates that an understanding of the design of a feature set may allow a programmer to develop a traditional program which does an adequate job of solving the classification problem. Comparisons of the different techniques will be based not only on their success at solving the problem, but also on the time required to find an acceptable solution and the degree to which each technique is sensitive to the values of the variables which characterize it.

The paper will show that all of the techniques can be used to derive very accurate chest x-ray orientation classifiers. While it is dangerous to generalize the results of these experiments to pattern classification problems in general, the author will argue that the magnitude of the differences in performance between the different techniques minimizes this danger. In particular, the experiments suggest that the linear classifier is so computationally inexpensive that it is always worth trying, unless there is a priori knowledge that it will fail. The experiments also suggest that genetic programming is much more computationally expensive than are the linear classifier, artificial neural network, and probabilistic neural network techniques.

Of the four conventional pattern classification techniques which were examined, it will be shown that the artificial neural network produced the most accurate classifiers for the x-ray orientation problem. In addition, the results of a number of trials suggest that the final accuracy of the classifier is relatively insensitive to the values of the parameters which characterize this technique, making it an appropriate choice for the inexperienced researcher. With respect to the ability of the resulting classifier to accurately orient sample x-rays which were not included in the training set, the artificial neural network performed well, when compared to the other techniques.

Although the classifiers produced by the genetic programming technique were significantly more expensive to construct and were slightly less accurate than the best artificial neural networks, the results of genetic programming experiments can provide insights into the problem being studied, which would be difficult to discern from the classifiers produced by the other techniques. For example, one of the classifiers which was produced by genetic programming uses only eight of the twenty feature values extracted from the sample x-ray. Not only does this reduce the cost of extracting the feature values from an unknown sample, but the classifier itself would be much more efficient to evaluate than the classifiers produced by any of the other techniques.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Dr. Roger S. Gaborski, Eastman Kodak, Observer


Title:
Document Image Processing

Author:
Kiriakos Georgiou

Date:
April 1997

Abstract:
Indexing and registration are fundamental components of document analysis. They are used for image identification and alignment, upon which other processes, such as segmentation, character recognition, and mark recognition are based. Two indexing algorithms are developed, both based on bar-code recognition, one by a non-deterministic finite state automaton and another based on run-length generation and quantization. The registration algorithm is based on calculating a transformation function modeling the ``gravitational field'' of the document using point mapping, and is admissible, complete, and correct. The registration algorithm is used to locate mark boxes and perform mark recognition. An efficient bitmap rotation based on lookup tables is also presented. Rotation is part of indexing, registration, and de-skew.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Dr. K. Bradley Paxton, RIT Research Corporation, observer


Title:
Serial Download & Obstacle Detection for a Mobile Robot Platform

Author:
Barbara P. Linn

Date:
April 1997

Abstract:
This two-part project resulted in the creation of a system routine and an application program for the "EyeBot" Mobile Robot Platform. The EyeBot has been implemented on a Motorola MC68332 Microcontroller, by a team of programmers and engineers led by Dr. Thomas Braunl of the University of Stuttgart, Germany.

The Serial Download routine is one of a number of system routines provided as part of the built-in operating system (ROBIOS) of the EyeBot, and provides the user with the ability to download and run his own applications. It is an operating system facility, permanently stored in the EyeBot's Flash-ROM, that controls the transmission of user programs from a host computer (e.g., an IBM PC or compatible) over an RS232 serial interface to the EyeBot's RAM.

The Obstacle Detection application is designed to demonstrate the image processing capability of the EyeBot Mobile Robot with its QuickCam digital greyscale camera. It uses image data to detect obstacles, avoid collisions and navigate in a dynamically changing environment.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Thomas Braunl, U. of Stuttgart, Germany, Reader
Dr. Peter G. Anderson, Observer


Title:
Teamwork in Genetic Programming

Author:
Michael LaLena

Date:
April 1997

Abstract:
This thesis attempts to solve food collection problems using genetic programming. The genetic program will evolve programs that mimic the way ants can collect food and bring it back to a nest. There are two special factors in this genetic program that make the ants have work together in order to solve the problem, as opposed to each ant acting on its own.

First, there will be a stream in the environment that the ants must cross to get to the food. Although all ants have the same program, some must move into the water ant die, building a bridge for the other ants to cross. The surviving ants must realize a bridge has already been built that they can use, instead of killing themselves by building another bridge.

Second, the food will be too heavy for one ant to lift alone. The ants must find the food, and call to other ants for help. If all of the ants are at food waiting for help, some, but not all, of the ants must realize that they are in a deadlock situation, and leave their food to help other ants.

Both of these problems require the ants to use teamwork to solve the problem. The ants must realize what other ants are doing, without direct communication or a state machine within the ants.

Visit the project page.

e-mail: mlalena(at sign)geocities.com

Visit Mike's home page.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Walter A. Wolf, Reader
Prof. J. A. Biles, Information Technology Department, Observer


Title:
CRITTER
Using Genetic Algorithms, Database Concepts, and the World Wide Web
to improve the
Rochester Institute of Technology Computer Science
Course Scheduling System

Author:
Thomas W. Connors
Visit the author's home page at http:// www.cs.rit.edu/~twc3796
Mail the author at: connors(at sign)eng.mc.xerox.com

Date:
June 1997

Abstract:
The CRITTER System assists in production of the RIT Computer Science Department's quarterly course schedule consisting of the courses, offering times, locations, and instructors.

CRITTER improves upon the existing RIT Computer Science Department scheduling process and toolset, increasing Scheduling Administrator and instructor productivity by:

  1. Improving consistency, organization, and timely collection of individual instructor preferences related to instructional assignments and working hours
  2. Automating schedule conflict identification
  3. Automating alternative schedule generation
  4. Providing platform independent access to the scheduling administration tools and the final schedules

CRITTER features World Wide Web based interfaces to control the automated scheduling runs and to edit and view all course scheduling data including, but not limited to, instructor data, instructor preferences, and final course schedules. The web based interfaces provide access to the wide variety of platforms in use by faculty at RIT.

CRITTER employs a custom Genetic Algorithm (GA) to assign instructors to teach a set of predetermined course offerings. The instructor assignments are proposed by the GA to minimize violation of instructor provided preferences and to assure that department administration policies regarding instructor workload are met.
GA's have been effectively used in a range of optimization problems due to their ability to search complex solution spaces for global optima and the ability to function effectively across different problem domains.

The system features a relational database to organize the required course scheduling information including instructor preferences, course information, instructor information, proposed schedules, and Genetic Algorithm control parameters and scheduling run results.

CRITTER is an acronym for Course scheduling at Rochester Institute of Technology using Tom Connors' Evolutionary Resources

For additional information, see The CRITTER's home page

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Walter A. Wolf, Reader
Dr. Fereydoun Kazemian, Observer


Title:
Stable Display of Dithered Bitonal Images

Author:
Bill McGuinness

Date:
July 1997

Abstract:
When grayscale images are halftoned using ordered dither masks, grays areas are represented by high frequency bitonal patterns. When viewed by the human eye, the patterns are integrated into a perceived gray level.

If these images are displayed on an interlaced monitor, the alignment of the ordered dither pattern and the monitor interlace may cause excessive flicker. This anomaly has been seen on a Kodak 16mm Digital Microfilm Scanner with an image viewing accessory.

This project will investigate and implement software methods for altering the displayed image such that the amount of monitor flicker is reduced (a stable image). The methods may include random pixel swapping, linear pixel shuffling, and re-construction of the grayscale image.

The written paper will introduce a mathematical representation of the problem, which will serve to de-couple the problem from the scanner hardware. Algorithms will then be developed and tested to improve the flicker characteristics. Several development tools will be created to evaluate algorithms, validate the mathematics, and identify potential problems with present and future ordered dither masks.

Visit the Project Page

Committee:
Dr. Peter G. Anderson, Chairman
Mr. Rob Duncan, Reader
Prof. 3, Observer


Title:
Image Color Quantization Methods

Author:
Sameer Bhosale

Date:
September 1997

Abstract:
In many instances, the number of colors in an image exceeds the number of displayable colors. Therefore it is necessary to approximate continuous colors. There are number of ways tp approximate continuous colors. A common approximat- ion is a palette table of color. A screen pixel value indexes a table of red/green/blue (RGB) values and the color value at that position is displayed on the screen. But the table index is only eight bits long, so 256 colors can be displayed at any time. My objective is to investigate algorithm for determining a 256-color palette for an image. I am going to implement different methods for filling the color table viz:
1. Octree
2. Median-cut and
3. Linear Pixel Shuffling
I will compare these algorithms for a set of images with respect to image quality, execution time and memory size.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Dr. Lawrence A. Coon, Observer


Title:
Bitonal Image Compression for Document Imaging Applications

Author:
Douglas Pennington

Date:
June 1997

Abstract:
This project addresses the issue of bitonal image compression. Huffman encoding has been the established compression technique for document scanning for the past decade. The new JBIG standard, ISO/IEC 1154:1993, promises to give superior compression performance for text and line art images. The JBIG standard will be compared to Huffman and LZW encoding to determine its superiority. LZW is generally not found in document imaging applications but is a common entropy encoding technique found on most UNIX systems. A number of test images will be compared for compression ratio, time to compress, and image quality. All three algorithms are lossless so image quality should not be an issue. Noise has traditionaly been the down fall of most bitonal algorithms, therefore noise will be induced into the images and the algorithms will be compared again.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Rayno D. Niemi, Information Technology Department, Reader
Dr. Rajeev Raman, Observer


Title:
A Teaching Tool for Computer Graphics

Author:
Huiling Yang

Date:
January 1998

Abstract:
The project consists of two teaching tools for polygon clipping and two dimensional transformation. In the polygon clipping teaching tool, the user can observe the (partially) clipped figure and the numerical results after each step. From the two dimensional transformation teaching tool, the user can compare the figures before and after translation, rotation or scaling and view the changes in the composite transformation matrix. Multiple transformation and rotation or scaling about an arbitrary point may be also explored. Both tools have a Help button and a Bckg button for getting the theoretical background information.

e-mail: hxy8630(at sign)cs.rit.edu

Visit project's home page.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Software for Network Analysis

Author:
Shih-Tse Chen

Date:
November 1997

Abstract:
Your abstract goes here!

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Interactive 3D Using Java and VMRL

Author:
Xianhua Liu

Date:
November 1997

Abstract:
Your abstract goes here!

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
What's in a Line?

Author:
David Kroth

Date:
November 1997

Abstract:
The Internet is growing at a tremendous rate. The power of computers is going up and the cost of computers is coming down. These factors are contributing to an increasing interest in computer graphics. More and more students, scientists, and engineers are trying to educate themselves in the hows and whys of computer graphics. Its ironic that the very medium that is cultivating this interest can also serve as a teaching tool on the topic. This project is a Java application with supporting web page that is intended to be a teaching tool to help people with an interest in computer graphics learn more about a few of the algorithms that form the basis of the field.

Visit the project page.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Dr. Lawrence A. Coon, Observer


Title:
Simulation of Electrophoresis & Sequence Building of DNA

Author:
David Mix

Date:
May 1997

Abstract:
The project will provide a simulation of DNA Electrophoresis, a three-dimensional DNA molecular viewer, a three-dimensional DNA molecular sequence builder, and help text within a web browser (Netscape 3.01). A combination of HTML, Java, JavaScript, Rasmol scripts and Chime will be used to construct the project. The project will be available as part of Dr. Paul Craig's web site.

Committee:
Dr. Paul Craig, Chemistry Department, Chairman
Dr. Peter G. Anderson, Reader
Prof. Nan C. Schaller, Observer


Title:
Parallel Genetic Algorithms

Author:
Jennifer Agarwal

Date:
May 1997

Abstract:
A Parallel Genetic Algorithm (PGA) for the selection of features for handwritten digit identification, as discussed in [1], was developed. It has been reported the population size has a direct affect on how well a Genetic Algorithm (GA) can or will perform. Larger populations provide the GA with a larger search space. Along with larger populations comes longer execution time needed by the GA to achieve the fittest individual. Often people have to make a choice as to what is more important to them, the best results or the GA finishing in a certain time frame. The most time consuming part of a GA is the fitness evaluation which lends itself very well to parallelization.

The PGA was developed using "The Parallel Virtual Machine" (PVM) software system along with a global parallelization method. PVM provides the interprocess communication between the Master and Slave tasks. The global parallelization method distributes the individuals of a single population among the multiple processors in the virtual machine for their fitness evaluation.

A PGA keeps the quality of the results high and the processing time low.

The main goal of the project was to develop a Parallel Genetic Algorithm. Using the developed PGA a number of experiments have been performed showing the benefits of parallelization. The experiments include the comparison of the execution time, speedup, and efficiency for the PGA on a number of processors. The affects communication overhead and idle processor time have on the PGAs execution time, speedup and efficiency were also investigated.

Committee:
Dr. Peter G. Anderson, Chairman
Prof. Nan C. Schaller, Reader
Prof. J. A. Biles, Information Technology Department, Observer


Title:
Playing Chinese Checkers on the Web,

Author:
Xin Qi

Date:
October 1997

Abstract:
This project is to implement the Chinese Checkers Game using the client-server model. The program will be made in Java, thus making the program platform independent. The game will be playable by one to six players over the network and the server will support multiple game sessions.

Before a user starts a game, they will be able to choose to play with other human players on the net or to play with the computer players. They can also choose the number of players that they want to play with. If they choose to play with human players, they will receive the number of other human players on line.

The user needs to input his or her name and receive a game session id. This is used to resume a game later in case the user loses their connection to the server.

There will be a display of a starting Chinese Checkers Board with pegs of each of the players who joins the game. There will be an indicator showing whose turn it is. The user will be able to select the peg to move, mark the path by mouse single click on the board, and make the move by double click on the final position. User can also give up the turn by clicking on the PASS TURN button.

The user should be able to change himself or herself to be a computer player anytime. After a user gives up playing the game, he or she may either watch the game or quit, but one can't quit without setting themselves to be a computer player during the game.

After a user moves all of their pegs to the goal, there will be a message showing their position(e.g. first place, second place etc.), and a message asking them to play again.

The game will end after every player reaches the destination fields, or there are no more legal moves.

Committee:
Dr. Andrew T. Kitchen, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Character thinning algorithms,

Author:
Jing Ning

Date:
April 1997

Abstract:
In order to simplify the procedure of image analysis, thinning algorithms have been developed to transform the original images into structures of desired thickness. The purpose of this project is to establish a comparison among four thinning algorithms as they were applied to binary character images. The four major parts of this project are loading/storing character images, segmenting single characters, normalizing the segmented characters into standard size, and thinning the normalized characters. Two of the thinning algorithms are recommended for thinning binary images. An attempt to improve the other algorithms is also made.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Prof. 3, Observer


Title:
Multiprocessor scheduling by genetic algorithm

Author:
Rodney Schmick

Date:
September 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Tony Chang, Computer Engineering Department, Reader
Dr. Andrew T. Kitchen, Observer


Title:
Soccer Tournament Scheduling Using a Genetic Algorithm

Author:
William T. Gustafson

Date:
November 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Prof. J. A. Biles, Information Technology Department, Reader
Dr. Walter A. Wolf, Observer

Title:
Search for Mersenne primes,

Author:
Yelena Migdalovich

Date:
September 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Optical Character Clustering,

Author:
Jennifer Greenwald

Date:
July 1997

Abstract:
My area of interest is clustering, specifically using GA's and neural networks, as applied to the problem of optical character categorization.

This problem I intend to investigate is this: in the area of optical character recognition (OCR), systems are in place which are capable of doing an adequate job of recognizing text they have been trained for. However, generating training data for these systems (most often based on neural networks) is time consuming and expensive, as it currently requires a human operator to sort through thousands of character samples and tag each one with the character it represents. This project proposes some preliminary proof of concept work for a method which could help drastically reduce the amount of human effort involved in tagging this training data.

The idea is to pre-sort the sample characters to be tagged. Hopefully, once the characters to be tagged are grouped into like sets, the human operator can label them all at once, fixing only a few incorrectly classified samples by hand. In a best case scenario, sets of characters which have been clustered together can be put on the screen for an operator all at once, sorted in order of percentage correlation.

I will investigate using the K-means algorithm, a genetic algorithm and a Kohonen neural network to cluster characters. Each of these methods has shown success in clustering other, simpler data. I will compare the success of each method, and attempt to determine which is the quicker and the more accurate.

Visit the project home page.

Committee:
Dr. Peter G. Anderson, Chairman
Prof. 2, Reader
Prof. 3, Observer


Title:
Software to aid in learning to speak Spanish

Author:
Robert B. Coombs

Date:
October 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Dr. J. Fernando Naveda, Observer


Title:
"Virtual Musician" - Interactive Music System

Author:
Bryan McGurn

Date:
October 1997

Abstract:
The Virtual Musician is an application which uses artificial intelligence techniques to analyze music data and respond, through "improvisation", to the input data. Interactive music systems are commonly developed using a "three phase" technique. Phase one is the sensing phase where the input data is read by a sensor of some type and stored in a manner which will be beneficial to the next phase called the processing phase. In the processing phase the input data which was read will be analyzed using an algorithm which I have derived from several different sources and will come up with a hopefully "musical" response to the input data which will be realized during the response phase.

Committee:
Prof. J. A. Biles, Information Technology Department, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Photographic Film Product and Process Design - Expert System Application

Author:
Sharon Guzman

Date:
September 1997

Abstract:
Your abstract goes here!

Visit the project page.

Committee:
Dr. Walter A. Wolf, Chairman
Dr. Fereydoun Kazemian, Reader
Dr. Peter G. Anderson, Observer


Title:
SNMP: Network Management of MIB on Academic LAN

Author:
John Urbanczyk

Date:
October 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Rayno D. Niemi, Information Technology Department, Chairman
Dr. Peter H. Lutz, Information Technology Department, Reader
Prof. Guy Johnson, Observer


Title:
Hu-Tucker Algorithm for Building Optimal Alphabetic Search Trees

Author:
Sashka Davis

Date:
November 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Dr. Andrew T. Kitchen, Observer


Title:
Aircraft conceptual design toolkit - implementation in Java

Author:
Malathi Vaidyanathan

Date:
November 1997

Abstract:
Aircraft Conceptual Design Toolkit (ACDT) is an aircraft design and analysis tutorial and a calculation tool for creating and analyzing conceptual design models of aircraft. This software introduces aerospace engineering students to the process of aircraft design with a focus on the necessary decisions at each step. Currently ACDT is implemented in Macintosh using Hypercard. The tutorial is highly platform dependent. It neither produces 3D aircraft views nor is interactive. The goal of my project is to implement ACDT in Java programming language so that it can be made platform independent and be used by the students through the web. Through Java, 3D views of aircraft can be created and user interactivity allowed to encourage students get a better understanding of the design process of an aircraft.

The proposal.

The project.

Committee:
Mr. Abdul Aziz, MS (Penn State PhD Candidate),Chairman
Prof. Nan C. Schaller, Reader
Dr. Peter G. Anderson, Observer


Title:
Approaching image compression using adaptive discrete cosine transform,

Author:
Zhen Niu

Date:
July 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Dr. Xiao-Ping Sun, Xerox Corporation, Observer


Title:
A Graphical User Interface for STELLA,

Author:
Haili Zhuang

Date:
June 1997

Abstract:
This project will result in a fully tested, commercial, platform-independent graphic user interface (PIGUI) for STELLA engineering application package.

STELLA (Steam Turbine Efficiency and Low pressure Analysis) is a commercial engineering application package designed for plant engineers and turbine manufacturers to analyze and optimize steam turbines.

The goal of this project is to design and implement an object-oriented, event-driven, graphical and platform-independent GUI for STELLA. GUI design includes the design of GUI itself and the interface with the underlying FORTRAN code that carries out numerical modeling. The project is implemented in C++ and GUI tool kit Zinc Application Framework which supports almost all major platforms and operating systems.

Committee:
Dr. Walter A. Wolf, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Sequential segmented video capture for file integration,

Author:
Manisha Mande

Date:
May 1997

Abstract:
Sequential Segmented Video Capture for File Integration or Build Job in short, is a unique Fax feature that allows the user to scan multiple segments of a single job on a multi-function machine, such as the Xerox Document Center, with each segment having unique settings for the following features:

Image Quality (Text, Photo, Auto),

Resolution (Standard, Fine, SuperFine) and Density (Lighter/Darker).

Operability allows for a pause between segments, while the operator loads the next set of originals and optionally changes the mentioned job feature settings.

The result is a fax job with a variety of segments which form a single document output. This feature allows images from the platen to be combined with images from the Document Handler into a single job for faxing. The user must select the Build Job feature prior to scanning each input segment. An input segment is either:

Output of the fax job does not occur until the last input segment of the job has been identified by the user and has been captured. Documents are to be scanned in the order that they are to appear in the output set (1 - N order). For the first segment, the user may set the density (lighter/darker), image quality (photo, text, auto etc) and the resolution (standard, fine, super fine) for the documents to be scanned in. Once the first segment has been scanned in, the user is then allowed to change the scanning source (platen or Document Handler), density, image quality and resolution for each subsequent segment. The user is explicitly provided the ability to indicate the end of Build Job so that he may request faxing or filing to begin.

User Input(s)

User Output(s)

Committee:
Prof. Timothy P. Wells, Information Technology Department, Chairman
Dr. Peter G. Anderson, Reader
Dr. Walter A. Wolf, Observer


Title:
Graphical Data Structure Editor

Author:
Alan Hazelton

Date:
May 1997

Abstract:
The Data Structure Editor is a graphical application which allows a user to create and manipulate a variety of data structures such as stacks, arrays and trees. In addition to creating a visual representation, the tool allows the user to generate the code needed to reproduce data structures as part of a program. This combination allows the user to test and explore the impacts of a variety of data node configurations on an application. The Data Structure Editor runs in Motif 1.2 on either Solaris or SunOS 4.1.3 platforms and was developed in CDE using the dtbuilder UI development tool and implemented in ANSI C.

In designing the application there were several goals which affect the overall system design.

Extensibility:
A future implementer should be able to add support for new data structures, data types and language generation capabilities without having to rewrite large portions of the application.

Data Independence:
The application should not use the node contents to determine placement. A user should be able to create any structure desired. For example, when creating a binary tree of integers, allow any ordering of the nodes and do not assume that the user wants them ordered numerically.

Visit the project page.

Committee:
Dr. Walter A. Wolf, Chairman
Dr. Lawrence A. Coon, Reader
Dr. Peter G. Anderson, Observer


Title:
A Uniform, Object-Oriented Interface to Inter-process Communication Mechanisms in UNIX,

Author:
Hok M. Chau

Date:
May 1997

Abstract:
As client/server computing becomes more prevalent, an increasingly important aspect is the understanding and use of inter-process communication (IPC) mechanisms within a local host as well as across inter-networks. Developing software that communicates with other processes is difficult since it requires detailed knowledge of many concepts such as the various methods that are available for different processes to communicate with each other, network protocols, and large number of system calls. The C interface exhibits these problems: lack of type-security, steep learning curve, non-portability, and inelegant error handling mechanism. This project is to develop a framework that will provide strongly typed interfaces to low-level, error-prone C system calls, include features already supported by the C functions as much as possible, shorten learning curve, improve ease of use, increase portability across different types of IPC channels, and provide better exception handling.

Committee:
Dr. James E Heliotis, Chairman
Dr. Andrew T. Kitchen, Reader
Prof. Warren R. Carithers, Observer


Title:
The Simulation of Enzyme Kinetics

Author:
Bharathi Ravi

Date:
May 1997

Abstract:
The Simulation of Enzyme Kinetics project is an interactive biochemistry teaching aid that was implemented in Java and installed on the World Wide Web. It contains four Java applets designed to help the user learn to design enzyme kinetics experiments. The Michaelis-Menten Kinetics and Estimating Vmax and Km applets help the user understand how an experiment is designed. The Rate Assays with a UV-Visible Spectrophotometer applet uses a virtual UV-Visible Spectrophotometer. The Solution Preparation applet aids the understanding of buffer solution preparation and pH adjustment.

Visit the project page.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Educational Java Applets on Color

Author:
Yevgeny Vishnevsky

Date:
October 1997

Abstract:
The goal of this project is to create an interactive educational aide that will help students understand the concept of color, its characteristics, representations and transformations as appli ed to computer graphics.

The aide will be implemented as a self-explanatory web page containing both interactive elements and HTML reference information. with user guide. The interactive elements will be implemented as Java applets or frames that will let students explore different themes of color. The themes will be organized into folders.

The reference information pages available on-line will include user's guide, technical documentation, project writeup, Java code, glossary of color related terms and links to other relevant URLs.

The following color folders will be implemented.

* Spectrum/Chromaticity. This folder will allow students to draw/edit an arbitrary spectrum and match it with CIE primaries. The resulting chromaticity values will be used to synthesize the matching color, which will be displayed both as a colored rectangle and a position on the chromaticity diagram.

* Color Gamut. The student will be able to explore the notion of color gamut by selecting its (three) vertices on the chromaticity diagram and using the proportional color mixer to produce different colors within the gamut.

* Color Spaces/Conversions. This folder will allow to select one or more color spaces for exploration. Each color space will be implemented as a free-floating window with capabilities to view and modify a color's coordinates. The selected windows will be able to communicate with each other, such that each of them will represent the same color in a particular color space, and changes to any coordinate will be converted and propagated to other windows. The following color spaces will be implemented: RGB/CMY, YIQ, HSV, CIE L*u*v*, and CIE L*a*b*.

* Game. This folder will allow the student to select a color space to play the color matching game. This will develop the ability to modify the color in the subjectively desired manner by properly changing its coordinates.

Due to growing support of Java and expanding number of WWW users, there is virtually no limit on the potential audience of this educational tool.

Visit project's home page.

Committee:

Prof. Nan C. Schaller, Chairman
Dr. Peter G. Anderson, Reader
Dr. Lawrence A. Coon, Observer


Title:
Visualization of Hidden Node Activation and Decision Hyperplane for Training Wheels and Encoder Networks

Author:
Kent Smith

Date:
May 1997

Abstract:
Encoder Neural Networks are a mechanism for extracting the feature set of a given input pattern or data set. The extraction of the feature set provides the basis for pattern recognition, valid or incorrect data or functioning verification, and the ability to smooth incorrect data into more desirable forms. The basic topology is one of N-M-N where there are N input nodes, M hidden nodes, and N output nodes. M << N meaning that the essential feature set is extracted and represented by the hidden node activation allowing for the pattern feature extraction to be maximized in its smallest form, such as for N-M-N where N is large and M = 2.

Although it is desirable to extract features to their minimum, it is at the same time difficult for an Encoder Neural Network with such a significant bottle neck, such as one with 2 hidden nodes and a large number of input/output nodes, to be trained. Methods to improve both the training time required, and even the ability of the Encoder Neural Network to be trained at all, represent an ongoing struggle.

One answer to this problem or struggle is the use of Training Wheels.

Training Wheels is the application of more easily learned training exemplars that prepare the network for the more difficult problem at hand. These Training Wheels are applied before the more difficult problem is presented to the network and then are removed for final training. The hopeful result is that the network is trained more quickly and in some cases trained when it was not possible to train the network with the more difficult problem only.

This project takes work that has been done in the use of Training Wheels and provides the added dimension of visualization. The activation of hidden nodes, decision hyperplanes, and the hidden node polygon are graphically depicted in two dimensional space throughout the Encoder Neural Networks learning process. By visualizing the learning process graphically, insight into what is often trial and error or a black box process is possible.

This project provides a tool that gives us that insight for both N-2-N and N-4-N Encoder Networks.

Committee:
Dr. Peter G. Anderson, Chairman
Prof. J. A. Biles, Information Technology Department, Reader
Dr. Walter A. Wolf, Observer


Title:
Document Image Orientation

Author:
Herb Chapman

Date:
August 1997

Abstract:

Orienting document images can be a valuable step in a document processing system. This capability eases the document preparation process, and allows other processing steps to expect images in a known orientation. This project addresses document image orientation by concentrating on the text appearing in the document.

This system will capture characters from a scanned document, and attempt to recognize the characters and their orientations. The recognition will be performed by Optical Character Recognition (OCR) Neural Networks (NNs). Several systems will be configured by training a variety of NNs. The relative performance of each configuration will be evaluated.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Roger S. Gaborski, Eastman Kodak, Reader
Mr. John D. Hanson, Eastman Kodak, Observer


Title:
Random Dot Stereogram Production Using Linear Pixel Shuffling

Author:
Dan D'Errico

Date:
October 1997

Abstract:
Your abstract goes here!

e-mail: derrico(at sign)eso.mc.xerox.com
Committee:
Dr. Peter G. Anderson, Chairman
Prof. 2, Reader
Prof. 3, Observer


Title:
Speaker Identification

Author:
Peter Fox

Date:
October 1997

Abstract:
Techniques for performing speaker verification with short (i.e. 3 second) training utterances are examined. The requirement of short training imposes interesting restrictions on the problem that have not been thoroughly examined in the literature. A study is made that determines which speech/speaker features are most powerful for verifying speaker identification. A similar study is made to determine which quantization and modelling techniques are most appropriate for this problem. The best feature set and modelling technique was found to be [TBD] which gave a speaker-verification equal error rate of [TBD] on a speaker population of [TBD].

Visit the project page.

Committee:
Dr. Robert Houde, RIT Research Corporation, Chairman
Dr. Peter G. Anderson, Reader
Mr. Robert Gayvert, Observer


Title:
The extended Chinese editor

Author:
Xin Guo

Date:
December 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Lawrence A. Coon, Reader
Prof. 3, Observer


Title:
Factorization of the first two-hundred and fifty Fibonacci numbers

Author:
Kirk Ocke

Date:
October 1997

Abstract:
The goal of this project is to factor the first two-hundred and fifty Fibonacci numbers. Using just trial division would take an unreasonable amount of time, and would not prove to be very interesting. Instead, the problem will be solved by implementing a large number factorization package, using several of the most common general purpose factorization algorithms and primality tests. The specific algorithms to be implemented are:
1. Pollard-Rho Factorization.
2. Pollard p - 1 Factorization.
3. Fermats Factorization Method.
4. Sieve of Eratosthenes.
5. Small Prime Trial Division.
6. Multiple Polynomial Quadratic Sieve (MPQS).
7. A special case Fibonacci Factorization Algorithm.

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Dr. Pat Arpaia, Mathematics Department, St. John Fisher College, Observer


Title:
Factoring Integers

Author:
Jingyan (Cathy) Fu

Date:
Month? 1997

Abstract:
This two part project contains a web access tool system for the application factorization programs and a research reports of the performance of different software packages using various factorization and primality proving algorithm.

Gather existing software packages related to factorization and prime number study and integrate them into a convenient, user friendly system, create a web site so the others can use them as a tool for a quick factorization of numbers in small to medium range.

Factoring is a very active field of research among mathematicians and computer scientists. It is believed to be a very difficult mathematical problem and a lot of algorithm has been developed to speed up the factorization process. Because of the complexity of the algorithm used in factorization, different method is usually most efficient for a specific kind of factoring process. The second part of my project involves a systematic analysis of the performance and efficiency of different algorithms from the software packages I collected from the first part.

Visit Cathy's home page.

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
Dynamic Encapsulation of C++ Objects for Distributed Object-Oriented Systems

Author:
Frank Barrus

Date:
June 1997

Abstract:
Classes in C++ provide static encapsulation of objects, by generating code which contains specific knowledge about the internals of encapsulated objects. Static encapsulation occurs at compile time, and therefore cannot directly support the evolution of objects, since recompilation of source code is required if the internal layout changes. This also prohibits the use of distributed or persistent objects without first ensuring that the internal representations of the objects match the ones in the compiled code.

Dynamic encapsulation occurs at run-time, and allows the compiled code to exist without the knowledge of any particular object representation. Abstract base classes with C++ virtual functions support a limited form of dynamic encapsulation, but only for objects originally designated to inherit that class. Some languages, such as Smalltalk, support dynamic encapsulation, but do not come close to the speed of statically encapsulated languages.

An object model using dynamic type-binding is presented that allows the flexibility of dynamic encapsulation with much of the efficiency of static encapsulation. With this model, objects can potentially communicate and migrate across address space and network boundaries without specific prior knowledge of representations, and can invoke functions on local objects with no more run-time overhead than a standard C++ virtual function call.

This dynamic encapsulation model is incorporated into DC++, a set of dynamic extensions to the C++ language that allows for the dynamic encapsulation of existing C++ objects, and DECO (Dynamic Encapsulator of C++ Objects), a utility for converting DC++ header files to C++.

Visit the thesis page.

Committee:
Dr. Andrew T. Kitchen, Chairman
Prof. Warren R. Carithers, Reader
Dr. Peter G. Anderson, Observer


Title:
A Multiprecision Integer Package

Author:
Norm Moulton

Date:
November 1997

Abstract:
In some areas of Computer Science, integer math must be performed using very large numbers. For these applications, the standard integer or long integer types available in standard programming languages don't have the required range, and the standard floating point packages don't have the required precision. What is required is a special package that provides operations on very large integers in the range of hundreds or thousands of decimal digits.

Visit project's home page.

e-mail: nwm5049(at sign)rit.edu
Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer


Title:
JavaSQL: A homogeneous distributed database management system

Author:
Yu-I Tseng

Date:
January 1998

Abstract:
In the past several years, the growth of multimedia applications has been made possible by increasing the power of desktop workstations capable of displaying multimedia data (e.g., text, images, graphics, audio, video, etc.). Despite the fact of increasing the PC workstation's processing power, some limitations prevent the massive deployment of multimedia applications, namely:


- insufficient storage capacity of a single workstation (audio, video, and graphics require a huge storage space compared to conventional data)
- difficulty in storing and sharing multimedia data in a manner offered by database management systems (security, data integrity, locking, multi-user access, etc.)
- incompatibility between storage systems used on different workstations

These problems become even bigger with the need to develop big multimedia inform ation systems for huge companies comprising of multiple physically dislocated subsidiaries. Such companies demand one logical database with data spread across all the locations.

The primary objective of this project is to implement a homogenous distributed database management system (DDBMS) called JavaSQL. The implementation of JavaSQL is to be solely programmed in JAVA, a high level language developed by Sun Microsystems, Inc. The JavaSQL DDBMS is designed to run on an Intranetworking environment, which allows people to use a mixture of hardware and operating systems. It offers location transparency, partition transparency, distributed data manipulation, distributed query optimization, and portability.

e-mail: yxt0376(at sign)cs.rit.edu

Visit project's home page.

Committee:
Dr. Andrew T. Kitchen, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Dr. Peter G. Anderson, Observer


Title:
NPAC Database Support

Author:
Zuwei Xu

Date:
July 1997

Abstract:
With the development of computer technology, many traditional concepts are changing rapidly. At present time, database is much more than a data warehouse. This paper introduce some way of using database functionality to support application development. In the first part, we gave a general description of the mini-world of the NPAC SMS, includes its general functionality, protocol stack, managed objects, system configuration and performance requirements. The second part, introduce the way NPAC SMS used to do infra system communication. The third part introduce the entity relationship of NPAC SMS. The forth part introduce the interface object that will be used by any application to access lnp database. The last part introduce an example of using this database to implement a key NPAC S MS action: subscription version activate which use the interface object to access the lnp database. NPAC SMS Data Model and all source code are attached in the appendixes.

Committee:
Dr. Fereydoun Kazemian, Chairman
Dr. H. Kevin Donaghy, Information Technology Department, Reader
Dr. Peter G. Anderson, Observer


Title:
A Graphical Toolkit for Programmable Logic Controller Software

Author:
Bob Brehm

Date:
October 1997

Abstract:
Your abstract goes here!

e-mail: Robert_P_Brehm(at sign)mc.xerox.com

Committee:

Prof. Guy Johnson, Manufacturing Technology Department, Chairman
Prof. Manian Ramkumar, Manufacturing Technology Department, Reader
Dr. Peter G. Anderson, Observer


Title:
Parallel Neural Network Training Based on Gradient Descent Optimization

Author:
Sean Strout

Date:
July 1997

Abstract:
Every training algorithm in neurocomputing uses a non-linear optimization to adapt internal weights. This is because the activation function for an artificial neuron is required to be continuously differentiable and asymptotically convergent to horizontal lines[LF94]. Furthermore, this non-linear optimization is performed across every unit (potentially on the order of hundreds of thousands) within the network, so all but the simplest techniques must be precluded.

The standard algorithm in backpropogation networks uses a sigmoid activation function with a gradient descent optimization procedure [RHW86]. This technique is known to present absolute convergence problems when presented with many local extrema. Consider an N dimensional hypersurface, the convergence of the gradient descent algorithm to any one extrema will depend greatly on the local basins of attraction around the starting point [ABE92].

One potential way around this problem, known as simulated annealing, sets the gradient descent step to a high value, and steadily decreases the step as the algorithm progresses through successive iterations of the training data. This method is effective in avoiding the lesser extrema, but does not assure convergence with the optimal basin and absolute minimum extrema for the hypersurface.

For my Masters Project, I propose to work with Dr. Alejandro Engel of the RIT Mathematics Department on his studies of modifications to the gradient optimization procedure and activation function. The purpose of this project is to find variations that minimize the training time while insuring the integrity of the net output. When the network is presented with previously unrealized data sets, the neurocomputer should be able to correctly identify the expected output.

Deliverables:

(1) Development of a software package to simulate neurocomputing. This software must be flexible enough to allow for changes in the following areas using the standard Backpropogation algorithm:

- Optimization Procedure: gradient descent, Powell's Algorithm [MJP64], Conjugate Gradients [FR64], etc.

- Activation Function: binary sigmoid, bipolar sigmoid, hyperbolic tange nt, etc. Other areas for potential investigation for training optimization are:

- Weight/Bias Initialization: random, Nguyen-Widrow, etc.

- Training/Weight adjustment method.

- Gradient step procedure: static, simulated annealing, etc. (2) Write up containing discussions on the techniques used and the observed behaviors.

References:

[ABE92] A.B. Engel "Non-Linear Processing in Artifical Synapses" KYBERNETES 21 (1992) 35-45.

[LF94] L. Fausett "Fundamentals of Neural Networks: Architectures, Algorithms and Applications" Prentice-Hall (1994).

[FR64] R. Fletcher and C.M. Reeves "Function Minimization of Conjugate Gradients " Computer Journal 7 (1964) 149-154.

[MJP64] M.J.D. Powell "An Effective Method for Finding Minimum of a Function of Several Variables Without Computing Derivatives" Computer Journal 7 (1964) 152-1 62.

[RHW86] D.E. Rumelhart, G.E. Hinton and R.J. Williams "Learning Internal Representation by Error Propogation" in Rumelhart & McClelland (eds). Parallel distributed Processing, MIT Press (1986).

e-mail: strout(at sign)ppdev.mc.xerox.com
Committee:
Dr. Alejandro B. Engel, Mathematics Department, Chairman
Dr. Peter G. Anderson, Reader
Dr. Stanislaw P. Radziszowski, Observer


Title:
An Automated Content Assembler and Notifier

Author:
Pushpa Gogineni

Date:
January 1998

Abstract:
An Automated Content Assembler and Notifier is a subsystem of DRLINK system. DRLINK is a natural language text Retrieval system that allows searchers to state queries as fully-formed sentences and to specify the requirements for dcument retrieval and ranking. Through DRLINK web interface, users can save, delete, temporarily deactivate and update their favourite queries. Alert queries are stored and maintained at the server.

The goal of Content Assembler and Notifier subsystem is to notify the user periodically with the updated information on the Alert query.

This subsystem checks periodically, if there is any match for the new content that is being added to the content server against the alert queries. When there is a match, user will be notified via e.mail with the saved query header and related content information. Users can login to drlink through web browser at any time to see the saved Queries and related content information.

Primarily this project is divided into two phases.

First phase is to design the project using Object-Oriented design Patterns. These specific Design Patterns make object-oriented designs more flexible, elegant, and reusable. Second phase is to implement the design specifications using c++.

Benefits of undertaking this Project

To gain more experience in designing and implementing reusable and flexible code. To automate the complete process.

Bibliography:

Design Patterns - Elements of Reusable Object-Oriented Software;
Erich Gamma, RichardHelm, Ralph Johnson, John Vissides Addison Wesley.

e-mail: pushpa(at sign)textwise.copushpa(at sign)textwise.com

Committee:
Mr. Arvind Srinivasan, Chairman
Prof. Timothy P. Wells, Information Technology Department, Reader
Dr. Peter G. Anderson, Observer


Title:
Visual Representation of DNA Sequences

Author:
Danielle G. Savino

Date:
August 1997

Abstract:
Your abstract goes here!

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Richard J. Orr, Mathematics Department, Reader
Dr. Christian G. Reinhardt, Chemistry Department, Observer


Title:
Protein Separation Lab Simulation

Author:
Kris Cotton

Date:
November 1997

Abstract:
The goal of this project is to provide an interactive learning tool which allows biochemistry students to explore chemical experiments outside of the lab. The experiment that is being modeled by this project is protein separation through ion exchange.

The result of this project will be an application which runs under Microsoft Windows 95 or Windows NT. To start an experiment, the user must select up to five proteins and set the other properties which effect the results of the experiment. The application allows these settings to be saved to a file or loaded from a previously saved file. The application also has a command line interface which allows it to be called from another application.

The application has three different screens, the macro view, the micro view and the molecular view. The macro view contains a layout of the components used to perform separation experiments. When the user clicks the mouse on one of these components, a box of text is displayed which contains a description of the component. The two main components on this screen are the column in which the separation occurs and the detector.

The experiment may be run, paused or stopped and restarted at any time. When the experiment is run, the screen becomes animated, showing bands of protein moving through the column. The detector shows a graph of the salt concentration as it increases within the column and a graph of the response of the detector as proteins pass through the column.

The micro view is opened by selecting a portion of the column to view, as if looking through a microscope. The view contains a static bitmap of the resin molecules and shows the salt and protein molecules as they move through the selected portion of the column. Any number of micro views may be opened at any time.

The user may obtain information about the proteins selected in the experiment by opening a dialog which displays more detailed information about the protein. They can also open a molecular view of the protein which displays a three dimensional picture of the alpha-carbon backbone of the protein. In this window the user can rotate the molecule in three dimensions and display the location of any charged amino acids.

The application contains on-line Help using the Windows Help Application. The help facility uses hyper- text links and jump which allows the user to explore the contents of the help file in a more freeform fashion than traditional documentation.

Committee:
Dr. Paul Craig, Chemistry Department, Chairman
Prof. Nan C. Schaller, Reader
Dr. Peter G. Anderson, Observer


Title:
Bitonal Image Compression Using Linear Pixel Shuffling

Author:
Elaine Meadows

Date:
November 1997

Abstract:
Linear pixel shuffling is a method based on an arithmetic progression for visiting all of the pixels in an image in a very mixed up order. The algorithm is designed so that when a fraction of the total pixels are chosen, every subrectangle of the fraction contains the same number of pixels. The total number of visited pixels is smoothly distributed over the entire image [1]. Because of the very even distribution of pixels over the image, it is also possible to limit the number of pixels visited based on the distance between visited pixels. If this distance is presented as using a "fat" pixel, it is possible to approximate the original image with "fat" pixels. This technique may be especially useful in representing and transmitting large images over a very busy network.

The purpose of this project is to use Linear Pixel Shuffling with the "fat" pixel technique to implement a lossy compression of a black and white image. The implementation will be done in Java, and will be suitable for running from an applet on the World Wide Web.

The shuffling algorithm is taken from [2]. The algorithm is based on a two-dimensional Fibonacci sequence.

References used in the above:

[1] Anderson, P.G., "Advances in Linear Pixel Shuffling", presented at the Conference on Fibonacci numbers and their applications, Pullman, Wa., July 1994.

[2] Anderson, P.G., "Linear Pixel Shuffling for Image Processing, an Introduction", The Journal of Electronic Imaging. April 1993, pp. 147-154.

Visit project's home page.

e-mail: emk3594(at sign)cs.rit.edu

Committee:

Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Prof. 3, Observer

Title:
DB-beta: multithreaded DBMS with Java based GUI

Author:
Ben Meyvin

Date:
October 1997

Abstract:
The project includes:

1. Multithreaded back end DBMS server, running on LynxOS MicroSparc. This server will support basic SQL transactions for multiple clients. Depending on time constrains, I plan to implement crash recovery and deadlock detection.

2. Platform independent front end GUI (remote Java applet) for Netscape 3.0 Depending on time constrains, I might demo Sparc station and PC versions clients.

Committee:
Prof. 1, Chairman
Prof. 2, Reader
Prof. 3, Observer

Title:
Survey of Two Distributed Middleware Environments: JAVA RMI vs. Distributed COM

Author:
Henry Cho

Date:
January, 1998

Abstract:
The purpose of this project is to design and implement a rudimentary client-server application that takes advantage of two recently developed middleware environments for distributed applications: Java's Remote Method Invocation (RMI) and the Distributed Component Object Model (Distributed COM, or just COM). Development of this application will allow a comparison of the two environments in two areas: performance (how long does it take a call to a service to complete?) and ease of implementation (how long does it take to develop client server software in the two environments?).

The kind of client-server application that will be implemented is arbitrary; it is only meant to compare the two environments in the areas listed above. The application will consist of one client that can request services from two different servers, one implemented as a Java RMI server and the other implemented as a COM server. The interfaces to these two servers will be dictated by the distributed environment that each is developed for. Therefore the client will need to be able to use the appropriate interface for requesting services from each server and make the appropriate calls defined in each environment to gain access to the remote client and its services. Since the actual application implemented is arbitrary and is only meant as a means of comparison, the service(s) provided by the servers need only be the same service(s). The service I propose is simply to return the system time on the computer on which the server is running.

Committee:
Prof. Michael J. Lutz, Chairman
Prof. Paul T. Tyman, Reader
Prof. Peter G. Anderson, Observer

Title:
To be announced

Author:
Diane Duda

Date:
Month? 1997

Abstract:
Your abstract goes here!

Committee:
Prof. 1, Chairman
Prof. 2, Reader
Prof. 3, Observer

Title:
Fractal Music and Images

Author:
Michael A. Lepore

Date:
November 1997

Abstract:
The project involves the development of a Java applet that generates music based on fractal formulas. In particular, the Mandelbrot and the Julia sets will be used to determine if music can be generated that is as beautiful as the images these sets create. To attempt to preserve the complex nature of these sets, the real and imaginary parts of the complex numbers will be applied to appropriate music parameters, such as pitch and volume. The user will be presented with an interface to vary several parameters in order to change the music that is produced. These parameters will include the selection of fractal type and application of the fractal to musical parameters such as key, tempo, and scale type. The music will be played on the client machine using MIDI format. The applet will also present a visual representation of the fractal being used, or possibly a gallery of images. The fractal images will be generated by code written in Visual J++ and may also include some three-dimensional images that include shading and ray-tracing. The image part of the project is being done for an advanced computer graphics class.

Visit the project page.

Committee:
Prof. J. A. Biles, Information Technology Department, Chairman
Dr. Peter G. Anderson, Reader
Prof. Michael Eastman, Engineering Technology, Observer

Title:
Converting SGML to Folio

Author:
Di Xu

Date:
Month? 1997

Abstract:
Your abstract goes here!

Committee:
Prof. 1, Chairman
Prof. 2, Reader
Prof. 3, Observer

Title:
Ramsey Theory and Genetic Algorithms

Author:
Shardul Rao

Date:
August 1997

Abstract:

Ramsey Theory studies conditions when a combinatorial object contains necessarily some smaller given objects. The role of Ramsey Numbers is to quantify some of the general existentual theorems in Ramsey Theory.

The objective of this thesis is to try to improve the lower bounds Ramsey Numbers, in particular the bounds for multi-color graph Ramsey Numbers. Let G_1, G_2, ..., G_m be graphs or s-uniform hypergraphs (s is the number of vertices in each edge). R(G_1, G_2, ..., G_m; s) denoted the m-color Ramsey number for s-uniform graphs/hypergraphs, avoiding G_i in color i for 1 <= i <= m. Thus, we need to find an edge coloring for a K_N graph (for N as large as possible) avoiding G_i in color i.

Genetic Algorithm is used as a search heuristics in finding the coloring. Each chromosome can be a permutation which represents the order in which the edges of graph are colored. This order based approach was found to be good in solving various other NP-complete problems in GA class.

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Prof. 3, Observer

Title:
A File Format Based on Linear Pixel Shuffling

Author:
Jenny K. Pan

Date:
Month? 1997

Abstract:
There is a saying of "graphics file formats are immortal." Many kinds of graphics file formats have been in the market already, such as TIFF, GIF, JPEG etc., nevertheless, we always need a way to create a better ones and always need a way to read, understand, and display them.

Dr. Anderson has been doing research work on LPS (Linear Pixel Shuffling) theory for many years and he would like to implement his theory to a LPS Image (Graphics) Format, including LPS compression algorithm which is implemented by Elaine Meadows.

In my project, the following specs will be implemented:

(1) An html file invokes a Java applet file that brings out an ImageViewer frame.

(2) From the ImageViewer frame, the user may choose to open a GIF image file as original file or LPS image file with desired percent image shown.

(3) The user may save the image as a regular GIF file or in the LPS file format.

(4) This converter (display) project is implemented in JAVA and HTML and is able to displayed on WWW.

(5) The LPS converter will handle bilevel, monochrome, and color images.

Visit Jenny's home page.

Committee:
Prof. Peter G. Anderson, Chairman
Prof. Stanislaw P. Radziszowski, Reader
Prof. 3, Observer

Title:
The N Queens Problem Solved Using Genetic Algorithms and Heuristics

Author:
Xingping Hu

Date:
November 1997

Abstract:
Your abstract goes here!

Visit project home page.

Committee:
Prof. Peter G. Anderson, Chairman
Prof. Stanislaw P. Radziszowski, Reader
Prof. J. A. Biles, Information Technology Department, Observer

Title:
CP3 - A C++ Prototyping Tool

Author:
Mei-yue Lee

Date:
August 1997

Abstract:
CP3 is a prototyping tool for developing software with the C++ language. Running on Microsoft Windows NT and Microsoft Windows 95, it helps users create, modify, and manage their classes in a project. CP3 guides the users through a step-by-step process for creating a new class or modifying an existing class. The user can import existing header files, make modification and export to new files. In the code development process, CP3 is a CASE tool that helps the user in three ways. First, it helps the user create the framework for a new project. Secondly, it helps analyze the class hierarchy and class details of existing projects. Finally, it helps novice C++ programmers learn the language.

Visit project's home page.

Committee:
Dr. Fereydoun Kazemian, Chairman
Dr. James E Heliotis, Reader
Dr. Peter G. Anderson, Observer


Title:
System Topologies for Parallizing Genetic Algorithms

Author:
Peter Gousios

Date:
Month? 1997

Abstract:

Genetic algorithms (GA) allow for automatic searching of a solution space without program knowledge of the problem being solved. Genetic algorithms are easy to implement on parallel machines. Many methods of parallel genetic algorithms (PGA) have been experimented with.

Coarse grained parallel genetic algorithms distribute sub-populations among the different computing elements. The sub-populations can be connected in a variety of different topologies. To efficiently solve a problem, knowledge of how the topological arrangement effects a genetic algorithms can be used to optimize the algorithms performance.

This paper analyzes the effects of changing the topology of the computing elements. Analysis of diameter, and connections per node are made. Performance is evaluated independently of the test system. The influence of communications cost and processing cost on selecting a topology is examined. Multiple problems are tested to eliminate single problem bias.

Visit project's home page.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Prof. J. A. Biles, Information Technology Department, Observer

Title:
Enumeration of Some (3,8,n,e)-Ramsey Graphs

Author:
Robert A. Getschmann

Date:
Month? 1997

Abstract:

Let G1, G2, ..., Gm be graphs or s-uniform hypergraphs, where s is the number of vertices in each edge. R(G1, G2, ..., Gm;s) denotes the m-color Ramsey number for s-uniform graphs/hypergraphs, avoiding G in color i for 1 <= i <= m. It is defined as the least integer n such that in any coloring with m-colors of the s-subsets of a set of n elements, for some i, the s-subsets of color i contain a sub-(hyper)graph isomorphic to Gi (not necessarily induced). If s = 2 (standard graphs) then s can be omitted. If Gi is a complete graph Kk, then we can write k instead of Gi, and if Gi = G for all i we can use the abbreviation Rm(G) or (Rm(G;s)).

In particular for two colors, the Ramsey number R(l,k;2) also denoted R(l,k) is defined to be the least positive integer n such that any graph of order n contains either a subgraph Kl or a subgraph !Kk.

A two color Ramsey graph, (l,k,n,e), is defined as a graph G which contains no subgraphs Kl, no subgraphs Kk, has order n and size e. The existence of these graphs is used in the determination of lower and upper bounds for various Ramsey numbers.

My thesis involes implementing and extending previously developed concepts in-order to computer some new two color Ramsey graphs. Previously performed comutations of Dr. Stanislaw Radziszowski, of the Computer Science Department of the Rochester Institute of Technology, will be implemented, results duplicated, and new methods developed in-order to decide the existence of Ramsey graphs for some parameter situations.

Visit thesis's home page.

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Dr. Andrew T. Kitchen, Observer

Title:
A Distributed Windows Appointment Calendar Application

Author:
Roberta Zaharkin

Date:
August 1997

Abstract:

A distributed graphical appointment calendar application was designed and implemented. The appointment calendar application supports the viewing and scheduling of appointments electronically with other calendar users. Appointment scheduling includes the determination of mutually available appointment times to avoid appointment scheduling conflicts. The appointment calendar allows a user to add, replace or delete appointments and to receive notification of pending appointments. The user may view a calendar by year, month, week or day.

Written in Smalltalk, an object-oriented language, the appointment calendar application was developed using the ParcPlace-Digitalk VisualWorks application development environment. VisualWorks provides an object-oriented environment for the development of platform-independent client-server applications in Smalltalk. The use of VisualWorks enabled the appointment calendar application to be developed and executed on a HP-UNIX or a PC-Windows platform with the client-server communication implemented using TCP/IP sockets.

Committee:
Dr. James E. Heliotis, Chairman
Prof. Henry A. Etlinger, Reader
Dr. Peter G. Anderson, Observer

Title:
Channel Routing Problem using a GA

Author:
Robert Bachman

Date:
Month? 1997

Abstract:
Your abstract goes here!

Visit project's home page.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Tony Chang, Computer Engineering Department, Reader
Prof. 3, Observer

Title:
Optimization Techniques for a Problem on the N-Cube

Author:
Shu-Yi Yang

Date:
September 1997

Abstract:
Your abstract goes here!

Visit project's home page.

Committee:
Dr. Peter G. Anderson, Chairman
Prof. J. A. Biles, Information Technology Department, Reader
Dr. Walter A. Wolf, Observer

Title:
Extending a Distributed Computing System with Java

Author:
John Brand

Date:
Month? 1997

Abstract:

HORB is a publicly available distributed computing system built over Java. HORB extends Java for distributed object-oriented computing; it has the simple vision of distributed execution of Java programs. HORB can be compared with other ORB's (Object Resource Brokers) such as CORBA. Among other things, HORB provides remote object creation, remote object connection, object transfer, security through a distributed access control list and URL-based object naming.

My project goals are to provide useful extensions to the HORB system, and to make extensions that give HORB more features of a Distributed Operating System (DOS). With the features already provided, it's a perfect building block for a full-fledged DOS that provides portability among different architectures.

Among the areas to extend in HORB are to provide distributed object space, an object directory, an object locator and fault tolerance.

The first step shall be to implement group communications in the system. As a blueprint, I'd use the method implemented in the Amoeba Operating System [KAASHOEK93]. Group communications would provide the foundation for many of the aforementioned areas to extend. The logical first item to distribute via group communications would be the access control list (ACL). This would test the functionality of the group communications and provide a fault-tolerant ACL. All member of the group concerned with security in the system would receive updates of the ACL and in fact could update the ACL. The group communications scheme shall be able to handle network partitioning situations.

The next logical step would be to utilize group communications as the backbone for a fault-tolerant object directory. The HORB server already tracks which ports it's running on in a table on the local machine on which it's running. A server process would be designed to locate and store objects in the directory on demand. The directory would contain the object name, the host name of the HORB server holding the object and the port the HORB server listens to. Once again, with group communications doing the underlying work, the directory would be propagated to all servers that join the group of directory-holders as necessary.

Information on HORB can be found at the following web site: "http://ring.etl.go.jp/openlab/horb/".

Visit project's home page.

Committee:
Prof. Paul Tymann, Chairman
Prof. Andrew T. Kitchen, Reader
Prof. 3, Observer

Title:
Load Balancing Algorithms for Distributed Rendering on Hybrid Networks

Author:
Roger Galuban

Date:
December 1997

Abstract:

One of the basic questions computer scientists are always trying to answer is: ``How can I solve a given problem in less time?'' This is especially true when dealing with 3D modeling and animation. For example, if it takes one minute to render a full-size image, and we need 30 frames per second, a computer-generated full-lenght movie (120 minutes long) will require 216,000 frames to be rendered, which is approximately 150 days of processing.

In this thesis we explore possible load balancing algorithms for distributing the rendering of complex images on hybrid networks, trying to minimize the time of the rendering process. We also demonstrate the theory behind each load balancing algorithm through a ditributed a Java ray tracer, making use of Java's fundamental cross-platform claims.

Visit project's home page.

e-mail: rng5933(at sign)cs.rit.edu
Committee:
Prof. Nan C. Schaller, Chairman
Dr. Andrew T. Kitchen, Reader
Dr. Peter G. Anderson, Observer

Title:
The Transportation Problem: Two Comparative Implementations

Author:
Dan Symula

Date:
November 1997

Abstract:

The transportation problem can be described as any number of warehouses containing either a supply of goods or having a need for goods. It is the task of the algorithm to find an optimal shipping solution to satisfy the demand, based on a cost matrix.

There are two parts to the transportation problem. The first is what is called a network flow problem, which is the emphasis of my project. I implemented two different solutions to solve this classic problem. The first, is the Ford Fulkerson method. The second is a breadthfirst search. These algorithms chose which path to send and receive supply on.

The second part of the transportation problem is deciding which paths the network flow problem can chose from. This is fairly similar in both implementations. The overall problem is solved using what is called the Primal/Dual method. During the hour, I will present details of the transportation problem, discuss the Ford Fulkerson method and breadthfirst search method, as well as some aspects of the primal-dual method.

Committee:
Dr. Stanislaw P. Radziszowski, Chairman
Dr. Peter G. Anderson, Reader
Mr. Phil White, Observer

Title:
An Illustration of Color Mixing Principles using Java.

Author:
John A. Moore

Date:
April 1997

Abstract:

Java will be used to implement an applet, ColoRama, for demonstrating basic color mixing principles. At a minimum, this applet will allow a user to:

  1. Precisely define three primaries using RGB slider controls.
  2. See the resulting color gamuts for the selected primary set for both additive and subtractive color mixing.
  3. Use the mouse to pick a color from the gamut display and show the corresponding ratios of each primary required to produce the selected color
  4. Define a precise amounts of each primary for mixing and view the resulting color through visual mixing

In addition to gaining experience with JAVA graphics, color and imaging, the AWT (abstract windowing toolkit) will be used to implement a platform independent user interface. The report will include a discussion of the effectiveness of the implementation and performance of the applett on different platforms.

Visit the ColoRama project homepage.

e-mail: jmoore(at sign)mc.xerox.com

Committee:

Dr. Peter G. Anderson, Observer
Dr. Mark Fairchild, Reader
Prof. 3, Observer

Title:
BackPropagation Neural Experimentation Laboratory and Real Time Neural Training Application

Author:
Alex Miller

Date:
December 1997

Abstract:

Abstract: Developing a training set and optimizing a neural network can be a difficult and time consuming task for anyone. By developing a program that allows for flexible control and ease of use in developing a multilayer feedforward neural network, this task can be, in fact, enjoyable and enlightening. Observing the internals of a neural network during training sessions is surprisingly interesting. By giving the user dynamic control of the various aspects of the network and providing useful visual aids, optimizing a neural network to a set of training data is a simple and quick exercise. Also, a deep understanding of the algorithm can be understood through the use and manipulation of such a tool.

Deliverables:

(1) Development of a software package to implementing, specifically, the feedforward multilayer Backpropogation neural network with visualization facilities. This software will have the following features:

- The ability to create and dynamically change a multilayer feedforward neural network with up to 35 inputs, 35 hidden units and 35 output units.

- The ability to change the number of hidden units "on the fly" during training and execution of the neural net.

- The abitity to change the learning rate and stopping tolerance values "on the fly" during training and execution of the neural net.

- The provision of a graph showing the network weights changing in real time during the training of the neural net.

- The display of training statistics in real time.

- The ability to save the network weight data out to an ascii file for later usage in other applications.

- A Strip Chart showing network input and output values as well as input layer and output layer weight values during training for a visual understanding of the learning process and internal behaviors of the network.

- A visual representation marking discrete moments for individual training pattern cycles as well as entire training file cycles.

- The ability to run pseudo-random input values through a trained/untrained/semi-trained network in order to visualize and understand a networks output behavior under "noisy" conditions.

(2) Development of a graphical application for a vehicle control system that optionally reads and uses networks from the above application or learns in real time via user input. The control system will allow the vehicle to negotiate obsticles in a 2-D environment and display neural activety in graphical form for analysis.

References:

[LF94] L. Fausett "Fundamentals of Neural Networks: Architectures, Algorithms and Applications," Prentice-Hall (1994).

e-mail: Alex_Miller(at sign)wb.xerox.com

Visit project's home page.

Committee:
Dr. Peter G. Anderson, Chairman
Dr. Stanislaw P. Radziszowski, Reader
Prof. 3, Observer

Title:
3D Object Modeling Using Splines

Author:
Kevyn Ford

Date:
January 1998

Abstract:
Three dimensional object modeling is a crucial step in the design and construction of computer-based objects. These objects can be used to simulate real-world objects found in CAD/CAM systems or can be completely synthetic as those found in a raytraced scene. One technique used in complex object modeling is the use of splines to represent object surfaces. This project investigates the use of splines as a three dimensional modeling tool and presents a spline-based modeler (Smodeler) that generates objects compatible with the freely available POVRAY raytracing system.
e-mail: kevyn_ford(at sign)smb.com

Visit project's home page.

Committee:
Prof. Nan C. Schaller, Chairman
Dr. Andrew T. Kitchen, Reader
Dr. Peter G. Anderson, Observer

e-mail: anderson(at sign)cs.rit.edu