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




Сопоставление - часть 2


Вот две из них:

       Д  =  1

       Д1  =  1

       М  =  май

       Y1  =  1983

       Д  =  третий

       Д1  =  третий

       М  =  май

       Y1  =  1983

Говорят, что эти конкретизации являются менее общими по сравнению с первой, поскольку они ограничивают значения переменных Д и Д1

в большей степени, чем это необходимо. Для того, чтобы сделать оба терма нашего примера идентичными, важно лишь, чтобы Д и Д1

имели одно и то же значение, однако само это значение может быть произвольным. Сопоставление в Прологе всегда дает наиболее общую конкретизацию. Таковой является конкретизация, которая ограничивает переменные в наименьшей степени, оставляя им, тем самым, наибольшую свободу для дальнейших конкретизаций, если потребуются новые сопоставления. В качестве примера рассмотрим следующий вопрос:

       ?-  дата( Д, М, 1983)  =   дата( Д1, май, Y1),

             дата( Д, М, 1983)  =  дата( 15, М, Y).

Для достижения первой цели система припишет переменным такие значения:

        Д  = Д1

        М  =  май

        Y1  =  1983

После достижения второй цели, значения переменных станут более конкретными, а именно:

        Д  =  15

        Д1  =  15

        М  =  май

        Y1  =  1983

        Y  =  1983




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