{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/move-ordering",
    "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, \"Move ordering is the process of sorting moves so the most promising ones are searched first, which dramatically improves alpha-beta pruning efficiency. Stockfish uses information such as: best moves from previous iterations, captures sorted by SEE (\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Static-Exchange-Evaluation\",\n    \"title\": \"Static Exchange Evaluation\"\n  }, \"Static Exchange Evaluation\"), \"), \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/killer-moves\",\n    \"title\": \"killer moves\"\n  }, \"killer moves\"), \", \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/counter-moves\",\n    \"title\": \"counter-moves\"\n  }, \"counter-moves\"), \", \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/history-heuristics\",\n    \"title\": \"history heuristics\"\n  }, \"history heuristics\"), \", and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/NNUE-suggestions\",\n    \"title\": \"NNUE suggestions\"\n  }, \"NNUE suggestions\"), \". Good ordering ensures \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/early-cutoffs\",\n    \"title\": \"early cutoffs\"\n  }, \"early cutoffs\"), \", saving huge amounts of computation because inferior moves are pruned quickly. In practice, \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/strong-move-ordering\",\n    \"title\": \"strong move ordering\"\n  }, \"strong move ordering\"), \" is the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/single-biggest-multiplier\",\n    \"title\": \"single biggest multiplier\"\n  }, \"single biggest multiplier\"), \" of \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/search-speed\",\n    \"title\": \"search speed\"\n  }, \"search speed\"), \"\\u2014\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/good-ordering-makes-pruning-powerful\",\n    \"title\": \"good ordering makes pruning powerful\"\n  }, \"good ordering makes pruning powerful\"), \"; \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/poor-ordering-makes-it-weak\",\n    \"title\": \"poor ordering makes it weak\"\n  }, \"poor ordering makes it weak\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[]}},"pageContext":{"slug":"move-ordering","node":{"childMdx":{"slug":"move-ordering"}}}},
    "staticQueryHashes": []}