Difference between revisions of "Complexity Zoo"
Satoshi Hada (talk | contribs) m (an alternative of iOS viewer) |
|||
(33 intermediate revisions by 22 users not shown) | |||
Line 3: | Line 3: | ||
==Introduction== | ==Introduction== | ||
− | Welcome to the '''Complexity Zoo'''... There are now | + | Welcome to the '''Complexity Zoo'''... There are now 547 classes and counting! |
[[Image:zoo.gif|thumb|right|200px|what's your problem?]] | [[Image:zoo.gif|thumb|right|200px|what's your problem?]] | ||
{{CZ-Menu-Content}} | {{CZ-Menu-Content}} | ||
− | + | ; Zookeeper : [http://www.scottaaronson.com/ Scott Aaronson] | |
+ | ; Veterinarian : [http://www.math.ucdavis.edu/~greg/ Greg Kuperberg] | ||
+ | ; Zoo Conservationist : [https://www.linkedin.com/in/oliver-habryka-8a585297 Oliver Habryka] on behalf of the [https://www.lesswrong.com/ LessWrong] community | ||
− | + | The Zoo first opened in 2002. It was made into a wiki in 2005, and hosted at the University of Waterloo from 2012 to 2020. | |
− | |||
− | |||
− | |||
− | Errors? Omissions? Misattributions? Your favorite class not here? Then please contribute to the zoo as you see fit by [[ | + | Errors? Omissions? Misattributions? Your favorite class not here? Then please contribute to the zoo as you see fit by [[Special:UserLogin | signing up]] and clicking on the edit links. Please include references, or better yet links to papers if available. |
− | To create a new class, click on the edit link of the class before or after the one that you want to add and copy the format of that class. (The classes are alphabetized by their tag names.) Then add the class to the table of contents and increment the total number of classes. After this, you can use the side edit links to edit the individual sections. For more on using the wiki language, see | + | To create a new class, click on the edit link of the class before or after the one that you want to add and copy the format of that class. (The classes are alphabetized by their tag names.) Then add the class to the table of contents and increment the total number of classes. After this, you can use the side edit links to edit the individual sections. For more on using the wiki language, see the [https://www.mediawiki.org/wiki/Help:Contents Mediawiki Help page]. |
If you would like to contribute but feel unable to make the updates yourself, email the zookeeper at scott at scottaaronson.com. | If you would like to contribute but feel unable to make the updates yourself, email the zookeeper at scott at scottaaronson.com. | ||
Line 26: | Line 25: | ||
* [[Zoo Intro|Introductory Essay]]: New visitors may want to stop here and see what the Zoo is all about. | * [[Zoo Intro|Introductory Essay]]: New visitors may want to stop here and see what the Zoo is all about. | ||
* [[Petting Zoo]]: A more gentle version of the Zoo with fewer classes, meant for new initiates in complexity. (If you're looking for where the Most Important Classes went, look in the Petting Zoo.) | * [[Petting Zoo]]: A more gentle version of the Zoo with fewer classes, meant for new initiates in complexity. (If you're looking for where the Most Important Classes went, look in the Petting Zoo.) | ||
− | |||
''Other Collections and Resources'' | ''Other Collections and Resources'' | ||
* [[Complexity Garden]]: Problems of interest in complexity theory and some notes about important inclusions. | * [[Complexity Garden]]: Problems of interest in complexity theory and some notes about important inclusions. | ||
+ | * [[Complexity Dojo]]: A collection of major theorems in complexity theory. | ||
* [[Zoo Exhibit|Special Exhibit]]: A collection of classes of quantum states and probability distributions. | * [[Zoo Exhibit|Special Exhibit]]: A collection of classes of quantum states and probability distributions. | ||
* [http://www.math.ucdavis.edu/~greg/zoology/intro.html Complexity Zoology]: A computer-assisted survey maintained by the [http://www.math.ucdavis.edu/~greg/ Greg Kuperberg], including [http://www.math.ucdavis.edu/~greg/zoology/diagram.xml active] and [http://www.math.ucdavis.edu/~greg/zoology/diagram.pdf static] inclusion diagrams. | * [http://www.math.ucdavis.edu/~greg/zoology/intro.html Complexity Zoology]: A computer-assisted survey maintained by the [http://www.math.ucdavis.edu/~greg/ Greg Kuperberg], including [http://www.math.ucdavis.edu/~greg/zoology/diagram.xml active] and [http://www.math.ucdavis.edu/~greg/zoology/diagram.pdf static] inclusion diagrams. | ||
− | * [http://satoshihada.wordpress.com/complexity-zoo-for-ipad/ Complexity Zoo for iPad (and iPhone)]: An iOS viewer for Complexity Zoo. | + | * [http://satoshihada.wordpress.com/complexity-zoo-for-ipad/ Complexity Zoo for iPad (and iPhone)]: An iOS viewer for Complexity Zoo. [https://satoshihada.github.io/complexity-zoo/ An alternative]. |
− | |||
''Appendices'' | ''Appendices'' | ||
Line 43: | Line 41: | ||
*[[Zoo Acknowledgments|Acknowledgments]]: Where the Zookeeper and friends acknowledge those who have helped out with the Zoo. | *[[Zoo Acknowledgments|Acknowledgments]]: Where the Zookeeper and friends acknowledge those who have helped out with the Zoo. | ||
*[[Meta:Complexity Zoo Contributor's Guide|Complexity Zoo Contributor's Guide]]: A guide on how to get started helping out with the Zoo. | *[[Meta:Complexity Zoo Contributor's Guide|Complexity Zoo Contributor's Guide]]: A guide on how to get started helping out with the Zoo. | ||
− | |||
''NB:'' Longtime Zoo watchers may recall Chris Bourke's LaTeX version of the Zoo and Chad Brewbaker's graphical inclusion diagram. These references are obsolete until further notice. | ''NB:'' Longtime Zoo watchers may recall Chris Bourke's LaTeX version of the Zoo and Chad Brewbaker's graphical inclusion diagram. These references are obsolete until further notice. | ||
Line 62: | Line 59: | ||
{{CZ-Letter-Section|H}} | {{CZ-Letter-Section|H}} | ||
{{CZ-Letter-Section|I}} | {{CZ-Letter-Section|I}} | ||
− | <!--{{CZ-Letter-Section|J}} | + | <!--{{CZ-Letter-Section|J}}--> |
− | {{CZ-Letter-Section|K}} | + | {{CZ-Letter-Section|K}} |
{{CZ-Letter-Section|L}} | {{CZ-Letter-Section|L}} | ||
{{CZ-Letter-Section|M}} | {{CZ-Letter-Section|M}} |
Latest revision as of 05:21, 19 September 2024
Introduction
Welcome to the Complexity Zoo... There are now 547 classes and counting!
Complexity classes by letter: Symbols - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z
Lists of related classes: Communication Complexity - Hierarchies - Nonuniform
- Zookeeper
- Scott Aaronson
- Veterinarian
- Greg Kuperberg
- Zoo Conservationist
- Oliver Habryka on behalf of the LessWrong community
The Zoo first opened in 2002. It was made into a wiki in 2005, and hosted at the University of Waterloo from 2012 to 2020.
Errors? Omissions? Misattributions? Your favorite class not here? Then please contribute to the zoo as you see fit by signing up and clicking on the edit links. Please include references, or better yet links to papers if available.
To create a new class, click on the edit link of the class before or after the one that you want to add and copy the format of that class. (The classes are alphabetized by their tag names.) Then add the class to the table of contents and increment the total number of classes. After this, you can use the side edit links to edit the individual sections. For more on using the wiki language, see the Mediawiki Help page.
If you would like to contribute but feel unable to make the updates yourself, email the zookeeper at scott at scottaaronson.com.
See Also
Introductory Resources
- Introductory Essay: New visitors may want to stop here and see what the Zoo is all about.
- Petting Zoo: A more gentle version of the Zoo with fewer classes, meant for new initiates in complexity. (If you're looking for where the Most Important Classes went, look in the Petting Zoo.)
Other Collections and Resources
- Complexity Garden: Problems of interest in complexity theory and some notes about important inclusions.
- Complexity Dojo: A collection of major theorems in complexity theory.
- Special Exhibit: A collection of classes of quantum states and probability distributions.
- Complexity Zoology: A computer-assisted survey maintained by the Greg Kuperberg, including active and static inclusion diagrams.
- Complexity Zoo for iPad (and iPhone): An iOS viewer for Complexity Zoo. An alternative.
Appendices
- Glossary: Definitions of some complexity theoretic terms.
- References: Bibliography for the Zoo.
- Pronunciation Guide: A resource for those who insist on communicating verbally about complexity.
- Conventions and Notation: Common notational conventions used here at the Zoo.
- Operators: A (very short) list of operators which act upon classes.
- Acknowledgments: Where the Zookeeper and friends acknowledge those who have helped out with the Zoo.
- Complexity Zoo Contributor's Guide: A guide on how to get started helping out with the Zoo.
NB: Longtime Zoo watchers may recall Chris Bourke's LaTeX version of the Zoo and Chad Brewbaker's graphical inclusion diagram. These references are obsolete until further notice.
All Classes
Complexity classes by letter: Symbols - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z
Lists of related classes: Communication Complexity - Hierarchies - Nonuniform
Symbols
0-1-NPC - 1NAuxPDAp - 2-EXP - 3SUM-hard - #AC0 - #L - #L/poly - #GA - #P - #W[t] - ⊕EXP - ⊕L - ⊕L/poly - ⊕P - ⊕Pcc - ⊕SAC0 - ⊕SAC1
A
A0PP - AC - AC0 - AC0[m] - AC1 - ACC0 - Ack - AH - AL - ALL - ALOGTIME - AlgP/poly - Almost-NP - Almost-P - Almost-PSPACE - AM - AMcc - AMEXP - AM ∩ coAM - AM[polylog] - AmpMP - AmpP-BQP - AP - APP - APSPACE - APX - ASPACE - ATIME - AUC-SPACE(f(n)) - AuxPDA - AVBPP - AvgE - AvgP - AW[P] - AWPP - AW[SAT] - AW[*] - AW[t] - AxP - AxPP
B
βP - BC=P - BH - BPd(P) - BPE - BPEE - BPHSPACE(f(n)) - BPL - BP•L - BP•NP - BPP - BPPcc - BPPcc - BPPKT - BPP/log - BPP/mlog - BPP//log - BPP/rlog - BPP-OBDD - BPPpath - BPQP - BPSPACE(f(n)) - BPTIME(f(n)) - BQNC - BQNP - BQP - BQP/log - BQP/poly - BQP/mlog - BQP/mpoly - BQP/qlog - BQP/qpoly - BQP-OBDD - BQPSPACE - BQPCTC - BQPtt/poly - BQTIME(f(n)) - k-BWBP
C
C=AC0 - C=L - C=P - CC - CC0 - CFL - CH - Check - CkP - CL - CL#P - CLOG - CNP - coAM - coC=P - cofrIP - Coh - coMA - coModkP - compIP - compNP - coNE - coNEXP - coNL - coNP - coNPC - coNPcc - coNP/poly - coNQP - coRE - coRNC - coRP - coSL - coSPARSE - coUCC - coUP - CP - cq-Σ2 - CSIZE(f(n)) - CSL - CSP - CSPACE - CZK
D
D#P - DCFL - Δ2P - δ-BPP - δ-RP - DET - DiffAC0 - DisNP - DistNP - DP - DQC1 - DQP - DSPACE(f(n)) - DTIME(f(n)) - DTISP(t(n),s(n)) - Dyn-FO - Dyn-ThC0
E
E - EE - EEE - EESPACE - EEXP - EH - ELEMENTARY - ELkP - EP - EPTAS - k-EQBP - EQP - EQPK - EQTIME(f(n)) - ESPACE - ∃BPP - ∃NISZK - ∃R - EXP - EXP/poly - EXPSPACE
F
FBQP - FERT - FPERT - Few - FewEXP - FewP - FH - FIXP - FNL - FNL/poly - FNP - FO - FO(DTC) - FO(LFP) - FO(PFP) - FO(TC) - FO() - FOLL - FP - FPNP[log] - FPL - FPR - FPRAS - FPT - FPTnu - FPTsu - FPTAS - FQMA - frIP - F-TAPE(f(n)) - F-TIME(f(n))
G
GA - GAN-SPACE(f(n)) - GapAC0 - GapL - GapP - GC(s(n),C) - GCSL - GI - GLO - GPCD(r(n),q(n)) - G[t]
H
HalfP - HeurBPP - HeurBPTIME(f(n)) - HeurDTIME(f(n)) - HeurP - HeurPP - HeurNTIME(f(n)) - HkP - HVSZK
I
IC[log,poly] - IP - IOP - IPP - IP[polylog]
K
L
L - LC0 - LH - LIN - LkP - LOGCFL - LogFew - LogFewNL - LOGLOG - LOGNP - LOGSNP - L/poly - LWPP
M
MA - MAcc - MA' - MAC0 - MAE - MAEXP - mAL - MAPOLYLOG - MaxNP - MaxPB - MaxSNP - MaxSNP0 - mcoNL - MinPB - MIP - MIP* - MIPns - MIPEXP - (Mk)P - mL - MM - MMSNP - mNC1 - mNL - mNP - ModkL - ModL - ModkP - ModP - ModPH - ModZkL - mP - MP - MPC - mP/poly - mTC0
N
NAuxPDAp - NC - NC0 - NC1 - NC2 - NE - NE/poly - Nearly-P - NEE - NEEE - NEEXP - NEXP - NEXP/poly - NIPZK - NIQSZK - NISZK - NISZKh - NL - NL/poly - NLIN - NLO - NLOG - NMCL - NONE - NNC(f(n)) - NP - NPC - NPC - NPcc - NPcc - NPI - NP ∩ coNP - (NP ∩ coNP)/poly - NP/log - NPMV - NPMV-sel - NPMVt - NPMVt-sel - NPO - NPOPB - NP/poly - (NP,P-samplable) - NPR - NPSPACE - NPSV - NPSV-sel - NPSVt - NPSVt-sel - NQL - NQL - NQP - NSPACE(f(n)) - NT - NT* - NTIME(f(n))
O
P
P - P/log - P/poly - P#P - P#P[1] - PCTC - PAC0 - PBP - k-PBP - PC - Pcc - Pcc - PCD(r(n),q(n)) - P-Close - PCP(r(n),q(n)) - PDQP - PermUP - PEXP - PF - PFCHK(t(n)) - PH - PHcc - Φ2P - PhP - Π2P - PINC - PIO - PK - PKC - PL - PL1 - PL∞ - PLF - PLL - P-LOCAL - P-RLOCAL - PLS - PNP - PNPcc - P||NP - PNP[k] - PNP[log] - PNP[log^2] - P-OBDD - PODN - polyL - PostBPP - PostBPPcc - PostBQP - PP - PPcc - PP/poly - PPA - PPAD - PPADS - PPP - PPP - PPSPACE - PQMA[log] - PQUERY - PR - PR - PrHSPACE(f(n)) - PromiseBPP - PromiseBQP - PromiseP - PromiseRP - PromiseUP - PrSPACE(f(n)) - P-Sel - PSK - PSPACE - PSPACEcc - PSPACE/poly - PT1 - PTAPE - PTAS - PT/WK(f(n),g(n)) - PZK
Q
Q - QAC0 - QAC0[m] - QACC0 - QACf0 - QAM - QCFL - QCMA - QCPH - QEPH - QH - QIP - QIP[2] - QL - QMA - QMA-plus - QMA(2) - QMA1 - QMAlog - QMAM - QMA/qpoly - QMIP - QMIPle - QMIPne - QNC - QNC0 - QNC0/qpoly - QNC0/🐱 - QNCf0 - QNC1 - QP - QPH - QPLIN - QPSPACE - QRG - QRG(k) - QRG(2) - QRG(1) - QRL - QSZK
R
R - RBQP - RE - REG - RevSPACE(f(n)) - RG - RG[1] - RHL - RHSPACE(f(n)) - RL - RNC - RNC1 - RP - RPcc - RPcc - RPP - RQP - RSPACE(f(n))
S
S≠ - S2P - S2E - S2-EXP•PNP - SAC - SAC0 - SAC1 - SAPTIME - SBP - SBPcc - SBQP - SC - SE - SEH - SelfNP - SFk - Σ2P - SIZE(f(n)) - SKC - SL - SLICEWISE PSPACE - SNP - SO - SO(Horn) - SO(Krom) - SO(LFP) - SO(TC) - SO[] - SP - span-L - span-P - SPARSE - SPL - SPP - SQG - SUBEXP - symP - SZK - SZKh
T
TALLY - TC - TC0 - TC0(FOLL) - TC1 - TFNP - Θ2P - TI - TOWER - TreeBQP - TREE-REGULAR
U
UAMcc - UAP - UCC - UCFL - UE - UL - UL/poly - UP - UPcc - UPostBPPcc - UPPcc - US - USBPcc - UWAPPcc
V
VCk - VCOR - VNCk - VNPk - VPk - VPL - VQPk
W
W[1] - WAPP - WAPPcc - WHILE - W[P] - WPP - W[SAT] - W[*] - W[t] - W*[t]
X
XOR-MIP*[2,1] - XL - XNL - XP - XPuniform
Y
Z
ZAMcc - ZBQP - ZK - ZPE - ZP•L - ZPP - ZPPcc - ZPTIME(f(n)) - ZQP