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:
parent
31e357e8bf
commit
b8bf7261cb
4 changed files with 343 additions and 0 deletions
134
research/activity42-game-theory-201.yaml
Normal file
134
research/activity42-game-theory-201.yaml
Normal 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"}
|
||||
65
research/activity43-game-theory-301.yaml
Normal file
65
research/activity43-game-theory-301.yaml
Normal 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"}}
|
||||
71
research/activity44-game-theory-401.yaml
Normal file
71
research/activity44-game-theory-401.yaml
Normal 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"}}
|
||||
73
research/activity45-game-theory-501.yaml
Normal file
73
research/activity45-game-theory-501.yaml
Normal 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"}}
|
||||
Loading…
Add table
Add a link
Reference in a new issue