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

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

Жанры

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

Братко Иван

Шрифт:

:- op( 300, fx, удаление_элемента)

:- op( 100, xfx, из_списка) % Принадлежность к списку

Элемент входит_в [Элемент | Список].

Элемент входит_в [Первый | СписокОстальных] :-

 Элемент входит_в СписокОстальных.

% Конкатенация списков

конкатенация_списков [] и Список дает Список.

конкатенация_списков [X | L1]
и L2 дает [X | L3] :-

 конкатенация_списков L1 и L2 дает L3.

% Удаление элемента из списка

удаление_элемента Элемент из_списка

 [Элемент | ОстальныеЭлементы]

 дает ОстальныеЭлементы.

удаление_элемента Элемент из_списка

 [Первый | ОстальныеЭлементы]

 дает [Первый | НовСписОстЭлементов] :-

 удаление_элемента Элемент из_списка

 ОстальныеЭлементы дает НовСписОстЭлементов.

3.16

max( X, Y, X) :-

 X >= Y.

max( X, Y, Y) :-

 X <Y.

3.17

максспис( [X], X).

% Максимум в одноэлементном списке

максспис( [X, Y | Остальные], Мах) :-

% В списке есть по крайней мере два элемента?

максспис( [Y | Остальные], МаксОстальные),

 mах( X, МаксОстальные, Мах).

% Мах наибольшее из чисел X и МаксОстальные

3.18

сумспис( [], 0).

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

 сумспис( Остальные, СуммаОстальных),

 Сумма is Первый + СуммаОстальных.

3.19

упорядоченный ([]).

% Одноэлементный список является упорядоченным

упорядоченный( [X, Y | Остальные] :-

 X =< Y,

 упорядоченный( [Y | Остальные] ).

3.20

подсумма( [], 0, []).

подсумма( [N | Список], Сумма, [N | Подмн]) :-

% N принадлежит подмножеству

Сумма1 is Сумма - N,

 подсумма( Список, Сумма1, Подмн).

подсумма( [N | Список], Сумма, Подмн) :-

% N не принадлежит подмножеству

 подсумма( Список, Сумма, Подмн).

3.21

между( N1, N2, N1) :-

 N1 =< N2.

между( N1, N2, X) :-

 N1 < N2,

 HoвoeN1 is N1 + 1,

 между( HoвoeN1, N2, X).

3.22

:- op( 900, fx,
если).

:- op( 800, xfx, то).

:- op( 700, xfx, иначе).

:- op( 600, xfx, :=).

если Вел1 > Вел2 то Перем := Вел3

 иначе ЧтоУгодно :-

 Вел1 > Вел2,

 Перем = Вел3.

если Вел1 > Вел2 то ЧтоУгодно

 иначе Перем := Вел4 :-

 Вел1 =< Вел2,

 Перем = Вел4.

Глава 4

4.1

(a)

 ?- семья(членсемьи( _, Фамилия, _, _ ), _, []).

(b)

 ?- ребенок( членсемьи( Имя, Фамилия, _,

работает( _, _ ) )).

(c)

 семья(членсемьи( _, Фамилия, _, неработает),

членсемьи( _, _, _, работает( _, _ ) ),_ ).

(d)

 ?- семья( Муж, Жена, Дети),

датарождения( Муж, дата( _, _, Год1) ),

датарождения( Жена, дата( _, _, Год2) ),

( Год1 - Год2 >= 15;

Год2 - Год1 >= 15 ),

принадлежит( Ребенок, Дети).

4.2

близнецы( Ребенок1, Ребенок2) :-

 семья( _, _, Дети),

 удалить( Ребенок1, Дети, ДругиеДети),

% Выделить первого ребенка

 принадлежит( Ребенок2, ДругиеДети),

 принадлежит( Ребенок1, Дата),

 принадлежит( Ребенок2, Дата).

4.3

n_элемент( 1, [X | L], X).

% X - первый элемент списка [X | L]

n_элемент( N, [Y | L], X) :-

% X - n-й элемент [Y | L]

 N1 is N - 1,

 n_элемент( N1, L, X).

4.4

Входная цепочка укорачивается на каждом неспонтанном цикле, а укорачиваться бесконечно она не может.

4.5

допускается( S, [], _ ) :-

 конечное( S).

допускается( S, [X | Остальные], Макс_переходов) :-

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

Адвокат Империи 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
рейтинг книги
Вдова на выданье