Вопросы по теме 'prolog'
Процедура отличия списка Prolog
Я пытаюсь реализовать процедуру разности списков в прологе. По какой-то причине следующее не удается:
difference(Xs,Ys,D) :- difference(Xs,Ys,[],D).
difference([],_,A,D) :- D is A, !.
difference([X|Xs],Ys,A,D) :-
not(member(X,Ys)),
A1 is...
10176 просмотров
schedule
09.12.2022
Указатели поиска пути Prolog
Мне нужно проверить, является ли путь действительным, истинным или ложным. Дается так:
?-path(a,b,[(a,c),(c,d),(d,b)]).
true
В части списка, как мне получить доступ к a или c в (a, c)? Это как строка "(a,c)"?
И вообще, как решить этот...
477 просмотров
schedule
19.04.2024
Prolog random и встроенные функции findall
Ok! последний вопрос пролога в течение длительного времени!!
Я пытаюсь выбрать ответ, который выбирается случайным образом, но все, что я могу сделать, это выбрать первый из моих таблиц ответов (см. код)
Я уверен, что это делается с помощью...
602 просмотров
schedule
21.04.2024
Обнаружение ошибок Prolog
Дано:
fruitid('Apple', 'Granny Smith', 1).
fruitid('Pear', 'Bartlett', 2).
Если бы у меня был пункт
type_of_fruit(ID):-
fruitid(Fruit, _, ID), write(Fruit).
Как я могу реализовать метод для обнаружения ошибочных входных...
3543 просмотров
schedule
21.05.2024
Ввод комбинатора Y
http://muaddibspace.blogspot.com/2008/01/type-inference-for-simply-typed-lambda.html — это краткое определение простого типизированного лямбда-исчисления в Прологе.
Это выглядит нормально, но затем он намеревается присвоить тип комбинатору Y......
2184 просмотров
schedule
02.11.2022
яп пролог читать предикат
Я экспериментирую с прологом, читая «Программирование на прологе с использованием стандарта ISO, пятая редакция». Я установил yap (еще один пролог) в свою систему ubuntu 10.10 Maverick RC, установленную с помощью synaptic. Я запускаю пролог из...
578 просмотров
schedule
16.10.2022
Как найти глубину двоичного дерева с помощью Prolog
Я изучаю Пролог и пытаюсь найти глубину двоичного дерева с помощью Пролога. Я представляю такое дерево:
nil is a tree.
tree(1,nil,nil) this is a leaf.
tree(1,tree(1,nil,nil),nil) this is a tree with root 1 and has a left leaf 1.
Мне нужен...
4496 просмотров
schedule
10.05.2024
Определение правила, которое пользователь не может запрашивать
Как определить правило, которое пользователь не может запрашивать? Я только хочу, чтобы сама программа вызывала это правило через другое правило.
Ex:
правило1():- правило2().
правило2():- 1‹5.
?-правило1().
истинный
?-правило2()....
1825 просмотров
schedule
30.10.2022
вернуть все уровни бинарного дерева в прологе
Я пытаюсь заставить программу возвращать уровни BT в виде списка, и я застрял на этом:
nivel(nodo(L,Root,R)) :- nivel(nodo(L,Root,R),X),writeln(X).
nivel(vacio,[]).
nivel(nodo(L,Root,R),[Root|T]) :- nivel(L,T),nivel(R,T),writeln(T).
Пример...
992 просмотров
schedule
29.10.2023
schedule
29.01.2024
рекурсия в прологе (по спискам)
может кто-нибудь, пожалуйста, помогите мне просто с основами выполнения рекурсивных функций пролога ..
append([],X,X). % base
append([X|Y],Z,[X|W]) :- append(Y,Z,W). %recursive
% base case
addup([], 0). % sum of the empty list of numbers is zero...
18973 просмотров
schedule
20.11.2023
создание списков, поиск того, что было задано, и создание комбинации в прологе
Я хочу написать программу на Прологе. Предикат будет таким:
name(name, failedCourse, age)
База данных программы:
name(george, math, 20).
name(steve, phys, 21).
name(jane, chem, 22).
Я хочу реализовать предикат nameList(A, B) . A...
125 просмотров
schedule
07.12.2023
Пролог с использованием выражений
Я пытаюсь выучить пролог SWI, но моя простая программа терпит неудачу, хотя я считаю, что она должна быть успешной.
%My code:
orthogonal((X1,Y1,Z1),(X2,Y2,Z2)) :- (X1*X2)+(Y1*Y2)+(Z1*Z2)==0.
integerVector((X,Y,Z)) :-...
1012 просмотров
schedule
30.11.2022
может ли кто-нибудь помочь мне понять этот пример рекурсивного пролога?
вот код плюса, который я не понимаю
plus(0,X,X):-natural_number(X).
plus(s(X),Y,s(Z)) :- plus(X,Y,Z).
пока задано:
natural_number(0).
natural_number(s(X)) :- natural_number(X).
Я не понимаю эту рекурсию. Если у меня есть...
1528 просмотров
schedule
13.05.2024
Prolog Tail Рекурсивная процедура для подсчета неэкземплярных переменных в списке
Я пытаюсь написать процедуру Tail Recursive для подсчета количества неконкретизированных переменных в списке. Я немного застрял, где я иду не так.
Мой текущий запрос ниже:
count([S,L],N) :- var(S), !, N+1.
count([L],N).
2011 просмотров
schedule
22.02.2024
Как написать a подразумевает b или c на Прологе
Как бы я написал следующее на Прологе?
a -> b V c
По-английски это будет a implies that b or c (or both)
4102 просмотров
schedule
01.04.2024
Пролог — Форматирование кроссворда
Я написал предикат с именемsolve_crossword, который выглядит так:
solve_crossword(X,C):-
C= [A1,A2,A3,A4,A5,
B1,' ',B3, ' ', B5,
C1, C2,C3,C4,C5,
D1,' ',D3,' ', D5,
E1,E2,E3,E4,E5],
member([A1, A2, A3, A4, A5], X),
member([C1, C2,...
901 просмотров
schedule
26.01.2024
Не знак равенства в Visual Prolog?
Я не могу найти никакой документации о знаке неравенства в Visual Prolog. Пожалуйста, предоставьте правильное решение этой проблемы:
class predicates
sister : (string Person, string Sister) nondeterm(o,o).
clauses...
96183 просмотров
schedule
29.11.2023
Каков хороший подход к решению головоломок танграма на Прологе?
Я не уверен, что это лучше всего подходит здесь или в математике, но я полагаю, что могу получить здесь некоторые указатели о коде. Для задания мне нужно решить выпуклые головоломки Tangram с помощью Пролога.
Все головоломки и доступные части...
2564 просмотров
schedule
23.10.2022
Справка Prolog - Не могу понять правило
У меня есть база данных, полная таких фактов, как:
overground( watfordjunction , watfordhighstreet , 2 ).
overground( watfordhighstreet , bushey , 3 ).
overground( bushey , carpenderspark , 3 ).
overground(...
182 просмотров
schedule
11.11.2022