{"componentChunkName":"component---src-templates-thesis-page-js","path":"/theses/ImprovingEvoLearner/","result":{"data":{"mdx":{"frontmatter":{"title":"Improving Search-based OWL Class Expression Learners","supervisor":"dice:CaglarDemir","contact":"dice:CaglarDemir","type":"Bachelor"},"body":"var _excluded = [\"components\"];\n\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); }\n\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; }\n\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\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"date\": \"2026-10-09\",\n  \"title\": \"Improving Search-based OWL Class Expression Learners\",\n  \"type\": \"Bachelor\",\n  \"supervisor\": \"dice:CaglarDemir\",\n  \"contact\": \"dice:CaglarDemir\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"topic\"\n  }, \"Topic\"), mdx(\"p\", null, \"Given positive and negative examples, OWL class expression learners search for a class expression that describes the positive examples and excludes the negative ones.\\nSearch-based learners such as CELOE and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/dice-group/Ontolearn\"\n  }, \"EvoLearner\"), \" are inherently explainable, as the learned expression is a first-order logical expression.\\nEvoLearner is an evolutionary algorithm that evolves a population of class expressions through crossover and mutation, guided by a fitness function.\"), mdx(\"p\", null, \"Yet, the search remains expensive on large knowledge graphs, and the quality of the learned expressions depends strongly on the initial population, the variation operators, and the fitness function.\"), mdx(\"p\", null, \"In this thesis, the student will investigate how to improve an existing search-based learner such as EvoLearner.\\nPossible directions include (but are not limited to)\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"better initialization of the population,\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"new crossover and mutation operators,\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"fitness functions that balance predictive quality and expression length,\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"techniques that preserve diversity in the population to avoid premature convergence,\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"using knowledge graph embeddings (e.g. trained with \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/dice-group/dice-embeddings\"\n  }, \"dice-embeddings\"), \") to guide the search.\")), mdx(\"p\", null, \"The proposed improvements will be evaluated against CELOE, EvoLearner, and other learners on benchmark datasets (e.g. Family, Mutagenesis, and Carcinogenesis) in terms of F1 score, expression length, and runtime.\"), mdx(\"p\", null, \"The student will closely work on \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/dice-group/ontolearn\"\n  }, \"ontolearn\"), \" and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/dice-group/owlapy\"\n  }, \"owlapy\"), \".\"), mdx(\"h4\", {\n    \"id\": \"question--answer-session\"\n  }, \"Question & Answer Session\"), mdx(\"p\", null, \"In case you have further questions, feel free to contact \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://dice-research.org/CaglarDemir\"\n  }, \"Caglar Demir\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{}},"staticQueryHashes":["2497506207","63159454","932199770"]}