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


         

Программа для вставления нового элемента



                больше( X, М2), больше( М3, X),

                встав( Д2, X, НД2).

        встав( в3( Д1, М2, Д2, М3, Д3), X,

                в2( Д1, М2, НД2а), Мб, в2( НД2б, М3, Д3) ) :-

                больше( X, М2), больше( М3, X),

                встав( Д2, X, НД2а, Мб, НД2б).


        встав( в3( Д1, М2, Д2, М3, Д3), X,

                в3( Д1, М2, Д2, М3, НД3) ) :-

                больше( X, М3),

                встав( Д3, X, НД3).


        встав( в3( Д1, М2, Д2, М3, Д3), X,

                в2( Д1, М2, Д2), М3, в2( НД3а, Мб, НД3б) ) :-

                больше( X, М3),

                встав( Д3, X, НД3а, Мб, НД3б).


line();

Рис. 10. 6.  Вставление элемента в 2-3 справочник. В этой

программе предусмотрено, что попытка повторного

вставления элемента терпит неудачу.

Программа для вставления нового элемента в 2-3 справочник показана полностью на рис. 10.6. На рис. 10.7 показана программа вывода на печать 2-3 деревьев.

Наша программа иногда выполняет лишние возвраты. Так, если встав с тремя аргументами терпит неудачу, то вызывается процедура встав с пятью аргументами, которая часть работы делает повторно.

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