Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 23:48   #1
fromdd
 
Регистрация: 19.03.2011
Сообщений: 5
Радость Задача об обезьяне и банане

Задача об обезьяне и банане. Есть замкнутая комната, ящик (в произвольном месте), обезьяна и банан (висящий в центе комнаты). Для того, чтобы достать банан, обезьяна должна подвинуть под него ящик и залезть на него.

Решить полным перебором или при помощи эвристических методов

Это просто рандом или я не так понял, есть ли у кого нибудь пример решения
fromdd вне форума Ответить с цитированием
Старый 07.12.2011, 01:00   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Надо приставить комнату, как двумерный массив.
И простым перебором можно узнать где находится этот банан
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 07.12.2011, 06:56   #3
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию Не указаны способы перемещения ящика...

Не указаны способы перемещения ящика...
1. тяни/толкай - можно зайти с любой стороны к ящику
2. только толкай/только тяни - можно зайти только с одной стороны

простейший алгоритм:
1. найти все пути ящика до банана (поиск пути\набор графов\выбрать все).
2. для каждого пути проверить достижимость обезьяны до точки приложения усилия на каждом шаге пути ящика (вести количество шагов ящика и шагов обезьяны) (поиск пути\набор графов\выбрать короткий)
3. выбрать самый короткий (по шагам ящика/обезьяны) из "проверенных" маршрутов
Не стесняемся, плюсуем!

Последний раз редактировалось Slym; 07.12.2011 в 07:06.
Slym вне форума Ответить с цитированием
Старый 09.12.2011, 16:42   #4
fromdd
 
Регистрация: 19.03.2011
Сообщений: 5
По умолчанию

Способ передвижения ящика тяни толкай, иначе она загонит его в угол и задача не будет иметь решения. А как реализовать данную задачу с помощью рандома, чтоб все действия происходили случ образом, например для поля 5 на 5
fromdd вне форума Ответить с цитированием
Старый 13.12.2011, 01:08   #5
fromdd
 
Регистрация: 19.03.2011
Сообщений: 5
По умолчанию

Никто не знает?
fromdd вне форума Ответить с цитированием
Старый 13.12.2011, 03:39   #6
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

1. Формируем массив все-возможных путей до ящика. (один элемент - один путь)
2. Рандомно отсортировать массив
3. Выбрирать по очереди какждый элемент массива
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 13.12.2011, 10:37   #7
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Цитата:
Сообщение от fromdd Посмотреть сообщение
Никто не знает?
Тебе что еще и код написать? очень надо...
а по поводу тяни/толкай ты походу в сокобан никогда не играл
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 13.12.2011, 12:48   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Находишься в ячейке, из неё несколько вариантов движения. Случайным образом выбираешь один из вариантов и вперед. Для выбора случайного пути Random

1. Определить варианты путей
2. Случайно выбрать вариант
3. Переместиться в выбранную ячейку
4. Сравнить с координатами центральной ячейки
5. Попал в центр - O yeeees! Конец пути
6. Перейти на 1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.12.2011 в 13:02.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51