package Ġio . dk oz ak . search . model . b fs Ċ Ċ import Ġio . dk oz ak . search . model . Engine Configuration Ċ import Ġio . dk oz ak . search . model . Node ĊĊ Ċ fun Ġ< NodeType Ġ: ĠNode > Ġb read th First Search ( initialState : ĠNode Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand Node : Ġ( NodeType ) Ġ-> ĠList < NodeType >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Final State : Ġ( NodeType ) Ġ-> ĠBoolean ): ĠEngine Configuration < NodeType > Ġ{ ĊĠĠĠ Ġval Ġclosed Set Ġ= Ġmutable Set Of < NodeType >() ĊĠĠĠ Ġreturn ĠEngine Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠinitialState , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF ifo Open List (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpand Node , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġnode Ġ-> Ġclosed Set . add ( node ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Final State ĊĠĠĠ Ġ) Ċ }