AMuHb Lab

Sorry my Russian (или горите в аду).

  • Useless Buttons

  • RSS Mei Mei

    • test
      test Filed under: Uncategorized
      Axarova
  • RSS jujav4ik

    • Desktop wars: Are you serious?
      They still exist! No, really! KDE vs. Gnome vs. XFCE vs. blah-blah-blah Recent experience of switching among desktop environments proved one little thing to me.  Do you all know how easy is to change your desktop background? – Well, switching … Continue reading →
      andreyv
    • KDE 4.7.x: I’m staying
      It’s been more then few weeks of “KDE experiment” I got myself into. The fact that KDE has become my default desktop environment is a bit shocking for me as well, as I’ve been a big fan of Gnome. Recent upgrade … Continue reading →
      andreyv
  • RSS Heo

Archive for the ‘Genetic Algorithms.’ Category

Sigmoid function

Posted by amuhb on December 3, 2009

Googled it out lately:

class Calc {

public static double sigmoid(double x) {

return (1/( 1 + Math.pow(Math.E,(-1*x))))

}

}

For example, let’s say you have 18 and 8. You subtract 8 from 18 and get ten and pass it to the Sigmoid function. You’re returned with 0.9999546021312976. If you had a difference of 0 though, you would get .50 and if you had a negative difference, like -18, get a really tiny number that’s bigger than 0. So in short, the Sigmoid function is easy and quite interesting.

I just passed my E = X1W2 + X2W2 + … + X3W3 + W0 there.

Here is the original source, Thanks to the author.

Disclaimer: I really dont know, will it work or not. I made a class, which – yes, produces something. The question is – will it work in a neural network.

Posted in Genetic Algorithms., My programs, Parts of Code | Tagged: , , , | 2 Comments »

Genetic Algorithm overview (bullet-point style)

Posted by amuhb on December 2, 2009

Genetic Algorithms is a part of the evolutionary computing.


  • A set of given problem solutions (chromosomes, containers of certain data) form a population;
  • According to their ‘fitness’, certain best chromosomes are taken from the population to produce an offspring, which would form a second generation of population (involving Crossover, Mutation, and Elitism);
  • Elitism – copying a few ‘best’ chromosomes into the next generation of population. Crucial for transforming information about best option found so far to the next generation, and eventually – find the best possible solution to a given problem.

Read the rest of this entry »

Posted in Genetic Algorithms. | Tagged: , | Leave a Comment »

Генетический алгоритм (тривиальный)

Posted by amuhb on November 19, 2009

# include <iostream>
# include <algorithm>
# include <numeric>

int main()
{

using namespace std;
srand((unsigned)time(NULL));
const int N = 1000;
int a[N];

//заполняем нулями
fill(a, a+N, 0);
for (;;)
{

//мутация в случайную сторону каждого элемента:
for (int i = 0; i < N; ++i)

if (rand()%2 == 1)

a[i] += 1;

else

a[i] -= 1;

//теперь выбираем лучших, отсортировав по возрастанию…
sort(a, a+N);
//… и тогда лучшие окажутся во второй половине массива.
//скопируем лучших в первую половину, куда они оставили потомство, а первые умерли:

copy(a+N/2, a+N, a /*куда*/);
//теперь посмотрим на среднее состояние популяции. Как видим, оно всё лучше и лучше.

cout << accumulate(a, a+N, 0) / N << endl;

}

}

Posted in Genetic Algorithms. | Tagged: , | 2 Comments »

 
Follow

Get every new post delivered to your Inbox.