{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/montecarlo-versus-alpha-beta-engines",
    "result": {"data":{"mdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Monte-Carlo\",\n    \"title\": \"Monte-Carlo\"\n  }, \"Monte-Carlo\"), \" engines (like \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/AlphaZero\",\n    \"title\": \"AlphaZero\"\n  }, \"AlphaZero\"), \", \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Leela\",\n    \"title\": \"Leela\"\n  }, \"Leela\"), \") use \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/self-play-simulations\",\n    \"title\": \"self-play simulations\"\n  }, \"self-play simulations\"), \" guided by neural networks, \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/repeatedly-exploring-random-playouts\",\n    \"title\": \"repeatedly exploring random playouts\"\n  }, \"repeatedly exploring random playouts\"), \" and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/statistically-backing-up-results\",\n    \"title\": \"statistically backing up results\"\n  }, \"statistically backing up results\"), \", while alpha-beta engines (like Stockfish) \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/systematically\",\n    \"title\": \"systematically\"\n  }, \"systematically\"), \" \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/eliminate-inferior-lines\",\n    \"title\": \"eliminate inferior lines\"\n  }, \"eliminate inferior lines\"), \" through \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/precise-pruning\",\n    \"title\": \"precise pruning\"\n  }, \"precise pruning\"), \" and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/exact-search\",\n    \"title\": \"exact search\"\n  }, \"exact search\"), \". Monte-Carlo search excels in \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/long-term-planning\",\n    \"title\": \"long-term planning\"\n  }, \"long-term planning\"), \", \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/pattern-recognition\",\n    \"title\": \"pattern recognition\"\n  }, \"pattern recognition\"), \", and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/positional-intuition\",\n    \"title\": \"positional intuition\"\n  }, \"positional intuition\"), \" because it uses deep neural nets to evaluate and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/guide-rollouts\",\n    \"title\": \"guide rollouts\"\n  }, \"guide rollouts\"), \". Alpha-beta engines excel in \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/calculation-heavy-positions\",\n    \"title\": \"calculation-heavy positions\"\n  }, \"calculation-heavy positions\"), \", \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/tactics\",\n    \"title\": \"tactics\"\n  }, \"tactics\"), \", and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/exactness\",\n    \"title\": \"exactness\"\n  }, \"exactness\"), \" because they compute minimax results directly. \"), mdx(\"p\", null, \"Monte-Carlo methods are more \\u201C\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/human-like\",\n    \"title\": \"human-like\"\n  }, \"human-like\"), \",\\u201D while alpha-beta methods are more \\u201C\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/tactically-brute-force-precise\",\n    \"title\": \"tactically brute-force precise\"\n  }, \"tactically brute-force precise\"), \".\\u201D\"));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[]}},"pageContext":{"slug":"montecarlo-versus-alpha-beta-engines","node":{"childMdx":{"slug":"montecarlo-versus-alpha-beta-engines"}}}},
    "staticQueryHashes": []}