Bot releases are hidden (Show)
Only GeneticSharp:
update-package GeneticSharp
GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
update-package GeneticSharp.Extensions
You should use the UnityNuGet to install GeneticSharp directly from NuGet.
Or you can use the latest GeneticSharp.unitypackage available in the Assets
section of this release.
To install previous version that support .NET Standard 2.0 and .NET Framework 4.6.2:
install-package GeneticSharp -Version 2.6.0
To install previous version that support .NET Framework 3.5:
install-package GeneticSharp -Version 1.2.0
More about installing/setup: https://github.com/giacomelli/GeneticSharp/wiki/Setup.
Published by giacomelli about 2 years ago
Only GeneticSharp:
update-package GeneticSharp
GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
update-package GeneticSharp.Extensions
You should use the UnityNuGet to install GeneticSharp directly from NuGet.
Or you can use the latest GeneticSharp.unitypackage available in the Assets
section of this release.
To install previous version that support .NET Standard 2.0 and .NET Framework 4.6.2:
install-package GeneticSharp -Version 2.6.0
To install previous version that support .NET Framework 3.5:
install-package GeneticSharp -Version 1.2.0
More about installing/setup: https://github.com/giacomelli/GeneticSharp/wiki/Setup.
Published by giacomelli about 2 years ago
With version 3.0.0, GeneticSharp now supports .NET 6.
The performance of many operations has been improved just for use .NET 6:
More about performance: https://github.com/giacomelli/GeneticSharp/wiki/Performance.
To avoid the necessity to write many using
statements to write a basic genetic algorithm with GeneticSharp:
using GeneticSharp.Domain;
using GeneticSharp.Domain.Crossovers;
using GeneticSharp.Domain.Mutations;
using GeneticSharp.Domain.Populations;
using GeneticSharp.Domain.Selections;
using GeneticSharp.Domain.Terminations;
using GeneticSharp.Infrastructure.Framework.Threading;
The namespaces needed to use GeneticSharp have been simplified to just two:
using GeneticSharp;
and this one if you want to use the extensions:
using GeneticSharp.Extensions;
Only GeneticSharp:
install-package GeneticSharp
GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
install-package GeneticSharp.Extensions
You should use the UnityNuGet to install GeneticSharp directly from NuGet.
Or you can use the latest GeneticSharp.unitypackage available in the Assets
section of this release.
To install previous version that support .NET Standard 2.0 and .NET Framework 4.6.2:
install-package GeneticSharp -Version 2.6.0
To install previous version that support .NET Framework 3.5:
install-package GeneticSharp -Version 1.2.0
More about installing/setup: https://github.com/giacomelli/GeneticSharp/wiki/Setup.
Published by giacomelli over 5 years ago
Now we have 4 dotnet new
templates, besides the GeneticSharpConsoleApp
, GeneticSharpTspConsoleApp
and GeneticSharpTspUnity3d
already existent, a new template for a Blazor client app was added: GeneticSharpTspBlazorApp
:
dotnet new -i GeneticSharp.Templates
dotnet new GeneticSharpTspBlazorApp -o TspBlazorApp
cd TspBlazorApp
dotnet run
If you want to know more about how to use GeneticSharp with Blazor, take a look in this tutorial TSP with GeneticSharp and Blazor.
Four papers and one project were added to the list:
Only GeneticSharp:
install-package GeneticSharp
GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
install-package GeneticSharp.Extensions
You should use the UnityNuGet to install GeneticSharp directly from NuGet.
Or you can use the latest GeneticSharp.unitypackage available on our release page.
Let's evolve!
Published by giacomelli over 5 years ago
update-package GeneticSharp
update-package GeneticSharp.Extensions
Published by giacomelli over 5 years ago
update-package GeneticSharp
update-package GeneticSharp.Extensions
The bug #58 does not affect the Unity3d package, so you can still use the 2.4.0 version.
Published by giacomelli over 5 years ago
The additions of this version are the two new crossovers implementations and a new option of ITaskExecutor that use TPL.
The alternating position crossover operator (Larrañaga et al. 1996a) simply creates an offspring by selecting alternately the next element of the first parent and the next element of the second parent, omitting the elements already present in the offspring.
It can be seen as a P-sexual crossover operator, where p (parents number) is a natural number greater than, or equal to, 2.
It starts by defining a threshold, which is a natural number smaller than, or equal to p.
Next, for every; i E {l, 2, . . .N} the set of ith elements of all the parents is considered. If in this set an element occurs at least the threshold number of times, it is copied into the offspring.
Three new classes were implemented to run some key points of a genetic algorithm using TPL.
Those new classes can be used alone, but normally you will use all them together. You can see a sample usage at unit test Start_TplManyGenerations_Optimization
.
An ITaskExecutor's implementation that executes the tasks in a parallel fashion using Task Parallel Library (TPL).
Represents a population of candidate solutions (chromosomes) using TPL to create them.
A new interface called IOperatorsStrategy was added to GeneticAlgorithm as an option. Two options of operators strategy were created, the default one, called DefaultOperatorsStrategy and the new one called TplOperatosStrategy.
I would like to thanks to EMostafaAli and Alexey I. for opened some issues and made small pull requests and Dan for contributing with the TPL implementations.
Let's evolve!
Published by giacomelli almost 6 years ago
The additions of this version are the new whole sample and extensions showing how to use GeneticSharp to solve a Sudoku.
The GeneticSharp.Extensions project receive those new features:
Compound chromosome to artificially increase genetics diversity by evolving a list of chromosomes instead of just one.
Sub-genes are inlined into a single compound list of genes.
Fitness class that can evaluate a compound chromosome by summing over the evaluation of its sub-chromosomes.
Represents each type of chromosome for solving a sudoku is simply required to output a list of candidate sudokus.
A class that represents a Sudoku, fully or partially completed.
Holds a list of 81 int for cells, with 0 for empty cells.
Can parse strings and files from most common formats and displays the sudoku in an easy to read format.
This simple chromosome simply represents each cell by a gene with a value between 1 and 9, accounting for the target mask if given.
Evaluates a sudoku chromosome for completion by counting duplicates in rows, columns, boxes, and differences from the target mask.
This more elaborated chromosome manipulates rows instead of cells, and each of its 9 gene holds an integer for the index of the row's permutation amongst all that respect the target mask.
Permutations are computed once when a new Sudoku is encountered, and stored in a static dictionary for further reference.
This chromosome aims at increasing genetic diversity of SudokuPermutationsChromosome, which exhibits only 9 permutation genes.
Here, instead, an arbitrary number of Sudokus are generated where for each row, a random gene is picked amongst an arbitrary number of corresponding permutation genes.
GTK# sample
I would like to thanks to Jean-Sylvain Boige (@jsboige) for contributing with those great new samples and extensions and for use GeneticSharp in his Artificial Intelligence course in French engineering schools (course).
Take a look on the pull-request for fore details about those new features: New Sudoku extension and GTK# sample #43.
Let's evolve!
Published by giacomelli almost 6 years ago
Published by giacomelli over 6 years ago
In march GenetichSharp start to support .NET Standard 2.0 in the 2.0.0-rc version. Two months have pass and in the meanwhile the community have time to test that release candidate version and now Unity3D has an official .NET Standard 2.0 profile.
So, it's time to release the GeneticSharp v2.0.0.
Only GeneticSharp:
install-package GeneticSharp
GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
install-package GeneticSharp.Extensions
If want to use GeneticSharp on Unity3D you can use the GeneticSharp.unitypackage.
In this tutorial there is an introduction showing how to use GeneticSharp with Unity3D: TSP with GeneticSharp and Unity3D
If you're still in a .NET Framework version lower than 4.6.2 project use the 1.2.0 version.
install-package GeneticSharp -Version 1.2.0
More about the release in this blog post GeneticSharp v2.0.0 - .NET Core
Published by giacomelli over 6 years ago
This 2.0.0-rc1 was already published to nuget.org, but it's marked as a pre-realease package. I will kept it as a RC until get sure that there is no issue with the porting and until the Unity3d remove the "experimental" status to its support to .NET Standard 2.0.
If you are in .NET Core or in .NET Framework 4.6.2+ project, please try the the 2.0.0-rc1 version.
Only GeneticSharp:
install-package GeneticSharp -Version 2.0.0-rc1
GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
install-package GeneticSharp.Extensions -Version 2.0.0-rc1
If you're still in a .NET Framework version lower than 4.6.2 project use the 1.2.0 version.
install-package GeneticSharp -Version 1.2.0
More about the release in this blog post Porting GeneticSharp to .NET Core
Published by giacomelli over 6 years ago
The additions of this version are the new sequence mutation operators: Displacement, InsertionMutation and Partial Shuffle (PSM).
In the displacement mutation operator, a substring is randomly selected from chromosome, is removed, then replaced at a randomly selected position.
In the insertion mutation operator, a gene is randomly selected from chromosome, is removed, then replaced at a randomly selected position.
In the partial shuffle mutation operator, we take a sequence S limited by two positions i and j randomly chosen. The gene order in this sequence will be shuffled. Sequence will be shuffled until it becomes different than the starting order.
If you want to use the new mutations in your project, just get the new GeneticSharp version from Nuget.
Let's evolve!
Published by giacomelli over 7 years ago
Published a new version of NuGet package without HelperSharp package dependency to allow install GeneticSharp package on Unity3D projects.
Published by giacomelli over 7 years ago
The greatest additions of this version are the binary chromosomes: FloatingPointChromosome and IntegerChromosome.
Binary chromosomes can be directly used when your solution chromosome can be represented as numbers or a string representation of 0 and 1.
A new sample has been added to the GeneticSharp.Runner.GtkApp, this sample called "Function optimization" show the FloatingPointChromsome in action.
Besides these new chromosomes, there is a new mutation: FlipBit, a special mutation to IBinaryChromosome that takes the chosen gene and inverts the bits.
If you want to use the new chromosomes in your project, just get the new GeneticSharp version from Nuget.
Let's evolve!