Difference between revisions of "Conspiracy Numbers"

From Chessprogramming wiki
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
[[FILE:ACC5Schaeffer.jpg|border|right|thumb|[[Jonathan Schaeffer]] on ''Conspiracy Numbers.'' <ref>Photo from [[Advances in Computer Chess 5]] by  [[László Lindner]], [[ICGA Journal#10_3|ICCA Journal, Vol. 10, No. 3]], pp. 138</ref> ]]
 
[[FILE:ACC5Schaeffer.jpg|border|right|thumb|[[Jonathan Schaeffer]] on ''Conspiracy Numbers.'' <ref>Photo from [[Advances in Computer Chess 5]] by  [[László Lindner]], [[ICGA Journal#10_3|ICCA Journal, Vol. 10, No. 3]], pp. 138</ref> ]]
  
'''Conspiracy Numbers''' of the [[Root|root]] or [[Interior Node|interior nodes]] of a [[Search Tree|search tree]] for some value '''v''' are defined as the least number of conspirators, that are [[Leaf Node|leaves]] that must change their evaluation value to '''v''' in order to change the minimax value of the interior node or root <ref>Definition, Sample, and Pseudo code taken from [[Maarten van der Meulen]] ('''1990'''). ''Conspiracy-Number Search''. [[ICGA Journal#13_1|ICCA Journal, Vol. 13, No. 1]]</ref>. Conspiracy Numbers and their possible application for [[Minimax]] search within a [[Best-First|best-first search]] algorithm was first described by [[David McAllester]] <ref>[[David McAllester]] ('''1988'''). ''Conspiracy Numbers for Min-Max Search''. [https://en.wikipedia.org/wiki/Artificial_Intelligence_(journal) Artificial Intelligence], Vol. 35, No. 1, pp. 287-310. ISSN 0004-3702</ref>.
+
'''Conspiracy Numbers''' of the [[Root|root]] or [[Interior Node|interior nodes]] of a [[Search Tree|search tree]] for some value '''V''' are defined as the least number of conspirators, that are [[Leaf Node|leaves]] that must change their evaluation value to '''V''' in order to change the minimax value of the interior node or root <ref>Definition, Sample, and Pseudo code taken from [[Maarten van der Meulen]] ('''1990'''). ''Conspiracy-Number Search''. [[ICGA Journal#13_1|ICCA Journal, Vol. 13, No. 1]]</ref>. Conspiracy Numbers and their possible application for [[Minimax]] search within a [[Best-First|best-first search]] algorithm was first described by [[David McAllester]] <ref>[[David McAllester]] ('''1988'''). ''Conspiracy Numbers for Min-Max Search''. [https://en.wikipedia.org/wiki/Artificial_Intelligence_(journal) Artificial Intelligence], Vol. 35, No. 1, pp. 287-310. ISSN 0004-3702</ref>.
  
 
=Sample=  
 
=Sample=  
Line 125: Line 125:
 
}
 
}
 
</pre>
 
</pre>
 +
=Conspiracy Theory=
 +
Let δ be a number called the singular margin <ref>The term ''singular margin'' comes from the [[Singular Extensions|singular extension]] algorithm ([[Thomas Anantharaman|Anantharaman]] et al. 1990)</ref>. '''Conspiracy theory''' can be formulated using the following definition <ref>[[David McAllester]], [[Deniz Yuret]] ('''1993'''). ''Alpha-Beta Conspiracy Search''. [http://ttic.uchicago.edu/%7Edmcallester/abc.ps ps (draft)]</ref>:
 +
 +
'''Definition''': Let '''T''' be a search tree with min-max value '''<nowiki>V[T]</nowiki>'''. The [[Lower Bound|lower boand]] conspiracy number of '''T''', denoted '''C<sub><</sub><nowiki>[T]</nowiki>''', is the number of leaf static values that must be changed to bring the root min-max value down to '''<nowiki>V[T]</nowiki>-δ'''. The [[Upper Bound|upper boand]] conspiracy number of '''T''', denoted '''C<sub>></sub><nowiki>[T]</nowiki>''', is the number of leaves that must be changed to bring the root value up to '''<nowiki>V[T]</nowiki>+δ'''.
 +
 +
'''C<sub><</sub><nowiki>[T]</nowiki>''' expresses the confidence that the lower bound [[Alpha|α]] will hold by further expansion of the search tree.
  
 
=Search Algorithms=  
 
=Search Algorithms=  
Line 134: Line 140:
  
 
=Publications=  
 
=Publications=  
<ref>[http://ilk.uvt.nl/icga/journal/docs/References.pdf ICGA Reference Database](pdf)</ref>
+
<ref>[[ICGA Journal#RefDB|ICGA Reference Database]]</ref>
 
==1985 ...==  
 
==1985 ...==  
 
* [[David McAllester]] ('''1985'''). ''A New Procedure for Growing Minimax Trees''. Technical Report, Artificial Intelligence Laboratory, MIT
 
* [[David McAllester]] ('''1985'''). ''A New Procedure for Growing Minimax Trees''. Technical Report, Artificial Intelligence Laboratory, MIT
Line 150: Line 156:
 
* [[Maarten van der Meulen]], [[Victor Allis]], [[Jaap van den Herik]] ('''1990'''). ''A Comment on `Conspiracy-Number Search''. [[ICGA Journal#13_2|ICCA Journal, Vol. 13, No. 2]]
 
* [[Maarten van der Meulen]], [[Victor Allis]], [[Jaap van den Herik]] ('''1990'''). ''A Comment on `Conspiracy-Number Search''. [[ICGA Journal#13_2|ICCA Journal, Vol. 13, No. 2]]
 
* [[Victor Allis]], [[Maarten van der Meulen]], [[Jaap van den Herik]] ('''1991'''). ''Conspiracy-Number Search.'' [[Advances in Computer Chess 6]]
 
* [[Victor Allis]], [[Maarten van der Meulen]], [[Jaap van den Herik]] ('''1991'''). ''Conspiracy-Number Search.'' [[Advances in Computer Chess 6]]
* [[David McAllester]], [[Deniz Yuret]] ('''1993'''). ''[[Alpha-Beta Conspiracy Search]]''. [http://ttic.uchicago.edu/%7Edmcallester/abc.ps ps (draft)]
+
* [[David McAllester]], [[Deniz Yuret]] ('''1993'''). ''Alpha-Beta Conspiracy Search''. [http://ttic.uchicago.edu/%7Edmcallester/abc.ps ps (draft)]
 
* [[Lisa Lister]], [[Jonathan Schaeffer]] ('''1994'''). ''An Analysis of the Conspiracy Numbers Algorithm''. [https://en.wikipedia.org/wiki/Computers_and_Mathematics_with_Applications Computers & Mathematics with Applications] Vol. 27, No. 1, [https://en.wikipedia.org/wiki/Elsevier Elsevier], [http://webdocs.cs.ualberta.ca/%7Ejonathan/publications/ai_publications/icn.pdf pdf]
 
* [[Lisa Lister]], [[Jonathan Schaeffer]] ('''1994'''). ''An Analysis of the Conspiracy Numbers Algorithm''. [https://en.wikipedia.org/wiki/Computers_and_Mathematics_with_Applications Computers & Mathematics with Applications] Vol. 27, No. 1, [https://en.wikipedia.org/wiki/Elsevier Elsevier], [http://webdocs.cs.ualberta.ca/%7Ejonathan/publications/ai_publications/icn.pdf pdf]
 
* [[Deniz Yuret]] ('''1994'''). ''[https://scholar.google.com/citations?view_op=view_citation&hl=en&user=EJurXJ4AAAAJ&cstart=40&citation_for_view=EJurXJ4AAAAJ:TQgYirikUcIC The Principle of Pressure in Chess]''. TAINN 1994
 
* [[Deniz Yuret]] ('''1994'''). ''[https://scholar.google.com/citations?view_op=view_citation&hl=en&user=EJurXJ4AAAAJ&cstart=40&citation_for_view=EJurXJ4AAAAJ:TQgYirikUcIC The Principle of Pressure in Chess]''. TAINN 1994
Line 166: Line 172:
 
* [[Mohd Nor Akmal Khalid]], [[E. Mei Ang]], [[Umi Kalsom Yusof]], [[Hiroyuki Iida]], [[Taichi Ishitobi]] ('''2015'''). ''[http://link.springer.com/chapter/10.1007%2F978-3-319-27947-3_6 Identifying Critical Positions Based on Conspiracy Numbers]''. [http://link.springer.com/book/10.1007/978-3-319-27947-3 Agents and Artificial Intelligence], [http://dblp.uni-trier.de/db/conf/icaart/icaart2015s.html#KhalidAYII15 ICAART 2015 - Revised Selected Papers]
 
* [[Mohd Nor Akmal Khalid]], [[E. Mei Ang]], [[Umi Kalsom Yusof]], [[Hiroyuki Iida]], [[Taichi Ishitobi]] ('''2015'''). ''[http://link.springer.com/chapter/10.1007%2F978-3-319-27947-3_6 Identifying Critical Positions Based on Conspiracy Numbers]''. [http://link.springer.com/book/10.1007/978-3-319-27947-3 Agents and Artificial Intelligence], [http://dblp.uni-trier.de/db/conf/icaart/icaart2015s.html#KhalidAYII15 ICAART 2015 - Revised Selected Papers]
 
* [[Jakub Pawlewicz]], [[Ryan Hayward]] ('''2015'''). ''[https://www.aaai.org/ocs/index.php/SOCS/SOCS15/paper/view/11040 Sibling Conspiracy Number Search]''. [https://en.wikipedia.org/wiki/Symposium_on_Combinatorial_Search SoCS 2015]
 
* [[Jakub Pawlewicz]], [[Ryan Hayward]] ('''2015'''). ''[https://www.aaai.org/ocs/index.php/SOCS/SOCS15/paper/view/11040 Sibling Conspiracy Number Search]''. [https://en.wikipedia.org/wiki/Symposium_on_Combinatorial_Search SoCS 2015]
 +
* [[Jakub Pawlewicz]], [[Ryan Hayward]] ('''2016'''). ''[https://www.sciencedirect.com/science/article/pii/S0304397516302729 Conspiracy number search with relative sibling scores]''. [https://en.wikipedia.org/wiki/Theoretical_Computer_Science_(journal) Theoretical Computer Science], Vol. 644
 
* [[Quang Vu]], [[Taichi Ishitobi]], [[Jean-Christophe Terrillon]], [[Hiroyuki Iida]] ('''2016'''). ''Using Conspiracy Numbers for Improving Move Selection in Minimax Game-Tree Search''. [http://www.icaart.org/?y=2016 ICAART 2016], [https://pdfs.semanticscholar.org/1bcf/bd2047bc1d74affda11bf2007cac442dd6f4.pdf pdf]
 
* [[Quang Vu]], [[Taichi Ishitobi]], [[Jean-Christophe Terrillon]], [[Hiroyuki Iida]] ('''2016'''). ''Using Conspiracy Numbers for Improving Move Selection in Minimax Game-Tree Search''. [http://www.icaart.org/?y=2016 ICAART 2016], [https://pdfs.semanticscholar.org/1bcf/bd2047bc1d74affda11bf2007cac442dd6f4.pdf pdf]
 
* [[Zhang Song]], [[Hiroyuki Iida]] ('''2018'''). ''Using single conspiracy number for long term position evaluation''. [[CG 2018]], [[ICGA Journal#40_3|ICGA Journal, Vol. 40, No. 3]]
 
* [[Zhang Song]], [[Hiroyuki Iida]] ('''2018'''). ''Using single conspiracy number for long term position evaluation''. [[CG 2018]], [[ICGA Journal#40_3|ICGA Journal, Vol. 40, No. 3]]

Latest revision as of 16:10, 16 November 2020

Home * Search * Conspiracy Numbers

Jonathan Schaeffer on Conspiracy Numbers. [1]

Conspiracy Numbers of the root or interior nodes of a search tree for some value V are defined as the least number of conspirators, that are leaves that must change their evaluation value to V in order to change the minimax value of the interior node or root [2]. Conspiracy Numbers and their possible application for Minimax search within a best-first search algorithm was first described by David McAllester [3].

Sample

Minimax Tree

A sample minimax tree T with some arbitrary values of the leaves [4]:

root                    ┌───────┐
max node                │  A=3  │
                        └───────┘
           ┌───────┐                 ┌───────┐
min nodes  │  B=2  │                 │  C=3  │
           └───────┘                 └───────┘
  ┌───────┐       ┌───────┐   ┌───────┐       ┌───────┐
  │  D=5  │       │  E=2  │   │  F=3  │       │  G=4  │
  └───────┘       └───────┘   └───────┘       └───────┘

Conspiracy Numbers

Conspiracy numbers for all possible values of the root A
v cn(A, v) conspirators
<= 1 2 (D or E) and (F or G)
2 1 (F or G)
3 0 none
4 1 (E or F)
5 1 E
>= 6 2 (D and E) or (F and G)
Conspiracy numbers for all possible values of node B
v cn(B, v) conspirators
<= 1 1 (D or E)
2 0 none
3,4,5 1 E
>= 6 2 (D and E)
Conspiracy numbers for all possible values of node C
v cn(C, v) conspirators
<= 2 1 (F or G)
3 0 none
4 1 F
>= 5 2 (F and G)

Recursive Definition

Following recursive definition in pseudo C is based on Van der Meulen's code [5]. V(J) represents the minimaxed value of node J. Opposed to McAllester's original definition which deals with pure game theoretic values, Van der Meulen's distinguished non terminal leaves with cn = 1 for values different of v from game theoretic terminal nodes to assign +oo, since it is impossible to change their value, independently been arrived at by Norbert Klingbeil and Jonathan Schaeffer [6]:

int cn(CNode J, int v) {
   int c;
   if ( V(J) == v ) {
      c = 0;
   } else if ( isTerminal(J) ) { 
      c = +oo; /* checkmate, stalemate, tablebase score, etc. */
   } else if ( isLeaf(J) ) {
      c = 1; 
   } else if (isMaxNode(J) && v < V(J) ) {
      c = 0;
      for (all childs J.j)
         if (v < V(J.j) ) c += cn(J.j, v); /* sum */
   } else if (isMinNode(J) && v > V(J) ) {
      c = 0;
      for (all childs J.j)
         if (v > V(J.j) ) c += cn(J.j, v); /* sum */
   } else {
      c = +oo;
      for (all childs J.j)
         c = min( cn(J.j, v), c);
   }
   return c;
}

Conspiracy Theory

Let δ be a number called the singular margin [7]. Conspiracy theory can be formulated using the following definition [8]:

Definition: Let T be a search tree with min-max value V[T]. The lower boand conspiracy number of T, denoted C<[T], is the number of leaf static values that must be changed to bring the root min-max value down to V[T]-δ. The upper boand conspiracy number of T, denoted C>[T], is the number of leaves that must be changed to bring the root value up to V[T]+δ. 

C<[T] expresses the confidence that the lower bound α will hold by further expansion of the search tree.

Search Algorithms

McAllester's aim was related to some drawbacks of alpha-beta, at the worst, the decision at the root is based on a single evaluation of one leaf. If that leaf has assigned an erroneous value, the decision may be disastrous [9]. The idea of Conspiracy Number Search (cn-search) and its variants is to continue until it is unlikely that the minimax value at the root will change.

Publications

[10]

1985 ...

1990 ...

1995 ...

2000 ...

2010 ...

External Links

Conspiracy Numbers

Conspiracy

References

  1. Photo from Advances in Computer Chess 5 by László Lindner, ICCA Journal, Vol. 10, No. 3, pp. 138
  2. Definition, Sample, and Pseudo code taken from Maarten van der Meulen (1990). Conspiracy-Number Search. ICCA Journal, Vol. 13, No. 1
  3. David McAllester (1988). Conspiracy Numbers for Min-Max Search. Artificial Intelligence, Vol. 35, No. 1, pp. 287-310. ISSN 0004-3702
  4. due to Jonathan Schaeffer (1989). Conspiracy Numbers. Advances in Computer Chess 5
  5. Maarten van der Meulen (1990). Conspiracy-Number Search. ICCA Journal, Vol. 13, No. 1
  6. Norbert Klingbeil, Jonathan Schaeffer (1988). Search Strategies for Conspiracy Numbers. Canadian Artificial Intelligence Conference, pp. 133-139
  7. The term singular margin comes from the singular extension algorithm (Anantharaman et al. 1990)
  8. David McAllester, Deniz Yuret (1993). Alpha-Beta Conspiracy Search. ps (draft)
  9. Ulf Lorenz, Valentin Rottmann (1996). Parallel Controlled Conspiracy-Number Search. Advances in Computer Chess 8
  10. ICGA Reference Database

Up one Level