## AIC and TDP

Advanced methods and approaches for solving Sudoku puzzles

### AIC and TDP

Hi all,
I open this topic to discuss TDP as an alternative to AIC.
I've already exchanged with SpAce and others on this subject but it's all scattered in the forum.
For those who really want to understand my TDP approach, I advise you to refer to the following document in PDF format: http://www.assistant-sudoku.com/Pdf/TDP-anglais.pdf.
On the AIC side, I refer to David P.Bird's basic article: http://forum.enjoysudoku.com/an-aic-primer-t33934.html#p258581 and some comments from SpAce.
In my comparison, I insist a bit more on TDP because I understand that people are not used to my definitions, results and notations, and that it needs some explanations here.
I will compare the two ways of doing things by using the example given by David P. Bird in his article :

Code: Select all

*----------*----------*----------*
r1  | 12 .  .  | 23 *  *  | .  .  .  |
r2  | .  .  .  | .  .  .  | .  .  .  |
r3  | *  *  *  | .  .  13 | .  .  .  |
*----------*----------*----------*

1) AIC is written (1=2)r1c1 - (2=3)r1c4 - (3=1)r3c6
Since AIC works in both directions, it is deduced that 1r1c1 and 1r3c1 are strongly related => that all candidates weakly related to 1r1c1 and 1r3c1, i.e. 1r1c56 and 1r3c123, can be eliminated.
2) TDP uses the notion of anti-track P'(1r1c1) = {2r1c1, 3r1c4, 1r3c6,... } constructed, by definition, by looking for the candidates that we would place on the puzzle if 1r1c1 was eliminated, we can write here -1r1c1 -> 2r1c1 -> 3r1c4 -> 1r3c6, ...
This leads, as for the AIC, to the elimination of 1r1c56 and 1r3c123 which see 1r1c1 and 1r3c6 by virtue of the Th2 TDP part1 which I recall "If B is a candidate contained in P'(A), then any candidate C who sees B
and A can be eliminated
".

My Comment:
1) AIC is a bidirectional writing alternating strong and weak links. Everything is written that makes its supporters say that AIC is generally more productive than a chain of forcing (David P.Bird).
2) The TDP is a writ of implication which may lead one to think that it is less productive than the AIC in terms of elimination because it would be unidirectional. This is not true, because if an AIC establishes reversible paths between two candidates A (start) and B (finish), then we also have P'(A) -> B and P'(B) -> A which gives the same eliminations.
So I will say that TDP contains AICs and forcing chains, because in addition to incorporating linear chains like AICs, TDP allows chains to be nested like forcing net.

Depending on the reactions (which will certainly not be lacking!) I will develop my arguments for comparison.
Robert
Mauriès Robert

Posts: 460
Joined: 07 November 2019
Location: France

### Re: AIC and TDP

Hi Robert,

Looks like David's AIC Primer fed you some misconceptions about AIC users' attitudes in general. It's not your fault. While there's no doubt about David's mastery of AICs, some of the things he's said about other techniques aren't exactly accurate because of his personal biases against them. (Unfortunately some of his most loyal followers have picked up those half-truths at face value and continued spreading them as gospel. I do my best to break that cycle.)

Mauriès Robert wrote:1) AIC is a bidirectional writing alternating strong and weak links. Everything is written that makes its supporters say that AIC is generally more productive than a chain of forcing (David P.Bird).

It totally depends on the definition of "forcing chain" which is an ambiguous term. Apparently David used a very limited one:

David P Bird wrote:In comparison, a forcing chain, which can only be followed in one direction, will depend on the opening assumption and will only be able to prove whether that assumption is false because it would result in a contradiction.

Unfortunately David didn't bother to define his idea of a forcing chain, but it's obvious that he was talking about contradiction chains only. Personally I don't think they should be called forcing chains at all, even though Hodoku does:

Hodoku wrote:Forcing Chain is a generic term for any chain that leads to a contradiction or a verity and thus forces something (any Discontinuous Nice Loop or any AIC is a Forcing Chain by that definition). Chains that don't lead to a contradiction themselves can be combined to a Multiple Forcing Chain. All chains together can either prove a verity or a contradiction, thus leading to a forcing.

So, Hodoku has two kinds of forcing chains (contradiction and verity), and it correctly counts AICs as such (the verity kind). That already contradicts David. The original (?) definition actually included verities only, which makes much more sense to me:

Jeff wrote:Forcing Chain - a chain that has 2 or more implication streams that start from one node and end in another node where the outcomes of inferences merge from the 2 implication streams. In a forcing chain, a node can only infer the next successive node downstream.

That's what we call a Kraken to disambiguate it. A kraken is a kraken whether it's written with Eureka or implication chains or TDP, and like I've said, AICs are just binary krakens. In fact, David's way of finding AICs (GEM) is all about finding binary krakens, because it starts with a strong link and follows the implications both ways. The goal is to find agreements for both branches (verities) or a contradiction for one of them, so GEM finds both kinds of forcing chains (as defined by Hodoku). They're just easy to convert into AICs unless a lot of branching has been used.

In other words, what David said above is misleading because it should be understood within the context of contradiction chains only. On the verity side, AICs are no more (or less) powerful or productive than binary forcing chains because they are the same thing. The only difference is whether they're written on one line or two. However, AICs (and binary forcing chains) are indeed more powerful than contradiction chains which start with a single assumption, because the latter can only deduce something about that assumption and nothing else. (So, are three-way krakens more powerful than binary ones? Nope, they just complicate things. The sweet spot is at exactly two.)

2) The TDP is a writ of implication which may lead one to think that it is less productive than the AIC in terms of elimination because it would be unidirectional. This is not true, because if an AIC establishes reversible paths between two candidates A (start) and B (finish), then we also have P'(A) -> B and P'(B) -> A which gives the same eliminations.

I said the same thing here. The concept of reversibility is another thing that some of David's worshippers have misunderstood and touted as something special. It's not. Every correctly written sudoku chain is more or less bidirectional, and AICs are no special case in that regard. It's just more obvious with them.

What makes AICs special is that they have no concept of direction at all when viewed as static boolean logic. That's the real philosophy behind AICs and what makes them conceptually different from implication chains (and TDP). However, even that makes no practical difference since both can be easily converted into each other, as I demonstrated in the linked post.

So I will say that TDP contains AICs and forcing chains, because in addition to incorporating linear chains like AICs, TDP allows chains to be nested like forcing net.

That sentence (after "because") doesn't make a lot of sense if you think about it. Anyway, I thought it was already established and understood that TDP includes its versions of all those things. No disagreement there. The only significant differences are in the notations and philosophies.

SpAce

Posts: 2674
Joined: 22 May 2017

### Re: AIC and TDP

SpAce wrote:Hi Robert,

Looks like David's AIC Primer fed you some misconceptions about AIC users' attitudes in general. It's not your fault. While there's no doubt about David's mastery of AICs, some of the things he's said about other techniques aren't exactly accurate because of his personal biases against them. (Unfortunately some of his most loyal followers have picked up those half-truths at face value and continued spreading them as gospel. I do my best to break that cycle.)

Mauriès Robert wrote:1) AIC is a bidirectional writing alternating strong and weak links. Everything is written that makes its supporters say that AIC is generally more productive than a chain of forcing (David P.Bird).

It totally depends on the definition of "forcing chain" which is an ambiguous term. Apparently David used a very limited one:

David P Bird wrote:In comparison, a forcing chain, which can only be followed in one direction, will depend on the opening assumption and will only be able to prove whether that assumption is false because it would result in a contradiction.

Unfortunately David didn't bother to define his idea of a forcing chain, but it's obvious that he was talking about contradiction chains only. Personally I don't think they should be called forcing chains at all, even though Hodoku does:

Hodoku wrote:Forcing Chain is a generic term for any chain that leads to a contradiction or a verity and thus forces something (any Discontinuous Nice Loop or any AIC is a Forcing Chain by that definition). Chains that don't lead to a contradiction themselves can be combined to a Multiple Forcing Chain. All chains together can either prove a verity or a contradiction, thus leading to a forcing.

So, Hodoku has two kinds of forcing chains (contradiction and verity), and it correctly counts AICs as such (the verity kind). That already contradicts David. The original (?) definition actually included verities only, which makes much more sense to me:

Jeff wrote:Forcing Chain - a chain that has 2 or more implication streams that start from one node and end in another node where the outcomes of inferences merge from the 2 implication streams. In a forcing chain, a node can only infer the next successive node downstream.

That's what we call a Kraken to disambiguate it. A kraken is a kraken whether it's written with Eureka or implication chains or TDP, and like I've said, AICs are just binary krakens. In fact, David's way of finding AICs (GEM) is all about finding binary krakens, because it starts with a strong link and follows the implications both ways. The goal is to find agreements for both branches (verities) or a contradiction for one of them, so GEM finds both kinds of forcing chains (as defined by Hodoku). They're just easy to convert into AICs unless a lot of branching has been used.

In other words, what David said above is misleading because it should be understood within the context of contradiction chains only. On the verity side, AICs are no more (or less) powerful or productive than binary forcing chains because they are the same thing. The only difference is whether they're written on one line or two. However, AICs (and binary forcing chains) are indeed more powerful than contradiction chains which start with a single assumption, because the latter can only deduce something about that assumption and nothing else. (So, are three-way krakens more powerful than binary ones? Nope, they just complicate things. The sweet spot is at exactly two.)

2) The TDP is a writ of implication which may lead one to think that it is less productive than the AIC in terms of elimination because it would be unidirectional. This is not true, because if an AIC establishes reversible paths between two candidates A (start) and B (finish), then we also have P'(A) -> B and P'(B) -> A which gives the same eliminations.

I said the same thing here. The concept of reversibility is another thing that some of David's worshippers have misunderstood and touted as something special. It's not. Every correctly written sudoku chain is more or less bidirectional, and AICs are no special case in that regard. It's just more obvious with them.

What makes AICs special is that they have no concept of direction at all when viewed as static boolean logic. That's the real philosophy behind AICs and what makes them conceptually different from implication chains (and TDP). However, even that makes no practical difference since both can be easily converted into each other, as I demonstrated in the linked post.

So I will say that TDP contains AICs and forcing chains, because in addition to incorporating linear chains like AICs, TDP allows chains to be nested like forcing net.

That sentence (after "because") doesn't make a lot of sense if you think about it. Anyway, I thought it was already established and understood that TDP includes its versions of all those things. No disagreement there. The only significant differences are in the notations and philosophies.

Space, my AIC Primer made it clear that I defined forcing chains as those that are unidirectional. I then held that forcing (unidirectional) chains are generally less productive than AICs (bidirectional ones). In the quoted post you have then gone to great lengths to fail to prove me wrong.

After your extensive 'deep learning' exercise it is time for you to put up or shut up. Nowhere in your nearly 2,000 posts are any that summarise your pearls of wisdom that correct the numerous faults you have discovered.

David P Bird
David P Bird
2010 Supporter

Posts: 1043
Joined: 16 September 2008
Location: Middle England

### Re: AIC and TDP

Hi David P.Bird and SpAce,
Am I to understand that between you there are certain discrepancies that do not only relate to fundamental problems?
In this subject only the fundamental problems interest me.
Mr Bird, I would be honoured if you could also give your opinion on these fundamental problems, as Mr Space has already done on many occasions, and I thank him for that. I am therefore interested in your opinion on TDP.
It is because I see that the AICs are at the heart of the debates in this forum that I have opened this subject "AIC and TDP" in order to show how TDP is something other than "Forcing chains".
Sincerely
Robert
Last edited by Mauriès Robert on Mon Dec 23, 2019 7:57 am, edited 1 time in total.
Mauriès Robert

Posts: 460
Joined: 07 November 2019
Location: France

### Re: AIC and TDP

Hello David,

Long time no see. So you had to quote my whole post in order to reply with a few lines? In your own words, I might call that "very deliberate vandalizing" of Robert's thread, just like your attacks on me instead of the issues.

David P Bird wrote:Space, my AIC Primer made it clear that I defined forcing chains as those that are unidirectional.

No, it did not (just like you haven't clearly defined MSLS anywhere, causing all kinds of confusion as recently seen). Your statement is ambiguous at best:

In comparison, a forcing chain, which can only be followed in one direction, will depend on the opening assumption and will only be able to prove whether that assumption is false because it would result in a contradiction.

I see two ways to interpret that subordinate clause: either as a supposed attribute of all forcing chains or as a specifier for one type of them. Which one did you mean? It's still not clear to me, though the first option seems more likely (and more incorrect). Personally I don't think it's great either way, because I prefer Jeff's definition which excluded contradiction chains, but at least the latter interpretation would be correct under Hodoku's definition. If you did in fact mean that all forcing chains are unidirectional and assumptive, then you were simply wrong (or using a very personal definition, which amounts to the same thing).

That said, I never saw that part as a problem before. I happen to understand the relationship between AICs and any kind of forcing chains intimately (because I don't believe everything I read), so it didn't really matter to me what you meant. I didn't even pay attention to it.

Obviously it is a problem, however, because we have an example here where it's led to a misunderstanding. I've also seen examples of very experienced AIC users having similar misconceptions, and I suspect the source is the same. Why didn't you say "contradiction chain" or "Nishio"? That wouldn't be ambiguous at all. But, as usual, you can't admit any fault in your communication, even when it's valid criticism that you could use to improve your products. That's simply arrogance, and it's why you keep failing in putting me down despite your best efforts.

Btw, did you know that it was me who gave Robert the link to your AIC Primer in the first place? I even removed my own comment from it first because I didn't think it added value. In general, I think the AIC Primer is one of your best summaries, and I wasn't expecting Robert to find confusing statements in it. But he did, and I can't blame him. So, did you really communicate as clearly as possible? Did you use this opportunity to say something constructive and fix the ambiguity in your writing?

I then held that forcing (unidirectional) chains are generally less productive than AICs (bidirectional ones). In the quoted post you have then gone to great lengths to fail to prove me wrong.

No. I actually confirmed what you said -- iff only contradiction chains were meant. All I criticized was your apparent equating them with all forcing chains, and I firmly stand by that assessment. Once again you're twisting my words to fight straw men.

After your extensive 'deep learning' exercise it is time for you to put up or shut up.

Still barking orders and demands? How did it work out last time?

Nowhere in your nearly 2,000 posts are any that summarise your pearls of wisdom that correct the numerous faults you have discovered.

Oh, I'm deeply flattered to hear that you've read all of my nearly 2000 posts. You're absolutely correct too that my pearls of wisdom don't live in neat, untouchable summaries like yours. Instead they're scattered around within various dialogues where they're continually being honed under sometimes harsh but welcomed criticism. Or maybe they simply don't exist. Either way your judgment of that is even more biased than mine, making it absolutely irrelevant.

Here's a pearl of wisdom for you: "Never wrestle with a pig. You both get dirty and the pig likes it."
Last edited by SpAce on Sun Dec 22, 2019 1:43 pm, edited 1 time in total.

SpAce

Posts: 2674
Joined: 22 May 2017

### Re: AIC and TDP

Robert,
I am sorry but I am no longer involved with this forum from day to day principally because the moderators took no action when Space set about disrupting my posts.
I was just defending myself against his unjustified criticism.

Space,
So you read the line in the AIC Primer where I specified what I meant by forcing chain and then chose to ignore it and apply your own definition to what I said on the grounds:
so it didn't really matter to me what you meant. I didn't even pay attention to it.
You then accused me of being misleading. A classic example of using a 'false fact'.

DPB
.
David P Bird
2010 Supporter

Posts: 1043
Joined: 16 September 2008
Location: Middle England

### Re: AIC and TDP

David P Bird wrote:I am sorry but I am no longer involved with this forum from day to day principally because the moderators took no action when Space set about disrupting my posts.

daViD, all I can do to respond to your blatant lies is provide the link to the relevant discussion. Or did you have something else in mind as well when you said posts? I let people judge for themselves how accurate your description of the events is.

I was just defending myself against his unjustified criticism.

SpAce

Posts: 2674
Joined: 22 May 2017

### Re: AIC and TDP

First of all, it's time for
" Merry Christmas and Happy new year".

It is part of the human behavior to let discussions turn to aggressive, I'll try to avoid this with a small remark.

I am familiar for long with chains leading to contradictions and AIC's. (Sudoku Explainer works mainly on contradictions, my first solver worked purely on AIC's nets)
If the expansion rules in the contradictions chains are simple enough, we have usually a corresponding AIC (simplest cases) or a corresponding AIC net (many examples of such nets in totuan solutions).

I can understand the willingness to have a better and general classification, it's a pity to see the discussion turning to fights.
champagne
2017 Supporter

Posts: 7178
Joined: 02 August 2007
Location: France Brittany

### Re: AIC and TDP

dAvId, I have a proposition for you. Since you seem to be alive, I'm ready to get out of your way so you can make a glorious comeback. It's obvious that both of us can't fit in the same forum, and since you think my contributions are worthless, I'll give you a chance to fix everything I've broken.

Effective immediately, I pledge to stay out at least until the end of January whether you return or not. If you do return and make yourself useful, I'll stay out as long as you stay active.

You have free rein starting now.

PS. Of course I'm suspecting that my voluntary exile doesn't satisfy you. What you really wanted was to get me kicked out. Nevertheless, this is what's on the table. Take it or leave it.
--

Everyone else, Merry Christmas and so forth. SpAce out.
-SpAce-: Show
Code: Select all
*             |    |               |    |    *
*        |=()=|    /  _  \    |=()=|               *
*    |    |   |-=( )=-|   |    |      *
*                     \  ¯  /                   *

"If one is to understand the great mystery, one must study all its aspects, not just the dogmatic narrow view of the Jedi."

SpAce

Posts: 2674
Joined: 22 May 2017

### Re: AIC and TDP

SpAce,

While you are away, may I suggest that you prepare a detailed introduction the GEM approach? You have indicated that you have developed a way to use GEM with HoDoKu. I think forum members would appreciate a step-by-step elucidation of this method. I recommend including visuals from HoDoKu to illustrate each step. The steps should proceed slowly with thorough explanation and interpretation. I recommend including several examples starting with a very simple one [like an XY Chain], then an AIC [but not too hard], then a harder AIC and then proceeding to a quite advanced one [like a complex chain with memory].

May I encourage you to prepare such a document in a form that could be downloaded via the forum? Maybe in .odt format? Then forum members could provide you with feedback; maybe some clarification points; maybe corrections [if needed].

Such a document has the potential to be of value.

Gordon
ghfick

Posts: 117
Joined: 06 April 2016

### Re: AIC and TDP

Hi Gordon,

You're making me break my pledge right away, but I think I need to answer this one.

ghfick wrote:While you are away, may I suggest that you prepare a detailed introduction the GEM approach? You have indicated that you have developed a way to use GEM with HoDoKu. I think forum members would appreciate a step-by-step elucidation of this method.

Glad you asked. I probably would have done that a long time ago if I'd thought anyone was interested. However, I did make one recently in the context of Robert's TDP introduction, here and a bit more here. I guess you didn't see it?

I obviously should have put those in a separate thread instead of polluting Robert's, but there they are for now. Maybe the examples aren't the best, and some of it gets pretty advanced, but nevertheless the basics are covered in Parts 1 and 2.

Would that get you started? Any feedback including criticism is most welcome, but obviously Robert's threads aren't the right place for that. Perhaps an admin could move those posts into a separate thread?

SpAce

Posts: 2674
Joined: 22 May 2017

### Re: AIC and TDP

SpAce wrote:I obviously should have put those in a separate thread instead of polluting Robert's, but there they are for now. Maybe the examples aren't the best, and some of it gets pretty advanced, but nevertheless the basics are covered in Parts 1 and 2.

Would that get you started? Any feedback including criticism is most welcome, but obviously Robert's threads aren't the right place for that. Perhaps an admin could move those posts into a separate thread?

Thanks SpAce, without your intervention I was going to put the following message "The art and method to kill a subject" and leave this thread.
Robert
Mauriès Robert

Posts: 460
Joined: 07 November 2019
Location: France

### Re: AIC and TDP

:: OFF TOPIC ::

Hi All,
SpAce wrote:dAvId, I have a proposition for you. Since you seem to be alive, I'm ready to get out of your way so you can make a glorious comeback. It's obvious that both of us can't fit in the same forum, and since you think my contributions are worthless, I'll give you a chance to fix everything I've broken.
Effective immediately, I pledge to stay out at least
until the end of January whether you return or not. If you do return and make yourself useful, I'll stay out as long as you stay active.

You have free rein starting now.

PS. Of course I'm suspecting that my voluntary exile doesn't satisfy you. What you really wanted was to get me kicked out. Nevertheless, this is what's on the table. Take it or leave it.
--

SpAce out.

Why you have to do that? IMO, that is wrong way – I hate that, but it’s up to you. We will miss you – at least for me .

Merry Christmas !!!

totuan
totuan

Posts: 52
Joined: 25 May 2010
Location: vietnam

### Re: AIC and TDP

can someone enlighten me on why a forcing chain (whether it's an aic or not) would ever not be reversible?

for example if you take a discontinuous aic you can decompose it into a series of implication statements like
if A, then B
if B, then C
if C, then D

and because it's an aic you can reverse it to get
if not D, then not C
if not C, then not B
if not B, then not A

now suppose your chain isn't an aic and it requires some form of branching, like this
if A, then B
if A, then C
if B and C, then D

you can reverse the chain as before by turning the logical and into an or:
if not D, then not B or not C
if not B, then not A
if not C, then not A

and by natural extension you can apply this to any sequence of steps in chain implication logic. of course if you actually did this to a big forcing net or multi colouring pattern that starts from assuming the truth of a candidate value, the reversed expression would be unwieldy and not enlightening at all (e.g. SE's explanations in natural language of long chains at the 9+ level) but it can be done

one could put a natural condition on the reversibility of a chain by disallowing any "or" statements in the chains and only allowing "and" statements (which is how SE organises its chain descriptions), which in this case would mean the second chain isn't reversible; or using only one "or" statement to be used at the beginning such as in kraken row/column/blocks with 3+ branches. but in some cases it can be clear and insightful to write chains with "or" statements in them which i can see in some of ttt/totuan's diagrams like this one as well as some solutions in the daily puzzles that use the | symbol in chain notation which is a clever way to avoid writing branching in the chain

is there some absolute condition i'm missing, or does it come down to just how natural the chain would look if you tried to reverse it? and what difference does it make, in other words, when would we care whether a chain is reversible or not?

edit:
SpAce wrote:Your statement is ambiguous at best:

In comparison, a forcing chain, which can only be followed in one direction, will depend on the opening assumption and will only be able to prove whether that assumption is false because it would result in a contradiction.

I see two ways to interpret that subordinate clause: either as a supposed attribute of all forcing chains or as a specifier for one type of them. Which one did you mean?

space i disagree that this is unclear since the commas before "which" and after "direction" clearly indicate that it applies as a descriptor for all forcing chains. if the commas weren't there then it would be a specifier for one type of them. this is standard usage. however i will need to read up on the rest of this to determine what's going on
999_Springs

Posts: 531
Joined: 27 January 2007
Location: In the toilet, flushing down springs, one by one.

### Re: AIC and TDP

999_Springs wrote:can someone enlighten me on why a forcing chain (whether it's an aic or not) would ever not be reversible?

Hi 999_Springs,

Let me try with the risk to be wrong

I think that the answer is in the precise meaning of "reversible" in the case of an AIC.

In the "clearing form" of an AIC

A=B-C=D-E=F

if one end is false, the other end is true. This is granted if we have alternatively strong and weak inferences.

If "A" is false, "F" is true
if "F" is false, "A" is true

any candidate/group of candidates making wrong both "A" and "F" is not valid.

Often a contradiction (with Sudoku Explainer definition) can not be expressed in this way.
champagne
2017 Supporter

Posts: 7178
Joined: 02 August 2007
Location: France Brittany

Next