2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Модифицированные версии задачи о 8 ферзях
Сообщение12.10.2014, 10:03 


10/05/13
251
Добрый день народ. Сегодня наверное день, которого многие из нас ждут всю неделю.
Все занимаются своим любимым делом в том числе я. Сегодня я запасся огромным
количеством еды, и до упаду буду решать задачи соревнований по спортивному
программированию. Но здесь не об этом. Все, наверное, знают известную задачу о восьми
ферзях http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%B2%D0%BE%D1%81%D1%8C%D0%BC%D0%B8_%D1%84%D0%B5%D1%80%D0%B7%D1%8F%D1%85

В этой теме, я приглашаю людей обменяться своими модификациями этой задачи. Вот
мои несколько задачи, которые получены из этой путем ее мутирования ).

Мутант 1, задачи о восьми ферзях.
Вам дано начальное положение ферзей на доске, а именно в каждом столбце стоит
ровно по одному ферзю. Столбцов 8 штук, но ферзи возможно стоят так, что могут
атаковать друг друга по горизонтали или диагонали. Чтобы исправить это, вы можете
каждого ферзя перемещать вертикально (только). Ваша задача определить
минимальное количество ферзей, которых надо переместить чтобы получилось
расположение в котором никакой ферзь не атакует другого.

Изображение

Мутант 2, задачи о восьми ферзях.
Дана доска размера $20x20$, определите минимальное количество
ферзей, которые покроют всю доску, т. е. после их расположения не останется
неатакованных клеток, разрешается ставить их так, что они могут атаковать друг друга.

Изображение

 Профиль  
                  
 
 Posted automatically
Сообщение12.10.2014, 10:24 
Супермодератор
Аватара пользователя


20/11/12
5728
 i  Тема перемещена из форума «Беседы на околонаучные темы» в форум «Программирование»
Причина переноса: данная тема больше подходит к этому разделу.

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение14.10.2014, 14:53 
Аватара пользователя


02/04/11
37
frankenstein в сообщении #917872 писал(а):
Мутант 2, задачи о восьми ферзях.

Жадный алгоритм + перебор с возвратом не поможет ли? Для досок размером до 8 не врет. Для 20 получилось 13 ферзей.

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение22.10.2014, 09:14 


10/05/13
251
alex7851 в сообщении #918863 писал(а):
frankenstein в сообщении #917872 писал(а):
Мутант 2, задачи о восьми ферзях.

Жадный алгоритм + перебор с возвратом не поможет ли? Для досок размером до 8 не врет. Для 20 получилось 13 ферзей.

На каждом шаге ставить ферзя в клетку, так чтобы он бил как можно больше клеток - отличное решение.
Можете дать оценку сложности вашего решения?
Так же цель темы, собрать разные версии этой задачи, поэтому буду очень благодарен если предложите свою измененную версию задачи.

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение22.10.2014, 13:06 


17/10/08

1313
Линейное программирование - 12 ферзей

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение22.10.2014, 13:33 


10/05/13
251
mserg в сообщении #921847 писал(а):
Линейное программирование - 12 ферзей

Очень интересно, думаю вы тоже применили жадину.
Но, тут у меня возник другой вопрос: "как доказать что решение оптимально?",
хотя в этом можно убедиться перебрав все варианты.

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение22.10.2014, 14:45 


17/10/08

1313
Нет, не жадину. Линейное программирование. Нижняя граница - не менее 8-ми. Для повышения оценки нужно много-много памяти.

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение22.10.2014, 16:03 


10/05/13
251
Можете рассказать про свой метод?

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение22.10.2014, 17:15 


17/10/08

1313
Могу. Формулируется задача линейного программирования и решается с помощью готового математического пакета.

Пример можно найти тут:
http://np-soft.ru/npproject/projects/pu ... vering.htm
Описание ("программа") сделано на NP-языке, в качестве решателя в программе Quick NP использовался в CPLEX.

 Профиль  
                  
 
 Re: Модифицированные версии задачи о 8 ферзях
Сообщение23.10.2014, 15:43 


10/05/13
251
Цель которой я хотел достигнуть этом темой - собрать много разных версий задачи о восьми ферзях.
Ребята, очень круто, что вы решили задачи ( Признаюсь они очень скучные ).
Давайте собирать тут задачи о восьми ферзях.
Ведь интересно придумывать свою задачу, а тут еще узкая тематика. :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group