Changes

Jump to: navigation, search

Zombie Panda Breeders

2,564 bytes added, 20:17, 4 October 2012
no edit summary
The team consists of:
[mailto:akopytov@myseneca.ca?subject=(DPS915)%20Zombie%20Panda%Breeders Andrei Kopytov]
[mailto:zabloom@myseneca.ca?subject=(DPS915)%20Zombie%20Panda%Breeders Zack Bloom]
== Assignment 1 ==
 
 
=== <u>RSA Key Generator</u> ===
Attempted by: Andrei Kopytov
 
This is an open source project hosted on code.google.com. The source was written from scratch in C++ to implement RSA encryption.
 
It currently supports prime number generation, key generation and encryption/decryption of files or strings.
 
The project can be found here: http://code.google.com/p/rsa/
 
My goal for this project will be to parallelize the longMultiply() function inside the BigInt class.
 
<big><pre>
/* Multiplies two unsigned char[] the long way. */
void BigInt::longMultiply(unsigned char *a, unsigned long int na, unsigned char *b, unsigned long int nb, unsigned char *result)
{
std::fill_n(result, na + nb, 0);
unsigned char mult(0);
int carry(0);
for (unsigned long int i(0L); i < na; i++)
{
for (unsigned long int j(0L); j < nb; j++)
{
mult = a[i] * b[j] + result[i + j] + carry;
result[i + j] = static_cast<int>(mult) % 10;
carry = static_cast<int>(mult) / 10;
}
if (carry)
{
result[i + nb] += carry;
carry = 0;
}
}
}
</pre></big>
 
 
=== <u>Mutation Simulator</u> ===
Attempted by: Zack Bloom  This is a project I had made on my own. It is a simple mutation simulator.  This type of project gets used in genetic algorithms, and can be considered a primitive engine of one. The goal of a genetic algorithm is to find an observable optimum solution within a population by breeding over many generations. The main difference between my Mutation Simulator and a genetic algorithm, is that my mutation simulator lacks a metric to judge the fitness of each offspring within a population.  The general idea of how this works is with this diagram (minor differences can be found within my program) [[Image:GA.png]] These are the two methods I was planning to parallelize <big><pre>void Offspring::mutate(float mutationChance){ for (int i =0; i < amountOfGenes; i++){ geneticMakeup[i].mutate(mutationChance); }}</pre></big>   OR   <big><pre>void Population::breed(int index, float mutationChance){ int aOrB; for (int i = Assignment 0; i < organisms[index]->amountOfGenes; i++) { aOrB = rand() % 2; if (aOrB == 0)// organisms[index+1 ]->geneticMakeup[i] =organisms[index]->geneticMakeup[i]; else // organisms[index]->geneticMakeup[i] =organisms[index+1]->geneticMakeup[i]; organisms[index]->mutate(mutationChance); organisms[index+1]->mutate(mutationChance); }}</pre></big>

Navigation menu