登录 [F2] | 注册 | 找回密码 | 软件下载 | 更新历史 | 关于本站 | 管理团队
首页 排行榜 录像 雷界 论坛 教程 雷神殿 我的地盘 新手上路
[技术]【转】扫雷战略和战术(英) (3/2329)
 [书生] 袁飙 发表于 2008年5月11日
看到一老外近10年前写的东西,希望其中一二能有助大家,特转载:

MINESWEEPER STRATEGIES & TACTICS

To The Reader:

If you have a cool best time, email it to me and I'll list it here with 
your name. Also send tips of your own if you'd like.

Quick tips...


 If you are forced to guess, make the guess which has the least risk. 

 If you don't know all the moves, then trying to go faster actually makes 
you worse. So go slow. 

 If you are forced to guess, make a guess that will actually help you 
if it turns out to be right. 

 Don't just choose the first valid move you notice, choose the best 
move available. 

 Don't mark a mine if it can't possibly help you figure out the 
clear squares. 

 If you want to go your current fastest, distract yourself while you 
play by talking to someone or listening to tv. 

 To improve beyond a certain plateau, you have to make 0 mistakes and 
know 100% of the moves. 

 Avoid the walls until you have eaten out the center of the map. 

Trying to get a good opening should be avoided because it is short-termist. 

You should play slower until you notice the number of mistakes you make 
go down. 

Improve your mouse control by breathing out slowly while moving. 

Only move to the edge of the square you have to click, not its center. 

Avoid back-and-forth movements by organizing 3 or 4 clicks into a line. 

A move that doesn't open a square or mark a mine is a mistake. 

An unnecessary movement of the mouse is a mistake. 

Set the mouse movement rate to fastest. 

Clicks register on mouse-up (i.e. when you release the button). So make 
your clicks snappy. 

An unnecessary click is a mistake, not just one that kills you. 

First make minimizing the number of clicks you need to complete a game
 your goal. Then make your goal speed. 

Instead of using 7 or 8 clicks to do something try to look for the 2 or 3
 strategic clicks which will do the same thing. 

Imagine and already be planning for the states which could result from 
your current move. 

Always start from the same position. 

The best record I've been informed of is 28s for intermediate and 85s for
 expert by Robert Offutt. Please tell me if you know of better. 

Accounting for times you die by chance, you should be able to finish the 
expert level about 50% of the time. 

The hypothetical minimum it takes to mark 99 mines is 40s. So see that 
as an asymptote. 

If you die, estimate your projected time using totalMines / minesMarked * yourTime (i.e. better feedback). 

If you become addicted, play a variety of other less-addictive games. 

Avoid loud, repetitive clicking when other people are present: it really 
annoys them -- they're just afraid to tell you. 

Play Minesweeper to see how drunk you are if you've been drinking. 

[Note: there was so much to say that I just summarized it in the quick 
tips above. What's below is what I covered in detail before deciding to 
just summarize everything. It's ok but it leaves you hanging...]

INTRODUCTION

I'll assume here that you already know the basic rules of Minesweeper. Just 
to get our terminology straight, here are the some definitions: 

clear - a square that doesn't have a mine 

mark - a square with a flag on it to indicate you think a mine is there 

cascade - when the computer automatically opens up clear squares for you 

map - the Minesweeper game board 

LOGICAL MOVES

A logical move is when you either mark a mine or clear a square because you 
are sure you are right. There were several times when I thought I knew all 
the possible logical moves there were, but there were always more. 

Now though, I think I know all the logical moves. I can tell because 
whenever I can't make a logical move, I can always logically proove 
why I can't.

Of course, there are some logical moves which just take too long to 
 figure out.I call these deep moves, because they require deep mental
 processing. Often times, it takes long simply because you are less 
 practiced at figuring out that move. In any case, you might be temped 
 to stop lookin
最近一次修改:2008-5-12 12:15:40
回复此主题
第 1 楼
 [书生] 袁飙 回复于 2008年5月12日
续上。
This is a bit of a dilemma. Without boring you with too much detail, the solution is to force yourself to look for deep moves until you have learned all the possible logical moves. Once you know all the logical moves, then you should avoid deep moves whenever you can.

USEFUL MOVES
As Spock once said, "Logic is only the first step in the path toward enlightenment." And now that I feel like a big nerd, let's go on to useful moves. Before we can tell what is useful, we need a better definition of the game's goal.

Minesweeper's Goal
The goal of Minesweeper is to "complete" the board as fast as possible. The board is complete once all the clear squares are revealed (not all the mines need be marked as is sometimes thought). So the goal is really just to click open all the clear squares. But marking mines, of course, helps us figure out which are the clear squares.

So the solution is to properly interleave marking phases with clearing phases. Here are some possibilities: 

The mass production strategy is to first mark all the mines you can without any further openings, and then to do all the openings you can without any further mine-marking. Pro: cascade openings happen more often and the number of required clicks is minimized. Con: your mind can't cache the section of the map you're working on. Con: you have to move the mouse a lot. 
The sprint strategy is to do one clear move and then one mark move. Pro: mouse movement is minimized. Pro: easy to mentally cache the section of the map you're working -- leads to more deep moves. Con: cascades rarely happen so the number of clicks required is larger.

So the criteria are to minimize mouse movement and the number of clicks, and to maximize caching and cascades. I use to following strategy: 
I look for the spatially closest mark or opening from where the cursor is at. 
Before making that move, I first decide if it is redundant. (example: imagine you know there is an unopened square with a '1' on it and you know where that one mine is. You could open the '1', mark the mine, then hit cascade open on the '1' (3 moves), or, you could mark the mine, then cascade open the '1' (just 2 moves)). A move is redundant if some other move, done first, will make the first move more useful. 
If I find a better move to do first I check if it is redundant too, and so on. 
I stop checking for redundancies once I'm looking too far from the cursor for the movement time to be small or to maintain my cache. 
I make the least redundant move I've found during the process. 
This strategy has the advantage that it weeds out all degenerate cases. A example of a degerate case might be when you have cleared all the squares surrounding a small part of the map which has 12 uncovered squares. Now, suppose that 10 of the uncovered squares are mines, and 2 are clear. You could mark the ten mines until the 2 clear ones become obvious, or you could just figure out in your mind which are the two clear squares and explicitly open them. Not only do you save 10 clicks, but you save all the back-and-forth cursor movement.
John LeFlohic
Febraury 14, 1999 
(完)
原文链接
http://www-cs-students.stanford.edu/~jl/Essays/minesweeper.html
回复此主题
第 2 楼
 [雷圣] 李峰 回复于 2008年5月12日
没翻译啊
看不懂
回复此主题
第 3 楼
 [秀才] 王多 回复于 2008年5月14日
难道要把扫雷网变成学习英语的基地吗,版主译一下的好
回复此主题
  共 3 篇回复  首页 | 上一页 | 下一页 | 末页  现在是第 1/1 页
楼主信息
Copyright @ 2008 扫雷网 Saolei.wang 版权所有 陕ICP备19026089号-1