Counting Candy Crush Configurations

08/27/2019
by   Adam Hamilton, et al.
0

A k-stable c-coloured Candy Crush grid is a weak proper c-colouring of a particular type of k-uniform hypergraph. In this paper we introduce a fully polynomial randomised approximation scheme (FPRAS) which counts the number of k-stable c-coloured Candy Crush grids of a given size (m, n) for certain values of c and k. We implemented this algorithm on Matlab, and found that in a Candy Crush grid with7 available colours there are approximately 4.3*10^61 3-stable colourings. (Note that, typical Candy Crush games are played with 6 colours and our FPRAS is not guaranteed to work in expected polynomial time with k= 3 and c= 6.) We also discuss the applicability of this FPRAS to the problem of counting the number of weak c-colourings of other, more general hypergraphs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/09/2017

Counting hypergraph colorings in the local lemma regime

We give a fully polynomial-time approximation scheme (FPTAS) to count th...
research
08/28/2018

Approximately counting bases of bicircular matroids

We give a fully polynomial-time randomised approximation scheme (FPRAS) ...
research
06/21/2019

Efficient Logspace Classes for Enumeration, Counting, and Uniform Generation

In this work, we study two simple yet general complexity classes, based ...
research
01/04/2023

Extremal polynomials on the n-grid

The n-grid E_n consists of n equally spaced points in [-1,1] including t...
research
05/20/2020

An FPRAS and Polynomial-Time Uniform Sampler for Tree Automata

In this work, we introduce the first fully polynomial time randomized ap...
research
03/12/2015

Hierarchical learning of grids of microtopics

The counting grid is a grid of microtopics, sparse word/feature distribu...
research
11/12/2020

The Complexity of Counting Problems over Incomplete Databases

We study the complexity of various fundamental counting problems that ar...

Please sign up or login with your details

Forgot password? Click here to reset