def render_path(terrain, path): x, y = zip(*path) plt.plot(x, y, 'r+') plt.imshow(terrain) plt.show() if __name__ == '__main__': # формируем случайный ландшафт,'низины' выравниваем, оставляем только 'горы' terrain = np.random.uniform(0, 1.0, (40, 40)) terrain = np.where(terrain > 0.7, terrain, 0) terrain = scipy.signal.medfilt2d(terrain) hive = Hive(n_scouts=30, n_points=20, n_elite=10, n_bees_elite=50, n_bees_others=3, search_neighborhood=10, terrain=terrain, pos=(0, 0)) start = time.time() solution = hive.find(target_pos=(39, 39), n_iters=100) end = time.time() print(end - start) render_path(terrain, solution.path)