Pythonで始めるスワーム制御プログラミング
群れをなす生物の振る舞いを応用するスワーム制御をPythonを使って体感できる。
- 発行年月日
- 2026/02/10
- 判型
- B5
- ページ数
- 104ページ
- ISBN
- 978-4-339-03249-9
- 内容紹介
- まえがき
- 目次
【対象読者】
本書は,スワーム制御やシープドッグシステムに興味はあるものの,
・スワーム制御アルゴリズムに関する知識がない
・スワーム制御をどのようにプログラミングすればよいか分からない
読者を対象としている.
基礎的な群れモデルについて説明し,それらを実際にプログラミングすることで,理論的説明の理解を助ける構成となっている.また,群制御の歴史やシープドッグシステムの関連研究も紹介している.
さらに,プログラミング言語 Python の基本的な使い方から,グラフ描画やアニメーション作成まで解説しているため,プログラミング初心者でも安心して取り組むことができる.本書の例題プログラムを実行するだけで,手軽にスワーム制御の挙動を体験できる.
【本書の特徴】
本書では,スワーム制御に関するさまざまな制御手法を紹介する.これらを理論的に説明するだけでなく,プログラミング言語 Python を用いて可視化し,実際にシミュレーションを行うことで,スワーム制御の挙動を自身のパソコン上で手軽に体験できる.理論のみでは理解が難しい場合でも,シミュレーションを通じて直感的な理解を促す点が本書の特徴である.
【読めば身につくこと】
・Pythonによるプログラミング
・Pythonを使ったグラフの描画とアニメーション作成
・スワーム制御の動作をシミュレーションで確認
・シープドッグシステムの誘導制御則の理解とシミュレーション
・群制御の歴史およびシープドッグシステムに関する関連研究
【各章の紹介】
1章では,本書のテーマである「群れ」について説明します.
2章では,Pythonの基本的な使い方を学ぶ.変数の扱い方や各種計算方法,グラフ描画を説明し,さらにBoidsモデルの実装とシミュレーションを行う.
3章では,スワーム制御について説明し,シープドッグシステムのシミュレーションを通して,Boidsモデルの構築から牧羊犬の誘導制御法の実装まで扱う
4章では,さまざまな群れモデルを紹介し,それらのモデルに対してシープドッグシステムのシミュレーションを実施する.
5章では,シープドッグの誘導制御則を複数提示し,それぞれについてシミュレーションを行う.
6章では,群制御の歴史やシープドッグシステムに関する関連研究,およびその応用研究について説明する.
【キーワード】
Python,スワーム制御,シープドッグシステム,群制御,マルチエージェントシステム
☆発行前情報のため,一部変更となる場合がございます
我々人間を含め,地球上にはたくさんの群れをなす生物たちが存在する。彼らの見せる振る舞いはとても不思議で,多くの人々を魅了してやまない。働きアリの採餌行動(フェロモントレール)や,数万羽規模のムクドリがまるで1個の生命体のように振る舞う動きや,ヒツジの群れの流れるようにスムーズな移動も非常に美しい。
そのような自然界の群れをなす生き物の振る舞いに着目し,ロボットや分散システムに活かそうと,さまざまな分野で研究が進んでいる。コンピュータによる人工生命シミュレーションから始まり,複数台のロボット群の制御に応用するスワームロボティクスなどである。近年では,インターネットや社会インフラが普及したことに伴い,PC端末のような複数のノードを有するシステムの管理や分散制御などを扱うマルチエージェントシステムという分野が注目を集めている。また,AIや機械学習などの情報数理分野との親和性も高く,応用研究が展開されている。
このような背景から,IoT時代に突入したいま,改めて群れに関して知見を広げておくことは非常に有意義である。本書は,そのような「群」に興味のある大学生や,スワームシステム,マルチエージェントステムの研究をこれから始めてみたいという初学者に向けて執筆されている。本書の冒頭から早速,群れの行動モデルとして有名なBoidsモデルをシミュレーションで作ってみよう。
本書の第1章では,Boidsモデルの概要を述べる。第2章では,Boidsモデルをプログラミング言語"Python"を用いてシミュレーションするその手順を述べている。Pythonを自身のPCで使うためのプログラミング環境の構築から,Pythonプログラミングの基礎コードの書き方まで,詳細に記載している。
つぎに,第2章で作ったプログラムを使って,実際にスワーム制御のプログラミングを構築する手順を第3章に載せている。本書ではスワーム制御の代表的な方法である「リーダ・フォロワモデル」と,ヒツジの群れを少数の牧羊犬が追い立てる「牧羊犬のヒツジ追い」に着想を得た「シープドッグシステムナビゲーション」の二つを紹介している。
そして4章では,Boidsモデルの他に,スワームシステムに関する研究で過去に提案された有名な群れのモデルとそのプログラミングコードをいくつか紹介している。
さらに第5章ではシープドッグシステムの牧羊犬エージェントの誘導モデルを複数載せている。複数の群れモデルと牧羊犬エージェントの誘導モデルを紹介しているため,異なるモデルを組み合わせてスワームナビゲーションを楽しんでほしい。
最後に第6章では,本書で紹介している「群」に関する分野の諸研究について詳説している。本書が群れに関する好奇心を満たすその一助になれば幸甚である。
2025年12月
著者一同
☆発行前情報のため,一部変更となる場合がございます
1.「群れ」を作ってみよう!
2.BoidsモデルをPythonで作ってみよう!
2.1 Pythonについて
2.2 環境の構築
2.3 基礎
2.4 四則演算
2.5 変数・リスト・配列・行列
2.6 制御文
2.7 描画・動画のプロット・データの保存と出力
2.8 Boidsモデルの実装とシミュレーション
3.スワーム制御をやってみよう!
3.1 リーダ・フォロワモデル
3.2 シープドッグのシミュレーション
3.2.1 Boidsモデルの設計
3.2.2 制御対象と制御目的
3.2.3 先行研究における牧羊犬の誘導コントローラ
4.群れモデルの紹介とPythonによる実装
4.1 実際のヒツジの群れモデル
4.2 実際の魚群モデル
4.3 物理模倣モデル
5.シープドッグモデルの紹介とPythonによる実装
5.1 動的ターゲット切り替え制御
5.2 動的ターゲット切り替え制御法のシミュレーション
5.3 最遠個体追跡制御
5.4 最遠個体追跡制御のシミュレーション
6.「群」に関する諸研究
6.1 群れをなす生物の制御構造:自律分散構造
6.2 スワームロボットの歴史
6.3 マルチエージェントシステムの歴史
6.3.1 人工知能分野
6.3.2 システム制御分野
6.4 シープドッグシステムの歴史
6.4.1 シープドッグシステムとは
6.4.2 シープドッグシステムの先行研究
6.4.3 シープドッグシステムのシミュレーションに関する研究
6.4.4 実世界での応用に関する研究
6.4.5 シープドッグシステムと機械学習
引用・参考文献
索引
関連資料(一般)
- 本書に掲載のプログラムファイル










