Чтение онлайн

на главную - закладки

Жанры

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

Братко Иван

Шрифт:

 Макс_переходов > 0,

 переход( S, X, S1),

 НовыйМакс is Макс_переходов - 1,

 допускается( S1, Остальные, НовыйМакс).

допускается( S, Цепочка, Макс_переходов) :-

 Макс_переходов > 0,

 спонтанный( S, S1),

 НовыйМакс is Макс_переходов - 1,

 допускается( S1, Цепочка, НовыйМакс).

4.7

(а)

 ходконя( X/Y, X1/Y1) :-

%
Ход коня с поля X/Y на поле X1/Y1

( dxy( DX, DY);

% Расстояния по направлениям X и Y

dxy( DY, DX) ),

% Или расстояния по направлениям Y и X

X1 is X + DX,

% X1 расположен в пределах шахматной доски

надоске( X1),

Y1 is Y + DY,

% Y1 расположен в пределах шахматной доски

надоске( Y1).

dxy( 2, 1). % 2 поля вправо, 1 поле вперед

dxy( 2, -1). % 2 поля вправо, 1 поле назад

dxy( -2, 1). % 2 поля влево, 1 поле вперед

dxy( -2, -1). % 2 поля влево, 1 поле назад

надоске( Коорд) :-

% Координаты в пределах доски

0 < Коорд,

Коорд < 9.

(b)

 путьконя( [ Поле]). % Конь стоит на поле Поле

путьконя( [S1, S2 | Остальные] ) :-

ходконя( S1, S2),

путьконя( [S2 | Остальные]).

(c)

 ?- путьконя( [2/1, R, 5/4, S, X/8] ).

Глава 5

5.1

(a)

 X = 1;

X = 2

(b)

 X = 1;

Y = 1;

X = 1;

Y = 2;

X = 2;

Y = 1;

X = 2;

Y = 2;

(c)

 X = 1;

Y = 1;

X = 1;

Y = 2;

5.2

класс( Число, положительное) :-

 Число > 0, !.

класс( 0, нуль) :- !.

класс( Число, отрицательное).

5.3

разбить( [], [], []).

разбить( [X | L], [X | L1], L2) :-

 X >= 0, !,

 разбить( L, L1, L2).

разбить( [X | L], L1, [X | L2]) .

 разбить( L, L1, L2).

5.4

принадлежит(
Некто, Кандидаты),

 not принадлежит( Некто, Исключенные)

5.5

разность( [], _, []).

разность( [X | L1], L2, L):-

 принадлежит( X, L2), !,

 разность( L1, L2, L).

разность( [X | L1], L2, [X | L]) :-

 разность( L1, L2, L).

5.6

унифицируемые( [], _, []).

унифицируемые( [Первый | Остальные], Терм, Список) : -

 not( Первый = Терм), !,

 унифицируемые( Остальные, Терм, Список).

унифицируемые( [Первый | Остальные], Терм,

 [Первый | Список] ) :-

 унифицируемые( Остальные, Терм, Список).

Глава 6

6.1

найтитерм( Терм) :-

% Пусть текущий входной поток - это файл f

 read( Терм), !,

% Текущий терм из f сопоставим с Терм'ом?

 write( Терм); % Если да - вывести его на терминал

найтитерм( Терм). % В противном случае - обработать

6.2

найтитермы( Терм) :-

 read( ТекущийТерм),

 обработать( ТекущийТерм, Терм).

обработать( end_of_file, _ ) :- !.

обработать( ТекущийТерм, Терм) :-

 ( not( ТекущийТерм = Терм), !;

% Термы несопоставимы

 write( ТекущийТерм), nl),

% В противном случае вывести текущий терм

 найтивсетермы( Терм).

% Обработать оставшуюся часть файла

6.4

начинается( Атом, Символ) :-

 name( Символ, [ Код]),

 name( Атом, [Код | _ ]).

6.5

plural( Существительное, Существительные) :-

 name( Существительное, СписокКодов),

 name( s, КодS),

 конк( СписокКодов, КодS, НовыйСписокКодов),

 name( Существительные, НовыйСписокКодов).

Поделиться:
Популярные книги

Адвокат Империи 3

Карелин Сергей Витальевич
3. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 3

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона

Вонгозеро

Вагнер Яна
1. Вонгозеро
Детективы:
триллеры
9.19
рейтинг книги
Вонгозеро

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Лучший из худший 3

Дашко Дмитрий
3. Лучший из худших
Фантастика:
городское фэнтези
попаданцы
аниме
6.00
рейтинг книги
Лучший из худший 3

Штурмовик из будущего 3

Политов Дмитрий Валерьевич
3. Небо в огне
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Штурмовик из будущего 3

Последний попаданец 2

Зубов Константин
2. Последний попаданец
Фантастика:
юмористическая фантастика
попаданцы
рпг
7.50
рейтинг книги
Последний попаданец 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье