![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 11.04.2011
Сообщений: 1
|
![]()
Здравствуйте.
Дана следующая задача : В игре на орграфе два игрока поочередно накрывают белыми (соответственно, черными) фишками вершины орграфа. Игрок при своем ходе может накрыть фишкой любую из свободных вершин, хотя бы один предшественник которой накрыт фишкой противника; первым ходом белые накрывают любую вершину. Проигрывает тот, кто при своем ходе не может выставить фишку в соответствии с правилами игры. Определить, является ли начальная конфигурация игры на заданном орграфе выигрышной для белых. Как я понял условие: Задаётся орграф, и нужно определить, существует ли на нём такая вершина, при постановке на которую белым игрок фишки, он оказывается в выигрышной позиции (т.е. выигрывает при безошибочной игре обоих игроков). Я так понимаю, что в данном случае нас интересуют орграфы, не имеющие вершин от которых не отходят дуги, т.к. в противном случае, белый игрок ставит на такую вершину свою фишку и выигрывает. У меня пока что есть только одна идея решения: полный перебор всех вариантов ходов, и построение дерева игры. В соответствии с этим есть несколько вопросов: 1. В правильную ли сторону я думаю, и является ли полный перебор и построение дерева единственным способом решения? Если да, то: а) Как оптимальнее построить дерево? Ведь в орграфе возможно достижение одной вершины несколькими способами с равным кол-вом ходов, в следствии чего в дереве будут одинаковые лишние поддеревья. б) К примеру я построил дерево игры, как определить, какие из листьев, обозначающих победу белых, достигаются независимо от ходов чёрных? Если же нет, то: Прошу подсказать другой способ решения. 2. Для этой задачи орграф лучше представлять с помощью матрицы смежности? Прошу направить на верный путь. Заранее спасибо. ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Задача коммивояжера. Классика жанра.
Литература: А. И. Стрикалов, И. А. Печенежская. Экономико-математические методы и модели. Ещё одна похожая задача: "Задача о восьми ферзях". Она решается посредством обхода дерева решений с возвратом. Простой перебор годен для небольших графов 3 - 5 вершин. Для более сложных возникнет "информационный взрыв". Читайте теорию игр.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 11.04.2011 в 07:25. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск циклов в орграфе | Usr | Помощь студентам | 0 | 14.01.2011 14:05 |
Волновой алгоритм (алгоритм Ли) | MrRockchip | Общие вопросы C/C++ | 4 | 10.05.2010 13:26 |
Игра | Shyt | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 09.04.2010 16:48 |