Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
 Аватар для Ma3day
4 / 4 / 4
Регистрация: 18.10.2010
Сообщений: 20

Задание по прологу по типу "волк коза и капуста"

16.11.2010, 17:48. Показов 7875. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача о миссионерах и каннибалах.
Три миссионера и три каннибала находятся на левом
берегу реки. Все хотят перебраться на другой берег. Здесь
же небольшая лодка, вмещающая не более двух человек.
Если на каком-то берегу каннибалов окажется больше, чем
миссионеров, то они съедят миссионеров. Если окажется
больше миссионеров, то они обратят каннибалов в свою веру.
Найти последовательность ездок, гарантирующую безопасность
миссионерам и свободу вероисповедания каннибалам.
заранее благодарен)
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2010, 17:48
Ответы с готовыми решениями:

Волк, коза и капуста через БД?
Здравствуйте. Скажу сразу, облазил всё что мог, но найти мой вариант решения этой головоломки я не смог. У меня есть только вывод...

Решение задачи "Волк, коза и капуста" (но с более сложным условием)
Человеку в трехместной лодке нужно переправиться на другой берег с козлом, капустой, двумя волками и собакой, причем собака в ссоре с...

Волк, коза и капуста
на одном берегу вовк, коза и капуста, как их переправить на 2 берег лодкой я знаю, а вот как ето запрограмировать незнаю((( подскажите!!!...

32
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
18.12.2011, 17:38
Студворк — интернет-сервис помощи студентам
Значит вам надо ити в школу 1-11 класс, а не универ
0
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 14
18.12.2011, 17:50
Надо научиться объяснять нормальным языком, а не строить из себя бог весь кого
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
18.12.2011, 18:05
надо научится читать, а не
Цитата Сообщение от elfy Посмотреть сообщение
строить из себя бог весь кого
0
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 14
18.12.2011, 18:06
бла бла, закрыли тему.
Всем спасибо
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
18.12.2011, 18:19
Омг ну и дураки пошли

Добавлено через 4 минуты
Ешь рыбу от нее умнеют
Цитата Сообщение от freest Посмотреть сообщение
А если требуется сохранить веру каннибалов, то надо поменять это
Код Prolog1 ableState(X, Y):-X=Y;X=0;X=3.
на это
Код Prolog1 ableState(X, X).
0
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 14
18.12.2011, 18:24
Ты сам то пробовал заменять??!
Ответ No solutions тебя видимо устроил, да?
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
18.12.2011, 18:26
Лол
Мб это показывает, что решений задачи нету???
0
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 14
18.12.2011, 18:30
Это показывает, что предложенное тобой решение неверное.
Решение есть! реши на бумаге и ты его увидишь.
А предлагать неправильное решение задачи и указывать на него как истинное это очень глупо
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
18.12.2011, 18:34
Бедолага, напиши его, если оно есть
0
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 14
18.12.2011, 18:38
[state(1,1,"turnright"),state(1,0,"turnle ft"),state(0,2,"turnright"),state(0,1,"t urnleft"),state(2,0,"turnright"),state(1 ,1,"turnleft"),state(2,0,"turnright"),st ate(0,1,"turnleft"),state(0,2,"turnright "),state(1,0,"turnleft"),state(1,1,"turn right")]


оно наверное неправильное, да ведь? ведь твоя программа не может ошибаться
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
18.12.2011, 18:45
Бедняшка, это правильное для другого условия когда миссионеров может быть больше чем каннибалов)) сходи покушай рыбки, а потом умничай
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.12.2011, 19:05
Можно было бы и повежливей разговаривать. elfy, по-моему Вы вообще ни в чем не можете упрекать freest-а, что бы он не писал. В любом случае, он вам помог. А если не нравиться, то ищите помощи в другом месте.
Предложенное Вами решение действительно не соответствует условиям. Ведь будет например момент, когда на левом берегу 3 миссионера и к нему подплывает лодка с каннибалом. Имеется решение только если считать, то высадка и посадка в лодку моментально происходит. Тогда задача усложняется, т.к в состояние надо вводить еще один параметр - текущее положение в лодке. Я бы не парилась и сдавала бы текущий вариант, думаю, что с Вас больше и не требуется.
0
0 / 0 / 0
Регистрация: 27.04.2013
Сообщений: 7
27.04.2013, 09:35
Доброе утро! помогите пожауйста! задача - Три миссионера и три каннибала находятся на левом берегу реки. Здесь же двухместная лодка. Все хотят перебраться на другой берег. Если на каком-либо берегу каннибалов окажется больше, чем мессионеров, то последних съедят. Найти посмледовательность поездок, при которой все переберуться на другой берег без потерь.
На этом форуме я нашла текст программы:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
implement main
   open core
   open console
    open list
constants
    className = "main".
    classVersion = "".
domains
сост = tuple(symbol, integer*, integer*).
путь = сост*.
class predicates
поиск_в_ширину: (сост, сост) -> путь determ.
поиск_в_ширину: (путь*, сост*, сост) -> путь determ.
переход: (сост) -> сост nondeterm.
перевезти: (integer, integer*, integer*, integer*, integer*) nondeterm (i,i,i,o,o). 
clauses
    classInfo(className, classVersion).
поиск_в_ширину(X, Y) = поиск_в_ширину([[X]], [X], Y).
 
поиск_в_ширину([[Y | П] | _], _, Y) = [Y | П]:- !.
поиск_в_ширину([[X | П] | Пути], Состояния, Y) = поиск_в_ширину(НовПути, Состояния1, Y):-
    Продолжения = [[Z, X| П] || Z = переход(X), not(isMember(Z, Состояния))],
            НовПути = append(Пути, Продолжения),
            Вершины = [V || [V | _] = getMember_nd(Продолжения)],
            Состояния1 = append(Вершины, Состояния).
 
переход(tuple("л", Л, П)) = tuple("п", Л1, П1):-
    N = std::fromTo(1, 2),
    перевезти(N, Л, П, Л1, П1).
переход(tuple("п", Л, П)) = tuple("л", Л1, П1):-
    N = std::fromTo(1, 2),
    перевезти(N, П, Л, П1, Л1).        
 
перевезти(N, [КДо, МДо], [КПосле, МПосле], [КДо-КЛ, МДо-МЛ], [КПосле+КЛ, МПосле+МЛ]):- 
    КЛ = std::fromTo(0, КДо),
    КЛ <= N, 
    МЛ = N - КЛ,
    МЛ <= МДо,  
    if МДо-МЛ > 0 then КДо-КЛ <= МДо-МЛ end if,
    if МПосле+МЛ > 0 then КПосле+КЛ <= МПосле+МЛ end if.
class facts
    счетчик : positive := 0.
clauses
    run():-
     TaskWindow = taskWindow::new(),
        TaskWindow:show(),
         init(),
        Старт = tuple("л", [3, 3], [0, 0]),  
        Цель= tuple("п", [0, 0], [3, 3]), 
        Путь = поиск_в_ширину(Старт, Цель), 
        foreach tuple(Берег, Левый, Правый) = getMember_nd(reverse(Путь)),
                Левый = [КЛ, МЛ], Правый = [КП, МП]
          do 
            writef("%. На левом берегу: % кан. и % мис.; на правом берегу: % кан. и % мис. \n", 
                   счетчик, КЛ, МЛ, КП, МП),
            if Берег = "л" 
               then write("\tлодка отправляется с левого берега на правый\n\n")
               else if not(Левый = [0, 0]) then 
                      write("\tлодка отправляется с правого берега на левый\n\n") end if
             end if,
             счетчик := счетчик + 1
        end foreach,
        !, 
        _ = readLine();
        succeed().  
end implement main
 
goal
mainExe::run(main::run).
но дело в том, что на том прологе, на котором мы работаем, подобные тексты не идут(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2013, 09:35

Волк, коза, капуста(заезженная тема)
Решить задачу про Волка, козу и капусту на прологе 1.0(или это swi пролог...фиг знает)....посмотрел всевозможные решения в инете..исправить...

Подскажите как запустить игру Волк коза и капуста на xlisp
Есть исходник, лисп загружаю ее на xlisp через (load&quot;igra.lsp&quot;) дальше не знаю как реализовать . подскажите (defun is_in (k lst) ...

Волк Коза и Капуста: Просмотреть все возможные варианты перевозок и выбрать наикратчайший вариант
Доброе время суток, форумчане. Сразу к делу. предмет называется &quot;Искусственный Интеллект&quot;. Нужно решить эту задачу про волка, козу и...

Программа "Волк, коза и капуста"
Люди, помогите пожалуйста, срочно, в пятницу (15,04) надо сдавать. &quot;Волк, коза и капуста&quot;. Задание: для вывода изображений...

Волк заяц и коза
Классическая задача про волка заяца и козу , которых нужно перевозить на другой берег так что бы коза не съела капусту а волк не съел козу....


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru