スライダで体感する
手計算で追ってきた数字が、実際のシミュレータではどう見えるかを確認する。
ここからは下のシミュレータを使います。初期値は 26℃・68% にしてあり、第 2〜4 章で追った例がそのまま表示されます。まずは自分の手計算と画面の数値が一致するかを見てください。
シミュレータの構成 (テキスト版)
シミュレータには次の領域があります。JavaScript が動かない環境ではグラフは表示されませんが、構成だけはここから把握できます。
- 入力スライダ: 室温 (16〜34℃, 0.1 刻み) と湿度 (20〜90%, 1 刻み) の 2 本。
- プリセットボタン: 「快適な昼 (24℃・55%)」「梅雨どき (25℃・80%)」「真夏 (32℃・60%)」「乾いた寒い日 (18℃・30%)」「境界を観察 (26.8℃・69%)」の 5 つ。
- 出力リードアウト: ファジィ制御の出力 (%) とラベル (弱/中/強) を上に大きく、しきい値制御の出力との差分を下に並べます。
- 集約出力グラフ: 出力軸 0〜100% にクリップ後の山と重心位置 (縦線) を描いた、デファジィ化の主役のグラフ。
- 所属度グラフ 2 枚: 温度・湿度それぞれのメンバーシップ関数と現在値を重ねたもの。
- 発火ルール一覧: 9 ルールのうち発火度 > 0 のものを発火度の値とともに表示します。
- 計算メモ表: 所属度・発火度・集約高さ・最終出力を 1 表に並べた、手計算と突き合わせるためのテキスト版要約。
- 温度スイープグラフ: 湿度を固定したときの「温度 vs ファジィ出力」と「温度 vs しきい値出力」を重ね描きしたもの。
4 つの主要グラフが何を表すか
μ_agg(x) をクリップして重ね合わせた山。重心法はこの山の重心 x 座標を読み取ります。x 座標を 1 つの数値として読み出した最終結果。リードアウトに大きく表示される %値です。入力を動かす
温度と湿度を変えると、所属度・発火しているルール・集約出力がリアルタイムで更新されます。
出力側で何が起きているか
弱風 / 中風 / 強風の山を切り取り、max で重ね、重心を 1 点として読み取っています。
温度の所属度
湿度の所属度
いま発火しているルール
境界にいると複数ルールが同時に点灯します。これが段差を滑らかにする源です。
計算メモ
手計算と見比べるための要約です。所属度・集約高さ・出力値を一覧で表示します。
温度を変化させたときの比較
現在の湿度を固定して、室温 16〜34℃ に対する出力を描いています。灰色の破線がしきい値制御、青がファジィ制御です。
観察するときのポイント
- 初期値 26℃・68% で、第 4 章の結果 中風 0.50 / 強風 0.25 / 出力 約 62.05% と一致するかを確認する。
- プリセット 境界を観察 を押し、しきい値出力は 50 のままなのに、ファジィ出力は 70% 付近まで先に持ち上がる様子を見る。
- プリセット 快適な昼 を押し、発火ルールが 1 本だけになるとグラフもきれいな 1 山になることを見る。
- プリセット 真夏 を押し、強風ラベルだけがほぼ全面に残る状態を見る。
理解チェック 5 — シミュレータの数値を読み取る
下のシミュレータを動かして答えます。小数は表示値どおり 1〜2 桁で十分です。
Q1. 初期値 26℃・68% で表示されるファジィ出力はおよそいくつですか。
このコースを通して追ってきた例で、正確な重心法では約 62.05% です。
Q2. プリセット『境界を観察』(26.8℃・69%) にすると、発火しているルールは何本ですか。
快適側 2 本と暑い側 2 本が同時に効くので 4 本です。
Q3. プリセット『境界を観察』で表示されるファジィ出力はおよそいくつですか。
境界をまたぐ手前なので、中風と強風が両方効き、出力は約 70.13% まで持ち上がります。
Q4. プリセット『快適な昼』(24℃・55%) にすると、発火しているルールは何本ですか。
快適=1、ふつう=1 なので『快適×ふつう→中風』の 1 本だけが効きます。