Site hosted by Angelfire.com: Build your free website today!

The following video contains the clips of work from my core classes.  There is footage of my artificial intelligence, graphics, networking, and physics projects.  Each class section starts with my most simple beginning projects and then proceeds to my more complex final projects for each class.  Enoy!



 

 

 

Birthday Simulation

If you are in a room and 100  people walk in, what is the probability that those people will have matching birthdays?  This project answers this question, written in visual basic in Microsoft Excel. 

 

 

 

Knapsack Assignment

I was tasked with writing a program that was to solve the knapsack problem, an optimization problem in which you have a bag of size S, and items i that have size Si and value Vi, which you use to fill the bag and achieve the most value for what you can carry.  I found two different ways in which to solve this, using a greedy algorithm and using dynamic programming.

Greedy:

 

      With this algorithm, all objects are viewed and then ordered according to their effeciency, this variable is based upon a function using the objects size Si and value Vi.  As you can see in the screenshot below, once the items have been sorted, you simply begin taking the items from the top to achieve your optimized profit. 

1024x1024-2041873.jpg

Even though in this instance the correct answer is achieved, this algorithm will not always give you the optimal answer.

Dynamic:

1024x1024-2042243.jpg

Dynamic programming is used when a problem can be brokem down into subproblems.  The algorithm takes each object and begins to solve the problem by solving each subproblem.  Once the solution matrix has been created, an additional algorithm is used in finding the objects which fit in the bag.  This algorithm, unlike the greedy, will always give you an optimal answer.  

 

 

 

Markov Chains

    Working in a small group, I helped in writing a program that could demonstrate a use of Markov chains.  The program reads in a text document, generates a probability matrix representing the chance a word found in the document has of showing up, and then produces a new text document.