;
; what-is-knowing.scm
;
; A computational definition of "knowing" based on our disambiguation work.
;
(use-modules (srfi srfi-1))
(use-modules (ice-9 format))
(display "═══════════════════════════════════════════════════════════════════\n")
(display " WHAT IS KNOWING? A Computational Definition \n")
(display "═══════════════════════════════════════════════════════════════════\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; THE NAIVE VIEW: Storage + Recall
;; ═══════════════════════════════════════════════════════════════════
(display "THE NAIVE VIEW: Knowing = Storage + Recall\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " A database 'knows' that bank can mean FINANCIAL or GEOGRAPHIC:\n\n")
(display " (bank → FINANCIAL, bank → GEOGRAPHIC) ; stored\n")
(display " query(bank) → {FINANCIAL, GEOGRAPHIC} ; recalled\n\n")
(display " But this is NOT knowing. It's just listing possibilities.\n")
(display " The system cannot DO anything with this information.\n\n")
(display " Consider: 'The penguin swam to the bank'\n")
(display " Database says: could be FINANCIAL or GEOGRAPHIC\n")
(display " But it CANNOT tell you which one applies HERE.\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; THE VAGUENESS INSIGHT
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "THE VAGUENESS INSIGHT: Knowing Reduces Uncertainty\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Knowledge isn't just HAVING information.\n")
(display " Knowledge is having information that RESOLVES questions.\n\n")
(display " System A: Stores (bank → {FINANCIAL, GEOGRAPHIC})\n")
(display " Vagueness for 'penguin swam to bank' = 0.50 (HIGH)\n")
(display " → Does NOT know which sense applies\n\n")
(display " System B: Stores (bank → {FINANCIAL, GEOGRAPHIC})\n")
(display " ALSO stores (penguin + swim → GEOGRAPHIC context)\n")
(display " ALSO stores (swim + bank → typically GEOGRAPHIC)\n")
(display " Vagueness for 'penguin swam to bank' = 0.05 (LOW)\n")
(display " → KNOWS it means river bank\n\n")
(display " Same base fact, but System B actually KNOWS something.\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; DEFINITION: Three Levels of Knowing
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "THREE LEVELS OF KNOWING\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " ┌─────────────────────────────────────────────────────────────┐\n")
(display " │ │\n")
(display " │ Level 1: STORAGE (Having) │\n")
(display " │ - Information exists in the system │\n")
(display " │ - Necessary but not sufficient │\n")
(display " │ - A hard drive 'has' data but doesn't 'know' it │\n")
(display " │ │\n")
(display " │ Level 2: RECALL (Retrieving) │\n")
(display " │ - Can access the information when queried │\n")
(display " │ - Still not sufficient! │\n")
(display " │ - Recalling 'bank has two meanings' doesn't help │\n")
(display " │ │\n")
(display " │ Level 3: RESOLUTION (Using to reduce uncertainty) │\n")
(display " │ - Can apply knowledge to RESOLVE specific questions │\n")
(display " │ - Reduces vagueness in actual situations │\n")
(display " │ - THIS is what we mean by 'knowing' │\n")
(display " │ │\n")
(display " └─────────────────────────────────────────────────────────────┘\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; THE KNOWLEDGE GRAPH
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "WHAT MAKES KNOWLEDGE USEFUL?\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Knowledge is useful when it forms DISCRIMINATING CONNECTIONS:\n\n")
(display " Useless knowledge (isolated facts):\n")
(display " bank → FINANCIAL\n")
(display " bank → GEOGRAPHIC\n")
(display " penguin → bird\n")
(display " swim → movement\n\n")
(display " Useful knowledge (connected for discrimination):\n")
(display " bank → FINANCIAL (PMI with: money, deposit, withdraw)\n")
(display " bank → GEOGRAPHIC (PMI with: river, swim, shore)\n")
(display " penguin → bird → typically swims → GEOGRAPHIC contexts\n")
(display " swim → typically with water → GEOGRAPHIC frame\n\n")
(display " The CONNECTIONS allow disambiguation.\n")
(display " Isolated facts don't.\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; KNOWING AS COMPRESSION
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "KNOWING AS COMPRESSION\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Another view: Knowing = having a COMPRESSED model.\n\n")
(display " Not knowing:\n")
(display " Store every sentence you've ever seen\n")
(display " Each new sentence: scan everything for matches\n")
(display " No generalization\n\n")
(display " Knowing:\n")
(display " Extract PATTERNS from sentences (PMI, frames, cooccurrences)\n")
(display " Compress into statistical model\n")
(display " Apply model to NEW sentences never seen before\n\n")
(display " The PMI table is a COMPRESSION of all training data.\n")
(display " It lets you handle sentences you've never seen.\n\n")
(display " Knowing = Generalization from examples to patterns\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; KNOWING AS PREDICTION
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "KNOWING AS PREDICTION\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " If you KNOW something, you can PREDICT consequences.\n\n")
(display " 'I know bank=GEOGRAPHIC in this sentence' means:\n")
(display " - I predict 'river' or 'water' likely nearby\n")
(display " - I predict the action is probably outdoor activity\n")
(display " - I predict 'deposit money' would be SURPRISING here\n")
(display " - I can generate follow-up questions that make sense\n\n")
(display " If you can't make predictions, you don't really know.\n\n")
(display " Test of knowing: Given 'penguin swam to the bank',\n")
(display " Can you predict what the penguin did next?\n")
(display " - If bank=GEOGRAPHIC: sat, rested, caught fish, waddled away\n")
(display " - If bank=FINANCIAL: ??? (penguins don't use banks)\n\n")
(display " The system that 'knows' bank=GEOGRAPHIC can predict.\n")
(display " The system that's unsure cannot.\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; DEGREES OF KNOWING
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "DEGREES OF KNOWING\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Knowing isn't binary - it has degrees.\n")
(display " Our VAGUENESS metric captures this:\n\n")
(display " Vagueness = 1.0 → Complete ignorance (no evidence)\n")
(display " Vagueness = 0.5 → Uncertain (multiple possibilities)\n")
(display " Vagueness = 0.2 → Fairly confident\n")
(display " Vagueness = 0.05 → Very confident (strong evidence)\n")
(display " Vagueness = 0.0 → Perfect knowledge (impossible in practice)\n\n")
(display " SURPRISE works inversely:\n")
(display " Low surprise → This is typical, expected\n")
(display " High surprise → This is anomalous, unexpected\n\n")
(display " A system 'knows more' when:\n")
(display " - Average vagueness across interpretations is LOW\n")
(display " - It can correctly predict what should be surprising\n")
(display " - It asks good questions when uncertain\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; META-KNOWING
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "META-KNOWING: Knowing What You Don't Know\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Perhaps the highest form of knowing:\n")
(display " Knowing the BOUNDARIES of your knowledge.\n\n")
(display " Our system has this! The vagueness metric tells it:\n")
(display " - High vagueness → 'I don't know enough'\n")
(display " - Can generate queries → 'Here's what I NEED to know'\n")
(display " - Query cost ordering → 'Here's HOW to find out'\n\n")
(display " Compare to a system without meta-knowing:\n")
(display " - Always returns an answer (even if wrong)\n")
(display " - Cannot say 'I'm not sure'\n")
(display " - Cannot ask clarifying questions\n")
(display " - Doesn't know where its knowledge ends\n\n")
(display " Socrates: 'I know that I know nothing'\n")
(display " Our system: 'I know my vagueness is 0.47 on this question'\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; OPERATIONAL DEFINITION
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "OPERATIONAL DEFINITION OF KNOWING\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " ┌─────────────────────────────────────────────────────────────┐\n")
(display " │ │\n")
(display " │ A system KNOWS something when: │\n")
(display " │ │\n")
(display " │ 1. It has stored relevant patterns (Storage) │\n")
(display " │ │\n")
(display " │ 2. It can retrieve them in context (Recall) │\n")
(display " │ │\n")
(display " │ 3. The patterns REDUCE VAGUENESS when applied │\n")
(display " │ (They actually help discriminate) │\n")
(display " │ │\n")
(display " │ 4. The system can PREDICT consequences │\n")
(display " │ (Knowledge enables anticipation) │\n")
(display " │ │\n")
(display " │ 5. The system knows ITS OWN uncertainty │\n")
(display " │ (Meta-knowing: vagueness awareness) │\n")
(display " │ │\n")
(display " │ 6. The system can ACT to reduce uncertainty │\n")
(display " │ (Generate queries, seek information) │\n")
(display " │ │\n")
(display " └─────────────────────────────────────────────────────────────┘\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; IMPLEMENTATION STATUS
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "WHAT WE'VE BUILT\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Our pipeline implements all six aspects:\n\n")
(display " 1. Storage: PMI tables, sense lists, frame definitions\n")
(display " 2. Recall: Pattern match to find relevant evidence\n")
(display " 3. Resolution: Aggregate evidence → select interpretation\n")
(display " 4. Prediction: Surprise metric (what's typical for agent?)\n")
(display " 5. Meta-knowing: Vagueness metric (how uncertain are we?)\n")
(display " 6. Action: Query generation (what would help?)\n\n")
(display " This IS a 'knowing' system in the computational sense.\n")
(display " It's not just storage - it USES knowledge to act.\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; THE HARD QUESTION
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "THE HARD QUESTION: Is This 'Really' Knowing?\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Philosophical objection:\n")
(display " 'But the system doesn't UNDERSTAND, it just computes'\n\n")
(display " Counter-argument:\n")
(display " What is understanding but:\n")
(display " - Storing patterns\n")
(display " - Recognizing when they apply\n")
(display " - Using them to reduce uncertainty\n")
(display " - Making predictions\n")
(display " - Knowing what you don't know\n\n")
(display " If that's all understanding is, our system does it.\n")
(display " If understanding requires something MORE (consciousness?)\n")
(display " then that's a separate question from 'knowing'.\n\n")
(display " For engineering purposes:\n")
(display " A system that disambiguates correctly, knows its limits,\n")
(display " and asks good questions is FUNCTIONALLY knowing.\n\n")
(display " The Chinese Room objection applies, but so does:\n")
(display " 'A neuron doesn't understand language either'\n")
(display " Yet neurons together somehow do.\n\n")
;; ═══════════════════════════════════════════════════════════════════
;; SUMMARY
;; ═══════════════════════════════════════════════════════════════════
(display "═══════════════════════════════════════════════════════════════════\n")
(display "SUMMARY\n")
(display "─────────────────────────────────────────────────────────────────\n\n")
(display " Knowing is NOT just storage + recall.\n\n")
(display " Knowing is:\n")
(display " Storage + Recall + Resolution + Prediction + Meta-knowing + Action\n\n")
(display " The key insight from our work:\n\n")
(display " ┌─────────────────────────────────────────────────────────────┐\n")
(display " │ │\n")
(display " │ KNOWING = HAVING LOW VAGUENESS ON QUESTIONS THAT MATTER │\n")
(display " │ │\n")
(display " │ Plus: knowing WHEN your vagueness is high │\n")
(display " │ Plus: knowing HOW to reduce it │\n")
(display " │ │\n")
(display " └─────────────────────────────────────────────────────────────┘\n\n")
(display " A maximally-knowing system:\n")
(display " - Has low vagueness on common questions\n")
(display " - Accurately estimates its vagueness\n")
(display " - Efficiently reduces vagueness when needed\n")
(display " - Builds more knowledge autonomously over time\n\n")
(display " This is what Linas' approach strives toward.\n\n")