Aji = Potential. Keshi = Erasure.
AjiKeshi, pronounced AH-jee KESH-ee, is a term we use when playing the GameOfGo. Here is a typical situation in go that creates the term. Black and White exchange several moves. During the sequence, B plays a sacrificial stone that, as the sequence develops, W gradually almost-captures.
Aji (literally, taste) is a way to describe the almost-captured B stone. The stone, as it sits, is perhaps one move away from being removed from the board. It is, at this time in the main flow, a useless stone.
And yet, it ain't over til the credits roll. The stone is almost-captured, but not captured, and possibilities still exist. Depending on how the rest of the game flows, B may be able to use this stone in one of two ways:
AjiKeshi is when B makes a move that eliminates the aji of the stone without taking full advantage of the two above possibilities. Inexperienced players are uncomfortable with the instability of the board. They prefer to play a locally advantageous forcing move so that W will capture, because it eliminates an uncertainty in a game that often seems just too damned full of uncertainties.
Experienced players, on the other hand, see the aji and let it sit, for as long as possible. (Sometimes they'll even consciously manipulate the flow of the game so as to make a small aji into a large one, knowing that ultimately they'll be able to reap the benefits using one of the two options above.)
Go masters teach that AjiKeshi is a bad thing. Eliminating the aji seems good, because it simplifies, it reduces uncertainty and instability. But when we eliminate aji, we sacrifice future gains to present fears. -- MichaelHill
Ahhh. To sacrifice future gains to present fears. This is certainly a concept that all programmers should be able to name and discuss. ThankYou for explaining it so carefully.
Wow, great analogy. As a go player, as soon as I saw the title, I knew exactly what you were talking about. I just ran into this today with a coworker who was having difficulty because he was trying to design a system that would handle all of our needs for the next year, never mind that we don't know what our needs are yet. I told him just to make good shape and tenuki. --DanSchmidt
Marvellous description, Mike. Just perfect. I see this most concretely in design: the classes you identify hide the classes you could have identified. Best to define your design a little at a time and RefactorMercilessly as you go. --PeterMerel
The definition at top defines a common situation where an isolated stone or weak group is involved. Another (and possibly more common) form of AjiKeshi is where a player plays a move that takes advantage of another player's weakness (such as a potential cut) to make a slightly profitable but non-strategically important move for free. The move is free because the other player is forced to cover his or her weakness. However, that weakness could be potentially exploited in a different and more profitable way later in the game. An AjiKeshi move is one where the profit made by a move does not exceed the potential of keeping the situation open.
Aji = Potential. Keshi = Erasure.
You could say that every move in Go is AjiKeshi to some degree. See http://web.archive.org/web/20010430190521/http://home.san.rr.com/rafgo/go/strategy/go_strategy_00.html for a very interesting essay on this concept. -- ScottDossey
A similar situation often occurs in the intricate and intensely strategic card game MagicTheGathering (distributed by Wizards of the Coast, http://www.wizards.com).
You left out 'extremely addictive.' It's also called 'Crack For Geeks,' and it's what got me into programming (but that's another story). -- ShaeErisson
In the game, there exists a group of cards that are sometimes referred to as "threat cards". An example of a threat card is an Armor Thrull. This is a creature which may be sacrificed by a player to give a permanent defensive bonus to another creature, making the other creature significantly more resistant to attack by the opponent. (As per the text on the card, the other creature is given a cloak made from the skin of the dead Thrull). A player typically has multiple other creatures which could benefit from this, although some of those other creatures are more valuable than others.
Novices will often sacrifice the Thrull as soon as they have managed to bring another creature that they value into play, reasoning that this minimizes the chance that their opponent will destroy the Thrull before the novice has a chance to sacrifice it. The novice reasons that the swift sacrifice guarantees that the Novice's valued creature will be protected by the Thrull.
Expert players, however, realize that once the Thrull has been sacrificed, it protects only one other creature, while BEFORE it has been sacrificed, it protects ALL of the other creatures, since the opponent can never tell when it will be sacrificed, or where it will appear once it is dead. As a result, the opponent must play as if ALL of the player's creatures ALREADY HAVE the armor. The opponent usually becomes very cautious, and is afraid to attack for fear that the Thrull will appear at the worst possible moment, in the worst possible place. As a result, the possession of an Armor Thrull can win a game for its holder, EVEN IF THE THRULL IS NEVER ACTUALLY SACRIFICED.
Sacrificing the Thrull unnecessarily loses the advantage that is held by a player who has not yet chosen where to play it. AjiKeshi.
For those who are Go players and can truly understand the nature of aji, read Kawabata's The Master of Go, which describes the game of the century between the last of the great go masters of the old tradition (of inheritance of title from one's master) and a bold young upstart (of the modern tradition of earning titles in tournament play). It is one of the most complex games I have ever seen--the master capitulates at a point where I could have sworn he still had the game won. Aji for breakfast! --EdBuffaloe
Actually, that book is pretty accessible even if you don't play Go. But there are easier ways to learn Go - try EzGo! --PeterMerel
Many folks like EzGo, it's true, but I found it lacking. True story? I think I got issues with BruceWilcox. Sigh. Why can't I just get along?? --mh
Wilcox is a much better player than I'll ever be, and EzGo filed years (decades?) off my learning process. If you learn the game via the traditional route I'm sure you end up a better player. Still, for a lazy bugger like me, Wilcox was a God-send. --PeterMerel
P.S. Wilcox is a lot better than me, too. There's just something... -- mh
Bumptiousness?
In chess, there is a well-known saying, "The threat is stronger than its execution." (I forgot by whom?)
One application to programming that is coming to my mind is, "The threat of change is stronger than its execution". --FalkBruegmann
To quoth Snoopy: "The anticipation far exceeded the actual event."--MichaelBrown
Related: FutureDiscounting