Программирование на языке Пролог для искусственного интеллекта


         

not удовл( Цель, Поз, КорнПоз



                ( удовл( Цель1, Поз, КорнПоз);

                удовл( Цель2, Поз, КорнПоз) ).

        удовл( не Цель, Поз, КорнПоз) :-  !,

                not удовл( Цель, Поз, КорнПоз ).


        удовл( Пред, Поз, КорнПоз) :-

                ( Усл =.. [Пред, Поз];


                                            % Большинство предикатов не зависит от КорнПоз

                    Усл =.. [Пред, Поз, КорнПоз] ),

                call( Усл).


% Интерпретация ограничений на ходы

        ход( Ходы1 и Ходы2, Поз, Ход, Поз1) :-  !,

                ход( Ходы1, Поз, Ход, Поз1),

                ход( Ходы2, Поз, Ход, Поз1).


        ход( Ходы1 затем Ходы2, Поз, Ход, Поз1) :-  !,

                ( ход( Ходы1, Поз, Ход, Поз1);

                  ход( Ходы2, Поз, Ход, Поз1) ).


% Доступ к компонентам элементарного совета

        главцель( ГлЦ : _, ГлЦ).


Содержание  Назад  Вперед