jonadsimon / wonder-words-generator

Generates WonderWords puzzles
Apache License 2.0
2 stars 0 forks source link

Not throwing "Too few semantic neighbor words" error #49

Closed jonadsimon closed 2 years ago

jonadsimon commented 2 years ago

The program is no longer throwing the "Too few semantic neighbor words" when appropriate, and is instead crashing much later

See:

 $> python make_puzzle_v2.py "area 51" --packing-constant=1.1 --strategy=median --optimize-words

Removed too-similar words (superstring): nevada test and training range

Pre-optimization word stats:
    num_words: 6
    packing_level: 0.236
    word_len (mean/max): 8.83 / 19
    collision_avoidance_prob (min/mean): 0.222222 / 0.698667

Ended optimization with loop_cnt=0

Words removed:
Words added:

Post-optimization word stats:
    num_words: 6
    packing_level: 0.236
    word_len (mean/max): 8.83 / 19
    collision_avoidance_prob (min/mean): 0.222222 / 0.698667

['nafr', 'china', 'nevada', 'yucca flat', 'vietnam war', 'western united states']

{25: 'central intelligence agency', 8: 'las vegas', 22: 'air force systems command', 20: 'united states air force', 9: 'groom lake', 10: 'nas miramar', 19: 'edwards air force base', 12: 'have doughnut', 18: 'tactical air command', 24: 'unidentified flying object', 23: 'freedom of information act'}

Traceback (most recent call last):
  File "/Users/jonsimon/Code/wonder-words-generator/make_puzzle_v2.py", line 390, in <module>
    make_puzzle(args.topic, args.board_size, args.packing_constant, args.strategy, args.optimize_words, args.relatedness_cutoff)
  File "/Users/jonsimon/Code/wonder-words-generator/make_puzzle_v2.py", line 321, in make_puzzle
    covered_up_words, doubled_up_words, deltas = find_words_in_board(board, word_tuples_to_fit)
  File "/Users/jonsimon/Code/wonder-words-generator/make_puzzle_v2.py", line 238, in find_words_in_board
    raise ValueError(f"word '{wt.board}' does not appear in the board, something has gone HORRIBLY wrong")
ValueError: word 'NAFR' does not appear in the board, something has gone HORRIBLY wrong
jonadsimon commented 2 years ago

Fixed, problem was that I'd forgotten to check this error case in the new get_words_for_board_optimize_fast function