raccrompton / BookBuilder

An automatic Chess opening repertoire Builder
GNU General Public License v3.0
126 stars 18 forks source link

After move 25, app crashes #13

Open agenttux opened 2 years ago

agenttux commented 2 years ago

I let a couple of deep lines run overnight. Every time it hits move 25, the script crashes with this error:

Traceback (most recent call last):
  File "/storage/home/Documents/chessdata/BookBuilder/BookBuilder.py", line 397, in <module>
    main()
  File "/storage/home/Documents/chessdata/BookBuilder/BookBuilder.py", line 393, in main
    grower.run()
  File "/storage/home/Documents/chessdata/BookBuilder/BookBuilder.py", line 305, in run
    self.iterator(chapter, opening['Name'])
  File "/storage/home/Documents/chessdata/BookBuilder/BookBuilder.py", line 327, in iterator
    Leafer(self.pgn, self.cumulative, self.likelyPath)
  File "/storage/home/Documents/chessdata/BookBuilder/BookBuilder.py", line 92, in __init__
    pgnList = self._calculate_pgns()
  File "/storage/home/Documents/chessdata/BookBuilder/BookBuilder.py", line 147, in _calculate_pgns
    _, self.best_move, self.potency, self.potency_range, self.total_games = self.workerPlay.pick_candidate() #list best candidate move, win rate,
  File "/storage/home/Documents/chessdata/BookBuilder/workerEngineReduce.py", line 176, in pick_candidate
    best_move = max(lb_potencies, key=lb_potencies.get) #best move is the move with the highest lower bound win rate (based on 95% confidence interval)
ValueError: max() arg is an empty sequence

I think this most likely is due to the fact that the lichess opening explorer only stores moves up to 25.