Abstraction
What is Abstraction?
Definition (Beecher, 2017):
Expressing an idea in a specific context while suppressing irrelevant details.
Key Aspects of Abstraction:
Highlight important information.
Ignore unnecessary details.
Why Learn Abstraction?
Real-world problems are messy with excessive details.
We create models to represent real-world scenarios.
Once we understand the problem, we solve it.
Example: We cannot directly transfer the real world into a digital environment, so we must simplify it.
Abstraction in Games
Example 1: Inventory System
In reality, items take up space & weight.
In games, inventory is often represented as number of units.
Example 2: Friendship System
Real friendships are complex.
In games, they are simplified into levels & perks.
Other Examples:
Health bars instead of actual medical conditions.
Money in numbers instead of physical cash stacks.
Can you think of a game that abstracts real life?
Layers of Information (Abstraction Levels)
Too much abstraction → Lose critical details.
Too little abstraction → Too much information to process.
Example: Train Maps
Detailed Map: Includes roads, landmarks, etc.
Simplified Metro Map: Shows only train stops & connections.
Takeaway: Abstraction depends on who uses the information.
Knight’s Tour Puzzle
Problem: Move a knight piece across a chessboard, visiting every square exactly once.
Input: Chessboard, knight’s movement rules.
Process: Finding a valid path.
Output: A sequence of moves covering all squares.
How can abstraction help?
Instead of worrying about L-shaped moves, focus on where the knight can land.
Convert the board into a graph where each node represents a square, and edges show possible moves.
This makes the problem easier to solve!
Tour Guide Puzzle (Similar to Knight’s Tour!)
Problem: Plan a route for foreign delegates, visiting all attractions once & returning to the start.
Key Idea: Both puzzles involve visiting locations efficiently.
Applying Abstraction: Convert the tour map into a graph problem, just like the Knight’s Tour.
Key Takeaways
Abstraction removes unnecessary details but keeps what’s essential.
Too much abstraction → Loss of important context.
Too little abstraction → Overwhelming complexity.
You already use abstraction daily—the goal is to apply it actively in problem-solving!
These notes summarize all the key points from the slides in a clear and concise way. Let me know if you need any modifications! 😊