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
300
PAX SAPIENTICA
guinpen98
December 02, 2023
Tweet
Share
More Decks by guinpen98
See All by guinpen98
iSign
guinpen98
0
65
異世界tapple
guinpen98
0
81
Fish Troop
guinpen98
0
94
Operation R
guinpen98
0
71
One Librarian
guinpen98
0
170
Other Decks in Programming
See All in Programming
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
240
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
11
4.4k
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
190
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
540
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
150
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
270
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
350
testingを眺める
matumoto
1
140
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Invisible Side of Design
smashingmag
301
51k
Bash Introduction
62gerente
615
210k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Language of Interfaces
destraynor
161
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Building Adaptive Systems
keathley
43
2.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Writing Fast Ruby
sferik
628
62k
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