From e12ea4f849e2d126f8991934fe81ddf671b0eeba Mon Sep 17 00:00:00 2001 From: pat-alt <altmeyerpat@gmail.com> Date: Tue, 21 Mar 2023 07:31:18 +0100 Subject: [PATCH] added latex template --- Manifest.toml | 147 ++-- Project.toml | 1 + _quarto.yml | 2 +- docs/index.html | 17 +- docs/notebooks/proposal.html | 582 --------------- notebooks/intro.ipynb | 486 ++++++++++++ notebooks/proposal.html | 582 --------------- notebooks/proposal.ipynb | 218 ------ .../proposal_files/execute-results/html.json | 11 + notebooks/www/you_may_not_like_it.png | Bin 15585 -> 17317 bytes paper/neurips_2022.sty | 381 ++++++++++ paper/paper.aux | 40 + paper/paper.fdb_latexmk | 123 ++++ paper/paper.fls | 692 ++++++++++++++++++ paper/paper.log | 460 ++++++++++++ paper/paper.out | 16 + paper/paper.pdf | Bin 0 -> 150673 bytes paper/paper.synctex.gz | Bin 0 -> 51725 bytes paper/paper.tex | 589 +++++++++++++++ 19 files changed, 2869 insertions(+), 1478 deletions(-) delete mode 100644 docs/notebooks/proposal.html create mode 100644 notebooks/intro.ipynb delete mode 100644 notebooks/proposal.html delete mode 100644 notebooks/proposal.ipynb create mode 100644 notebooks/proposal_files/execute-results/html.json create mode 100644 paper/neurips_2022.sty create mode 100644 paper/paper.aux create mode 100644 paper/paper.fdb_latexmk create mode 100644 paper/paper.fls create mode 100644 paper/paper.log create mode 100644 paper/paper.out create mode 100644 paper/paper.pdf create mode 100644 paper/paper.synctex.gz create mode 100644 paper/paper.tex diff --git a/Manifest.toml b/Manifest.toml index d2e997cf..50b8fe3a 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.8.5" +julia_version = "1.6.5" manifest_format = "2.0" project_hash = "d4865488d9d741cc2d833e66a476d21fceebe412" @@ -10,6 +10,11 @@ git-tree-sha1 = "16b6dbc4cf7caee4e1e75c49485ec67b667098a0" uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" version = "1.3.1" +[[deps.AbstractTrees]] +git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.4" + [[deps.Accessors]] deps = ["Compat", "CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "StaticArrays", "Test"] git-tree-sha1 = "beabc31fa319f9de4d16372bff31b4801e43d32c" @@ -29,7 +34,6 @@ version = "2.3.0" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" [[deps.ArnoldiMethod]] deps = ["LinearAlgebra", "Random", "StaticArrays"] @@ -44,10 +48,10 @@ uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97" version = "0.5.4" [[deps.Arpack_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS_jll", "Pkg"] -git-tree-sha1 = "5ba6c757e8feccf03a1554dfaf3e26b3cfc7fd5e" +deps = ["Libdl", "OpenBLAS_jll", "Pkg"] +git-tree-sha1 = "e214a9b9bd1b4e1b4f15b22c0994862b66af7ff7" uuid = "68821587-b530-5797-8361-c406ea357684" -version = "3.5.1+1" +version = "3.5.0+3" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] @@ -95,11 +99,6 @@ git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" version = "0.5.10" -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - [[deps.BufferedStreams]] git-tree-sha1 = "bb065b14d7f941b8617bc323063dbe79f55d16ea" uuid = "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d" @@ -195,10 +194,10 @@ uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" version = "0.1.6" [[deps.Chemfiles]] -deps = ["BinaryProvider", "Chemfiles_jll", "DocStringExtensions", "Libdl"] -git-tree-sha1 = "3b4a49a0a4c9b2ff8c0c6ec035c16f32955531a8" +deps = ["Chemfiles_jll", "DocStringExtensions"] +git-tree-sha1 = "9126d0271c337ca5ed02ba92f2dec087c4260d4a" uuid = "46823bd8-5fb3-5f92-9aa0-96921f3dd015" -version = "0.10.3" +version = "0.10.31" [[deps.Chemfiles_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -208,9 +207,15 @@ version = "0.10.3+0" [[deps.Clustering]] deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "64df3da1d2a26f4de23871cd1b6482bb68092bd5" +git-tree-sha1 = "7ebbd653f74504447f1c33b91cd706a69a1b189f" uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" -version = "0.14.3" +version = "0.14.4" + +[[deps.CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "d57c99cc7e637165c81b30eb268eabe156a45c49" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.2.2" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] @@ -262,7 +267,6 @@ version = "4.6.1" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.1+0" [[deps.CompositionsBase]] git-tree-sha1 = "455419f7e328a1a2493cabc6428d79e951349769" @@ -314,10 +318,10 @@ uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.14.0" [[deps.DataDeps]] -deps = ["HTTP", "Libdl", "Reexport", "SHA", "p7zip_jll"] -git-tree-sha1 = "bc0a264d3e7b3eeb0b6fc9f6481f970697f29805" +deps = ["BinaryProvider", "HTTP", "Libdl", "Reexport", "SHA", "p7zip_jll"] +git-tree-sha1 = "e299d8267135ef2f9c941a764006697082c1e7e8" uuid = "124859b0-ceae-595e-8997-d05f6a7a8dfe" -version = "0.7.10" +version = "0.7.8" [[deps.DataFrames]] deps = ["Compat", "DataAPI", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SnoopPrecompile", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] @@ -396,9 +400,8 @@ uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" version = "0.9.3" [[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +deps = ["ArgTools", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" [[deps.DualNumbers]] deps = ["Calculus", "NaNMath", "SpecialFunctions"] @@ -465,14 +468,11 @@ git-tree-sha1 = "e27c4ebe80e8699540f2d6c805cc12203b614f12" uuid = "48062228-2e41-5def-b9a4-89aafe57970f" version = "0.9.20" -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - [[deps.FillArrays]] deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "9dec0199898d4d5c1d1b257cbf2cc498afe03a2a" +git-tree-sha1 = "3b245d1e50466ca0c9529e2033a3c92387c59c2f" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.8" +version = "0.13.9" [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays", "StaticArrays"] @@ -551,9 +551,9 @@ version = "3.3.8+0" [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "a28f752ffab0ccd6660fc7af5ad1c9ad176f45f7" +git-tree-sha1 = "7a2e790b1e2e6f648cfb25c4500c5de1f7b375ef" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.6.3" +version = "8.6.5" [[deps.GPUArraysCore]] deps = ["Adapt"] @@ -569,15 +569,15 @@ version = "0.17.3" [[deps.GR]] deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] -git-tree-sha1 = "660b2ea2ec2b010bb02823c6d0ff6afd9bdc5c16" +git-tree-sha1 = "4423d87dc2d3201f3f1768a29e807ddc8cc867ef" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.71.7" +version = "0.71.8" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "d5e1fd17ac7f3aa4c5287a61ee28d4f8b8e98873" +git-tree-sha1 = "3657eb348d44575cc5560c80d7e55b812ff6ffe1" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.71.7+0" +version = "0.71.8+0" [[deps.GZip]] deps = ["Libdl"] @@ -632,10 +632,10 @@ uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" version = "1.12.2+2" [[deps.HTTP]] -deps = ["Base64", "CodecZlib", "Dates", "IniFile", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "37e4657cd56b11abe3d10cd4a1ec5fbdb4180263" +deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] +git-tree-sha1 = "0fa77022fe4b511826b39c894c90daf5fce3334a" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.7.4" +version = "0.9.17" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] @@ -643,6 +643,12 @@ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+1" +[[deps.Highlights]] +deps = ["DocStringExtensions", "InteractiveUtils", "REPL"] +git-tree-sha1 = "0341077e8a6b9fc1c2ea5edc1e93a956d2aec0c7" +uuid = "eafb193a-b7ab-5a9e-9068-77385905fa72" +version = "0.5.2" + [[deps.HypergeometricFunctions]] deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions", "Test"] git-tree-sha1 = "709d864e3ed6e3545230601f94e11ebc65994641" @@ -810,15 +816,15 @@ version = "3.0.0+1" [[deps.LLVM]] deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "df115c31f5c163697eede495918d8e85045c8f04" +git-tree-sha1 = "1c614dfbecbaee4897b506bba2b432bf0d21f2ed" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "4.16.0" +version = "4.17.0" [[deps.LLVMExtra_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg", "TOML"] -git-tree-sha1 = "7718cf44439c676bc0ec66a87099f41015a522d6" +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] +git-tree-sha1 = "e46e3a40daddcbe851f86db0ec4a4a3d4badf800" uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.16+2" +version = "0.0.19+0" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -855,12 +861,10 @@ version = "0.3.1" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.84.0+0" [[deps.LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] @@ -869,7 +873,6 @@ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -929,7 +932,7 @@ uuid = "093fc24a-ae57-5d10-9952-331d41423f4d" version = "1.3.5" [[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] +deps = ["Libdl"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogExpFunctions]] @@ -941,12 +944,6 @@ version = "0.3.23" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" - [[deps.LossFunctions]] deps = ["InteractiveUtils", "Markdown", "RecipesBase"] git-tree-sha1 = "53cd63a12f06a43eef6f4aafb910ac755c122be7" @@ -961,9 +958,9 @@ version = "0.12.1" [[deps.MAT]] deps = ["BufferedStreams", "CodecZlib", "HDF5", "SparseArrays"] -git-tree-sha1 = "971be550166fe3f604d28715302b58a3f7293160" +git-tree-sha1 = "6eff5740c8ab02c90065719579c7aa0eb40c9f69" uuid = "23992714-dd62-5051-b70f-ba57cb901cac" -version = "0.10.3" +version = "0.10.4" [[deps.MKL_jll]] deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] @@ -1042,7 +1039,6 @@ version = "1.1.7" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" [[deps.Measures]] git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" @@ -1078,7 +1074,6 @@ version = "0.3.4" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" [[deps.MultivariateStats]] deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI", "StatsBase"] @@ -1086,6 +1081,11 @@ git-tree-sha1 = "91a48569383df24f0fd2baf789df2aade3d0ad80" uuid = "6f286f6a-111f-5878-ab1e-185364afe411" version = "0.10.1" +[[deps.MyterialColors]] +git-tree-sha1 = "01d8466fb449436348999d7c6ad740f8f853a579" +uuid = "1c23619d-4212-4747-83aa-717207fae70f" +version = "0.3.0" + [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" @@ -1147,7 +1147,6 @@ version = "0.4.13" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" [[deps.Observables]] git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" @@ -1175,18 +1174,10 @@ version = "0.2.3" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" [[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 = "6503b77492fd7fcb9379bf73cd31035670e3c509" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.3.3" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1226,7 +1217,6 @@ version = "1.4.1" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.40.0+0" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] @@ -1272,7 +1262,6 @@ version = "0.40.1+0" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.8.0" [[deps.PlotThemes]] deps = ["PlotUtils", "Statistics"] @@ -1353,7 +1342,7 @@ deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.Random]] -deps = ["SHA", "Serialization"] +deps = ["Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.Random123]] @@ -1423,7 +1412,6 @@ version = "0.4.0+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"] @@ -1472,11 +1460,6 @@ git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" version = "1.0.3" -[[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" @@ -1607,7 +1590,6 @@ uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" [[deps.TableOperations]] deps = ["SentinelArrays", "Tables", "Test"] @@ -1630,7 +1612,6 @@ version = "1.10.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.1" [[deps.TensorCore]] deps = ["LinearAlgebra"] @@ -1638,6 +1619,12 @@ git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" version = "0.1.1" +[[deps.Term]] +deps = ["AbstractTrees", "CodeTracking", "Dates", "Highlights", "InteractiveUtils", "Logging", "Markdown", "MyterialColors", "OrderedCollections", "Parameters", "ProgressLogging", "REPL", "SnoopPrecompile", "Tables", "UUIDs", "Unicode", "UnicodeFun"] +git-tree-sha1 = "373d65207cb8de6d2e7bd32b89476e760c6edc4d" +uuid = "22787eb5-b846-44ae-b979-8e399b8463ab" +version = "2.0.2" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -1707,9 +1694,9 @@ uuid = "b8865327-cd53-5732-bb35-84acbb429228" version = "3.4.1" [[deps.Unzip]] -git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" +git-tree-sha1 = "34db80951901073501137bdbc3d5a8e7bbd06670" uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" -version = "0.2.0" +version = "0.1.2" [[deps.Wayland_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] @@ -1893,7 +1880,6 @@ version = "0.10.1" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1937,11 +1923,6 @@ git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" version = "0.15.1+0" -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" - [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" @@ -1963,12 +1944,10 @@ version = "1.3.7+1" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] diff --git a/Project.toml b/Project.toml index a6f587df..a47e33a2 100644 --- a/Project.toml +++ b/Project.toml @@ -24,6 +24,7 @@ SliceMap = "82cb661a-3f19-5665-9e27-df437c7e54c8" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" +Term = "22787eb5-b846-44ae-b979-8e399b8463ab" [compat] julia = "1.8" diff --git a/_quarto.yml b/_quarto.yml index 17737d0d..0f93a02a 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -10,7 +10,7 @@ book: date: today chapters: - index.qmd - - notebooks/proposal.qmd + # - notebooks/proposal.qmd - notebooks/intro.qmd - notebooks/references.qmd diff --git a/docs/index.html b/docs/index.html index e26d982e..c162a572 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,7 +7,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> <meta name="author" content="Patrick Altmeyer"> -<meta name="dcterms.date" content="2023-03-20"> +<meta name="dcterms.date" content="2023-03-21"> <title>Conformal Counterfactual Explanations</title> <style> @@ -32,7 +32,7 @@ ul.task-list li input[type="checkbox"] { <script src="site_libs/quarto-search/fuse.min.js"></script> <script src="site_libs/quarto-search/quarto-search.js"></script> <meta name="quarto:offset" content="./"> -<link href="./notebooks/proposal.html" rel="next"> +<link href="./notebooks/intro.html" rel="next"> <script src="site_libs/quarto-html/quarto.js"></script> <script src="site_libs/quarto-html/popper.min.js"></script> <script src="site_libs/quarto-html/tippy.umd.min.js"></script> @@ -106,12 +106,7 @@ ul.task-list li input[type="checkbox"] { </li> <li class="sidebar-item"> <div class="sidebar-item-container"> - <a href="./notebooks/proposal.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="./notebooks/intro.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">2</span> <span class="chapter-title"><code>ConformalGenerator</code></span></a> + <a href="./notebooks/intro.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">1</span> <span class="chapter-title"><code>ConformalGenerator</code></span></a> </div> </li> <li class="sidebar-item"> @@ -156,7 +151,7 @@ ul.task-list li input[type="checkbox"] { <div> <div class="quarto-title-meta-heading">Published</div> <div class="quarto-title-meta-contents"> - <p class="date">March 20, 2023</p> + <p class="date">March 21, 2023</p> </div> </div> @@ -396,8 +391,8 @@ window.document.addEventListener("DOMContentLoaded", function (event) { <div class="nav-page nav-page-previous"> </div> <div class="nav-page nav-page-next"> - <a href="./notebooks/proposal.html" class="pagination-link"> - <span class="nav-page-text"><span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <i class="bi bi-arrow-right-short"></i> + <a href="./notebooks/intro.html" class="pagination-link"> + <span class="nav-page-text"><span class="chapter-number">1</span> <span class="chapter-title"><code>ConformalGenerator</code></span></span> <i class="bi bi-arrow-right-short"></i> </a> </div> </nav> diff --git a/docs/notebooks/proposal.html b/docs/notebooks/proposal.html deleted file mode 100644 index 68790b14..00000000 --- a/docs/notebooks/proposal.html +++ /dev/null @@ -1,582 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - -<meta charset="utf-8" /> -<meta name="generator" content="quarto-99.9.9" /> - -<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> - - -<title>Conformal Counterfactual Explanations – 1 High-Fidelity Counterfactual Explanations through Conformal Prediction</title> -<style> -code{white-space: pre-wrap;} -span.smallcaps{font-variant: small-caps;} -div.columns{display: flex; gap: min(4vw, 1.5em);} -div.column{flex: auto; overflow-x: auto;} -div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} -ul.task-list{list-style: none;} -ul.task-list li input[type="checkbox"] { - width: 0.8em; - margin: 0 0.8em 0.2em -1.6em; - vertical-align: middle; -} -/* CSS for citations */ -div.csl-bib-body { } -div.csl-entry { - clear: both; -} -.hanging-indent div.csl-entry { - margin-left:2em; - text-indent:-2em; -} -div.csl-left-margin { - min-width:2em; - float:left; -} -div.csl-right-inline { - margin-left:2em; - padding-left:1em; -} -div.csl-indent { - margin-left: 2em; -}</style> - -<!-- htmldependencies:E3FAD763 --> -<script id="quarto-search-options" type="application/json">{ - "location": "sidebar", - "copy-button": false, - "collapse-after": 3, - "panel-placement": "start", - "type": "textbox", - "limit": 20, - "language": { - "search-no-results-text": "No results", - "search-matching-documents-text": "matching documents", - "search-copy-link-title": "Copy link to search", - "search-hide-matches-text": "Hide additional matches", - "search-more-match-text": "more match in this document", - "search-more-matches-text": "more matches in this document", - "search-clear-button-title": "Clear", - "search-detached-cancel-button-title": "Cancel", - "search-submit-button-title": "Submit" - } -}</script> - - <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script> - -</head> - -<body> - -<div id="quarto-search-results"></div> - <header id="quarto-header" class="headroom fixed-top"> - <nav class="quarto-secondary-nav"> - <div class="container-fluid d-flex"> - <button type="button" class="quarto-btn-toggle btn" - data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" - aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" - onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> - <i class="bi bi-layout-text-sidebar-reverse"></i> - </button> - <h1 class="quarto-secondary-nav-title"></h1> - <a class="flex-grow-1" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" - aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" - onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> - </a> - <button type="button" class="btn quarto-search-button" aria-label="Search" onclick="window.quartoOpenSearch();"> - <i class="bi bi-search"></i> - </button> - </div> - </nav> -</header> -<!-- content --> -<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article"> -<!-- sidebar --> - <nav id="quarto-sidebar" class="sidebar collapse collapse-horizontal sidebar-navigation floating overflow-auto"> - <div class="pt-lg-2 mt-2 text-left sidebar-header"> - <div class="sidebar-title mb-0 py-0"> - <a href="/"> - Conformal Counterfactual Explanations - </a> - </div> - </div> - <div class="mt-2 flex-shrink-0 align-items-center"> - <div class="sidebar-search"> - <div id="quarto-search" class="" title="Search"></div> - </div> - </div> - <div class="sidebar-menu-container"> - <ul class="list-unstyled mt-1"> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/index.html" class="sidebar-item-text sidebar-link">Preface</a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/notebooks/proposal.html" class="sidebar-item-text sidebar-link active"><span class='chapter-number'>1</span> <span class='chapter-title'>High-Fidelity Counterfactual Explanations through Conformal Prediction</span></a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/notebooks/intro.html" class="sidebar-item-text sidebar-link"><span class='chapter-number'>2</span> <span class='chapter-title'>`ConformalGenerator`</span></a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/notebooks/references.html" class="sidebar-item-text sidebar-link">References</a> - </div> -</li> - </ul> - </div> -</nav> -<div id="quarto-sidebar-glass" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" ></div> -<!-- margin-sidebar --> - <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> - <div id="quarto-toc-target"></div> - </div> -<!-- main --> -<main class="content" id="quarto-document-content"> - -<header id="title-block-header" class="quarto-title-block default"> -<div class="quarto-title"> -<h1 class="title"><span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></h1> -<p class="subtitle lead">Research Proposal</p> -</div> - - - -<div class="quarto-title-meta"> - - - - - </div> - -<div> - <div class="abstract"> - <div class="abstract-title">Abstract</div> - <p>We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.</p> - </div> -</div> - -</header> -<nav id="TOC" role="doc-toc"> - <h2 id="toc-title">Table of contents</h2> - - <ul> - <li><a href="#motivation" id="toc-motivation"><span class="header-section-number">1.1</span> Motivation</a> - <ul> - <li><a href="#counterfactual-explanations-or-adversarial-examples" id="toc-counterfactual-explanations-or-adversarial-examples"><span class="header-section-number">1.1.1</span> Counterfactual Explanations or Adversarial Examples?</a></li> - <li><a href="#sec-fidelity" id="toc-sec-fidelity"><span class="header-section-number">1.1.2</span> From Plausible to High-Fidelity Counterfactuals</a></li> - </ul></li> - <li><a href="#conformal-counterfactual-explanations" id="toc-conformal-counterfactual-explanations"><span class="header-section-number">1.2</span> Conformal Counterfactual Explanations</a> - <ul> - <li><a href="#minimizing-predictive-uncertainty" id="toc-minimizing-predictive-uncertainty"><span class="header-section-number">1.2.1</span> Minimizing Predictive Uncertainty</a></li> - <li><a href="#background-on-conformal-prediction" id="toc-background-on-conformal-prediction"><span class="header-section-number">1.2.2</span> Background on Conformal Prediction</a></li> - <li><a href="#generating-conformal-counterfactuals" id="toc-generating-conformal-counterfactuals"><span class="header-section-number">1.2.3</span> Generating Conformal Counterfactuals</a></li> - </ul></li> - <li><a href="#experiments" id="toc-experiments"><span class="header-section-number">1.3</span> Experiments</a> - <ul> - <li><a href="#research-questions" id="toc-research-questions"><span class="header-section-number">1.3.1</span> Research Questions</a></li> - </ul></li> - <li><a href="#references" id="toc-references"><span class="header-section-number">1.4</span> References</a></li> - </ul> -</nav> -<section id="motivation" class="level2" data-number="1.1"> -<h2 data-number="1.1"><span class="header-section-number">1.1</span> Motivation</h2> -<p>Counterfactual Explanations are a powerful, flexible and intuitive way to not only explain black-box models but also enable affected individuals to challenge them through the means of Algorithmic Recourse.</p> -<section id="counterfactual-explanations-or-adversarial-examples" class="level3" data-number="1.1.1"> -<h3 data-number="1.1.1"><span class="header-section-number">1.1.1</span> Counterfactual Explanations or Adversarial Examples?</h3> -<p>Most state-of-the-art approaches to generating Counterfactual Explanations (CE) rely on gradient descent in the feature space. The key idea is to perturb inputs <span class="math inline">\(x\in\mathcal{X}\)</span> into a black-box model <span class="math inline">\(f: \mathcal{X} \mapsto \mathcal{Y}\)</span> in order to change the model output <span class="math inline">\(f(x)\)</span> to some pre-specified target value <span class="math inline">\(t\in\mathcal{Y}\)</span>. Formally, this boils down to defining some loss function <span class="math inline">\(\ell(f(x),t)\)</span> and taking gradient steps in the minimizing direction. The so-generated counterfactuals are considered valid as soon as the predicted label matches the target label. A stripped-down counterfactual explanation is therefore little different from an adversarial example. In <a href="#fig-adv">Figure <span class="quarto-unresolved-ref">fig-adv</span></a>, for example, generic counterfactual search as in <span class="citation" data-cites="wachter2017counterfactual">Wachter, Mittelstadt, and Russell (<a href="#ref-wachter2017counterfactual" role="doc-biblioref">2017</a>)</span> has been applied to MNIST data.</p> -<div id="fig-adv" class="quarto-figure quarto-figure-center"> -<figure> -<p><img src="www/you_may_not_like_it.png" class="img-fluid" /></p> -<p><figcaption>Figure 1.1: You may not like it, but this is what stripped-down counterfactuals look like. Here we have used <span class="citation" data-cites="wachter2017counterfactual">Wachter, Mittelstadt, and Russell (<a href="#ref-wachter2017counterfactual" role="doc-biblioref">2017</a>)</span> to generate multiple counterfactuals for turning an 8 (eight) into a 3 (three).</figcaption></p> -</figure> -</div> -<p>The crucial difference between adversarial examples and counterfactuals is one of intent. While adversarial examples are typically intended to go unnoticed, counterfactuals in the context of Explainable AI are generally sought to be “plausibleâ€, “realistic†or “feasibleâ€. To fulfil this latter goal, researchers have come up with a myriad of ways. <span class="citation" data-cites="joshi2019realistic">Joshi et al. (<a href="#ref-joshi2019realistic" role="doc-biblioref">2019</a>)</span> were among the first to suggest that instead of searching counterfactuals in the feature space, we can instead traverse a latent embedding learned by a surrogate generative model. Similarly, <span class="citation" data-cites="poyiadzi2020face">Poyiadzi et al. (<a href="#ref-poyiadzi2020face" role="doc-biblioref">2020</a>)</span> use density … Finally, <span class="citation" data-cites="karimi2021algorithmic">Karimi, Schölkopf, and Valera (<a href="#ref-karimi2021algorithmic" role="doc-biblioref">2021</a>)</span> argues that counterfactuals should comply with the causal model that generates them [CHECK IF WE CAN PHASE THIS LIKE THIS]. Other related approaches include … All of these different approaches have a common goal: they aim to ensure that the generated counterfactuals comply with the (learned) data-generating process (DGB).</p> -<div id="def-plausible" class="theorem definition"> -<p><span class="theorem-title"><strong>Definition 1.1 (Plausible Counterfactuals) </strong></span>Formally, if <span class="math inline">\(x \sim \mathcal{X}\)</span> and for the corresponding counterfactual we have <span class="math inline">\(x^{\prime}\sim\mathcal{X}^{\prime}\)</span>, then for <span class="math inline">\(x^{\prime}\)</span> to be considered a plausible counterfactual, we need: <span class="math inline">\(\mathcal{X} \approxeq \mathcal{X}^{\prime}\)</span>.</p> -</div> -<p>In the context of Algorithmic Recourse, it makes sense to strive for plausible counterfactuals, since anything else would essentially require individuals to move to out-of-distribution states. But it is worth noting that our ambition to meet this goal, may have implications on our ability to faithfully explain the behaviour of the underlying black-box model (arguably our principal goal). By essentially decoupling the task of learning plausible representations of the data from the model itself, we open ourselves up to vulnerabilities. Using a separate generative model to learn <span class="math inline">\(\mathcal{X}\)</span>, for example, has very serious implications for the generated counterfactuals. <a href="#fig-latent">Figure <span class="quarto-unresolved-ref">fig-latent</span></a> compares the results of applying REVISE <span class="citation" data-cites="joshi2019realistic">(<a href="#ref-joshi2019realistic" role="doc-biblioref">Joshi et al. 2019</a>)</span> to MNIST data using two different Variational Auto-Encoders: while the counterfactual generated using an expressive (strong) VAE is compelling, the result relying on a less expressive (weak) VAE is not even valid. In this latter case, the decoder step of the VAE fails to yield values in <span class="math inline">\(\mathcal{X}\)</span> and hence the counterfactual search in the learned latent space is doomed.</p> -<div id="fig-latent" class="quarto-figure quarto-figure-center"> -<figure> -<p><img src="www/mnist_9to4_latent.png" class="img-fluid" /></p> -<p><figcaption>Figure 1.2: Counterfactual explanations for MNIST using a Latent Space generator: turning a nine (9) into a four (4).</figcaption></p> -</figure> -</div> -<blockquote> -<p>Here it would be nice to have another example where we poison the data going into the generative model to hide biases present in the data (e.g. Boston housing).</p> -</blockquote> -<ul> -<li>Latent can be manipulated: -<ul> -<li>train biased model</li> -<li>train VAE with biased variable removed/attacked (use Boston housing dataset)</li> -<li>hypothesis: will generate bias-free explanations</li> -</ul></li> -</ul> -</section> -<section id="sec-fidelity" class="level3" data-number="1.1.2"> -<h3 data-number="1.1.2"><span class="header-section-number">1.1.2</span> From Plausible to High-Fidelity Counterfactuals</h3> -<p>In light of the findings, we propose to generally avoid using surrogate models to learn <span class="math inline">\(\mathcal{X}\)</span> in the context of Counterfactual Explanations.</p> -<div id="prp-surrogate" class="theorem proposition"> -<p><span class="theorem-title"><strong>Proposition 1.1 (Avoid Surrogates) </strong></span>Since we are in the business of explaining a black-box model, the task of learning realistic representations of the data should not be reallocated from the model itself to some surrogate model.</p> -</div> -<p>In cases where the use of surrogate models cannot be avoided, we propose to weigh the plausibility of counterfactuals against their fidelity to the black-box model. In the context of Explainable AI, fidelity is defined as describing how an explanation approximates the prediction of the black-box model <span class="citation" data-cites="molnar2020interpretable">(<a href="#ref-molnar2020interpretable" role="doc-biblioref">Molnar 2020</a>)</span>. Fidelity has become the default metric for evaluating Local Model-Agnostic Models, since they often involve local surrogate models whose predictions need not always match those of the black-box model.</p> -<p>In the case of Counterfactual Explanations, the concept of fidelity has so far been ignored. This is not altogether surprising, since by construction and design, Counterfactual Explanations work with the predictions of the black-box model directly: as stated above, a counterfactual <span class="math inline">\(x^{\prime}\)</span> is considered valid if and only if <span class="math inline">\(f(x^{\prime})=t\)</span>, where <span class="math inline">\(t\)</span> denote some target outcome.</p> -<p>Does fidelity even make sense in the context of CE, and if so, how can we define it? In light of the examples in the previous section, we think it is urgent to introduce a notion of fidelity in this context, that relates to the distributional properties of the generated counterfactuals. In particular, we propose that a high-fidelity counterfactual <span class="math inline">\(x^{\prime}\)</span> complies with the class-conditional distribution <span class="math inline">\(\mathcal{X}_{\theta} = p_{\theta}(X|y)\)</span> where <span class="math inline">\(\theta\)</span> denote the black-box model parameters.</p> -<div id="def-fidele" class="theorem definition"> -<p><span class="theorem-title"><strong>Definition 1.2 (High-Fidelity Counterfactuals) </strong></span>Let <span class="math inline">\(\mathcal{X}_{\theta}|y = p_{\theta}(X|y)\)</span> denote the class-conditional distribution of <span class="math inline">\(X\)</span> defined by <span class="math inline">\(\theta\)</span>. Then for <span class="math inline">\(x^{\prime}\)</span> to be considered a high-fidelity counterfactual, we need: <span class="math inline">\(\mathcal{X}_{\theta}|t \approxeq \mathcal{X}^{\prime}\)</span> where <span class="math inline">\(t\)</span> denotes the target outcome.</p> -</div> -<p>In order to assess the fidelity of counterfactuals, we propose the following two-step procedure:</p> -<ol type="1"> -<li>Generate samples <span class="math inline">\(X_{\theta}|y\)</span> and <span class="math inline">\(X^{\prime}\)</span> from <span class="math inline">\(\mathcal{X}_{\theta}|t\)</span> and <span class="math inline">\(\mathcal{X}^{\prime}\)</span>, respectively.</li> -<li>Compute the Maximum Mean Discrepancy (MMD) between <span class="math inline">\(X_{\theta}|y\)</span> and <span class="math inline">\(X^{\prime}\)</span>.</li> -</ol> -<p>If the computed value is different from zero, we can reject the null-hypothesis of fidelity.</p> -<blockquote> -<p>Two challenges here: 1) implementing the sampling procedure in <span class="citation" data-cites="grathwohl2020your">Grathwohl et al. (<a href="#ref-grathwohl2020your" role="doc-biblioref">2020</a>)</span>; 2) it is unclear if MMD is really the right way to measure this.</p> -</blockquote> -</section> -</section> -<section id="conformal-counterfactual-explanations" class="level2" data-number="1.2"> -<h2 data-number="1.2"><span class="header-section-number">1.2</span> Conformal Counterfactual Explanations</h2> -<p>In <a href="#sec-fidelity"><span class="quarto-unresolved-ref">sec-fidelity</span></a>, we have advocated for avoiding surrogate models in the context of Counterfactual Explanations. In this section, we introduce an alternative way to generate high-fidelity Counterfactual Explanations. In particular, we propose Conformal Counterfactual Explanations (CCE), that is Counterfactual Explanations that minimize the predictive uncertainty of conformal models.</p> -<section id="minimizing-predictive-uncertainty" class="level3" data-number="1.2.1"> -<h3 data-number="1.2.1"><span class="header-section-number">1.2.1</span> Minimizing Predictive Uncertainty</h3> -<p><span class="citation" data-cites="schut2021generating">Schut et al. (<a href="#ref-schut2021generating" role="doc-biblioref">2021</a>)</span> demonstrated that the goal of generating realistic (plausible) counterfactuals can also be achieved by seeking counterfactuals that minimize the predictive uncertainty of the underlying black-box model. Similarly, <span class="citation" data-cites="antoran2020getting">Antorán et al. (<a href="#ref-antoran2020getting" role="doc-biblioref">2020</a>)</span> …</p> -<ul> -<li>Problem: restricted to Bayesian models.</li> -<li>Solution: post-hoc predictive uncertainty quantification. In particular, Conformal Prediction.</li> -</ul> -</section> -<section id="background-on-conformal-prediction" class="level3" data-number="1.2.2"> -<h3 data-number="1.2.2"><span class="header-section-number">1.2.2</span> Background on Conformal Prediction</h3> -<ul> -<li>Distribution-free, model-agnostic and scalable approach to predictive uncertainty quantification.</li> -<li>Conformal prediction is instance-based. So is CE.</li> -<li>Take any fitted model and turn it into a conformal model using calibration data.</li> -<li>Our approach, therefore, relaxes the restriction on the family of black-box models, at the cost of relying on a subset of the data. Arguably, data is often abundant and in most applications practitioners tend to hold out a test data set anyway.</li> -</ul> -<blockquote> -<p>Does the coverage guarantee carry over to counterfactuals?</p> -</blockquote> -</section> -<section id="generating-conformal-counterfactuals" class="level3" data-number="1.2.3"> -<h3 data-number="1.2.3"><span class="header-section-number">1.2.3</span> Generating Conformal Counterfactuals</h3> -<p>While Conformal Prediction has recently grown in popularity, it does introduce a challenge in the context of classification: the predictions of Conformal Classifiers are set-valued and therefore difficult to work with, since they are, for example, non-differentiable. Fortunately, <span class="citation" data-cites="stutz2022learning">Stutz et al. (<a href="#ref-stutz2022learning" role="doc-biblioref">2022</a>)</span> introduced carefully designed differentiable loss functions that make it possible to evaluate the performance of conformal predictions in training. We can leverage these recent advances in the context of gradient-based counterfactual search …</p> -<blockquote> -<p>Challenge: still need to implement these loss functions.</p> -</blockquote> -</section> -</section> -<section id="experiments" class="level2" data-number="1.3"> -<h2 data-number="1.3"><span class="header-section-number">1.3</span> Experiments</h2> -<section id="research-questions" class="level3" data-number="1.3.1"> -<h3 data-number="1.3.1"><span class="header-section-number">1.3.1</span> Research Questions</h3> -<ul> -<li><p>Is CP alone enough to ensure realistic counterfactuals?</p></li> -<li><p>Do counterfactuals improve further as the models get better?</p></li> -<li><p>Do counterfactuals get more realistic as coverage</p></li> -<li><p>What happens as we vary coverage and setsize?</p></li> -<li><p>What happens as we improve the model robustness?</p></li> -<li><p>What happens as we improve the model’s ability to incorporate predictive uncertainty (deep ensemble, laplace)?</p></li> -<li><p>What happens if we combine with DiCE, ClaPROAR, Gravitational?</p></li> -<li><p>What about CE robustness to endogenous shifts <span class="citation" data-cites="altmeyer2023endogenous">(<a href="#ref-altmeyer2023endogenous" role="doc-biblioref">Altmeyer et al. 2023</a>)</span>?</p></li> -<li><p>Benchmarking:</p> -<ul> -<li>add PROBE <span class="citation" data-cites="pawelczyk2022probabilistically">(<a href="#ref-pawelczyk2022probabilistically" role="doc-biblioref">Pawelczyk et al. 2022</a>)</span> into the mix.</li> -<li>compare travel costs to domain shits.</li> -</ul></li> -</ul> -<blockquote> -<p>Nice to have: What about using Laplace Approximation, then Conformal Prediction? What about using Conformalised Laplace?</p> -</blockquote> -</section> -</section> -<section id="references" class="level2" data-number="1.4"> -<h2 data-number="1.4"><span class="header-section-number">1.4</span> References</h2> -<div id="quarto-navigation-envelope" class="hidden"> -<p><span class="hidden" data-render-id="quarto-int-sidebar-title">Conformal Counterfactual Explanations</span> <span class="hidden" data-render-id="quarto-int-navbar-title">Conformal Counterfactual Explanations</span> <span class="hidden" data-render-id="quarto-int-next"><span class="chapter-number">2</span> <span class="chapter-title"><code>ConformalGenerator</code></span></span> <span class="hidden" data-render-id="quarto-int-prev">Preface</span> <span class="hidden" data-render-id="quarto-int-sidebar:/index.html">Preface</span> <span class="hidden" data-render-id="quarto-int-sidebar:/notebooks/proposal.html"><span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-int-sidebar:/notebooks/intro.html"><span class="chapter-number">2</span> <span class="chapter-title"><code>ConformalGenerator</code></span></span> <span class="hidden" data-render-id="quarto-int-sidebar:/notebooks/references.html">References</span></p> -</div> -<div id="quarto-meta-markdown" class="hidden"> -<p><span class="hidden" data-render-id="quarto-metatitle">Conformal Counterfactual Explanations - <span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-twittercardtitle">Conformal Counterfactual Explanations - <span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-ogcardtitle">Conformal Counterfactual Explanations - <span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-metasitename">Conformal Counterfactual Explanations</span> <span class="hidden" data-render-id="quarto-twittercarddesc">We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.</span> <span class="hidden" data-render-id="quarto-ogcardddesc">We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.</span></p> -</div> -<div id="refs" class="references csl-bib-body hanging-indent" role="list"> -<div id="ref-altmeyer2023endogenous" class="csl-entry" role="listitem"> -Altmeyer, Patrick, Giovan Angela, Aleksander Buszydlik, Karol Dobiczek, Arie van Deursen, and Cynthia Liem. 2023. <span>“Endogenous <span>Macrodynamics</span> in <span>Algorithmic</span> <span>Recourse</span>.â€</span> In <em>First <span>IEEE</span> <span>Conference</span> on <span>Secure</span> and <span>Trustworthy</span> <span>Machine</span> <span>Learning</span></em>. -</div> -<div id="ref-antoran2020getting" class="csl-entry" role="listitem"> -Antorán, Javier, Umang Bhatt, Tameem Adel, Adrian Weller, and José Miguel Hernández-Lobato. 2020. <span>“Getting a Clue: <span>A</span> Method for Explaining Uncertainty Estimates.â€</span> <a href="https://arxiv.org/abs/2006.06848">https://arxiv.org/abs/2006.06848</a>. -</div> -<div id="ref-grathwohl2020your" class="csl-entry" role="listitem"> -Grathwohl, Will, Kuan-Chieh Wang, Joern-Henrik Jacobsen, David Duvenaud, Mohammad Norouzi, and Kevin Swersky. 2020. <span>“Your Classifier Is Secretly an Energy Based Model and You Should Treat It Like One.â€</span> In. <a href="https://openreview.net/forum?id=Hkxzx0NtDB">https://openreview.net/forum?id=Hkxzx0NtDB</a>. -</div> -<div id="ref-joshi2019realistic" class="csl-entry" role="listitem"> -Joshi, Shalmali, Oluwasanmi Koyejo, Warut Vijitbenjaronk, Been Kim, and Joydeep Ghosh. 2019. <span>“Towards Realistic Individual Recourse and Actionable Explanations in Black-Box Decision Making Systems.â€</span> <a href="https://arxiv.org/abs/1907.09615">https://arxiv.org/abs/1907.09615</a>. -</div> -<div id="ref-karimi2021algorithmic" class="csl-entry" role="listitem"> -Karimi, Amir-Hossein, Bernhard Schölkopf, and Isabel Valera. 2021. <span>“Algorithmic Recourse: From Counterfactual Explanations to Interventions.â€</span> In <em>Proceedings of the 2021 <span>ACM Conference</span> on <span>Fairness</span>, <span>Accountability</span>, and <span>Transparency</span></em>, 353–62. -</div> -<div id="ref-molnar2020interpretable" class="csl-entry" role="listitem"> -Molnar, Christoph. 2020. <em>Interpretable Machine Learning</em>. <span>Lulu. com</span>. -</div> -<div id="ref-pawelczyk2022probabilistically" class="csl-entry" role="listitem"> -Pawelczyk, Martin, Teresa Datta, Johannes van-den-Heuvel, Gjergji Kasneci, and Himabindu Lakkaraju. 2022. <span>“Probabilistically <span>Robust</span> <span>Recourse</span>: <span>Navigating</span> the <span>Trade</span>-Offs Between <span>Costs</span> and <span>Robustness</span> in <span>Algorithmic</span> <span>Recourse</span>.â€</span> <em>arXiv Preprint arXiv:2203.06768</em>. -</div> -<div id="ref-poyiadzi2020face" class="csl-entry" role="listitem"> -Poyiadzi, Rafael, Kacper Sokol, Raul Santos-Rodriguez, Tijl De Bie, and Peter Flach. 2020. <span>“<span>FACE</span>: <span>Feasible</span> and Actionable Counterfactual Explanations.â€</span> In <em>Proceedings of the <span>AAAI</span>/<span>ACM Conference</span> on <span>AI</span>, <span>Ethics</span>, and <span>Society</span></em>, 344–50. -</div> -<div id="ref-schut2021generating" class="csl-entry" role="listitem"> -Schut, Lisa, Oscar Key, Rory Mc Grath, Luca Costabello, Bogdan Sacaleanu, Yarin Gal, et al. 2021. <span>“Generating <span>Interpretable Counterfactual Explanations By Implicit Minimisation</span> of <span>Epistemic</span> and <span>Aleatoric Uncertainties</span>.â€</span> In <em>International <span>Conference</span> on <span>Artificial Intelligence</span> and <span>Statistics</span></em>, 1756–64. <span>PMLR</span>. -</div> -<div id="ref-stutz2022learning" class="csl-entry" role="listitem"> -Stutz, David, Krishnamurthy Dj Dvijotham, Ali Taylan Cemgil, and Arnaud Doucet. 2022. <span>“Learning <span>Optimal</span> <span>Conformal</span> <span>Classifiers</span>.â€</span> In. <a href="https://openreview.net/forum?id=t8O-4LKFVx">https://openreview.net/forum?id=t8O-4LKFVx</a>. -</div> -<div id="ref-wachter2017counterfactual" class="csl-entry" role="listitem"> -Wachter, Sandra, Brent Mittelstadt, and Chris Russell. 2017. <span>“Counterfactual Explanations Without Opening the Black Box: <span>Automated</span> Decisions and the <span>GDPR</span>.â€</span> <em>Harv. JL & Tech.</em> 31: 841. -</div> -</div> -</section> - -</main> <!-- /main --> -<script id = "quarto-html-after-body" type="application/javascript"> -window.document.addEventListener("DOMContentLoaded", function (event) { - const toggleBodyColorMode = (bsSheetEl) => { - const mode = bsSheetEl.getAttribute("data-mode"); - const bodyEl = window.document.querySelector("body"); - if (mode === "dark") { - bodyEl.classList.add("quarto-dark"); - bodyEl.classList.remove("quarto-light"); - } else { - bodyEl.classList.add("quarto-light"); - bodyEl.classList.remove("quarto-dark"); - } - } - const toggleBodyColorPrimary = () => { - const bsSheetEl = window.document.querySelector("link#quarto-bootstrap"); - if (bsSheetEl) { - toggleBodyColorMode(bsSheetEl); - } - } - toggleBodyColorPrimary(); - const icon = ""; - const anchorJS = new window.AnchorJS(); - anchorJS.options = { - placement: 'right', - icon: icon - }; - anchorJS.add('.anchored'); - const clipboard = new window.ClipboardJS('.code-copy-button', { - target: function(trigger) { - return trigger.previousElementSibling; - } - }); - clipboard.on('success', function(e) { - // button target - const button = e.trigger; - // don't keep focus - button.blur(); - // flash "checked" - button.classList.add('code-copy-button-checked'); - var currentTitle = button.getAttribute("title"); - button.setAttribute("title", "Copied!"); - let tooltip; - if (window.bootstrap) { - button.setAttribute("data-bs-toggle", "tooltip"); - button.setAttribute("data-bs-placement", "left"); - button.setAttribute("data-bs-title", "Copied!"); - tooltip = new bootstrap.Tooltip(button, - { trigger: "manual", - customClass: "code-copy-button-tooltip", - offset: [0, -8]}); - tooltip.show(); - } - setTimeout(function() { - if (tooltip) { - tooltip.hide(); - button.removeAttribute("data-bs-title"); - button.removeAttribute("data-bs-toggle"); - button.removeAttribute("data-bs-placement"); - } - button.setAttribute("title", currentTitle); - button.classList.remove('code-copy-button-checked'); - }, 1000); - // clear code selection - e.clearSelection(); - }); - function tippyHover(el, contentFn) { - const config = { - allowHTML: true, - content: contentFn, - maxWidth: 500, - delay: 100, - arrow: false, - appendTo: function(el) { - return el.parentElement; - }, - interactive: true, - interactiveBorder: 10, - theme: 'quarto', - placement: 'bottom-start' - }; - window.tippy(el, config); - } - const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); - for (var i=0; i<noterefs.length; i++) { - const ref = noterefs[i]; - tippyHover(ref, function() { - // use id or data attribute instead here - let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); - try { href = new URL(href).hash; } catch {} - const id = href.replace(/^#\/?/, ""); - const note = window.document.getElementById(id); - return note.innerHTML; - }); - } - let selectedAnnoteEl; - const selectorForAnnotation = ( cell, annotation) => { - let cellAttr = 'data-code-cell="' + cell + '"'; - let lineAttr = 'data-code-annotation="' + annotation + '"'; - const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; - return selector; - } - const selectCodeLines = (annoteEl) => { - const doc = window.document; - const targetCell = annoteEl.getAttribute("data-target-cell"); - const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); - const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); - const lines = annoteSpan.getAttribute("data-code-lines").split(","); - const lineIds = lines.map((line) => { - return targetCell + "-" + line; - }) - let top = null; - let height = null; - let parent = null; - if (lineIds.length > 0) { - //compute the position of the single el (top and bottom and make a div) - const el = window.document.getElementById(lineIds[0]); - top = el.offsetTop; - height = el.offsetHeight; - parent = el.parentElement.parentElement; - if (lineIds.length > 1) { - const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); - const bottom = lastEl.offsetTop + lastEl.offsetHeight; - height = bottom - top; - } - if (top !== null && height !== null && parent !== null) { - // cook up a div (if necessary) and position it - let div = window.document.getElementById("code-annotation-line-highlight"); - if (div === null) { - div = window.document.createElement("div"); - div.setAttribute("id", "code-annotation-line-highlight"); - div.style.position = 'absolute'; - parent.appendChild(div); - } - div.style.top = top - 2 + "px"; - div.style.height = height + 4 + "px"; - let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); - if (gutterDiv === null) { - gutterDiv = window.document.createElement("div"); - gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); - gutterDiv.style.position = 'absolute'; - const codeCell = window.document.getElementById(targetCell); - const gutter = codeCell.querySelector('.code-annotation-gutter'); - gutter.appendChild(gutterDiv); - } - gutterDiv.style.top = top - 2 + "px"; - gutterDiv.style.height = height + 4 + "px"; - } - selectedAnnoteEl = annoteEl; - } - }; - const unselectCodeLines = () => { - const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; - elementsIds.forEach((elId) => { - const div = window.document.getElementById(elId); - if (div) { - div.remove(); - } - }); - selectedAnnoteEl = undefined; - }; - // Attach click handler to the DT - const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); - for (const annoteDlNode of annoteDls) { - annoteDlNode.addEventListener('click', (event) => { - const clickedEl = event.target; - if (clickedEl !== selectedAnnoteEl) { - unselectCodeLines(); - const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); - if (activeEl) { - activeEl.classList.remove('code-annotation-active'); - } - selectCodeLines(clickedEl); - clickedEl.classList.add('code-annotation-active'); - } else { - // Unselect the line - unselectCodeLines(); - clickedEl.classList.remove('code-annotation-active'); - } - }); - } - const findCites = (el) => { - const parentEl = el.parentElement; - if (parentEl) { - const cites = parentEl.dataset.cites; - if (cites) { - return { - el, - cites: cites.split(' ') - }; - } else { - return findCites(el.parentElement) - } - } else { - return undefined; - } - }; - var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); - for (var i=0; i<bibliorefs.length; i++) { - const ref = bibliorefs[i]; - const citeInfo = findCites(ref); - if (citeInfo) { - tippyHover(citeInfo.el, function() { - var popup = window.document.createElement('div'); - citeInfo.cites.forEach(function(cite) { - var citeDiv = window.document.createElement('div'); - citeDiv.classList.add('hanging-indent'); - citeDiv.classList.add('csl-entry'); - var biblioDiv = window.document.getElementById('ref-' + cite); - if (biblioDiv) { - citeDiv.innerHTML = biblioDiv.innerHTML; - } - popup.appendChild(citeDiv); - }); - return popup.innerHTML; - }); - } - } -}); -</script> -<nav class="page-navigation"> - <div class="nav-page nav-page-previous"> - <a href="/index.html" class="pagination-link"> - <i class="bi bi-arrow-left-short"></i> <span class="nav-page-text">Preface</span> - </a> - </div> - <div class="nav-page nav-page-next"> - <a href="/notebooks/intro.html" class="pagination-link"> - <span class="nav-page-text"><span class='chapter-number'>2</span> <span class='chapter-title'>`ConformalGenerator`</span></span> <i class="bi bi-arrow-right-short"></i> - </a> - </div> -</nav> -</div> <!-- /content --> - -</body> - -</html> \ No newline at end of file diff --git a/notebooks/intro.ipynb b/notebooks/intro.ipynb new file mode 100644 index 00000000..91b560a6 --- /dev/null +++ b/notebooks/intro.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "code", + "metadata": {}, + "source": [ + "include(\"notebooks/setup.jl\")\n", + "eval(setup_notebooks)" + ], + "id": "dfd65706", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# `ConformalGenerator`\n", + "\n", + "In this section, we will look at a simple example involving synthetic data, a black-box model and a generic Conformal Counterfactual Generator.\n", + "\n", + "## Black-box Model\n", + "\n", + "We consider a simple binary classification problem. Let $(X_i, Y_i), \\ i=1,...,n$ denote our feature-label pairs and let $\\mu: \\mathcal{X} \\mapsto \\mathcal{Y}$ denote the mapping from features to labels. For illustration purposes, we will use linearly separable data. \n" + ], + "id": "4c30df47" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "counterfactual_data = load_linearly_separable()" + ], + "id": "b23030b1", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "While we could use a linear classifier in this case, let's pretend we need a black-box model for this task and rely on a small Multi-Layer Perceptron (MLP):\n" + ], + "id": "c95f7897" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "builder = MLJFlux.@builder Chain(\n", + " Dense(n_in, 32, relu),\n", + " Dense(32, n_out)\n", + ")\n", + "clf = NeuralNetworkClassifier(builder=builder, epochs=100)" + ], + "id": "aa6bb367", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can fit this model to data to produce plug-in predictions. \n", + "\n", + "## Conformal Prediction\n", + "\n", + "Here we will instead use a specific case of CP called *split conformal prediction* which can then be summarized as follows:^[In other places split conformal prediction is sometimes referred to as *inductive* conformal prediction.]\n", + "\n", + "1. Partition the training into a proper training set and a separate calibration set: $\\mathcal{D}_n=\\mathcal{D}^{\\text{train}} \\cup \\mathcal{D}^{\\text{cali}}$.\n", + "2. Train the machine learning model on the proper training set: $\\hat\\mu_{i \\in \\mathcal{D}^{\\text{train}}}(X_i,Y_i)$.\n", + "\n", + "The model $\\hat\\mu_{i \\in \\mathcal{D}^{\\text{train}}}$ can now produce plug-in predictions. \n", + "\n", + "::: callout-note\n", + "\n", + "## Starting Point\n", + "\n", + "Note that this represents the starting point in applications of Algorithmic Recourse: we have some pre-trained classifier $M$ for which we would like to generate plausible Counterfactual Explanations. Next, we turn to the calibration step. \n", + ":::\n", + "\n", + "3. Compute nonconformity scores, $\\mathcal{S}$, using the calibration data $\\mathcal{D}^{\\text{cali}}$ and the fitted model $\\hat\\mu_{i \\in \\mathcal{D}^{\\text{train}}}$. \n", + "4. For a user-specified desired coverage ratio $(1-\\alpha)$ compute the corresponding quantile, $\\hat{q}$, of the empirical distribution of nonconformity scores, $\\mathcal{S}$.\n", + "5. For the given quantile and test sample $X_{\\text{test}}$, form the corresponding conformal prediction set: \n", + "\n", + "$$\n", + "C(X_{\\text{test}})=\\{y:s(X_{\\text{test}},y) \\le \\hat{q}\\}\n", + "$$ {#eq-set}\n", + "\n", + "This is the default procedure used for classification and regression in [`ConformalPrediction.jl`](https://github.com/pat-alt/ConformalPrediction.jl). \n", + "\n", + "Using the package, we can apply Split Conformal Prediction as follows:\n" + ], + "id": "56b7cbf3" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "X = table(permutedims(counterfactual_data.X))\n", + "y = counterfactual_data.output_encoder.labels\n", + "conf_model = conformal_model(clf; method=:simple_inductive)\n", + "mach = machine(conf_model, X, y)\n", + "fit!(mach)" + ], + "id": "508249d0", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To be clear, all of the calibration steps (3 to 5) are post hoc, and yet none of them involved any changes to the model parameters. These are two important characteristics of Split Conformal Prediction (SCP) that make it particularly useful in the context of Algorithmic Recourse. Firstly, the fact that SCP involves posthoc calibration steps that happen after training, ensures that we need not place any restrictions on the black-box model itself. This stands in contrast to the approach proposed by @schut2021generating in which they essentially restrict the class of models to Bayesian models. Secondly, the fact that the model itself is kept entirely intact ensures that the generated counterfactuals maintain fidelity to the model. Finally, note that we also have not resorted to a surrogate model to learn more about $X \\sim \\mathcal{X}$. Instead, we have used the fitted model itself and a calibration data set to learn about the model's predictive uncertainty. \n", + "\n", + "## Differentiable CP\n", + "\n", + "In order to use CP in the context of gradient-based counterfactual search, we need it to be differentiable. @stutz2022learning introduce a framework for training differentiable conformal predictors. They introduce a configurable loss function as well as smooth set size penalty.\n", + "\n", + "### Smooth Set Size Penalty\n", + "\n", + "Starting with the former, @stutz2022learning propose the following:\n", + "\n", + "$$\n", + "\\Omega(C_{\\theta}(x;\\tau)) = = \\max (0, \\sum_k C_{\\theta,k}(x;\\tau) - \\kappa)\n", + "$$ {#eq-size-loss}\n", + "\n", + "Here, $C_{\\theta,k}(x;\\tau)$ is loosely defined as the probability that class $k$ is assigned to the conformal prediction set $C$. In the context of Conformal Training, this penalty reduces the **inefficiency** of the conformal predictor. \n", + "\n", + "In our context, we are not interested in improving the model itself, but rather in producing **plausible** counterfactuals. Provided that our counterfactual $x^\\prime$ is already inside the target domain ($\\mathbb{I}_{y^\\prime = t}=1$), penalizing $\\Omega(C_{\\theta}(x;\\tau))$ corresponds to guiding counterfactuals into regions of the target domain that are characterized by low ambiguity: for $\\kappa=1$ the conformal prediction set includes only the target label $t$ as $\\Omega(C_{\\theta}(x;\\tau))$. Arguably, less ambiguous counterfactuals are more **plausible**. Since the search is guided purely by properties of the model itself and (exchangeable) calibration data, counterfactuals also maintain **high fidelity**.\n", + "\n", + "The left panel of @fig-losses shows the smooth size penalty in the two-dimensional feature space of our synthetic data.\n", + "\n", + "### Configurable Classification Loss\n", + "\n", + "The right panel of @fig-losses shows the configurable classification loss in the two-dimensional feature space of our synthetic data.\n" + ], + "id": "89d53442" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| output: true\n", + "#| echo: false\n", + "#| label: fig-losses\n", + "#| fig-cap: Illustration of the smooth size loss and the configurable classification loss.\n", + "\n", + "temp = 0.5\n", + "p1 = contourf(mach.model, mach.fitresult, X, y; plot_set_loss=true, zoom=0, temp=temp)\n", + "p2 = contourf(mach.model, mach.fitresult, X, y; plot_classification_loss=true, target=1, zoom=0, temp=temp, clim=nothing, loss_matrix=ones(2,2))\n", + "plot(p1, p2, size=(800,320))" + ], + "id": "fig-losses", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fidelity and Plausibility\n", + "\n", + "The main evaluation criteria we are interested in are *fidelity* and *plausibility*. Interestingly, we could also consider using these measures as penalties in the counterfactual search.\n", + "\n", + "### Fidelity\n", + "\n", + "We propose to define fidelity as follows:\n", + "\n", + "::: {#def-fidelity}\n", + "\n", + "## High-Fidelity Counterfactuals\n", + "\n", + "Let $\\mathcal{X}_{\\theta}|y = p_{\\theta}(X|y)$ denote the class-conditional distribution of $X$ defined by $\\theta$. Then for $x^{\\prime}$ to be considered a high-fidelity counterfactual, we need: $\\mathcal{X}_{\\theta}|t \\approxeq \\mathcal{X}^{\\prime}$ where $t$ denotes the target outcome.\n", + "\n", + ":::\n", + "\n", + "We can generate samples from $p_{\\theta}(X|y)$ following @grathwohl2020your. In @fig-energy, I have applied the methodology to our synthetic data.\n" + ], + "id": "a7329cea" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| fig-cap: Energy-based conditional samples.\n", + "#| label: fig-energy\n", + "\n", + "M = CCE.ConformalModel(conf_model, mach.fitresult)\n", + "\n", + "niter = 100\n", + "nsamples = 100\n", + "\n", + "plts = []\n", + "for target ∈ counterfactual_data.y_levels\n", + " sampler = CCE.EnergySampler(M, counterfactual_data, target; niter=niter, nsamples=100)\n", + " Xgen = rand(sampler, nsamples)\n", + " plt = plot(M, counterfactual_data; target=target, zoom=-3,cbar=false)\n", + " scatter!(Xgen[1,:],Xgen[2,:],alpha=0.5,color=target,shape=:star,label=\"X|y=$target\")\n", + " push!(plts, plt)\n", + "end\n", + "plot(plts..., layout=(1,length(plts)), size=(img_height*length(plts),img_height))" + ], + "id": "fig-energy", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As an evaluation metric and penalty, we could use the average distance of the counterfactual $x^{\\prime}$ from these generated samples, for example.\n", + "\n", + "### Plausibility\n", + "\n", + "We propose to define plausibility as follows:\n", + "\n", + "::: {#def-plausible}\n", + "\n", + "## Plausible Counterfactuals\n", + "\n", + "Formally, let $\\mathcal{X}|t$ denote the conditional distribution of samples in the target class. As before, we have $x^{\\prime}\\sim\\mathcal{X}^{\\prime}$, then for $x^{\\prime}$ to be considered a plausible counterfactual, we need: $\\mathcal{X}|t \\approxeq \\mathcal{X}^{\\prime}$.\n", + "\n", + ":::\n", + "\n", + "As an evaluation metric and penalty, we could use the average distance of the counterfactual $x^{\\prime}$ from (potentially bootstrapped) training samples in the target class, for example.\n", + "\n", + "## Counterfactual Explanations\n", + "\n", + "Next, let's generate counterfactual explanations for our synthetic data. We first wrap our model in a container that makes it compatible with `CounterfactualExplanations.jl`. Then we draw a random sample, determine its predicted label $\\hat{y}$ and choose the opposite label as our target. \n" + ], + "id": "167a8309" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "x = select_factual(counterfactual_data,rand(1:size(counterfactual_data.X,2)))\n", + "y_factual = predict_label(M, counterfactual_data, x)[1]\n", + "target = counterfactual_data.y_levels[counterfactual_data.y_levels .!= y_factual][1]" + ], + "id": "aa344e11", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The generic Conformal Counterfactual Generator penalises the only the set size only:\n", + "\n", + "$$\n", + "x^\\prime = \\arg \\min_{x^\\prime} \\ell(M(x^\\prime),t) + \\lambda \\mathbb{I}_{y^\\prime = t} \\Omega(C_{\\theta}(x;\\tau)) \n", + "$$ {#eq-solution}\n" + ], + "id": "6d705569" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| output: true\n", + "#| echo: false\n", + "#| label: fig-ce\n", + "#| fig-cap: Comparison of counterfactuals produced using different generators.\n", + "\n", + "λ = 10.0\n", + "\n", + "opt = Descent(0.01)\n", + "ordered_names = [\n", + " \"Distance x\",\n", + " \"Set Size\",\n", + " \"Distance X_θ|t\",\n", + " \"Distance X|t\"\n", + "]\n", + "loss_fun = Objectives.logitbinarycrossentropy\n", + "generator = GenericGenerator(opt = opt)\n", + "\n", + "# Generators:\n", + "generators = Dict(\n", + " ordered_names[1] => generator,\n", + " ordered_names[2] => deepcopy(generator) |> gen -> @objective(gen, _ + 0.1distance + 10.0set_size_penalty),\n", + " ordered_names[3] => deepcopy(generator) |> gen -> @objective(gen, _ + 0.1distance + 10.0distance_from_energy),\n", + " ordered_names[4] => deepcopy(generator) |> gen -> @objective(gen, _ + 0.1distance + 10.0distance_from_targets),\n", + ")\n", + "\n", + "counterfactuals = Dict([name => generate_counterfactual(x, target, counterfactual_data, M, gen; initialization=:identity, converge_when=:generator_conditions, gradient_tol=1e-3) for (name, gen) in generators])\n", + "\n", + "# Plots:\n", + "plts = []\n", + "for name ∈ ordered_names\n", + " ce = counterfactuals[name]\n", + " plt = plot(ce; title=name, colorbar=false, ticks = false, legend=false, zoom=-0.5)\n", + " if :energy_sampler ∈ collect(keys(ce.params))\n", + " Xgen = ce.params[:energy_sampler].buffer\n", + " scatter!(Xgen[1,:],Xgen[2,:],alpha=0.5,color=target,shape=:star,label=\"X|y=$target\")\n", + " end\n", + " plts = vcat(plts..., plt)\n", + "end\n", + "_n = length(generators)\n", + "plot(plts..., size=(_n * img_height,1.05*img_height), layout=(1,_n))" + ], + "id": "fig-ce", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Benchmark\n" + ], + "id": "23703549" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| output: false\n", + "\n", + "# Data:\n", + "datasets = Dict(\n", + " :linearly_separable => load_linearly_separable(),\n", + " :overlapping => load_overlapping(),\n", + " :moons => load_moons(),\n", + " :circles => load_circles(),\n", + ")\n", + "\n", + "# Models:\n", + "models = Dict(\n", + " :MLP => M,\n", + ")" + ], + "id": "60b7b6b1", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then we can simply loop over the datasets and eventually concatenate the results like so:\n" + ], + "id": "10d69d5f" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| output: false\n", + "\n", + "measure = \n", + "using CounterfactualExplanations.Evaluation: benchmark\n", + "bmks = []\n", + "for (dataname, dataset) in datasets\n", + " bmk = benchmark(dataset; models=models, generators=generators, suppress_training=true, data_name=dataname)\n", + " push!(bmks, bmk)\n", + "end\n", + "bmk = reduce(vcat, bmks)" + ], + "id": "370a4431", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multi-Class\n" + ], + "id": "fcab2bf0" + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "counterfactual_data = load_multi_class()" + ], + "id": "cd4e3272", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "X = table(permutedims(counterfactual_data.X))\n", + "y = counterfactual_data.output_encoder.labels\n", + "conf_model = conformal_model(clf; method=:simple_inductive)\n", + "mach = machine(conf_model, X, y)\n", + "fit!(mach)" + ], + "id": "38531347", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| output: true\n", + "#| echo: false\n", + "#| label: fig-losses-multi\n", + "#| fig-cap: Illustration of the smooth size loss and the configurable classification loss.\n", + "\n", + "temp = 0.5\n", + "p1 = contourf(mach.model, mach.fitresult, X, y; plot_set_loss=true, zoom=0, temp=temp)\n", + "p2 = contourf(mach.model, mach.fitresult, X, y; plot_classification_loss=true, target=1, zoom=0, temp=temp, clim=nothing, loss_matrix=ones(4,4))\n", + "plot(p1, p2, size=(800,320))" + ], + "id": "fig-losses-multi", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "#| fig-cap: Energy-based conditional samples.\n", + "#| label: fig-energy-multi\n", + "\n", + "niter = 100\n", + "nsamples = 100\n", + "M = CCE.ConformalModel(conf_model, mach.fitresult; likelihood=:classification_multi)\n", + "\n", + "plts = []\n", + "for target ∈ counterfactual_data.y_levels\n", + " sampler = CCE.EnergySampler(M, counterfactual_data, target; niter=niter, nsamples=100)\n", + " Xgen = rand(sampler, nsamples)\n", + " plt = plot(M, counterfactual_data; target=target, zoom=-0.5,cbar=false)\n", + " scatter!(Xgen[1,:],Xgen[2,:],alpha=0.5,color=target,shape=:star,label=\"X|y=$target\")\n", + " push!(plts, plt)\n", + "end\n", + "plot(plts..., layout=(1,length(plts)), size=(img_height*length(plts),img_height))" + ], + "id": "fig-energy-multi", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "x = select_factual(counterfactual_data,rand(1:size(counterfactual_data.X,2)))\n", + "y_factual = predict_label(M, counterfactual_data, x)[1]\n", + "target = counterfactual_data.y_levels[counterfactual_data.y_levels .!= y_factual][1]" + ], + "id": "aec30b5c", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "counterfactuals = Dict([name => generate_counterfactual(x, target, counterfactual_data, M, gen; initialization=:identity, converge_when=:generator_conditions, gradient_tol=1e-3) for (name, gen) in generators])\n", + "\n", + "# Plots:\n", + "plts = []\n", + "for name ∈ ordered_names\n", + " ce = counterfactuals[name]\n", + " plt = plot(ce; title=name, colorbar=false, ticks = false, legend=false, zoom=-0.5)\n", + " if :energy_sampler ∈ collect(keys(ce.params))\n", + " Xgen = ce.params[:energy_sampler].buffer\n", + " scatter!(Xgen[1,:],Xgen[2,:],alpha=0.5,color=target,shape=:star,label=\"X|y=$target\")\n", + " end\n", + " plts = vcat(plts..., plt)\n", + "end\n", + "_n = length(generators)\n", + "plot(plts..., size=(_n * img_height,1.05*img_height), layout=(1,_n))" + ], + "id": "7b7ee911", + "execution_count": null, + "outputs": [] + } + ], + "metadata": { + "kernelspec": { + "name": "julia-1.8", + "language": "julia", + "display_name": "Julia 1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/notebooks/proposal.html b/notebooks/proposal.html deleted file mode 100644 index 68790b14..00000000 --- a/notebooks/proposal.html +++ /dev/null @@ -1,582 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - -<meta charset="utf-8" /> -<meta name="generator" content="quarto-99.9.9" /> - -<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> - - -<title>Conformal Counterfactual Explanations – 1 High-Fidelity Counterfactual Explanations through Conformal Prediction</title> -<style> -code{white-space: pre-wrap;} -span.smallcaps{font-variant: small-caps;} -div.columns{display: flex; gap: min(4vw, 1.5em);} -div.column{flex: auto; overflow-x: auto;} -div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} -ul.task-list{list-style: none;} -ul.task-list li input[type="checkbox"] { - width: 0.8em; - margin: 0 0.8em 0.2em -1.6em; - vertical-align: middle; -} -/* CSS for citations */ -div.csl-bib-body { } -div.csl-entry { - clear: both; -} -.hanging-indent div.csl-entry { - margin-left:2em; - text-indent:-2em; -} -div.csl-left-margin { - min-width:2em; - float:left; -} -div.csl-right-inline { - margin-left:2em; - padding-left:1em; -} -div.csl-indent { - margin-left: 2em; -}</style> - -<!-- htmldependencies:E3FAD763 --> -<script id="quarto-search-options" type="application/json">{ - "location": "sidebar", - "copy-button": false, - "collapse-after": 3, - "panel-placement": "start", - "type": "textbox", - "limit": 20, - "language": { - "search-no-results-text": "No results", - "search-matching-documents-text": "matching documents", - "search-copy-link-title": "Copy link to search", - "search-hide-matches-text": "Hide additional matches", - "search-more-match-text": "more match in this document", - "search-more-matches-text": "more matches in this document", - "search-clear-button-title": "Clear", - "search-detached-cancel-button-title": "Cancel", - "search-submit-button-title": "Submit" - } -}</script> - - <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script> - -</head> - -<body> - -<div id="quarto-search-results"></div> - <header id="quarto-header" class="headroom fixed-top"> - <nav class="quarto-secondary-nav"> - <div class="container-fluid d-flex"> - <button type="button" class="quarto-btn-toggle btn" - data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" - aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" - onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> - <i class="bi bi-layout-text-sidebar-reverse"></i> - </button> - <h1 class="quarto-secondary-nav-title"></h1> - <a class="flex-grow-1" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" - aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" - onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> - </a> - <button type="button" class="btn quarto-search-button" aria-label="Search" onclick="window.quartoOpenSearch();"> - <i class="bi bi-search"></i> - </button> - </div> - </nav> -</header> -<!-- content --> -<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article"> -<!-- sidebar --> - <nav id="quarto-sidebar" class="sidebar collapse collapse-horizontal sidebar-navigation floating overflow-auto"> - <div class="pt-lg-2 mt-2 text-left sidebar-header"> - <div class="sidebar-title mb-0 py-0"> - <a href="/"> - Conformal Counterfactual Explanations - </a> - </div> - </div> - <div class="mt-2 flex-shrink-0 align-items-center"> - <div class="sidebar-search"> - <div id="quarto-search" class="" title="Search"></div> - </div> - </div> - <div class="sidebar-menu-container"> - <ul class="list-unstyled mt-1"> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/index.html" class="sidebar-item-text sidebar-link">Preface</a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/notebooks/proposal.html" class="sidebar-item-text sidebar-link active"><span class='chapter-number'>1</span> <span class='chapter-title'>High-Fidelity Counterfactual Explanations through Conformal Prediction</span></a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/notebooks/intro.html" class="sidebar-item-text sidebar-link"><span class='chapter-number'>2</span> <span class='chapter-title'>`ConformalGenerator`</span></a> - </div> -</li> - <li class="sidebar-item"> - <div class="sidebar-item-container"> - <a href="/notebooks/references.html" class="sidebar-item-text sidebar-link">References</a> - </div> -</li> - </ul> - </div> -</nav> -<div id="quarto-sidebar-glass" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" ></div> -<!-- margin-sidebar --> - <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> - <div id="quarto-toc-target"></div> - </div> -<!-- main --> -<main class="content" id="quarto-document-content"> - -<header id="title-block-header" class="quarto-title-block default"> -<div class="quarto-title"> -<h1 class="title"><span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></h1> -<p class="subtitle lead">Research Proposal</p> -</div> - - - -<div class="quarto-title-meta"> - - - - - </div> - -<div> - <div class="abstract"> - <div class="abstract-title">Abstract</div> - <p>We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.</p> - </div> -</div> - -</header> -<nav id="TOC" role="doc-toc"> - <h2 id="toc-title">Table of contents</h2> - - <ul> - <li><a href="#motivation" id="toc-motivation"><span class="header-section-number">1.1</span> Motivation</a> - <ul> - <li><a href="#counterfactual-explanations-or-adversarial-examples" id="toc-counterfactual-explanations-or-adversarial-examples"><span class="header-section-number">1.1.1</span> Counterfactual Explanations or Adversarial Examples?</a></li> - <li><a href="#sec-fidelity" id="toc-sec-fidelity"><span class="header-section-number">1.1.2</span> From Plausible to High-Fidelity Counterfactuals</a></li> - </ul></li> - <li><a href="#conformal-counterfactual-explanations" id="toc-conformal-counterfactual-explanations"><span class="header-section-number">1.2</span> Conformal Counterfactual Explanations</a> - <ul> - <li><a href="#minimizing-predictive-uncertainty" id="toc-minimizing-predictive-uncertainty"><span class="header-section-number">1.2.1</span> Minimizing Predictive Uncertainty</a></li> - <li><a href="#background-on-conformal-prediction" id="toc-background-on-conformal-prediction"><span class="header-section-number">1.2.2</span> Background on Conformal Prediction</a></li> - <li><a href="#generating-conformal-counterfactuals" id="toc-generating-conformal-counterfactuals"><span class="header-section-number">1.2.3</span> Generating Conformal Counterfactuals</a></li> - </ul></li> - <li><a href="#experiments" id="toc-experiments"><span class="header-section-number">1.3</span> Experiments</a> - <ul> - <li><a href="#research-questions" id="toc-research-questions"><span class="header-section-number">1.3.1</span> Research Questions</a></li> - </ul></li> - <li><a href="#references" id="toc-references"><span class="header-section-number">1.4</span> References</a></li> - </ul> -</nav> -<section id="motivation" class="level2" data-number="1.1"> -<h2 data-number="1.1"><span class="header-section-number">1.1</span> Motivation</h2> -<p>Counterfactual Explanations are a powerful, flexible and intuitive way to not only explain black-box models but also enable affected individuals to challenge them through the means of Algorithmic Recourse.</p> -<section id="counterfactual-explanations-or-adversarial-examples" class="level3" data-number="1.1.1"> -<h3 data-number="1.1.1"><span class="header-section-number">1.1.1</span> Counterfactual Explanations or Adversarial Examples?</h3> -<p>Most state-of-the-art approaches to generating Counterfactual Explanations (CE) rely on gradient descent in the feature space. The key idea is to perturb inputs <span class="math inline">\(x\in\mathcal{X}\)</span> into a black-box model <span class="math inline">\(f: \mathcal{X} \mapsto \mathcal{Y}\)</span> in order to change the model output <span class="math inline">\(f(x)\)</span> to some pre-specified target value <span class="math inline">\(t\in\mathcal{Y}\)</span>. Formally, this boils down to defining some loss function <span class="math inline">\(\ell(f(x),t)\)</span> and taking gradient steps in the minimizing direction. The so-generated counterfactuals are considered valid as soon as the predicted label matches the target label. A stripped-down counterfactual explanation is therefore little different from an adversarial example. In <a href="#fig-adv">Figure <span class="quarto-unresolved-ref">fig-adv</span></a>, for example, generic counterfactual search as in <span class="citation" data-cites="wachter2017counterfactual">Wachter, Mittelstadt, and Russell (<a href="#ref-wachter2017counterfactual" role="doc-biblioref">2017</a>)</span> has been applied to MNIST data.</p> -<div id="fig-adv" class="quarto-figure quarto-figure-center"> -<figure> -<p><img src="www/you_may_not_like_it.png" class="img-fluid" /></p> -<p><figcaption>Figure 1.1: You may not like it, but this is what stripped-down counterfactuals look like. Here we have used <span class="citation" data-cites="wachter2017counterfactual">Wachter, Mittelstadt, and Russell (<a href="#ref-wachter2017counterfactual" role="doc-biblioref">2017</a>)</span> to generate multiple counterfactuals for turning an 8 (eight) into a 3 (three).</figcaption></p> -</figure> -</div> -<p>The crucial difference between adversarial examples and counterfactuals is one of intent. While adversarial examples are typically intended to go unnoticed, counterfactuals in the context of Explainable AI are generally sought to be “plausibleâ€, “realistic†or “feasibleâ€. To fulfil this latter goal, researchers have come up with a myriad of ways. <span class="citation" data-cites="joshi2019realistic">Joshi et al. (<a href="#ref-joshi2019realistic" role="doc-biblioref">2019</a>)</span> were among the first to suggest that instead of searching counterfactuals in the feature space, we can instead traverse a latent embedding learned by a surrogate generative model. Similarly, <span class="citation" data-cites="poyiadzi2020face">Poyiadzi et al. (<a href="#ref-poyiadzi2020face" role="doc-biblioref">2020</a>)</span> use density … Finally, <span class="citation" data-cites="karimi2021algorithmic">Karimi, Schölkopf, and Valera (<a href="#ref-karimi2021algorithmic" role="doc-biblioref">2021</a>)</span> argues that counterfactuals should comply with the causal model that generates them [CHECK IF WE CAN PHASE THIS LIKE THIS]. Other related approaches include … All of these different approaches have a common goal: they aim to ensure that the generated counterfactuals comply with the (learned) data-generating process (DGB).</p> -<div id="def-plausible" class="theorem definition"> -<p><span class="theorem-title"><strong>Definition 1.1 (Plausible Counterfactuals) </strong></span>Formally, if <span class="math inline">\(x \sim \mathcal{X}\)</span> and for the corresponding counterfactual we have <span class="math inline">\(x^{\prime}\sim\mathcal{X}^{\prime}\)</span>, then for <span class="math inline">\(x^{\prime}\)</span> to be considered a plausible counterfactual, we need: <span class="math inline">\(\mathcal{X} \approxeq \mathcal{X}^{\prime}\)</span>.</p> -</div> -<p>In the context of Algorithmic Recourse, it makes sense to strive for plausible counterfactuals, since anything else would essentially require individuals to move to out-of-distribution states. But it is worth noting that our ambition to meet this goal, may have implications on our ability to faithfully explain the behaviour of the underlying black-box model (arguably our principal goal). By essentially decoupling the task of learning plausible representations of the data from the model itself, we open ourselves up to vulnerabilities. Using a separate generative model to learn <span class="math inline">\(\mathcal{X}\)</span>, for example, has very serious implications for the generated counterfactuals. <a href="#fig-latent">Figure <span class="quarto-unresolved-ref">fig-latent</span></a> compares the results of applying REVISE <span class="citation" data-cites="joshi2019realistic">(<a href="#ref-joshi2019realistic" role="doc-biblioref">Joshi et al. 2019</a>)</span> to MNIST data using two different Variational Auto-Encoders: while the counterfactual generated using an expressive (strong) VAE is compelling, the result relying on a less expressive (weak) VAE is not even valid. In this latter case, the decoder step of the VAE fails to yield values in <span class="math inline">\(\mathcal{X}\)</span> and hence the counterfactual search in the learned latent space is doomed.</p> -<div id="fig-latent" class="quarto-figure quarto-figure-center"> -<figure> -<p><img src="www/mnist_9to4_latent.png" class="img-fluid" /></p> -<p><figcaption>Figure 1.2: Counterfactual explanations for MNIST using a Latent Space generator: turning a nine (9) into a four (4).</figcaption></p> -</figure> -</div> -<blockquote> -<p>Here it would be nice to have another example where we poison the data going into the generative model to hide biases present in the data (e.g. Boston housing).</p> -</blockquote> -<ul> -<li>Latent can be manipulated: -<ul> -<li>train biased model</li> -<li>train VAE with biased variable removed/attacked (use Boston housing dataset)</li> -<li>hypothesis: will generate bias-free explanations</li> -</ul></li> -</ul> -</section> -<section id="sec-fidelity" class="level3" data-number="1.1.2"> -<h3 data-number="1.1.2"><span class="header-section-number">1.1.2</span> From Plausible to High-Fidelity Counterfactuals</h3> -<p>In light of the findings, we propose to generally avoid using surrogate models to learn <span class="math inline">\(\mathcal{X}\)</span> in the context of Counterfactual Explanations.</p> -<div id="prp-surrogate" class="theorem proposition"> -<p><span class="theorem-title"><strong>Proposition 1.1 (Avoid Surrogates) </strong></span>Since we are in the business of explaining a black-box model, the task of learning realistic representations of the data should not be reallocated from the model itself to some surrogate model.</p> -</div> -<p>In cases where the use of surrogate models cannot be avoided, we propose to weigh the plausibility of counterfactuals against their fidelity to the black-box model. In the context of Explainable AI, fidelity is defined as describing how an explanation approximates the prediction of the black-box model <span class="citation" data-cites="molnar2020interpretable">(<a href="#ref-molnar2020interpretable" role="doc-biblioref">Molnar 2020</a>)</span>. Fidelity has become the default metric for evaluating Local Model-Agnostic Models, since they often involve local surrogate models whose predictions need not always match those of the black-box model.</p> -<p>In the case of Counterfactual Explanations, the concept of fidelity has so far been ignored. This is not altogether surprising, since by construction and design, Counterfactual Explanations work with the predictions of the black-box model directly: as stated above, a counterfactual <span class="math inline">\(x^{\prime}\)</span> is considered valid if and only if <span class="math inline">\(f(x^{\prime})=t\)</span>, where <span class="math inline">\(t\)</span> denote some target outcome.</p> -<p>Does fidelity even make sense in the context of CE, and if so, how can we define it? In light of the examples in the previous section, we think it is urgent to introduce a notion of fidelity in this context, that relates to the distributional properties of the generated counterfactuals. In particular, we propose that a high-fidelity counterfactual <span class="math inline">\(x^{\prime}\)</span> complies with the class-conditional distribution <span class="math inline">\(\mathcal{X}_{\theta} = p_{\theta}(X|y)\)</span> where <span class="math inline">\(\theta\)</span> denote the black-box model parameters.</p> -<div id="def-fidele" class="theorem definition"> -<p><span class="theorem-title"><strong>Definition 1.2 (High-Fidelity Counterfactuals) </strong></span>Let <span class="math inline">\(\mathcal{X}_{\theta}|y = p_{\theta}(X|y)\)</span> denote the class-conditional distribution of <span class="math inline">\(X\)</span> defined by <span class="math inline">\(\theta\)</span>. Then for <span class="math inline">\(x^{\prime}\)</span> to be considered a high-fidelity counterfactual, we need: <span class="math inline">\(\mathcal{X}_{\theta}|t \approxeq \mathcal{X}^{\prime}\)</span> where <span class="math inline">\(t\)</span> denotes the target outcome.</p> -</div> -<p>In order to assess the fidelity of counterfactuals, we propose the following two-step procedure:</p> -<ol type="1"> -<li>Generate samples <span class="math inline">\(X_{\theta}|y\)</span> and <span class="math inline">\(X^{\prime}\)</span> from <span class="math inline">\(\mathcal{X}_{\theta}|t\)</span> and <span class="math inline">\(\mathcal{X}^{\prime}\)</span>, respectively.</li> -<li>Compute the Maximum Mean Discrepancy (MMD) between <span class="math inline">\(X_{\theta}|y\)</span> and <span class="math inline">\(X^{\prime}\)</span>.</li> -</ol> -<p>If the computed value is different from zero, we can reject the null-hypothesis of fidelity.</p> -<blockquote> -<p>Two challenges here: 1) implementing the sampling procedure in <span class="citation" data-cites="grathwohl2020your">Grathwohl et al. (<a href="#ref-grathwohl2020your" role="doc-biblioref">2020</a>)</span>; 2) it is unclear if MMD is really the right way to measure this.</p> -</blockquote> -</section> -</section> -<section id="conformal-counterfactual-explanations" class="level2" data-number="1.2"> -<h2 data-number="1.2"><span class="header-section-number">1.2</span> Conformal Counterfactual Explanations</h2> -<p>In <a href="#sec-fidelity"><span class="quarto-unresolved-ref">sec-fidelity</span></a>, we have advocated for avoiding surrogate models in the context of Counterfactual Explanations. In this section, we introduce an alternative way to generate high-fidelity Counterfactual Explanations. In particular, we propose Conformal Counterfactual Explanations (CCE), that is Counterfactual Explanations that minimize the predictive uncertainty of conformal models.</p> -<section id="minimizing-predictive-uncertainty" class="level3" data-number="1.2.1"> -<h3 data-number="1.2.1"><span class="header-section-number">1.2.1</span> Minimizing Predictive Uncertainty</h3> -<p><span class="citation" data-cites="schut2021generating">Schut et al. (<a href="#ref-schut2021generating" role="doc-biblioref">2021</a>)</span> demonstrated that the goal of generating realistic (plausible) counterfactuals can also be achieved by seeking counterfactuals that minimize the predictive uncertainty of the underlying black-box model. Similarly, <span class="citation" data-cites="antoran2020getting">Antorán et al. (<a href="#ref-antoran2020getting" role="doc-biblioref">2020</a>)</span> …</p> -<ul> -<li>Problem: restricted to Bayesian models.</li> -<li>Solution: post-hoc predictive uncertainty quantification. In particular, Conformal Prediction.</li> -</ul> -</section> -<section id="background-on-conformal-prediction" class="level3" data-number="1.2.2"> -<h3 data-number="1.2.2"><span class="header-section-number">1.2.2</span> Background on Conformal Prediction</h3> -<ul> -<li>Distribution-free, model-agnostic and scalable approach to predictive uncertainty quantification.</li> -<li>Conformal prediction is instance-based. So is CE.</li> -<li>Take any fitted model and turn it into a conformal model using calibration data.</li> -<li>Our approach, therefore, relaxes the restriction on the family of black-box models, at the cost of relying on a subset of the data. Arguably, data is often abundant and in most applications practitioners tend to hold out a test data set anyway.</li> -</ul> -<blockquote> -<p>Does the coverage guarantee carry over to counterfactuals?</p> -</blockquote> -</section> -<section id="generating-conformal-counterfactuals" class="level3" data-number="1.2.3"> -<h3 data-number="1.2.3"><span class="header-section-number">1.2.3</span> Generating Conformal Counterfactuals</h3> -<p>While Conformal Prediction has recently grown in popularity, it does introduce a challenge in the context of classification: the predictions of Conformal Classifiers are set-valued and therefore difficult to work with, since they are, for example, non-differentiable. Fortunately, <span class="citation" data-cites="stutz2022learning">Stutz et al. (<a href="#ref-stutz2022learning" role="doc-biblioref">2022</a>)</span> introduced carefully designed differentiable loss functions that make it possible to evaluate the performance of conformal predictions in training. We can leverage these recent advances in the context of gradient-based counterfactual search …</p> -<blockquote> -<p>Challenge: still need to implement these loss functions.</p> -</blockquote> -</section> -</section> -<section id="experiments" class="level2" data-number="1.3"> -<h2 data-number="1.3"><span class="header-section-number">1.3</span> Experiments</h2> -<section id="research-questions" class="level3" data-number="1.3.1"> -<h3 data-number="1.3.1"><span class="header-section-number">1.3.1</span> Research Questions</h3> -<ul> -<li><p>Is CP alone enough to ensure realistic counterfactuals?</p></li> -<li><p>Do counterfactuals improve further as the models get better?</p></li> -<li><p>Do counterfactuals get more realistic as coverage</p></li> -<li><p>What happens as we vary coverage and setsize?</p></li> -<li><p>What happens as we improve the model robustness?</p></li> -<li><p>What happens as we improve the model’s ability to incorporate predictive uncertainty (deep ensemble, laplace)?</p></li> -<li><p>What happens if we combine with DiCE, ClaPROAR, Gravitational?</p></li> -<li><p>What about CE robustness to endogenous shifts <span class="citation" data-cites="altmeyer2023endogenous">(<a href="#ref-altmeyer2023endogenous" role="doc-biblioref">Altmeyer et al. 2023</a>)</span>?</p></li> -<li><p>Benchmarking:</p> -<ul> -<li>add PROBE <span class="citation" data-cites="pawelczyk2022probabilistically">(<a href="#ref-pawelczyk2022probabilistically" role="doc-biblioref">Pawelczyk et al. 2022</a>)</span> into the mix.</li> -<li>compare travel costs to domain shits.</li> -</ul></li> -</ul> -<blockquote> -<p>Nice to have: What about using Laplace Approximation, then Conformal Prediction? What about using Conformalised Laplace?</p> -</blockquote> -</section> -</section> -<section id="references" class="level2" data-number="1.4"> -<h2 data-number="1.4"><span class="header-section-number">1.4</span> References</h2> -<div id="quarto-navigation-envelope" class="hidden"> -<p><span class="hidden" data-render-id="quarto-int-sidebar-title">Conformal Counterfactual Explanations</span> <span class="hidden" data-render-id="quarto-int-navbar-title">Conformal Counterfactual Explanations</span> <span class="hidden" data-render-id="quarto-int-next"><span class="chapter-number">2</span> <span class="chapter-title"><code>ConformalGenerator</code></span></span> <span class="hidden" data-render-id="quarto-int-prev">Preface</span> <span class="hidden" data-render-id="quarto-int-sidebar:/index.html">Preface</span> <span class="hidden" data-render-id="quarto-int-sidebar:/notebooks/proposal.html"><span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-int-sidebar:/notebooks/intro.html"><span class="chapter-number">2</span> <span class="chapter-title"><code>ConformalGenerator</code></span></span> <span class="hidden" data-render-id="quarto-int-sidebar:/notebooks/references.html">References</span></p> -</div> -<div id="quarto-meta-markdown" class="hidden"> -<p><span class="hidden" data-render-id="quarto-metatitle">Conformal Counterfactual Explanations - <span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-twittercardtitle">Conformal Counterfactual Explanations - <span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-ogcardtitle">Conformal Counterfactual Explanations - <span class="chapter-number">1</span> <span class="chapter-title">High-Fidelity Counterfactual Explanations through Conformal Prediction</span></span> <span class="hidden" data-render-id="quarto-metasitename">Conformal Counterfactual Explanations</span> <span class="hidden" data-render-id="quarto-twittercarddesc">We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.</span> <span class="hidden" data-render-id="quarto-ogcardddesc">We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.</span></p> -</div> -<div id="refs" class="references csl-bib-body hanging-indent" role="list"> -<div id="ref-altmeyer2023endogenous" class="csl-entry" role="listitem"> -Altmeyer, Patrick, Giovan Angela, Aleksander Buszydlik, Karol Dobiczek, Arie van Deursen, and Cynthia Liem. 2023. <span>“Endogenous <span>Macrodynamics</span> in <span>Algorithmic</span> <span>Recourse</span>.â€</span> In <em>First <span>IEEE</span> <span>Conference</span> on <span>Secure</span> and <span>Trustworthy</span> <span>Machine</span> <span>Learning</span></em>. -</div> -<div id="ref-antoran2020getting" class="csl-entry" role="listitem"> -Antorán, Javier, Umang Bhatt, Tameem Adel, Adrian Weller, and José Miguel Hernández-Lobato. 2020. <span>“Getting a Clue: <span>A</span> Method for Explaining Uncertainty Estimates.â€</span> <a href="https://arxiv.org/abs/2006.06848">https://arxiv.org/abs/2006.06848</a>. -</div> -<div id="ref-grathwohl2020your" class="csl-entry" role="listitem"> -Grathwohl, Will, Kuan-Chieh Wang, Joern-Henrik Jacobsen, David Duvenaud, Mohammad Norouzi, and Kevin Swersky. 2020. <span>“Your Classifier Is Secretly an Energy Based Model and You Should Treat It Like One.â€</span> In. <a href="https://openreview.net/forum?id=Hkxzx0NtDB">https://openreview.net/forum?id=Hkxzx0NtDB</a>. -</div> -<div id="ref-joshi2019realistic" class="csl-entry" role="listitem"> -Joshi, Shalmali, Oluwasanmi Koyejo, Warut Vijitbenjaronk, Been Kim, and Joydeep Ghosh. 2019. <span>“Towards Realistic Individual Recourse and Actionable Explanations in Black-Box Decision Making Systems.â€</span> <a href="https://arxiv.org/abs/1907.09615">https://arxiv.org/abs/1907.09615</a>. -</div> -<div id="ref-karimi2021algorithmic" class="csl-entry" role="listitem"> -Karimi, Amir-Hossein, Bernhard Schölkopf, and Isabel Valera. 2021. <span>“Algorithmic Recourse: From Counterfactual Explanations to Interventions.â€</span> In <em>Proceedings of the 2021 <span>ACM Conference</span> on <span>Fairness</span>, <span>Accountability</span>, and <span>Transparency</span></em>, 353–62. -</div> -<div id="ref-molnar2020interpretable" class="csl-entry" role="listitem"> -Molnar, Christoph. 2020. <em>Interpretable Machine Learning</em>. <span>Lulu. com</span>. -</div> -<div id="ref-pawelczyk2022probabilistically" class="csl-entry" role="listitem"> -Pawelczyk, Martin, Teresa Datta, Johannes van-den-Heuvel, Gjergji Kasneci, and Himabindu Lakkaraju. 2022. <span>“Probabilistically <span>Robust</span> <span>Recourse</span>: <span>Navigating</span> the <span>Trade</span>-Offs Between <span>Costs</span> and <span>Robustness</span> in <span>Algorithmic</span> <span>Recourse</span>.â€</span> <em>arXiv Preprint arXiv:2203.06768</em>. -</div> -<div id="ref-poyiadzi2020face" class="csl-entry" role="listitem"> -Poyiadzi, Rafael, Kacper Sokol, Raul Santos-Rodriguez, Tijl De Bie, and Peter Flach. 2020. <span>“<span>FACE</span>: <span>Feasible</span> and Actionable Counterfactual Explanations.â€</span> In <em>Proceedings of the <span>AAAI</span>/<span>ACM Conference</span> on <span>AI</span>, <span>Ethics</span>, and <span>Society</span></em>, 344–50. -</div> -<div id="ref-schut2021generating" class="csl-entry" role="listitem"> -Schut, Lisa, Oscar Key, Rory Mc Grath, Luca Costabello, Bogdan Sacaleanu, Yarin Gal, et al. 2021. <span>“Generating <span>Interpretable Counterfactual Explanations By Implicit Minimisation</span> of <span>Epistemic</span> and <span>Aleatoric Uncertainties</span>.â€</span> In <em>International <span>Conference</span> on <span>Artificial Intelligence</span> and <span>Statistics</span></em>, 1756–64. <span>PMLR</span>. -</div> -<div id="ref-stutz2022learning" class="csl-entry" role="listitem"> -Stutz, David, Krishnamurthy Dj Dvijotham, Ali Taylan Cemgil, and Arnaud Doucet. 2022. <span>“Learning <span>Optimal</span> <span>Conformal</span> <span>Classifiers</span>.â€</span> In. <a href="https://openreview.net/forum?id=t8O-4LKFVx">https://openreview.net/forum?id=t8O-4LKFVx</a>. -</div> -<div id="ref-wachter2017counterfactual" class="csl-entry" role="listitem"> -Wachter, Sandra, Brent Mittelstadt, and Chris Russell. 2017. <span>“Counterfactual Explanations Without Opening the Black Box: <span>Automated</span> Decisions and the <span>GDPR</span>.â€</span> <em>Harv. JL & Tech.</em> 31: 841. -</div> -</div> -</section> - -</main> <!-- /main --> -<script id = "quarto-html-after-body" type="application/javascript"> -window.document.addEventListener("DOMContentLoaded", function (event) { - const toggleBodyColorMode = (bsSheetEl) => { - const mode = bsSheetEl.getAttribute("data-mode"); - const bodyEl = window.document.querySelector("body"); - if (mode === "dark") { - bodyEl.classList.add("quarto-dark"); - bodyEl.classList.remove("quarto-light"); - } else { - bodyEl.classList.add("quarto-light"); - bodyEl.classList.remove("quarto-dark"); - } - } - const toggleBodyColorPrimary = () => { - const bsSheetEl = window.document.querySelector("link#quarto-bootstrap"); - if (bsSheetEl) { - toggleBodyColorMode(bsSheetEl); - } - } - toggleBodyColorPrimary(); - const icon = ""; - const anchorJS = new window.AnchorJS(); - anchorJS.options = { - placement: 'right', - icon: icon - }; - anchorJS.add('.anchored'); - const clipboard = new window.ClipboardJS('.code-copy-button', { - target: function(trigger) { - return trigger.previousElementSibling; - } - }); - clipboard.on('success', function(e) { - // button target - const button = e.trigger; - // don't keep focus - button.blur(); - // flash "checked" - button.classList.add('code-copy-button-checked'); - var currentTitle = button.getAttribute("title"); - button.setAttribute("title", "Copied!"); - let tooltip; - if (window.bootstrap) { - button.setAttribute("data-bs-toggle", "tooltip"); - button.setAttribute("data-bs-placement", "left"); - button.setAttribute("data-bs-title", "Copied!"); - tooltip = new bootstrap.Tooltip(button, - { trigger: "manual", - customClass: "code-copy-button-tooltip", - offset: [0, -8]}); - tooltip.show(); - } - setTimeout(function() { - if (tooltip) { - tooltip.hide(); - button.removeAttribute("data-bs-title"); - button.removeAttribute("data-bs-toggle"); - button.removeAttribute("data-bs-placement"); - } - button.setAttribute("title", currentTitle); - button.classList.remove('code-copy-button-checked'); - }, 1000); - // clear code selection - e.clearSelection(); - }); - function tippyHover(el, contentFn) { - const config = { - allowHTML: true, - content: contentFn, - maxWidth: 500, - delay: 100, - arrow: false, - appendTo: function(el) { - return el.parentElement; - }, - interactive: true, - interactiveBorder: 10, - theme: 'quarto', - placement: 'bottom-start' - }; - window.tippy(el, config); - } - const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); - for (var i=0; i<noterefs.length; i++) { - const ref = noterefs[i]; - tippyHover(ref, function() { - // use id or data attribute instead here - let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); - try { href = new URL(href).hash; } catch {} - const id = href.replace(/^#\/?/, ""); - const note = window.document.getElementById(id); - return note.innerHTML; - }); - } - let selectedAnnoteEl; - const selectorForAnnotation = ( cell, annotation) => { - let cellAttr = 'data-code-cell="' + cell + '"'; - let lineAttr = 'data-code-annotation="' + annotation + '"'; - const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; - return selector; - } - const selectCodeLines = (annoteEl) => { - const doc = window.document; - const targetCell = annoteEl.getAttribute("data-target-cell"); - const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); - const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); - const lines = annoteSpan.getAttribute("data-code-lines").split(","); - const lineIds = lines.map((line) => { - return targetCell + "-" + line; - }) - let top = null; - let height = null; - let parent = null; - if (lineIds.length > 0) { - //compute the position of the single el (top and bottom and make a div) - const el = window.document.getElementById(lineIds[0]); - top = el.offsetTop; - height = el.offsetHeight; - parent = el.parentElement.parentElement; - if (lineIds.length > 1) { - const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); - const bottom = lastEl.offsetTop + lastEl.offsetHeight; - height = bottom - top; - } - if (top !== null && height !== null && parent !== null) { - // cook up a div (if necessary) and position it - let div = window.document.getElementById("code-annotation-line-highlight"); - if (div === null) { - div = window.document.createElement("div"); - div.setAttribute("id", "code-annotation-line-highlight"); - div.style.position = 'absolute'; - parent.appendChild(div); - } - div.style.top = top - 2 + "px"; - div.style.height = height + 4 + "px"; - let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); - if (gutterDiv === null) { - gutterDiv = window.document.createElement("div"); - gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); - gutterDiv.style.position = 'absolute'; - const codeCell = window.document.getElementById(targetCell); - const gutter = codeCell.querySelector('.code-annotation-gutter'); - gutter.appendChild(gutterDiv); - } - gutterDiv.style.top = top - 2 + "px"; - gutterDiv.style.height = height + 4 + "px"; - } - selectedAnnoteEl = annoteEl; - } - }; - const unselectCodeLines = () => { - const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; - elementsIds.forEach((elId) => { - const div = window.document.getElementById(elId); - if (div) { - div.remove(); - } - }); - selectedAnnoteEl = undefined; - }; - // Attach click handler to the DT - const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); - for (const annoteDlNode of annoteDls) { - annoteDlNode.addEventListener('click', (event) => { - const clickedEl = event.target; - if (clickedEl !== selectedAnnoteEl) { - unselectCodeLines(); - const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); - if (activeEl) { - activeEl.classList.remove('code-annotation-active'); - } - selectCodeLines(clickedEl); - clickedEl.classList.add('code-annotation-active'); - } else { - // Unselect the line - unselectCodeLines(); - clickedEl.classList.remove('code-annotation-active'); - } - }); - } - const findCites = (el) => { - const parentEl = el.parentElement; - if (parentEl) { - const cites = parentEl.dataset.cites; - if (cites) { - return { - el, - cites: cites.split(' ') - }; - } else { - return findCites(el.parentElement) - } - } else { - return undefined; - } - }; - var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); - for (var i=0; i<bibliorefs.length; i++) { - const ref = bibliorefs[i]; - const citeInfo = findCites(ref); - if (citeInfo) { - tippyHover(citeInfo.el, function() { - var popup = window.document.createElement('div'); - citeInfo.cites.forEach(function(cite) { - var citeDiv = window.document.createElement('div'); - citeDiv.classList.add('hanging-indent'); - citeDiv.classList.add('csl-entry'); - var biblioDiv = window.document.getElementById('ref-' + cite); - if (biblioDiv) { - citeDiv.innerHTML = biblioDiv.innerHTML; - } - popup.appendChild(citeDiv); - }); - return popup.innerHTML; - }); - } - } -}); -</script> -<nav class="page-navigation"> - <div class="nav-page nav-page-previous"> - <a href="/index.html" class="pagination-link"> - <i class="bi bi-arrow-left-short"></i> <span class="nav-page-text">Preface</span> - </a> - </div> - <div class="nav-page nav-page-next"> - <a href="/notebooks/intro.html" class="pagination-link"> - <span class="nav-page-text"><span class='chapter-number'>2</span> <span class='chapter-title'>`ConformalGenerator`</span></span> <i class="bi bi-arrow-right-short"></i> - </a> - </div> -</nav> -</div> <!-- /content --> - -</body> - -</html> \ No newline at end of file diff --git a/notebooks/proposal.ipynb b/notebooks/proposal.ipynb deleted file mode 100644 index bf087486..00000000 --- a/notebooks/proposal.ipynb +++ /dev/null @@ -1,218 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "metadata": {}, - "source": [ - "---\n", - "title: High-Fidelity Counterfactual Explanations through Conformal Prediction\n", - "subtitle: Research Proposal\n", - "abstract: |\n", - " We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.\n", - "---" - ], - "id": "0a271b6a" - }, - { - "cell_type": "code", - "metadata": {}, - "source": [ - "include(\"notebooks/setup.jl\")\n", - "eval(setup_notebooks)" - ], - "id": "3f81501f", - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Motivation\n", - "\n", - "Counterfactual Explanations are a powerful, flexible and intuitive way to not only explain black-box models but also enable affected individuals to challenge them through the means of Algorithmic Recourse. \n", - "\n", - "### Counterfactual Explanations or Adversarial Examples?\n", - "\n", - "Most state-of-the-art approaches to generating Counterfactual Explanations (CE) rely on gradient descent in the feature space. The key idea is to perturb inputs $x\\in\\mathcal{X}$ into a black-box model $f: \\mathcal{X} \\mapsto \\mathcal{Y}$ in order to change the model output $f(x)$ to some pre-specified target value $t\\in\\mathcal{Y}$. Formally, this boils down to defining some loss function $\\ell(f(x),t)$ and taking gradient steps in the minimizing direction. The so-generated counterfactuals are considered valid as soon as the predicted label matches the target label. A stripped-down counterfactual explanation is therefore little different from an adversarial example. In @fig-adv, for example, generic counterfactual search as in @wachter2017counterfactual has been applied to MNIST data.\n" - ], - "id": "a244bee7" - }, - { - "cell_type": "code", - "metadata": {}, - "source": [ - "# Data:\n", - "counterfactual_data = load_mnist()\n", - "X, y = CounterfactualExplanations.DataPreprocessing.unpack_data(counterfactual_data)\n", - "input_dim, n_obs = size(counterfactual_data.X)\n", - "M = load_mnist_mlp()\n", - "# Target:\n", - "factual_label = 8\n", - "x = reshape(X[:,rand(findall(predict_label(M, counterfactual_data).==factual_label))],input_dim,1)\n", - "target = 3\n", - "factual = predict_label(M, counterfactual_data, x)[1]\n", - "# Search:\n", - "n_ce = 3\n", - "generator = GenericGenerator()\n", - "ces = generate_counterfactual(x, target, counterfactual_data, M, generator; num_counterfactuals=n_ce)" - ], - "id": "687cba09", - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": {}, - "source": [ - "image_size = 200\n", - "p1 = plot(\n", - " convert2image(MNIST, reshape(x,28,28)),\n", - " axis=nothing, \n", - " size=(image_size, image_size),\n", - " title=\"Factual\"\n", - ")\n", - "plts = [p1]\n", - "\n", - "counterfactuals = CounterfactualExplanations.counterfactual(ces)\n", - "phat = target_probs(ces)\n", - "for x in zip(eachslice(counterfactuals; dims=3), eachslice(phat; dims=3))\n", - " ce, _phat = (x[1],x[2])\n", - " _title = \"p(y=$(target)|x′)=$(round(_phat[1]; digits=3))\"\n", - " plt = plot(\n", - " convert2image(MNIST, reshape(ce,28,28)),\n", - " axis=nothing, \n", - " size=(image_size, image_size),\n", - " title=_title\n", - " )\n", - " plts = [plts..., plt]\n", - "end\n", - "plt = plot(plts...; size=(image_size * (n_ce + 1),image_size), layout=(1,(n_ce + 1)))\n", - "savefig(plt, joinpath(www_path, \"you_may_not_like_it.png\"))" - ], - "id": "fda7c987", - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "{#fig-adv}\n", - "\n", - "The crucial difference between adversarial examples and counterfactuals is one of intent. While adversarial examples are typically intended to go unnoticed, counterfactuals in the context of Explainable AI are generally sought to be \"plausible\", \"realistic\" or \"feasible\". To fulfil this latter goal, researchers have come up with a myriad of ways. @joshi2019realistic were among the first to suggest that instead of searching counterfactuals in the feature space, we can instead traverse a latent embedding learned by a surrogate generative model. Similarly, @poyiadzi2020face use density ... Finally, @karimi2021algorithmic argues that counterfactuals should comply with the causal model that generates them [CHECK IF WE CAN PHASE THIS LIKE THIS]. Other related approaches include ... All of these different approaches have a common goal: they aim to ensure that the generated counterfactuals comply with the (learned) data-generating process (DGB). \n", - "\n", - "::: {#def-plausible}\n", - "\n", - "## Plausible Counterfactuals\n", - "\n", - "Formally, if $x \\sim \\mathcal{X}$ and for the corresponding counterfactual we have $x^{\\prime}\\sim\\mathcal{X}^{\\prime}$, then for $x^{\\prime}$ to be considered a plausible counterfactual, we need: $\\mathcal{X} \\approxeq \\mathcal{X}^{\\prime}$.\n", - "\n", - ":::\n", - "\n", - "In the context of Algorithmic Recourse, it makes sense to strive for plausible counterfactuals, since anything else would essentially require individuals to move to out-of-distribution states. But it is worth noting that our ambition to meet this goal, may have implications on our ability to faithfully explain the behaviour of the underlying black-box model (arguably our principal goal). By essentially decoupling the task of learning plausible representations of the data from the model itself, we open ourselves up to vulnerabilities. Using a separate generative model to learn $\\mathcal{X}$, for example, has very serious implications for the generated counterfactuals. @fig-latent compares the results of applying REVISE [@joshi2019realistic] to MNIST data using two different Variational Auto-Encoders: while the counterfactual generated using an expressive (strong) VAE is compelling, the result relying on a less expressive (weak) VAE is not even valid. In this latter case, the decoder step of the VAE fails to yield values in $\\mathcal{X}$ and hence the counterfactual search in the learned latent space is doomed. \n", - "\n", - "{#fig-latent}\n", - "\n", - "> Here it would be nice to have another example where we poison the data going into the generative model to hide biases present in the data (e.g. Boston housing).\n", - "\n", - "- Latent can be manipulated: \n", - " - train biased model\n", - " - train VAE with biased variable removed/attacked (use Boston housing dataset)\n", - " - hypothesis: will generate bias-free explanations\n", - "\n", - "### From Plausible to High-Fidelity Counterfactuals {#sec-fidelity}\n", - "\n", - "In light of the findings, we propose to generally avoid using surrogate models to learn $\\mathcal{X}$ in the context of Counterfactual Explanations.\n", - "\n", - "::: {#prp-surrogate}\n", - "\n", - "## Avoid Surrogates\n", - "\n", - "Since we are in the business of explaining a black-box model, the task of learning realistic representations of the data should not be reallocated from the model itself to some surrogate model.\n", - "\n", - ":::\n", - "\n", - "In cases where the use of surrogate models cannot be avoided, we propose to weigh the plausibility of counterfactuals against their fidelity to the black-box model. In the context of Explainable AI, fidelity is defined as describing how an explanation approximates the prediction of the black-box model [@molnar2020interpretable]. Fidelity has become the default metric for evaluating Local Model-Agnostic Models, since they often involve local surrogate models whose predictions need not always match those of the black-box model. \n", - "\n", - "In the case of Counterfactual Explanations, the concept of fidelity has so far been ignored. This is not altogether surprising, since by construction and design, Counterfactual Explanations work with the predictions of the black-box model directly: as stated above, a counterfactual $x^{\\prime}$ is considered valid if and only if $f(x^{\\prime})=t$, where $t$ denote some target outcome. \n", - "\n", - "Does fidelity even make sense in the context of CE, and if so, how can we define it? In light of the examples in the previous section, we think it is urgent to introduce a notion of fidelity in this context, that relates to the distributional properties of the generated counterfactuals. In particular, we propose that a high-fidelity counterfactual $x^{\\prime}$ complies with the class-conditional distribution $\\mathcal{X}_{\\theta} = p_{\\theta}(X|y)$ where $\\theta$ denote the black-box model parameters. \n", - "\n", - "::: {#def-fidele}\n", - "\n", - "## High-Fidelity Counterfactuals\n", - "\n", - "Let $\\mathcal{X}_{\\theta}|y = p_{\\theta}(X|y)$ denote the class-conditional distribution of $X$ defined by $\\theta$. Then for $x^{\\prime}$ to be considered a high-fidelity counterfactual, we need: $\\mathcal{X}_{\\theta}|t \\approxeq \\mathcal{X}^{\\prime}$ where $t$ denotes the target outcome.\n", - "\n", - ":::\n", - "\n", - "In order to assess the fidelity of counterfactuals, we propose the following two-step procedure:\n", - "\n", - "1) Generate samples $X_{\\theta}|y$ and $X^{\\prime}$ from $\\mathcal{X}_{\\theta}|t$ and $\\mathcal{X}^{\\prime}$, respectively.\n", - "2) Compute the Maximum Mean Discrepancy (MMD) between $X_{\\theta}|y$ and $X^{\\prime}$. \n", - "\n", - "If the computed value is different from zero, we can reject the null-hypothesis of fidelity.\n", - "\n", - "> Two challenges here: 1) implementing the sampling procedure in @grathwohl2020your; 2) it is unclear if MMD is really the right way to measure this. \n", - "\n", - "## Conformal Counterfactual Explanations\n", - "\n", - "In @sec-fidelity, we have advocated for avoiding surrogate models in the context of Counterfactual Explanations. In this section, we introduce an alternative way to generate high-fidelity Counterfactual Explanations. In particular, we propose Conformal Counterfactual Explanations (CCE), that is Counterfactual Explanations that minimize the predictive uncertainty of conformal models. \n", - "\n", - "### Minimizing Predictive Uncertainty\n", - "\n", - "@schut2021generating demonstrated that the goal of generating realistic (plausible) counterfactuals can also be achieved by seeking counterfactuals that minimize the predictive uncertainty of the underlying black-box model. Similarly, @antoran2020getting ...\n", - "\n", - "- Problem: restricted to Bayesian models.\n", - "- Solution: post-hoc predictive uncertainty quantification. In particular, Conformal Prediction. \n", - "\n", - "### Background on Conformal Prediction\n", - "\n", - "- Distribution-free, model-agnostic and scalable approach to predictive uncertainty quantification.\n", - "- Conformal prediction is instance-based. So is CE. \n", - "- Take any fitted model and turn it into a conformal model using calibration data.\n", - "- Our approach, therefore, relaxes the restriction on the family of black-box models, at the cost of relying on a subset of the data. Arguably, data is often abundant and in most applications practitioners tend to hold out a test data set anyway. \n", - "\n", - "> Does the coverage guarantee carry over to counterfactuals?\n", - "\n", - "### Generating Conformal Counterfactuals\n", - "\n", - "While Conformal Prediction has recently grown in popularity, it does introduce a challenge in the context of classification: the predictions of Conformal Classifiers are set-valued and therefore difficult to work with, since they are, for example, non-differentiable. Fortunately, @stutz2022learning introduced carefully designed differentiable loss functions that make it possible to evaluate the performance of conformal predictions in training. We can leverage these recent advances in the context of gradient-based counterfactual search ...\n", - "\n", - "> Challenge: still need to implement these loss functions. \n", - "\n", - "## Experiments\n", - "\n", - "### Research Questions\n", - "\n", - "- Is CP alone enough to ensure realistic counterfactuals?\n", - "- Do counterfactuals improve further as the models get better?\n", - "- Do counterfactuals get more realistic as coverage\n", - "- What happens as we vary coverage and setsize?\n", - "- What happens as we improve the model robustness?\n", - "- What happens as we improve the model's ability to incorporate predictive uncertainty (deep ensemble, laplace)?\n", - "- What happens if we combine with DiCE, ClaPROAR, Gravitational?\n", - "- What about CE robustness to endogenous shifts [@altmeyer2023endogenous]?\n", - "\n", - "- Benchmarking:\n", - " - add PROBE [@pawelczyk2022probabilistically] into the mix.\n", - " - compare travel costs to domain shits.\n", - "\n", - "> Nice to have: What about using Laplace Approximation, then Conformal Prediction? What about using Conformalised Laplace? \n", - "\n", - "## References\n" - ], - "id": "cb684712" - } - ], - "metadata": { - "kernelspec": { - "name": "julia-(4-threads)-1.8", - "language": "julia", - "display_name": "Julia (4 threads) 1.8.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/notebooks/proposal_files/execute-results/html.json b/notebooks/proposal_files/execute-results/html.json new file mode 100644 index 00000000..9f577ad9 --- /dev/null +++ b/notebooks/proposal_files/execute-results/html.json @@ -0,0 +1,11 @@ +{ + "hash": "b359927c37941b81cb7bf792790a86f8", + "result": { + "markdown": "---\ntitle: High-Fidelity Counterfactual Explanations through Conformal Prediction\nsubtitle: Research Proposal\nabstract: |\n We propose Conformal Counterfactual Explanations: an effortless and rigorous way to produce realistic and faithful Counterfactual Explanations using Conformal Prediction. To address the need for realistic counterfactuals, existing work has primarily relied on separate generative models to learn the data-generating process. While this is an effective way to produce plausible and model-agnostic counterfactual explanations, it not only introduces a significant engineering overhead but also reallocates the task of creating realistic model explanations from the model itself to the generative model. Recent work has shown that there is no need for any of this when working with probabilistic models that explicitly quantify their own uncertainty. Unfortunately, most models used in practice still do not fulfil that basic requirement, in which case we would like to have a way to quantify predictive uncertainty in a post-hoc fashion.\n---\n\n\n\n## Motivation\n\nCounterfactual Explanations are a powerful, flexible and intuitive way to not only explain black-box models but also enable affected individuals to challenge them through the means of Algorithmic Recourse. \n\n### Counterfactual Explanations or Adversarial Examples?\n\nMost state-of-the-art approaches to generating Counterfactual Explanations (CE) rely on gradient descent in the feature space. The key idea is to perturb inputs $x\\in\\mathcal{X}$ into a black-box model $f: \\mathcal{X} \\mapsto \\mathcal{Y}$ in order to change the model output $f(x)$ to some pre-specified target value $t\\in\\mathcal{Y}$. Formally, this boils down to defining some loss function $\\ell(f(x),t)$ and taking gradient steps in the minimizing direction. The so-generated counterfactuals are considered valid as soon as the predicted label matches the target label. A stripped-down counterfactual explanation is therefore little different from an adversarial example. In @fig-adv, for example, generic counterfactual search as in @wachter2017counterfactual has been applied to MNIST data.\n\n\n\n\n\n{#fig-adv}\n\nThe crucial difference between adversarial examples and counterfactuals is one of intent. While adversarial examples are typically intended to go unnoticed, counterfactuals in the context of Explainable AI are generally sought to be \"plausible\", \"realistic\" or \"feasible\". To fulfil this latter goal, researchers have come up with a myriad of ways. @joshi2019realistic were among the first to suggest that instead of searching counterfactuals in the feature space, we can instead traverse a latent embedding learned by a surrogate generative model. Similarly, @poyiadzi2020face use density ... Finally, @karimi2021algorithmic argues that counterfactuals should comply with the causal model that generates them [CHECK IF WE CAN PHASE THIS LIKE THIS]. Other related approaches include ... All of these different approaches have a common goal: they aim to ensure that the generated counterfactuals comply with the (learned) data-generating process (DGB). \n\n::: {#def-plausible}\n\n## Plausible Counterfactuals\n\nFormally, if $x \\sim \\mathcal{X}$ and for the corresponding counterfactual we have $x^{\\prime}\\sim\\mathcal{X}^{\\prime}$, then for $x^{\\prime}$ to be considered a plausible counterfactual, we need: $\\mathcal{X} \\approxeq \\mathcal{X}^{\\prime}$.\n\n:::\n\nIn the context of Algorithmic Recourse, it makes sense to strive for plausible counterfactuals, since anything else would essentially require individuals to move to out-of-distribution states. But it is worth noting that our ambition to meet this goal, may have implications on our ability to faithfully explain the behaviour of the underlying black-box model (arguably our principal goal). By essentially decoupling the task of learning plausible representations of the data from the model itself, we open ourselves up to vulnerabilities. Using a separate generative model to learn $\\mathcal{X}$, for example, has very serious implications for the generated counterfactuals. @fig-latent compares the results of applying REVISE [@joshi2019realistic] to MNIST data using two different Variational Auto-Encoders: while the counterfactual generated using an expressive (strong) VAE is compelling, the result relying on a less expressive (weak) VAE is not even valid. In this latter case, the decoder step of the VAE fails to yield values in $\\mathcal{X}$ and hence the counterfactual search in the learned latent space is doomed. \n\n{#fig-latent}\n\n> Here it would be nice to have another example where we poison the data going into the generative model to hide biases present in the data (e.g. Boston housing).\n\n- Latent can be manipulated: \n - train biased model\n - train VAE with biased variable removed/attacked (use Boston housing dataset)\n - hypothesis: will generate bias-free explanations\n\n### From Plausible to High-Fidelity Counterfactuals {#sec-fidelity}\n\nIn light of the findings, we propose to generally avoid using surrogate models to learn $\\mathcal{X}$ in the context of Counterfactual Explanations.\n\n::: {#prp-surrogate}\n\n## Avoid Surrogates\n\nSince we are in the business of explaining a black-box model, the task of learning realistic representations of the data should not be reallocated from the model itself to some surrogate model.\n\n:::\n\nIn cases where the use of surrogate models cannot be avoided, we propose to weigh the plausibility of counterfactuals against their fidelity to the black-box model. In the context of Explainable AI, fidelity is defined as describing how an explanation approximates the prediction of the black-box model [@molnar2020interpretable]. Fidelity has become the default metric for evaluating Local Model-Agnostic Models, since they often involve local surrogate models whose predictions need not always match those of the black-box model. \n\nIn the case of Counterfactual Explanations, the concept of fidelity has so far been ignored. This is not altogether surprising, since by construction and design, Counterfactual Explanations work with the predictions of the black-box model directly: as stated above, a counterfactual $x^{\\prime}$ is considered valid if and only if $f(x^{\\prime})=t$, where $t$ denote some target outcome. \n\nDoes fidelity even make sense in the context of CE, and if so, how can we define it? In light of the examples in the previous section, we think it is urgent to introduce a notion of fidelity in this context, that relates to the distributional properties of the generated counterfactuals. In particular, we propose that a high-fidelity counterfactual $x^{\\prime}$ complies with the class-conditional distribution $\\mathcal{X}_{\\theta} = p_{\\theta}(X|y)$ where $\\theta$ denote the black-box model parameters. \n\n::: {#def-fidele}\n\n## High-Fidelity Counterfactuals\n\nLet $\\mathcal{X}_{\\theta}|y = p_{\\theta}(X|y)$ denote the class-conditional distribution of $X$ defined by $\\theta$. Then for $x^{\\prime}$ to be considered a high-fidelity counterfactual, we need: $\\mathcal{X}_{\\theta}|t \\approxeq \\mathcal{X}^{\\prime}$ where $t$ denotes the target outcome.\n\n:::\n\nIn order to assess the fidelity of counterfactuals, we propose the following two-step procedure:\n\n1) Generate samples $X_{\\theta}|y$ and $X^{\\prime}$ from $\\mathcal{X}_{\\theta}|t$ and $\\mathcal{X}^{\\prime}$, respectively.\n2) Compute the Maximum Mean Discrepancy (MMD) between $X_{\\theta}|y$ and $X^{\\prime}$. \n\nIf the computed value is different from zero, we can reject the null-hypothesis of fidelity.\n\n> Two challenges here: 1) implementing the sampling procedure in @grathwohl2020your; 2) it is unclear if MMD is really the right way to measure this. \n\n## Conformal Counterfactual Explanations\n\nIn @sec-fidelity, we have advocated for avoiding surrogate models in the context of Counterfactual Explanations. In this section, we introduce an alternative way to generate high-fidelity Counterfactual Explanations. In particular, we propose Conformal Counterfactual Explanations (CCE), that is Counterfactual Explanations that minimize the predictive uncertainty of conformal models. \n\n### Minimizing Predictive Uncertainty\n\n@schut2021generating demonstrated that the goal of generating realistic (plausible) counterfactuals can also be achieved by seeking counterfactuals that minimize the predictive uncertainty of the underlying black-box model. Similarly, @antoran2020getting ...\n\n- Problem: restricted to Bayesian models.\n- Solution: post-hoc predictive uncertainty quantification. In particular, Conformal Prediction. \n\n### Background on Conformal Prediction\n\n- Distribution-free, model-agnostic and scalable approach to predictive uncertainty quantification.\n- Conformal prediction is instance-based. So is CE. \n- Take any fitted model and turn it into a conformal model using calibration data.\n- Our approach, therefore, relaxes the restriction on the family of black-box models, at the cost of relying on a subset of the data. Arguably, data is often abundant and in most applications practitioners tend to hold out a test data set anyway. \n\n> Does the coverage guarantee carry over to counterfactuals?\n\n### Generating Conformal Counterfactuals\n\nWhile Conformal Prediction has recently grown in popularity, it does introduce a challenge in the context of classification: the predictions of Conformal Classifiers are set-valued and therefore difficult to work with, since they are, for example, non-differentiable. Fortunately, @stutz2022learning introduced carefully designed differentiable loss functions that make it possible to evaluate the performance of conformal predictions in training. We can leverage these recent advances in the context of gradient-based counterfactual search ...\n\n> Challenge: still need to implement these loss functions. \n\n## Experiments\n\n### Research Questions\n\n- Is CP alone enough to ensure realistic counterfactuals?\n- Do counterfactuals improve further as the models get better?\n- Do counterfactuals get more realistic as coverage\n- What happens as we vary coverage and setsize?\n- What happens as we improve the model robustness?\n- What happens as we improve the model's ability to incorporate predictive uncertainty (deep ensemble, laplace)?\n- What happens if we combine with DiCE, ClaPROAR, Gravitational?\n- What about CE robustness to endogenous shifts [@altmeyer2023endogenous]?\n\n- Benchmarking:\n - add PROBE [@pawelczyk2022probabilistically] into the mix.\n - compare travel costs to domain shits.\n\n> Nice to have: What about using Laplace Approximation, then Conformal Prediction? What about using Conformalised Laplace? \n\n## References\n\n", + "supporting": [ + "proposal_files/figure-html" + ], + "filters": [], + "includes": {} + } +} \ No newline at end of file diff --git a/notebooks/www/you_may_not_like_it.png b/notebooks/www/you_may_not_like_it.png index 78cc0733619723f5a0b54693a978ae2ce5123cbf..2e24f50d942c62ceed7c4e5990a0917eb807d9ba 100644 GIT binary patch literal 17317 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 V(B58u<T}-g(o)kym8jYT|38E^2Ydhk literal 15585 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 DB6Oha diff --git a/paper/neurips_2022.sty b/paper/neurips_2022.sty new file mode 100644 index 00000000..91568e27 --- /dev/null +++ b/paper/neurips_2022.sty @@ -0,0 +1,381 @@ +% partial rewrite of the LaTeX2e package for submissions to the +% Conference on Neural Information Processing Systems (NeurIPS): +% +% - uses more LaTeX conventions +% - line numbers at submission time replaced with aligned numbers from +% lineno package +% - \nipsfinalcopy replaced with [final] package option +% - automatically loads times package for authors +% - loads natbib automatically; this can be suppressed with the +% [nonatbib] package option +% - adds foot line to first page identifying the conference +% - adds preprint option for submission to e.g. arXiv +% - conference acronym modified +% +% Roman Garnett (garnett@wustl.edu) and the many authors of +% nips15submit_e.sty, including MK and drstrip@sandia +% +% last revision: March 2022 + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{neurips_2022}[2022/03/31 NeurIPS 2022 submission/camera-ready style file] + +% declare final option, which creates camera-ready copy +\newif\if@neuripsfinal\@neuripsfinalfalse +\DeclareOption{final}{ + \@neuripsfinaltrue +} + +% declare nonatbib option, which does not load natbib in case of +% package clash (users can pass options to natbib via +% \PassOptionsToPackage) +\newif\if@natbib\@natbibtrue +\DeclareOption{nonatbib}{ + \@natbibfalse +} + +% declare preprint option, which creates a preprint version ready for +% upload to, e.g., arXiv +\newif\if@preprint\@preprintfalse +\DeclareOption{preprint}{ + \@preprinttrue +} + +\ProcessOptions\relax + +% determine whether this is an anonymized submission +\newif\if@submission\@submissiontrue +\if@neuripsfinal\@submissionfalse\fi +\if@preprint\@submissionfalse\fi + +% fonts +\renewcommand{\rmdefault}{ptm} +\renewcommand{\sfdefault}{phv} + +% change this every year for notice string at bottom +\newcommand{\@neuripsordinal}{36th} +\newcommand{\@neuripsyear}{2022} +\newcommand{\@neuripslocation}{New Orleans} + +% acknowledgments +\usepackage{environ} +\newcommand{\acksection}{\section*{Acknowledgments and Disclosure of Funding}} +\NewEnviron{ack}{% + \acksection + \BODY +} + + +% load natbib unless told otherwise +\if@natbib + \RequirePackage{natbib} +\fi + +% set page geometry +\usepackage[verbose=true,letterpaper]{geometry} +\AtBeginDocument{ + \newgeometry{ + textheight=9in, + textwidth=5.5in, + top=1in, + headheight=12pt, + headsep=25pt, + footskip=30pt + } + \@ifpackageloaded{fullpage} + {\PackageWarning{neurips_2022}{fullpage package not allowed! Overwriting formatting.}} + {} +} + +\widowpenalty=10000 +\clubpenalty=10000 +\flushbottom +\sloppy + + +% font sizes with reduced leading +\renewcommand{\normalsize}{% + \@setfontsize\normalsize\@xpt\@xipt + \abovedisplayskip 7\p@ \@plus 2\p@ \@minus 5\p@ + \abovedisplayshortskip \z@ \@plus 3\p@ + \belowdisplayskip \abovedisplayskip + \belowdisplayshortskip 4\p@ \@plus 3\p@ \@minus 3\p@ +} +\normalsize +\renewcommand{\small}{% + \@setfontsize\small\@ixpt\@xpt + \abovedisplayskip 6\p@ \@plus 1.5\p@ \@minus 4\p@ + \abovedisplayshortskip \z@ \@plus 2\p@ + \belowdisplayskip \abovedisplayskip + \belowdisplayshortskip 3\p@ \@plus 2\p@ \@minus 2\p@ +} +\renewcommand{\footnotesize}{\@setfontsize\footnotesize\@ixpt\@xpt} +\renewcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt} +\renewcommand{\large}{\@setfontsize\large\@xiipt{14}} +\renewcommand{\Large}{\@setfontsize\Large\@xivpt{16}} +\renewcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{20}} +\renewcommand{\huge}{\@setfontsize\huge\@xxpt{23}} +\renewcommand{\Huge}{\@setfontsize\Huge\@xxvpt{28}} + +% sections with less space +\providecommand{\section}{} +\renewcommand{\section}{% + \@startsection{section}{1}{\z@}% + {-2.0ex \@plus -0.5ex \@minus -0.2ex}% + { 1.5ex \@plus 0.3ex \@minus 0.2ex}% + {\large\bf\raggedright}% +} +\providecommand{\subsection}{} +\renewcommand{\subsection}{% + \@startsection{subsection}{2}{\z@}% + {-1.8ex \@plus -0.5ex \@minus -0.2ex}% + { 0.8ex \@plus 0.2ex}% + {\normalsize\bf\raggedright}% +} +\providecommand{\subsubsection}{} +\renewcommand{\subsubsection}{% + \@startsection{subsubsection}{3}{\z@}% + {-1.5ex \@plus -0.5ex \@minus -0.2ex}% + { 0.5ex \@plus 0.2ex}% + {\normalsize\bf\raggedright}% +} +\providecommand{\paragraph}{} +\renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{\z@}% + {1.5ex \@plus 0.5ex \@minus 0.2ex}% + {-1em}% + {\normalsize\bf}% +} +\providecommand{\subparagraph}{} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{\z@}% + {1.5ex \@plus 0.5ex \@minus 0.2ex}% + {-1em}% + {\normalsize\bf}% +} +\providecommand{\subsubsubsection}{} +\renewcommand{\subsubsubsection}{% + \vskip5pt{\noindent\normalsize\rm\raggedright}% +} + +% float placement +\renewcommand{\topfraction }{0.85} +\renewcommand{\bottomfraction }{0.4} +\renewcommand{\textfraction }{0.1} +\renewcommand{\floatpagefraction}{0.7} + +\newlength{\@neuripsabovecaptionskip}\setlength{\@neuripsabovecaptionskip}{7\p@} +\newlength{\@neuripsbelowcaptionskip}\setlength{\@neuripsbelowcaptionskip}{\z@} + +\setlength{\abovecaptionskip}{\@neuripsabovecaptionskip} +\setlength{\belowcaptionskip}{\@neuripsbelowcaptionskip} + +% swap above/belowcaptionskip lengths for tables +\renewenvironment{table} + {\setlength{\abovecaptionskip}{\@neuripsbelowcaptionskip}% + \setlength{\belowcaptionskip}{\@neuripsabovecaptionskip}% + \@float{table}} + {\end@float} + +% footnote formatting +\setlength{\footnotesep }{6.65\p@} +\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} +\renewcommand{\footnoterule}{\kern-3\p@ \hrule width 12pc \kern 2.6\p@} +\setcounter{footnote}{0} + +% paragraph formatting +\setlength{\parindent}{\z@} +\setlength{\parskip }{5.5\p@} + +% list formatting +\setlength{\topsep }{4\p@ \@plus 1\p@ \@minus 2\p@} +\setlength{\partopsep }{1\p@ \@plus 0.5\p@ \@minus 0.5\p@} +\setlength{\itemsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} +\setlength{\parsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} +\setlength{\leftmargin }{3pc} +\setlength{\leftmargini }{\leftmargin} +\setlength{\leftmarginii }{2em} +\setlength{\leftmarginiii}{1.5em} +\setlength{\leftmarginiv }{1.0em} +\setlength{\leftmarginv }{0.5em} +\def\@listi {\leftmargin\leftmargini} +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 0.5\p@ + \parsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ + \parsep \z@ + \partopsep 0.5\p@ \@plus 0\p@ \@minus 0.5\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} + +% create title +\providecommand{\maketitle}{} +\renewcommand{\maketitle}{% + \par + \begingroup + \renewcommand{\thefootnote}{\fnsymbol{footnote}} + % for perfect author name centering + \renewcommand{\@makefnmark}{\hbox to \z@{$^{\@thefnmark}$\hss}} + % The footnote-mark was overlapping the footnote-text, + % added the following to fix this problem (MK) + \long\def\@makefntext##1{% + \parindent 1em\noindent + \hbox to 1.8em{\hss $\m@th ^{\@thefnmark}$}##1 + } + \thispagestyle{empty} + \@maketitle + \@thanks + \@notice + \endgroup + \let\maketitle\relax + \let\thanks\relax +} + +% rules for title box at top of first page +\newcommand{\@toptitlebar}{ + \hrule height 4\p@ + \vskip 0.25in + \vskip -\parskip% +} +\newcommand{\@bottomtitlebar}{ + \vskip 0.29in + \vskip -\parskip + \hrule height 1\p@ + \vskip 0.09in% +} + +% create title (includes both anonymized and non-anonymized versions) +\providecommand{\@maketitle}{} +\renewcommand{\@maketitle}{% + \vbox{% + \hsize\textwidth + \linewidth\hsize + \vskip 0.1in + \@toptitlebar + \centering + {\LARGE\bf \@title\par} + \@bottomtitlebar + \if@submission + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@} + Anonymous Author(s) \\ + Affiliation \\ + Address \\ + \texttt{email} \\ + \end{tabular}% + \else + \def\And{% + \end{tabular}\hfil\linebreak[0]\hfil% + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% + } + \def\AND{% + \end{tabular}\hfil\linebreak[4]\hfil% + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% + } + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\@author\end{tabular}% + \fi + \vskip 0.3in \@minus 0.1in + } +} + +% add conference notice to bottom of first page +\newcommand{\ftype@noticebox}{8} +\newcommand{\@notice}{% + % give a bit of extra room back to authors on first page + \enlargethispage{2\baselineskip}% + \@float{noticebox}[b]% + \footnotesize\@noticestring% + \end@float% +} + +% abstract styling +\renewenvironment{abstract}% +{% + \vskip 0.075in% + \centerline% + {\large\bf Abstract}% + \vspace{0.5ex}% + \begin{quote}% +} +{ + \par% + \end{quote}% + \vskip 1ex% +} + +% For the paper checklist +\newcommand{\answerYes}[1][]{\textcolor{blue}{[Yes] #1}} +\newcommand{\answerNo}[1][]{\textcolor{orange}{[No] #1}} +\newcommand{\answerNA}[1][]{\textcolor{gray}{[N/A] #1}} +\newcommand{\answerTODO}[1][]{\textcolor{red}{\bf [TODO]}} + +% handle tweaks for camera-ready copy vs. submission copy +\if@preprint + \newcommand{\@noticestring}{% + Preprint. Under review.% + } +\else + \if@neuripsfinal + \newcommand{\@noticestring}{% + \@neuripsordinal\/ Conference on Neural Information Processing Systems + (NeurIPS \@neuripsyear).%, \@neuripslocation.% + } + \else + \newcommand{\@noticestring}{% + Submitted to \@neuripsordinal\/ Conference on Neural Information + Processing Systems (NeurIPS \@neuripsyear). Do not distribute.% + } + + % hide the acknowledgements + \NewEnviron{hide}{} + \let\ack\hide + \let\endack\endhide + + % line numbers for submission + \RequirePackage{lineno} + \linenumbers + + % fix incompatibilities between lineno and amsmath, if required, by + % transparently wrapping linenomath environments around amsmath + % environments + \AtBeginDocument{% + \@ifpackageloaded{amsmath}{% + \newcommand*\patchAmsMathEnvironmentForLineno[1]{% + \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname + \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname + \renewenvironment{#1}% + {\linenomath\csname old#1\endcsname}% + {\csname oldend#1\endcsname\endlinenomath}% + }% + \newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{% + \patchAmsMathEnvironmentForLineno{#1}% + \patchAmsMathEnvironmentForLineno{#1*}% + }% + \patchBothAmsMathEnvironmentsForLineno{equation}% + \patchBothAmsMathEnvironmentsForLineno{align}% + \patchBothAmsMathEnvironmentsForLineno{flalign}% + \patchBothAmsMathEnvironmentsForLineno{alignat}% + \patchBothAmsMathEnvironmentsForLineno{gather}% + \patchBothAmsMathEnvironmentsForLineno{multline}% + } + {} + } + \fi +\fi + + +\endinput diff --git a/paper/paper.aux b/paper/paper.aux new file mode 100644 index 00000000..dcee3224 --- /dev/null +++ b/paper/paper.aux @@ -0,0 +1,40 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\@writefile{toc}{\contentsline {section}{\numberline {1}Submission of papers to NeurIPS 2022}{1}{section.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Style}{1}{subsection.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Retrieval of style files}{1}{subsection.1.2}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Preprint option}{1}{section*.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}General formatting instructions}{2}{section.2}\protected@file@percent } +\newlabel{gen_inst}{{2}{2}{General formatting instructions}{section.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Headings: first level}{2}{section.3}\protected@file@percent } +\newlabel{headings}{{3}{2}{Headings: first level}{section.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Headings: second level}{2}{subsection.3.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Headings: third level}{2}{subsubsection.3.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Paragraphs}{2}{section*.2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Citations, figures, tables, references}{2}{section.4}\protected@file@percent } +\newlabel{others}{{4}{2}{Citations, figures, tables, references}{section.4}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Citations within the text}{2}{subsection.4.1}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Sample figure caption.}}{3}{figure.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Footnotes}{3}{subsection.4.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Figures}{3}{subsection.4.3}\protected@file@percent } +\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Sample table title}}{4}{table.1}\protected@file@percent } +\newlabel{sample-table}{{1}{4}{Sample table title}{table.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Tables}{4}{subsection.4.4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5}Final instructions}{4}{section.5}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6}Preparing PDF files}{4}{section.6}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Margins in \LaTeX {}}{5}{subsection.6.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {A}Appendix}{6}{appendix.A}\protected@file@percent } +\gdef \@abspage@last{6} diff --git a/paper/paper.fdb_latexmk b/paper/paper.fdb_latexmk new file mode 100644 index 00000000..fa954fc4 --- /dev/null +++ b/paper/paper.fdb_latexmk @@ -0,0 +1,123 @@ +# Fdb version 4 +["pdflatex"] 1679380233 "/Users/patrickaltmeyer/code/conformal-counterfactual-explanations/paper/paper.tex" "paper.pdf" "paper" 1679380235 0 + "/Users/patrickaltmeyer/code/conformal-counterfactual-explanations/paper/paper.tex" 1679380074 20402 03963733f316ff58f73e6c8697a72e22 "" + "/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab "" + "/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1136849721 2971 def0b6c1f0b107b3b936def894055589 "" + "/usr/local/texlive/2023/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/helvetic/phvr8r.tfm" 1136768653 4712 9ef4d7d106579d4b136e1529e1a4533c "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm" 1136768653 7040 b2bd27e2bfe6f6948cbc3239cae7444f "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" 1136768653 4524 6bce29db5bc272ba5f332261583fee9c "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm" 1136768653 6880 f19b8995b61c334d78fc734065f6b4d4 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm" 1136768653 1352 fa28a7e6d323c65ce7d13d5342ff6be2 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" 1136768653 4408 25b74d011a4c66b7f212c0cc3c90061b "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm" 1136768653 6672 e3ab9e37e925f3045c9005e6d1473d56 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" 1136768653 4640 532ca3305aad10cc01d769f3f91f1029 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm" 1136768653 6944 94c55ad86e6ea2826f78ba2240d50df9 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/jknappen/ec/ectt1000.tfm" 1136768653 1536 06717a2b50de47d4087ac0e6cd759455 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm" 1246382020 996 a18840b13b499c08ac2de96a99eda4bc "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1246382020 924 9904cf1d39e9767e7a3622f2a125a565 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm" 1136768653 1524 d89e2d087a9828407a196f428428ef4a "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1136768653 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 "" + "/usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmsy9.tfm" 1136768653 1116 25a7bf822c58caf309a702ef79f4afbb "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" 1248133631 32762 224316ccc9ad3ca0423a14971cfa7fc1 "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1248133631 34694 ad62b13721ee8eda1dcc8993c8bd7041 "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb" 1215737283 169201 9ebf99020dde51a5086e186761a34e8f "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb" 1136849748 44648 23115b2a545ebfe2c526c3ca99db8b95 "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" 1136849748 44729 811d6c62865936705a31c797a1d5dada "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" 1136849748 46026 6dab18b61c907687b520c72847215a68 "" + "/usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" 1136849748 45458 a3faba884469519614ca56ba5f6b1de1 "" + "/usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/helvetic/phvr8t.vf" 1136768653 2344 44ff28c9ef2fc97180cd884f900fee71 "" + "/usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf" 1136768653 2340 df9c920cc5688ebbf16a93f45ce7bdd3 "" + "/usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf" 1136768653 3556 8a9a6dcbcd146ef985683f677f4758a6 "" + "/usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf" 1136768653 2348 91706c542228501c410c266421fbe30c "" + "/usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf" 1136768653 2328 6cd7df782b09b29cfc4d93e55b6b9a59 "" + "/usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty" 1644112042 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1600895880 17859 4409f8f50cd365c68e684407e5350b1b "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b "" + "/usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls" 1667332637 20144 d5ecf0a5140c8d8d8b72cbe86e320eff "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1667332637 3052 30236f0cc243a8651b82240dfd2e8b9d "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1667332637 2462 8ce5f9a9c63002f2c1af03c262cf29af "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty" 1654720880 5119 4ce42f43368f652f9c9522d943cce8e4 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty" 1654720880 5319 48d7f3cfa322abd2788e3c09d624b922 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty" 1654720880 5048 84b05796b49b69e2d4257d537721c960 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo" 1667332637 8448 c33a4e1cb35cee9b33c2b21033b73e39 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/base/t1cmtt.fd" 1667332637 2443 f9c272838e65ac147422f32fe87b76a1 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty" 1579038678 6078 f1cb470c9199e7110a27851508ed7a5c "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty" 1399239813 4378 f429f0da968c278653359293040a8f52 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1601931149 46845 3b58f70c6e861a13d927bff09d35ecbc "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/graphics-def/pdftex.def" 1663965824 19448 1e988b341dda20961a6b931bcde55519 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty" 1654720880 2671 7e67d78d9b88c845599a85b2d41f2e39 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/graphics/mathcolor.ltx" 1667332637 2885 9c645d672ae17285bba324998918efd8 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hpdftex.def" 1675889938 48272 99ede602a8ace626d8ed02f058a4bf8e "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty" 1675889938 223129 4edf043af471f3251c66e432cfa22987 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty" 1675889938 12947 1ce831528e963a8568de1f4d67cfb982 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/pd1enc.def" 1675889938 14249 d947c5c09f3af04ae2f37fc11c7ac2f6 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/puenc.def" 1675889938 117125 aa115cac3914abcf3769f370e6325117 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1655478651 22555 6d8e155cfef6d82c3d5c742fea7c992e "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1665067230 13815 760b0c02f691ea230f5359c4e1de23a7 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1673989714 30429 213676d4c7327a21d91ddaed900e7b81 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty" 1674162155 152262 eb3bf7a579d4a34a0ed4f6b445bafbd8 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1678741534 48246 c3eed060aba663f58af3ff756e83f2bd "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg" 1678741534 26842 05a01d67d23e805520393a049533b8c0 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty" 1678741534 98531 f79ec363f3014ada2cb766715926ecc9 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-cmr.cfg" 1678741534 22906 7a8d9f8766e60f694cdde7648421c2ab "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msa.cfg" 1678741534 5929 0e1d31c98c10fece90f470d5746ecdd6 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msb.cfg" 1678741534 5594 45ca1ba048c2fa6267d5419cc463d804 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-ptm.cfg" 1678741534 12427 02d1873769280609ae2509e963f1fa66 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty" 1291685959 45456 1c8843383c0bd05870c45fa0ebea6cc2 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1phv.fd" 1586716065 1483 47067fbe7c3ffed1ede7aaa7b8549d7a "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1ptm.fd" 1137110629 774 61d7da1e9f9e74989b196d147e623736 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/ts1ptm.fd" 1137110629 619 96f56dc5d1ef1fe1121f1cfeec70ee0c "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1657483315 9714 ba3194bd52c8499b3f1e3eb91d409670 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty" 1253232110 1380 971a51b00a14503ddf754cab24c3f209 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty" 1137111039 4029 0462ee5ab265cf59dc15a41a3b883101 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "/usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty" 1655066402 56148 51a9a8571c07b9921892ae11063ae853 "" + "/usr/local/texlive/2023/texmf-dist/web2c/texmf.cnf" 1677365944 40745 87bb86a62d462f93a1efc6b0c65c872e "" + "/usr/local/texlive/2023/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1679378061 4623355 b8cad38412faebe1ce5b780a45db67bd "" + "/usr/local/texlive/2023/texmf-var/web2c/pdftex/pdflatex.fmt" 1679378051 7883457 1aa397298814c10ba7469ca52ed0fc97 "" + "/usr/local/texlive/2023/texmf.cnf" 1678822455 577 1b2b1af17af2508fb20dd85783af4050 "" + "neurips_2022.sty" 1679380107 11562 bed3b2b3dd41efa3f6cf9e27f533a20e "" + "paper.aux" 1679380235 3253 f4fa39f137bc0598f7069980635fef48 "pdflatex" + "paper.out" 1679380235 2443 adc4f3226fc4bad2b7e73b5f36623ad6 "pdflatex" + "paper.tex" 1679380074 20402 03963733f316ff58f73e6c8697a72e22 "" + (generated) + "paper.aux" + "paper.log" + "paper.out" + "paper.pdf" + (rewritten before read) diff --git a/paper/paper.fls b/paper/paper.fls new file mode 100644 index 00000000..282641dd --- /dev/null +++ b/paper/paper.fls @@ -0,0 +1,692 @@ +PWD /Users/patrickaltmeyer/code/conformal-counterfactual-explanations/paper +INPUT /usr/local/texlive/2023/texmf.cnf +INPUT /usr/local/texlive/2023/texmf-dist/web2c/texmf.cnf +INPUT /usr/local/texlive/2023/texmf-var/web2c/pdftex/pdflatex.fmt +INPUT /Users/patrickaltmeyer/code/conformal-counterfactual-explanations/paper/paper.tex +OUTPUT paper.log +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo +INPUT ./neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT neurips_2022.sty +INPUT ./neurips_2022.sty +INPUT neurips_2022.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT ./paper.aux +INPUT paper.aux +INPUT paper.aux +OUTPUT paper.aux +INPUT ./paper.out +INPUT paper.out +INPUT ./paper.out +INPUT paper.out +INPUT ./paper.out +INPUT paper.out +INPUT ./paper.out +INPUT paper.out +OUTPUT paper.pdf +INPUT ./paper.out +INPUT ./paper.out +OUTPUT paper.out +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-ptm.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-ptm.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-ptm.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-ptm.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/jknappen/ec/ectt1000.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1phv.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1phv.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1phv.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1phv.fd +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm +INPUT /usr/local/texlive/2023/texmf-var/fonts/map/pdftex/updmap/pdftex.map +INPUT /usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/base/8r.enc +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/helvetic/phvr8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/helvetic/phvr8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmr9.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmr6.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmsy9.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/ts1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/ts1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/ts1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/ts1ptm.fd +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm +INPUT /usr/local/texlive/2023/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf +INPUT /usr/local/texlive/2023/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm +INPUT paper.aux +INPUT ./paper.out +INPUT ./paper.out +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmb8a.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +INPUT /usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmri8a.pfb diff --git a/paper/paper.log b/paper/paper.log new file mode 100644 index 00000000..e4270586 --- /dev/null +++ b/paper/paper.log @@ -0,0 +1,460 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.3.21) 21 MAR 2023 07:30 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**/Users/patrickaltmeyer/code/conformal-counterfactual-explanations/paper/paper.tex +(/Users/patrickaltmeyer/code/conformal-counterfactual-explanations/paper/paper.tex +LaTeX2e <2022-11-01> patch level 1 +L3 programming layer <2023-02-22> (/usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls +Document Class: article 2022/07/02 v1.4n Standard LaTeX document class +(/usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2022/07/02 v1.4n Standard LaTeX file (size option) +) +\c@part=\count185 +\c@section=\count186 +\c@subsection=\count187 +\c@subsubsection=\count188 +\c@paragraph=\count189 +\c@subparagraph=\count190 +\c@figure=\count191 +\c@table=\count192 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\bibindent=\dimen140 +) (./neurips_2022.sty +Package: neurips_2022 2022/03/31 NeurIPS 2022 submission/camera-ready style file + (/usr/local/texlive/2023/texmf-dist/tex/latex/environ/environ.sty +Package: environ 2014/05/04 v0.3 A new way to define environments + (/usr/local/texlive/2023/texmf-dist/tex/latex/trimspaces/trimspaces.sty +Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list +) +\@envbody=\toks16 +) (/usr/local/texlive/2023/texmf-dist/tex/latex/natbib/natbib.sty +Package: natbib 2010/09/13 8.31b (PWD, AO) +\bibhang=\skip50 +\bibsep=\skip51 +LaTeX Info: Redefining \cite on input line 694. +\c@NAT@ctr=\count193 +) (/usr/local/texlive/2023/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry + (/usr/local/texlive/2023/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2022/05/29 v1.15 key=value parser (DPC) +\KV@toks@=\toks17 +) (/usr/local/texlive/2023/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. + (/usr/local/texlive/2023/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) +\Gm@cnth=\count194 +\Gm@cntv=\count195 +\c@Gm@tempcnt=\count196 +\Gm@bindingoffset=\dimen141 +\Gm@wd@mp=\dimen142 +\Gm@odd@mp=\dimen143 +\Gm@even@mp=\dimen144 +\Gm@layoutwidth=\dimen145 +\Gm@layoutheight=\dimen146 +\Gm@layouthoffset=\dimen147 +\Gm@layoutvoffset=\dimen148 +\Gm@dimlist=\toks18 +) +\@neuripsabovecaptionskip=\skip52 +\@neuripsbelowcaptionskip=\skip53 + (/usr/local/texlive/2023/texmf-dist/tex/latex/lineno/lineno.sty +Package: lineno 2023/01/19 line numbers on paragraphs v5.1 +\linenopenalty=\count197 +\output=\toks19 +\linenoprevgraf=\count198 +\linenumbersep=\dimen149 +\linenumberwidth=\dimen150 +\c@linenumber=\count199 +\c@pagewiselinenumber=\count266 +\c@LN@truepage=\count267 +\c@internallinenumber=\count268 +\c@internallinenumbers=\count269 +\quotelinenumbersep=\dimen151 +\bframerule=\dimen152 +\bframesep=\dimen153 +\bframebox=\box51 + (/usr/local/texlive/2023/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count270 +) +LaTeX Info: Redefining \\ on input line 3131. +)) (/usr/local/texlive/2023/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2021/02/14 v1.3d Input encoding file +\inpenc@prehook=\toks20 +\inpenc@posthook=\toks21 +) (/usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2021/04/29 v2.0v Standard LaTeX package +LaTeX Font Info: Trying to load font information for T1+ptm on input line 112. + (/usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1ptm.fd +File: t1ptm.fd 2001/06/04 font definitions for T1/ptm. +)) (/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2023-02-07 v7.00v Hypertext links for LaTeX + (/usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) + (/usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) (/usr/local/texlive/2023/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2022-05-17 v2.50 Cross-referencing by name of section + (/usr/local/texlive/2023/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) + (/usr/local/texlive/2023/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) +)) +\c@section@level=\count271 +) +\@linkdim=\dimen154 +\Hy@linkcounter=\count272 +\Hy@pagecounter=\count273 + (/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2023-02-07 v7.00v Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) (/usr/local/texlive/2023/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) (/usr/local/texlive/2023/texmf-dist/tex/generic/etexcmds/etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count274 + (/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2023-02-07 v7.00v Hyperref: PDF Unicode definition (HO) +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU +) +Package hyperref Info: Hyper figures OFF on input line 4177. +Package hyperref Info: Link nesting OFF on input line 4182. +Package hyperref Info: Hyper index ON on input line 4185. +Package hyperref Info: Plain pages OFF on input line 4192. +Package hyperref Info: Backreferencing OFF on input line 4197. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4425. +\c@Hy@tempcnt=\count275 + (/usr/local/texlive/2023/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4763. +\XeTeXLinkMargin=\dimen155 + (/usr/local/texlive/2023/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + (/usr/local/texlive/2023/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) +)) +\Fld@menulength=\count276 +\Field@Width=\dimen156 +\Fld@charsize=\dimen157 +Package hyperref Info: Hyper figures OFF on input line 6042. +Package hyperref Info: Link nesting OFF on input line 6047. +Package hyperref Info: Hyper index ON on input line 6050. +Package hyperref Info: backreferencing OFF on input line 6057. +Package hyperref Info: Link coloring OFF on input line 6062. +Package hyperref Info: Link coloring with OCG OFF on input line 6067. +Package hyperref Info: PDF/A mode OFF on input line 6072. + (/usr/local/texlive/2023/texmf-dist/tex/latex/base/atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count277 +\c@Item=\count278 +\c@Hfootnote=\count279 +) +Package hyperref Info: Driver (autodetected): hpdftex. + (/usr/local/texlive/2023/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2023-02-07 v7.00v Hyperref driver for pdfTeX + (/usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package +with kernel methods +) +\Fld@listcount=\count280 +\c@bookmark@seq@number=\count281 + (/usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) + (/usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285. +) +\Hy@SectionHShift=\skip54 +) (/usr/local/texlive/2023/texmf-dist/tex/latex/booktabs/booktabs.sty +Package: booktabs 2020/01/12 v1.61803398 Publication quality tables +\heavyrulewidth=\dimen158 +\lightrulewidth=\dimen159 +\cmidrulewidth=\dimen160 +\belowrulesep=\dimen161 +\belowbottomsep=\dimen162 +\aboverulesep=\dimen163 +\abovetopsep=\dimen164 +\cmidrulesep=\dimen165 +\cmidrulekern=\dimen166 +\defaultaddspace=\dimen167 +\@cmidla=\count282 +\@cmidlb=\count283 +\@aboverulesep=\dimen168 +\@belowrulesep=\dimen169 +\@thisruleclass=\count284 +\@lastruleclass=\count285 +\@thisrulewidth=\dimen170 +) (/usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks22 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +) (/usr/local/texlive/2023/texmf-dist/tex/latex/units/nicefrac.sty +Package: nicefrac 1998/08/04 v0.9b Nice fractions +\L@UnitsRaiseDisplaystyle=\skip55 +\L@UnitsRaiseTextstyle=\skip56 +\L@UnitsRaiseScriptstyle=\skip57 + (/usr/local/texlive/2023/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2022/04/13 v1.1d Standard LaTeX ifthen package (DPC) +)) (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.sty +Package: microtype 2023/03/13 v3.1a Micro-typographical refinements (RS) +\MT@toks=\toks23 +\MT@tempbox=\box52 +\MT@count=\count286 +LaTeX Info: Redefining \noprotrusionifhmode on input line 1059. +LaTeX Info: Redefining \leftprotrusion on input line 1060. +\MT@prot@toks=\toks24 +LaTeX Info: Redefining \rightprotrusion on input line 1078. +LaTeX Info: Redefining \textls on input line 1368. +\MT@outer@kern=\dimen171 +LaTeX Info: Redefining \textmicrotypecontext on input line 1988. +\MT@listname@count=\count287 + (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype-pdftex.def +File: microtype-pdftex.def 2023/03/13 v3.1a Definitions specific to pdftex (RS) +LaTeX Info: Redefining \lsstyle on input line 902. +LaTeX Info: Redefining \lslig on input line 902. +\MT@outer@space=\skip58 +) +Package microtype Info: Loading configuration file microtype.cfg. + (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/microtype.cfg +File: microtype.cfg 2023/03/13 v3.1a microtype main configuration file (RS) +)) (/usr/local/texlive/2023/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2022/06/12 v2.14 LaTeX color extensions (UK) + (/usr/local/texlive/2023/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 227. + (/usr/local/texlive/2023/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex +) (/usr/local/texlive/2023/texmf-dist/tex/latex/graphics/mathcolor.ltx) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1353. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1357. +Package xcolor Info: Model `RGB' extended on input line 1369. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1371. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1372. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1373. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1374. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1375. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1376. +) (/usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2023-01-16 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count288 +\l__pdf_internal_box=\box53 +) (./paper.aux) +\openout1 = `paper.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 81. +LaTeX Font Info: ... okay on input line 81. + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: letterpaper +* layout: <same size as paper> +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(92.14519pt, 430.00462pt, 92.14519pt) +* v-part:(T,H,B)=(95.39737pt, 556.47656pt, 143.09605pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=430.00462pt +* \textheight=556.47656pt +* \oddsidemargin=19.8752pt +* \evensidemargin=19.8752pt +* \topmargin=-13.87262pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=65.0pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +*geometry* verbose mode - [ newgeometry ] result: +* driver: pdftex +* paper: letterpaper +* layout: <same size as paper> +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(108.405pt, 397.48499pt, 108.40501pt) +* v-part:(T,H,B)=(72.26999pt, 650.43pt, 72.27pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=397.48499pt +* \textheight=650.43pt +* \oddsidemargin=36.13501pt +* \evensidemargin=36.13501pt +* \topmargin=-37.0pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=65.0pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package hyperref Info: Link coloring OFF on input line 81. +(./paper.out) (./paper.out) +\@outlinefile=\write3 +\openout3 = `paper.out'. + +LaTeX Info: Redefining \microtypecontext on input line 81. +Package microtype Info: Applying patch `item' on input line 81. +Package microtype Info: Applying patch `toc' on input line 81. +Package microtype Info: Applying patch `eqnum' on input line 81. +Package microtype Info: Applying patch `footnote' on input line 81. +Package microtype Info: Applying patch `verbatim' on input line 81. +Package microtype Info: Generating PDF output. +Package microtype Info: Character protrusion enabled (level 2). +Package microtype Info: Using default protrusion set `alltext'. +Package microtype Info: Automatic font expansion enabled (level 2), +(microtype) stretch: 20, shrink: 20, step: 1, non-selected. +Package microtype Info: Using default expansion set `alltext-nott'. +LaTeX Info: Redefining \showhyphens on input line 81. +Package microtype Info: No adjustment of tracking. +Package microtype Info: No adjustment of interword spacing. +Package microtype Info: No adjustment of character kerning. + (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-ptm.cfg +File: mt-ptm.cfg 2006/04/20 v1.7 microtype config. file: Times (RS) +) (/usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count289 +\scratchdimen=\dimen172 +\scratchbox=\box54 +\nofMPsegments=\count290 +\nofMParguments=\count291 +\everyMPshowfont=\toks25 +\MPscratchCnt=\count292 +\MPscratchDim=\dimen173 +\MPnumerator=\count293 +\makeMPintoPDFobject=\count294 +\everyMPtoPDFconversion=\toks26 +) (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-cmr.cfg +File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS) +) +LaTeX Font Info: Trying to load font information for U+msa on input line 85. + (/usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msa.cfg +File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS) +) +LaTeX Font Info: Trying to load font information for U+msb on input line 85. + (/usr/local/texlive/2023/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) (/usr/local/texlive/2023/texmf-dist/tex/latex/microtype/mt-msb.cfg +File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS) +) +LaTeX Font Info: Trying to load font information for T1+cmtt on input line 85. + (/usr/local/texlive/2023/texmf-dist/tex/latex/base/t1cmtt.fd +File: t1cmtt.fd 2022/07/10 v2.5l Standard LaTeX font definitions +) +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `cmtt' (encoding: T1). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. +LaTeX Font Info: Trying to load font information for T1+phv on input line 93. + (/usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/t1phv.fd +File: t1phv.fd 2020/03/25 scalable font definitions for T1/phv. +) +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `phv' (encoding: T1). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. + [1 + + +{/usr/local/texlive/2023/texmf-var/fonts/map/pdftex/updmap/pdftex.map}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/base/8r.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [2] [3] +LaTeX Font Info: Trying to load font information for TS1+ptm on input line 382. + (/usr/local/texlive/2023/texmf-dist/tex/latex/psnfss/ts1ptm.fd +File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm. +) [4] [5] [6] (./paper.aux) +Package rerunfilecheck Info: File `paper.out' has not changed. +(rerunfilecheck) Checksum: ADC4F3226FC4BAD2B7E73B5F36623AD6;2443. + ) +Here is how much of TeX's memory you used: + 12669 strings out of 476025 + 200194 string characters out of 5790017 + 1868388 words of memory out of 5000000 + 32677 multiletter control sequences out of 15000+600000 + 563302 words of font info for 205 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 75i,9n,76p,1074b,651s stack positions out of 10000i,1000n,20000p,200000b,200000s +</usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmri8a.pfb> +Output written on paper.pdf (6 pages, 150673 bytes). +PDF statistics: + 211 PDF objects out of 1000 (max. 8388607) + 181 compressed objects within 2 object streams + 54 named destinations out of 1000 (max. 500000) + 58497 words of extra memory for PDF output out of 61914 (max. 10000000) + diff --git a/paper/paper.out b/paper/paper.out new file mode 100644 index 00000000..c20c9d25 --- /dev/null +++ b/paper/paper.out @@ -0,0 +1,16 @@ +\BOOKMARK [1][-]{section.1}{\376\377\000S\000u\000b\000m\000i\000s\000s\000i\000o\000n\000\040\000o\000f\000\040\000p\000a\000p\000e\000r\000s\000\040\000t\000o\000\040\000N\000e\000u\000r\000I\000P\000S\000\040\0002\0000\0002\0002}{}% 1 +\BOOKMARK [2][-]{subsection.1.1}{\376\377\000S\000t\000y\000l\000e}{section.1}% 2 +\BOOKMARK [2][-]{subsection.1.2}{\376\377\000R\000e\000t\000r\000i\000e\000v\000a\000l\000\040\000o\000f\000\040\000s\000t\000y\000l\000e\000\040\000f\000i\000l\000e\000s}{section.1}% 3 +\BOOKMARK [1][-]{section.2}{\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000f\000o\000r\000m\000a\000t\000t\000i\000n\000g\000\040\000i\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000s}{}% 4 +\BOOKMARK [1][-]{section.3}{\376\377\000H\000e\000a\000d\000i\000n\000g\000s\000:\000\040\000f\000i\000r\000s\000t\000\040\000l\000e\000v\000e\000l}{}% 5 +\BOOKMARK [2][-]{subsection.3.1}{\376\377\000H\000e\000a\000d\000i\000n\000g\000s\000:\000\040\000s\000e\000c\000o\000n\000d\000\040\000l\000e\000v\000e\000l}{section.3}% 6 +\BOOKMARK [3][-]{subsubsection.3.1.1}{\376\377\000H\000e\000a\000d\000i\000n\000g\000s\000:\000\040\000t\000h\000i\000r\000d\000\040\000l\000e\000v\000e\000l}{subsection.3.1}% 7 +\BOOKMARK [1][-]{section.4}{\376\377\000C\000i\000t\000a\000t\000i\000o\000n\000s\000,\000\040\000f\000i\000g\000u\000r\000e\000s\000,\000\040\000t\000a\000b\000l\000e\000s\000,\000\040\000r\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 8 +\BOOKMARK [2][-]{subsection.4.1}{\376\377\000C\000i\000t\000a\000t\000i\000o\000n\000s\000\040\000w\000i\000t\000h\000i\000n\000\040\000t\000h\000e\000\040\000t\000e\000x\000t}{section.4}% 9 +\BOOKMARK [2][-]{subsection.4.2}{\376\377\000F\000o\000o\000t\000n\000o\000t\000e\000s}{section.4}% 10 +\BOOKMARK [2][-]{subsection.4.3}{\376\377\000F\000i\000g\000u\000r\000e\000s}{section.4}% 11 +\BOOKMARK [2][-]{subsection.4.4}{\376\377\000T\000a\000b\000l\000e\000s}{section.4}% 12 +\BOOKMARK [1][-]{section.5}{\376\377\000F\000i\000n\000a\000l\000\040\000i\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000s}{}% 13 +\BOOKMARK [1][-]{section.6}{\376\377\000P\000r\000e\000p\000a\000r\000i\000n\000g\000\040\000P\000D\000F\000\040\000f\000i\000l\000e\000s}{}% 14 +\BOOKMARK [2][-]{subsection.6.1}{\376\377\000M\000a\000r\000g\000i\000n\000s\000\040\000i\000n\000\040\000L\000a\000T\000e\000X}{section.6}% 15 +\BOOKMARK [1][-]{appendix.A}{\376\377\000A\000p\000p\000e\000n\000d\000i\000x}{}% 16 diff --git a/paper/paper.pdf b/paper/paper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..42b451df30e63ec2c98399e7e104f36fbdcde099 GIT binary patch literal 150673 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%0Ar1 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⩔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 VCq&?wSh+a4*x<;>MCHWb{y)LUV5I;6 literal 0 HcmV?d00001 diff --git a/paper/paper.synctex.gz b/paper/paper.synctex.gz new file mode 100644 index 0000000000000000000000000000000000000000..b4749b3e1a488384c8aab85331901ad956cc4abc GIT binary patch literal 51725 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 Ks{xRFa{~aV-ee*G literal 0 HcmV?d00001 diff --git a/paper/paper.tex b/paper/paper.tex new file mode 100644 index 00000000..585f6921 --- /dev/null +++ b/paper/paper.tex @@ -0,0 +1,589 @@ +\documentclass{article} + + +% if you need to pass options to natbib, use, e.g.: +% \PassOptionsToPackage{numbers, compress}{natbib} +% before loading neurips_2022 + + +% ready for submission +\usepackage{neurips_2022} + + +% to compile a preprint version, e.g., for submission to arXiv, add add the +% [preprint] option: +% \usepackage[preprint]{neurips_2022} + + +% to compile a camera-ready version, add the [final] option, e.g.: +% \usepackage[final]{neurips_2022} + + +% to avoid loading the natbib package, add option nonatbib: +% \usepackage[nonatbib]{neurips_2022} + + +\usepackage[utf8]{inputenc} % allow utf-8 input +\usepackage[T1]{fontenc} % use 8-bit T1 fonts +\usepackage{hyperref} % hyperlinks +\usepackage{url} % simple URL typesetting +\usepackage{booktabs} % professional-quality tables +\usepackage{amsfonts} % blackboard math symbols +\usepackage{nicefrac} % compact symbols for 1/2, etc. +\usepackage{microtype} % microtypography +\usepackage{xcolor} % colors + + +\title{Formatting Instructions For NeurIPS 2022} + + +% The \author macro works with any number of authors. There are two commands +% used to separate the names and addresses of multiple authors: \And and \AND. +% +% Using \And between authors leaves it to LaTeX to determine where to break the +% lines. Using \AND forces a line break at that point. So, if LaTeX puts 3 of 4 +% authors names on the first line, and the last on the second line, try using +% \AND instead of \And before the third author name. + + +\author{% + David S.~Hippocampus\thanks{Use footnote for providing further information + about author (webpage, alternative address)---\emph{not} for acknowledging + funding agencies.} \\ + Department of Computer Science\\ + Cranberry-Lemon University\\ + Pittsburgh, PA 15213 \\ + \texttt{hippo@cs.cranberry-lemon.edu} \\ + % examples of more authors + % \And + % Coauthor \\ + % Affiliation \\ + % Address \\ + % \texttt{email} \\ + % \AND + % Coauthor \\ + % Affiliation \\ + % Address \\ + % \texttt{email} \\ + % \And + % Coauthor \\ + % Affiliation \\ + % Address \\ + % \texttt{email} \\ + % \And + % Coauthor \\ + % Affiliation \\ + % Address \\ + % \texttt{email} \\ +} + + +\begin{document} + + +\maketitle + + +\begin{abstract} + The abstract paragraph should be indented \nicefrac{1}{2}~inch (3~picas) on + both the left- and right-hand margins. Use 10~point type, with a vertical + spacing (leading) of 11~points. The word \textbf{Abstract} must be centered, + bold, and in point size 12. Two line spaces precede the abstract. The abstract + must be limited to one paragraph. +\end{abstract} + + +\section{Submission of papers to NeurIPS 2022} + + +Please read the instructions below carefully and follow them faithfully. + + +\subsection{Style} + + +Papers to be submitted to NeurIPS 2022 must be prepared according to the +instructions presented here. Papers may only be up to {\bf nine} pages long, +including figures. Additional pages \emph{containing only acknowledgments and +references} are allowed. Papers that exceed the page limit will not be +reviewed, or in any other way considered for presentation at the conference. + + +The margins in 2022 are the same as those in 2007, which allow for $\sim$$15\%$ +more words in the paper compared to earlier years. + + +Authors are required to use the NeurIPS \LaTeX{} style files obtainable at the +NeurIPS website as indicated below. Please make sure you use the current files +and not previous versions. Tweaking the style files may be grounds for +rejection. + + +\subsection{Retrieval of style files} + + +The style files for NeurIPS and other conference information are available on +the World Wide Web at +\begin{center} + \url{http://www.neurips.cc/} +\end{center} +The file \verb+neurips_2022.pdf+ contains these instructions and illustrates the +various formatting requirements your NeurIPS paper must satisfy. + + +The only supported style file for NeurIPS 2022 is \verb+neurips_2022.sty+, +rewritten for \LaTeXe{}. \textbf{Previous style files for \LaTeX{} 2.09, + Microsoft Word, and RTF are no longer supported!} + + +The \LaTeX{} style file contains three optional arguments: \verb+final+, which +creates a camera-ready copy, \verb+preprint+, which creates a preprint for +submission to, e.g., arXiv, and \verb+nonatbib+, which will not load the +\verb+natbib+ package for you in case of package clash. + + +\paragraph{Preprint option} +If you wish to post a preprint of your work online, e.g., on arXiv, using the +NeurIPS style, please use the \verb+preprint+ option. This will create a +nonanonymized version of your work with the text ``Preprint. Work in progress.'' +in the footer. This version may be distributed as you see fit. Please \textbf{do + not} use the \verb+final+ option, which should \textbf{only} be used for +papers accepted to NeurIPS. + + +At submission time, please omit the \verb+final+ and \verb+preprint+ +options. This will anonymize your submission and add line numbers to aid +review. Please do \emph{not} refer to these line numbers in your paper as they +will be removed during generation of camera-ready copies. + + +The file \verb+neurips_2022.tex+ may be used as a ``shell'' for writing your +paper. All you have to do is replace the author, title, abstract, and text of +the paper with your own. + + +The formatting instructions contained in these style files are summarized in +Sections \ref{gen_inst}, \ref{headings}, and \ref{others} below. + + +\section{General formatting instructions} +\label{gen_inst} + + +The text must be confined within a rectangle 5.5~inches (33~picas) wide and +9~inches (54~picas) long. The left margin is 1.5~inch (9~picas). Use 10~point +type with a vertical spacing (leading) of 11~points. Times New Roman is the +preferred typeface throughout, and will be selected for you by default. +Paragraphs are separated by \nicefrac{1}{2}~line space (5.5 points), with no +indentation. + + +The paper title should be 17~point, initial caps/lower case, bold, centered +between two horizontal rules. The top rule should be 4~points thick and the +bottom rule should be 1~point thick. Allow \nicefrac{1}{4}~inch space above and +below the title to rules. All pages should start at 1~inch (6~picas) from the +top of the page. + + +For the final version, authors' names are set in boldface, and each name is +centered above the corresponding address. The lead author's name is to be listed +first (left-most), and the co-authors' names (if different address) are set to +follow. If there is only one co-author, list both author and co-author side by +side. + + +Please pay special attention to the instructions in Section \ref{others} +regarding figures, tables, acknowledgments, and references. + + +\section{Headings: first level} +\label{headings} + + +All headings should be lower case (except for first word and proper nouns), +flush left, and bold. + + +First-level headings should be in 12-point type. + + +\subsection{Headings: second level} + + +Second-level headings should be in 10-point type. + + +\subsubsection{Headings: third level} + + +Third-level headings should be in 10-point type. + + +\paragraph{Paragraphs} + + +There is also a \verb+\paragraph+ command available, which sets the heading in +bold, flush left, and inline with the text, with the heading followed by 1\,em +of space. + + +\section{Citations, figures, tables, references} +\label{others} + + +These instructions apply to everyone. + + +\subsection{Citations within the text} + + +The \verb+natbib+ package will be loaded for you by default. Citations may be +author/year or numeric, as long as you maintain internal consistency. As to the +format of the references themselves, any style is acceptable as long as it is +used consistently. + + +The documentation for \verb+natbib+ may be found at +\begin{center} + \url{http://mirrors.ctan.org/macros/latex/contrib/natbib/natnotes.pdf} +\end{center} +Of note is the command \verb+\citet+, which produces citations appropriate for +use in inline text. For example, +\begin{verbatim} + \citet{hasselmo} investigated\dots +\end{verbatim} +produces +\begin{quote} + Hasselmo, et al.\ (1995) investigated\dots +\end{quote} + + +If you wish to load the \verb+natbib+ package with options, you may add the +following before loading the \verb+neurips_2022+ package: +\begin{verbatim} + \PassOptionsToPackage{options}{natbib} +\end{verbatim} + + +If \verb+natbib+ clashes with another package you load, you can add the optional +argument \verb+nonatbib+ when loading the style file: +\begin{verbatim} + \usepackage[nonatbib]{neurips_2022} +\end{verbatim} + + +As submission is double blind, refer to your own published work in the third +person. That is, use ``In the previous work of Jones et al.\ [4],'' not ``In our +previous work [4].'' If you cite your other papers that are not widely available +(e.g., a journal paper under review), use anonymous author names in the +citation, e.g., an author of the form ``A.\ Anonymous.'' + + +\subsection{Footnotes} + + +Footnotes should be used sparingly. If you do require a footnote, indicate +footnotes with a number\footnote{Sample of the first footnote.} in the +text. Place the footnotes at the bottom of the page on which they appear. +Precede the footnote with a horizontal rule of 2~inches (12~picas). + + +Note that footnotes are properly typeset \emph{after} punctuation +marks.\footnote{As in this example.} + + +\subsection{Figures} + + +\begin{figure} + \centering + \fbox{\rule[-.5cm]{0cm}{4cm} \rule[-.5cm]{4cm}{0cm}} + \caption{Sample figure caption.} +\end{figure} + + +All artwork must be neat, clean, and legible. Lines should be dark enough for +purposes of reproduction. The figure number and caption always appear after the +figure. Place one line space before the figure caption and one line space after +the figure. The figure caption should be lower case (except for first word and +proper nouns); figures are numbered consecutively. + + +You may use color figures. However, it is best for the figure captions and the +paper body to be legible if the paper is printed in either black/white or in +color. + + +\subsection{Tables} + + +All tables must be centered, neat, clean and legible. The table number and +title always appear before the table. See Table~\ref{sample-table}. + + +Place one line space before the table title, one line space after the +table title, and one line space after the table. The table title must +be lower case (except for first word and proper nouns); tables are +numbered consecutively. + + +Note that publication-quality tables \emph{do not contain vertical rules.} We +strongly suggest the use of the \verb+booktabs+ package, which allows for +typesetting high-quality, professional tables: +\begin{center} + \url{https://www.ctan.org/pkg/booktabs} +\end{center} +This package was used to typeset Table~\ref{sample-table}. + + +\begin{table} + \caption{Sample table title} + \label{sample-table} + \centering + \begin{tabular}{lll} + \toprule + \multicolumn{2}{c}{Part} \\ + \cmidrule(r){1-2} + Name & Description & Size ($\mu$m) \\ + \midrule + Dendrite & Input terminal & $\sim$100 \\ + Axon & Output terminal & $\sim$10 \\ + Soma & Cell body & up to $10^6$ \\ + \bottomrule + \end{tabular} +\end{table} + + +\section{Final instructions} + + +Do not change any aspects of the formatting parameters in the style files. In +particular, do not modify the width or length of the rectangle the text should +fit into, and do not change font sizes (except perhaps in the +\textbf{References} section; see below). Please note that pages should be +numbered. + + +\section{Preparing PDF files} + + +Please prepare submission files with paper size ``US Letter,'' and not, for +example, ``A4.'' + + +Fonts were the main cause of problems in the past years. Your PDF file must only +contain Type 1 or Embedded TrueType fonts. Here are a few instructions to +achieve this. + + +\begin{itemize} + + +\item You should directly generate PDF files using \verb+pdflatex+. + + +\item You can check which fonts a PDF files uses. In Acrobat Reader, select the + menu Files$>$Document Properties$>$Fonts and select Show All Fonts. You can + also use the program \verb+pdffonts+ which comes with \verb+xpdf+ and is + available out-of-the-box on most Linux machines. + + +\item The IEEE has recommendations for generating PDF files whose fonts are also + acceptable for NeurIPS. Please see + \url{http://www.emfield.org/icuwb2010/downloads/IEEE-PDF-SpecV32.pdf} + + +\item \verb+xfig+ "patterned" shapes are implemented with bitmap fonts. Use + "solid" shapes instead. + + +\item The \verb+\bbold+ package almost always uses bitmap fonts. You should use + the equivalent AMS Fonts: +\begin{verbatim} + \usepackage{amsfonts} +\end{verbatim} +followed by, e.g., \verb+\mathbb{R}+, \verb+\mathbb{N}+, or \verb+\mathbb{C}+ +for $\mathbb{R}$, $\mathbb{N}$ or $\mathbb{C}$. You can also use the following +workaround for reals, natural and complex: +\begin{verbatim} + \newcommand{\RR}{I\!\!R} %real numbers + \newcommand{\Nat}{I\!\!N} %natural numbers + \newcommand{\CC}{I\!\!\!\!C} %complex numbers +\end{verbatim} +Note that \verb+amsfonts+ is automatically loaded by the \verb+amssymb+ package. + + +\end{itemize} + + +If your file contains type 3 fonts or non embedded TrueType fonts, we will ask +you to fix it. + + +\subsection{Margins in \LaTeX{}} + + +Most of the margin problems come from figures positioned by hand using +\verb+\special+ or other commands. We suggest using the command +\verb+\includegraphics+ from the \verb+graphicx+ package. Always specify the +figure width as a multiple of the line width as in the example below: +\begin{verbatim} + \usepackage[pdftex]{graphicx} ... + \includegraphics[width=0.8\linewidth]{myfile.pdf} +\end{verbatim} +See Section 4.4 in the graphics bundle documentation +(\url{http://mirrors.ctan.org/macros/latex/required/graphics/grfguide.pdf}) + + +A number of width problems arise when \LaTeX{} cannot properly hyphenate a +line. Please give LaTeX hyphenation hints using the \verb+\-+ command when +necessary. + + +\begin{ack} +Use unnumbered first level headings for the acknowledgments. All acknowledgments +go at the end of the paper before the list of references. Moreover, you are required to declare +funding (financial activities supporting the submitted work) and competing interests (related financial activities outside the submitted work). +More information about this disclosure can be found at: \url{https://neurips.cc/Conferences/2022/PaperInformation/FundingDisclosure}. + + +Do {\bf not} include this section in the anonymized submission, only in the final paper. You can use the \texttt{ack} environment provided in the style file to autmoatically hide this section in the anonymized submission. +\end{ack} + + +\section*{References} + + +References follow the acknowledgments. Use unnumbered first-level heading for +the references. Any choice of citation style is acceptable as long as you are +consistent. It is permissible to reduce the font size to \verb+small+ (9 point) +when listing the references. +Note that the Reference section does not count towards the page limit. +\medskip + + +{ +\small + + +[1] Alexander, J.A.\ \& Mozer, M.C.\ (1995) Template-based algorithms for +connectionist rule extraction. In G.\ Tesauro, D.S.\ Touretzky and T.K.\ Leen +(eds.), {\it Advances in Neural Information Processing Systems 7}, +pp.\ 609--616. Cambridge, MA: MIT Press. + + +[2] Bower, J.M.\ \& Beeman, D.\ (1995) {\it The Book of GENESIS: Exploring + Realistic Neural Models with the GEneral NEural SImulation System.} New York: +TELOS/Springer--Verlag. + + +[3] Hasselmo, M.E., Schnell, E.\ \& Barkai, E.\ (1995) Dynamics of learning and +recall at excitatory recurrent synapses and cholinergic modulation in rat +hippocampal region CA3. {\it Journal of Neuroscience} {\bf 15}(7):5249-5262. +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section*{Checklist} + + +%%% BEGIN INSTRUCTIONS %%% +The checklist follows the references. Please +read the checklist guidelines carefully for information on how to answer these +questions. For each question, change the default \answerTODO{} to \answerYes{}, +\answerNo{}, or \answerNA{}. You are strongly encouraged to include a {\bf +justification to your answer}, either by referencing the appropriate section of +your paper or providing a brief inline description. For example: +\begin{itemize} + \item Did you include the license to the code and datasets? \answerYes{See Section~\ref{gen_inst}.} + \item Did you include the license to the code and datasets? \answerNo{The code and the data are proprietary.} + \item Did you include the license to the code and datasets? \answerNA{} +\end{itemize} +Please do not modify the questions and only use the provided macros for your +answers. Note that the Checklist section does not count towards the page +limit. In your paper, please delete this instructions block and only keep the +Checklist section heading above along with the questions/answers below. +%%% END INSTRUCTIONS %%% + + +\begin{enumerate} + + +\item For all authors... +\begin{enumerate} + \item Do the main claims made in the abstract and introduction accurately reflect the paper's contributions and scope? + \answerTODO{} + \item Did you describe the limitations of your work? + \answerTODO{} + \item Did you discuss any potential negative societal impacts of your work? + \answerTODO{} + \item Have you read the ethics review guidelines and ensured that your paper conforms to them? + \answerTODO{} +\end{enumerate} + + +\item If you are including theoretical results... +\begin{enumerate} + \item Did you state the full set of assumptions of all theoretical results? + \answerTODO{} + \item Did you include complete proofs of all theoretical results? + \answerTODO{} +\end{enumerate} + + +\item If you ran experiments... +\begin{enumerate} + \item Did you include the code, data, and instructions needed to reproduce the main experimental results (either in the supplemental material or as a URL)? + \answerTODO{} + \item Did you specify all the training details (e.g., data splits, hyperparameters, how they were chosen)? + \answerTODO{} + \item Did you report error bars (e.g., with respect to the random seed after running experiments multiple times)? + \answerTODO{} + \item Did you include the total amount of compute and the type of resources used (e.g., type of GPUs, internal cluster, or cloud provider)? + \answerTODO{} +\end{enumerate} + + +\item If you are using existing assets (e.g., code, data, models) or curating/releasing new assets... +\begin{enumerate} + \item If your work uses existing assets, did you cite the creators? + \answerTODO{} + \item Did you mention the license of the assets? + \answerTODO{} + \item Did you include any new assets either in the supplemental material or as a URL? + \answerTODO{} + \item Did you discuss whether and how consent was obtained from people whose data you're using/curating? + \answerTODO{} + \item Did you discuss whether the data you are using/curating contains personally identifiable information or offensive content? + \answerTODO{} +\end{enumerate} + + +\item If you used crowdsourcing or conducted research with human subjects... +\begin{enumerate} + \item Did you include the full text of instructions given to participants and screenshots, if applicable? + \answerTODO{} + \item Did you describe any potential participant risks, with links to Institutional Review Board (IRB) approvals, if applicable? + \answerTODO{} + \item Did you include the estimated hourly wage paid to participants and the total amount spent on participant compensation? + \answerTODO{} +\end{enumerate} + + +\end{enumerate} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\appendix + + +\section{Appendix} + + +Optionally include extra information (complete proofs, additional experiments and plots) in the appendix. +This section will often be part of the supplemental material. + + +\end{document} \ No newline at end of file -- GitLab