База ответов ИНТУИТ

Основы программирования на языке Visual Prolog

<<- Назад к вопросам

Определение предикатов arc и path имеет вид:
arc(1, 3).arc(3, 4).path([X | L], X, [X | L]).path([X | L], Y, P):- arc(X, Z), not(isMember(Z, L)), path([Z, X | L], Y, P). 
Предикат path реализует алгоритм

(Отметьте один правильный вариант ответа.)

Варианты ответа
«первый лучший»
поиска в глубину(Верный ответ)
поиска в ширину
поиска кратчайшего пути в глубину
Похожие вопросы
Определение предикатов arc, cont и path имеет вид:
arc(1, 3).arc(3, 4).  cont([X | L], [Z, X | L]):- arc(X, Z), not(isMember(Z, L)).  path([[Y | L] | _], Y, [Y | L]).path([P | PL], Y, R):- findall(P1, cont(P, P1), L1), append(PL, L1, PL1),path(PL1, Y, R). 
Предикат path реализует алгоритм
Определение предикатов arc, cont и path имеет вид:
arc(1, 3).arc(3, 4).  cont([X | L], [Z, X | L]):- arc(X, Z), not(isMember(Z, L)).  path([[Y | L] | _], Y, [Y | L]).path([P | PL], Y, R):- findall(P1, cont(P, P1), L1), append(L1, PL, PL1),path(PL1, Y, R). 
Предикат path реализует алгоритм
Определение предикатов arc и path имеет вид:
arc(1, 2). arc(1, 3).arc(3, 4).path([X | L], X, [X | L]).path([X | L], Y, P):- arc(X, Z), not(isMember(Z, L)), path([Z, X | L], Y, P). 
В результате вызова цели path([1], 4, P) переменная P примет значение:
Определение предикатов arc, cont и path имеет вид:
arc(1, 2).arc(1, 3).arc(3, 4).arc(2, 4).  cont([X | L], [Z, X | L]):- arc(X, Z), not(isMember(Z, L)).  path([[Y | L] | _], Y, [Y | L]):- !.path([P | PL], Y, R):- findall(P1, cont(P, P1), L1), append(PL, L1, PL1),path(PL1, Y, R). 
Укажите решение для цели path([[1]], 4, P) .
Определение предикатов arc и path имеет вид:
arc(1, 2). arc(1, 3).arc(2, 4).arc(3, 4).path([X | L], X, [X | L]).path([X | L], Y, P):- arc(X, Z), not(isMember(Z, L)), path([Z, X | L], Y, P). 
Сколько решений имеет цель path([1], 4, P) ?
Признак N присутствует, если в базе данных имеется факт answer(N, 1), и отсутствует, если в ней имеется факт answer(N, 0). Определение предиката correct имеет вид:
correct(L):- answer(N, 1), not(isMember(N, L)), !, fail; succeed(). 
Предикат истинен, если
Определение предикатов parent, grandparent и run имеет вид:
parent("Mary", "Bob").parent("Mary", "Tom").parent("Ann", "Mary").grandparent(X, Y):- parent(X, Z), parent(Z, Y).		run():- grandparent(X, Y), write(X, " - ", Y), nl, fail; _ = readLine(). 
Предикат parent объявлен в разделе class predicates. Укажите правильное объявление:
Определение предикатов min и run имеет вид:
min(X, Y, X):- X < Y, !.min(X, Y, Y):- X >= Y.run():- min(1, 3, X), write(X), nl, fail; _ = readLine(). 
Укажите правильное объявление предиката min:
Начальное значение факта-переменной n равно 0. Определение предикатов fruit и print имеет вид:
fruit(1, "apple").fruit(2, "pear").		print() :- repeat(), fruit(_, X), write(X), nl, n := n + 1, n = 3, !.print(). 
Напишите название фрукта, которое будет напечатано последним при вызове цели print():
Определение предиката count имеет вид:
count(L1, L2) = length(filter(L1, {(X):- isMember(X, L2)})). 
Какое значение примет переменная L в результате вызова цели L = count([1, 2, 3], [3, 2, 5])?