MAGE.jl
Documentation for MAGE.jl.
MAGE.jl is a type-safe extension of Cartesian Genetic Programming (CGP), designed for multimodal evolutionary computation. It introduces multiple chromosomes, each dedicated to a specific output type, enabling a structured and efficient search process.
Key features of MAGE.jl:
- Type-Safe Mutations – Mutations are type-aware, ensuring that connections are only made to inputs that match the function’s signature.
- Multi-Chromosome Representation – Each chromosome corresponds to a distinct output type, improving modularity and adaptability.
- Versatile Applications – Successfully applied to:
- Symbolic Regression
- Program Synthesis
- Image Classification
- Image Segmentation
- Policy Search
MAGE.jl provides a robust framework for evolving adaptive, structured programs while maintaining type integrity.
UTCGP.element_pickUTCGP.integer_basicUTCGP.integer_findUTCGP.integer_moduloUTCGP.listgeneric_basicUTCGP.listgeneric_concatUTCGP.listgeneric_makelistUTCGP.listgeneric_subsetUTCGP.listinteger_iscondUTCGP.listnumber_algebraicUTCGP.listnumber_arithmeticUTCGP.listnumber_recursiveUTCGP.liststring_capsUTCGP.liststring_splitUTCGP.listtuple_combinatoricsUTCGP.number_arithmeticUTCGP.number_reduceUTCGP.str_basicUTCGP.str_capsUTCGP.str_conditionalUTCGP.str_grepUTCGP.str_pasteUTCGP.AbstractCrossOverArgsUTCGP.AbstractLibraryUTCGP.AbstractMetaLibraryUTCGP.CrossOverArgsUTCGP.CrossOverMutRateArgsUTCGP.LibraryUTCGP.LibraryUTCGP.MetaLibraryUTCGP.MetaLibraryUTCGP.MissingCrossOverArgsUTCGP.modelArchitectureUTCGP.nodeConfigUTCGP.runConfBase.getindexBase.iterateBase.lengthBase.sizeUTCGP._apply_crossover_and_mutation!UTCGP._apply_truncation_selection!UTCGP._bool_vector_to_idx_vectorUTCGP._check_genome_compatibilityUTCGP._draw_until_one_operatorUTCGP._initialize_populationUTCGP._mutate_all_alleles!UTCGP._sample_one_node_element_idxUTCGP.add_bundle_to_library!UTCGP.element_pick.pick_element_from_vectorUTCGP.element_pick.pick_last_elementUTCGP.image_pool.avgpool_resize_image2D_factoryUTCGP.image_pool.maxpool_resize_image2D_factoryUTCGP.integer_basic.identity_intUTCGP.integer_find.find_firstUTCGP.integer_modulo.moduloUTCGP.list_functions_namesUTCGP.listfloat_casterUTCGP.listgeneric_basic.identity_listUTCGP.listgeneric_basic.new_listUTCGP.listgeneric_basic.reverse_listUTCGP.listgeneric_concat.concat_two_listsUTCGP.listgeneric_makelist.make_list_from_one_elementUTCGP.listgeneric_makelist.make_list_from_three_elementsUTCGP.listgeneric_makelist.make_list_from_two_elementsUTCGP.listgeneric_subset.pick_from_exclusive_genericUTCGP.listgeneric_subset.pick_from_inclusive_genericUTCGP.listgeneric_subset.pick_until_exclusive_genericUTCGP.listgeneric_subset.pick_until_inclusive_genericUTCGP.listinteger_casterUTCGP.listinteger_iscond.compare_tuple_a_eq_bUTCGP.listinteger_iscond.compare_tuple_a_gr_bUTCGP.listinteger_iscond.compare_tuple_a_less_bUTCGP.listinteger_iscond.is_eq_0UTCGP.listinteger_iscond.is_less_0UTCGP.listinteger_iscond.is_sup_0UTCGP.listnumber_algebraic.abs_vectorUTCGP.listnumber_arithmetic.div_broadcastUTCGP.listnumber_arithmetic.div_vectorUTCGP.listnumber_arithmetic.mult_broadcastUTCGP.listnumber_arithmetic.mult_vectorUTCGP.listnumber_arithmetic.subtract_broadcastUTCGP.listnumber_arithmetic.subtract_vectorUTCGP.listnumber_arithmetic.sum_broadcastUTCGP.listnumber_arithmetic.sum_vectorUTCGP.listnumber_recursive.range_UTCGP.listnumber_recursive.recmultUTCGP.listnumber_recursive.recsumUTCGP.liststring_caps.capitalize_list_stringUTCGP.liststring_caps.uppercasefirst_list_stringUTCGP.liststring_casterUTCGP.liststring_split.split_string_to_vectorUTCGP.listtuple_combinatorics.vector_of_combinationsUTCGP.listtuple_combinatorics.vector_of_productsUTCGP.mage_crossoverUTCGP.mage_crossover_with_numbered_mutationUTCGP.mutate_one_element_from_node!UTCGP.mutate_per_allele!UTCGP.number_arithmetic.number_divUTCGP.number_arithmetic.number_minusUTCGP.number_arithmetic.number_multUTCGP.number_arithmetic.number_sumUTCGP.number_arithmetic.safe_divUTCGP.number_reduce.reduce_argmaxUTCGP.number_reduce.reduce_argminUTCGP.number_reduce.reduce_lengthUTCGP.number_reduce.reduce_maxUTCGP.number_reduce.reduce_minUTCGP.number_reduce.reduce_sumUTCGP.numbered_mutation_traitUTCGP.runconf_trait_crossoverUTCGP.str_basic.number_to_stringUTCGP.str_caps.capitalize_allUTCGP.str_caps.capitalize_firstUTCGP.str_caps.lowercase_UTCGP.str_caps.lowercase_afterUTCGP.str_caps.lowercase_atUTCGP.str_caps.lowercase_beforeUTCGP.str_caps.lowercase_char_afterUTCGP.str_caps.lowercase_char_beforeUTCGP.str_caps.uppercase_UTCGP.str_caps.uppercase_afterUTCGP.str_caps.uppercase_atUTCGP.str_caps.uppercase_beforeUTCGP.str_caps.uppercase_char_afterUTCGP.str_caps.uppercase_char_beforeUTCGP.str_conditional.if_else_stringUTCGP.str_conditional.if_not_stringUTCGP.str_conditional.if_stringUTCGP.str_conditional.longest_stringUTCGP.str_conditional.shortest_stringUTCGP.str_grep.remove_patternUTCGP.str_grep.replace_first_patternUTCGP.str_grep.replace_patternUTCGP.str_paste.pasteUTCGP.str_paste.paste0UTCGP.str_paste.paste_list_stringUTCGP.str_paste.paste_list_string_sepUTCGP.str_paste.paste_space_list_stringUTCGP.str_paste.paste_with_spaceUTCGP.unpack_bundles_in_library!UTCGP.where_to_mutate