www.delorie.com/gnu/docs/gnugo/gnugo_184.html   search  
Buy GNU books!

GNU Go Documentation

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

15. Life and Death Reading

GNU Go does two very different types of life and death reading. First, there is the OWL code (Optics with Limit Negotiation) which attempts to read out to a point where the code in `engine/optics.c' (see section 11. Eyes and Half Eyes) can be used to evaluate it.

Secondly, there is the code in `engine/life.c' which is a potential replacement for the code in `optics.c'. It attempts to evaluate eyespaces more accurately than the code in `optics.c', but since it is fairly slow, it is partially disabled unless you run GNU Go with the option `--life'. The default use of the life code is that it can be called from `optics.c' when the graph based life and death code concludes that it needs an expert opinion.

Like the tactical reading code, a persistent cache is employed to maintain some of the owl data from move to move. This is an essential speedup without which GNU Go would play too slowly.

15.1 The Owl Code  Life and death reading
15.2 Functions in `owl.c'  

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003