|
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 5
|
|
Prolog, задача на списки30.09.2014, 13:45. Показов 1263. Ответов 8
Метки нет (Все метки)
Добрый день,
Задача на списки: нужно написать функцию cliq (G, L), где G имеет вид g([person(A, [B, C, D, E]), person(B,[D, F]), person(C, [B]), person(D, [A, E, F]), и так далее]). L - лист из разных A, B, C и т.п., нужно написать проверку на наличие в строке заданного значения остальных значений. Т.е. если в L вписаны A, B, C, то в листе относящемуся к person A должны быть B, и C, в листе относящемуся к B должны быть А и С значения (наличие других неважно). Значений может вводиться любое количество. Буду очень благодарна если поможете, остановилась на member(person(Head,FFriends), G), не знаю как сделать рекурсивную проверку значений.
0
|
|
| 30.09.2014, 13:45 | |
|
Ответы с готовыми решениями:
8
Списки в SWI-Prolog. Задача turbo prolog. задача на списки Visual Prolog. Задача про списки |
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
|
| 30.09.2014, 15:26 | |
|
А обычным языком, как это задание звучит?
![]() Добавлено через 34 минуты Оригинал задания есть? Текущая постановка выглядит, извините, как попытка запутать ситуацию в корне, чтобы потом можно было много и часто уточнять...
0
|
|
|
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 5
|
||||||
| 30.09.2014, 16:13 [ТС] | ||||||
|
Извините, хотелось как лучше
![]() это часть задания, задание есть, на английском: This graph can be represented with a Prolog term: G0 = [person(susan, [reed, jen, andrzej, jessica]), person(reed, [tony, jessica]), person(jessica, [jen]), person(tony, []), person(ken, [andrzej]), person(jen, [tony, susan, jessica]), person(andrzej, [susan, ken])]. A clique is a duplicate-free list of at least two people who are all good friends. For example, Jessica Drew and Jen Walters form a clique in G0, as do Jen Walters and Susan Storm; but all three women do not form a clique, because Jessica Drew does not consider Susan Storm to be her friend. Define a predicate clique(G, L) that is true whenever L is a clique in the friend graph G. это оригинал части задания, первая часть (сделанная) выглядит так: We say that X and Y are good friends if they are on each others’ friends lists. For example, in G0, Susan Storm and Jen Walters are good friends. Define a predicate goodfriends(G, X, Y) that is true whenever X and Y are good friends in the graph G. код для нее:
0
|
||||||
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
|
| 30.09.2014, 16:39 | |
|
Ну, вот, нормальная задача
, когда в оригинале.Должны быть какие-то обязательные предикаты, типа member, или надо просто решить?
0
|
|
|
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 5
|
|
| 30.09.2014, 20:45 [ТС] | |
|
просто решить (если очень интересно, там есть еще три пункта, могу скинуть
)
0
|
|
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
||||||
| 01.10.2014, 13:26 | ||||||
|
Ensall, да, интересная задача, эдакая прологовская вся
![]() Вроде так Кликните здесь для просмотра всего текста
Пишите всё задание как есть, все части.
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 5
|
|
| 01.10.2014, 13:42 [ТС] | |
|
огромное спасибо
остальные задачи прикладываю ниже, но я на данный момент пробую их сделать самостоятельно (поэтому сразу и не кидала): с) A FaceIn wannabe is a person X who (transitively) likes everyone else in the network. That is, there is a chain of friendship links from X to every other person in the graph. For example, Susan Storm is a wannabe in G0. Define a predicate wannabe(G, X) that is true whenever X is a wannabe in G. d) A FaceIn idol is a person X who is (transitively) liked by everyone else in the network. That is, there is a chain of friendship links from every other person in the graph to X. For example, Tony Stark is an idol in G0. Define a predicate idol(G, X) that is true whenever X is an idol in G. e) A path from X to Y is an alternating list [X1, A1, X2, A2, …, Xn] (n ≥ 1), where each Xi is a person, such that X1 = X, Xn = Y, and no person occurs more than once in the list; and where each Ai is either -> or <-, such that there is an arrow -> between Xi and Xi + 1 if Xi + 1 is on Xi’s friend list, and an arrow <- if Xi is on Xi + 1’s friend list. For example, [susan,->,reed,->,tony,<-,jen] is one of many paths from Susan Storm to Jen Walters in G0. Define a predicate ispath(G, X, Y, P) that holds whenever P is a path from X to Y in G.
0
|
|
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
|
| 01.10.2014, 14:21 | |
|
Ensall, где Вы учитесь?
В кои то веки вижу на форуме нормальную задачу, - простые исходные данные, краткие и точные постановки поиска решений, примеры, развитие от простого к сложному... вот так, собственно, и нужно обучать Прологу
0
|
|
|
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 5
|
|
| 01.10.2014, 15:16 [ТС] | |
|
Я учусь на магистра в Дании, Университет Копенгагена, мне очень стыдно что сама не могу написать эту программу, но проблема в том что пролог нам преподавали одну неделю, и эта же неделя идет на задание. К сожалению я медленно соображаю и просто не смогла самостоятельно выполнить его в такие сроки.
0
|
|
| 01.10.2014, 15:16 | |
|
Помогаю со студенческими работами здесь
9
Turbo prolog - задача на списки: определить, где живет Айрис и чем она занимается Поездная бригада состоит из кондуктора, проводника, машиниста и помощника машиниста [Turbo Prolog] [Visual Prolog] Задача на рекурсию Prolog: списки. Strawberry prolog списки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|