exercism / exercism/problem-specifications

Exercise ideas: Game trees, Comma-Separated Trees, Collatz Trees

Open
#1,388 10 comments 1 reaction 1 assignee Claimed by @sshine View on GitHub
new exercise idea
Dominant language
Ruby
Stars
358
Forks
563
Avg merge
18h 41m
Merged PRs (30d)
2

Description

[Game trees](https://en.wikipedia.org/wiki/Game_tree) are trees that describe the possible choices in a turn-based game. The leaves are final states where either player has won, and each step up the tree describe the turn before where the other player (alternating at each level in the tree) has a number of choices corresponding to one sub-tree each.

An exercise would consist of describing a game between two persons (Alice and Bob?) in a story-like fashion, a (possibly illustrated?) description of game trees, and a task to 1) build the game tree between Alice and Bob for the given game, and 2) given a game tree, pick the best move.

The exercise can be unit-tested for small game trees and property-tested for larger game trees.

As for the specific game, popular choices are [Nim](https://en.wikipedia.org/wiki/Nim) and [Tic-tac-toe](https://en.wikipedia.org/wiki/Tic-tac-toe). We might also pick something else.

**Motivation:** In my opinion, the Haskell track lacks tree-based exercises. (Ping @petertseng)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.