An open API service indexing awesome lists of open source software.

https://github.com/garrisonj/convexhullalgorithms

cs350 project
https://github.com/garrisonj/convexhullalgorithms

Last synced: 8 days ago
JSON representation

cs350 project

Awesome Lists containing this project

README

          

CS350
Garrison Jensen
Project proposal

## Project: Convex Hull

### Project Topic

For my project I will compare the two algorithms we learned in class for finding the convex hull of a given set of points, the Quick-Hull and the brute force algorithm. I will compare the time efficiency both mathematically and empirically for random sets of points. I will also compare them on some special cases, such as a set of points in a circle, and points on a line.

I think it will be interesting to see if the brute force algorithm ever out performs the Quick-Hull algorithm on any sets. And if so, by how much.

### Implementation Language

For this project I plan to use the Ruby programming language. I chose this language for several reasons. First, I am experienced with Ruby. Second, Ruby is easy to read, which will allow me to analyse the efficiency of the algorithm without getting caught up in complicated syntax.

Also, Ruby has a simple and easy to use testing module, Benchmark, which will allow me to write extensive test. And a nice graphing library, RubyVis, which will allow me to make graphical representation of my test output.

### Features in Final Report
- A mathematical analysis of time efficiency.
- Quick-Hull
- Brute Force Hull
- An empirical analysis of time efficiency.
- Quick-Hull
- Brute Force Hull
- A graphical representation of tests input and output.
- A point chart of special cases of test input.
- A bar graph showing time taken on different sized input sets.
- A written report analyzing the collected data.
- Optional
- Implementation and analysis of the Graham Scan algorithm.

### Time Plan

This is my tentative time plan for the project.

- 27 Feb
- Have both algorithms implemented.
- Complete the mathematical analysis of brute force algorithm.
- Complete the mathematical analysis of Quick-Hull algorithm.
- 6 March
- Complete the empirical analysis of brute force algorithm.
- Complete the empirical analysis of Quick-Hull algorithm.
- Create graphs representing empirical analysis.
- 13 March
- Write an analyse of collected date.
- Come up with conclusions about the efficiency of algorithms.
- Complete written report.