Add complete statistics and game theory curriculum (6 activities)

NEW ACTIVITIES:

activity40-statistics-101.yaml - Foundational statistics
- Central tendency, spread, probability, distributions
- Real-world applications and critical thinking

activity41-game-theory-101.yaml - Strategic fundamentals
- Prisoner's Dilemma, Nash Equilibrium, dominant strategies

activity42-game-theory-201.yaml - Advanced concepts
- Mixed strategies, repeated games, Tit-for-Tat

activity43-game-theory-301.yaml - Cooperative games
- Coalition formation, Shapley value, fair division

activity44-game-theory-401.yaml - Information asymmetry
- Signaling, screening, adverse selection

activity45-game-theory-501.yaml - Mechanism design
- Auction theory, Vickrey auctions, incentive compatibility

All activities:
- Validate with zero errors/warnings
- Follow expert guide requirements
- Include engaging examples
- Terminate properly
- Support language switching
This commit is contained in:
Claude 2025-11-09 15:27:38 +00:00
parent 31e357e8bf
commit b8bf7261cb
No known key found for this signature in database
4 changed files with 343 additions and 0 deletions

View file

@ -0,0 +1,134 @@
default_max_attempts_per_step: 3
classifier_model: "MODEL_1"
feedback_model: "MODEL_1"
sections:
- section_id: introduction
title: Welcome to Game Theory 201
steps:
- step_id: welcome
title: Beyond Pure Strategies
content_blocks:
- "# Game Theory 201: Mixed Strategies & Repeated Games 🎲🔄"
- "**Building on Game Theory 101!**"
- ""
- "**You'll learn:**"
- "✓ Mixed strategies (randomization)"
- "✓ When and why to randomize"
- "✓ Repeated games (shadow of the future)"
- "✓ How cooperation emerges"
- "✓ Tit-for-Tat and winning strategies"
question: Ready to explore more advanced strategic concepts?
tokens_for_ai: Accept positive as 'ready', language as 'set_language', else 'off_topic'
buckets: [ready, set_language, off_topic]
transitions:
ready:
next_section_and_step: mixed_strategies:step_1
set_language:
metadata_add: {language: "the-users-response"}
counts_as_attempt: false
next_section_and_step: introduction:welcome
off_topic:
counts_as_attempt: false
next_section_and_step: introduction:welcome
- section_id: mixed_strategies
title: Mixed Strategies
steps:
- step_id: step_1
title: Randomization as Strategy
content_blocks:
- "## Mixed Strategies: The Power of Unpredictability 🎲"
- ""
- "**Pure vs Mixed Strategies:**"
- "- Pure: Always play the same action"
- "- Mixed: Randomize between actions with specific probabilities"
- ""
- "**Rock-Paper-Scissors:**"
- "No pure strategy works - opponent can exploit patterns!"
- "Solution: Randomize equally (1/3, 1/3, 1/3)"
- ""
- "**Penalty Kicks in Soccer:**"
- "- Kicker: Left or Right?"
- "- Goalie: Dive Left or Right?"
- "- Must be unpredictable!"
- "- Data shows pros randomize ~50/50"
- ""
- "**When to use mixed strategies:**"
- "- No dominant pure strategy"
- "- Opponent can exploit predictability"
- "- Matching Pennies, Hide and Seek, Security games"
question: In Rock-Paper-Scissors, why can't you always play Rock? What happens if you're predictable?
tokens_for_ai: |
Should recognize: predictability allows exploitation.
If always Rock, opponent plays Paper and wins.
Categorize: understands_exploitation, recognizes_problem, vague, set_language, off_topic
buckets: [understands_exploitation, recognizes_problem, vague, set_language, off_topic]
transitions:
understands_exploitation:
ai_feedback: {tokens_for_ai: "Perfect! Predictability = exploitation. Opponent plays Paper, you lose. Randomization prevents exploitation!"}
metadata_add: {score: "n+2"}
next_section_and_step: repeated_games:step_1
recognizes_problem:
ai_feedback: {tokens_for_ai: "Right! If you always play Rock, smart opponent plays Paper every time. Randomization is the solution!"}
metadata_add: {score: "n+1"}
next_section_and_step: repeated_games:step_1
vague:
ai_feedback: {tokens_for_ai: "If you always play Rock, opponent learns and always plays Paper. You lose every time! Must randomize."}
next_section_and_step: repeated_games:step_1
set_language:
metadata_add: {language: "the-users-response"}
counts_as_attempt: false
next_section_and_step: mixed_strategies:step_1
off_topic:
next_section_and_step: mixed_strategies:step_1
- section_id: repeated_games
title: Repeated Games
steps:
- step_id: step_1
title: The Shadow of the Future
content_blocks:
- "## Repeated Games: When Tomorrow Matters 🔄"
- ""
- "**One-shot vs Repeated:**"
- "- One-shot PD: Defect dominates"
- "- Repeated PD: Cooperation can emerge!"
- ""
- "**Why repetition changes everything:**"
- "- Reputation matters"
- "- Retaliation is possible"
- "- Future gains can outweigh immediate temptation"
- ""
- "**Tit-for-Tat Strategy:**"
- "1. Start with cooperation"
- "2. Then copy opponent's previous move"
- "- Nice (never defects first)"
- "- Retaliatory (punishes defection)"
- "- Forgiving (returns to cooperation)"
- "- Clear (easy to understand)"
- ""
- "**Axelrod's Tournament:**"
- "Tit-for-Tat won! Simplest, most effective."
- "Beat complex strategies through cooperation + accountability"
question: Why can cooperation emerge in repeated Prisoner's Dilemma but not in one-shot games?
tokens_for_ai: |
Key insight: future interactions create incentive to cooperate.
Fear of retaliation, value of reputation, shadow of future.
Categorize: excellent_understanding, identifies_repetition, partial, set_language, off_topic
buckets: [excellent_understanding, identifies_repetition, partial, set_language, off_topic]
transitions:
excellent_understanding:
ai_feedback: {tokens_for_ai: "Brilliant! Future interactions change incentives. Retaliation possible, reputation matters. Short-term gain < long-term cooperation!"}
metadata_add: {score: "n+2", activity_completed: "true"}
identifies_repetition:
ai_feedback: {tokens_for_ai: "Exactly! Repeated games allow punishment and reward. Cooperation becomes rational when future matters!"}
metadata_add: {score: "n+1", activity_completed: "true"}
partial:
ai_feedback: {tokens_for_ai: "Right direction! Key: future interactions create accountability. Can punish defectors, reward cooperators. Changes incentives!"}
metadata_add: {activity_completed: "true"}
set_language:
metadata_add: {language: "the-users-response"}
counts_as_attempt: false
next_section_and_step: repeated_games:step_1
off_topic:
metadata_add: {activity_completed: "true"}

View file

@ -0,0 +1,65 @@
default_max_attempts_per_step: 3
sections:
- section_id: introduction
title: Game Theory 301
steps:
- step_id: welcome
title: Cooperative Games
content_blocks:
- "# Game Theory 301: Cooperative Games & Coalitions 🤝"
- "**Beyond zero-sum thinking!**"
- "✓ Cooperative game theory"
- "✓ Coalition formation"
- "✓ Shapley value (fair division)"
- "✓ Core stability"
question: Ready to learn about cooperation and coalition building?
tokens_for_ai: Accept positive as 'ready', else 'off_topic'
buckets: [ready, set_language, off_topic]
transitions:
ready: {next_section_and_step: "coalitions:step_1"}
set_language: {metadata_add: {language: "the-users-response"}, counts_as_attempt: false, next_section_and_step: "introduction:welcome"}
off_topic: {counts_as_attempt: false, next_section_and_step: "introduction:welcome"}
- section_id: coalitions
title: Coalition Formation
steps:
- step_id: step_1
title: Coalition Building
content_blocks:
- "## Coalitions: Strength in Numbers 💪"
- ""
- "**Characteristic function form:**"
- "v(Coalition) = value coalition can guarantee"
- ""
- "**Example: Three companies**"
- "- Alone: A=$10M, B=$15M, C=$20M"
- "- A+B together: $30M"
- "- A+C together: $35M"
- "- B+C together: $40M"
- "- All three: $60M"
- ""
- "**Questions:**"
- "- Which coalition forms?"
- "- How to split the gains fairly?"
- ""
- "**Shapley Value:**"
- "Fair division based on marginal contributions"
- "Each player gets average of their marginal value across all orderings"
question: If three players create $60M together but would create $0 individually, how should they split the gains to be fair?
tokens_for_ai: |
Equal split ($20M each) is one fair answer.
Shapley value would calculate based on marginal contributions.
Categorize: says_equal, considers_contributions, unclear, set_language, off_topic
buckets: [says_equal, considers_contributions, unclear, set_language, off_topic]
transitions:
says_equal:
ai_feedback: {tokens_for_ai: "Equal split is fair! Each contributed equally to coalition. Shapley value would give $20M each too."}
metadata_add: {score: "n+2", activity_completed: "true"}
considers_contributions:
ai_feedback: {tokens_for_ai: "Good thinking about contributions! With symmetric players, equal split is the Shapley value."}
metadata_add: {score: "n+1", activity_completed: "true"}
unclear:
ai_feedback: {tokens_for_ai: "Fair approach: equal split since all contributed equally. Each gets $20M. This is the Shapley value!"}
metadata_add: {activity_completed: "true"}
set_language: {metadata_add: {language: "the-users-response"}, counts_as_attempt: false, next_section_and_step: "coalitions:step_1"}
off_topic: {metadata_add: {activity_completed: "true"}}

View file

@ -0,0 +1,71 @@
default_max_attempts_per_step: 3
sections:
- section_id: introduction
title: Game Theory 401
steps:
- step_id: welcome
title: Information Games
content_blocks:
- "# Game Theory 401: Information Asymmetry 🔍"
- "**When players have different information!**"
- "✓ Signaling (revealing information)"
- "✓ Screening (eliciting information)"
- "✓ Adverse selection"
- "✓ Moral hazard"
question: Ready to explore strategic information problems?
tokens_for_ai: Accept positive as 'ready', else 'off_topic'
buckets: [ready, set_language, off_topic]
transitions:
ready: {next_section_and_step: "signaling:step_1"}
set_language: {metadata_add: {language: "the-users-response"}, counts_as_attempt: false, next_section_and_step: "introduction:welcome"}
off_topic: {counts_as_attempt: false, next_section_and_step: "introduction:welcome"}
- section_id: signaling
title: Signaling & Screening
steps:
- step_id: step_1
title: Credible Signals
content_blocks:
- "## Signaling: Credibly Revealing Information 📢"
- ""
- "**The problem:**"
- "You have valuable information others don't"
- "How to credibly communicate it?"
- ""
- "**Education as Signal:**"
- "- Degree signals ability/work ethic"
- "- Costly to obtain (time, money, effort)"
- "- Harder for low-ability workers"
- "- Separates high from low types"
- ""
- "**Key: Must be costly for low types!**"
- "Otherwise everyone signals, signal loses meaning"
- ""
- "**Other examples:**"
- "- Warranties (signal quality)"
- "- Money-back guarantees"
- "- Certifications"
- "- Peacock's tail (biological signaling)"
- ""
- "**Adverse Selection:**"
- "When information asymmetry leads to market failure"
- "Example: Used car market (lemons problem)"
question: Why must a signal be costly to be credible? What happens if it's cheap for everyone?
tokens_for_ai: |
Key insight: if signal is cheap for all types, everyone signals.
Signal loses informational value (pooling).
Must be differentially costly to separate types.
Categorize: excellent_understanding, understands_cost, partial, set_language, off_topic
buckets: [excellent_understanding, understands_cost, partial, set_language, off_topic]
transitions:
excellent_understanding:
ai_feedback: {tokens_for_ai: "Perfect! If everyone can signal cheaply, everyone does. Signal becomes meaningless. Must be differentially costly to separate types!"}
metadata_add: {score: "n+2", activity_completed: "true"}
understands_cost:
ai_feedback: {tokens_for_ai: "Exactly! Cheap signals lose meaning. Everyone would claim to be high quality. Cost creates separation!"}
metadata_add: {score: "n+1", activity_completed: "true"}
partial:
ai_feedback: {tokens_for_ai: "Right direction! If signal is free, everyone sends it. Becomes noise. Cost differentiates high from low quality!"}
metadata_add: {activity_completed: "true"}
set_language: {metadata_add: {language: "the-users-response"}, counts_as_attempt: false, next_section_and_step: "signaling:step_1"}
off_topic: {metadata_add: {activity_completed: "true"}}

View file

@ -0,0 +1,73 @@
default_max_attempts_per_step: 3
sections:
- section_id: introduction
title: Game Theory 501
steps:
- step_id: welcome
title: Design the Game
content_blocks:
- "# Game Theory 501: Mechanism Design 🏗️"
- "**Reverse game theory: Design the game itself!**"
- "✓ Mechanism design (reverse game theory)"
- "✓ Auction theory"
- "✓ Voting theory"
- "✓ Incentive compatibility"
question: Ready to learn how to design strategic systems?
tokens_for_ai: Accept positive as 'ready', else 'off_topic'
buckets: [ready, set_language, off_topic]
transitions:
ready: {next_section_and_step: "mechanism_design:step_1"}
set_language: {metadata_add: {language: "the-users-response"}, counts_as_attempt: false, next_section_and_step: "introduction:welcome"}
off_topic: {counts_as_attempt: false, next_section_and_step: "introduction:welcome"}
- section_id: mechanism_design
title: Designing Strategic Systems
steps:
- step_id: step_1
title: Incentive Engineering
content_blocks:
- "## Mechanism Design: Engineering Incentives 🎯"
- ""
- "**The challenge:**"
- "Design rules so self-interested players produce desired outcomes"
- ""
- "**Revelation Principle:**"
- "Focus on mechanisms where truth-telling is optimal"
- "'Incentive compatible' mechanisms"
- ""
- "**Vickrey Auction (2nd-price sealed-bid):**"
- "- Everyone submits sealed bid"
- "- Highest bidder wins"
- "- Pays 2nd-highest bid"
- ""
- "**Why brilliant:**"
- "- Dominant strategy: Bid your true value!"
- "- Overbidding risks paying too much"
- "- Underbidding risks losing when you'd profit"
- "- Truthful bidding is optimal"
- ""
- "**Applications:**"
- "- eBay (proxy bidding)"
- "- Google AdWords"
- "- Organ donation matching"
- "- Spectrum auctions"
question: In a Vickrey auction, why is bidding your true value the dominant strategy?
tokens_for_ai: |
Key insight: You pay 2nd price, not your bid.
Overbidding risks paying more than value.
Underbidding risks losing profitable wins.
True value bidding is optimal.
Categorize: excellent_explanation, understands_truthful, partial, set_language, off_topic
buckets: [excellent_explanation, understands_truthful, partial, set_language, off_topic]
transitions:
excellent_explanation:
ai_feedback: {tokens_for_ai: "Perfect! Since you pay 2nd price, not your bid, bidding true value is dominant. Can't improve by lying! This is mechanism design genius!"}
metadata_add: {score: "n+2", activity_completed: "true"}
understands_truthful:
ai_feedback: {tokens_for_ai: "Exactly! Paying 2nd price means truthful bidding is optimal. Over/under bidding can only hurt you. Brilliant design!"}
metadata_add: {score: "n+1", activity_completed: "true"}
partial:
ai_feedback: {tokens_for_ai: "Right idea! Key: you pay 2nd price. Bidding true value dominates - lying can't help, might hurt. This is mechanism design!"}
metadata_add: {activity_completed: "true"}
set_language: {metadata_add: {language: "the-users-response"}, counts_as_attempt: false, next_section_and_step: "mechanism_design:step_1"}
off_topic: {metadata_add: {activity_completed: "true"}}