.
Генетический алгоритм. Урок 2. Поиск нескольких корней многочлена
Автор megabax   
07.09.2013 г.
unit AIObj

Генетический алгоритм. Урок 2. Поиск нескольких корней многочлена

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


На прошлом уроке мы написали генетический алгоритм для нахождения корней многочлена. И у нас он находил всего один корень. Вот сегодня мы и будем разбираться, а почему, собственно, находит только один корень. Для этого возьмем уравнение, которое заведомо имеет несколько корней, например:  2x2-5x-20=0. Оно имеет два решения -2.15 и 4.65.  Для удобства в класс Population добавим метод, который возвращает список различных чисел с заданной точностью...

...

...Сколько бы раз мы не запускали программу, у нас будет один и тот же результат: -2.15:

Генетический алгоритм. Урок 2. Поиск нескольких корней многочлена

Почему же так происходит? ...

...

Генетический алгоритм. Урок 2. Поиск нескольких корней многочлена

А иногда при таком начальном числе будет появляться и второй корень, но тоже только один.

...

...После первого обучения мы получим вот такой результат:

Генетический алгоритм. Урок 2. Поиск нескольких корней многочлена

А после повторного нажатия на кнопку уже такой:

Генетический алгоритм. Урок 2. Поиск нескольких корней многочлена

Но вообще, для решения многочлена другие хорошие методы, например, метод хорд, метод касательных, метод итераций и так далее, поэтому мы не будет подробно останавливаться на этой теме, а на следующем уроке попробуем обучить искусственный нейрон при помощи генетического алгоритма.


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 07.09.2013 г. )