Форум программистов, компьютерный форум, киберфорум
Наши страницы

Prolog

Войти
Регистрация
Восстановить пароль
 
Ольга Я
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 13
#1

GUI Prolog - найти все возможные способы полной упаковки рюкзака - Prolog

30.03.2013, 20:32. Просмотров 477. Ответов 4
Метки нет (Все метки)

Здравствуйте. Помогите написать программу на прологе.
Даны набор элементов багажа разного веса (в виде списка) и грузоподъемность рюкзака. Найти все возможные способы полной упаковки рюкзака.

Есть начало.
Для заданных фактов:
Prolog
1
2
3
4
5
6
p(molotok,1).
p(palatka,3).
p(verevka,2).
 
z(N,[A]):-p(A,W), N2=N-W, N2>=0.     
z(N,[A|Tail]):-N>0,p(A,W),N1=N-W,z(N1,Tail).
N - вес рюкзака.

выводит элементы, которые можно положить (не больше веса рюкзака).
Нужно, чтобы была полная загрузка. И варианты не повторялись (в одном варианте не было два молотка к примеру).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2013, 20:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GUI Prolog - найти все возможные способы полной упаковки рюкзака (Prolog):

Логическая задача на Turbo prolog или Gui prolog - Prolog
Может у кого есть исходни на Prolog ЗЫ заранее спаисбо)

GUI, оконный интерфейс, диалог [SWI Prolog] - Prolog
Помогите, пожалуйста создать форму на SWI Prolog!! или скажите где можно найти какие-то примеры, как это сделать?? Спасибо

Создание сайта на Wordpress. Все возможные способы - WordPress
Доброго времени суток ув. Форумчане. Хочу писать/делать/создавать сайты на Wordpress. Но у меня нет уверенности как это делать. Я...

Вывести на экран все возможные различные способы представления числа в виде суммы натуральных чисел - Turbo Pascal
Дано натуральное число N. Требуется получить и вывести на экран все возможные различные способы представления этого числа в виде суммы...

Локальная сеть между 2 зданиями (Возможные способы реализации) - Сети
Здравствуйте Уважаемые форумчане. Есть задача объединить 2 здания в ЛВС. Сеть проводная. Расстояние минимальное 300 метров -...

Найти все возможные комбинации - C#
Есть строка, к примеру . Где первая цифра в ячейке это номер предмета, а после запятой позиция. Сколько таких предметов и позиций не...

4
Грымзик
2468 / 1445 / 31
Регистрация: 14.09.2009
Сообщений: 2,742
31.03.2013, 13:46 #2
Prolog
1
2
3
4
5
6
7
p(molotok,1).
p(palatka,3).
p(verevka,2).
 
z(N,[A]):-p(A,N).
z(N,[A,B|Tail]):-N>0, p(A,W), N1 is N-W,
    z(N1,[B|Tail]), compare(<,A,B).
На свой диалект самостоятельно переведите. Первое правило изменено для полной запаковки. A<B сделано, что бы не просто двух молотков не было, а что бы и не были одинаковые раскладки в разном порядке.
0
Ольга Я
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 13
31.03.2013, 15:01  [ТС] #3
Спасибо. Но это работает, только если сумма элементов совпадает с весом рюкзака. Напр: z(4,X).
X = [molotok,palatka] .
Если введу : z(10,X). выведет no
0
Грымзик
2468 / 1445 / 31
Регистрация: 14.09.2009
Сообщений: 2,742
31.03.2013, 15:11 #4
Тогда не поняла, что означает "полная" упаковка, если 10 вообще невозможно полностью упаковать. Если устраивает не полная упаковка, то верните первое правила.
0
Ольга Я
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 13
31.03.2013, 15:58  [ТС] #5
если предположим грузоподъемность рюкзака 10 , то туда можно положить и палатку и молоток и веревку., так как все войдет.
0
31.03.2013, 15:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2013, 15:58
Привет! Вот еще темы с ответами:

Найти все возможные значения уравнения - Математика
1) числа a,b,c попарно различны и выполняеться уравнения a+1/b=b+1/c=c+1/a найти все возможные значения уравнения

Найти все возможные значения чисел - C++
задано количество разрядов числа диапазона unsigned long, имеющих значение L. Найти все возможные значения чисел.

Найти все возможные перестановки цифр - Алгоритмы
дано 6-розрядное число...надо найти все возможные перестановки цыфр...как ето организовать???помогите пожалуста!

Указатель на целочисленный объект. Указать возможные способы доступа к этому объекту. - C++
здарвствуйте все! помогите пожалуйста с заданиями по мере возможностей: 2) Определив указатель на целочисленный объект, укажите возможные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.