Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Роєва Інтелектуальність та Колективна Поведінка | Основи Біоінспірованих Алгоритмів
Біоінспіровані алгоритми

bookРоєва Інтелектуальність та Колективна Поведінка

Свайпніть щоб показати меню

Note
Визначення

Ройовий інтелект — це галузь досліджень, натхненна колективною поведінкою децентралізованих, самоорганізованих систем — таких як зграї птахів, косяки риб або колонії мурах. Вона зосереджена на тому, як прості локальні взаємодії між індивідами можуть призводити до складної, скоординованої групової поведінки без будь-якого центрального керування.

Ройовий інтелект відрізняється від систем, якими керує центральний контролер. Замість цього він ґрунтується на тому, що окремі агенти дотримуються простих локальних правил. Кожен агент зазвичай взаємодіє лише з найближчими сусідами або навколишнім середовищем, але разом вони демонструють емергентну поведінку — адаптивні, організовані шаблони, які виникають природно внаслідок багатьох локальних взаємодій, а не завдяки централізованим інструкціям.

Ключовий аспект ройового інтелекту — самоорганізація:

  • Агенти оновлюють свої дії на основі локальної інформації, наприклад, положення чи сигналів від сусідів;
  • Через повторювані локальні взаємодії група може адаптуватися до змін, вирішувати завдання та формувати шаблони — без жодного агента з глобальним баченням чи планом.

Системи на основі рою є стійкими, гнучкими та масштабованими, що робить їх привабливими для вирішення складних обчислювальних задач, таких як оптимізація, маршрутизація та кластеризація.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
# Example: Simulating simple swarm movement based on local interactions import numpy as np import matplotlib.pyplot as plt # Parameters num_agents = 20 steps = 75 arena_size = 100 # Initialize agent positions randomly positions = np.random.rand(num_agents, 2) * arena_size # Function: move each agent towards the average position of its neighbors within a certain radius def move_agents(positions, radius=30.0, step_size=0.5): new_positions = positions.copy() for i, pos in enumerate(positions): # Compute distances to all other agents dists = np.linalg.norm(positions - pos, axis=1) # Find neighbors (excluding self) neighbors = positions[(dists < radius) & (dists > 0)] if len(neighbors) > 0: # Compute average neighbor position avg_pos = neighbors.mean(axis=0) # Move slightly towards the average position direction = avg_pos - pos direction = direction / (np.linalg.norm(direction) + 1e-8) new_positions[i] += step_size * direction return new_positions # Simulate movement history = [positions.copy()] for _ in range(steps): positions = move_agents(positions) history.append(positions.copy()) # Plot agent trajectories plt.figure(figsize=(6, 6)) for i in range(num_agents): traj = np.array([h[i] for h in history]) plt.plot(traj[:, 0], traj[:, 1], alpha=0.7) plt.scatter(traj[-1, 0], traj[-1, 1], s=30) plt.title("Simple Swarm Agent Movement") plt.xlim(0, arena_size) plt.ylim(0, arena_size) plt.xlabel("X") plt.ylabel("Y") plt.grid(True) plt.show()
copy

Ройові алгоритми проти еволюційних алгоритмів

Ройові алгоритми та еволюційні алгоритми обидва черпають натхнення з природи, але принципово відрізняються підходом до розв'язання задач.

  • Ройові алгоритми — такі як оптимізація мурашиних колоній та оптимізація рою частинок — базуються на колективній поведінці агентів, які взаємодіють локально та адаптуються в реальному часі;
  • Кожен агент у ройовому алгоритмі зазвичай представляє розв'язок або його частину та переміщується простором пошуку, під впливом позицій чи успіхів своїх сусідів;
  • Група в цілому зближується до перспективних областей завдяки спільній інформації та зворотному зв'язку.

На відміну від цього, еволюційні алгоритми — такі як генетичні алгоритми — зосереджені на популяціях кандидатних рішень, які еволюціонують поколіннями.

  • Ці алгоритми використовують оператори, такі як відбір, кросовер та мутація, для створення нових поколінь, поступово підвищуючи пристосованість популяції;
  • Еволюційні алгоритми покладаються на явні механізми відтворення та заміщення, часто з меншим акцентом на пряму взаємодію агентів під час пошуку.

Ключова відмінність полягає у способі адаптації: ройовий інтелект використовує децентралізовану кооперацію агентів у реальному часі, тоді як еволюційні алгоритми залежать від поколінної еволюції та генетичної варіації. Обидва підходи є потужними інструментами для розв'язання складних задач, але реалізують це через принципово різні механізми натхнення та функціонування.

question mark

Яке твердження найкраще описує емергентну поведінку у ройовому інтелекті?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 3
some-alt