# Tag Archives: programming

## Schreier-Sims Algorithm

Introduction Throughout this article, we let G be a subgroup of generated by a subset  We wish to consider the following questions. Given A, how do we compute the order of G? How do we determine if an element lies in G? Assuming , how … Continue reading

## Primality Tests III

Solovay-Strassen Test This is an enhancement of the Euler test. Be forewarned that it is in fact weaker than the Rabin-Miller test so it may not be of much practical interest. Nevertheless, it’s included here for completeness. Recall that to … Continue reading

## Polynomial Multiplication, Karatsuba and Fast Fourier Transform

Let’s say you want to write a short program to multiply two linear functions f(x) = ax+b and g(x) = cx+d and compute the coefficients of the resulting product: You might think it’ll take 4 multiplications (for ac, ad, bc and bd) and 1 addition (for ad+bc), but there’s … Continue reading

## Combinatorial Game Theory Quiz 3

The quiz lasts 75 minutes and covers everything from lessons 1-12. For each of the following Nim games, find one good move for the first player, if any. (10 points) [ Note : exactly one of the games is a … Continue reading

## Combinatorial Game Theory X

Lesson 10 In lesson 7, we learnt that if A, B are Left’s options in a game with A ≥ B, then we can drop B from the list of options and the game remains equal. In this lesson, we will … Continue reading

## Combinatorial Game Theory IX

Lesson 9 Typically, at the end of a Domineering game, the board is divided into disjoint components, so the overall game is the (game) sum of the individual components. Suppose we have the following 6 components: How should the next … Continue reading

## Combinatorial Game Theory VIII

Lesson 8 In this lesson, we will further familiarise ourselves with games involving numbers. At the end of the lesson, we will encounter our first positive infinitesimal: the “up” ↑. Here, an infinitesimal is a value which is strictly between –r and r … Continue reading