0
ответов

Вызов предиката пролога из python

У меня есть файл .pl, и я хочу вызвать объявленный в нем предикат из python сценарий. Как я могу это сделать? Например, test.pl rD ([], Ans, Ans). rD ([X | Xs], Ans, Acc): - member (X, Acc), ...
вопрос задан: 20 May 2018 13:28
0
ответов

Пролог - создание чисел, соответствующих заданному диапазону

Я бы хотел использовать такие предикаты, как: range (X, 0,5) диапазон (X, 4,200) диапазон (X, -1000000,1000000) dom_range (X, -1000000,1000000) со значением: range (X, 0,5): - member (X, [0,1,2,3,4,5]). range (X, 4,200): - member (...
вопрос задан: 8 May 2018 21:18
0
ответов

Логическое Программирование с Прологом

Логическое программирование с помощью Пролога: Рассмотрим программу: f (X): -!, X = a. f (X): -!, X = b. f (X): - X = c. Что P возвращает для запросов f (a), f (b) и f (c) соответственно? ...
вопрос задан: 13 March 2018 03:58
0
ответов

Обнаружение цикла в графе

Нам дан граф со следующими фактами: edge (a, b) край (а, в) край (б, а) край (c, d) край (d, d) край (d, e) край (e, f) край (f, g) edge (g, e) И нас просят определить правило, цикл (X), которое определяет ...
вопрос задан: 28 January 2018 13:28
0
ответов

Разделить список пополам

Мне нужно определить разделение, чтобы Список [1,2,3,4,5] делится на: a = [1,2,3} b = [4,5] Я получаю сообщение об ошибке «Аргументы недостаточно созданы», и я не Я недостаточно знаю о ...
вопрос задан: 8 December 2017 02:12
0
ответов

Пролог - показывает слова в матрице

Учитывая матрицу буквы nxn и список слов, программа должна найти все появления слов в матрице и их местоположении. Они могли казаться вниз, оставленными праву и по диагонали (...
вопрос задан: 1 August 2017 01:13
0
ответов

Пользовательская арифметическая функция Пролога

I ' m ищет что-то вроде встроенных арифметических операторов, которые имеют возвращаемое значение в Prolog (особенно в SWI-Prolog). Например, если вы запустите A is (1 + 2) + (3 + 2)., Он вернет A = 8 .. Как я могу определить ...
вопрос задан: 6 July 2017 16:58
0
ответов

Удаление всех членов списка без объединения в Prolog [duplicate]

Возможный дубликат: Prolog delete: не удаляет все элементы, которые объединяются с Element В Prolog если написать так: delete([(1,1),(1,2),(1,1),(3,4)],(1,_),L). то результатом будет: L = [ (1, ...
вопрос задан: 23 May 2017 12:30
0
ответов

Уровни совместимости с Prolog - доступные библиотеки программирования

В одних реализациях Пролога отсутствуют некоторые предикаты, которые доступны в других. Мы можем реализовать недостающие предикаты, назовем это «Уровень совместимости с Prolog». Знаете ли вы «Пролог ...
вопрос задан: 23 May 2017 12:15
0
ответов

Исключить автора из обзора gerrit

Я хочу запретить автору изменения просматривать свои собственные изменения в gerrit. Я знаю об этом предложенном взломе, но на самом деле это не решает проблему. Теперь я узнал из выпусков gerrit, что...
вопрос задан: 23 May 2017 12:00
0
ответов

Какая польза от if_ / 3?

Предикат if_ / 3, кажется, довольно популярен среди немногих основных авторов в части Prolog Stack Overflow. Этот предикат реализован как таковой, благодаря @false: if_ (If_1, Then_0, ...
вопрос задан: 23 May 2017 11:46
0
ответов

Переполнение стека в правиле грамматики Prolog DCG: как обрабатывать большие списки эффективно или лениво

Я разбираю довольно простой формат файла, состоящий из серии строк, каждая строка имеет несколько полей, разделенных пробелами, которые выглядят так: l 0x9823 1 s 0x1111 3 l 0x1111 12 ⋮ Я использую SWI-Prolog. ...
вопрос задан: 23 May 2017 10:32
0
ответов

Упорядочивание списков с программированием логики ограничений

Мне было интересно, может ли кто-нибудь помочь мне с этой проблемой: мне нужно заказать список с помощью Prolog с программированием логики ограничений, и я должен сделать это более эффективным способом. Итак, главное ...
вопрос задан: 23 May 2017 10:28
0
ответов

Что такое алгоритм объединения?

Я знаю, это может показаться немного странным, но да, мой вопрос: «Что такое объединение алгоритм". Ну, я пытаюсь разработать приложение на F #, которое будет действовать как Prolog. Это должно занять серию ...
вопрос задан: 23 May 2017 09:58
0
ответов

Пролог - формулы в логике высказываний

Я пытаюсь создать предикат, чтобы проверить, представляет ли данный ввод формулу. Мне разрешено использовать только пропозициональные атомы, такие как p, q, r, s, t и т. Д. Формулы, которые я должен проверить ...
вопрос задан: 13 March 2017 23:25
0
ответов

Это можно сделать хвостом -recursive in Prolog?

Я изучаю Prolog, и в качестве упражнения я экспериментирую с простой базой данных, которая вычисляет сумму всех чисел до данного числа (т.е. 0 = 0, 1 = 1, 2 = 3, 3 = 6, 4 = 10, ...). Достаточно просто: ...
вопрос задан: 1 March 2017 12:31
0
ответов

Flatten a list in Prolog

Я работаю с Prolog всего пару дней. Я понимаю некоторые вещи, но это действительно сбивает меня с толку. Я должен написать функцию, которая берет список и сглаживает его. ?- flatten([a,[b,c]...
вопрос задан: 17 January 2017 16:22
0
ответов

Использование \ == / 2 или dif / 2

Если я хочу убедиться, что две переменные не соответствуют одному и тому же термину, каков предпочтительный способ сделать это? Допустим, мне нужно найти ориентированные ребра в графе, а у узла не может быть ребра ...
вопрос задан: 11 January 2017 08:14
0
ответов

if else if else предложение в прологе, похожее на C/C++

В языке c у меня есть что-то вроде: if(cond1) {} иначе если (условие2) {} еще {} как это возможно в Прологе?
вопрос задан: 15 December 2016 22:25
0
ответов

Удалить ведущие нули в списке в Прологе

У меня есть список с неизвестным числом нулей в начале, например [0, 0, 0, 1, 2, 0, 3]. Мне нужно, чтобы этот список был очищен от ведущих нулей, чтобы он выглядел как [1, 2, 0, 3]. ...
вопрос задан: 2 October 2016 21:42
0
ответов

Парсинг в Прологе без вырезания?

Я нашел этот хороший фрагмент для анализа лиспа в Прологе (отсюда): ws -> [W], {code_type (W, пробел)}, WS. WS -> []. parse (String, Expr): - фраза (выражения (Expr), String). выражения ([E | ...
вопрос задан: 3 September 2016 08:28
0
ответов

Насколько похожи языки реляционных баз данных и логическое программирование?

Каковы сходства и различия с точки зрения фундаментальных концепций и реализации между языком реляционной базы данных sql и языком логического программирования, таким как prolog и clojure?...
вопрос задан: 22 July 2016 06:25
0
ответов

Грамматика рекурсии Пролога

в данный момент у меня проблема с возвратом к существительному _фразе из np2. Мне было интересно, может ли кто-нибудь помочь мне вернуться к словосочетанию с существительным _. Вот некоторый код :существительное _словосочетание ([X|T], (det (X ), NP2 ),Re
вопрос задан: 17 July 2016 10:41
0
ответов

Реализация findall в Prolog

Мне было поручено реализовать версию findall в Prolog без использования каких-либо встроенных модулей Prolog, за исключением not и cut, то есть в основном в чистом Prolog. Я пытаюсь найти в дереве все прямые ...
вопрос задан: 1 July 2016 20:42
0
ответов

Найти все решения для предиката

Я пытаюсь определить предикат, который получает один термин со свободными переменными и возвращает список сопоставлений этих переменных, например, если база данных представляет собой (0,1 ). а (1,1). ожидаемый ...
вопрос задан: 1 July 2016 14:06
0
ответов

Удаление левой рекурсии в DCG - Пролог

У меня небольшая проблема с левой рекурсией в этой грамматике. Пытаюсь написать на Прологе, но не знаю, как убрать левую рекурсию. <выражение> -> <простое_выражение> <...
вопрос задан: 5 June 2016 21:59
0
ответов

Определение списков в сценариях пролога

Я новичок в программировании на прологе, и в учебнике мне сказали определить список структур (в сценарии), чтобы я мог запрашивать его как базу данных. Однако я считаю невозможным определить этот список как...
вопрос задан: 1 May 2016 10:42
0
ответов

Нотация преемника Пролога дает неполный результат и бесконечный цикл

Я начинаю изучать Пролог и впервые узнал о нотации преемника. И здесь я узнаю о написании аксиом Пеано на Прологе. См. стр. 12 документа PDF:sum(0, M, M). sum(s(N), M, s(K)):- ...
вопрос задан: 21 March 2016 20:34
0
ответов

Пролог: заменить элемент в списке по указанному индексу

Я хотел бы иметь предикат Пролога, который может заменить элемент в списке по указанному индексу. Пример:% replace (+ List, + Index, + Value, -NewList). ? - L = [a, b, c, d], заменить (L, 1, z, L2). L2 = [a, z, c, d] I ...
вопрос задан: 9 February 2016 17:27
0
ответов

Простая программа на языке Пролог. Получение ошибки: >/2: Аргументы недостаточно конкретизированы

Я создал предикат Пролога posAt(List1,P,List2), который проверяет, равны ли элементы в позиции P в List1 и List2: posAt([X|Z] , 1, [Y|W]):- X = Y. posAt([Z|X], K, [W|Y]):- K > 1, ...
вопрос задан: 9 February 2016 06:56