wiki_research

personal research wiki
git clone https://a3nm.net/git/wiki_research/
Log | Files | Refs

commit 274803c5992608e9d70888accaa516100bc837ea
parent cd82388c69aacf5222dc83c588339c58b1c927a7
Author: Antoine Amarilli <a3nm@a3nm.net>
Date:   Thu, 27 Mar 2025 12:07:06 +0100

commit with codex

Diffstat:
activity_selection_problem | 10++++++++++
alon_scc_lemma | 9+++++++++
automaton_inclusion | 2+-
conp | 8++++++++
directed_edge | 9+++++++++
enumeration_cqs | 15+++++++++++++++
enumeration_ordered | 4++--
enumeration_ordered_paths | 7+++++++
enumeration_paths | 7+++++++
enumeration_query_answers | 9+++++++++
enumeration_ucqs | 21+++++++++++++++++++++
generalized_dominating_set | 15+++++++++++++++
graph_directed | 4++--
graph_mixed | 7+++++++
graph_undirected | 4++--
hyperclique_hypothesis | 13+++++++++++++
join | 9+++++++++
join_path | 7+++++++
language_inclusion | 2+-
mantels_theorem | 9+++++++++
minimum_label_cut | 9+++++++++
project_selection_problem | 12++++++++++++
query_cover | 13+++++++++++++
self_join | 12++++++++++++
set | 2++
set_cover | 9+++++++++
set_cover_problem | 14++++++++++++++
set_cover_red_blue | 13+++++++++++++
set_inclusion | 9+++++++++
shortest_path_enumeration | 12++++++++++++
subset | 9+++++++++
subset_sum | 2++
undirected_edge | 9+++++++++
33 files changed, 288 insertions(+), 8 deletions(-)

diff --git a/activity_selection_problem b/activity_selection_problem @@ -0,0 +1,10 @@ +# Activity selection problem + +https://en.wikipedia.org/wiki/Activity_selection_problem + +Variant you want to maximize the size of selected intervals (not the number of selected activities): +- also has a [greedy_algorithm] + +Up: [optimization_problem] + +See also: [project_selection_problem] diff --git a/alon_scc_lemma b/alon_scc_lemma @@ -0,0 +1,9 @@ +# Alon SCC lemma + +Lemma 2.3 of [alon2001regular] + +- [graph_period], [graph_coloring] + +See also: [property_testing], [approximate_membership] + +Up: [lemma], [strongly_connected_component] diff --git a/automaton_inclusion b/automaton_inclusion @@ -4,6 +4,6 @@ [ptime] for [automata_deterministic] -Up: [automata_problems] +Up: [automata_problems], [set_inclusion] See also: [automaton_equivalence], [language_inclusion] diff --git a/conp b/conp @@ -0,0 +1,8 @@ +# Conp + +[Decision_problems] whose [complementation] is in [nptime] + +- [conp_hard] +- [conp_complete] + +See also: [nptime], [np_cap_conp] diff --git a/directed_edge b/directed_edge @@ -0,0 +1,9 @@ +# Directed edge + +An [ordered_pair] of two [vertices] + +Up: [edge] + +See also: [graph_directed] + +Aliases: directed edges diff --git a/enumeration_cqs b/enumeration_cqs @@ -0,0 +1,15 @@ +# Enumeration for CQs + +[enumeration_query_answers] is tractable for [CQs] ([linear_preprocessing_constant_delay]) if they are [acyclic_free_connex] + +For [SJFCQs], conditional lower bounds: +- For [cyclic_CQs], [lower_bound] assuming [hyperclique_conjecture] +- For [acyclic_CQs] that are not [acyclic_free_connex], [lower_bound] assuming [boolean_matrix_multiplication_hypothesis] + +With [self_joins]: [enumeration_self_joins] + +[enumeration_cqs_extensions] + +Up: [enumeration_query_answers] for [conjunctive_query] + +See also: [direct_access] diff --git a/enumeration_ordered b/enumeration_ordered @@ -1,8 +1,8 @@ # Ordered enumeration - [enumeration_ordered_cq] -- [enumeration_ordonnee_mso] -- [enumeration_ordonnee_chemins] +- [enumeration_ordered_mso] +- [enumeration_ordered_paths] Up: [enumeration], [order] diff --git a/enumeration_ordered_paths b/enumeration_ordered_paths @@ -0,0 +1,7 @@ +# Ordered enumeration of paths + +- [shortest_path_enumeration] + - [eppstein2017kbest] + - [eppstein1997finding] + +Up: [enumeration_ordered] of [paths] diff --git a/enumeration_paths b/enumeration_paths @@ -0,0 +1,7 @@ +# Enumeration paths + +[Enumeration] of [paths] in a [graph] + +[Practice]: [peng2025hop] + +Up: [enumeration_graphs], [paths] diff --git a/enumeration_query_answers b/enumeration_query_answers @@ -0,0 +1,9 @@ +# Enumeration query answers + +- [enumeration_cqs] +- [enumeration_self_joins] +- [enumeration_ucqs] + +tool: [query_cover] + +Up: [enumeration] diff --git a/enumeration_ucqs b/enumeration_ucqs @@ -0,0 +1,21 @@ +# Enumeration for UCQs + +- Union of tractable [CQs] is tractable ([linear_preprocessing_constant_delay]) +- A union where every [CQ] is intractable may be tractable! [carmeli2021enumeration] + - notion of [union_extension] + - covers all known tractable cases + - for union of two intractable [CQs], union extensions are known to (conditionally) + cover all tractable queries for disjunctions of two queries + - assumes hypothesis on finding [4clique] + - case of a union of a tractable CQ and an intractable CQ discussed in [bringmann2022unbalanced] + +for [linear_preprocessing_constant_delay_constant_memory], not well-known, cf [carmeli2021enumeration] Section 6.3 +- in particular [cheaters_lemma] + +important: it is necessary to look at [body_homomorphism] because the [free_variables] may not be the same + +open question: [enumeration_ucqs_classifying] + +Up: [enumeration] for [union_of_conjunctive_query] + +See also: [enumeration_cqs] diff --git a/generalized_dominating_set b/generalized_dominating_set @@ -0,0 +1,15 @@ +# Generalized dominating set + +for sets sigma, rho of non-negative integers, a set of vertices of a graph S +such that the neighborhood of each vertex of S contains a number of vertices of +the set in sigma, and likewise for rho and for vertices not in the set + +mentioned in [focke2023tight1] +- also in [chapelle2010parameterized] [golovach2012parameterized] for [parameterized_complexity] with [treewidth] as parameter + +Generalizes: +- [dominating_set] +- [independent_set] +- [independent_dominating_set] + +Up: [graph_substructure] diff --git a/graph_directed b/graph_directed @@ -1,6 +1,6 @@ # Graph directed -A [graph] where [edges] are [ordered_pairs] +A [graph] where [edges] are [directed_edges] [ordered_pairs] - [directed_acyclic_graph] - [graph_period] @@ -8,6 +8,6 @@ A [graph] where [edges] are [ordered_pairs] Up: [graph] -See also: [graph_undirected] +See also: [graph_undirected], [directed_edge] Aliases: directed graph, directed graphs diff --git a/graph_mixed b/graph_mixed @@ -0,0 +1,7 @@ +# Graph mixed + +A [graph] featuring both [directed_edges] and [undirected_edges] + +Up: [graph] + +See also: [graph_directed], [graph_undirected] diff --git a/graph_undirected b/graph_undirected @@ -1,8 +1,8 @@ # Graph undirected -[graph] where [edge]s are [pair]s +[graph] where [edges] are [undirected_edges] -See also: [graph_directed] +See also: [graph_directed], [undirected_edge] Up: [graph] diff --git a/hyperclique_hypothesis b/hyperclique_hypothesis @@ -0,0 +1,13 @@ +# Hyperclique hypothesis + +Defined in [bringmann2022unbalanced] + +For any k >= 3, detecting a k-[hyperclique] in a (k-1)-[uniform_hypergraph] cannot be done in O(n^{k-1}) + +- implies in particular [triangle_detection_conjecture]: you cannot detect triangles in O(n^2) in graphs + +Up: [hypergraph] + +Aliases: hyperclique conjecture + +See also: [clique_problem] diff --git a/join b/join @@ -0,0 +1,9 @@ +# Join + +- [semijoin] +- [join_tree] +- [join_path] +- [self_join] +- [optimal_joins] + +Up: [databases] diff --git a/join_path b/join_path @@ -0,0 +1,7 @@ +# Join path + +[join_tree] which is a [path] + +Up: [join_tree], [path] + +See also: [pathwidth] diff --git a/language_inclusion b/language_inclusion @@ -3,6 +3,6 @@ - [pattern_language_inclusion] - [language_inclusion_bounded] -Up: [formal_language_computational_problems], [inclusion] +Up: [formal_language_computational_problems], [set_inclusion] See also: [automaton_inclusion] diff --git a/mantels_theorem b/mantels_theorem @@ -0,0 +1,9 @@ +# Mantels theorem + +https://en.wikipedia.org/wiki/Tur%C3%A1n%27s_theorem#Mantel's_theorem + +Generalization: [turan_theorem] + +Up: [triangle_free_graph] + +See also: [extremal_graph_theory] diff --git a/minimum_label_cut b/minimum_label_cut @@ -0,0 +1,9 @@ +# Minimum label cut + +You have a [graph] where [edges] are labeled, we want the minimum [subset] of edge labels which is a [cut] + +Studied in [zhang2020minimum] + +[NP_hard] from [hitting_set] + +Up: [minimum_cut] diff --git a/project_selection_problem b/project_selection_problem @@ -0,0 +1,12 @@ +# Project selection problem + +https://en.wikipedia.org/wiki/Project_selection_problem + +you have projects and machines and want to optimize profit (revenue of selected projects minus cost of selected machines), and each project requires a specific subset of machines + +reduces to [network_flow] + +also works for arbitrary [directed_graphs] not just [bipartite_graphs] + - cf https://ocw.tudelft.nl/wp-content/uploads/Algoritmiek_Project_Selection.pdf + +Up: [network_flow] diff --git a/query_cover b/query_cover @@ -0,0 +1,13 @@ +# Query cover + +a subset of [query] [answers] that can be used for [enumeration] + +- [kara2018covers] +- [koutris2025generalized] + - make the cover depend on multiple possible [tree_decompositions] + - like [PANDA], like [submodular_width] + - uses [entropic_width], defined in [fan2024tight] + +Up: [enumeration_query_answers] + +See also: [set_cover], [vertex_cover], [edge_cover] diff --git a/self_join b/self_join @@ -0,0 +1,12 @@ +# Self join + +A *self join* means reusing the same [database_relation] twice in [conjunctive_query] + +- for [enumeration], make lower bounds harder +- for [pqe], makes upper bounds harder + +Up: [conjunctive_query], [join] + +See also: [sjfcq], [conjunctive_query_self_join_free] + +Aliases: self joins, self-join, self-joins diff --git a/set b/set @@ -1,6 +1,8 @@ # Set - [multiset] +- [subset] +- [set_inclusion] Up: [set_theory] diff --git a/set_cover b/set_cover @@ -0,0 +1,9 @@ +# Set cover + +Given a universe [set], and a collection of [subsets] whose [union] is the universe, find a subcollection with [minimum] [cardinality] whose [union] is equal to the universe + +[set_cover_problem] + +See also: [hitting_set], [vertex_cover], [edge_cover] + +Up: [set] diff --git a/set_cover_problem b/set_cover_problem @@ -0,0 +1,14 @@ +# Set cover problem + +[Computational_problem] of computing a [minimum_set_cover] + +Variant: [set_cover_red_blue] + +Duality with [hitting_set]: + - Cf https://en.wikipedia.org/wiki/Set_cover_problem#Hitting_set_formulation + +[Approximation]: cf [minimum_set_cover_approximation] + +Variants: [set_cover_variants] + +Up: [computational_problem] about [set_cover] diff --git a/set_cover_red_blue b/set_cover_red_blue @@ -0,0 +1,13 @@ +# Red-blue set cover problem + +cf [carr2000red] + +You have a universe where some elements are red and others are blue + +You have a collection of sets and want to find a subfamily that covers all blue elements but covers a least number of red elements + +The question is how well can it be [approximated], compared to [set_cover_approximation] + +Up: [set_cover_problem] + +See also: [exact_matching] diff --git a/set_inclusion b/set_inclusion @@ -0,0 +1,9 @@ +# Set inclusion + +A [set] S is *included* into another [set] S' if every [element] of S is also an [element] of S' + +Up: [set] + +Aliases: inclusion, included + +See also: [inclusion_dependency] diff --git a/shortest_path_enumeration b/shortest_path_enumeration @@ -0,0 +1,12 @@ +# Shortest path enumeration + +- [casel2021shortest] studies [shortest_path] algorithms in an [enumeration] perspective + - [single_source_shortest_path] + - [all_pairs_shortest_path] + - does not cite work by [eppstein] +- [eppstein1997finding] +- [eppstein2017kbest] + +Up: [shortest_path], [enumeration] + +See also: [gawrychowski2024revisiting] diff --git a/subset b/subset @@ -0,0 +1,9 @@ +# Subset + +A [set] which is [included] into another [set] + +Up: [set] + +Aliases: subsets + +See also: [subset_sum] diff --git a/subset_sum b/subset_sum @@ -22,3 +22,5 @@ generalization: [all_subset_sums], compute all the sums - [subset_sum_counting] Up: [decision_problem] on [sum] + +See also: [subset] diff --git a/undirected_edge b/undirected_edge @@ -0,0 +1,9 @@ +# Undirected edge + +A [pair] of two [vertices] + +Up: [edge] + +See also: [graph_undirected] + +Aliases: undirected edges, edge undirected