def sgf_iter_states(sgf_string):
	collection = sgf.parse(sgf_string)
	game = collection[0]
	gs = _sgf_init_gamestate(game.root)
	for node in game.rest:
		props = node.properties
		if 'W' in props:
			move = _parse_sgf_move(props['W'][0])
			player = go.WHITE
		elif 'B' in props:
			move = _parse_sgf_move(props['B'][0])
			player = go.BLACK
		yield (gs, move, player)
		# update state to n+1
		gs.do_move(move, player)
Iterates over (GameState, move, player) tuples in the first game of the given SGF file.
dataset/ETHPy150Open Rochester-NRT/RocAlphaGo/AlphaGo/util.py/sgf_iter_states