Skip to content
jphacksPublic

About

避難者の行動・心理状態・感情伝播まで再現し、途中介入・A/B比較・AI分析を通じて、避難所運営の「もしも」を事前に検証できるシミュレーター

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

避難所IF!

その避難所運営、本番前に試せたら。

避難所運営 × Tech | JPHACKS 2026

避難者一人ひとりの行動・心理状態・感情伝播までシミュレーション。災害が起こる前に、避難所運営のさまざまな「もしも」を試せるシミュレーターです。

Image

🎬 デモ動画(音声あり)

default.mp4

💡 なぜ作ったのか?

避難所運営は、事前に想定しきれない。

私たちは、複数自治体の防災・危機管理に関わる方々や、実際に避難所運営を経験した方々へのヒアリングを通じて、現場の課題を調査しました。

そこで見えてきたのは、避難所運営における「想定することの難しさ」です。

実際に寄せられた声(ヒアリング内容の要約)

  • 長期運営の経験不足: 長期間にわたる避難所運営の経験がなく、どのような問題が発生するのか、何を準備しておくべきかが分からない。
  • 受け入れ態勢の不確実性: どのような避難者が、どのように行動し、どのような対応が必要になるのかを事前に想定することが難しい。
  • 多様な避難者への対応: 乳幼児や高齢者、ペットを連れた避難者、外国人などが来た際に、必要な設備・物資・支援や対応方法を十分に想定できないことがある。

例えば、食料や飲料水は、想定避難者数と日数から必要量の目安を計算できます。

しかし、実際の避難所では、それだけで十分でしょうか?

  • トイレの混雑や睡眠不足によって、避難者のストレスはどう変化する?
  • 一人の不安や噂が周囲に広がると、避難所全体にどのような影響がある?
  • 避難者の行動や身体的ニーズによって、設備やスタッフへの需要はどう変わる?
  • 多様な支援ニーズを持つ避難者が集まった場合、どのような問題が起こりうる?
  • スタッフや設備を増やした場合、状況はどの程度改善する?

こうした人間の心理・行動や相互作用によって生じる問題は、人数と設備数だけでは十分に捉えられません。

一方で、これらの状況を実際の避難者を集めて何度も再現し、運営方法を試すことも現実的ではありません。

そこで私たちは考えました。

「実際に災害が起こる前に、避難者の行動や心理まで含めて避難所運営をシミュレーションできないだろうか?」

その答えとして開発したのが、避難所IF! です。

Image

🚀 避難所IF!でできること

① 避難者の行動・心理までシミュレーション

避難者数、期間、施設の間取り、設備、スタッフ、物資などの条件を設定し、避難所内で起こる出来事をシミュレーションできます。

避難者数や日数は特定の規模に固定されておらず、検討したい条件に応じて設定できます。

最大の特徴は、避難者一人ひとりを異なる状態やニーズを持つエージェントとして扱うことです。

食事・睡眠・移動・トイレなどの身体的活動に加え、ストレスの蓄積と回復、他の避難者からの感情的影響、情報や噂の伝播なども数理モデルで扱います。

シミュレーション中は、避難者やスタッフの移動、施設の混雑、各種指標の変化を2Dマップ上で可視化します。

Image

② 途中で「もしも」を試せる

例えば、避難所でトイレの混雑が問題になったとき、

「トイレを2基追加する」

という介入を行えます。

ほかにも、スタッフの増員、物資の搬入、水道設備の停止など、さまざまな運営条件の変更に対応しています。

自然言語で入力した指示は、LLMによる解釈とシステム上の検証を経て、実行可能な操作に変換されます。

さらに、過去の時点まで戻り、元のシミュレーションを残したまま別の未来へ分岐できます。

Image

③ 2つの未来を比較できる

同じ時点から分岐した2つのシナリオを、同じ時刻まで計算して比較できます。

例えば、

  • シナリオA: トイレ不足に対応しなかった場合
  • シナリオB: トイレを2基追加した場合

それぞれのシミュレーション結果について、ストレス・待機時間・スタッフ負荷・未解決の支援要請などの違いを確認できます。

単に「何が起こるか」を眺めるだけでなく、「どの対応を選ぶべきか」を考えるための比較ができます。

Image

④ シミュレーション結果をAIと一緒に分析

避難所IF!は、シミュレーションを回して終わりではありません。

シミュレーション完了後には、記録された出来事や各種指標をもとに、結果を振り返る分析レポートを確認できます。

さらに、LLMとの対話を通じて、結果について自由に質問できます。

例えば、

「今回のシミュレーションで最も問題だったのは何ですか?」

「なぜ途中からストレスが高くなったのですか?」

「どの時点で、どのような対応をすればよかったですか?」

「次に試すべき改善案を提案してください」

といった質問によって、問題の原因を検討したり、次のシミュレーションに生かしたりできます。

回答では、保存された数値やイベントなどの記録と、AIによる考察・提案を区別して扱います。

Image (画面右にあるウィンドウで、下の画像のように結果についてLLMに質問できる) Image

⑤ 結果を保存・共有し、次の備えにつなげる

シミュレーションの記録や分析結果は、レポート画面で確認できるほか、「レポート保存」から日本語PDFとして保存できます。Claude Opusによる考察と、記録に基づく条件・KPI・時系列・選択中のA/B比較を共有用の資料にまとめます。(内部のJSONデータと再現用の記録は維持します。利用条件と検証方法はPDFレポート出力をご覧ください)

これにより、自治体の防災担当者が検討したシナリオや結果を、他の担当者との情報共有や、運営計画の振り返りに活用することも想定しています。

単なるシミュレーターではなく、

「試す → 比較する → 分析する → 共有する → 次の備えに生かす」

という一連の流れを支援するツールです。

Image

✨ 避難所IF!の独自性

「施設」だけでなく、そこで生活する「人」まで考える。

避難所IF!の特徴は、設備・人員・物資の管理に加え、避難者の身体的・心理的状態や、避難者同士の相互作用を一体としてシミュレーションする点です。

例えば、

トイレ不足 → 待ち時間の増加 → 身体的・心理的負担 → 行動や支援需要の変化

といった、設備上の問題が人間の状態を通じて広がる過程もモデル化しています。

モデル シミュレーションする内容
身体・行動 空腹、疲労、睡眠、食事、トイレ、移動など
心理・社会 ストレス、不安、感情伝播、周囲との相互作用
情報 噂・情報の伝播、訂正、信念の変化
運営・設備 設備の利用、待ち行列、物資、スタッフの支援

また、シミュレーションの中心には独自の数理エンジンを採用しています。

LLMは条件設定や介入指示の解釈、結果の分析などに活用し、数理モデルによる再現性と、自然言語による柔軟な操作の両立を図っています。

Image

既存の避難所運営訓練を置き換えるのではなく、人間の状態変化を含む複数の運営シナリオを繰り返し計算し、その違いを比較できることを重視しています。

数理モデルの設計や検証には、既存研究と公的資料を参考にしています。

※現在は合成シナリオによる内部検証段階であり、実際の避難者の心理・行動や災害時の結果を正確に予測できることが実証されたものではありません。


🏘️ 想定する利用場面

主に、自治体の防災担当者や避難所運営関係者による災害発生前の計画・訓練・検討を想定しています。

利用場面 活用例
避難所の事前計画 必要な設備・物資・人員配置の検討
防災訓練・研修 長期運営や設備故障など、未経験の状況を想定した訓練
受け入れ態勢の検討 避難者の構成や支援ニーズに応じた運営条件の検討
運営計画の改善 複数シナリオの比較、AIによる分析
組織内の情報共有 シミュレーション記録・分析結果の保存と共有

特に、ヒアリングで課題として挙がった 「経験したことのない状況に、どう備えればよいか分からない」 という課題に対し、さまざまな条件を事前に試せる仕組みを提供することを目指しています。


🛠️ 開発技術・こだわり

領域 技術
シミュレーションエンジン Python / 独自数理モデル
フロントエンド HTML / CSS / JavaScript / Canvas
バックエンド Python / ローカルHTTP API / Pydantic
LLM Anthropic API
テスト pytest / Ruff / ブラウザーE2E

特に注力したのは、数理モデルの複数の機構を統合しながら、シミュレーションの再現性を保ち、過去時点から独立したシナリオへ分岐できる仕組みです。

また、LLMがシミュレーション結果を直接書き換えるのではなく、介入内容を検証・承認した上で適用する設計を採用しています。

Image

関連実装

JPHACKS 2026で開発したこと

本プロダクトは、Hack Day以前に進めていた基礎的な開発を基盤として、10月24〜25日のHack Dayで、実際に操作・体験できる避難所運営シミュレーターとして完成させました。

Hack Day以前:アイデアの検討と数理モデルの構築

  • 課題調査・アイデア立案: 避難所運営における課題の整理、プロダクトの構想・要件定義
  • 自治体ヒアリング: 複数自治体の防災・危機管理関係者への聞き取りによるニーズ・課題の調査
  • 数理モデルの基礎開発: 避難者の心理・行動・相互作用などを扱う基本モデルの構築

Hack Day(10月24〜25日):シミュレーターのプロダクト化

事前開発した数理モデルについて、科学的妥当性を裏付けるために関連研究や公的資料の調査や数理モデルの内部検証を行いつつ、シナリオ設定からシミュレーション、途中介入、比較、AI分析までを一貫して行えるアプリケーションを開発しました。

特に以下の機能を実装・整備しました。

  1. シナリオ設定・LLM連携: 自然言語による条件入力や未指定項目の補完、シナリオの生成・管理
  2. 2DシミュレーションUI: 避難者やスタッフの移動、施設の混雑、心理状態などを視覚的に確認できるゲーム風のマップ・アニメーション
  3. 途中介入・分岐機能: 自然言語での設備追加や人員増強などの指示、過去時点への巻き戻し、独立したシナリオへの分岐
  4. A/B比較機能: 介入前後の異なるシナリオを並べ、ストレスや待機時間などの変化を比較
  5. AI分析・レポート機能: シミュレーション結果の分析、LLMとの対話による問題点・改善案の検討、結果の保存・出力
  6. システム統合・動作検証: 数理エンジンとUI・LLMの連携、動作テスト、処理性能や操作性の改善

科学的根拠の調査や検証を重ねて数理モデルの改善を行い、自治体の防災担当者が直感的に操作し、運営上の意思決定を検討できるプロダクトへ発展させたことが、Hack Dayでの最大の成果です。

主な実装コード


▶️ 実際に動かしてみる

Python 3.12以降に対応しています。

ローカルでのセットアップ方法やデモの起動方法については、デモ・操作ガイドをご覧ください。

LLMによるシナリオ補完、自然言語介入、分析レポート、質問応答にはAPI設定が必要です。

APIを利用しない場合も、同梱データを用いたデモやオフライン計算などを利用できます。


🌱 今後の展望

今後は、自治体や避難所運営関係者からのフィードバック、実際の避難所運営データとの照合を通じて、数理モデルの精度向上と実用性の検証を進めていきます。

特に、ヒアリングで課題として挙がった乳幼児・高齢者・ペット同伴者・外国人など、多様な避難者の受け入れ態勢について、より詳しく検討できる機能を拡充したいと考えています。

現在も年齢・移動特性・支援ニーズなどの一部属性を扱っていますが、個々の属性に固有の支援や対応を網羅的に再現できる段階ではありません。

こうした点も含めてシミュレーションの対象を広げ、実際の自治体の運営計画や防災訓練で活用できるツールを目指します。


災害が起きる前に、もっと多くの「もしも」を。

避難所IF!は、避難者一人ひとりの生活まで考えた、より良い避難所運営を事前に検討するためのシミュレーターです。

JPHACKS 2026 | 避難所運営 × Tech

About

避難者の行動・心理状態・感情伝播まで再現し、途中介入・A/B比較・AI分析を通じて、避難所運営の「もしも」を事前に検証できるシミュレーター

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from jphacks/JP_sample