From 42fee213a4c82fb9724d8cdb7af1f60bb19005e9 Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:16:04 +0200 Subject: [PATCH 1/7] Add docu --- .github/workflows/Documentation.yml | 23 + docs/Manifest.toml | 1112 +++++++++++++++++++++++++++ docs/Project.toml | 7 + docs/make.jl | 28 + docs/src/index.md | 25 + 5 files changed, 1195 insertions(+) create mode 100644 .github/workflows/Documentation.yml create mode 100644 docs/Manifest.toml create mode 100644 docs/Project.toml create mode 100644 docs/make.jl create mode 100644 docs/src/index.md diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 0000000..a0b4f8d --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,23 @@ +name: Documentation +on: + push: + branches: + - main + - dev + tags: '*' + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@latest + with: + version: '1.9' + - name: Install dependencies + run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + - name: Build and deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token + run: julia --project=docs/ docs/make.jl \ No newline at end of file diff --git a/docs/Manifest.toml b/docs/Manifest.toml new file mode 100644 index 0000000..2f210fe --- /dev/null +++ b/docs/Manifest.toml @@ -0,0 +1,1112 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.9.4" +manifest_format = "2.0" +project_hash = "cc4750d9a4cab4b63be5e68c51520402e8dd2164" + +[[deps.ANSIColoredPrinters]] +git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" +uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" +version = "0.0.1" + +[[deps.AbstractTrees]] +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.5" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "4.0.4" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "d57bd3762d308bded22c3b82d033bff85f6195c6" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.4.0" + +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "c5aeb516a84459e0318a02507d2261edad97eb75" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.7.1" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" + ArrayInterfaceTrackerExt = "Tracker" + + [deps.ArrayInterface.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BenchmarkTools]] +deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] +git-tree-sha1 = "f1dff6729bc61f4d49e140da1af55dcd1ac97b2f" +uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +version = "1.5.0" + +[[deps.BitFlags]] +git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.8" + +[[deps.CSV]] +deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] +git-tree-sha1 = "6c834533dc1fabd820c1db03c839bf97e45a3fab" +uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" +version = "0.10.14" + +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[deps.Catch22]] +deps = ["DelimitedFiles", "DimensionalData", "Libdl", "LinearAlgebra", "Pkg", "ProgressLogging", "Reexport", "Requires", "Statistics", "TimeseriesFeatures", "catch22_jll"] +git-tree-sha1 = "e62cc37eb8afccc1112d71608ca0746e5e7ada4a" +uuid = "acdeb78f-3d39-4310-8fdf-6d75c17c6d5a" +version = "0.5.0" + +[[deps.CategoricalArrays]] +deps = ["DataAPI", "Future", "Missings", "Printf", "Requires", "Statistics", "Unicode"] +git-tree-sha1 = "1568b28f91293458345dabba6a5ea3f183250a61" +uuid = "324d7699-5711-5eae-9e2f-1d82baa6b597" +version = "0.10.8" + + [deps.CategoricalArrays.extensions] + CategoricalArraysJSONExt = "JSON" + CategoricalArraysRecipesBaseExt = "RecipesBase" + CategoricalArraysSentinelArraysExt = "SentinelArrays" + CategoricalArraysStructTypesExt = "StructTypes" + + [deps.CategoricalArrays.weakdeps] + JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + SentinelArrays = "91c51154-3ec4-41a3-a24f-3f23e20d615c" + StructTypes = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" + +[[deps.CategoricalDistributions]] +deps = ["CategoricalArrays", "Distributions", "Missings", "OrderedCollections", "Random", "ScientificTypes"] +git-tree-sha1 = "926862f549a82d6c3a7145bc7f1adff2a91a39f0" +uuid = "af321ab8-2d2e-40a6-b165-3d674595d28e" +version = "0.1.15" + + [deps.CategoricalDistributions.extensions] + UnivariateFiniteDisplayExt = "UnicodePlots" + + [deps.CategoricalDistributions.weakdeps] + UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" + +[[deps.CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "c0216e792f518b39b22212127d4a84dc31e4e386" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.3.5" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.4" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.5" + +[[deps.Compat]] +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.15.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.5+0" + +[[deps.ComputationalResources]] +git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" +uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" +version = "0.3.2" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "6cbbd4d241d7e6579ab354737f4dd95ca43946e1" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.4.1" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "260fd2400ed2dab602a7c15cf10c1933c59930a2" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.5" +weakdeps = ["IntervalSets", "StaticArrays"] + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + +[[deps.Crayons]] +git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" +uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" +version = "4.1.1" + +[[deps.DataAPI]] +git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.16.0" + +[[deps.DataFrames]] +deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] +git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8" +uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +version = "1.6.1" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.20" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DecisionTree]] +deps = ["AbstractTrees", "DelimitedFiles", "LinearAlgebra", "Random", "ScikitLearnBase", "Statistics"] +git-tree-sha1 = "526ca14aaaf2d5a0e242f3a8a7966eb9065d7d78" +uuid = "7806a523-6efd-50cb-b5f6-3fa6f1930dbb" +version = "0.12.4" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + +[[deps.Dictionaries]] +deps = ["Indexing", "Random", "Serialization"] +git-tree-sha1 = "1f3b7b0d321641c1f2e519f7aed77f8e1f6cb133" +uuid = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4" +version = "0.3.29" + +[[deps.DimensionalData]] +deps = ["Adapt", "ArrayInterface", "ConstructionBase", "Dates", "Extents", "IntervalSets", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "PrecompileTools", "Random", "RecipesBase", "SparseArrays", "Statistics", "TableTraits", "Tables"] +git-tree-sha1 = "16ebad2fa5262cb9986406f7f90a7ff5082d98f7" +uuid = "0703355e-b756-11e9-17c0-8b28908087d0" +version = "0.25.8" + + [deps.DimensionalData.extensions] + DimensionalDataMakie = "Makie" + + [deps.DimensionalData.weakdeps] + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.Distributions]] +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "9c405847cc7ecda2dc921ccf18b47ca150d7317e" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.109" + + [deps.Distributions.extensions] + DistributionsChainRulesCoreExt = "ChainRulesCore" + DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" + + [deps.Distributions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Documenter]] +deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "CodecZlib", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "TOML", "Test", "Unicode"] +git-tree-sha1 = "5461b2a67beb9089980e2f8f25145186b6d34f91" +uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +version = "1.4.1" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.8" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.10" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.6.2+0" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.Extents]] +git-tree-sha1 = "2140cd04483da90b2da7f99b2add0750504fc39c" +uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" +version = "0.1.2" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.3" + +[[deps.FilePathsBase]] +deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"] +git-tree-sha1 = "9f00e42f8d99fdde64d40c8ea5d14269a2e2c1aa" +uuid = "48062228-2e41-5def-b9a4-89aafe57970f" +version = "0.9.21" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FillArrays]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "0653c0a2396a6da5bc4766c43041ef5fd3efbe57" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.11.0" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.5" + +[[deps.FunctionWrappers]] +git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" +uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" +version = "1.1.3" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.Git]] +deps = ["Git_jll"] +git-tree-sha1 = "04eff47b1354d702c3a85e8ab23d539bb7d5957e" +uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" +version = "1.3.1" + +[[deps.Git_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "d18fb8a1f3609361ebda9bf029b60fd0f120c809" +uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" +version = "2.44.0+2" + +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "4f2b57488ac7ee16124396de4f2bbdd51b2602ad" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.11.0" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.10.8" + +[[deps.HypergeometricFunctions]] +deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.23" + +[[deps.IOCapture]] +deps = ["Logging", "Random"] +git-tree-sha1 = "8b72179abc660bfab5e28472e019392b97d0985c" +uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" +version = "0.2.4" + +[[deps.Indexing]] +git-tree-sha1 = "ce1566720fd6b19ff3411404d4b977acd4814f9f" +uuid = "313cdc1a-70c2-5d6a-ae34-0150d3930a38" +version = "1.1.1" + +[[deps.Inflate]] +git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.5" + +[[deps.InlineStrings]] +deps = ["Parsers"] +git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" +uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" +version = "1.4.0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.IntervalSets]] +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] + + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" + +[[deps.InvertedIndices]] +git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" +uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" +version = "1.3.0" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.IterTools]] +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.10.0" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JuliaInterpreter]] +deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] +git-tree-sha1 = "e9648d90370e2d0317f9518c9c6e0841db54a90b" +uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" +version = "0.9.31" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.1" + +[[deps.LazilyInitializedFields]] +git-tree-sha1 = "8f7f3cabab0fd1800699663533b6d5cb3fc0e612" +uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" +version = "1.2.2" + +[[deps.Lazy]] +deps = ["MacroTools"] +git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" +uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" +version = "0.15.1" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.28" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.0.3" + +[[deps.LossFunctions]] +deps = ["Markdown", "Requires", "Statistics"] +git-tree-sha1 = "df9da07efb9b05ca7ef701acec891ee8f73c99e2" +uuid = "30fc2ffe-d236-52d8-8643-a9d8f7c094a7" +version = "0.11.1" +weakdeps = ["CategoricalArrays"] + + [deps.LossFunctions.extensions] + LossFunctionsCategoricalArraysExt = "CategoricalArrays" + +[[deps.LoweredCodeUtils]] +deps = ["JuliaInterpreter"] +git-tree-sha1 = "c6a36b22d2cca0e1a903f00f600991f97bf5f426" +uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" +version = "2.4.6" + +[[deps.MLJBase]] +deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Dates", "DelimitedFiles", "Distributed", "Distributions", "InteractiveUtils", "InvertedIndices", "LinearAlgebra", "LossFunctions", "MLJModelInterface", "Missings", "OrderedCollections", "Parameters", "PrettyTables", "ProgressMeter", "Random", "ScientificTypes", "Serialization", "StatisticalTraits", "Statistics", "StatsBase", "Tables"] +git-tree-sha1 = "0b7307d1a7214ec3c0ba305571e713f9492ea984" +uuid = "a7f614a8-145f-11e9-1d2a-a57a1082229d" +version = "0.21.14" + +[[deps.MLJDecisionTreeInterface]] +deps = ["CategoricalArrays", "DecisionTree", "MLJModelInterface", "Random", "Tables"] +git-tree-sha1 = "90ef4d3b6cacec631c57cc034e1e61b4aa0ce511" +uuid = "c6f25543-311c-4c74-83dc-3ea6d1015661" +version = "0.4.2" + +[[deps.MLJModelInterface]] +deps = ["Random", "ScientificTypesBase", "StatisticalTraits"] +git-tree-sha1 = "88ef480f46e0506143681b3fb14d86742f3cecb1" +uuid = "e80e1ace-859a-464e-9ed9-23947d8ae3ea" +version = "1.10.0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.13" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MarkdownAST]] +deps = ["AbstractTrees", "Markdown"] +git-tree-sha1 = "465a70f0fc7d443a00dcdc3267a497397b8a3899" +uuid = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" +version = "0.1.2" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.9" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+0" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.2.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.Mocking]] +deps = ["Compat", "ExprTools"] +git-tree-sha1 = "bf17d9cb4f0d2882351dfad030598f64286e5936" +uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" +version = "0.7.8" + +[[deps.ModalDecisionLists]] +deps = ["CategoricalArrays", "DataFrames", "Distributions", "FillArrays", "MLJDecisionTreeInterface", "MLJModelInterface", "MultiData", "Parameters", "RDatasets", "Random", "Reexport", "Revise", "SoleBase", "SoleData", "SoleLogics", "SoleModels", "StatsBase"] +path = ".." +uuid = "dbece2fb-9d58-4710-9902-4ec759308ae8" +version = "0.1.0" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.10.11" + +[[deps.MultiData]] +deps = ["CSV", "Catch22", "DataFrames", "DataStructures", "Logging", "MLJModelInterface", "Random", "Reexport", "Revise", "ScientificTypes", "SoleBase", "Statistics", "StatsBase", "Tables"] +git-tree-sha1 = "f2795b9938525bc82f0f74e4c8504080c9ce935f" +uuid = "8cc5100c-b3d1-4f82-90cb-0ea93d317aba" +version = "0.1.0" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.21+4" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+0" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.3" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3da7367955dcc5c54c1ba4d402ccdc09a1a3e046" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.13+1" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+0" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.31" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.1" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.9.2" + +[[deps.PooledArrays]] +deps = ["DataAPI", "Future"] +git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" +uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" +version = "1.4.3" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.3" + +[[deps.PrettyTables]] +deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] +git-tree-sha1 = "66b20dd35966a748321d3b2537c4584cf40387c7" +uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" +version = "2.3.2" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + +[[deps.ProgressLogging]] +deps = ["Logging", "SHA", "UUIDs"] +git-tree-sha1 = "80d919dee55b9c50e8d9e2da5eeafff3fe58b539" +uuid = "33c8b6b6-d38a-422a-b730-caa89a2f386c" +version = "0.1.4" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "763a8ceb07833dd51bb9e3bbca372de32c0605ad" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.10.0" + +[[deps.PtrArrays]] +git-tree-sha1 = "f011fbb92c4d401059b2212c05c0601b70f8b759" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.2.0" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "9b23c31e76e333e6fb4c1595ae6afa74966a729e" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.9.4" + +[[deps.RData]] +deps = ["CategoricalArrays", "CodecZlib", "DataFrames", "Dates", "FileIO", "Requires", "TimeZones", "Unicode"] +git-tree-sha1 = "19e47a495dfb7240eb44dc6971d660f7e4244a72" +uuid = "df47a6cb-8c03-5eed-afd8-b6050d6c41da" +version = "0.8.3" + +[[deps.RDatasets]] +deps = ["CSV", "CodecZlib", "DataFrames", "FileIO", "Printf", "RData", "Reexport"] +git-tree-sha1 = "2720e6f6afb3e562ccb70a6b62f8f308ff810333" +uuid = "ce6b1742-4840-55fa-b093-852dadbb1d8b" +version = "0.7.7" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RegistryInstances]] +deps = ["LazilyInitializedFields", "Pkg", "TOML", "Tar"] +git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" +uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" +version = "0.1.0" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Revise]] +deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] +git-tree-sha1 = "12aa2d7593df490c407a3bbd8b86b8b515017f3e" +uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" +version = "3.5.14" + +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.7.1" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d483cd324ce5cf5d61b77930f0bbd6cb61927d21" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.4.2+0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.ScientificTypes]] +deps = ["CategoricalArrays", "ColorTypes", "Dates", "Distributions", "PrettyTables", "Reexport", "ScientificTypesBase", "StatisticalTraits", "Tables"] +git-tree-sha1 = "75ccd10ca65b939dab03b812994e571bf1e3e1da" +uuid = "321657f4-b219-11e9-178b-2701a2544e81" +version = "3.0.2" + +[[deps.ScientificTypesBase]] +git-tree-sha1 = "a8e18eb383b5ecf1b5e6fc237eb39255044fd92b" +uuid = "30f210dd-8aff-4c5f-94ba-8e64358c1161" +version = "3.0.0" + +[[deps.ScikitLearnBase]] +deps = ["LinearAlgebra", "Random", "Statistics"] +git-tree-sha1 = "7877e55c1523a4b336b433da39c8e8c08d2f221f" +uuid = "6e75b9c4-186b-50bd-896f-2d2496a4843e" +version = "0.5.0" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + +[[deps.SentinelArrays]] +deps = ["Dates", "Random"] +git-tree-sha1 = "90b4f68892337554d31cdcdbe19e48989f26c7e6" +uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" +version = "1.4.3" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SoleBase]] +deps = ["CategoricalArrays", "FillArrays", "IterTools", "Logging", "Random", "StatsBase"] +git-tree-sha1 = "878891f576af95083687f1039f33beb40d990fcf" +uuid = "4475fa32-7023-44a0-aa70-4813b230e492" +version = "0.12.1" + +[[deps.SoleData]] +deps = ["BenchmarkTools", "CSV", "Catch22", "CategoricalArrays", "DataFrames", "DataStructures", "Graphs", "HTTP", "Logging", "MLJModelInterface", "MultiData", "ProgressMeter", "Random", "Reexport", "Revise", "ScientificTypes", "SoleBase", "SoleLogics", "Statistics", "StatsBase", "Tables", "ThreadSafeDicts", "UniqueVectors", "ZipFile"] +git-tree-sha1 = "a81486dd78714f4fcdcb566dc93ec950fa953643" +uuid = "123f1ae1-6307-4526-ab5b-aab3a92a2b8c" +version = "0.13.1" + +[[deps.SoleLogics]] +deps = ["AbstractTrees", "DataStructures", "Dictionaries", "Graphs", "IterTools", "Lazy", "PrettyTables", "Random", "Reexport", "Revise", "SoleBase", "StatsBase", "ThreadSafeDicts"] +git-tree-sha1 = "0ae255c1f522be5f8ee54e2714d036b13f57d983" +uuid = "b002da8f-3cb3-4d91-bbe3-2953433912b5" +version = "0.7.0" + +[[deps.SoleModels]] +deps = ["AbstractTrees", "BenchmarkTools", "CSV", "CategoricalArrays", "DataFrames", "DataStructures", "FillArrays", "FunctionWrappers", "Graphs", "HTTP", "Lazy", "LinearAlgebra", "Logging", "MLJBase", "MLJModelInterface", "ProgressMeter", "Random", "Reexport", "Revise", "SoleBase", "SoleData", "SoleLogics", "StatsBase", "Suppressor", "Tables", "ThreadSafeDicts", "ZipFile"] +git-tree-sha1 = "7ed5007f92eca81f039574bc0344f38cfa32912c" +uuid = "4249d9c7-3290-4ddd-961c-e1d3ec2467f8" +version = "0.6.0" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.2.1" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.4.0" + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + + [deps.SpecialFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "9ae599cd7529cfce7fea36cf00a62cfc56f0f37c" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.9.4" + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" + + [deps.StaticArrays.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + +[[deps.StatisticalTraits]] +deps = ["ScientificTypesBase"] +git-tree-sha1 = "983c41a0ddd6c19f5607ca87271d7c7620ab5d50" +uuid = "64bff920-2084-43da-a3e6-9bb72801c0c9" +version = "3.3.0" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.3" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "cef0472124fab0695b58ca35a77c6fb942fdab8a" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.3.1" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.StringManipulation]] +deps = ["PrecompileTools"] +git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5" +uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" +version = "0.3.4" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "5.10.1+6" + +[[deps.Suppressor]] +deps = ["Logging"] +git-tree-sha1 = "9143c41bd539a8885c79728b9dedb0ce47dc9819" +uuid = "fd094767-a336-5f1f-9728-57cf17d0bbfb" +version = "0.2.7" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TZJData]] +deps = ["Artifacts"] +git-tree-sha1 = "1607ad46cf8d642aa779a1d45af1c8620dbf6915" +uuid = "dc5dba14-91b3-4cab-a142-028a31da12f7" +version = "1.2.0+2024a" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.11.1" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.ThreadSafeDicts]] +git-tree-sha1 = "300b753c0a786ea43fdafc26a4e50b87fb58cd50" +uuid = "4239201d-c60e-5e0a-9702-85d713665ba7" +version = "0.1.6" + +[[deps.TimeZones]] +deps = ["Dates", "Downloads", "InlineStrings", "Mocking", "Printf", "Scratch", "TZJData", "Unicode", "p7zip_jll"] +git-tree-sha1 = "a6ae8d7a27940c33624f8c7bde5528de21ba730d" +uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" +version = "1.17.0" +weakdeps = ["RecipesBase"] + + [deps.TimeZones.extensions] + TimeZonesRecipesBaseExt = "RecipesBase" + +[[deps.TimeseriesFeatures]] +deps = ["DimensionalData", "LinearAlgebra", "ProgressLogging", "Reexport", "Requires", "Statistics"] +git-tree-sha1 = "32ab4cd66a23ed87f52532ec77c26e0f4e98ab9a" +uuid = "f3112013-b923-4dfa-b867-8806c885f823" +version = "0.4.0" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "a947ea21087caba0a798c5e494d0bb78e3a1a3a0" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.10.9" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] + +[[deps.URIs]] +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.1" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.UniqueVectors]] +git-tree-sha1 = "0a150de447f51342cf2e5b379137b823f3934864" +uuid = "2fbcfb34-fd0c-5fbb-b5d7-e826d8f5b0a9" +version = "1.2.0" + +[[deps.WeakRefStrings]] +deps = ["DataAPI", "InlineStrings", "Parsers"] +git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23" +uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" +version = "1.4.2" + +[[deps.WorkerUtilities]] +git-tree-sha1 = "cd1659ba0d57b71a464a29e64dbc67cfe83d54e7" +uuid = "76eceee3-57b5-4d4a-8e66-0e911cebbf60" +version = "1.6.1" + +[[deps.ZipFile]] +deps = ["Libdl", "Printf", "Zlib_jll"] +git-tree-sha1 = "f492b7fe1698e623024e873244f10d89c95c340a" +uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" +version = "0.10.1" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+0" + +[[deps.catch22_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7cfb827b3f62e20de3ccebaabf468ea979d098d9" +uuid = "8a07c0c5-99ad-56cb-bc82-72eed1bb61ce" +version = "0.4.0+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 0000000..e6435d4 --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,7 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +ModalDecisionLists = "dbece2fb-9d58-4710-9902-4ec759308ae8" +SoleBase = "4475fa32-7023-44a0-aa70-4813b230e492" + +[compat] +Documenter = "1" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..2cce589 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,28 @@ +using ModalDecisionLists +using Documenter + +DocMeta.setdocmeta!(ModalDecisionLists, :DocTestSetup, :(using ModalDecisionLists); recursive=true) + +makedocs(; + modules=[ModalDecisionLists, ModalDecisionLists.MLJInterface, ModalDecisionLists.LossFunctions], + authors="Giovanni Pagliarini, Edoardo Ponsanesi", + repo=Documenter.Remotes.GitHub("aclai-lab", "ModalDecisionLists.jl"), + sitename="ModalDecisionLists.jl", + format=Documenter.HTML(; + size_threshold = 4000000, + prettyurls=get(ENV, "CI", "false") == "true", + canonical="https://aclai-lab.github.io/ModalDecisionLists.jl", + assets=String[], + ), + pages=[ + "Home" => "index.md", + ], + warnonly = true, # TODO remove? +) + +deploydocs(; + repo = "github.com/aclai-lab/ModalDecisionLists.jl", + target = "build", + branch = "gh-pages", + versions = ["main" => "main", "stable" => "v^", "v#.#", "dev" => "dev"], +) diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 0000000..4eefbc1 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,25 @@ +```@meta +CurrentModule = ModalDecisionLists +``` + +# ModalDecisionLists + +Welcome to the documentation for [ModalDecisionLists](https://github.com/aclai-lab/ModalDecisionLists.jl). + +```@index +``` + +```@autodocs +Modules = [ModalDecisionLists, ModalDecisionLists.MLJInterface, ModalDecisionLists.experimentals] +``` + + +# TODO continue this example + +```@docs +sequentialcovering +SearchMethod +AtomSearch +BeamSearch +RandSearch +``` From 2756b4eb97bfc2594563f433d1202c6abca1d74f Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:19:03 +0200 Subject: [PATCH 2/7] Nope --- docs/Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Project.toml b/docs/Project.toml index e6435d4..260591b 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -3,5 +3,6 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" ModalDecisionLists = "dbece2fb-9d58-4710-9902-4ec759308ae8" SoleBase = "4475fa32-7023-44a0-aa70-4813b230e492" + [compat] Documenter = "1" From 94dfcc8cd5fa16ea5d8442632116fba27ef9c05f Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:32:17 +0200 Subject: [PATCH 3/7] Add logo --- .gitignore | 7 ++++++- docs/src/assets/logo.png | Bin 0 -> 98578 bytes 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 docs/src/assets/logo.png diff --git a/.gitignore b/.gitignore index 63a757f..35ada41 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ +*.jl.*.cov +*.jl.cov +*.jl.mem /Manifest.toml -/src/algorithms/tryoptimize.jl \ No newline at end of file +/docs/build/ + +/src/algorithms/tryoptimize.jl diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..829a2bd8b820cf729e3666b7871aecdc4c8ea0d3 GIT binary patch literal 98578 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 literal 0 HcmV?d00001 From 7a3c9fa7ebada16323a24afc6a86f225885bf098 Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:02:54 +0200 Subject: [PATCH 4/7] Introduced subalphabets --- docs/Manifest.toml | 55 +++++++++------------------------ docs/Project.toml | 5 ++- src/searchmethods/beamsearch.jl | 6 ++-- 3 files changed, 21 insertions(+), 45 deletions(-) diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 2f210fe..a54ebdb 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.9.4" manifest_format = "2.0" -project_hash = "cc4750d9a4cab4b63be5e68c51520402e8dd2164" +project_hash = "d2051e5a714c6076af37a4dad7f2ec914f04646e" [[deps.ANSIColoredPrinters]] git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" @@ -115,18 +115,6 @@ version = "0.10.8" SentinelArrays = "91c51154-3ec4-41a3-a24f-3f23e20d615c" StructTypes = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -[[deps.CategoricalDistributions]] -deps = ["CategoricalArrays", "Distributions", "Missings", "OrderedCollections", "Random", "ScientificTypes"] -git-tree-sha1 = "926862f549a82d6c3a7145bc7f1adff2a91a39f0" -uuid = "af321ab8-2d2e-40a6-b165-3d674595d28e" -version = "0.1.15" - - [deps.CategoricalDistributions.extensions] - UnivariateFiniteDisplayExt = "UnicodePlots" - - [deps.CategoricalDistributions.weakdeps] - UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" - [[deps.CodeTracking]] deps = ["InteractiveUtils", "UUIDs"] git-tree-sha1 = "c0216e792f518b39b22212127d4a84dc31e4e386" @@ -160,11 +148,6 @@ deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.0.5+0" -[[deps.ComputationalResources]] -git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" -uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" -version = "0.3.2" - [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] git-tree-sha1 = "6cbbd4d241d7e6579ab354737f4dd95ca43946e1" @@ -528,28 +511,12 @@ git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" version = "1.0.3" -[[deps.LossFunctions]] -deps = ["Markdown", "Requires", "Statistics"] -git-tree-sha1 = "df9da07efb9b05ca7ef701acec891ee8f73c99e2" -uuid = "30fc2ffe-d236-52d8-8643-a9d8f7c094a7" -version = "0.11.1" -weakdeps = ["CategoricalArrays"] - - [deps.LossFunctions.extensions] - LossFunctionsCategoricalArraysExt = "CategoricalArrays" - [[deps.LoweredCodeUtils]] deps = ["JuliaInterpreter"] git-tree-sha1 = "c6a36b22d2cca0e1a903f00f600991f97bf5f426" uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" version = "2.4.6" -[[deps.MLJBase]] -deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Dates", "DelimitedFiles", "Distributed", "Distributions", "InteractiveUtils", "InvertedIndices", "LinearAlgebra", "LossFunctions", "MLJModelInterface", "Missings", "OrderedCollections", "Parameters", "PrettyTables", "ProgressMeter", "Random", "ScientificTypes", "Serialization", "StatisticalTraits", "Statistics", "StatsBase", "Tables"] -git-tree-sha1 = "0b7307d1a7214ec3c0ba305571e713f9492ea984" -uuid = "a7f614a8-145f-11e9-1d2a-a57a1082229d" -version = "0.21.14" - [[deps.MLJDecisionTreeInterface]] deps = ["CategoricalArrays", "DecisionTree", "MLJModelInterface", "Random", "Tables"] git-tree-sha1 = "90ef4d3b6cacec631c57cc034e1e61b4aa0ce511" @@ -861,6 +828,12 @@ version = "0.9.4" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +[[deps.Sole]] +deps = ["Random", "Reexport", "SoleBase", "SoleData", "SoleLogics", "SoleModels"] +path = "/home/gio/.julia/dev/Sole" +uuid = "7b3b3b3f-8b15-4a80-a798-b383498bc2cf" +version = "0.4.0" + [[deps.SoleBase]] deps = ["CategoricalArrays", "FillArrays", "IterTools", "Logging", "Random", "StatsBase"] git-tree-sha1 = "878891f576af95083687f1039f33beb40d990fcf" @@ -868,20 +841,20 @@ uuid = "4475fa32-7023-44a0-aa70-4813b230e492" version = "0.12.1" [[deps.SoleData]] -deps = ["BenchmarkTools", "CSV", "Catch22", "CategoricalArrays", "DataFrames", "DataStructures", "Graphs", "HTTP", "Logging", "MLJModelInterface", "MultiData", "ProgressMeter", "Random", "Reexport", "Revise", "ScientificTypes", "SoleBase", "SoleLogics", "Statistics", "StatsBase", "Tables", "ThreadSafeDicts", "UniqueVectors", "ZipFile"] -git-tree-sha1 = "a81486dd78714f4fcdcb566dc93ec950fa953643" +deps = ["BenchmarkTools", "CSV", "Catch22", "CategoricalArrays", "DataFrames", "DataStructures", "Graphs", "HTTP", "Lazy", "LinearAlgebra", "Logging", "MLJModelInterface", "MultiData", "ProgressMeter", "Random", "Reexport", "Revise", "ScientificTypes", "SoleBase", "SoleLogics", "Statistics", "StatsBase", "Tables", "ThreadSafeDicts", "UniqueVectors", "ZipFile"] +path = "/home/gio/.julia/dev/SoleData" uuid = "123f1ae1-6307-4526-ab5b-aab3a92a2b8c" version = "0.13.1" [[deps.SoleLogics]] -deps = ["AbstractTrees", "DataStructures", "Dictionaries", "Graphs", "IterTools", "Lazy", "PrettyTables", "Random", "Reexport", "Revise", "SoleBase", "StatsBase", "ThreadSafeDicts"] -git-tree-sha1 = "0ae255c1f522be5f8ee54e2714d036b13f57d983" +deps = ["AbstractTrees", "DataStructures", "Dictionaries", "FunctionWrappers", "Graphs", "IterTools", "Lazy", "PrettyTables", "Random", "Reexport", "Revise", "SoleBase", "StatsBase", "ThreadSafeDicts"] +path = "/home/gio/.julia/dev/SoleLogics" uuid = "b002da8f-3cb3-4d91-bbe3-2953433912b5" -version = "0.7.0" +version = "0.9.0" [[deps.SoleModels]] -deps = ["AbstractTrees", "BenchmarkTools", "CSV", "CategoricalArrays", "DataFrames", "DataStructures", "FillArrays", "FunctionWrappers", "Graphs", "HTTP", "Lazy", "LinearAlgebra", "Logging", "MLJBase", "MLJModelInterface", "ProgressMeter", "Random", "Reexport", "Revise", "SoleBase", "SoleData", "SoleLogics", "StatsBase", "Suppressor", "Tables", "ThreadSafeDicts", "ZipFile"] -git-tree-sha1 = "7ed5007f92eca81f039574bc0344f38cfa32912c" +deps = ["AbstractTrees", "BenchmarkTools", "CSV", "CategoricalArrays", "DataFrames", "DataStructures", "FillArrays", "FunctionWrappers", "Graphs", "HTTP", "Lazy", "LinearAlgebra", "Logging", "MLJModelInterface", "ProgressMeter", "Random", "Reexport", "Revise", "SoleBase", "SoleData", "SoleLogics", "StatsBase", "Suppressor", "Tables", "ThreadSafeDicts", "ZipFile"] +path = "/home/gio/.julia/dev/SoleModels" uuid = "4249d9c7-3290-4ddd-961c-e1d3ec2467f8" version = "0.6.0" diff --git a/docs/Project.toml b/docs/Project.toml index 260591b..276e28f 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,8 +1,11 @@ [deps] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" ModalDecisionLists = "dbece2fb-9d58-4710-9902-4ec759308ae8" +Sole = "7b3b3b3f-8b15-4a80-a798-b383498bc2cf" SoleBase = "4475fa32-7023-44a0-aa70-4813b230e492" - +SoleData = "123f1ae1-6307-4526-ab5b-aab3a92a2b8c" +SoleLogics = "b002da8f-3cb3-4d91-bbe3-2953433912b5" +SoleModels = "4249d9c7-3290-4ddd-961c-e1d3ec2467f8" [compat] Documenter = "1" diff --git a/src/searchmethods/beamsearch.jl b/src/searchmethods/beamsearch.jl index f559eef..83e6db8 100644 --- a/src/searchmethods/beamsearch.jl +++ b/src/searchmethods/beamsearch.jl @@ -76,11 +76,11 @@ Return the list of all possible antecedents containing a single condition from t """ function unaryconditions( ::AtomSearch, - a::AbstractAlphabet, + a::UnionAlphabet, X::AbstractLogiset )::Vector{Tuple{Atom,SatMask}} conditions = Tuple{Atom{ScalarCondition},SatMask}[] - for univalph in alphabets(a) + for univalph in subalphabets(a) newconds = [(a, check(a, X)) for a in atoms(univalph)] append!(conditions, newconds) end @@ -123,7 +123,7 @@ function newconditions( metacond.(scalarconditions) end # Exlude metaconditons tha are already in `antecedent` - selectedalphabet = UnionAlphabet([ a for a in alphabets(selectedalphabet) + selectedalphabet = UnionAlphabet([ a for a in subalphabets(selectedalphabet) if metacond(a) ∉ metaconditions ]) return filteralphabet(X, selectedalphabet, antecedent) From e3535db5e5f59b34a4dc442fe69183e05bb2d051 Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:36:56 +0200 Subject: [PATCH 5/7] Rm truerfirst param --- src/searchmethods/beamsearch.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/searchmethods/beamsearch.jl b/src/searchmethods/beamsearch.jl index 83e6db8..bddf355 100644 --- a/src/searchmethods/beamsearch.jl +++ b/src/searchmethods/beamsearch.jl @@ -287,7 +287,7 @@ end ############################################################################################ function find_singlerule( - candidates::AbstractVector{<:Tuple{Formula, SatMask}}, + candidates::AbstractVector{<:Tuple{Formula,SatMask}}, X::AbstractLogiset, y::AbstractVector{<:Integer}, w::AbstractVector, @@ -297,7 +297,6 @@ function find_singlerule( n_labels, # optional positional discretizedomain::Bool=false, - truerfirst::Bool=false, max_rule_length::Union{Nothing,Integer}=nothing, alphabet::Union{Nothing,AbstractAlphabet}=nothing, max_info_gain::Union{Nothing,Real}=nothing From 6916cff5ac8455f16d26022f4fbcf6d1e11983e0 Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:28:55 +0200 Subject: [PATCH 6/7] Add and update deps --- Project.toml | 5 +++++ src/algorithms/base-cn2.jl | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 2f35b33..22beb27 100644 --- a/Project.toml +++ b/Project.toml @@ -24,6 +24,11 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [compat] julia = "1" +Sole = "0.5" +SoleBase = "0.12" +SoleData = "0.14" +SoleLogics = "0.9" +SoleModels = "0.7" [extras] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" diff --git a/src/algorithms/base-cn2.jl b/src/algorithms/base-cn2.jl index df62caf..9f24f4b 100644 --- a/src/algorithms/base-cn2.jl +++ b/src/algorithms/base-cn2.jl @@ -10,7 +10,7 @@ using StatsBase: countmap import SoleLogics: LogicalInstance, Formula, LeftmostLinearForm import SoleModels: Rule, AbstractModel, ConstantModel import SoleBase: CLabel -import SoleData: UnivariateSymbolValue +import SoleData: VariableValue import SoleData: features struct Selector @@ -28,7 +28,7 @@ end function selector2soleatom(sel::Selector)::Atom{ScalarCondition} - feature = UnivariateSymbolValue(varname(sel)) + feature = VariableValue(varname(sel)) tresh = treshold(sel) test_op = test_operator(sel) return Atom(ScalarCondition(feature, test_op, tresh)) From a170f9fc3e208a3d52c3783446d935b4778868ed Mon Sep 17 00:00:00 2001 From: giopaglia <24519853+giopaglia@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:39:40 +0200 Subject: [PATCH 7/7] Fixes --- Project.toml | 2 -- test/benchmark.jl | 2 +- test/cn2-benchmark.jl | 2 +- test/cn2-correctness.jl | 4 ++-- test/orange-decisionlists.jl | 6 +++--- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Project.toml b/Project.toml index 22beb27..ad1529c 100644 --- a/Project.toml +++ b/Project.toml @@ -24,8 +24,6 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [compat] julia = "1" -Sole = "0.5" -SoleBase = "0.12" SoleData = "0.14" SoleLogics = "0.9" SoleModels = "0.7" diff --git a/test/benchmark.jl b/test/benchmark.jl index 5504c27..e26f59a 100644 --- a/test/benchmark.jl +++ b/test/benchmark.jl @@ -2,7 +2,7 @@ using Test using Printf using SoleBase: CLabel using DataFrames -using SoleModels: ClassificationRule, apply, DecisionList, orange_decision_list +using SoleModels: ClassificationRule, apply, DecisionList, parse_orange_decision_list using SoleData using MLJ using StatsBase diff --git a/test/cn2-benchmark.jl b/test/cn2-benchmark.jl index 0f653b4..88f07ad 100644 --- a/test/cn2-benchmark.jl +++ b/test/cn2-benchmark.jl @@ -1,7 +1,7 @@ using Test using SoleBase: CLabel using DataFrames -using SoleModels: ClassificationRule, apply, DecisionList, orange_decision_list +using SoleModels: ClassificationRule, apply, DecisionList, parse_orange_decision_list using SoleData using MLJ using StatsBase diff --git a/test/cn2-correctness.jl b/test/cn2-correctness.jl index 197c2c9..e64418a 100644 --- a/test/cn2-correctness.jl +++ b/test/cn2-correctness.jl @@ -1,7 +1,7 @@ using Test using SoleBase: CLabel using DataFrames -using SoleModels: ClassificationRule, apply, DecisionList, orange_decision_list +using SoleModels: ClassificationRule, apply, DecisionList, parse_orange_decision_list using SoleData using MLJ using StatsBase @@ -101,7 +101,7 @@ orange_decisionlist = """ [0, 1, 0] IF sepal length<=5.9 THEN iris=Iris-versicolor -0.0 [50, 50, 50] IF TRUE THEN iris=Iris-virginica -1.584962500721156 """ -imported_decisionlist = SoleModels.orange_decision_list(orange_decisionlist, true) +imported_decisionlist = SoleModels.parse_orange_decision_list(orange_decisionlist, true) @test length(listrules(sole_decisionlist)) == length(listrules(base_decisionlist)) @test length(listrules(sole_decisionlist)) == length(listrules(imported_decisionlist)) diff --git a/test/orange-decisionlists.jl b/test/orange-decisionlists.jl index 2715a4c..2f42c9b 100644 --- a/test/orange-decisionlists.jl +++ b/test/orange-decisionlists.jl @@ -1,6 +1,6 @@ using SoleData using ModalDecisionLists -using SoleModels: ClassificationRule, apply, DecisionList, bestguess, orange_decision_list +using SoleModels: ClassificationRule, apply, DecisionList, bestguess, parse_orange_decision_list using ModalDecisionLists: preprocess_inputdata using ModalDecisionLists.LossFunctions: laplace_accuracy using CategoricalArrays: CategoricalValue, CategoricalArray @@ -808,7 +808,7 @@ abalone1000_dl_orange = """ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0] IF Length>=0.645 THEN Rings=18 -0.0 [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] IF Sex==F THEN Rings=6 -0.0 [1, 1, 7, 18, 31, 60, 97, 84, 109, 117, 91, 79, 71, 49, 52, 29, 28, 18, 17, 16, 9, 6, 5, 1, 1] IF TRUE THEN Rings=10 -3.984037499126841 -""" |> orange_decision_list +""" |> parse_orange_decision_list abalone1000_no_categorical_dl_orange = """ [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] IF Viscera_weight<=0.0105 AND Shell_weight>=0.0155 AND Diameter>=0.175 THEN Rings=5 -0.0 @@ -1523,7 +1523,7 @@ abalone1000_no_categorical_dl_orange = """ [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] IF Length<=0.075 THEN Rings=1 -0.0 [1, 1, 7, 18, 31, 60, 97, 84, 109, 117, 91, 79, 71, 49, 52, 29, 28, 18, 17, 16, 9, 6, 5, 1, 1] IF TRUE THEN Rings=10 -3.984037499126841 -""" |> orange_decision_list +""" |> parse_orange_decision_list bs = BeamSearch( beam_width = 5, discretizedomain=true) println(bs)