choose_random_reidemeister_moves#

choose_random_reidemeister_moves(k, count=1)#

Generates a sequence of random Reidemeister moves on a given knot.

This function selects random moves from the specified Reidemeister moves and applies them to the provided knot. A list containing the knot and all intermediate knots after the moves are made is returned. If a valid move cannot be found after a defined number of attempts, an error is raised.

Args:
k: The knot representation on which the Reidemeister moves

will be applied.

moves: A list of Reidemeister move functions to choose from. If not

provided, all available types of moves will be used.

count: The number of Reidemeister moves to perform.

Raises:
ValueError: If the desired number of Reidemeister moves cannot

be found after a reasonable number of attempts.

Returns:
list: A list of knot representations where each represents the knot

after a successive Reidemeister move.