# NAME

Algorithm::Evolutionary::Fitness::ECC - Error Correcting codes problem generator

# SYNOPSIS

```
my $number_of_codewords = 10;
my $min_distance = 1;
my $p_peaks = Algorithm::Evolutionary::Fitness::ECC->new( $number_of_codewords, $min_distance );
```

# DESCRIPTION

Extracted from article "Effects of scale-free and small-world topologies on binary coded self-adaptive CEA", by Giacobini et al [Ga]. Quoting:

" The ECC problem was presented in [MW]. We will consider a three-tuple (n, M, d), where n is the length of each codeword (number of bits), M is the number of codewords, and d is the minimum Hamming distance between any pair of codewords. Our objective will be to find a code which has a value for d as large as possible (reflecting greater tolerance to noise and errors), given previously fixed values for n and M . The problem we have studied is a simplified version of that in [MW]. In our case we search half of the codewords (M/2) that will compose the code, and the other half is made up by the complement of the codewords computed by the algorithm"

[Ga] Mario Giacobini, Mike Preuss, Marco Tomassini: Effects of Scale-Free and Small-World Topologies on Binary Coded Self-adaptive CEA. EvoCOP 2006: 86-98.

[MW] F. J. MacWilliams and N. J. A. Sloane. The Theory of Error-Correcting Codes. North- Holland, Amsterdam, 1977.

# METHODS

## new

Creates a new instance of the problem, with the said number of bits and peaks

## _really_apply

Applies the instantiated problem to a chromosome

## ecc

Applies the instantiated problem to a string

# Copyright

```
This file is released under the GPL. See the LICENSE file included in this distribution,
or go to http://www.fsf.org/licenses/gpl.txt
```