Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PAX SAPIENTICA
Search
guinpen98
December 02, 2023
Programming
0
320
PAX SAPIENTICA
guinpen98
December 02, 2023
Tweet
Share
More Decks by guinpen98
See All by guinpen98
iSign
guinpen98
0
72
異世界tapple
guinpen98
0
85
Fish Troop
guinpen98
0
99
Operation R
guinpen98
0
75
One Librarian
guinpen98
0
170
Other Decks in Programming
See All in Programming
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
10
3.3k
connect-python: convenient protobuf RPC for Python
anuraaga
0
190
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
730
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
240
Building AI with AI
inesmontani
PRO
1
250
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
530
無秩序からの脱却 / Emergence from chaos
nrslib
1
8k
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
170
TypeScript 5.9で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
380
詳細の決定を遅らせつつ実装を早くする
shimabox
2
1.3k
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
160
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Embracing the Ebb and Flow
colly
88
4.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Become a Pro
speakerdeck
PRO
29
5.6k
Context Engineering - Making Every Token Count
addyosmani
9
410
Making Projects Easy
brettharned
120
6.5k
We Have a Design System, Now What?
morganepeng
54
7.9k
Code Reviewing Like a Champion
maltzj
527
40k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Transcript
⽂献学・考古学・⼈類学データを⽤いた 歴史上の事象を分析・推定するための エージェントシミュレーションGISの開発
はじめに 歴史は⼈々の⾏動の積み重ねで成り⽴っている ⼈々の⾏動の仮説と推定に エージェントベースシミュレーション(以下,ABS ) という⼿法が⽤いられている
ABSとは エージェントを⽤いた仮想実験(シミュレーション) ⽇本ではマルチエージェントシミュレーション(MAS)と 呼ばれることが多い 「マルチエージェントシステム」や 「エージェントベースモデル」等の似た⽤語がある
エージェントとは
None
先⾏研究 歴史上の事象を分析したABSによる先⾏研究では 坂平(2014)による弥⽣時代の農耕⽂化の主体性の検討や 光辻(2015)による幕末動乱期の統治制度動態モデルの 構築等があげられる
ABSとGISの関係 ABSは地理空間上でエージェントの動態を可視化 そのため,地理情報システム(GIS)と相性が良い ABSとGISの双⽅の機能を持ったソフトウェアがあれば 多くの地理オープンデータを⼊⼒変数として読み込め 歴史的事象の検証や推定の裏付けに使⽤できる
既製品の問題点 しかし,既製品ではABSとGISの双⽅の機能を持ち 歴史的事象の分析に適したソフトウェアは少ない 歴史的事象の分析のためのABSとGISの双⽅の機能を持つ ソフトウェアがあれば,考古学研究において シミュレーションを⽤いる敷居が低くなり 新たな発⾒につながることが期待される
既製品の問題点 しかし,既製品のABSでは歴史研究のハードルが⾼い 例えば,構造計画研究所が提供するABSの artisoc では 地理情報の取込等,中級者向けの操作を⾏う必要がある また artisoc は歴史に特化していないため暦の表⽰や 編年の管理など実装が複雑で難しくなりやすい点が多い
その他の問題 artisoc は Closed Source な有料のソフトウェアであり QGIS のようなオープンソースソフトウェア(OSS)ではない ABSのソフトウェアでOSSなのはいくつか存在するが ⽇本でも⼀定の利⽤者がいるQGISと違い
ほとんど知名度がなく artisoc ⼀強となっている ⽇本製でABS・GISの機能を持つOSSがあるのが望ましい
OSS推奨の理由 オープンソースソフトウェア(OSS)が望ましい理由 ⾮公開ソースのソフトウェアはサポートが終了すると 新しいOSで動かなくなる可能性がある 考古学では50年前の⽂献を参照することもあり サポートが打ち切られてしまうと 数⼗年後以降の⼈が同⼀条件で試せない可能性が⾼い
OSS推奨の理由 今後、デジタル化が進みソースコード付きの論⽂や 3Dデータ付きの報告書がより多く出る可能性がある 100年後の⼈も動かせるような環境整備が必要 考古学におけるABS&GISはOSSである必要性が⾼い
既製品の問題点 オープンソースのGISであるQGISではプラグインを ⽤いることによってシミュレーションの機能を追加できる しかし,ABSの機能を既存のGISに追加するのは 実装コストも⾼く処理性能上の問題がある ABS は基本的に処理が重いためGISにABSを実装するより ABSの上にGISを実装するほうが簡単
実装の問題点 ABSの機能とGISの機能の⽐較では ABSの⽅が処理負荷が⾼いため,ABSを基盤に GISの機能を追加していくのが望ましい 近年,WebGISが流⾏っているがWebアプリでは ABSに必要な速度を出すのが難しい(出来なくはない) そのため⾼速に動作するソフトウェアが望ましい
新規OSSの開発 そこで,本研究では歴史的事象の分析のための ABSとGISの双⽅の機能を持つソフトウェアを開発する 時間情報,空間情報,シミュレーションの3つの機能を 持つ汎⽤性・拡張性の⾼いソフトウェアを⽬指す
本研究で開発した 歴史的事象の分析のための エージェントベースシミュレータの紹介
PAX SAPIENTICA ⽂献学・考古学・⼈類学データを⽤いた ABS & GIS 各国・各時代の暦表⽰機能や各時代の環境復元機能を持つ XYZ タイルや地物を⾃由に追加することが可能
PAX SAPIENTICA オープンソース 無償で提供 コードのLicense CC0 https://github.com/ AsPJT/PAX_SAPIENTICA
None
7世紀の地図 ◆ 時代ごとの地物を表⽰ ・ 建築済みの不動産 - 古墳等 ・ 当時の地名 ‒
令制国等 ・ 当時の国境線 ・ 当時の国道
ABS の機能に関して ABS の機能に関しては次の発表と内容が重複するため この発表では開発した ABS の解説は省いた 歴史 GIS の解説を中⼼に進めていった
実装 QGISと同様に⾼速で実績の多い「C++」を⽤いて実装 Webアプリと同様にどの媒体でも動く製品を⽬指す GUI の他に CUI 環境も充実させている (地理データの画像変換などGUIが不要な処理で便利)
サポート環境 Windows・macOS・Linux・iOS・Android対応を⽬指す CUIはどの環境でも動作するように設計 コンパイラはgcc・clang・msvcをサポート ⾔語はC++17を使⽤・後にC++20や23を視野に⼊れている
描画フレームワーク GUI はQGISで⽤いられている Qt の使⽤を考えた,しかし 実装の追加と試作を最優先で進めたかったため ⾼速・記述が簡単な OpenSiv3D を⽤いている https://siv3d.github.io
www.qt.io
時間情報の扱い 歴史データは⽂献学・考古学・⼈類学等のデータがある ⽂献学では暦,考古学では編年(相対年代), ⼈類学では較正年代や ybp が⽤いられている これらの年代を統合して表⽰する機能があると望ましい 今回は暦に偏っていたが,今後の機能追加で 時間情報をうまく扱えるようにしたい
環境復元 また地理的環境は時代によって変化するため 時代ごとの環境を復元する機能があると より精密な分析・推定が可能である よって,年代と環境復元の機能を併せて導⼊する
⼈物の位置の可視化 ⼈物の位置を可視化 することもできる 可視化することで 歴史学習に利⽤できる
最後に 初期状態から全世界の標⾼や傾斜データを⼊れており 各国・各時代の暦データも⼊れている ABS ができた ⽇本だけでなく,あらゆる地域と時代に対応しており 汎⽤性の⾼いABS&GISソフトウェアを開発した 今後の機能追加により更に便利なソフトウェアを⽬指す
PAX SAPIENTICA ⽂献学・考古学・⼈類学データを⽤いた ABS & GIS 各国・各時代の暦表⽰機能や各時代の環境復元機能を持つ オープンソース・無償・ソースコードのLicenseはCC0