෿__@VERSION@__᷿Exteor 4.0 R1092 - 09/27/2013៿Концептуализаиция СаперࣿКС Саперÿ 5˿X1ÿÿÿ᷿Множество ячеек игрового поля˿S1៿Топология игрового поляࣿℬ(X₁×X₁)ÿ⻿Множество пар "ячейка - соседняя с ней ячейка"˿S2᧿Установлены в начале игры׿ℬ(X₁)ÿᗿЗаминированные ячейки ˿S3ÿ׿ℬ(X₁)ÿ࿿Открытые ячейки˿S4ÿ׿ℬ(X₁)ÿϿХод˿A1ÿᓿ∀a ∈ X₁ a ∈ Pr₁ (S₁)ÿ㏿У каждой ячейки есть множество соседних с ней ячеек˿A2ÿ⛿∀a, b ∈ X₁ ((a, b) ∈ S₁ ⇒ (b, a) ∈ S₁)ÿ㗿Если ячейка а - соседняя для b, то b - соседняя для а˿A3ÿ᛿∀ a ∈ S₁ pr₁ a ≠ pr₂ aÿ◿Ячейка не является соседней сама себе˿A4ÿ௿S₃ ∩ S₂ = ∅ÿ⣿Ни одна заминированная ячейка не открыта˿D1ÿ׿X₁\S₃ÿ᫿Множество допустимых ходов.˿D2ÿ䇿{a ∈ X₁×ℬ(X₁)| ∀c ∈ pr₂ a, ∃ b ∈ S₁ (pr₁ a = pr₁ b & c = pr₂ b )}ÿ㻿Множество пар "ячейка игрового поля; множество соседних ячеек"2˿D3ÿ䋿{a ∈ X₁×ℬ(X₁)| ∃ b ∈ D₂ (pr₁ a = pr₁ b & pr₂ a = pr₂ b ∩ (X₁\S₃))}ÿ䟿Множество пар "ячейка игрового поля; множество закрытых соседних ячеек"4˿D4ÿ㳿{a ∈ X₁×ℬ(X₁)|∃ b ∈ D₃ (pr₁ a = pr₁ b & pr₂ a = pr₂ b ∩ S₂)}ÿ䷿Множество пар "ячейка игрового поля; множество заминированных соседних ячеек" ˿D5ÿᓿ{a ∈ D₃| pr₁ a ∈ S₃}ÿ忿Множество пар "открытая ячейка игрового поля; множество заткрытых соседних ячеек игрового поля"˿D6㗿Card (pr2) - уровень минной опасности открытой ячейкиᓿ{a ∈ D₄| pr₁ a ∈ S₃}ÿ仿Множество пар "открытая ячейка; множество соседних с ней заминированных ячеек" ˿D7ÿ߿D₅ ∩ D₆ÿ냿Множество пар "открытая ячейка, у которой уровень минной опасности совпадает с числом закрытых соседних клеток; закрытые соседние клетки (со 100% вероятностью заминированные)"˿D8ÿ೿red (Pr₂ D₇)ÿ㯿Множество закрытых заминированных с вероятностью 100% ячеек˿D9ÿ㷿{a ∈ X₁×ℬ(X₁)| ∃ b ∈ D₆ (pr₁ a = pr₁ b & pr₂ a = pr₂ b ∩ D₈)}ÿ泿Множество пар "открытая ячейка; множество соседних закрытых ячеек, которые заминированы с вероятностью 100%"ϿD10ÿ诿{a ∈ X₁×ℬ(X₁)| ∃b ∈ D₆, ∃c ∈ D₉, ∃d ∈ D₅ (pr₁ a = pr₁ b & pr₁ a= pr₁ c & pr₁ a = pr₁ d & card (pr₂ b) = card (pr₂ c) & pr₂ a = pr₂ d \ D₈)}ÿ柿Множество пар "открытая ячейка; множество соседних закрытых незаминированных с вероятностью 100% ячеек"ϿD11ÿ෿red (Pr₂ D₁₀)ÿヿМножество ячеек, где мин нет с вероятностью 100%ϿD12ÿ䋿{a ∈ X₁×ℬ(X₁)| ∃d ∈ D₅ (pr₁ a = pr₁ d & pr₂ a = (pr₂ d \ D₈)\D₁₁)}ÿ鏿Множество пар "открытая ячейка; соседние ячейки, которые не являются заминированными с вероятностью 100% или незаминированными с вероятностью 100%"ϿD13ÿ࿿red (Pr₂ (D₁₂))ÿ埿Множество ячеек, соседних с открытыми, где есть мины с вероятностью больше 0 и меньше 1ϿD14ÿ᏿X₁\(S₃ ∪ D₁₁ ∪ D₁₃)ÿ䇿Множество ячеек, где есть мины с вероятностью больше 0 и меньше 1ϿD15ÿ闿{b ∈ ℬ(X₁)| (card (b) = card (S₂) - card (D₈) & b ∩ (D₈ ∪ D₁₁ ∪ S₃) = ∅ & ∀c ∈ D₅, ∀d ∈ D₆ (pr₁ c = pr₁ d & card (pr₂ c ∩ (D₈ ∪ b)) = card (pr₂ d)))}ÿ￿ƆМножество возможных вариантов расположение мин - множество подмножеств Х1 (количество возможных мин = количеству всех мин - количество мин, расположение которых известно с вероятностью 100%; возможные мины не располагаются на клетках, где с вероятностью 100% есть или нет мины, или которая открыта; для любой открытой клетки: ее минная опасность = количество соседних заминированных клеток)ϿD16䫿Вероятность заминированности ячейки pr1(D16) = card (pr2 (D16))/card (D15)䏿{a ∈ X₁ × ℬ(ℬ(X₁))| pr₁ a ∈ D₁₄ & ∀b ∈ pr₂ a (b ∈ D₁₅ & pr₁ a ∈ b)}ÿ꓿Множество пар "ячейка, которая с вероятностью больше 0 и меньше 1 заминирована; множество возможных вариантов расположения мин, при которых эта ячейка заминирована"ϿD17ÿ䧿{a ∈ X₁ × ℬ(ℬ(X₁))| pr₁ a ∈ D₁₄ ∪ D₁₁ & ∀b ∈ pr₂ a (b ∈ D₁₅ & pr₁ a ∈ b)}ÿ꿿Множество пар "ячейка, которая с вероятностью больше либо равно 0 и меньше 1 заминирована; множество возможных вариантов расположения мин, при которых эта ячейка заминирована"+ϿD18೿Целевой терм䟿{a ∈ X₁| ∃c ∈ D₁₇ (pr₁ c = a & ∀d ∈ D₁₇ (card (pr₂ c) ≤ card (pr₂ d)))}ÿ磿Множество ячеек, из которых нужно выбрать ход - множество закрытых ячеек, вероятность находения мин в которых минимальна,˿A5ÿ⋿card(S₄) = 1 & debool (S₄) ∈ X₁\S₃ÿ⣿Ход - это открытие одной закрытой ячейки˿A6ÿᇿdebool (S₄) ∈ D₁₈ÿ嫿Ход нужно совершать, открыв одну из ячеек, вероятность заминированности которых минимальна-ϿD19ÿ߿S₃ ∪ S₄ÿ᫿Открытые после хода ячейки(ϿD20ÿ⃿{a ∈ S₃ ∪ S₄| X₁\(S₃ ∪ S₄) = S₂}ÿ⿿Все закрытые клетки заминированы, игра выйграна)ϿD21ÿ῿{a ∈ S₃ ∪ S₄| debool (S₄) ∈ S₂}ÿỿПодрыв на мине, игра проиграна*