|
|
|
§ 1.4. Табличные информационные модели Использование таблиц при решении задачРассмотрим несколько примеров задач, которые удобно решать с помощью табличных информационных моделей. Пример 1. Два игрока играют в следующую игру. Перед ними лежат две кучи камней, в первой из которых 3 камня, а во второй — 2 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или увеличивает в 3 раза число камней в какой-то куче, или добавляет 1 камень в какую-то кучу. Выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 16. Кто выигрывает при безошибочной игре — игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте. Ранее мы рассмотрели способ записи решения подобных задач с помощью дерева. Сейчас оформим решение в виде таблицы (табл. 1.5).
Три числа в каждой ячейке таблицы обозначают соответственно количество камней в кучах и их сумму. В первом столбце зафиксировано распределение камней перед игрой (исходное положение). Во втором столбце рассмотрены все возможные варианты ходов первого игрока; победить с первого хода он не может. В третьем столбце рассмотрены имеющиеся выигрышные варианты ходов второго игрока (отмечены «галочкой»). При безошибочной игре первого игрока такие ситуации возникнуть не должны. Поэтому рассматриваем все возможные ходы второго игрока в случаях, когда у него нет выигрышного хода. Если получены одинаковые варианты, то все из них, кроме одного, исключаем из дальнейшего рассмотрения. В четвёртом столбце отмечены имеющиеся выигрышные варианты второго хода первого игрока. При безошибочной игре второго игрока такие ситуации возникнуть не должны. Поэтому рассматриваем все возможные ходы первого игрока в случае, когда у него нет выигрышного хода. В пятом столбце отмечены выигрышные ходы второго игрока, имеющиеся при всех вариантах хода первого игрока. Таким образом, при безошибочной игре соперников побеждает второй игрок. Его первый ход должен быть таким, чтобы в кучах стало 4 и 3 камня. Пример 2. С помощью взвешенного графа на рис. 1.6 представлена схема дорог, соединяющих населённые пункты А, В, С, D, Е. Построим таблицу, соответствующую этому графу (рис. 1.10).
Если между парой населённых пунктов существует дорога, то в ячейку на пересечении соответствующих строки и столбца записывается число, равное её длине. Имеющиеся в таблице пустые клетки означают, что дорог между соответствующими населёнными пунктами нет. Построенная таким образом таблица называется весовой матрицей. Для решения некоторых задач бывает удобно по имеющейся таблице строить граф. При этом одной и той же таблице могут соответствовать графы, внешне не похожие друг на друга. Например, рассмотренной выше таблице кроме графа на рис. 1.6 соответствует граф на рис. 1.11.
|
|
|