非有非無 端子 — 「不明」 と 「不適用」 を 分けて 描く
問題
あなたは 学生 A の「テストの 得点」 を 尋ねる。 3 つの 別状況を 考える:
- 「95 点」 — 得点 は 判明
- 「まだ 採点が 済んでいない」 — 得点 は 不明 (未知)
- 「学生 A は そのテスト を 受けていない」 — 得点 という 問い自体が 立たない (不適用)
普通の 教材 UI は (2) と (3) を 同じ 「-」 「N/A」 「NULL」 で 表示する。 これは 致命的。 (2) は 「後で 埋まる」、 (3) は 「永遠に 埋まらない」 だからだ。
chat-Claude thread arc (β) 直言:
NULL や Unknown は 既存ですが、 四つ目の 状態 = そもそも 端子が 立たない (問い 自体が 不成立) を 未知と 分けて 描く 実装は 薄い。 不明 と 不適用 の 区別は、 教材で 致命的に 効きます。
4 状態
| 状態 | 意味 | D-FUMT₈ | 読み方 |
|---|---|---|---|
| INSTANTIATED | 端子 存在、 値/接続 判明 | TRUE (1) or FALSE (0) |
「95 点だった」 「試験 に 落ちた」 |
| UNKNOWN | 端子 立つが 値 不明 | NEITHER (-1) |
「まだ 採点が 済んでいない」 「今週中に 判明」 |
| OPEN | 端子 立つが 接続 開放 | BOTH (2) |
「採点 されたが 通知先が 決まっていない」 |
| NON_EXISTENT | 端子 自体が 立たない (問い 不成立、 非有非無) | ZERO (4) |
「学生 A は そのテスト を 受けていない」 |
具体例 12 種
教育 (数学 テスト)
医療 (検査結果)
アンケート (回答)
混同 の 帰結 (なぜ 分ける 必要が あるか)
Rei-AIOS で これを 混同すると 起きること:
- 統計処理: UNKNOWN を 平均 計算 に 「後で 埋める」 として 除外 → 正しい。 NON_EXISTENT を 同じ扱い で 除外 → その 母集団 の 定義 自体が 誤り (男性の 妊娠検査 を 「まだ検査してない」 扱いに して 女性平均に 加算する)
- UI: UNKNOWN は 「後で 埋まる」 進捗 バー付き 表示、 NON_EXISTENT は 端子 自体を 非表示 か 灰色 化。 同じ ダッシュ 「-」 で 混同 = 「なぜ 埋まらないの?」 と 質問される
- Machine reasoning: UNKNOWN の 存在 は 「情報不足」 = 追加情報 で 決着 可能。 NON_EXISTENT は 「そもそも 質問が 意味を なさない」 = 追加情報 では 決着 不能
- 教育 現場: 「A の 数学 T1 得点 = -」 と 表示 = 保護者 が 「うちの子 は 何点だったの?」 と 質問 = 教員 「受験してません」 と 説明必要 = 説明 コスト が 全部 発生する。 予め NON_EXISTENT と 表示すれば 質問 発生せず
Rei-AIOS 実装 (STEP 1448 connector-graph)
この 4 状態 は STEP 1448 で 型 level に 実装済み:
export type NodeState =
| 'INSTANTIATED'
| 'UNKNOWN'
| 'OPEN'
| 'NON_EXISTENT'; // ★ chat-Claude #3 「非有非無 端子」
Node と Port の state field で 4 状態 を 型 level で 表現。 混同 は 型 level で 検出可能 (「NULL」 として マージ すると コンパイル エラー)。
Quiz (自己 verify)
Q1: 「未回答の アンケート項目」 は どの 状態?
→ UNKNOWN (回答者 に 再送 で 決着可能)。
但し 「回答者 が 該当しない 項目」 (例: 未婚 者 に 「配偶者 の 名前」) は NON_EXISTENT。
Q2: 「ネットワーク障害 で 取得できていない サーバ 応答時間」 は?
→ UNKNOWN (障害 復旧 で 再測定 可能)。
但し 「サーバが 存在しないIP へ の ping 時間」 は NON_EXISTENT。
Q3: 「明日の 天気予報」 は?
→ UNKNOWN (時間経過 で 決着、 これは STEP 1448 の time connector と 結合すれば 満期化)。
Q4: 「明日 起きた イベント X の 詳細」 (まだ 起きていない イベント)
→ NON_EXISTENT (問い 自体が 未来 に 依存、 現時点 で 立たない)。
イベント が 起きたら INSTANTIATED に 遷移、 起きなければ NON_EXISTENT の まま。
Honest scope
- 4 状態 分類 は chat-Claude thread arc β の 提案、 教材 として の 有効性 は 実測 未 (藤本さん 帰宅後 現場 判断 待ち)
- D-FUMT₈ verdict system (Rei stack STEP 406 起源) と 対応 させたが、 OPEN=BOTH(2) の mapping は 準規約 (spike 決定)、 別 tab で 別 mapping を 使う可能性あり
- NON_EXISTENT は 「現時点 で 端子 立たない」 の 意 = 時間経過 で INSTANTIATED に 遷移する ケース は time connector と 結合、 純粋 の 「永遠に 立たない」 と 区別 は 別 STEP
- 混同 の 帰結 は 定性的、 実 UI 実験 は 未 (Statistics×NEITHER 教材 の 拡張 として 別 arc 候補)
- 本ページ は 教材 layer の 提案、 決定的 「正解」 分類 では ない = 各 domain (医療/教育/工学) で 慣行 と 摺り合わせ 必要
関連
- schema 実装: STEP 1448 connector-graph schema (owner + 4 NodeState)
- 類似 教材: D8-NEITHER 教材 (STEP 1354) — 判断規則 置換 prompt-part
- Statistics × NEITHER 教材 v0.1 (STEP 1353) — SNR<3→NEITHER の 統計 教材
- chat-Claude thread arc (A)(B)(C) 3 spike (STEP 1442) — 本 arc の 兄弟