Как решить проблему стагнации генетических алгоритмов? Проблема сада дзенPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как решить проблему стагнации генетических алгоритмов? Проблема сада дзен

Сообщение Anonymous »

У меня проблема с генетическим алгоритмом, но я застрял в локальном оптимуме. Как вы можете видеть из фрагмента, он просто не может решить проблему, независимо от того, сколько генов или генов я добавляю в поколение.
Код:

Код: Выделить всё

import random

class ZenGarden:
def __init__(self, width, height, rocks):
self.width = width
self.height = height
self.rock_count = len(rocks)
self.base_grid = [[0] * width for _ in range(height)]  # Initialize a base grid

# Place rocks in the base grid as -1
for x, y in rocks:
self.base_grid[y][x] = -1

self.grid = self.copy_garden()
self.max_fitness = width * height - len(rocks)

# Place rocks in the garden as -1
for x, y in rocks:
self.grid[y][x] = -1  # -1 represents a rock

def copy_garden(self):
"""Create a copy of the garden grid for each genome."""
return [row[:] for row in self.base_grid]

def display_garden(self, grid=None):
"""Display the garden grid."""
if grid is None:
grid = self.grid
for row in grid:
print(" ".join(f"{' K ' if cell == -1 else f'{cell:3}'}" for cell in row))
print()

class Gene:
def __init__(self, garden):
# Choose a random edge to start from
width = garden.width
height = garden.height
edge = random.randrange(garden.width + garden.width + garden.height +garden.height)

# Starting from the top edge
if edge < width:
self.start = (0, edge)
self.direction = 'down'

# Starting from the bottom edge
elif width 

Подробнее здесь: [url]https://stackoverflow.com/questions/79071784/how-to-solve-genetic-algorithm-stagnation-zen-garden-problem[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как решить стагнацию генетического алгоритма в проблеме дзен -сада?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как решить стагнацию генетического алгоритма в проблеме дзен -сада?
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как указать диапазон генов в PyGAD для генетических алгоритмов?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как указать диапазон генов в PyGAD для генетических алгоритмов?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Где находится «Дзен Python» в исходном коде CPython?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»