Документ взят из кэша поисковой машины. Адрес оригинального документа : http://wasp.phys.msu.ru/forum/lofiversion/index.php?t3010.html
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 10:26:53 2016
Кодировка: Windows-1251
Студенческий форум Физфака МГУ > Помогите с прогой!
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с прогой!
Студенческий форум Физфака МГУ > Физфак и учеба > Экзамены, зачеты, лекции, семинары, физпраки
Ivanko
Народ! Хелп! Вот делаю третью задачу игру "Пятнашки". Вернее уже сделал. Но препод сказал, что надо еще добавить button, которая будет генерировать собирание фишек в правильно порядке за мин. кол-во ходов. Кто-нить может помочь? Плииизззз!!!!!
асоциальный психопат
хмммм...
условия задачи я не знаю, но из логики вещей разумно предположить, что именно это и является самой главной частью задачи. (-: лучше выложи условия задачи целиком.

вообще, в инете (а особенно -- вне его) встречал статьи по поводу решения этой задачи.
но если бы такая задача стояла передо мной и мне, как и тебе, было бы вломак (да и просто неинтересно) искать, то я бы попробовал думать в таком направлении:
  • отсек брутфорс (тупой перебор) как бесперспективный
  • попробовал проанализировать задачу на предмет возможности разбиения на подзадачи (переставление местами групп фишек)
  • в зависимости от результата предыдущего пункта рассмотрел бы перспективы рекурсии
  • рассмотрел бы игровое поле как массив чисел (типа "вес", можно как абсолютное значение, а можно и относительно "стабильного" состояния), по которому "гуляет" пустышка (ноль), изменяя значения сразу двух клеток: откуда пришла и куда ушла. искал бы тут закономерности.
  • схалтурил бы: генерировал бы доску не случайно, а путем случайных последовательных перемещений из "стабильного" состояния, записывая эти ходы. при нажатии на специальную кнопку просто выдавал бы эти ходы, но в обратном порядке. (-:
но стоит отметить, что если речь идет о наименьшем числе ходов, то по-любому нужно математическое обоснование. (-:

ЗЫ: надеюсь, ты уже в курсе, что при случайном распределении эта задача в половине случаев решения не имеет? (-:
Ivanko
Цитата(асоциальный психопат @ 30 ноября 2005г. - 1:36)
хмммм...
условия задачи я не знаю, но из логики вещей разумно предположить, что именно это и является самой главной частью задачи. (-: лучше выложи условия задачи целиком.

вообще, в инете (а особенно -- вне его) встречал статьи по поводу решения этой задачи.
но если бы такая задача стояла передо мной и мне, как и тебе, было бы вломак (да и просто неинтересно) искать, то я бы попробовал думать в таком направлении:
  • отсек брутфорс (тупой перебор) как бесперспективный
  • попробовал проанализировать задачу на предмет возможности разбиения на подзадачи (переставление местами групп фишек)
  • в зависимости от результата предыдущего пункта рассмотрел бы перспективы рекурсии
  • рассмотрел бы игровое поле как массив чисел (типа "вес", можно как абсолютное значение, а можно и относительно "стабильного" состояния), по которому "гуляет" пустышка (ноль), изменяя значения сразу двух клеток: откуда пришла и куда ушла. искал бы тут закономерности.
  • схалтурил бы: генерировал бы доску не случайно, а путем случайных последовательных перемещений из "стабильного" состояния, записывая эти ходы. при нажатии на специальную кнопку просто выдавал бы эти ходы, но в обратном порядке. (-:
но стоит отметить, что если речь идет о наименьшем числе ходов, то по-любому нужно математическое обоснование. (-:

ЗЫ: надеюсь, ты уже в курсе, что при случайном распределении эта задача в половине случаев решения не имеет? (-:
*

Эта задача не имеет решения только в одном случае-когда все фишки по порядку, а последние две поменяны местами. У меня все это прописано. smile.gif Прогу я могу выложить, если ты к ней допишешь необходимый код. smile.gif Ну или лафу хотя бы... Ну что-нить... Чтоб было... smile.gif На Делфях ессесна. smile.gif
асоциальный психопат
Цитата(Ivanko @ 30 ноября 2005г. - 19:25)
Эта задача не имеет решения только в одном случае-когда все фишки по порядку, а последние две поменяны местами.
*

цимус в том, что к этому "одному случаю" сводится половина всех случаев случайного заполнения поля фишками. (-:

Цитата(Ivanko @ 30 ноября 2005г. - 19:25)
Прогу я могу выложить, если ты к ней допишешь необходимый код.  Ну или лафу хотя бы... Ну что-нить... Чтоб было...
*

вломак.

Цитата(Ivanko @ 30 ноября 2005г. - 19:25)
На Делфях ессесна.
*

хм, тогда даже и смотреть не буду. делфи не стоят у меня. подкинешь дистрибутив для мака? (-:
Ivanko
Все уже сделано. smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2016 IPS, Inc.