wiki_research

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

commit 2fa4ecab0be51d650e7fe5f75c73e32f1a07db10
Author: Antoine Amarilli <a3nm@a3nm.net>
Date:   Sat, 28 Dec 2024 10:30:24 +0100

create from personal repository

Diffstat:
1_or_3_in_3_sat | 9+++++++++
2horn_clause | 9+++++++++
2sat | 16++++++++++++++++
3_colorable | 7+++++++
3_coloring | 7+++++++
3_dimensional_matching | 16++++++++++++++++
3_dimensional_matching_hardness_proof | 11+++++++++++
3_dimensional_matching_numerical | 14++++++++++++++
3_partition | 11+++++++++++
3cnf | 7+++++++
3sum | 17+++++++++++++++++
3sum_hypothesis | 14++++++++++++++
4_partition | 13+++++++++++++
4_partition_hardness_proof | 23+++++++++++++++++++++++
ac | 16++++++++++++++++
ac0 | 9+++++++++
academic_paper_list | 19+++++++++++++++++++
acc | 7+++++++
acc0 | 9+++++++++
access_pattern | 6++++++
ackermanns_function | 10++++++++++
acyclic_free_connex | 11+++++++++++
aggregation | 5+++++
agm_bound | 20++++++++++++++++++++
aho_corasick | 9+++++++++
akmal2021majority | 7+++++++
algebra | 9+++++++++
algebraic_automata_theory | 14++++++++++++++
algebraic_structure | 12++++++++++++
algorithm_combinatorial | 9+++++++++
algorithm_randomized | 19+++++++++++++++++++
algorithm_type | 9+++++++++
algorithms | 22++++++++++++++++++++++
algorithms_list | 21+++++++++++++++++++++
algorithms_recent | 8++++++++
all_edge_triangle | 9+++++++++
all_pairs_shortest_path | 30++++++++++++++++++++++++++++++
all_pairs_shortest_path_approximate | 17+++++++++++++++++
all_pos_neg_sat | 7+++++++
all_subset_sums | 11+++++++++++
all_subset_sums_fft | 14++++++++++++++
alpha_acyclic | 23+++++++++++++++++++++++
alternating_path | 11+++++++++++
alternation_hierarchy | 7+++++++
amplification_technique | 9+++++++++
annotation_transducer | 9+++++++++
approximate_sampling_to_approximate_counting | 29+++++++++++++++++++++++++++++
approximation | 30++++++++++++++++++++++++++++++
approximation_additive | 10++++++++++
approximation_class | 11+++++++++++
approximation_multiplicative | 9+++++++++
approximation_problem | 8++++++++
apsp_hypothesis | 12++++++++++++
apsp_reduces_to_distance_product | 10++++++++++
apx | 22++++++++++++++++++++++
arboricity | 13+++++++++++++
arenas2020fpras | 12++++++++++++
arithmetic | 11+++++++++++
arithmetic_circuit | 34++++++++++++++++++++++++++++++++++
arithmetic_progression | 15+++++++++++++++
arity | 8++++++++
array | 8++++++++
ascending_chain_condition | 12++++++++++++
atom | 9+++++++++
automata | 16++++++++++++++++
automata_acyclic | 9+++++++++
automata_bideterministic | 10++++++++++
automata_complementation | 7+++++++
automata_concepts | 13+++++++++++++
automata_constructions | 12++++++++++++
automata_deterministic | 8++++++++
automata_local | 11+++++++++++
automata_nondeterministic | 9+++++++++
automata_problems | 15+++++++++++++++
automata_random | 7+++++++
automata_reversible | 15+++++++++++++++
automata_self_verifying | 7+++++++
automata_symmetric | 10++++++++++
automata_two_way | 16++++++++++++++++
automata_types | 33+++++++++++++++++++++++++++++++++
automata_unary_ufa | 10++++++++++
automata_weighted | 17+++++++++++++++++
automatic_relation | 11+++++++++++
automaton_cofiniteness | 8++++++++
automaton_emptiness | 7+++++++
automaton_equivalence | 9+++++++++
automaton_homogeneous | 9+++++++++
automaton_inclusion | 9+++++++++
automaton_intersection | 10++++++++++
background_rebuilding | 10++++++++++
backreferences | 9+++++++++
backurs2016which | 5+++++
bag_semantics | 7+++++++
bagan2020trichotomy | 18++++++++++++++++++
balancing | 13+++++++++++++
balancing_tree_decomposition | 7+++++++
batch_partial_match | 16++++++++++++++++
batch_partial_match_hypothesis | 7+++++++
batch_update_technique | 15+++++++++++++++
batch_updates | 6++++++
batch_updates_support | 7+++++++
bayes_network | 9+++++++++
bdd | 12++++++++++++
berge_graph | 7+++++++
bin_packing | 11+++++++++++
blocking_factor | 16++++++++++++++++
bloom_filter | 9+++++++++
bloom_filter_dual | 7+++++++
bodirsky2024symmetric | 9+++++++++
bonifati2017analytical | 7+++++++
bool_x | 9+++++++++
boolean | 9+++++++++
boolean_circuit | 12++++++++++++
boolean_closure | 7+++++++
boolean_formula | 11+++++++++++
boolean_function | 31+++++++++++++++++++++++++++++++
boolean_function_evaluation | 5+++++
boolean_function_problems | 9+++++++++
boolean_hierarchy | 10++++++++++
boolean_matrix_multiplication | 12++++++++++++
boolean_matrix_multiplication_hypothesis | 11+++++++++++
boolean_operator | 11+++++++++++
boolean_semiring | 6++++++
boolean_width | 11+++++++++++
bpp | 23+++++++++++++++++++++++
brooks_theorem | 6++++++
brzozowskis_algorithm | 10++++++++++
buchis_theorem | 5+++++
burrows_wheeler_transform | 7+++++++
c2 | 12++++++++++++
c2rpq | 7+++++++
canonical_labeling | 12++++++++++++
cerny_conjecture | 7+++++++
change_propagation | 9+++++++++
chase | 9+++++++++
chebyshevs_inequality | 9+++++++++
chens_theorem | 5+++++
chrobak_normal_form | 5+++++
circuit | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
circuit_classes | 13+++++++++++++
circuit_complexity | 8++++++++
circuit_complexity_query_evaluation | 7+++++++
circuit_condition | 11+++++++++++
circuit_lower_bound | 5+++++
circuit_parameter | 8++++++++
circuit_rank | 7+++++++
circuit_size | 7+++++++
circular_pattern_matching | 5+++++
classification | 9+++++++++
clique | 19+++++++++++++++++++
clique_listing | 9+++++++++
clique_problem | 16++++++++++++++++
cnf_to_decision_dnnf | 7+++++++
cograph | 7+++++++
color_refinement_query_evaluation | 9+++++++++
combinatorial_boolean_matrix_multiplication | 5+++++
combinatorial_boolean_matrix_multiplication_hypothesis | 9+++++++++
combinatorics | 38++++++++++++++++++++++++++++++++++++++
combined_complexity | 9+++++++++
common_subsequence | 10++++++++++
complementation | 8++++++++
complexity | 10++++++++++
complexity_class | 47+++++++++++++++++++++++++++++++++++++++++++++++
complexity_random | 13+++++++++++++
complexity_rectangular | 5+++++
complexity_space | 7+++++++
compression | 10++++++++++
compression_algorithm | 12++++++++++++
compression_string | 8++++++++
computational_complexity | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
computational_geometry | 9+++++++++
computational_problem | 41+++++++++++++++++++++++++++++++++++++++++
computer_algebra | 6++++++
computer_science | 8++++++++
computer_science_fields | 15+++++++++++++++
concatenation | 9+++++++++
concentration_inequality | 8++++++++
confidence_interval | 8++++++++
congruence_relation | 7+++++++
conjecture | 26++++++++++++++++++++++++++
conjunction | 8++++++++
conjunctive_context_free_path_query | 7+++++++
conjunctive_normal_form | 35+++++++++++++++++++++++++++++++++++
conjunctive_query | 20++++++++++++++++++++
conjunctive_query_acyclic | 19+++++++++++++++++++
conjunctive_query_cyclic | 9+++++++++
conjunctive_query_diversity | 7+++++++
conjunctive_query_optimization | 6++++++
conjunctive_query_representativity | 7+++++++
conjunctive_query_signed | 12++++++++++++
conl | 5+++++
connectivity | 14++++++++++++++
connectivity_weighted | 5+++++
constraint_satisfaction_problem_enumeration | 7+++++++
context_free_grammar | 40++++++++++++++++++++++++++++++++++++++++
context_free_grammar_bounded | 7+++++++
context_free_grammar_linear | 9+++++++++
context_free_grammar_unambiguous | 9+++++++++
context_free_language | 9+++++++++
context_free_language_membership | 8++++++++
context_free_language_membership_fine_grained | 6++++++
conversion | 13+++++++++++++
conversion_regular_expression_automata | 6++++++
core_semiring | 7+++++++
counter_automata_definition | 16++++++++++++++++
counter_automata_deterministic | 5+++++
counter_automata_trees | 5+++++
counting_cqs | 22++++++++++++++++++++++
counting_problem | 18++++++++++++++++++
counting_quantifier | 8++++++++
counting_query_answers | 9+++++++++
counting_ucqs | 7+++++++
courcelle_theorem | 15+++++++++++++++
craig_interpolation | 9+++++++++
crpq | 14++++++++++++++
cycle | 22++++++++++++++++++++++
cycle_induced | 10++++++++++
cycle_rank | 7+++++++
data_complexity | 9+++++++++
data_structure | 18++++++++++++++++++
database_dependency | 31+++++++++++++++++++++++++++++++
database_repairs | 15+++++++++++++++
database_theory | 14++++++++++++++
database_theory_concepts | 15+++++++++++++++
datalog | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
datalog_aggregation | 9+++++++++
datalog_fuzzy | 5+++++
datalog_grounding | 5+++++
datalog_linear | 11+++++++++++
datalog_monadic | 7+++++++
datalog_negation | 12++++++++++++
datalog_query_evaluation | 24++++++++++++++++++++++++
datalog_semiring | 13+++++++++++++
datalog_semiring_query_evaluation | 6++++++
datalog_stratified_linear | 7+++++++
datalog_symmetric_linear | 9+++++++++
datalogpm | 7+++++++
ddnnf | 9+++++++++
de_bruijn_sequence | 7+++++++
decision | 9+++++++++
decision_dnnf | 8++++++++
decision_problem | 9+++++++++
deficiency | 11+++++++++++
degree | 9+++++++++
degree_of_acyclicity | 14++++++++++++++
deletion_breakable | 20++++++++++++++++++++
densest_subgraph | 12++++++++++++
density_function | 16++++++++++++++++
dependency_implication | 9+++++++++
depth | 13+++++++++++++
derivation_tree | 9+++++++++
description_logics | 16++++++++++++++++
descriptive_complexity | 10++++++++++
determinism | 6++++++
diagram | 18++++++++++++++++++
diameter | 9+++++++++
dimension | 7+++++++
dioid | 16++++++++++++++++
diophantine_equation | 7+++++++
directed_acyclic_graph | 9+++++++++
directed_planar_graph | 5+++++
disjoint_union | 5+++++
disjunction | 9+++++++++
disjunctive_normal_form | 18++++++++++++++++++
disjunctive_normal_form_orthogonal | 14++++++++++++++
distance | 9+++++++++
distinguishing_subsequence | 11+++++++++++
dnnf_to_nfbdd | 5+++++
dominating_set | 17+++++++++++++++++
drx | 7+++++++
dsdnnf | 7+++++++
dual | 6++++++
dual_graph | 11+++++++++++
dual_treewidth | 7+++++++
dynamic_dynamic_programming | 5+++++
dynamic_programming | 11+++++++++++
edge | 9+++++++++
edge_coloring | 8++++++++
edge_cover | 9+++++++++
edge_deletion | 5+++++
edge_dominating_set | 13+++++++++++++
edit_distance_oracle | 7+++++++
eggans_theorem | 8++++++++
enumeration | 24++++++++++++++++++++++++
enumeration_circuit | 13+++++++++++++
enumeration_definition | 7+++++++
enumeration_diversity | 7+++++++
enumeration_graphs | 7+++++++
enumeration_ordered | 9+++++++++
enumeration_polylog_delay | 7+++++++
enumeration_spanner | 8++++++++
enumeration_strings | 22++++++++++++++++++++++
enumeration_techniques | 9+++++++++
enumeration_ucqs_classifying | 11+++++++++++
enumeration_via_circuit | 7+++++++
equation | 12++++++++++++
equisatisfiability | 9+++++++++
equivalence | 16++++++++++++++++
even_hole_free_graph | 9+++++++++
exact_matching | 8++++++++
exact_triangle | 7+++++++
exact_triangle_conjecture | 6++++++
exponentiation | 8++++++++
external_memory | 6++++++
extremal_graph_theory | 13+++++++++++++
factor | 11+++++++++++
factor_universal | 9+++++++++
fcreg | 7+++++++
feedback_edge_number | 9+++++++++
feedback_vertex_set | 11+++++++++++
final_state | 11+++++++++++
fine_grained_complexity_problems | 15+++++++++++++++
finite_model_theory | 5+++++
first_order_logic_regular_language | 11+++++++++++
first_order_model_checking | 19+++++++++++++++++++
first_order_rewriting | 7+++++++
fo_tc | 7+++++++
formal_language | 20++++++++++++++++++++
formal_language_computational_problems | 9+++++++++
formal_language_theory | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fotc | 7+++++++
four_color_theorem | 8++++++++
fpras_bpp | 11+++++++++++
friendship_theorem | 11+++++++++++
frontier_guarded | 9+++++++++
function | 23+++++++++++++++++++++++
function_evaluation | 9+++++++++
functional_dependency | 25+++++++++++++++++++++++++
functional_dependency_approximate | 8++++++++
game_theory | 10++++++++++
gapped_pattern_matching | 9+++++++++
gelade2009regular | 19+++++++++++++++++++
generalized_core_spanner | 7+++++++
geometry | 13+++++++++++++
gf2 | 5+++++
goedels_incompleteness_theorem | 7+++++++
goldbach_conjecture | 7+++++++
golomb_ruler | 18++++++++++++++++++
graceful_labeling | 13+++++++++++++
graceful_tree | 6++++++
graph_algorithm | 17+++++++++++++++++
graph_basic_notions | 33+++++++++++++++++++++++++++++++++
graph_bipartite | 11+++++++++++
graph_caterpillar | 13+++++++++++++
graph_coloring | 40++++++++++++++++++++++++++++++++++++++++
graph_coloring_diameter | 6++++++
graph_coloring_greedy | 8++++++++
graph_complementation | 5+++++
graph_cube | 7+++++++
graph_database_practical | 17+++++++++++++++++
graph_directed | 12++++++++++++
graph_exponentiation | 17+++++++++++++++++
graph_isomorphism | 7+++++++
graph_labeling | 8++++++++
graph_minor | 11+++++++++++
graph_orientation | 7+++++++
graph_packing | 11+++++++++++
graph_partition | 11+++++++++++
graph_pattern_counting | 7+++++++
graph_perfect | 9+++++++++
graph_query_languages | 36++++++++++++++++++++++++++++++++++++
graph_square | 7+++++++
graph_theory | 6++++++
graph_undirected | 9+++++++++
graph_weighted | 11+++++++++++
gray_code | 10++++++++++
greedy_algorithm | 7+++++++
green2007provenance | 5+++++
grid_graph | 9+++++++++
grid_minor | 15+++++++++++++++
grid_minor_directed | 5+++++
grotzschs_theorem | 7+++++++
grounding | 8++++++++
group_abelian | 5+++++
guarded_structure | 10++++++++++
hamiltonian_cycle | 13+++++++++++++
hamiltonian_cycle_cube | 5+++++
hamiltonian_cycle_square | 5+++++
hamming_weight | 7+++++++
handshaking_lemma | 9+++++++++
heimberg2016hanf | 5+++++
higmans_lemma | 9+++++++++
hitting_set | 15+++++++++++++++
hk_queries | 7+++++++
hole | 12++++++++++++
homomorphism | 15+++++++++++++++
homomorphism_closed | 8++++++++
hopcrofts_algorithm | 15+++++++++++++++
horn_2sat | 5+++++
horn_sat | 13+++++++++++++
horsetail_graph | 11+++++++++++
hunters_and_rabbit_directed | 5+++++
hypergraph | 31+++++++++++++++++++++++++++++++
hypergraph_conformal | 7+++++++
hypergraph_uniform | 7+++++++
hypothesis | 7+++++++
ilango2022minimum | 5+++++
immerman_vardi_theorem | 9+++++++++
implication_of_constraints | 5+++++
incidence_graph | 10++++++++++
incidence_treewidth | 13+++++++++++++
inclusion_dependency_unary | 9+++++++++
incomplete_data | 7+++++++
incremental_maintenance_pqe | 5+++++
incremental_maintenance_tuple_testing | 5+++++
incremental_time | 5+++++
independent_set | 32++++++++++++++++++++++++++++++++
induced_subgraph | 7+++++++
infinity_deletion_breakable | 13+++++++++++++
information_extraction_declarative | 5+++++
integer_factorization_in_np_cap_conp | 9+++++++++
integer_linear_programming | 18++++++++++++++++++
integrity_constraint | 11+++++++++++
interior_point | 9+++++++++
intersection | 8++++++++
intractability | 10++++++++++
johnsons_algorithm | 21+++++++++++++++++++++
k_ambiguous | 7+++++++
k_relation | 12++++++++++++
kendall_tau_distance | 5+++++
kleene_sequence | 8++++++++
kleenes_algorithm | 5+++++
knowledge_compilation | 12++++++++++++
knowledge_compilation_classes | 27+++++++++++++++++++++++++++
koenigs_theorem | 9+++++++++
l_poly | 7+++++++
ladners_theorem | 7+++++++
laminar_set_family | 7+++++++
language_equivalence | 15+++++++++++++++
language_inclusion | 7+++++++
language_unary | 9+++++++++
leaf | 9+++++++++
leapfrog_triejoin | 3+++
learning_dfa | 17+++++++++++++++++
lemma | 13+++++++++++++
linear_algebra_program | 7+++++++
linear_programming | 17+++++++++++++++++
list | 9+++++++++
locally_testable_language | 18++++++++++++++++++
log_shaving | 9+++++++++
logarithm | 8++++++++
logarithm_iterated | 7+++++++
logcfl | 11+++++++++++
logic | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
logical_separability | 7+++++++
logspace | 16++++++++++++++++
logspace_reduction | 7+++++++
longest_common_substring | 7+++++++
longest_increasing_subsequence | 7+++++++
longest_parameterized_common_subsequence | 7+++++++
lovasz_conjecture | 11+++++++++++
lower_bounds | 14++++++++++++++
machine_model | 7+++++++
makowsky2003tree | 5+++++
many_one_reduction | 11+++++++++++
markovs_inequality | 9+++++++++
martens2018evaluation | 7+++++++
matching | 22++++++++++++++++++++++
matching_width | 8++++++++
mathematical_foundations_of_automata_theory | 6++++++
mathematics | 85+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mathematics_fields | 20++++++++++++++++++++
mathematics_operation | 9+++++++++
matrix | 37+++++++++++++++++++++++++++++++++++++
matrix_boolean | 7+++++++
matrix_ilp | 12++++++++++++
matrix_square | 5+++++
matrix_toeplitz | 9+++++++++
max_sat | 14++++++++++++++
maximal_common_subsequence | 13+++++++++++++
maximal_independent_set_counting | 7+++++++
maximum_a_posteriori | 5+++++
maximum_cut | 11+++++++++++
maximum_independent_set_bipartite | 8++++++++
maximum_matching | 12++++++++++++
membership_problem | 10++++++++++
mengers_theorem | 7+++++++
mim_width | 11+++++++++++
minimal_absent_word | 14++++++++++++++
minimal_unsatisfiable | 12++++++++++++
minimal_witness | 14++++++++++++++
minimization | 7+++++++
minimization_automaton | 10++++++++++
minimum_circuit_size_problem | 11+++++++++++
minimum_degree_spanning_tree | 7+++++++
minimum_feedback_vertex_set | 12++++++++++++
minimum_spanning_tree | 7+++++++
minimum_vertex_cover_bipartite | 9+++++++++
mixed_chinese_postman_problem | 7+++++++
monadic | 10++++++++++
monadic_second_order_logic_model_checking | 7+++++++
montgomery2020proof | 5+++++
moore_graph | 18++++++++++++++++++
moores_algorithm | 9+++++++++
morphism | 10++++++++++
mpe | 11+++++++++++
multigraph | 10++++++++++
multitree | 13+++++++++++++
naturally_ordered_semiring | 5+++++
nbdd | 9+++++++++
nbp | 11+++++++++++
nc | 18++++++++++++++++++
nc1 | 13+++++++++++++
network_reliability | 8++++++++
neural_network_compression | 7+++++++
nfbdd | 13+++++++++++++
nlogspace | 20++++++++++++++++++++
no_meet | 5+++++
nondeterministic | 12++++++++++++
normal_subgroup | 11+++++++++++
np_cap_conp | 10++++++++++
np_complete | 30++++++++++++++++++++++++++++++
np_hard | 12++++++++++++
np_intermediate | 10++++++++++
nptime | 17+++++++++++++++++
nrobp | 13+++++++++++++
number | 12++++++++++++
number_theory | 14++++++++++++++
obdd | 12++++++++++++
oberwolfach_problem | 9+++++++++
omqa | 13+++++++++++++
open_world_query_answering | 20++++++++++++++++++++
open_world_query_answering_fds | 11+++++++++++
optimization | 14++++++++++++++
optimization_problem | 8++++++++
order | 9+++++++++
ordered_decision_circuit | 13+++++++++++++
ov_conjecture | 13+++++++++++++
owqa_frontier_one_fds | 7+++++++
p_poly | 7+++++++
p_subsequence | 9+++++++++
packing_problem | 15+++++++++++++++
palindrome | 7+++++++
parallelism | 14++++++++++++++
paranp | 8++++++++
parikhs_theorem | 7+++++++
parity | 10++++++++++
parity_p | 9+++++++++
partition | 5+++++
partition_problem | 9+++++++++
path | 16++++++++++++++++
path_undirected | 7+++++++
pathwidth | 10++++++++++
pathwidth_approximation | 6++++++
pathwidth_directed | 11+++++++++++
pattern_language | 14++++++++++++++
pattern_matching | 41+++++++++++++++++++++++++++++++++++++++++
pattern_matching_algorithm | 8++++++++
pattern_matching_realtime | 7+++++++
pattern_matching_streaming | 5+++++
perfect_matching | 13+++++++++++++
perfect_matching_counting | 13+++++++++++++
permutation | 29+++++++++++++++++++++++++++++
permutation_distance | 9+++++++++
planar_graph | 29+++++++++++++++++++++++++++++
planarity_testing | 16++++++++++++++++
polynomial_hierarchy | 13+++++++++++++
polytree | 16++++++++++++++++
pqe_mso | 7+++++++
pratt_hartmann | 8++++++++
prefix | 9+++++++++
prefix_suffix_query | 9+++++++++
preprocessing | 11+++++++++++
preprocessing_phase | 7+++++++
primal_graph | 11+++++++++++
primal_treewidth | 7+++++++
prime_number | 11+++++++++++
prime_number_theorem | 7+++++++
prisoners_dilemma | 7+++++++
probabilistic_circuit | 28++++++++++++++++++++++++++++
probabilistic_database_model | 8++++++++
probabilistic_method | 9+++++++++
probabilities | 33+++++++++++++++++++++++++++++++++
probability_outcome | 9+++++++++
provenance_circuit | 8++++++++
provenance_description_logics | 5+++++
provenance_optimal_joins | 5+++++
proximity_search | 7+++++++
pspace | 9+++++++++
ptime | 14++++++++++++++
pursuit_evasion | 10++++++++++
pushdown_automaton | 13+++++++++++++
qp | 9+++++++++
query | 14++++++++++++++
query_complexity | 11+++++++++++
query_evaluation | 21+++++++++++++++++++++
query_evaluation_incremental | 12++++++++++++
query_language | 41+++++++++++++++++++++++++++++++++++++++++
queue | 8++++++++
quicksort | 7+++++++
radoszewski2011hamiltonian | 11+++++++++++
ramsey_theorem | 15+++++++++++++++
random_graph | 7+++++++
random_structure | 7+++++++
random_variable | 10++++++++++
randomness | 23+++++++++++++++++++++++
range_query | 9+++++++++
ranking_function | 11+++++++++++
reachability | 10++++++++++
reconstruction_conjecture | 5+++++
reduction_gap | 9+++++++++
regex | 12++++++++++++
regex_deterministic | 7+++++++
regexp_dataset | 17+++++++++++++++++
regular_expression_denial_of_service | 13+++++++++++++
regular_expression_deterministic | 38++++++++++++++++++++++++++++++++++++++
regular_expression_repetition | 6++++++
regular_expression_strongly_deterministic | 8++++++++
regular_language | 48++++++++++++++++++++++++++++++++++++++++++++++++
regular_language_membership | 8++++++++
regular_path_query | 29+++++++++++++++++++++++++++++
regular_trail_query | 7+++++++
regular_tree_language | 7+++++++
rematch | 10++++++++++
repair_counting | 5+++++
resolution | 6++++++
resolution_rule | 5+++++
result | 10++++++++++
ringels_conjecture | 8++++++++
roths_theorem | 11+++++++++++
rp | 16++++++++++++++++
rpq_query_evaluation | 14++++++++++++++
salem_spencer_set | 7+++++++
satisfiability_unambiguous | 10++++++++++
satisfiability_weighted | 10++++++++++
schnyders_theorem | 9+++++++++
schutzenbergers_theorem | 8++++++++
sdnnf | 5+++++
selection_algorithm | 7+++++++
self_loop | 13+++++++++++++
semantic_acyclicity | 9+++++++++
semiring_idempotent | 5+++++
separation_logic | 9+++++++++
separator_logic | 11+++++++++++
sequence | 13+++++++++++++
set | 5+++++
set_function | 11+++++++++++
set_intersection | 9+++++++++
set_intersection_2 | 5+++++
set_theory | 5+++++
sharp_automaton | 9+++++++++
sharp_dfa | 11+++++++++++
sharp_nfa | 17+++++++++++++++++
sharp_ufa | 12++++++++++++
shortest_disjoint_paths | 11+++++++++++
shortest_path_almost | 9+++++++++
shuffle | 6++++++
shuffle_square | 9+++++++++
sidon_set | 9+++++++++
sim_width | 5+++++
simple_path | 7+++++++
sipser_lautemann_theorem | 7+++++++
sjfcq | 7+++++++
skew_multicut | 5+++++
slogspace | 17+++++++++++++++++
small_universe_hitting_set | 11+++++++++++
sorted_list_intersection | 11+++++++++++
sorting | 15+++++++++++++++
spanl | 9+++++++++
spanner | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++++
spanner_cfg | 6++++++
spanner_core | 14++++++++++++++
spanner_dynamic | 6++++++
spanner_regular | 8++++++++
spanner_surveys | 8++++++++
spanner_weighted | 8++++++++
spanning_tree | 8++++++++
spanp | 9+++++++++
squaring | 10++++++++++
st_reachability_undirected | 9+++++++++
star_free_language | 18++++++++++++++++++
state | 8++++++++
state_set_simulation_faster | 24++++++++++++++++++++++++
steiner_tree | 7+++++++
stochastic_boolean_function_evaluation | 7+++++++
strahler_number | 7+++++++
straight_line_program | 10++++++++++
strassens_algorithm | 10++++++++++
streaming | 15+++++++++++++++
strong_exponential_time_hypothesis | 7+++++++
strong_perfect_graph_theorem | 7+++++++
strongly_connected | 8++++++++
strongly_connected_component | 13+++++++++++++
strongly_np_complete | 7+++++++
strongly_unimodular | 9+++++++++
subfunction | 7+++++++
submodular_maximization | 9+++++++++
submodular_minimization | 8++++++++
submodular_optimization | 8++++++++
submodular_set_function | 12++++++++++++
subsequence | 21+++++++++++++++++++++
subsequence_testing | 10++++++++++
subsequence_testing_gap_constraints | 12++++++++++++
subset_sum | 24++++++++++++++++++++++++
subset_sum_counting | 11+++++++++++
subword | 16++++++++++++++++
subword_automaton | 13+++++++++++++
subword_universal | 10++++++++++
suffix | 13+++++++++++++
superpermutation | 21+++++++++++++++++++++
synchronizing_word | 7+++++++
syntactic_monoid | 7+++++++
szemeredis_theorem | 11+++++++++++
tape_construction | 11+++++++++++
tarsis_lemma | 5+++++
theorem | 39+++++++++++++++++++++++++++++++++++++++
theoretical_computer_science | 47+++++++++++++++++++++++++++++++++++++++++++++++
thompson_automaton | 15+++++++++++++++
three_variable_per_inequality | 5+++++
topk | 5+++++
topological_minor | 11+++++++++++
total_dominating_set | 7+++++++
total_variation_distance | 6++++++
transition | 9+++++++++
transitivity | 6++++++
transitivity_tgds | 10++++++++++
tree_automaton | 23+++++++++++++++++++++++
tree_decomposition | 9+++++++++
tree_language | 7+++++++
treelike | 11+++++++++++
treelike_modulo_homomorphic_equivalence | 7+++++++
treewidth_directed | 10++++++++++
treewidth_practical | 7+++++++
triangle | 18++++++++++++++++++
triangle_counting | 5+++++
triangle_detection_conjecture | 6++++++
triangle_free_graph | 9+++++++++
triangle_inequality_strong | 5+++++
trio | 5+++++
tuple_generating_dependency_sticky | 7+++++++
turan_theorem | 11+++++++++++
turing_machine | 24++++++++++++++++++++++++
turing_machine_nondeterministic | 7+++++++
turing_reduction | 11+++++++++++
tuzas_conjecture | 7+++++++
twin_width | 27+++++++++++++++++++++++++++
two_variable_per_inequality | 12++++++++++++
two_way_string_matching | 7+++++++
uc2rpq | 9+++++++++
ucq_non_redundant | 7+++++++
ultrametric | 5+++++
unambiguity | 35+++++++++++++++++++++++++++++++++++
unambiguity_alternating | 7+++++++
unambiguous | 10++++++++++
unambiguous_marked_product | 7+++++++
unambiguous_star_free_language | 12++++++++++++
unambiguous_word_automaton_complementation | 9+++++++++
union | 6++++++
union_of_conjunctive_queries | 15+++++++++++++++
universal_semiring | 10++++++++++
universal_word | 7+++++++
universality_automata | 13+++++++++++++
universality_automata_deterministic | 7+++++++
universality_automata_nondeterministic | 8++++++++
up | 12++++++++++++
update | 21+++++++++++++++++++++
update_word | 12++++++++++++
van_emde_boas_tree | 9+++++++++
vardi1989note | 7+++++++
variety | 35+++++++++++++++++++++++++++++++++++
vector_addition_tree_automata | 5+++++
vector_space | 6++++++
vertex | 9+++++++++
vertex_cover | 33+++++++++++++++++++++++++++++++++
vertex_unbalanced_triangle_listing | 9+++++++++
visibly_pushdown_automaton | 9+++++++++
vizings_theorem | 9+++++++++
walk | 13+++++++++++++
walk_length | 17+++++++++++++++++
wang2024sampling | 9+++++++++
weft | 7+++++++
wiles_theorem | 19+++++++++++++++++++
word | 24++++++++++++++++++++++++
word_automaton | 28++++++++++++++++++++++++++++
word_automaton_exclusive_unary | 5+++++
word_automaton_unambiguous | 16++++++++++++++++
word_combinatorics | 10++++++++++
word_problem | 6++++++
word_query | 7+++++++
yaos_principle | 5+++++
zero_clique | 13+++++++++++++
zhao2024evaluating | 9+++++++++
zpp | 10++++++++++
783 files changed, 9157 insertions(+), 0 deletions(-)

diff --git a/1_or_3_in_3_sat b/1_or_3_in_3_sat @@ -0,0 +1,9 @@ +# 1_or_3_in_3_sat + +Variant of [satisfiability_boolean] where each clause contains exactly 3 literals and you want a valuation such that each clause has 1 or 3 true literals + +It is in fact [ptime] because it is [affine] + +https://cstheory.stackexchange.com/questions/53268/complexity-of-1-or-3-in-3-sat-odd-3-sat + +Up: [schaefers_dichotomy_theorem], [sat_variants] diff --git a/2horn_clause b/2horn_clause @@ -0,0 +1,9 @@ +# 2horn clause + +[horn_clause] with exactly 2 literals (one positive, one negative) + +maybe should be "definite 2horn" + +Up: [horn_clause] + +See also: [2sat], [horn_2sat] diff --git a/2sat b/2sat @@ -0,0 +1,16 @@ +# 2SAT + +[satisfiability_boolean] of [2cnf] + +Can be solved in [linear_time] via [strongly_connected_component], is [nl_complete] + +However: + +- The [max_sat] problem of satisfying the largest number of clauses of a [2cnf] is [nptime]-hard ([garey_johnson] LO5) +- The [sharp_satisfiability] problem of counting the satisfying assignments is [nptime]-hard, even for [monotone2cnf] + +Generalization: [max_2sat] + +See also: [3sat] + +Up: [sat_variants] diff --git a/3_colorable b/3_colorable @@ -0,0 +1,7 @@ +# 3 colorable + +[graph_undirected] which admits a [3_coloring] + +See also: [3_coloring], [graph_bipartite] + +Up: [graph_family] diff --git a/3_coloring b/3_coloring @@ -0,0 +1,7 @@ +# 3 coloring + +[graph_coloring] but for 3 colors + +Up: [graph_coloring] + +See also: [3_colorable] diff --git a/3_dimensional_matching b/3_dimensional_matching @@ -0,0 +1,16 @@ +# 3DM + +https://en.wikipedia.org/wiki/3-dimensional_matching + +Problem: given 3 sets X, Y, Z of n elements, and triples T subseteq X times Y times Z, +can you take a subset of T containing exactly once each element of X Y Z? + +[3_dimensional_matching_hardness_proof] + +Variant: [3_dimensional_matching_numerical] + +Generalization: https://en.m.wikipedia.org/wiki/Matching_in_hypergraphs + +Up: [computational_problem] + +See also: [perfect_matching], [dimension] diff --git a/3_dimensional_matching_hardness_proof b/3_dimensional_matching_hardness_proof @@ -0,0 +1,11 @@ +# 3 dimensional matching hardness proof + +Shown NP-hard [nptime] in [garey_johnson], reduction from [3sat]: +- for each variable do a "flower" gadget + - http://courses.csail.mit.edu/6.890/fall14/6046-L16.pdf + - at the center put elements of X and Y that are local to each variable, alternatively + - at the extremities put elements of Z that correspond either to x or barx + - for each clause there are two elements of X and Y local to that clause to impose that it is covered, and there are 3 ways to cover that use each "allowed" literal + - some additional things: for every excess variable occurrences, a gadget with two specific elements of X and Y and all possible Z to cover exactly one unused variable + +Up: [3_dimensional_matching] diff --git a/3_dimensional_matching_numerical b/3_dimensional_matching_numerical @@ -0,0 +1,14 @@ +# Numerical 3DM + +https://en.wikipedia.org/wiki/Numerical_3-dimensional_matching + +NUMERICAL 3-DIMENSIONAL MATCHING: vertices are integers and the eges are all +triples that sum to the same value S/n where S is the sum of all the X Y Z + +[np_complete] by reduction from 3-PARTITION [3_partition] following +http://courses.csail.mit.edu/6.892/spring19/scribe/lec2.pdf simply by adding +large values + +See also: [3_dimensional_matching], [3_partition] + +Up: [computational_problem] diff --git a/3_partition b/3_partition @@ -0,0 +1,11 @@ +# 3-PARTITION + +Given integers, partition them into triples that have the same value + +[strongly_np_complete] (UNARY-3-PARTITION) + +Hardness proof: [garey_johnson] page 96 + +Up: [decision_problem] + +See also: [partition_problem], [4_partition], [3_dimensional_matching_numerical] diff --git a/3cnf b/3cnf @@ -0,0 +1,7 @@ +# 3CNF + +[conjunctive_normal_form] [boolean_formula] with 3 literals per clause + +Up: [conjunctive_normal_form] + +See also: [2cnf], [3sat] diff --git a/3sum b/3sum @@ -0,0 +1,17 @@ +# 3SUM + +https://en.wikipedia.org/wiki/3SUM + +Does a set of n real numbers contain 3 numbers summing to 0? + +Can be done in O(n^2) or O(n^2/log^2 n (log log n)^(O(1))) (even for reals : [chan2018more]) + +[3sum_hypothesis]: not known to be solvable in O(n^{2-\epsilon}) + +used for hardness of pattern matching tasks, cf [amir2014hardness] + +can be done in time O(N log N) for N the maximal value using [fast_fourier_transform] + +Up: [fine_grained_complexity_problems] + +See also: [negative_triangle], [ov_conjecture] diff --git a/3sum_hypothesis b/3sum_hypothesis @@ -0,0 +1,14 @@ +# 3SUM hypothesis + +Hypothesis that you cannot do [3sum] in O(n^{2-\epsilon}) + +Implies [exact_triangle] + +The input numbers can be assumed to be O(n^3) [fischer2023deterministic] + +[fischer2024deterministic]: [reductions] from [3sum] can usually be made [reduction_deterministic] +- connections to [hashing_additive] + +Up: [computational_hypothesis] on [3sum] + +Aliases: 3sum conjecture diff --git a/4_partition b/4_partition @@ -0,0 +1,13 @@ +# 4-PARTITION + +Given integers, partition them into quadruples having the same value + +[strongly_np_complete] (UNARY-4-PARTITION) + +[4_partition_hardness_proof] + +See also: [3_partition] + +Up: [decision_problem] + +See also: [partition_problem] diff --git a/4_partition_hardness_proof b/4_partition_hardness_proof @@ -0,0 +1,23 @@ +# 4_partition_hardness_proof + +Proof in http://courses.csail.mit.edu/6.890/fall14/6046-L16.pdf +reduction from [3_dimensional_matching] +- write numbers in a large [basis] +- the i-th element xi is coded as (10, i, 0, 0, 1) + and many copies of (11, i, 0, 0, 1) +- the j-th element yj is coded as (10, 0, j, 0, 2) + and many copies of (11, 0, j, 0, 2) +- the k-th element zk is coded as (10, 0, 0, k, 4) + and many copies of ( 8, 0, 0, k, 4) +- a triple (xi, yj, zk) is coded as + (10, -i, -j, -k, 8) +- the target to reach for each 4-tuple is: (40, 0, 0, 0, 15) +- the basis is large so, starting from least significant digits: + - use one value from each type + - match each triple with a matching zk + - match each triple with a matching yj + - match each triple with a matching xi + - match a triple with the used elements, or match a triple with unused elements + - so each real element (labeled 10) of the xi yj zk must appear in exactly one triple + +Up: [4_partition] diff --git a/ac b/ac @@ -0,0 +1,16 @@ +# AC + +"alternating" circuit class: ACi is the class of [formal_language] recognized by [boolean_circuit] of polynomial number of gates of unbounded [fan_in] and with depth O(log^i n) + +- [ac0]: constant depth +- [ac1]: singly logarithmic depth + +This is like [nc] but: +- with AC the gates have unbounded fan-in +- with NC they have constant fan-in: + +Hence: NCi is included in ACi which is included in NCi+1 for all i + +Generalization: class [acc] where we allow [modulo_gate] + +Up: [circuit_classes] diff --git a/ac0 b/ac0 @@ -0,0 +1,9 @@ +# Ac0 + +[ac] circuit with constant [depth] (and unbounded [fan_in], and polynomial size) + +AC0 = [first_order_logic] + arbitrary numerical predicates arbitrary arity + +Up: [ac] + +See also: [acc0] diff --git a/academic_paper_list b/academic_paper_list @@ -0,0 +1,19 @@ +# Academic paper list + +- [arenas2020fpras] +- [arenas2021nfa] +- [bagan2020trichotomy] +- [berkholz2020constant] +- [feldman2006directed] +- [freydenberger2021splitting] +- [freydenberger2021theory] +- [grohe2007complexity] +- [jha2012tractability] +- [kosolobov2017detecting] +- [lanzinger2021tractability] +- [lutz2022complete] +- [marx2013tractable] +- [merkl2023diversity] +- [tziavelis2022any] + +Up: [list_wiki] of [academic_paper] diff --git a/acc b/acc @@ -0,0 +1,7 @@ +# Acc + +Like [ac] circuits, so polynomial size unbounded [fan_in] and [depth] in O(log^i n), but adds gates that can count modulo a fixed integer +- contains [parity] +- [acc0]: constant [depth] + +Up: [circuit_classes] diff --git a/acc0 b/acc0 @@ -0,0 +1,9 @@ +# Acc0 + +[acc] circuit with constant [depth] + +strict superset of [ac0], separated by [parity] + +Up: [acc] + +See also: [ac0] diff --git a/access_pattern b/access_pattern @@ -0,0 +1,6 @@ +# Access patterns + +- kara2022conjunctive [incremental_maintenance] +- zhao2023space: [complexity_space]/[complexity_time] tradeoff + +Up: [database_theory] diff --git a/ackermanns_function b/ackermanns_function @@ -0,0 +1,10 @@ +# Ackermanns_function + +A(1) = 1+1 [addition] +A(2) = 2x2 = 2+2 [multiplication] +A(3) = 3^3 = 3×3x3 [exponentiation] +A(4) = 4 [tetration] 4 = 4^(4^(4^4)) [tetration] + +Up: [mathematics] + +See also: [inverse_ackermann] diff --git a/acyclic_free_connex b/acyclic_free_connex @@ -0,0 +1,11 @@ +# Acyclic free-connex + +Subclass of [conjunctive_query_acyclic] which remains acyclic when adding an atom covering the [free_variable]s + +Some people don't say "acyclic" and take "free-connex" to mean "acyclic free-connex" + +When a query is not acyclic free-connex you can often reduce from [boolean_matrix_multiplication] (if [acyclic]) or [hyperclique] + +Up: [conjunctive_query_acyclic] + +See also: [enumeration_cqs] diff --git a/aggregation b/aggregation @@ -0,0 +1,5 @@ +# Aggregation + +See also: [quantile], [median], [mean], [sum] + +Up: [database_theory] diff --git a/agm_bound b/agm_bound @@ -0,0 +1,20 @@ +# AGM bound + +Statement: for Q(X) a [conjunctive_query_full], if every relation contains at most m tuples, then the size of the query result is at most m^{f} for f the [fractional_edge_cover] of Q + +Only works with [cardinality_constraint], not with [degree_constraint] + +- AGM bound with [projection]: [gottlob2012size] + +Lower bound: [agm_lower_bound] + +Remark by [mahmoud_abo_khamis]: the reverse of AGM bound is [turan_theorem], largest graph to avoid a pattern +- remark that if you fix the number of vertices of a graph then if the number of edges is larger than some value then there must be a [triangle] + - the bound turns out to be the number of edges in a [graph_bipartite] on this set of vertices + - cf [ramsey_theorem] also? + +See also: [optimal_joins], [heavy_light] + +Up: [computer_science] + +Tags: #wikipedia diff --git a/aho_corasick b/aho_corasick @@ -0,0 +1,9 @@ +# Aho Corasick + +A nice algorithm to build an [automaton] for efficient [pattern_matching] with a dictionary. + +Up: [pattern_matching] + +See also: [knuth_morris_pratt] + +Aliases: Aho-Corasick, Aho-Corasick algorithm, Aho Corasick algorithm diff --git a/akmal2021majority b/akmal2021majority @@ -0,0 +1,7 @@ +# Akmal2021majority + +about [maj_sat] and [gt_maj_sat] + +uses [sunflower_lemma] + +Up: [academic_paper] diff --git a/algebra b/algebra @@ -0,0 +1,9 @@ +# Algebra + +- [algebraic_automata_theory] +- [algebraic_structure] +- [matrix] +- ... +- [vector_space] + +Up: [mathematics] diff --git a/algebraic_automata_theory b/algebraic_automata_theory @@ -0,0 +1,14 @@ +# Algebraic automata theory + +- [variety] closed under [inverse_morphism], left/right [quotient], [sublanguage], + [boolean_set_operation] including [complementation] + - [variety_li] li-variety: closure only under inverses of length-increasing [length_increasing_morphism] pin2016dot + - connection to notion of +-variety + - lm-variety? +- Eilenberg's variety theorem [eilenbergs_theorem]: varieties of [monoid] + correspond to varieties of [regular_language] +- [reitermans_theorem]: varieties can be defined by [profinite] identities, + i.e., varieties on profinite words +- [greens_relations] + +Up: [formal_language_theory], [algebra] diff --git a/algebraic_structure b/algebraic_structure @@ -0,0 +1,12 @@ +# Algebraic structure + +- [monoid] +- [semigroup] +- [group] +- [semiring] +- [ring] +- [field] +- [ideal] +- ... + +Up: [mathematics] diff --git a/algorithm_combinatorial b/algorithm_combinatorial @@ -0,0 +1,9 @@ +# Combinatorial algorithm + +Algorithms, e.g., for [matrix_multiplication] which try to exclude [strassens_algorithm], but it looks like there is not formal definition of the concept + +Up: [algorithms] + +See also: [matrix_multiplication] + +Aliases: combinatorial algorithm, combinatorial algorithms diff --git a/algorithm_randomized b/algorithm_randomized @@ -0,0 +1,19 @@ +# Randomized algorithms + +https://en.wikipedia.org/wiki/Randomized_algorithm + +Techniques used for randomized algorithms: + +- [concentration_inequality] +- [median_trick]: repeat an algorithm many times and take the median +- [monte_carlo_algorithm] +- [las_vegas_algorithm] +- [atlantic_city_algorithm] + +- [yaos_principle] + +Up: [algorithms] + +See also: [fpras], [rp], [complexity_random], [randomness] + +Aliases: randomized diff --git a/algorithm_type b/algorithm_type @@ -0,0 +1,9 @@ +# Algorithm type + +- [bruteforce] +- [backtracking] +- [greedy_algorithm] +- [memoization] +- [dynamic_programming] + +Up: [algorithms_list] diff --git a/algorithms b/algorithms @@ -0,0 +1,22 @@ +# Algorithms + +Notion: [algorithm] + +List of algorithms: [algorithms_list] + +Type: +- [algorithm_combinatorial] +- [algorithm_randomized] +- [greedy_algorithm] + +By date: +- [algorithms_recent]: a choice of recent algorithms on major [computational_problem] + +[machine_model]: +- [external_memory] + +[algorithms_techniques] + +See also: [reduction] + +Up: [theoretical_computer_science] diff --git a/algorithms_list b/algorithms_list @@ -0,0 +1,21 @@ +# Algorithms list + +- On [graph]: [graph_algorithm] +- [sampling] +- [batch_partial_match] +- [sorting] +- [segment_tree] +- [fenwick_tree] +- [median] + - [median_of_medians] +- [huffman_algorithm] +- [sliding_window] algorithms +- [fast_exponentiation] +- [selection_algorithm] +- [tortoise_and_hare_algorithm] +- [stable_marriage] +- [binary_search] + +- [algorithm_type] + +Up: [algorithms] diff --git a/algorithms_recent b/algorithms_recent @@ -0,0 +1,8 @@ +# Recent algorithms + +There has been recent progress on algorithms on the following problems: + +- [network_flow] (2022) +- [shortest_path] (2022) + +Up: [algorithms] diff --git a/all_edge_triangle b/all_edge_triangle @@ -0,0 +1,9 @@ +# all edge triangle + +Problem of deciding, given an undirected [graph], for each edge, whether it is in a [triangle] + +This requires time Omega(n^{2-o(1)}) assuming [3sum_hypothesis] + +See also: [st_reachability], [triangle_detection] + +Up: [computational_problem] on [graph] diff --git a/all_pairs_shortest_path b/all_pairs_shortest_path @@ -0,0 +1,30 @@ +# All pairs shortest path (APSP) + +Given a [graph], compute the [distance] between all pairs of nodes + +Many works have tried to shave off logs; best algorithm by [ryan_williams]: n^3/exp(sqrt(log n)) + +Hypothesis [apsp_hypothesis] + +The unweighted version amounts to [transitive_closure], which can be solved by [matrix_multiplication] +- also some algorithms for small weights +- APSP is [matrix_multiplication] but on [tropical_semiring], see [distance_product] + +APSP can be expressed in [datalog] with the right kind of [aggregation], in linear or binary form + +Algorithm: [floyd_warshall_algorithm] + +Reduction to [distance_product] + +[johnsons_algorithm]: in O(mn) we can transform to remove the negative weights + +connection between APSP and [distance_product] ([matrix_multiplication] in [semiring_tropical]), like for [reachability_all_pairs]: running times are the same up to log factors +- and with [negative_triangle]: one is subcubic iff the other is + +Approximation: [all_pairs_shortest_path_approximate] + +Beware: APSP can also mean "All pairs suffix prefix", cf [gusfield1992efficient], [zuba2024approximate] + +Up: [shortest_path], [fine_grained_complexity_problems] + +See also: [reachability_all_pairs] diff --git a/all_pairs_shortest_path_approximate b/all_pairs_shortest_path_approximate @@ -0,0 +1,17 @@ +# All pairs shortest path approximate + +See also roditty2023new + +For approximation ratio alpha<2, with directed or undirected graph, reduction from [boolean_matrix_multiplication] (exact?) + +for approximation (1+eps), zwick2022?: Otilde(n^omega/eps log W) +- if the graph is undirected we can shave off the log W +- if directed we can shave off the log W but at the expense of a worse exponent, and equivalence to "exact MinMaxProduct"? + +connection to approximate [distance_product] (equivalence up to log factors) + +for an undirected graph, for any k, we can preprocess the graph in O(m n^{1/k}) such that for each pair we obtain in constant time a 2k-1 approximation of the distance +- and lower bound from [3sum]: under this preprocessing and with n^{o(1)} query time we cannot have <k approx (work involving [amir_abboud]) +- "hardness of approximation in P"? + +Up: [approximation] of [all_pairs_shortest_path] diff --git a/all_pos_neg_sat b/all_pos_neg_sat @@ -0,0 +1,7 @@ +# ALL-POS-NEG-SAT + +[satisfiability_cnf] but in each clause either all [literals] are [positive_literal] or all [literals] are [negative_literal] + +[NP_complete] in [lingg2024learning] + +Up: [sat_variants] diff --git a/all_subset_sums b/all_subset_sums @@ -0,0 +1,11 @@ +# All subset sums + +Problem like [subset_sum] but there is no target and you must compute all the sums + +according to [bringmann2023top], all [pseudo_polynomial_time] algorithms for [subset_sum] actually solve [all_subset_sums] + +can be solved in Otilde(sum of values), for input encoded in unary for instance, see [all_subset_sums_fft] + +Up: [subset_sum] + +See also: [subset_sum_counting] diff --git a/all_subset_sums_fft b/all_subset_sums_fft @@ -0,0 +1,14 @@ +# All subset sums with FFT + +[Algorithm] for [all_subset_sums] using [FFT], running in Otilde(sum of the elements). + +Useful if the input is coded in [unary] for instance + +Source: [koiharis2019faster], Theorem 3.1 + +Algorithm: +- split elements into two halves +- compute recursively all the sums of the halves +- merge the sums using [FFT] + +Up: [algorithm] for [all_subset_sums] diff --git a/alpha_acyclic b/alpha_acyclic @@ -0,0 +1,23 @@ +# Alpha acyclic + +Condition on [hypergraph] + +On [graph_undirected], equivalent to [graph_acyclic] + +Equivalent to [running_intersection_property] + +Equivalent to having a [join_tree] + +Equivalent to being both [hypergraph_conformal] and [hypergraph_chordal] + +Equivalent to [querywidth] and [hypertreewidth] and [generalized_hypertreewidth] being 1 + +Defining paper proving the equivalences: [beeri1983desirability] + +Can be checked on [hypergraph_reduced], i.e., hyperedges that are covered by another hyperedge do not matter + +Can be tested in [linear_time] using [tarjan1984simple] via [chordal] and [hypergraph_chordal], but non-obvious + +Up: [degree_of_acyclicity] + +See also: [acyclic_hypergraph_sandwich_problem] diff --git a/alternating_path b/alternating_path @@ -0,0 +1,11 @@ +# Alternating path + +When considering a [graph] and a [matching], a path that takes matched and unmatched edges alternatively + +[augmenting_path] "Augmenting path": alternating path that goes between two unmatched vertices + +Occurs in algorithms for [maximum_matching] + + + +Up: [path] diff --git a/alternation_hierarchy b/alternation_hierarchy @@ -0,0 +1,7 @@ +# Alternation hierarchy + +Hierarchy of [first_order_logic] on [quantifier_alternation_depth] + +Up: [hierarchy] of [first_order_logic] + +See also: [automata_alternating], [alternation], [dot_depth] diff --git a/amplification_technique b/amplification_technique @@ -0,0 +1,9 @@ +# Amplification technique + +can be used to show that [sharp_is] has no [fpras] + +cf git/reading-group/notes/non-approximability.txt + +[marcelo]: This is a reference for the amplification technique:Alistair Sinclair: Algorithms for random generation and counting - a Markov chain approach. Progress in theoretical computer science, Birkhäuser 1993, ISBN 978-0-8176-3658-6, pp. 1-146 + +See also: [interpolation_method] diff --git a/annotation_transducer b/annotation_transducer @@ -0,0 +1,9 @@ +# Annotation transducer + +formalism of [automata] +- called "annotated automata] in [munoz2023constant] +- used in [gawrychowski2024revisiting] + +Up: [spanner] + +See also: [spanner_transducer] diff --git a/approximate_sampling_to_approximate_counting b/approximate_sampling_to_approximate_counting @@ -0,0 +1,29 @@ +# Approximate sampling to approximate counting + +## For independent set + +This file uses the notation of [markov_chain_monte_carlo]. It focuses on the problem of [counting] [independent_set], i.e., computing the probability that a random subset of vertices is an independent set. + +### With exact sampling + +First assume we can do [sampling] exactly. + +The probability that we want to compute is pi(emptyset) = 1/Z, because it gives us Z which is the quantity for which we want to do [counting] + +We can write pi(emptyset) as Pr(X1=0) Pr(X2=0|X1=0) ... + +So if we can approximate each [marginal_distribution] then we can approximate pi(emptyset) + +We can marginalize in the following way: to set a vertex to 0, we just remove the vertex! A kind of [self_reducibility]. Note that removing a vertex does not increase Delta. + +Further, we know that the marginals have probability at least 1/(1+lambda), hence sampling (on the graph with removed vertices, seeing in which proportion of the samples we find the vertex of interest) gives an [approximation_additive] which thanks to the lower bound is an [approximation_multiplicative]. + +### With approximate sampling + +I think the same algorithm works if sampling is approximately uniform + +## In general + +In general (for an arbitrary self-reducible problem): instead of picking the prefix 0 ... 0, choose the prefix with the choice that gives the most outcomes. This ensures that no denominator gets to zero, and also ensures a lower bound of 1/2 (give or take epsilon) on each marginal + +Up: [sampling_approximate], [counting_approximate] diff --git a/approximation b/approximation @@ -0,0 +1,30 @@ +# Approximation + +Two kinds of approximation: +- [approximation_additive]: section 3.2.1 souihli2012querying [monte_carlo] [hoeffdings_inequality] +- [approximation_multiplicative]: what follows is about those + +Complexity classes [approximation_class]: +- [FPRAS] +- [PRAS] +- etc. + +Problems: [approximation_problems] + +Reasons not to get it: +- conditional inapproximability [fpras_vs_npc]: no FPRAS if the [decision_problem] "décision =0" is [np_hard], unless you have [nptime] = [bpp] or [nptime] = [rp] +- [sharp_is]: no FPRAS to count the [independent_set] of a [graph] +- no [FPRAS] for [monotone2cnf] (calautti2022query), cf [sharp_satisfiability_fpras] +- [hardness_of_approximation] + +Applications: +- [sampling_approximate] +- [counting_approximate] + +- [approximation_pqe] + +Notion of [reduction]: [approximation_preserving_reduction] + +Up: [research_directions] + +Aliases: approximate counting diff --git a/approximation_additive b/approximation_additive @@ -0,0 +1,10 @@ +# Additive approximation + +[approximation] while keeping an additive error bound + +- Can be obtained by [monte_carlo] for [pqe] +- But not for [model_counting]: [chakraborty2019hardness] Theorem 3 + +See also: [approximation_multiplicative] + +Up: [approximation] diff --git a/approximation_class b/approximation_class @@ -0,0 +1,11 @@ +# Approximation classes + +- FPRAS [fpras]: for all epsilon you have an [algorithm_randomized] running in polynomial time in 1/e and in the input, with a probability delta of failure + - variant QPRAS [qpras] with "quasi-polynomial time" [quasipolynomial] +- PRAS [pras]: same but not polynomial in 1/e +- without R, a deterministic algorithm (PRAS vs PTAS [ptas], FPRAS vs FPTAS [fptas]) +- APX [apx]: there is an approximation algorithm for a certain fixed epsilon + +Up: [complexity_class] of [approximation] + +See also: [complexity_random] diff --git a/approximation_multiplicative b/approximation_multiplicative @@ -0,0 +1,9 @@ +# Approximation multiplicative + +Possible for [sharp_satisfiability] for [disjunctive_normal_form], and many other problems + +Another example is arenas2021nfa + +See also: [approximation_additive], [fpras] + +Up: [approximation] diff --git a/approximation_problem b/approximation_problem @@ -0,0 +1,8 @@ +# Approximation algorithm + +- [all_pairs_shortest_path_approximate] +- [sharp_satisfiability_approximate] + +See also: [fpras] + +Up: [computational_problem] for [approximation] diff --git a/apsp_hypothesis b/apsp_hypothesis @@ -0,0 +1,12 @@ +# APSP hypothesis + +[hypothesis] that [all_pairs_shortest_path] (also involving negative weights) requires time n^{3-o(1)} +- implies [exact_triangle] +- equivalent to [negative_triangle] + - you can use [all_pairs_shortest_path] to compute [negative_triangle] + - other direction more involved +- equivalent to [mpp_minimum] (find if the minimum diagonal entry of the min-plus product of three matrices A B C is <0) + +The equivalences to [all_pairs_shortest_path] and [mpp_minimum] are from [williams2018subcubic] + +Up: [hypothesis] on [all_pairs_shortest_path] diff --git a/apsp_reduces_to_distance_product b/apsp_reduces_to_distance_product @@ -0,0 +1,10 @@ +# APSP reduces to distance product + +[fine_grained_reduction] from [all_pairs_shortest_path] to computing [distance_product] + +Take [adjacency_matrix] of a [graph], do [fast_exponentiation] to get the weight of +the [shortest_path] of <= n edges + + + +Up: [reduction] from [all_pair_shortest_path] to [distance_product] diff --git a/apx b/apx @@ -0,0 +1,22 @@ +# APX + +class of [nptime] [optimization_problem] with [approximation] in polynomial time +with a ratio bounded by a constant +- analogue but for [counting_problem]? + +Being in this class is weaker than existence of a [ptas], and if P neq NP then there are problems in [apx] that do not have a [ptas] + +- [apx]-hard: as hard as problems that can be approximated within constant factor +- [log_apx]-hard: as hard as problems that can be approximated within a log factor +- [poly_apx]-hard: + - for instance [maximum_independent_set] +- on a [apx] subsetneq [log_apx] subsetneq [poly_apx] + - et ces inclusions sont strictes si P neq NP, reference [escoffier2007structures] + +reference: [lee2021classifying] + +[apx_counting] + +See also: [approximation_algorithm] + +Up: [complexity_class] diff --git a/arboricity b/arboricity @@ -0,0 +1,13 @@ +# Arboricity + +Connection between [arboricity] and [dynamic_data] in lu2021towards + +- chiba1985arboricity +- danisch2018listing + - https://papers-gamma.link/paper/32 + - https://github.com/maxdan94/kmotif +- ortmann2014triangle algorithm for triangle_listing + +bressan2022complexity: optimality of the esults of chiba for [graph_pattern_counting] + +Up: [width_measure] diff --git a/arenas2020fpras b/arenas2020fpras @@ -0,0 +1,12 @@ +# arenas2020fpras + +FPRAS [fpras] to count the number of [tree] of a given size accepted by nondeterministic +[tree_automaton] + +Proof sketch in [arenas2022counting] + +Note: it is [sharpp]-hard to exactly count the number of distinct words of length n accepted by an NFA A, given n and A as input + + + +Up: [academic_paper_list] diff --git a/arithmetic b/arithmetic @@ -0,0 +1,11 @@ +# Arithmetic + +- [fundamental_theorem_of_arithmetic] + - [prime_number_decomposition] +- [prime_number] +- [integer_factorization] +- [presburger_arithmetic] + +Up: [mathematics] + +See also: [number_theory] diff --git a/arithmetic_circuit b/arithmetic_circuit @@ -0,0 +1,34 @@ +# Arithmetic circuit + +A [circuit] having plus-gates and times-gates. The inputs to plus-gates have +weights ([linear_combination]). Generally the function represented should be +non-negative. +- allowing negative weights (-> subtraction) can have a superpolynomial impact on conciseness + - cf [positive_vs_monotone] +- "monotone arithmetic circuit": no negative weights + +Conditions: +- [decomposable] aka "syntactic multilinearity" + - [structuredness] structured decomposability +- [deterministic] +- [smoothness] / [smoothing] + +Arithmetic circuits *with positive weights* can be translated to a +[boolean_circuit] while preserving struural restrictions. Thus, for arithmetic functions whose support is a +hard boolean function, we can leverage lower bounds on the [boolean_circuit] size +to get a bound on the arithmetic circuit size + +Can use [rank] technique for lower bound, using [communication_complexity] +- but [arithmetic_rectangle] instead of [combinatorial_rectangle] + +closure: + +- we can represent the product of two structured circuits as a structured circuit +if they are structured along the same [vtree] +- conditioning: we can fix the value of a gate and preserve decomposability etc. + +[depth_reduction_arithmetic_circuit] + +Up: [circuit] + +See also: [circuit_algebraic] diff --git a/arithmetic_progression b/arithmetic_progression @@ -0,0 +1,15 @@ +# Arithmetic progression + +[roths_theorem] +- and generalization [szemeredis_theorem] + +[open_problem]: https://en.wikipedia.org/wiki/Erd%C5%91s_conjecture_on_arithmetic_progressions + +arbitrary long arithmetic progressions in [prime_numbers]: + - https://en.wikipedia.org/wiki/Green%E2%80%93Tao_theorem + +Up: [sequence] + +See also: [salem_spencer_set] + +Aliases: arithmetic progressions diff --git a/arity b/arity @@ -0,0 +1,8 @@ +# Arity + +- [arity_two] vs [higher_arity] +- [graph] versus [hypergraph] +- [shredding]: transform arity-n into [arity_two]; name used in + [amarilli2015combining] + +Up: [logic] diff --git a/array b/array @@ -0,0 +1,8 @@ +# Array + +- [binary_search] +- [sorted_array] + +Up: [data_structure] + +See also: [list] diff --git a/ascending_chain_condition b/ascending_chain_condition @@ -0,0 +1,12 @@ +# Ascending chain condition (ACC) + +A [partial_order] satisfes the ACC if every [omega_chain] is finite +(= stabilizes) + +The [pareto_product] of two [partial_order] that satisfies ACC also satisfies ACC. The same holds for finite powers. + +The ACC ensures that [kleene_sequence] (see [fixpoint]) converges to least fixpoint + +ACC implies [omega_complete] + +Up: [partial_order] diff --git a/atom b/atom @@ -0,0 +1,9 @@ +# Atom + +notion of an atom in logic + +- [logic_atom] for logics extended with infinite values + +See also: [vector_addition_system], [data_word] + +Up: [logic] diff --git a/automata b/automata @@ -0,0 +1,16 @@ +# Automata + +https://en.wikipedia.org/wiki/Finite-state_machine + +- [automata_concepts] +- [automata_types] +- [state_complexity] +- [regular_language] +- [automata_problems] +- [automata_constructions] +- [automata_evaluation] +- [automata_classes] + +Up: [theoretical_computer_science], [formal_language_theory] + +Aliases: automaton diff --git a/automata_acyclic b/automata_acyclic @@ -0,0 +1,9 @@ +# Automata acyclic + +[Automaton] whose underlying [directed_graph] is a [DAG]. + +Recognizes a [finite_language] + +Up: [automata_classes], [automata_weakly_acyclic] + +Aliases: acyclic automata, acyclic automaton diff --git a/automata_bideterministic b/automata_bideterministic @@ -0,0 +1,10 @@ +# Automata bideterministic + +[automata] which are [deterministic] and where the [automata_reversal] is also [deterministic] +- in particular exactly one [initial_state] and [final_state] + +Characterization: a [formal_language] is recognized by a bideterministic automaton iff the [minimal_automaton] of the language is reversible and has a unique [final_state] ([pin1992reversible] proposition 2.1) + +Generalization: [automata_reversible] [pin1992reversible] + +Up: [word_automaton] diff --git a/automata_complementation b/automata_complementation @@ -0,0 +1,7 @@ +# Automata complementation + +- in [linear_time] for [automata_deterministic] +- exponential lower bound on [state_complexity] for [automata_nondeterministic] +- hard also for [word_automaton_unambiguous] + +Up: [complementation], [automata] diff --git a/automata_concepts b/automata_concepts @@ -0,0 +1,13 @@ +# Automata concepts + +- [state] + - [initial_state] + - [final_state] + - [sink_state] + - [transient_state] +- [transition] +- [alphabet] +- [run] + - [accepting_run] + +Up: [automata] diff --git a/automata_constructions b/automata_constructions @@ -0,0 +1,12 @@ +# Automata constructions + +- [chrobak_normal_form] +- [powerset_automata] for [automata_determinization] +- [minimization_automaton] +- [automata_reversal], does not preserve [automata_determistic] +- [automata_complementation] +- [product_automaton], for [automaton_intersection] + +Up: [automata] + +Aliases: automaton construction, automaton constructions diff --git a/automata_deterministic b/automata_deterministic @@ -0,0 +1,8 @@ +# Automata deterministic + +[automata] where for each [state] and [letter] there is at most one outgoing [transition] +- possibly none for [automata_incomplete] + +Up: [automata_types], [determinism_language] + +Aliases: automaton deterministic, deterministic automaton, deterministic automata, DFA, DFAs diff --git a/automata_local b/automata_local @@ -0,0 +1,11 @@ +# Local automata + +[Automaton] where for each [letter] all [transitions] with this [letter] lead to the same [state] + +The [local_languages] are the [formal_languages] that can be recognized by such automata + +Up: [automata_classes] + +See also: [automaton_homogeneous], [glushkov_automaton] + +Aliases: local automata diff --git a/automata_nondeterministic b/automata_nondeterministic @@ -0,0 +1,9 @@ +# Automata nondeterministic (NFA) + +There are known upper bounds on the size of the smallest [automata_deterministic] corresponding to an NFA + +Up: [nondeterministic], [automata_types] + +See also: [epsilon_transition] + +Aliases: nondeterministic automaton, nondeterministic automata, NFA, NFAs diff --git a/automata_problems b/automata_problems @@ -0,0 +1,15 @@ +# Automata problems + +- [synchronizing_word] +- [separating_automaton] +- [automaton_emptiness] +- [automaton_finiteness] +- [universality_automata] +- [minimization_automaton] +- [automaton_inclusion] +- [automaton_equivalence] +- [automaton_cofiniteness] +- [automata_evaluation] +- [automaton_acceptance] + +Up: [automata] diff --git a/automata_random b/automata_random @@ -0,0 +1,7 @@ +# Automata random + +- [random_dfa] + +Up: [automata], [randomness] + +See also: [random_graph] diff --git a/automata_reversible b/automata_reversible @@ -0,0 +1,15 @@ +# Reversible automata + +Described in [pin1992reversible] + +[automata_deterministic] and [automata_co_deterministic] (about [automata_reverse]) + +Extends [automata_bideterministic] by lifting the requirement of having exactly one [initial_state] and exactly one [final_state] + +Class of [formal_language] accepted by a reversible automaton +- is closed under [union] +- membership given an [automata] can be tested in [ptime] pin1992reversible + +See also: [turing_machine_symmetric], [automata_symmetric], [transducer_reversible] + +Up: [word_automaton] diff --git a/automata_self_verifying b/automata_self_verifying @@ -0,0 +1,7 @@ +# Automata self verifying + +- [word_automaton_self_verifying] + +Up: [automata_classes] + +Aliases: self-verifying automaton, self-verifying automata, self verifying automaton, self verifying automata, diff --git a/automata_symmetric b/automata_symmetric @@ -0,0 +1,10 @@ +# Symmetric automata + +Studied in [kutrib2022finite] in a [deterministic] and [nondeterministic] setting + +- open if class is closed under [reversal] +- complexity of testing if an input language is of this form is open + +See also: [automata_reversible], [turing_machine_symmetric] + +Up: [automata] diff --git a/automata_two_way b/automata_two_way @@ -0,0 +1,16 @@ +# Automata two way + +automata that can read the input in both directions + +It is [open_problem] if two-way automata can be determinized in [ptime] and related to open problems in [complexity_theory], cf [kapoutsis2013two]: +[sakoda_sipser_conjecture] + +Can be converted back to [automata_one_way]. +- Elementary construction to get an [automata_nondeterministic] for the complement language in [vardi1989note] with exp(n) blowup +- Elementary construction to get an [automata_deterministic] for the language in [shepherdson1959reduction] with exp(n^2) blowup + +Up: [automata] + +See also: [2rpq] + +Aliases: two-way automaton, two-way automata diff --git a/automata_types b/automata_types @@ -0,0 +1,33 @@ +# Automata types + +- [automata_deterministic] + - [determinism] +- [automata_nondeterministic] +- [automaton_epsilon_transitions] +- [automata_unambiguous] +- [automata_bideterministic] +- [tree_automaton] +- [word_automaton] + - [word_automaton_self_verifying] + - [word_automaton_unambiguous] + - [unambiguity] +- [transducer] +- [automata_alternating] +- [automata_generalized] +- [automata_trimmed] +- [automaton_complete] +- [automata_incomplete] + +## Extensions + +- [stack_automata] + - [pushdown_automaton] +- [queue_automata] +- [counter_automata]: deterministic one-counter automaton +- [register_automata] +- [automatic_relation] +- [vector_addition_system] +- [automata_weighted] +- [omega_automata] + +Up: [automata] diff --git a/automata_unary_ufa b/automata_unary_ufa @@ -0,0 +1,10 @@ +# Automata unary UFAs + +bounds in [okhotin2012unambiguous]: +- on the [state_complexity] of [automata_determinization] (ad hoc function) +- on the [state_complexity] of [kleene_star] ([quadratic]) +- on the [state_complexity] of [complementation] ([quadratic]) + +Up: [automata_unary], [word_automaton_unambiguous] + +Aliases: unary UFA, unary UFAs diff --git a/automata_weighted b/automata_weighted @@ -0,0 +1,17 @@ +# Automata weighted + +[automata] with [weight]s on [transition]s and on [final_state]s + +associates each [word] to an [integer] + +given a [word]: +- [sum] over possible [run]s +- [product] over [transition]s and [final_state]s used + +can be done in [semiring] + +Up: [automata] + +See also: [weighted_mso] + +Aliases: weighted automaton, weighted automata, automaton_weighted diff --git a/automatic_relation b/automatic_relation @@ -0,0 +1,11 @@ +# Automatic relation + +Relation on words defined by [automaton]: you read two words with a padding +symbol, i.e., [automaton_synchronous] + +- Paper about this: [barcelo2023separating] +- [automatic_relation_algebra] + +Up: [automata], [relation] + +See also: [automatic_structure], [automatic_graph], [sequence_automatic] diff --git a/automaton_cofiniteness b/automaton_cofiniteness @@ -0,0 +1,8 @@ +# Automaton cofiniteness + +[ptime] on [automata_deterministic] by [complementation] and [automaton_finiteness] + +[pspace_complete] on [automata_nondeterministic]: +- https://cstheory.stackexchange.com/questions/54090/complexity-of-nfa-cofiniteness + +Up: [automata_problems] diff --git a/automaton_emptiness b/automaton_emptiness @@ -0,0 +1,7 @@ +# Automaton emptiness + +[nl_complete] to check [automaton] emptiness + +Up: [automata_problems], [language_emptiness] + +See also: [automaton_finiteness] diff --git a/automaton_equivalence b/automaton_equivalence @@ -0,0 +1,9 @@ +# Automaton equivalence + +[pspace_complete] on [automata_nondeterministic] + +[ptime] on [automata_deterministic] via [product_construction] + +Up: [automata_problems] + +See also: [language_equivalence], [automaton_inclusion] diff --git a/automaton_homogeneous b/automaton_homogeneous @@ -0,0 +1,9 @@ +# Automaton homogeneous + +[Automaton] where for every [state] q all [transitions] leading to q labeled with the same letter + +See also: [automata_local], [glushkov_automaton] + +Up: [automata_classes] + +Aliases: homogeneous automaton, homogeneous automata diff --git a/automaton_inclusion b/automaton_inclusion @@ -0,0 +1,9 @@ +# Automaton inclusion + +[pspace_complete] for [automata_nondeterministic] + +[ptime] for [automata_deterministic] + +Up: [automata_problems] + +See also: [automaton_equivalence], [language_inclusion] diff --git a/automaton_intersection b/automaton_intersection @@ -0,0 +1,10 @@ +# Automaton intersection + +can be done with [product_construction] + +[computational_complexity] bounds on [automaton_emptiness] of intersection of constant number of [DFAs]: [oliveira2018intersection] +- connections to [3SUM] and [triangle_detection] + +Up: [automaton_constructions], [intersection] + +See also: [regular_expression_conjunction] diff --git a/background_rebuilding b/background_rebuilding @@ -0,0 +1,10 @@ +# Background rebuilding + +Technique for [incremental_maintenance] + +- Can be used for [maximum_matching_approximation] + +Video by [thatchaphol_saranurak] at [simons_institute] +https://simons.berkeley.edu/talks/thatchaphol-saranurak-university-michigan-2023-08-28 + +Up: [incremental_maintenance] diff --git a/backreferences b/backreferences @@ -0,0 +1,9 @@ +# Backreferences + +a way to refer back to something captured in a [regular_expression] (extended with captures) + +Up: [regular_expression] + +See also: [refl_spanner], [spanner], [capture_variable] + +Aliases: back reference, back references, back-reference, back-references diff --git a/backurs2016which b/backurs2016which @@ -0,0 +1,5 @@ +# Backurs2016which + +uses [strong_exponential_time_hypothesis] and [orthogonal_vectors] + +Up: [academic_paper] on [regular_expression_matching] diff --git a/bag_semantics b/bag_semantics @@ -0,0 +1,7 @@ +# Bag semantics + +when [query] returns results with multiset of occurrences + +Up: [database_theory] + +See also: [set_semantics], [containment_bag_semantics] diff --git a/bagan2020trichotomy b/bagan2020trichotomy @@ -0,0 +1,18 @@ +# bagan2020trichotomy + +Article showing [simple_path_trichotomy] + +## Intuition of criterion + +"term" = (w+eps) or (A^{\geq k} + eps) + with w a fixed word, and A some subalphabet +"sequence": concatenation of terms, with fixed words before and after + +tractable class: disjunction of sequences + +tractability is not obvious! intuitively we can "shorten" thanks to the +epsilon + +equivalent reformulation: "closed under skipping" +=> [algebraic_automata_theory] characterization? cf [martens2023trichotomy] in the case of [trail_trichotomy] + +Up: [academic_paper_list] diff --git a/balancing b/balancing @@ -0,0 +1,13 @@ +# Balancing + +Limiting the [height] of a representation + +- balancing [tree_decomposition]: [balancing_tree_decomposition] +- balancing [straight_line_program] +- [tree_balancing] +- [depth_reduction] of [arithmetic_circuit]: [depth_reduction_arithmetic_circuit] +- [dymond1988input] for [VPAs] + +Up: [theoretical_computer_science] + +See also: [hypergraph_balanced] diff --git a/balancing_tree_decomposition b/balancing_tree_decomposition @@ -0,0 +1,7 @@ +# Balancing tree decompositions + +[bodlaender1998parallel], used in [amarilli2018enumeration] + +Up: [balancing], [tree_decomposition] + +See also: [tree_decomposition_updating] diff --git a/batch_partial_match b/batch_partial_match @@ -0,0 +1,16 @@ +# Batch partial match + +Input: +- a database of n vectors of {0,1}^d +- n queries of the same form but with stars (wildcards) +Output: for each query you want to know if a vector of the database matches + +Naive algorithms: +- try all pairs: O(n^2 d) +- preprocess all possible queries: O(2^d n) + +[batch_partial_match_hypothesis] + +Up: [fine_grained_complexity] + +See also: [batch_updates] diff --git a/batch_partial_match_hypothesis b/batch_partial_match_hypothesis @@ -0,0 +1,7 @@ +# Batch partial match hypothesis + +The [batch_partial_match] problem cannot be solved in O(n^{2-epsilon}) + +Actually equivalent to [ov_conjecture] + +Up: [computational_hypothesis] on [batch_partial_match] diff --git a/batch_update_technique b/batch_update_technique @@ -0,0 +1,15 @@ +# Batch update technique + +Design an algo that takes a batch of [update], amortize it with [background_rebuilding], and use it to design an efficient algorithm +- This is a "one-batch algorithm", sometimes you can do a k-batch algorithm and do nesting to get a better complexity + +Video by [thatchaphol_saranurak] at [simons_institute] +https://simons.berkeley.edu/talks/thatchaphol-saranurak-university-michigan-2023-08-28 + +## Application: Graph connectedness under edge deletion + +Can be used for [network_reliability] (undirected graph connectedness) under [edge_deletion] + +batch update algorithm: take a [spanning_tree] and represent the other edges like points in 2d following a [tree_traversal] and do [2d_range_reporting] + +Up: [batch_updates], [incremental_maintenance] diff --git a/batch_updates b/batch_updates @@ -0,0 +1,6 @@ +# Batch updates + +- [batch_updates_support]: supporting batch updates as an [update] operation on [dynamic_data] +- [batch_update_technique]: using as a technique to design algorithms + +Up: [incremental_maintenance] diff --git a/batch_updates_support b/batch_updates_support @@ -0,0 +1,7 @@ +# Batch updates support + +The problem on [dynamic_data] to handle "batch updates" that can change several different elements in one operation, e.g., [search_and_replace] + +- [datta2024query] in [dynamic_complexity] + +Up: [batch_updates] diff --git a/bayes_network b/bayes_network @@ -0,0 +1,9 @@ +# Bayes network + +Can be "tree-structured Bayes network", or have bounded [treewidth] + +"naive Bayes", everything is independent + +Up: [probabilistic_graphical_model] + +See also: [message_passing], [treewidth] diff --git a/bdd b/bdd @@ -0,0 +1,12 @@ +# Binary decision diagram (BDD) + +- [obdd] +- [fbdd] +- [nbdd] + +- [zero_suppressed_semantics] +- [bdd_complete] + +Up: [diagram] + +See also: [branching_program], [read_once_branching_program] diff --git a/berge_graph b/berge_graph @@ -0,0 +1,7 @@ +# Berge graph + +[Undirected_graph] which does not contain an [hole_odd] or an [antihole_odd] + +[strong_perfect_graph_theorem]: a graph is a Berge graph iff it is a [perfect_graph] + +Up: [graph_family] diff --git a/bin_packing b/bin_packing @@ -0,0 +1,11 @@ +# Bin packing + +Problem of fitting objects into containers + +[strongly_np_complete] + +Online version, and version with a limited number of bins opened at any time: see [dufay2022approximation] + +Up: [decision_problem], [optimization_problem] + +See also: [knapsack], [subset_sum_problem] diff --git a/blocking_factor b/blocking_factor @@ -0,0 +1,16 @@ +# Blocking factor + +Blocking factor of [language] is [word] which never occurs as [factor] of a [word] of the language + +- [blocking_factor_minimal] +- [blocking_sequence] + - [blocking_sequence_minimal] + +## Meta-dichotomy + +even for [strongly_connected] [NFA], it's [PSPACE_complete] + - reduction from [NFA_universality] + +See also: [links_seminar_gabriel], [property_testing] + +Aliases: blocking factors diff --git a/bloom_filter b/bloom_filter @@ -0,0 +1,9 @@ +# Bloom filter + +https://en.wikipedia.org/wiki/Bloom_filter + +Also [bloom_filter_dual] + +Up: [data_structure] + +See also: [cache] diff --git a/bloom_filter_dual b/bloom_filter_dual @@ -0,0 +1,7 @@ +# Bloom filter dual + +https://cstheory.stackexchange.com/questions/6596/a-probabilistic-set-with-no-false-positives + +Up: [bloom_filter] + +See also: [cache] diff --git a/bodirsky2024symmetric b/bodirsky2024symmetric @@ -0,0 +1,9 @@ +# bodirsky2024symmetric + +- [datalog_symmetric_linear] +- [datalog_linear] +- [datalog_monadic] +- [datalog_arc_monadic] +- [datalog_symmetric_linear_arc_monadic] + +Up: [academic_paper] on [constraint_satisfaction_problem_datalog] diff --git a/bonifati2017analytical b/bonifati2017analytical @@ -0,0 +1,7 @@ +# Bonifati2017analytical + +inspired [martens2018evaluation] + +Up: [academic_paper] about [sparql_logs] and [regular_expressions_practice] + +See also: [sparql] diff --git a/bool_x b/bool_x @@ -0,0 +1,9 @@ +# Bool[x] + +Like [universal_semiring] but without coefficients + +It is a [dioid] + +Up: [semiring] + +See also: [why_provenance], [boolean_semiring] diff --git a/boolean b/boolean @@ -0,0 +1,9 @@ +# Boolean + +- [decision_problem] +- [query_boolean] +- [formula_boolean] +- [satisfiability_boolean] +- [boolean_semiring] + +Up: [logic] diff --git a/boolean_circuit b/boolean_circuit @@ -0,0 +1,12 @@ +# Boolean circuit + +Expresses [boolean_function] + +- [circuit_complexity] +- [circuit_condition] + +Similar: https://en.wikipedia.org/wiki/Propositional_directed_acyclic_graph + +Up: [circuit] + +See also: [boolean_formula], [knowledge_compilation_classes] diff --git a/boolean_closure b/boolean_closure @@ -0,0 +1,7 @@ +# Boolean closure + +closure under [boolean_operators] + +Up: [logic] + +See also: [closure_operation] diff --git a/boolean_formula b/boolean_formula @@ -0,0 +1,11 @@ +# Boolean formula + +representation of [boolean_function] + +- [read_once] +- [conjunctive_normal_form] +- [disjunctive_normal_form] + +Up: [boolean_function] + +See also: [boolean_circuit], [knowledge_compilation_classes] diff --git a/boolean_function b/boolean_function @@ -0,0 +1,31 @@ +# Boolean function + +- [boolean_function_problems] +- [boolean_function_classes] + +Generalizations: + +- [quantified_boolean_formula] + +Notions: + +- [boolean_operator] +- [prime_implicant] +- [subfunction] +- [boolean_valuation] + - [satisfying_valuation] + - [falsifying_valuation] + +Representations: + +- [boolean_circuit] +- [boolean_formula] + +Problems: + +- [boolean_function_evaluation] + - [interactive_boolean_evaluation] + +Up: [theoretical_computer_science] + +See also: [communication_complexity] diff --git a/boolean_function_evaluation b/boolean_function_evaluation @@ -0,0 +1,5 @@ +# Boolean function evaluation + +- [interactive_boolean_evaluation] + +Up: [boolean_function], [function_evaluation] diff --git a/boolean_function_problems b/boolean_function_problems @@ -0,0 +1,9 @@ +# Boolean function problems + +- [satisfiability_boolean] +- [model_counting] +- [stochastic_boolean_function_evaluation] +- [maj_sat] +- [mpe] + +Up: [boolean_function] diff --git a/boolean_hierarchy b/boolean_hierarchy @@ -0,0 +1,10 @@ +# Boolean hierarchy over NP (BH) + +https://complexityzoo.net/Complexity_Zoo:B#bh + +- [dp] other name for BH2 +- BH is included in [delta2p] + +Up: [complexity_hierarchy] + +See also: [polynomial_hierarchy] diff --git a/boolean_matrix_multiplication b/boolean_matrix_multiplication @@ -0,0 +1,12 @@ +# BMM + +[boolean_matrix_multiplication_hypothesis] + +Variants: +- [combinatorial_boolean_matrix_multiplication] +- [sparse_boolean_matrix_multiplication] + - [fully_sparse_boolean_matrix_multiplication] + +Up: [matrix_multiplication] for [boolean_semiring], [fine_grained_complexity_problems] + +Aliases: matrix multiplication Boolean diff --git a/boolean_matrix_multiplication_hypothesis b/boolean_matrix_multiplication_hypothesis @@ -0,0 +1,11 @@ +# Boolean Matrix Multiplication hypothesis + +Hypothesis: two [boolean_matrix] of n by n cannot be multiplied in O(n^2) + +Note: not everyone believes this! + +Up: [computational_hypothesis] on [boolean_matrix_multiplication] + +See also: [combinatorial_boolean_matrix_multiplication_hypothesis], [omm_conjecture] + +Aliases: BMM hypothesis, BMM conjecture diff --git a/boolean_operator b/boolean_operator @@ -0,0 +1,11 @@ +# Boolean operator + +- [conjunction] / [intersection] +- [disjunction] / [union] +- [xor] +- [negation] / [complementation] +- [setminus] + +Up: [boolean_function] + +Aliases: boolean operators diff --git a/boolean_semiring b/boolean_semiring @@ -0,0 +1,6 @@ +# Boolean semiring + +- the two boolean values, [conjunction] and [disjunction] +- it is a two-element [semiring] + +Up: [semiring] diff --git a/boolean_width b/boolean_width @@ -0,0 +1,11 @@ +# Boolean width + +buixuan2011boolean + +Build a binary [tree] on the vertices of the graph in a certain order such that each edge cut of the tree induces a bipartition where the number of neighborhoods (only considering the neighborhoods to vertices of the other side) is bounded + +Up to a constant factor, the tree can be assumed to be balanced ([balancing]) + +See also: [rankwidth], [twin_width] + +Up: [width_measure] diff --git a/bpp b/bpp @@ -0,0 +1,23 @@ +# BPP + +Class BPP: [algorithm_randomized] for [decision_problem] with [two_sided_error] can err in both directions with proba 1/4. The error probability can be made exponentially small by retrying + +it is not known if BPP is contained in [nptime] + +It is known that if [nptime] subseteq BPP then in fact [nptime] = [rp] : if you have an +efficient algorithm for a NP problem that errs in both directions, then in fact +you can remove errors on one side (uses [self_reducibility]) + +[sipser_lautemann_theorem]: It is known that BPP is in [sigma2_cap_pi2]: https://en.wikipedia.org/wiki/Sipser%E2%80%93Lautemann_theorem +- as BPP is closed under [complementation] it suffices to show that it is in [sigma2] + +Analogue [bpl] BPL with logarithmic space condition + +Corresponding notion of [algorithm] running in [ptime]: "[monte_carlo_algorithm] with bounded probability of two-sided error" + +Generalization [pp], with [two_sided_error] and there is no constant bound on how the probability differs in the case of a YES instance and of a NO instance https://en.wikipedia.org/wiki/PP_(complexity) +- cf [isolated_cut_point] + +Up: [complexity_random] + +See also: [rp], [automaton_monte_carlo_two_sided], [monte_carlo_algorithm] diff --git a/brooks_theorem b/brooks_theorem @@ -0,0 +1,6 @@ +# Brooks' theorem + +Any [graph] of maximal [degree] d admits [graph_coloring] with d colors except +if it is a [clique] or for d=2 a [cycle] of odd length + +Up: [graph_coloring] diff --git a/brzozowskis_algorithm b/brzozowskis_algorithm @@ -0,0 +1,10 @@ +# Brzozowski's algorithm + +[Algorithm] for [automaton_minimization]. + +Take [automaton_mirror] then [determinize] then take [automaton_mirror] then [determinize] + +- [complexity_generic] studied in [defeclice2013brzozowski]: + - [super_polynomial] on [automata_random] + +Up: [minimization_automaton] diff --git a/buchis_theorem b/buchis_theorem @@ -0,0 +1,5 @@ +# Büchi's theorem + +Equivalence of [monadic_second_order_logic] on [word] and of [regular_language] + +Up: [theorem] in [formal_language_theory] diff --git a/burrows_wheeler_transform b/burrows_wheeler_transform @@ -0,0 +1,7 @@ +# BWT + +[gagie2017wheeler] + +Up: [stringology], [compression_string] + +See also: [wheeler_nfa] diff --git a/c2 b/c2 @@ -0,0 +1,12 @@ +# C2 + +[FO2] with [counting_quantifiers] + +Does not enjoy [Craig_interpolation], according to [cate2023craig] + +Does not enjoy [finite_model_property] +- but [satisfiability] is [decidable], cf [pratt2010two] + +subclass: [gc2] + +Up: [logic] diff --git a/c2rpq b/c2rpq @@ -0,0 +1,7 @@ +# C2RPQ + +conjunction of [2rpq] + +Generalization: [uc2rpq] + +Up: [graph_query_languages], [conjunctive_query], [2rpq], [crpq] diff --git a/canonical_labeling b/canonical_labeling @@ -0,0 +1,12 @@ +# Canonical labeling + +Labeling a [graph] to be able to test [graph_isomorphism] just by equality +testing of the labels + +https://mathoverflow.net/a/11715 + +also called "graph canonization" + +See also: [graph_isomorphism] + +Up: [graph] diff --git a/cerny_conjecture b/cerny_conjecture @@ -0,0 +1,7 @@ +# Cerny_conjecture + +https://en.wikipedia.org/wiki/Synchronizing_word + +It is known that an [automata] with a [synchronizing_word] may have no smaller synchronizing word than length (n-1)^2: is there a matching upper bound? + +Up: [synchronizing_word] diff --git a/change_propagation b/change_propagation @@ -0,0 +1,9 @@ +# Change propagation + +[enumeration] of the way the answers to a [query] change after an [update] on [dynamic_data] + +There is apparently practical work on the topic, cf [wang2023change] + +See also: [semijoin] + +Up: [incremental_maintenance_enumeration] diff --git a/chase b/chase @@ -0,0 +1,9 @@ +# Chase + +Process for [database_dependency] to construct [universal_model] + +- [chase_termination] + - [gerlach2023general]: + - cf "weakly acyclic" and other sufficient conditions for chase termination + +Up: [database_theory] diff --git a/chebyshevs_inequality b/chebyshevs_inequality @@ -0,0 +1,9 @@ +# Chebyshev's inequality + +https://en.wikipedia.org/wiki/Chebyshev%27s_inequality + +Pr[|X - EX| \geq epsilon EX] \leq (Var X) epsilon^2 (EX)^2 + +Up: [concentration_inequality] + +See also: [expectation], [variance] diff --git a/chens_theorem b/chens_theorem @@ -0,0 +1,5 @@ +# Chens theorem + +https://en.wikipedia.org/wiki/Chen%27s_theorem + +Up: [number_theory] diff --git a/chrobak_normal_form b/chrobak_normal_form @@ -0,0 +1,5 @@ +# Chrobak normal form + +see [gawrychowski2011chrobak] + +Up: [automata_unary] diff --git a/circuit b/circuit @@ -0,0 +1,53 @@ +# Circuit + +## Fields + +- [knowledge_compilation] + - [knowledge_compilation_classes] +- [circuit_complexity] + - [circuit_classes] + +## Types + +- [boolean_circuit] +- [arithmetic_circuit] +- [probabilistic_circuit] +- [formula] + +## Problems + +- [enumeration_circuit] +- [satisfiability] + +## Measure [circuit_parameter] + +- [depth] +- [circuit_size] +- [weft] +- [fan_in] + +## Conditions + +[circuit_condition] + +## Definitions + +- [gate] +- [wire] + +## Research + +[chattopadhyay2021lower] for recent research on circuit classes and +[communication_complexity] + +## Operations + +- [tseytin_transformation] + +## Beware + +- [positive_vs_monotone] + +Up: [theoretical_computer_science] + +See also: [sum_product_network] diff --git a/circuit_classes b/circuit_classes @@ -0,0 +1,13 @@ +# Circuit classes + +In [circuit_complexity]: + +- [nc] NC, in particular [nc0], [nc1]... +- [ac] AC, [ac0], etc. +- [tc] TC, [tc0], etc. +- [acc] ACC, [acc0], etc. + - liens avec [solvable_group] + +Up: [circuit] + +See also: [knowledge_compilation_classes] diff --git a/circuit_complexity b/circuit_complexity @@ -0,0 +1,8 @@ +# Circuit complexity + +- [circuit_classes] +- [circuit_complexity_query_evaluation] +- [circuit_complexity_formal_language] +- [circuit_parameter] + +Up: [circuit] diff --git a/circuit_complexity_query_evaluation b/circuit_complexity_query_evaluation @@ -0,0 +1,7 @@ +# Circuit complexity query evaluation + +[wang2022query] + +Up: [circuit_complexity] of [query_evaluation] + +See also: [optimal_joins] diff --git a/circuit_condition b/circuit_condition @@ -0,0 +1,11 @@ +# Circuit condition + +Conditions that can be posed on [circuit] + +- [decomposability] +- [deterministic] +- [structuredness] (e.g., [vtree]) + +Up: [circuit] + +See also: [knowledge_compilation_classes] diff --git a/circuit_lower_bound b/circuit_lower_bound @@ -0,0 +1,5 @@ +# Circuit lower bound + +best known bound on an explicit function: [find2015better], (3+1/86)n - o(n) lower bound on the size of [boolean_circuit] for a [boolean_function] + +Up: [circuit_size] diff --git a/circuit_parameter b/circuit_parameter @@ -0,0 +1,8 @@ +# Circuit parameter + +- [depth] +- [weft] +- [fan_in] +- [circuit_size] + +Up: [parameter] of [circuit] diff --git a/circuit_rank b/circuit_rank @@ -0,0 +1,7 @@ +# Circuit rank + +https://en.wikipedia.org/wiki/Circuit_rank + +See also: [feedback_edge_number], [cycle_rank] + +Up: [width_measure] diff --git a/circuit_size b/circuit_size @@ -0,0 +1,7 @@ +# Circuit size + +can be number of [gate]s, or number of [wire]s + +- [circuit_lower_bound] + +Up: [circuit_complexity] diff --git a/circular_pattern_matching b/circular_pattern_matching @@ -0,0 +1,5 @@ +# Circular pattern matching (CPM) + +like [pattern_matching] but you can make [circular_rotation] on the pattern to match + +Up: [pattern_matching] diff --git a/classification b/classification @@ -0,0 +1,9 @@ +# Classification + +Classification problem in [machine_learning], e.g., classifying spam, email... + +- [vc_dimension] +- [decision_tree] +- [random_forest] + +Up: [artificial_intelligence] diff --git a/clique b/clique @@ -0,0 +1,19 @@ +# Clique + +https://en.wikipedia.org/wiki/Clique_(graph_theory) + +[graph_complete] as [subgraph] of a [graph]. Cf [clique_problem] + +- [clique_listing] + - [triangle_listing] +- [clique_counting] + +[zero_clique] / [negative_clique] + +clique on [hypergraph]: [hyperclique] + +- [planted_clique] "planted clique": problem of distinguishing a [graph] with a hidden clique from a random graph + +Up: [graph] + +See also: [cliquewidth], [fine_grained_complexity], [treewidth], [graph_minor], [graph_complete], [hyperclique] diff --git a/clique_listing b/clique_listing @@ -0,0 +1,9 @@ +# Clique listing + +Bound: graph with m edges has at most plus O(m^{k/2}) k-cliques + +Special case: [triangle_listing] + +Up: [subgraph_listing] of [clique] + +See also: [clique_problem], [clique_counting] diff --git a/clique_problem b/clique_problem @@ -0,0 +1,16 @@ +# Clique problem + +Problem of finding [clique] in input [graph] + +Also: +- subgraph with the largest proportion of edges ([np_hard] for the same reason), +- [densest_subgraph]: subgraph of maximal density (#edges/#vertices) which is [ptime] and +reducible to [network_flow] + +- [4clique_hypothesis] + +Up: [graph_problem] of finding [clique] + +See also: [clique_listing], [hyperclique_detection], [hyperclique_conjecture], [cycle_problem] + +Aliases: k_clique diff --git a/cnf_to_decision_dnnf b/cnf_to_decision_dnnf @@ -0,0 +1,7 @@ +# CNF to decision-DNNF + +[oztok2014compiling] + +introduces [decision_width] of [conjunctive_normal_form], which amounts to a bound on [primal_treewidth] + +Up: [conversion] of [conjunctive_normal_form] to [decision_dnnf] diff --git a/cograph b/cograph @@ -0,0 +1,7 @@ +# Cograph + +https://en.wikipedia.org/wiki/Cograph + +The class of cographs is the class of [graph] defined by starting from the single vertex graph and closing by the [complementation] and [disjoint_union] operations + +Up: [graph_family] diff --git a/color_refinement_query_evaluation b/color_refinement_query_evaluation @@ -0,0 +1,9 @@ +# Color refinement query evaluation + +algorithm in [riveros2024color] which does [query_evaluation] faster with a data structure inspired by color refinement + +for [conjunctive_query_acyclic] + +Up: [weisfeiler_leman], [query_evaluation] + +See also: [yannakakis_algorithm] diff --git a/combinatorial_boolean_matrix_multiplication b/combinatorial_boolean_matrix_multiplication @@ -0,0 +1,5 @@ +# Combinatorial Boolean matrix multiplication + +[combinatorial_boolean_matrix_multiplication_hypothesis] + +Up: [algorithm_combinatorial] for [matrix_multiplication_boolean] diff --git a/combinatorial_boolean_matrix_multiplication_hypothesis b/combinatorial_boolean_matrix_multiplication_hypothesis @@ -0,0 +1,9 @@ +# Combinatorial Boolean matrix multiplication hypothesis + +[hypothesis]: there are no O(n^{3-epsilon}) time [algorithm_combinatorial] for [boolean_matrix_multiplication] for epsilon>0 + +Connected to [omv_hypothesis] + +Up: [computational_hypothesis] on [combinatorial_boolean_matrix_multiplication] + +See also: [boolean_matrix_multiplication_hypothesis], [omm_conjecture] diff --git a/combinatorics b/combinatorics @@ -0,0 +1,38 @@ +# Combinatorics + +## Subareas + +- [enumerative_combinatorics] +- [extremal_combinatorics] +- [word_combinatorics] + +## Results + +- [ramsey_turan_theory] + - [ramsey_theorem] +- [sunflower_lemma] +- [higmans_lemma] +- erdos-szekeres theorem on the existence of nonincreasing/nondecreasing [subsequence] of size sqrt(n) in a sequence of length n + +## Techniques + +- [double_counting] + +## Specific problems/objects + +- [universal_tree] https://games-automata-play.github.io/blog/universal_trees/ +- [sparse_rulers] +- [golomb_ruler] / [sidon_set] +- sequences without [arithmetic_progression]s + - [salem_spencer_set] +- [angel_problem] +- [german_tank_problem] + - frequentist interpretation vs bayesian interpretatino +- [superpermutation] +- [social_golfer_problem] +- [menage_problem] +- [oberwolfach_problem] + +Up: [mathematics] + +See also: [discrete_mathematics] diff --git a/combined_complexity b/combined_complexity @@ -0,0 +1,9 @@ +# Combined complexity + +[complexity] when [database_instance] and [query] given as [input] + +foundational paper by [vardi] introducing this: [vardi1982complexity] + +Up: [database_theory_complexity] + +See also: [parameterized_complexity], [query_complexity], [data_complexity] diff --git a/common_subsequence b/common_subsequence @@ -0,0 +1,10 @@ +# Common subsequence + +- [longest_common_subsequence] + - [longest_parameterized_common_subsequence] +- [maximal_common_subsequence] +- [common_subsequence_automaton] + +Up: [subsequence] + +Aliases: common subsequences diff --git a/complementation b/complementation @@ -0,0 +1,8 @@ +# Complementation + +- [ddnnf_complementation] +- [graph_complementation] + +Up: [logic], [boolean_operator] + +Aliases: complement diff --git a/complexity b/complexity @@ -0,0 +1,10 @@ +# Complexity + +- [computational_complexity] +- [circuit_complexity] +- [state_complexity] +- [kolmogorov_complexity] + +Up: [theoretical_computer_science] + +See also: [complexity_as_a_service], [complexity_zoo] diff --git a/complexity_class b/complexity_class @@ -0,0 +1,47 @@ +# Complexity class + +## Classes + +- [complexity_space] + - [nlogspace] + - [logspace] +- [complexity_time] + - [ptime] / [p_complete] + - [linear_time], [linear_time_nearly], [linear_time_almost] + - [np_intermediate], cf [ladners_theorem] + - [nptime] + - [conptime] + - [np_cap_conp] + - [exptime] + - [nexptime] + - [spanl] + - [pp] + - [pspace] + - [pspace_complete] + - [oplusp] oplusP + - [us] US + +## [complexity_hierarchy] + +- [boolean_hierarchy] +- [polynomial_hierarchy] + +## Variants + +- [counting_complexity] + - [sharpp] +- [approximation_class] +- [complexity_random] +- [advice] + - [p_poly] P/poly + - [l_poly] L/poly +- [optimization_problem] + - [NPO] + +## Results + +- [time_hierarchy_theorem] / [space_hierarchy_theorem] +- https://mathoverflow.net/questions/40770/how-do-we-know-that-p-linspace-without-knowing-if-one-is-a-subset-of-the-othe/40771#40771 + - P is different from SPACE(n) + +Up: [computational_complexity] diff --git a/complexity_random b/complexity_random @@ -0,0 +1,13 @@ +# Randomized complexity class + +- [rl]: randomized [logspace] +- [rp] +- [bpp] +- [zpp] + - [logspace] version [zplp] + +No notion of [complete] problem for these classes (?) + +Up: [complexity_class] with [randomness] + +See also: [fpras], [approximation_class] diff --git a/complexity_rectangular b/complexity_rectangular @@ -0,0 +1,5 @@ +# Complexity rectangular + +used in [day2022subsequence] to mean O(nm) when there are two inputs n and m + +Up: [computational_complexity] diff --git a/complexity_space b/complexity_space @@ -0,0 +1,7 @@ +# Complexity_space + +- [savitchs_theorem]: we can simulate [nondeterministic] machine with quadratic blowup in space + +Up: [complexity] + +See also: [complexity_time] diff --git a/compression b/compression @@ -0,0 +1,10 @@ +# Compression + +- [rnn_compression] +- [compression_algorithm] +- [compression_audio] +- [compression_string] +- [algorithms_on_compressed_data] +- [compression_natural_language] + +Up: [computer_science] diff --git a/compression_algorithm b/compression_algorithm @@ -0,0 +1,12 @@ +# Compression algorithm + +- [lz77] +- [lz4] (fast) +- [bwt] +- [7zip] +- [lzma] +- [neural_network_compression] +- [huffman_algorithm] +- [run_length_encoding] + +Up: [computer_science] diff --git a/compression_string b/compression_string @@ -0,0 +1,8 @@ +# Compression string + +- [straight_line_program] +- [lempel_ziv] +- [burrows_wheeler_transform] +- [substring_complexity] + +Up: [compression], [string] diff --git a/computational_complexity b/computational_complexity @@ -0,0 +1,58 @@ +# Computational complexity + +## Notions + +- [complexity_space] +- [complexity_time] + +- [computational_hardness] + +- [complexity_class] +- [complexity_hierarchy] + +- [complexity_worst_case] +- [complexity_average] +- [complexity_best_case] + +- [complexity_generic] + +## Specific classes + +- [complexity_random] +- [complexity_class] +- [logcfl] / [logdcfl] +- [parameterized_complexity] +- [approximation_class] + - [apx] +- [counting_complexity] + - [sharpp] +- [complexity_rectangular] + +## [database_theory] + +- [data_complexity] +- [combined_complexity] + +## Problems + +- [satisfiability_boolean] + +## Results + +- [ladners_theorem] +- [complexity_zoo] + +## Techniques + +- [log_shaving] + +## Resources + +- valeurs possibles sur wikipedia: en.wikipedia.org/wiki/Time_complexity +- [descriptive_complexity] +- [lower_bounds] +- [klees_measure_problem] + +Up: [theoretical_computer_science], [complexity] + +See also: [computability], [metacomplexity], [chaos_theory], [decidability], [lower_bounds] diff --git a/computational_geometry b/computational_geometry @@ -0,0 +1,9 @@ +# Computational geometry + +- [packing_problem] +- Klee's measure problem: find the volume of a union of rectangles / find if they cover the entire space + - we can see [satisfiability_boolean] in this way, more specifically the validity problem of a [disjunctive_normal_form] formula +- [convex_hull] +- [closest_pair_of_points] + +Up: [geometry], [computer_science] diff --git a/computational_problem b/computational_problem @@ -0,0 +1,41 @@ +# Problem + +## Types + +- [decision_problem] +- [optimization_problem] +- [approximation_problem] +- [counting_problem] + +## Terminology + +- [input] +- [output] +- [complexity] + +## Subareas + +- [fine_grained_complexity_problems] + +## Classes of problems + +- [reconfiguration_problem] +- [packing_problem] + +## Specific problems + +- [clique_problem] +- [constraint_satisfaction_problem_tractability] +- [graph_problem] +- [maximum_matching_problem] +- [minimum_formula_size_problem] +- [partition_problem] +- [smallest_grammar_problem] +- [warings_problem] +- [word_problem] +- [tiling_problem] +- [domino_problem] + +Up: [theoretical_computer_science] + +Aliases: computational problems diff --git a/computer_algebra b/computer_algebra @@ -0,0 +1,6 @@ +# Computer algebra + +- [grobner_basis], seems useful to solve [polynomial_equation] +- matrixcalculus.org, calculs matriciels (différentiation etc) + +Up: [mathematics] diff --git a/computer_science b/computer_science @@ -0,0 +1,8 @@ +# Computer science + +- [data_structure] +- [computer_science_fields] + +Up: [natural_science] about [computer] + +See also: [informatique], [mathematics] diff --git a/computer_science_fields b/computer_science_fields @@ -0,0 +1,15 @@ +# Computer science fields + +- [computational_social_choice] +- [security] +- [satisfiability] +- [scheduling] +- [optimization] +- [bioinformatics] +- [nlp] +- [theoretical_computer_science] +- [machine_learning] / [artificial_intelligence] +- [graph_theory] +- [compression_algorithm] + +Up: [computer_science] diff --git a/concatenation b/concatenation @@ -0,0 +1,9 @@ +# Concatenation + +Operation on [word] + +It is [associativity] + +See also: [theory_of_concatenation], [concatenation_hierarchy] + +Up: [formal_language_operator] diff --git a/concentration_inequality b/concentration_inequality @@ -0,0 +1,8 @@ +# Concentration inequality + +- [chebyshevs_inequality] +- [chernoff_bounds] +- [markovs_inequality] +- [hoeffdings_inequality] + +Up: [inequality_mathematics], [probabilities] diff --git a/confidence_interval b/confidence_interval @@ -0,0 +1,8 @@ +# Confidence interval + +- [central_limit_theorem] +- [concentration_inequaliy] + - [chebyschevs_inequality] + - [hoeffdings_inequality] + +Up: [probabilities] diff --git a/congruence_relation b/congruence_relation @@ -0,0 +1,7 @@ +# Congruence relation + +An [equivalence_relation] preserving an [algebraic_structure], for instance it must be compatible with the group operation when defined over a [group] + +See also: [normal_subgroup] + +Up: [equivalence_relation] diff --git a/conjecture b/conjecture @@ -0,0 +1,26 @@ +# Conjecture + +[mathematics_meta] about conjectures : + - https://igorpak.wordpress.com/2020/12/10/what-if-they-are-all-wrong/ + +- [Cerny_conjecture] +- [Cramer's_conjecture] +- [exact_triangle_conjecture] +- [Goldbach_conjecture] +- [Hadwiger_conjecture] +- [Lovasz_conjecture] +- [OV_conjecture] + - [K_OV_conjecture] + - [OMv_conjecture] +- [Q9_conjecture] +- [reconstruction_conjecture] +- [Ringel's_conjecture] +- [Sakoda_Sipser_conjecture] +- [Tuzas_conjecture] +- [unfair_01_polynomial_conjecture] +- [unique_games_conjecture] +- [bunkbed_conjecture] + +Up: [mathematics_meta] + +See also: [hypothesis] diff --git a/conjunction b/conjunction @@ -0,0 +1,8 @@ +# Conjunction + +- [conjunctive_query] +- [conjunctive_normal_form] + +Up: [boolean_operator] + +See also: [disjunction], [intersection] diff --git a/conjunctive_context_free_path_query b/conjunctive_context_free_path_query @@ -0,0 +1,7 @@ +# Conjunctive context free path query (CCFPQ) + +- [helling2014conjunctive] + +Up: [graph_query_languages] + +See also: [crpq], [context_free_grammar] diff --git a/conjunctive_normal_form b/conjunctive_normal_form @@ -0,0 +1,35 @@ +# Conjunctive normal form (CNF) + +[conjunction] of [clause], each is a [disjunction] of [literal] + +- [monotone_cnf] +- [2cnf] + - [monotone2cnf] +- [3cnf] +- [kcnf] + +lower bound on size of CNF relative to [disjunctive_normal_form] + +[variable_clause_difference] + +Graphs: + +- [primal_graph] +- [dual_graph] +- [incidence_graph] + +Parameters: +- [clause_width] +- [primal_treewidth] +- [dual_treewidth] +- [incidence_treewidth] + +[conversion]: +- [cnf_to_dnnf] +- [cnf_to_decision_dnnf] + +See also: [disjunctive_normal_form], [dualization] + +Up: [boolean_formula] + +Aliases: CNF, CNFs diff --git a/conjunctive_query b/conjunctive_query @@ -0,0 +1,20 @@ +# Conjunctive query (CQ) + +Examples: +- [triangle] + +Subclasses: +- [sjfcq] / [self_join] +- [conjunctive_query_full] / [conjunctive_query_boolean] +- [conjunctive_query_hierarchical] +- [conjunctive_query_acyclic] +- [conjunctive_query_self_join_free] + +Generalization: +- [conjunctive_query_signed] + +Up: [query_language] + +See also: [conjunction] + +Aliases: CQ, CQs diff --git a/conjunctive_query_acyclic b/conjunctive_query_acyclic @@ -0,0 +1,19 @@ +# Acyclic CQs + +Can be evaluated by [yannakakis_algorithm] following a [join_tree] + +- [acyclic_free_connex] + +the evaluation problem is in the complexity class [logcfl], and the the complexity is in O(database×query + output) + +We can test in linear time if a hypergraph is acyclic and if so build the join tree: [gyo] algorithm + +For Boolean queries, even with [self_join], if the query is not acyclic then we can reduce from a hard problem ([triangle_detection] ou [hyperclique_detection]) + +Special case: [conjunctive_query_hierarchical] + +See also: [fagin1983degrees], [guarded_fragment], [alpha_acyclic], [conjunctive_query_cyclic] + +Up: [conjunctive_query] + +Aliases: acyclic conjunctive query, acyclic conjunctive queries, acyclic CQ, acyclic CQs, CQ acyclic diff --git a/conjunctive_query_cyclic b/conjunctive_query_cyclic @@ -0,0 +1,9 @@ +# Conjunctive query cyclic + +[CQ] which is not [CQ_acyclic] + +See also: [conjunctive_query_acyclic] + +Up: [conjunctive_query] + +Aliases: cyclic CQs, cyclic CQ diff --git a/conjunctive_query_diversity b/conjunctive_query_diversity @@ -0,0 +1,7 @@ +# Conjunctive query diversity + +- [merkl2023diversity] + +Up: [diversity] of [conjunctive_query] + +See also: [conjunctive_query_representativity] diff --git a/conjunctive_query_optimization b/conjunctive_query_optimization @@ -0,0 +1,6 @@ +# Conjunctive query optimization + +- [acyclic_query] +- [optimal_joins] + +Up: [query_optimization] of [conjunctive_query] diff --git a/conjunctive_query_representativity b/conjunctive_query_representativity @@ -0,0 +1,7 @@ +# Conjunctive query representativity + +[agarwal2025computing] + +Up: [representativity] of [conjunctive_query] + +See also: [conjunctive_query_diversity] diff --git a/conjunctive_query_signed b/conjunctive_query_signed @@ -0,0 +1,12 @@ +# CQ with negated atoms + +a [conjunctive_query] with [negation] on some [atom]s + +- [capelli2023direct] + - also zhao2023conjunctive +- [fink2016dichotomies] +- [enumeration_cqs]: see [segoufin2015constant] which cites [brault2014pertinence] + +Up: [conjunctive_query] with [negation] + +See also: [hypergraph_signed] diff --git a/conl b/conl @@ -0,0 +1,5 @@ +# Co-NL + +[complement] of [nlogspace], equal to [logspace] by [immerman_szelepcsenyi_theorem] + +Up: [nlogspace] diff --git a/connectivity b/connectivity @@ -0,0 +1,14 @@ +# Connectivity + +Problem of knowing how many edges/vertices you must remove from a [graph] in order to disconnect it ([connected_component]) + +- [vertex_connectivity] +- [edge_connectivity] + +- [connectivity_weighted] + +- [dynamic_connectivity] + +See also: [mengers_theorem], [minimum_cut], [connected_graph] + +Up: [graph] diff --git a/connectivity_weighted b/connectivity_weighted @@ -0,0 +1,5 @@ +# Connectivity weighted + +[connectivity] problems are also tractable on [graph_weighted], since they can be solved by [network_flow] [algorithm] + +Up: [connectivity], [weights] diff --git a/constraint_satisfaction_problem_enumeration b/constraint_satisfaction_problem_enumeration @@ -0,0 +1,7 @@ +# Constraint satisfaction problem enumeration + +[creignou2011enumerating] + +Up: [constraint_satisfaction_problem], [enumeration] + +See also: [constraint_satisfaction_problem_knowledge_compilation], [schaefers_dichotomy_theorem] diff --git a/context_free_grammar b/context_free_grammar @@ -0,0 +1,40 @@ +# Context free grammar + +## Concepts + +- [nonterminal] +- [terminal] +- [production] +- [axiom] +- [derivation_tree] +- [context_free_language] + +## Equivalence + +[context_free_grammar_pushdown_automaton_equivalence] + +## Subclasses + +- [context_free_grammar_deterministic] +- [context_free_grammar_unambiguous] +- [context_free_grammar_linear] +- [context_free_grammar_bounded] +- [inherently_ambiguous] + +## Complexities + +- [logcfl] +- [logdcfl] + +## Problems + +- [context_free_grammar_equivalence] +- [smallest_grammar_problem] + +## Fields + +- [parsing] + +See also: [regular_language], [chomsky_hierarchy], [context_free_language], [inherently_ambiguous], [graph_grammar], [semilinear_set], [language_power_series] + +Up: [formal_language_theory] diff --git a/context_free_grammar_bounded b/context_free_grammar_bounded @@ -0,0 +1,7 @@ +# Bounded context-free grammar + +[polynomial] [density_function] + +Up: [context_free_grammar] + +See also: [regular_language_sparse] diff --git a/context_free_grammar_linear b/context_free_grammar_linear @@ -0,0 +1,9 @@ +# Context free grammar linear + +https://en.wikipedia.org/wiki/Linear_grammar + +Testing [language_emptiness] of [intersection] is already [undecidable] by reduction from [post_correspondence_problem] + +Up: [context_free_grammar] + +Aliases: linear grammar, linear grammars, linear context-free grammar, linear context-free grammars diff --git a/context_free_grammar_unambiguous b/context_free_grammar_unambiguous @@ -0,0 +1,9 @@ +# Unambiguous CFG + +An unambiguous CFG is a [context_free_grammar] where for every [word] in the language there is exactly one [derivation_tree] + +[parsing] for an unambiguous CFG is more efficient + +Up: [unambiguity], [context_free_grammar] + +See also: [inherently_ambiguous] diff --git a/context_free_language b/context_free_language @@ -0,0 +1,9 @@ +# Context free language + +[language] accepted by [context_free_grammar] + +- [context_free_language_membership] + +Up: [language], [context_free_grammar] + +Aliases: context-free languages, context free languages, context-free language, CFL diff --git a/context_free_language_membership b/context_free_language_membership @@ -0,0 +1,8 @@ +# Context free language membership + +- [context_free_language_membership_fine_grained] +- [parsing] + - [CYK] + - [Valiant's_parser] + +Up: [membership_problem], [context_free_language] diff --git a/context_free_language_membership_fine_grained b/context_free_language_membership_fine_grained @@ -0,0 +1,6 @@ +# Context free language membership fine grained + +- [koutris2023fine] +- [istomina2023fine] + +Up: [context_free_language_membership], [fine_grained_complexity] diff --git a/conversion b/conversion @@ -0,0 +1,13 @@ +# Conversion + +## For circuits + +[conversion_circuit] + +## For other objects + +- [conversion_automata] + +Up: [knowledge_compilation] + +See also: [amarilli2019connecting] diff --git a/conversion_regular_expression_automata b/conversion_regular_expression_automata @@ -0,0 +1,6 @@ +# Conversion regular expression automata + +- [thompson_automaton] +- [glushkov_automaton] + +Up: [conversion_automata], [regular_expression] diff --git a/core_semiring b/core_semiring @@ -0,0 +1,7 @@ +# Core semiring + +[semiring] of the elements of the form \bottom+x in a [partially_ordered_pre_semiring] + +It is a [semiring] and it is [natural_order]. + +Up: [partially_ordered_pre_semiring] diff --git a/counter_automata_definition b/counter_automata_definition @@ -0,0 +1,16 @@ +# Counter automata definition + +from [gelade2009regular]: + +- counter variables +- function that gives initial values to counters +- function that gives maximal values to counters + - beyond these maximal values you ignore what the value is +- transitions have + - a guard: boolean combination of equalities and inequalities on counter values + - an update operation: increment counter or reset counter (to its initial value?) +- final states also have a guard + +[counter_automata_deterministic] + +Up: [counter_automata] diff --git a/counter_automata_deterministic b/counter_automata_deterministic @@ -0,0 +1,5 @@ +# Counter automata deterministic + +for every *reachable* configuration (state, counter states), for every letter, there is at most one transition which is applicable (= whose guard is satisfied) + +Up: [counter_automata_definition], [automata_deterministic] diff --git a/counter_automata_trees b/counter_automata_trees @@ -0,0 +1,5 @@ +# Counter automata trees + +- [herrmann2024global] https://arxiv.org/html/2406.15090v1 [one_counter_automata] with one global counter passed in [lexicographic_order] + +Up: [counter_automata], [tree_automaton] diff --git a/counting_cqs b/counting_cqs @@ -0,0 +1,22 @@ +# Counting CQ results + +Given a [conjunctive_query] and a [database_instance], count the number of answers. + +Can be studied in [data_complexity], [query_complexity], or [combined_complexity]. Of course in [data_complexity] it is always [ptime]. + +Results: + +- Exact counting is [sharpp_complete] in [query_complexity] +- For [acyclic_CQs]: [ptime] with counting variant of [Yannakakis's_algorithm] +- For bounded [generalized_hypertree_width]: + - [arenas2021when]: approximate counting [fpras] for bounded [generalized_hypertree_width]generalized_hypertree_width + - extended by [vanbremen2023probabilistic] + - [self-joins] can be a problem + +Related task: [sampling_cqs] + +[academic_papers]: +- [chen2023counting], journal version of [chen2015trichotomy] and [greco2014counting] +- context explained in https://dbt.zulipchat.com/#narrow/stream/413229-Paper-announcements/topic/Papers.20about.20counting.20CQs + +Up: [counting_query_answers] for [conjunctive_query] diff --git a/counting_problem b/counting_problem @@ -0,0 +1,18 @@ +# Counting problem + +[computational_problem] asking for the [counting] of something + +- in [graph]: + - [matching_counting] + - [triangle_counting] + - [maximal_independent_set_counting] Counting [maximal_independent_set] +- [counting_query_answers] + - [counting_cqs] +- For [satisfiability_boolean]: [sharp_satisfiability] +- [counting_simple_path]s +- [sharp_automaton]: + - [sharp_nfa], cf [arenas2020efficient] + - [sharp_ufa] + - [sharp_dfa] + +Up: [computational_problem], [counting] diff --git a/counting_quantifier b/counting_quantifier @@ -0,0 +1,8 @@ +# Counting quantifier + +- [c2]: [fo2] with counting quantifier +- [c2]+tree, c2+[linear_order] + +Up: [logic] + +Aliases: counting quantifiers diff --git a/counting_query_answers b/counting_query_answers @@ -0,0 +1,9 @@ +# Counting query answers + +The [counting_problem] of [counting] the answers to a [query] + +- for [conjunctive_query]: [counting_cqs] +- for [union_of_conjunctive_queries]: [counting_ucqs] +- [rpq_counting_answers] + +Up: [counting_problem] diff --git a/counting_ucqs b/counting_ucqs @@ -0,0 +1,7 @@ +# Counting UCQs + +[Academic_paper]: [focke2023counting], which reinterprets [chen2016counting] + +Up: [counting_query_answers] for [union_of_conjunctive_queries] + +See also: [counting_cqs] diff --git a/courcelle_theorem b/courcelle_theorem @@ -0,0 +1,15 @@ +# Courcelle theorem + +by [courcelle] + +Applies to [treelike_data] + +Also: bounded [cliquewidth] if we are given a witness of cliquewidth + +time f(|phi|, width) times linear in the graph + +Up: [theorem] on [monadic_second_order_logic_model_checking], [algorithmic_metatheorem] + +Aliases: Courcelle's theorem + +See also: [treewidth] diff --git a/craig_interpolation b/craig_interpolation @@ -0,0 +1,9 @@ +# Craig interpolation + +For every [implication] φ => ψ, there is a formula χ using only the common [relation_symbol]s of φ and ψ such that φ => χ and χ => ψ + +[cate2023craig]: [survey_article] on [craig_interpolation] for [guarded_fragment] + +Up: [property] of [logical_fragment] + +See also: [logical_separability], [beth_definability] diff --git a/crpq b/crpq @@ -0,0 +1,14 @@ +# CRPQ + +- [c2rpq] +- [ucrpq] +- [rpq] +- [conjunctive_query] + +Generalization: [conjunctive_context_free_path_query] + +- [crpq_containment] + +Up: [graph_query_languages] + +Aliases: CRPQs diff --git a/cycle b/cycle @@ -0,0 +1,22 @@ +# Cycle + +A [simple_path] from one [vertex] to itself (= the path is simple except that the first vertex is equal to the last) + +In [undirected_graphs], cycles are typically required to have length at least 3 ([triangle]). + +In [directed_graphs], two vertices u and v with an [edge] from u to v and another [edge] from v to u can count as a cycle; + - [self_loops] can arguably count as a cycle as well + +Variants: +- [circuit_graph] if the same [vertices] (but not [edges]) can be visited multiple times + - like a [trail] compared to a [simple_path] +- [tour] if the same [vertices] and [edges] can be visited multiple times + - like a [walk] compared to a [simple_path] + +- [cycle_induced] + +Up: [graph_basic_notions] + +Aliases: cycles + +See also: [2_regular] diff --git a/cycle_induced b/cycle_induced @@ -0,0 +1,10 @@ +# Cycle induced + +[Cycle] which is an [induced_subgraph], i.e., which does not have a [chord] + +- [triangle] +- [hole]: induced cycle of length at least 4 + +Up: [cycle] + +Aliases: induced cycle diff --git a/cycle_rank b/cycle_rank @@ -0,0 +1,7 @@ +# Cycle rank + +https://en.wikipedia.org/wiki/Cycle_rank + +See also: [feedback_edge_number], [pathwidth_directed], [treewidth_directed], [circuit_rank], [strahler_number], [star_height], [eggans_theorem], [cycle] + +Up: [width_measure] for [graph_directed] diff --git a/data_complexity b/data_complexity @@ -0,0 +1,9 @@ +# Data complexity + +complexity for fixed [query] when [database] given as input + +introduced in [vardi1982complexity] + +Up: [database_theory_complexity] + +See also: [combined_complexity], [query_complexity] diff --git a/data_structure b/data_structure @@ -0,0 +1,18 @@ +# Data structure + +- [list] +- [array] +- [tree] / [forest] +- [graph] +- [stack] +- [queue] + - [priority_queue] +- [van_emde_boas_tree] +- [binary_search_tree] +- [heap] +- [bloom_filter] +- [brodal_queue] + +See also: [sketching], [algorithms] + +Up: [computer_science] diff --git a/database_dependency b/database_dependency @@ -0,0 +1,31 @@ +# Dependency (databases) + +An [implication] in [first_order_logic] with [universal_quantifier]s and with a [conjunction] of [atom] on the left-hand-side + +## Terminology + +- [dependency_body] +- [dependency_head] + +## Classes + +- [tuple_generating_dependency] +- [equality_generating_dependency] + - [functional_dependency] + +## Generalization + +- [disjunctive_dependency] + - [disjunctive_tuple_generating_dependency]: right hand side is [disjunction] of [conjunction] of [atom]s + +## Problems + +- [entailment] + - [entailment_finite] + - [entailment_unrestricted] + - [finite_controllability] +- [dependency_expressiveness] + +Up: [integrity_constraint] + +Aliases: dependencies, dependency, database dependencies diff --git a/database_repairs b/database_repairs @@ -0,0 +1,15 @@ +# Database repairs + +[amezianelkhalfioui2022consistent]: [consistent_query_answering] plus [counting] + +[marconi2024consistent] + +with [preference]s: [pardal2024computational] + +- [repair_counting] + +Up: [database_theory] + +See also: [language_repair], [graph_modification] + +Aliases: database repair diff --git a/database_theory b/database_theory @@ -0,0 +1,14 @@ +# Database theory + +- [database_theory_survey] +- [database_theory_gems] +- [database_theory_techniques] +- [database_theory_concepts] +- [database_theory_complexity] + +- [query_language] + - [graph_query_languages] + +See also: [databases], [database_startups], [description_logics], [finite_model_theory] + +Up: [research_fundamental] of [database_research] diff --git a/database_theory_concepts b/database_theory_concepts @@ -0,0 +1,15 @@ +# Database theory concepts + +- [relational_signature] + - [database_relation] + - [arity] +- [instance] + - [set_semantics] vs [bag_semantics] +- [query] +- [query_evaluation] +- [combined_complexity] / [data_complexity] +- [query_containment] +- [omqa] + - [omqa_finite] vs [omqa_unrestricted] + +Up: [database_theory] diff --git a/datalog b/datalog @@ -0,0 +1,53 @@ +# Datalog + +## Notions + +- [proof_tree] +- [datalog_semantics] +- [Datalog_program] +- [Datalog_rule] +- [Intensional_predicate] + +## Datalog fragments + +- [datalog_monadic] +- [datalog_linear] +- [datalog_symmetric_linear] +- [datalog_stratified_linear] +- [regular_path_query] +- [datalog_nonrecursive] +- [datalog_guarded] +- [datalog_frontier_guarded] + +## Datalog extensions + +- [datalog_fuzzy] +- [datalogpm] +- [datalog_negation] +- [datalog_semiring] +- [datalog_aggregation] + +## [Computational_problems] + +- [datalog_query_evaluation] +- [datalog_boundedness] + +## Questions + +- [datalog_expressiveness] + +## Properties + +- [homomorphism_closed] + +## Also + +- [datalog_practice] +- [constraint_satisfaction_problem_datalog] +- [incremental_maintenance_datalog] +- [datalog_grounding] +- [datalog_rewriting] + +Up: [query_language] + +See also: [prolog], [answer_set_programming], [transitive_closure], [declarative_programming] diff --git a/datalog_aggregation b/datalog_aggregation @@ -0,0 +1,9 @@ +# Datalog aggregation + +[Datalog_semantics] problem (like [datalog_negation]): [Datalog_inference] no longer [monotone] + +Can be addressed by [stratification], or via the approach of [datalogo] + +Up: [datalog], [aggregation] + +See also: [datalogo] diff --git a/datalog_fuzzy b/datalog_fuzzy @@ -0,0 +1,5 @@ +# Datalog fuzzy + +[lanzinger2024fuzzy] + +Up: [datalog], [uncertain_data] diff --git a/datalog_grounding b/datalog_grounding @@ -0,0 +1,5 @@ +# Datalog grounding + +We can transform a [Datalog_program] on a specific [database] into a [propositional_logic] formula by creating [variables] for each possible [fact] of an [intentional_predicate] + +Up: [datalog], [grounding] diff --git a/datalog_linear b/datalog_linear @@ -0,0 +1,11 @@ +# Datalog linear + +[datalog] where each [rule] body contains at most one [intensional_relation] atom + +Introduced in [dalmau2005linear] + +occurs in [bodirsky2024symmetric] + +Up: [datalog] + +Aliases: linear Datalog diff --git a/datalog_monadic b/datalog_monadic @@ -0,0 +1,7 @@ +# Datalog monadic + +[Datalog] where all [intensional_predicates] are [monadic] + +Up: [datalog] + +Aliases: Monadic Datalog diff --git a/datalog_negation b/datalog_negation @@ -0,0 +1,12 @@ +# Datalog negation + +Semantics problem: [negation_semantics] +- because [Datalog_inference] it is no longer [monotone] + +Simple solution: [negation_stratified], i.e., adding [negation] only to [datalog_stratified], with negations on predicates of lower [Datalog_stratum] + +Recent work on this: [shaikhha2024optimizing] + +See also: [fixpoint] + +Up: [datalog], [negation] diff --git a/datalog_query_evaluation b/datalog_query_evaluation @@ -0,0 +1,24 @@ +# Datalog query evaluation + +[datalog_query_evaluation_algorithms] + +[computational_complexity]: +- [exptime_complete] in [combined_complexity], cf [gottlob2012datalog] + - already [exptime_hard] with + - empty input [database] + - one single [datalog_rule] + - two-element universe +- for [datalog_linear]: + - [pspace_complete] + - already [pspace_hard] with the following, cf [gottlob2023complexity] + - empty input [database] + - one single [datalog_rule] + - two-element universe + +An important idea is to run the [CQs] of the [rule_bodies] efficiently: [conjunctive_query_optimization] / [optimal_joins] + +[zhang2023enhancing]: [query_evaluation] of [datalog] via [hypertreewidth] + +Up: [datalog], [query_evaluation] + +See also: [query_optimization] diff --git a/datalog_semiring b/datalog_semiring @@ -0,0 +1,13 @@ +# Datalog semiring + +A [datalog] program with [semiring] + +[datalog_semiring_query_evaluation] + +Questions of [convergence] + +Formalism: [datalogo] + +Up: [datalog] + +See also: [yann_ramusat] diff --git a/datalog_semiring_query_evaluation b/datalog_semiring_query_evaluation @@ -0,0 +1,6 @@ +# Datalog semiring query evaluation + +[computational_complexity]: + - cf [zhao2024evaluating] + +Up: [datalog_semiring], [query_evaluation] diff --git a/datalog_stratified_linear b/datalog_stratified_linear @@ -0,0 +1,7 @@ +# Datalog stratified linear + +[Datalog_stratified] but at most one [intensional_predicate] of the current [stratum] in each [rule] body + +Expresses [first_order_logic] with [transitive_closure], cf [consens1990graphlog], [graedel1992transitive] + +Up: [datalog_stratified] diff --git a/datalog_symmetric_linear b/datalog_symmetric_linear @@ -0,0 +1,9 @@ +# Datalog symmetric linear + +introduced in [egri2007symmetric] + +[datalog_linear] but where we impose that for every rule having an IDB in the body, the symmetric rule also occurs (exchanging the body predicate and the head predicate) + +connections to [CSP] + +Up: [datalog] diff --git a/datalogpm b/datalogpm @@ -0,0 +1,7 @@ +# Datalog^+/- + +cf [cali2010datalog] + +Fragment: [warded_datalogpm] + +See also: [tuple_generating_dependency], [datalog], [georg_gottlob] diff --git a/ddnnf b/ddnnf @@ -0,0 +1,9 @@ +# d-DNNF + +[deterministic] [decomposable] [nnf] + +Up: [knowledge_compilation_classes], [dd] + +See also: [dnnf], [decision_dnnf], [uobdd] + +Aliases: d-DNNFs diff --git a/de_bruijn_sequence b/de_bruijn_sequence @@ -0,0 +1,7 @@ +# De bruijn sequence + +like [universal_word] but for [cyclic_word] + +See also: [universal_word] + +Up: [word_combinatorics] diff --git a/decision b/decision @@ -0,0 +1,9 @@ +# Decision + +Used in [diagram], also in [decision_dnnf] + +other name: "syntactic unambiguity" + +Up: [circuit_condition] + +See also: [decision_problem] diff --git a/decision_dnnf b/decision_dnnf @@ -0,0 +1,8 @@ +# Decision-DNNF + +[dnnf] but only with [decision] gates + +- special case: [ordered_decision_circuit] +- special case: [decision_sdnnf] + +Up: [dnnf] diff --git a/decision_problem b/decision_problem @@ -0,0 +1,9 @@ +# Decision_problem + +A [boolean] [computational_problem], i.e., one with a yes/no answer + +Up: [computational_problem], [boolean] + +See also: [decision], [decidability] + +Aliases: decision problems diff --git a/deficiency b/deficiency @@ -0,0 +1,11 @@ +# Deficiency + +https://en.wikipedia.org/wiki/Deficiency_(graph_theory) + +on [graph] and [graph_bipartite] + +weighted variant: https://cstheory.stackexchange.com/questions/54787/can-you-compute-in-ptime-a-weighted-version-of-deficiency-on-a-bipartite-graph/54788 + +Up: [graph] + +See also: [project_selection_problem], [matching] diff --git a/degree b/degree @@ -0,0 +1,9 @@ +# Degree + +Number of [neighbors] of a [vertex] + +In [directed_graphs], we can distinguish the [indegree] and [outdegree], respectively the number of [vertices] having a edge to the [vertex], or from the [vertex] + +- [maximal_degree] + +Up: [graph_basic_notions] diff --git a/degree_of_acyclicity b/degree_of_acyclicity @@ -0,0 +1,14 @@ +# Degree of acyclicity + +foundational paper: [fagin1983degrees], see also [brault2014hypergraph] + +- [alpha_acyclic] +- [beta_acyclic] + - [lanzinger2021tractability] +- [gamma_acyclic] + - cf [delpia2018multilinear] +- [berge_acyclic] + +Up: [hypergraph] + +See also: [gyo] diff --git a/deletion_breakable b/deletion_breakable @@ -0,0 +1,20 @@ +# Deletion breakable + +Discussed in [maehlman2024monadically] and at [stacs_2024_szymon] + +A [graph_class] C is deletion breakable if for every radius r, there is a k and an unbounded function U satsifying the following: + +- for every [graph] G in the [graph_class], for every subset W of the vertices of G +- there are two subsets A and B of W that are "large", i.e., have size at least U(|W|) +- there is a subset of vertices S of size at most k (the [separator]) +- such that the [distance] from A to B is at least r in G when S is removed + +Special case: [infinity_deletion_breakable] + +Example: on [grid]: for every set W of vertices, there is an r-[independent_set] (you can take the empty set of vertices as a separator) + +A [graph_class] is deletion breakable iff it is [nowhere_dense] + +Next: notion of [flip], and [infinity_flip_breakable] + +Up: [stacs_2024_szymon] diff --git a/densest_subgraph b/densest_subgraph @@ -0,0 +1,12 @@ +# Densest subgraph + +https://en.wikipedia.org/wiki/Dense_subgraph + +Find subgraph of maximal density (#edges/#vertices) of input graph + +- Goldberg's algorithm: This is in [ptime] and reducible to [network_flow] + - Lien avec [submodularity]/[supermodularity], cf [chekuri2022densest] +- Also a [greedy_algorithm] (Charikar's algorithm) +- Efficient algorithms on some graph classes, e.g., [harpeled2024approximating] + +Up: [graph] diff --git a/density_function b/density_function @@ -0,0 +1,16 @@ +# Density function + +function defined on an [automata] and giving the number of words of a given length accepted by that automaton (= cardinality of [slice] of its [formal_language]) + +possible regimes: exponential, polynomial, etc. + +- [language_slender] +- [language_polynomially_bounded] + +[counting_problem] of evaluating it: [sharp_automaton] + +testing which lengths can be achieved, on [NFAs]: [potechin2020lengths] + +Up: [automata] + +See also: [universality_automata], [sharp_automaton], [slice], [degree_of_ambiguity], [growth_rate_analysis] diff --git a/dependency_implication b/dependency_implication @@ -0,0 +1,9 @@ +# Dependency implication + +decide if set of [dependencies] implies another [dependency] + +studied for instance with [functional_dependency], cf [armstrong_axioms] + +See also: [open_world_query_answering], [query_containment], [language_inclusion] + +Up: [computational_problem], [implication_of_constraints], [dependency] diff --git a/depth b/depth @@ -0,0 +1,13 @@ +# Depth + +The depth of a [circuit] is the maximal [length] of a [path] from a [variable_gate] to the [output_gate] of the [circuit] + +- depth [lower_bounds] on [circuit]: + - historical work: [hastad1998shinkage] + - recent work: [bathie2024towards] + +- [depth_reduction] + +Up: [circuit] + +See also: [circuit_size], [height] diff --git a/derivation_tree b/derivation_tree @@ -0,0 +1,9 @@ +# Derivation tree + +A derivation tree is a notion of a [context_free_grammar] + +The [yield] of a derivation tree is the sequence of its leaves + +The notion of derivation trees also occurs in [datalog]: [derivation_tree_datalog] + +Up: [tree] for [context_free_grammar] diff --git a/description_logics b/description_logics @@ -0,0 +1,16 @@ +# Description logics + +A set of lightweight [logics] with different complexity depending on the features allowed. + +[Survey_paper]: [artale2009dllite] + +Classes: +- [DL-Lite] + +Topics: +- [Description_logics_descriptive_complexity] +- [Provenance_description_logics] + +Up: [logic] + +See also: [FO2], [Guarded_Fragment] diff --git a/descriptive_complexity b/descriptive_complexity @@ -0,0 +1,10 @@ +# Descriptive complexity + +Less active nowadays: https://eccc.weizmann.ac.il//report/2011/151/ + +- Abiteboul, Hull, Vianu theorem https://en.wikipedia.org/wiki/Abiteboul-Vianu_theorem +- [open_problem]: finding a logic that captures [ptime] +- [description_logics_descriptive_complexity] +- [immerman_vardi_theorem] : [first_order] with [least_fixpoint], or [datalog], is [ptime] on ordered structures (cf [order_invariance]) + +Up: [computational_complexity] diff --git a/determinism b/determinism @@ -0,0 +1,6 @@ +# Determinism + +- [automata_deterministic] +- [deterministic] (for [circuit]) + +Up: [theoretical_computer_science] diff --git a/diagram b/diagram @@ -0,0 +1,18 @@ +# Diagram + +- [ordered_diagram] + - [obdd] + - [uobdd] + - [nobdd] +- [fbdd] + - [nrobp] + - generalization [read_k_branching_program]s + - like [k_ambiguous] + - cf [jukna1995note] +- [bdd_subfunction] for [subfunction] + +Up: [knowledge_compilation_classes] + +See also: [read_once], [decision_tree] + +Aliases: decision diagram, decision diagrams diff --git a/diameter b/diameter @@ -0,0 +1,9 @@ +# Diameter + +Definition : in a [graph], the longest distance of a [shortest_path] + +- [incremental_maintenance_diameter] + +Up: [graph_radius_diameter] + +See also: [girth], [graph_coloring_diameter] diff --git a/dimension b/dimension @@ -0,0 +1,7 @@ +# Dimension + +- [partial_order_dimension] +- [vector_space] +- [vc_dimension] + +Up: [mathematics] diff --git a/dioid b/dioid @@ -0,0 +1,16 @@ +# Dioid + +Semiring where 1 + 1 = 1 +- Implies [idempotence]: x + x = x +- [natural_order]: x <= y si x + y = y + +Also called an "idempotent semiring" + +Freely generated dioid over a set of variables, with no coefficients: [bool_x] +- infinite [omega_chain]: 1 < 1 + z < 1 + z + z^2 < ... + +strenghtening: [semiring_absorptive] + +Up: [semiring] + +See also: [kleene_algebra] diff --git a/diophantine_equation b/diophantine_equation @@ -0,0 +1,7 @@ +# Diophantine equation + +fun [open_problems]: https://en.m.wikipedia.org/wiki/Euler_brick#Perfect_cuboid + +See also: [sum_of_powers] + +Up: [mathematics], [equation] diff --git a/directed_acyclic_graph b/directed_acyclic_graph @@ -0,0 +1,9 @@ +# Directed acyclic graph (DAG) + +[graph_directed] which does not contain [cycle] + +- [topological_sorting] + +Up: [graph_directed] + +Aliases: DAG, DAGs diff --git a/directed_planar_graph b/directed_planar_graph @@ -0,0 +1,5 @@ +# Directed planar graph + +[Directed_graph] whose underlying [undirected_graph] is [planar] + +Up: [planar_graph], [graph_directed] diff --git a/disjoint_union b/disjoint_union @@ -0,0 +1,5 @@ +# Disjoint union + +The [union] of two [set] that are [disjoint] + +Up: [union] diff --git a/disjunction b/disjunction @@ -0,0 +1,9 @@ +# Disjunction + +- [disjunctive_normal_form] +- [union_of_conjunctive_queries] +- [union_trick] + +Up: [boolean_operator] + +See also: [union], [conjunction] diff --git a/disjunctive_normal_form b/disjunctive_normal_form @@ -0,0 +1,18 @@ +# Disjunctive normal form (DNF) + +[disjunction] of [term] (not [clause]), each is [conjunctio] of [literal] + +- [pp2dnf] +- [disjunctive_normal_form_orthogonal] + +[satisfiability_boolean] for DNF is easy, what is difficult is [validity], i.e., knowing if there exists an assignment which violates the formula + +lower bound on size of DNF relative to [conjunctive_normal_form] + +- [gdnf] + +See also: [conjunctive_normal_form], [karp_luby], [dualization] + +Up: [boolean_formula] + +Aliases: DNF, DNFs diff --git a/disjunctive_normal_form_orthogonal b/disjunctive_normal_form_orthogonal @@ -0,0 +1,14 @@ +# Disjunctive normal form orthogonal + +[disjunctive_normal_form] where for any two "terms" they are not mutually satisfiable +(so it is an [unambiguous] [disjunctive_normal_form]) + +Could be called "unambiguous DNF" + +What is the complement called? it's a [conjunctive_normal_form] where the disjunction of any two clauses is tautological + +note that necessarily the clauses (all except at most one) must be big (at least n/2) to satisfy this condition + +[disjunctive_normal_form_orthogonal_negation] + +Up: [disjunctive_normal_form] diff --git a/distance b/distance @@ -0,0 +1,9 @@ +# Distance + +- [edit_distance] +- [permutation_distance] +- [distance_oracle] +- [graph_distance] +- [ultrametric] + +Up: [mathematics] diff --git a/distinguishing_subsequence b/distinguishing_subsequence @@ -0,0 +1,11 @@ +# Distinguishing subsequence + +distinguishing subsequence of a set S of strings is a string T which is a [subsequence] of exactly one string in S + +[crochemore2003directed] section 4.5 + +- [computational_problem]: [shortest_distinguishing_subsequence] + +Up: [subsequence] + +See also: [common_non_subsequence] diff --git a/dnnf_to_nfbdd b/dnnf_to_nfbdd @@ -0,0 +1,5 @@ +# DNNF to NFBDD + +in [amarilli2019connecting], attributed to [beame2015new] section 5, but also seems to be done in [razgon2015quasipolynomial] under the name [nrobp] + +Up: [conversion] of [dnnf] to [nfbdd] diff --git a/dominating_set b/dominating_set @@ -0,0 +1,17 @@ +# Dominating set + +https://en.wikipedia.org/wiki/Dominating_set + +A subset of vertices of a graph such that every vertex of the graph is either in the set or adjacent to a vertex in the set +- distinguish [total_dominating_set] (aka "strongly-dominating set"): every vertex in the graph is adjacent to a vertex in the set, including the vertices in the set themselves. Does not always exist (e.g., isolated vertices) + +[karthik2019parameterized]: no [fixed_parameter_tractable] [approximation] algorithm for the problem +- uses [abboud2017distributed] + +Generalization: [generalized_dominating_set] + +Variant: [independent_dominating_set] + +See also: [edge_dominating_set] + +Up: [graph_substructure] diff --git a/drx b/drx @@ -0,0 +1,7 @@ +# DRX + +Generalizes [deterministic_regular_expressions] by adding [backreferences] + +Defined in [freydenberger2019deterministic] + +Up: [regular_expression_deterministic] diff --git a/dsdnnf b/dsdnnf @@ -0,0 +1,7 @@ +# d-SDNNF + +[structuredness] [deterministic] [decomposable] [circuit] + +not closed under [complementation], cf [vinallsmeeth2024structured] by [harry] + +Up: [knowledge_compilation_classes], [ddnnf], [sdnnf] diff --git a/dual b/dual @@ -0,0 +1,6 @@ +# Dual + +- [flow_cut_duality] +- [hypergraph_dual] + +Up: [mathematics] diff --git a/dual_graph b/dual_graph @@ -0,0 +1,11 @@ +# Dual graph + +[graph_undirected]: +- vertices are [clause]s +- edges connect two clauses that share a variable + +if [conjunctive_normal_form] has unbounded [degree] then contains a large [clique] + +Up: [graph_undirected] of [conjunctive_normal_form] + +See also: [primal_graph], [incidence_graph], [dual_treewidth] diff --git a/dual_treewidth b/dual_treewidth @@ -0,0 +1,7 @@ +# Dual treewidth + +[treewidth] of [dual_graph] of [conjunctive_normal_form] [boolean_formula] + +Up: [conjunctive_normal_form] + +See also: [dual_pathwidth] diff --git a/dynamic_dynamic_programming b/dynamic_dynamic_programming @@ -0,0 +1,5 @@ +# Dynamic dynamic programming + +[stacs_2023], [stefan_neumann] + +Up: [talk] about [dynamic_programming] diff --git a/dynamic_programming b/dynamic_programming @@ -0,0 +1,11 @@ +# Dynamic programming + +- [edit_distance] +- [longest_increasing_subsequence] +- [longest_common_subsequence] + +- [dynamic_dynamic_programming] + +Up: [algorithm_type] + +See also: [memoization] diff --git a/edge b/edge @@ -0,0 +1,9 @@ +# Edge + +A [pair] in [undirected_graphs], an [ordered_pair] in [directed_graphs]. + +Special kind of edge: [self_loop] + +Up: [graph_basic_notions] + +Aliases: edges diff --git a/edge_coloring b/edge_coloring @@ -0,0 +1,8 @@ +# Edge coloring + +- [incremental_maintenance_edge_coloring] +- [vizings_theorem] + +Up: [graph_coloring] + +Aliases: edge colored diff --git a/edge_cover b/edge_cover @@ -0,0 +1,9 @@ +# Edge cover + +Set of edges of a [graph_undirected] such that every vertex is in at least one of the edges + +[minimum_edge_cover] + +See also: [vertex_cover], [edge_packing], [independent_set], [matching] + +Up: [graph] diff --git a/edge_deletion b/edge_deletion @@ -0,0 +1,5 @@ +# Edge deletion + +[koch2024edge] + +Up: [graph_modification] diff --git a/edge_dominating_set b/edge_dominating_set @@ -0,0 +1,13 @@ +# Edge dominating set + +https://en.wikipedia.org/wiki/Edge_dominating_set + +A set of edges such that every edge is either in the set or adjacent to an edge in the set + +[dominating_set] of the [line_graph] + +Distinguish: [dominating_edge_set]: set of edges whose union is a [dominating_set], may not exist (isolated vertices), connected to [total_dominating_set] + +See also: [dominating_set], [maximal_matching] + +Up: [graph_substructure] diff --git a/edit_distance_oracle b/edit_distance_oracle @@ -0,0 +1,7 @@ +# Edit distance oracle + +given two [string]s, index them so that given two [subword] you can quickly compute the edit distance: + +- [charalampopoulos2021almost] + +Up: [oracle] for [edit_distance_computation] diff --git a/eggans_theorem b/eggans_theorem @@ -0,0 +1,8 @@ +# Eggan's theorem + +https://en.wikipedia.org/wiki/Star_height#Eggan's_theorem +https://en.wikipedia.org/wiki/Cycle_rank#Star_height_of_regular_languages + +[theorem]: The [star_height] of a [regular_language] L equals the minimum [cycle_rank] among all [automata_nondeterministic] with [epsilon_transition] accepting L. + +Up: [theorem], [regular_language] diff --git a/enumeration b/enumeration @@ -0,0 +1,24 @@ +# Énumeration + +https://en.wikipedia.org/wiki/Enumeration_algorithm + +- [enumeration_definition] +- [enumeration_techniques] +- [enumeration_tasks] +- [enumeration_complexity] +- [enumeration_related_work] +- [enumeration_open_problems] + +## Related problems + +- [enumeration_ordered] +- [tuple_testing] +- [direct_access] + +## Questions + +- [enumeration_diversity] +- [enumeration_ordered] +- [incremental_maintenance_enumeration] + +Up: [research_directions] diff --git a/enumeration_circuit b/enumeration_circuit @@ -0,0 +1,13 @@ +# Enumeration on circuits + +Enumerating the [satisfying_assignment] of [boolean_circuit] + +Harder than [satisfiability_boolean] so [np_hard] on general [boolean_circuit] + +[amarilli2017circuit]: [enumeration] for [dsdnnf] + +[enumeration_sdnnf] + +Up: [enumeration] on [boolean_circuit] + +See also: [enumeration_via_circuit] diff --git a/enumeration_definition b/enumeration_definition @@ -0,0 +1,7 @@ +# Enumeration definition + +Two phases: +- [preprocessing_phase] +- [enumeration_phase] where you measure [delay] + +Up: [enumeration] diff --git a/enumeration_diversity b/enumeration_diversity @@ -0,0 +1,7 @@ +# Enumeration diversity + +- [merkl2023diversity] + +Up: [diversity], [enumeration] + +See also: [conjunctive_query_diversity] diff --git a/enumeration_graphs b/enumeration_graphs @@ -0,0 +1,7 @@ +# Enumeration graphs + +- [subgraph_enumeration] + - [triangle_enumeration] + - [clique_enumeration] + +Up: [enumeration] on [graph] diff --git a/enumeration_ordered b/enumeration_ordered @@ -0,0 +1,9 @@ +# Ordered enumeration + +- [enumeration_ordered_cq] +- [enumeration_ordonnee_mso] +- [enumeration_ordonnee_chemins] + +Up: [enumeration], [order] + +Aliases: ordered enumeration, enumeration ranked, ranked enumeration diff --git a/enumeration_polylog_delay b/enumeration_polylog_delay @@ -0,0 +1,7 @@ +# Enumeration polylog delay + +[enumeration] with [polylog] [delay] and [log_linear] [preprocessing] + +Up: [enumeration] + +See also: [enumeration_constant_delay] diff --git a/enumeration_spanner b/enumeration_spanner @@ -0,0 +1,8 @@ +# Enumeration spanner + +- [amarilli2019constant] +- [enumeration] by [cristian] et al.: [rematch] + +Up: [enumeration] for [spanner] + +See also: [enumeration_strings] diff --git a/enumeration_strings b/enumeration_strings @@ -0,0 +1,22 @@ +# Enumeration on words + +- [enumeration_general_purpose] +- [enumeration_distinct_factors] +- [enumeration_cfg] +- [enumeration_compressed] +- [enumeration_slp] +- [enumeration_core] +- [enumeration_rpq] +- [enumeration_streaming] +- [enumeration_parallel] +- [enumeration_spanner] + +Generalizations: + +- [enumeration_ordered] +- [incremental_maintenance_language_enumeration] +- [enumeration_dag] + +Up: [enumeration] on [word] + +See also: [find_all_occurrences] diff --git a/enumeration_techniques b/enumeration_techniques @@ -0,0 +1,9 @@ +# Enumeration techniques + +- [union_trick] by [arnaud_durand] and [yann_strozecki] + - cf [berkholz2020constantb] Theorem 2.1 +- [proximity_search], enumeration framework (cf [wepa_2022]) +- [enumeration_via_circuit] +- [cheaters_lemma], in [carmeli2021enumeration] Lemma 7 + +Up: [enumeration] diff --git a/enumeration_ucqs_classifying b/enumeration_ucqs_classifying @@ -0,0 +1,11 @@ +# Enumeration ucqs classifying + +[open_question] of determining which [union_of_conjunctive_queries] can have [enumeration] in [linear_preprocessing_constant_delay] + +and finding the best exponent for various UCQs ([fine_grained_complexity]) + - cf works like [kara2019counting] (in the setting of [incremental_maintenance]) + - cf [bringmann2023tight] which defines [incompatibility_number] + +discussed [bringmann2022unbalanced] + +Up: [enumeration_ucqs] diff --git a/enumeration_via_circuit b/enumeration_via_circuit @@ -0,0 +1,7 @@ +# Enumeration via circuit + +The general idea of performing [enumeration] via [circuit] using [knowledge_compilation] and [knowledge_compilation_classes] + +- [enumeration_via_circuit_gdr_ifm] + +Up: [enumeration] via [circuit] diff --git a/equation b/equation @@ -0,0 +1,12 @@ +# Equation + +- [word_equation] +- [semiring_equation] +- [polynomial_equation] +- [diophantine_equation] + +- [equation_system] + +Up: [mathematics] + +See also: [disequation], [inequation] diff --git a/equisatisfiability b/equisatisfiability @@ -0,0 +1,9 @@ +# Equisatisfiability + +https://en.wikipedia.org/wiki/Equisatisfiability + +Two [logic_formulas] f and f' are equisatisfiable if f being satisfiable is [equivalent] to f' being satisfiable + +Up: [satisfiability] + +Aliases: equisatisfiable diff --git a/equivalence b/equivalence @@ -0,0 +1,16 @@ +# Equivalence + +As [computational_problem]: + +- [language_equivalence] +- [query_equivalence] +- [automaton_equivalence] +- [regular_expression_equivalence] + +Other: + +- [equivalence_relation] + +Up: [mathematics] + +Aliases: equivalent diff --git a/even_hole_free_graph b/even_hole_free_graph @@ -0,0 +1,9 @@ +# Even hole free graph + +[graph_undirected] without [hole] of even length + +[survey_paper]: [vuskovic2010even] + +Up: [undirected_graph], [hole] + +See also: [graph_perfect] diff --git a/exact_matching b/exact_matching @@ -0,0 +1,8 @@ +# Exact matching + +- Input: [graph_bipartite] G with bicolored edges, integer k +- Output: does G contain a matching with exactly k red edges + +[maalouly2022exact]: this is in [rp] and not known to be in [ptime] + +Up: [matching] diff --git a/exact_triangle b/exact_triangle @@ -0,0 +1,7 @@ +# Exact triangle + +Finding a triangle in [graph_weighted] whose edges sum to 0 + +- [exact_triangle_conjecture] + +Up: [3sum], [triangle] diff --git a/exact_triangle_conjecture b/exact_triangle_conjecture @@ -0,0 +1,6 @@ +# Exact triangle conjecture + +- implied by [3sum_hypothesis] +- implied by [apsp_hypothesis] <=> [negative_triangle_hypothesis] + +Up: [computational_hypothesis] on [exact_triangle] diff --git a/exponentiation b/exponentiation @@ -0,0 +1,8 @@ +# Exponentiation + +- [graph_exponentiation] +- [exponentiation_by_squaring] + +Up: [mathematics_operation] + +See also: [exptime], [semigroup], [multiplication], [power_mathematics], [squaring], [square_root] diff --git a/external_memory b/external_memory @@ -0,0 +1,6 @@ +# External memory + +Papers looking at the [input_output_complexity] of [algorithms] +- cf [vitter2008algorithms] + +Up: [machine_model] diff --git a/extremal_graph_theory b/extremal_graph_theory @@ -0,0 +1,13 @@ +# Extremal graph theory + +https://en.wikipedia.org/wiki/Extremal_graph_theory + +- [ramsey_turan_theory] + - [ramsey_theorem] + - [turan_theorem] + +- [mantels_theorem] + +- [szemeredi_regularity_lemma] + +Up: [extremal_combinatorics] on [graph] diff --git a/factor b/factor @@ -0,0 +1,11 @@ +# Factor + +Definition: [word] u is factor of [word] v if we have v = xuy for some [word]s x and y + +- [factor_universal] + +Up: [formal_language_theory] + +See also: [subword], [prefix], [suffix] + +Aliases: factors, infix, infixes diff --git a/factor_universal b/factor_universal @@ -0,0 +1,9 @@ +# Factor universal + +[automata] where every [word] is a [factor] of an accepted word + +Testing if a [automata_deterministic] is factor-universal is in [ptime] via [synchronizing_word], cf [rampersad2009computational] Theorem 5 + +Testing if a [automata_nondeterministic] is factor-universal is [pspace_hard], cf [rampersad2009computational] Theorem 9 + +Up: [universality_automata] diff --git a/fcreg b/fcreg @@ -0,0 +1,7 @@ +# FC[REG] + +[freydenberger2021theory] + +[FC] with [regular_language] predicates: variable belongs to [regular_language] + +Up: [FC] diff --git a/feedback_edge_number b/feedback_edge_number @@ -0,0 +1,9 @@ +# Feedback edge number + +minimum number of edges to remove ([feedback_edge_set]) to destroy all cycles + +usually posed for [graph_directed]; for [graph_undirected] see [circuit_rank] + +See also: [feedback_vertex_set], [feedback_vertex_number], [circuit_rank], [cycle_rank] + +Up: [width_measure] diff --git a/feedback_vertex_set b/feedback_vertex_set @@ -0,0 +1,11 @@ +# Feedback vertex set + +for [graph_undirected] or [graph_directed] + +set of [vertices] whose removal turns [graph] into [acyclic_graph] + +[computational_problem]: [minimum_feedback_vertex_set] ([np_complete]) + +Up: [width_measure] + +See also: [feedback_arc_set], [erdos_posa], [feedback_edge_number] diff --git a/final_state b/final_state @@ -0,0 +1,11 @@ +# Final state + +A notion for [states] in an [automaton]. + +If a [run] ends at a [state] which is a final state then the run is [accepting_run]. + +Up: [automata_concepts] + +Aliases: final states + +See also: [nonfinal_state] diff --git a/fine_grained_complexity_problems b/fine_grained_complexity_problems @@ -0,0 +1,15 @@ +# Fine grained complexity problems + +- [orthogonal_vectors] +- [omv] +- [set_disjointness] +- [3sum] +- [all_pairs_shortest_path] +- [boolean_matrix_multiplication] + - [sparse_boolean_matrix_multiplication] +- [vutd] +- [zero_clique] +- [triangle_detection] / [sparse_triangle] +- [hyperclique] / [sparse_hyperclique] + +Up: [fine_grained_complexity], [computational_problem] diff --git a/finite_model_theory b/finite_model_theory @@ -0,0 +1,5 @@ +# Finite model theory + +- [finite_controllability] + +Up: [logic], [finite] diff --git a/first_order_logic_regular_language b/first_order_logic_regular_language @@ -0,0 +1,11 @@ +# First order logic regular language + +On [word], [first_order_logic] corresponds to [star_free_language] and [monoid_aperiodic] by [schutzenbergers_theorem] + +connections to [fok]: +- 3 variables suffice to express all first-order definable languages: [diekert2008survey] +- [fo2] corresponds to [da] + - connections to [unambiguous_polynomial] +- [fo1] trivial + +Up: [first_order_logic], [regular_language] diff --git a/first_order_model_checking b/first_order_model_checking @@ -0,0 +1,19 @@ +# First order model checking + +## On specific graph classes + +[first_order_model_checking_restricted_classes] + +## [hypothesis] + +[first_order_property_conjecture] on the hardness of FO model checking, cf [gao2018completeness] + - it is a weaker version of [strong_exponential_time_hypothesis] + +## Bounded variables + +- [first_order_model_checking_fok] +- [first_order_model_checking_fo2] + +Up: [model_checking] for [first_order_logic] + +See also: [fine_grained_complexity], [clique_problem] diff --git a/first_order_rewriting b/first_order_rewriting @@ -0,0 +1,7 @@ +# First order rewriting + +- [fok_rewriting] + +Up: [query_rewriting], [first_order_logic] + +Aliases: first_order_rewritability, first_order_rewritable diff --git a/fo_tc b/fo_tc @@ -0,0 +1,7 @@ +# FO+TC + +[first_order_logic] with [transitive_closure] + +Is equivalent to [datalog_stratified_linear] + +Up: [first_order_logic] with [transitive_closure] diff --git a/formal_language b/formal_language @@ -0,0 +1,20 @@ +# Formal language + +[set] of [word] over an [alphabet] + +- [regular_language] +- [weighted_language] +- [visibly_pushdown_language] +- [context_free_language] +- [formal_language_operator] +- [slice]: subset of the [word]s of a certain length +- [density_function] +- [language_unary] + +- [computational_problems]: [formal_language_computational_problems] + +Up: [formal_language_theory] + +See also: [neutral_letter] + +Aliases: formal languages diff --git a/formal_language_computational_problems b/formal_language_computational_problems @@ -0,0 +1,9 @@ +# Formal language computational problems + +- [membership_problem] +- [language_inclusion] +- [language_equivalence] + +Up: [formal_language] + +Aliases: formal language computational problem diff --git a/formal_language_theory b/formal_language_theory @@ -0,0 +1,57 @@ +# Formal language theory + +Studies [formal_language] + +## Concepts + +- [alphabet] +- [word] + - [empty_word] +- [formal_language] +- [prefix], [suffix], [subword], [subsequence] + +## Operations + +- [shuffle] + +## Languages + +- [regular_language] + - [piecewise_testable_language] + - [locally_testable_language] +- [regular_expression] +- [automata] +- [transducer] + - [tree_automaton] + - [tree_walking_automaton] +- [context_free_grammar] + - [pcfg] + - [grammar_variants] + +## Problems + +- [constrained_topological_sort] + +## Other notions + +- [word_equation] +- [sliding_window] +- [atom] +- [parikh_automaton], [parikh_image] +- [formal_language_separation] +- [determinism_language] + +## Results + +- [higmans_lemma] +- [krohn_rhodes] +- [brzozoswki_mccluksey] +- [language_power_series]: connections between formal languages and [power_series] +- [pumping_lemma] +- [ogdens_lemma] +- [interchange_lemma] https://en.wikipedia.org/wiki/Interchange_lemma + - other such results: https://cstheory.stackexchange.com/a/54032 + +Up: [theoretical_computer_science] + +See also: [word_combinatorics] diff --git a/fotc b/fotc @@ -0,0 +1,7 @@ +# FO+TC + +[first_order_logic] with [transitive_closure] operator + +See also: [separation_logic], [fixpoint], [datalog] + +Up: [logic] diff --git a/four_color_theorem b/four_color_theorem @@ -0,0 +1,8 @@ +# Four color theorem + +Variant on graphs embedded in more general [genus]: + - https://en.wikipedia.org/wiki/Heawood_conjecture + +Generalization: [inoue2024three] + +Up: [graph_coloring] of [planar_graph] diff --git a/fpras_bpp b/fpras_bpp @@ -0,0 +1,11 @@ +# FPRAS BPP + +[theorem]: if a [counting_problem] admits an [fpras], then the corresponding [decision_problem] of testing if the count is >0 is in [bpp] +- for [satisfiability_boolean] for instance: + - if [sharp_satisfiability] admits an [fpras], then [satisfiability_boolean] is in [bpp] +- this is specific to >0 and does not work, say, for <2^n (problem of relative + error) + +Proof: with proba 3/4 your [fpras] "works", and "works" here means "returns exactly the correct value" + +Up: [result] on [fpras] diff --git a/friendship_theorem b/friendship_theorem @@ -0,0 +1,11 @@ +# Friendship theorem + +https://en.wikipedia.org/wiki/Friendship_graph#Friendship_theorem + +"if in a [graph] any pair of vertices have exactly one common [neighbor] then the graph is a [friendship_graph]" + +In [graph_directed]: [choi2023digraph] + +Up: [graph_theory] + +See also: [handshaking_lemma] diff --git a/frontier_guarded b/frontier_guarded @@ -0,0 +1,9 @@ +# Frontier guarded + +introduced in [baget2010walking] + +Special case: + +- [frontier_one] + +Up: [guarded_fragment] diff --git a/function b/function @@ -0,0 +1,23 @@ +# Function + +can be [function_partial] + +- [linear_function] + - [piecewise_linear] function + +- [or_function] +- [set_function] +- [hash_function] +- [boolean_function] +- [concave_function] +- [density_function] +- [ranking_function] +- [Ackermann's_function] + +Notions: + +- [function_evaluation] + +Up: [mathematics] + +See also: [functional_dependency] diff --git a/function_evaluation b/function_evaluation @@ -0,0 +1,9 @@ +# Function evaluation + +[computational_problem]: Given a [function] f and a value x, compute f(x) + +- [boolean_function_evaluation] + +Up: [computational_problem], [function] + +Aliases: evaluation, evaluates, evaluate diff --git a/functional_dependency b/functional_dependency @@ -0,0 +1,25 @@ +# Functional dependency (FD) + +## Special cases + +- [key] +- "simple": X -> Y where X and Y are singleton [attribute]s + - also called "unary"? [functional_dependency_unary] + +## Problems + +- [dependency_implication] + - [undecidability] for functional dependency and [inclusion_dependency] + +## Results + +- [armstrong_axioms] +- [armstrong_relation] + +## Variants + +- [functional_dependency_approximate] + +Up: [equality_generating_dependency] + +Aliases: FD, FDs diff --git a/functional_dependency_approximate b/functional_dependency_approximate @@ -0,0 +1,8 @@ +# Functional dependency approximate + +- Survey with real-world study: parciak2023measuring +- approximate implication: kenig2019integrity + +Tags: #wikipedia + +Up: [functional_dependency] diff --git a/game_theory b/game_theory @@ -0,0 +1,10 @@ +# Game theory + +studies [games] + +- [shapley_value] +- [parity_games] et [pseudopolynomial]-time algorithm +- [muller_acceptance] +- [prisoners_dilemma] + +Up: [mathematics] diff --git a/gapped_pattern_matching b/gapped_pattern_matching @@ -0,0 +1,9 @@ +# Gapped pattern matching + +[navarro2016reporting]: find consecutive occurrences of [pattern] in [string] satisfying a certain gap constraint + +Generalization in [akram2024sorted]: find occurrences of [pattern] in a specified [infix] of a [string] + +[bille2022string]: find the [top_k] closest occurrences in decreasing order ([ranked_enumeration]) + +Up: [pattern_matching] diff --git a/gelade2009regular b/gelade2009regular @@ -0,0 +1,19 @@ +# Gelade2009regular + +[regular_expression_repetition] operator + +not easy how to define [regular_expression_deterministic] with this operator + +[regular_expression_strongly_deterministic] is now useful because it makes it possible to store only one counter configuration + +- [counter_automata_definition] + - thanks to the threshold function, the entire configuration graph can be materialized + - if the automaton is [counter_automata_deterministic] then it is a [DFA] +- [glushkov_automaton] augmented with counters + - if the regexp is [regular_expression_strongly_deterministic] then the [gluskov_automaton] with counters is [counter_automata_deterministic] + +also [dynamic_membership] in [bjorklund2015efficient] + +Up: [academic_paper] on [regular_expressions_counting] + +See also: [wim_martens] diff --git a/generalized_core_spanner b/generalized_core_spanner @@ -0,0 +1,7 @@ +# Generalized core spanner + +closure of [spanner_core] under [complementation] + +expressive power [thompson2023generalized] + +Up: [spanner] diff --git a/geometry b/geometry @@ -0,0 +1,13 @@ +# Geometry + +- [tiling] +- arrangements of spheres "kissing number" +- [moving_sofa_problem] +- [computational_geometry] + +- [square] +- [circle] +- [rectangle] +- [symmetry] + +Up: [mathematics] diff --git a/gf2 b/gf2 @@ -0,0 +1,5 @@ +# Gf2 + +According to [cate2023craig], enjoys [finite_model_property] and [craig_interpolation] + +Up: [logic] diff --git a/goedels_incompleteness_theorem b/goedels_incompleteness_theorem @@ -0,0 +1,7 @@ +# Goedels incompleteness theorem + +http://www.yann-ollivier.org/goedel/goedel.php + +Up: [theorem], [logic] + +See also: [undecidability] diff --git a/goldbach_conjecture b/goldbach_conjecture @@ -0,0 +1,7 @@ +# Goldbach conjecture + +- [ternary_goldbach_problem] + +See also: [twin_prime_conjecture], [chens_theorem] + +Up: [number_theory] diff --git a/golomb_ruler b/golomb_ruler @@ -0,0 +1,18 @@ +# Golomb ruler + +https://en.wikipedia.org/wiki/Golomb_ruler + +set of [natural_numbers] such that no difference (in [absolute_value]) is achieved twice + +- order: number of elements of the set +- length: value of the greatest integer +- optimal ruler: no ruler of the same order and of smaller length exists (optimally short) + - also optimally dense: no rules exists with greater order and same length +- perfect ruler https://en.wikipedia.org/wiki/Perfect_ruler : every distance below a certain bound is achieved exactly once + - optimal perfect ruler: minimal length (largest value) + - no perfect golomb ruler for five or more marks exists + - cf http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/JustinColannino/ + +Up: [combinatorics] + +See also: [sidon_set] diff --git a/graceful_labeling b/graceful_labeling @@ -0,0 +1,13 @@ +# Graceful labeling + +https://en.wikipedia.org/wiki/Graceful_labeling + +- Vertices are labeled with distinct values in {0, ..., m} +- Thus, each edge has an absolute value difference of at least 1 and at most m +- A "graceful labeling" is one where each possible difference is achieved exactly once + +Special cases: + +- [graceful_tree] + +Up: [graph_labeling] diff --git a/graceful_tree b/graceful_tree @@ -0,0 +1,6 @@ +# Graceful tree + +[open_problems] +https://en.wikipedia.org/wiki/Graceful_labeling + +Up: [graceful_labeling] of [tree] diff --git a/graph_algorithm b/graph_algorithm @@ -0,0 +1,17 @@ +# Graph algorithm + +- [network_flow] +- [maximum_matching] for [matching] + - [maximum_weighted_matching] and [hungarian_algorithm] +- [shortest_path] ([graph_distance]) + - [minmax_path] +- [convex_hull] +- [spanning_tree] + - [kruskals_algorithm], see also [minmax_path] +- [steiner_tree] +- [topological_sorting] of [directed_acyclic_graph] +- [strong_connectivity_augmentation] +- [transitive_closure] +- [transitive_orientation] + +Up: [algorithms] on [graph] diff --git a/graph_basic_notions b/graph_basic_notions @@ -0,0 +1,33 @@ +# Graph basic notions + +- [degree] +- [connected_component] + - [connectivity] +- [strongly_connected] + - [strongly_connected_component] +- [path] + - [simple_path] + - [trail] + - [eulerian_trail] + - [walk] +- [cycle] + - [circuit] + - [tour] + - [hamiltonian_cycle] +- [vertex_cover] +- [edge_cover] +- [articulation_point] +- [matching] +- [graph_isomorphism] + - [graph_automorphism] +- [subgraph], [induced_subgraph] +- [vertex] +- [edge] + - [self_loop] +- [graph_representation] + - [adjacency_matrix] + - [adjacency_list] + +Up: [graph] + +See also: [multigraph] diff --git a/graph_bipartite b/graph_bipartite @@ -0,0 +1,11 @@ +# Graph bipartite + +Membership can be tested in [linear_time] with [greedy_algorithm] + +- [deficiency] + +Up: [graph_family] + +See also: [hypergraph_balanced], [incidence_structure], [3_colorable] + +Aliases: bipartite graph, bipartite graphs diff --git a/graph_caterpillar b/graph_caterpillar @@ -0,0 +1,13 @@ +# Caterpillar graph + +https://en.wikipedia.org/wiki/Caterpillar_tree + +[Undirected_graph] which consists of a [path] with some added [leaves] + +[proskurowski1999classes]: caterpillar graphs are exactly the [connected_graphs] with [pathwidth] one + +See also: [graph_lobster], [horsetail_graph] + +Up: [graph_undirected], [path_excentricity] + +Aliases: caterpillar graph, caterpillar tree diff --git a/graph_coloring b/graph_coloring @@ -0,0 +1,40 @@ +# Graph coloring + +## Special cases + +- [bipartite_graph] +- [3_coloring] + - [3_colorable] + +## Results + +- [grotzschs_theorem]: + - [planar_graph] which has no [triangle] is 3-colorable +- [graph_coloring_greedy]: if a graph has maximal [degree] d then it has a coloring with d+1 colors at most ([greedy_algorithm]) + +## Conjectures + +- [hadwiger_conjecture] + +## Variants + +- [edge_coloring] +- [list_coloring] +- [graph_coloring_counting] + +## Complexity + +- [np_complete], already for [graph_planar] and 4-regular graphs + - [np_complete] to find if it is 3 or 4 + - knowing if it is 2 is [graph_bipartite] hence [ptime]-testable + - 4 colors is always feasible by the [four_color_theorem] +- [3_coloring] is in [linear_time] by [Brook's_theorem] on [graphs] of maximal [degree] 3 + - see https://cstheory.stackexchange.com/questions/51368/which-hypergraphs-can-be-simplified-by-alternatively-removing-a-hyperedge-and-an + +## References + +"Graph Coloring Methods" book: https://graphcoloringmethods.com/ + +Up: [graph_problem] + +See also: [chromatic_number] diff --git a/graph_coloring_diameter b/graph_coloring_diameter @@ -0,0 +1,6 @@ +# Graph coloring diameter + +Is it [ptime] to solve [3_coloring] on graphs of [diameter] 2? +- cf [climosova2023coloring] + +Up: [open_problem], [diameter], [graph_coloring] diff --git a/graph_coloring_greedy b/graph_coloring_greedy @@ -0,0 +1,8 @@ +# Graph coloring greedy + +If an [undirected_graph] has [maximal_degree] d then it has a coloring with d+1 colors at most +- simple [greedy_algorithm] + +Up: [graph_coloring], [greedy_algorithm] + +See also: [vizings_theorem] diff --git a/graph_complementation b/graph_complementation @@ -0,0 +1,5 @@ +# Graph complementation + +[Undirected_graph] formed from an other graph G by keeping the same set of [vertices] and taking precisely the [edges] that are not in G + +Up: [graph], [complementation] diff --git a/graph_cube b/graph_cube @@ -0,0 +1,7 @@ +# Graph cube + +[graph_exponentiation] of [graph] by 3 + +Up: [graph_exponentiation] + +See also: [graph_cubic] diff --git a/graph_database_practical b/graph_database_practical @@ -0,0 +1,17 @@ +# Graph database practical + +Implementations: + +- [Neo4j] + +Query languages: + +- [graph_query_languages] + +Models: + +- [Property_graph]s: nodes and directed edges which have an ID and takes a value from some property + +Up: [graph_database] + +See also: [triple_store] diff --git a/graph_directed b/graph_directed @@ -0,0 +1,12 @@ +# Graph directed + +[graph] where [edge]s are [ordered_pair]s + +- [directed_acyclic_graph] +- [graph_period] + +Up: [graph] + +See also: [graph_undirected] + +Aliases: directed graph, directed graphs diff --git a/graph_exponentiation b/graph_exponentiation @@ -0,0 +1,17 @@ +# Graph exponentiation + +for an [integer] k and [graph] G, the graph exponentiation of G by k is the graph with same [vertices] with an edge from u to v if there is a path of length at most k from u to v +- related to [exponentiation] of [adjacency_matrix] + +- [graph_cube] for exponentiation by 3 +- [graph_square] for exponentiation by 2 + +Uses: + +- for [hamiltonian_cycle], cf [hamiltonian_cycle_cube] +- for [graph_coloring] + - cf https://cstheory.stackexchange.com/questions/51269/upper-bound-for-distance-two-chromatic-number-in-terms-of-maximum-degree + +See also: [Moore_graph] + +Up: [graph] diff --git a/graph_isomorphism b/graph_isomorphism @@ -0,0 +1,7 @@ +# Graph isomorphism + +[graph_isomorphism_problem] + +Up: [isomorphism] of [graph] + +See also: [graph_homomorphism], [canonical_labeling], [weisfeiler_leman], [graph_automorphism] diff --git a/graph_labeling b/graph_labeling @@ -0,0 +1,8 @@ +# Graph labeling + +- [abiteboul2005compact] labeling scheme for [ancestor] queries +- [distance_labeling]: cf [gawrychowski2023better] +- [graceful_labeling] +- [canonical_labeling] + +Up: [graph] diff --git a/graph_minor b/graph_minor @@ -0,0 +1,11 @@ +# Graph minor + +- [contraction] + +[graph_minor_testing] + +Up: [graph] + +See also: [robertson_seymour], [topological_minor], [excluded_minor] + +Aliases: graph minors diff --git a/graph_orientation b/graph_orientation @@ -0,0 +1,7 @@ +# Graph orientation + +- [transitive_orientation] +- [balanced_orientation] +- [constraint_graph_satisfiability] + +Up: [computational_problem] on [graph] diff --git a/graph_packing b/graph_packing @@ -0,0 +1,11 @@ +# Graph packing + +A [packing_problem] in [graph]s + +E.g., [path], [triangle], etc. + +- [Tuza's_conjecture] + +Up: [computational_problem] on [graph] + +See also: [packing_problem], [graph_partition] diff --git a/graph_partition b/graph_partition @@ -0,0 +1,11 @@ +# Graph partition + +splitting a [graph] into [connected_component]s with prescribed size + +[graph_partition_hardness] + +Also on edges: [graph_partition_edges] + +See also: [graph_packing], [partition_problem], [3_partition] + +Up: [computational_problem] on [graph] diff --git a/graph_pattern_counting b/graph_pattern_counting @@ -0,0 +1,7 @@ +# Graph pattern counting + +Count the number of isomorphic copies of one graph in another graph + +Up: [counting_problem] + +See also: [triangle_counting] diff --git a/graph_perfect b/graph_perfect @@ -0,0 +1,9 @@ +# Graph perfect + +[Undirected_graph] G where for every [induced_subgraph] H of G, the [chromatic_number] of H is equal to the size of the [largest_clique] of H + +- [strong_perfect_graph_theorem]: a graph is perfect iff it is a [berge_graph] + +Up: [graph_family] + +Aliases: perfect graph diff --git a/graph_query_languages b/graph_query_languages @@ -0,0 +1,36 @@ +# Graph query languages + +https://www.gqlstandards.org/ + +Theoretical languages: + +- [Regular_Path_Query] (RPQ) +- [2RPQ]: two-way +- [UC2RPQ]: unions of conjunctions of RPQs +- [nested_regular_expressions] (NRE): + - on an [element] you can test if a given path exists + - between square brackets + - like [xpath] +- [regular_query]: + - binary non-recursive [datalog] with [transitive_closure] of binary predicates + - captures [nested_regular_expressions] et [uc2rpq] +- [Conjunctive_context_free_path_query] +- [Regular_queries_with_memory] +- [SPARQL] + +Semantics: + +- [shortest_path] +- [simple_path] (no repeated vertices) +- [trail] (no repeated edges) + +Also: + +- [graph_query_languages_practical] +- [graph_query_languages_standards] + +Historically: [cruz1987graphical] + +Up: [graph_database] + +See also: [fixpoint], [self_join] diff --git a/graph_square b/graph_square @@ -0,0 +1,7 @@ +# Graph square + +[graph_exponentiation] by 2 of [undirected_graph] + +Up: [graph_exponentiation] + +See also: [radoszewski2011hamiltonian], [graph_cube] diff --git a/graph_theory b/graph_theory @@ -0,0 +1,6 @@ +# Graph theory + +- [friendship_theorem] +- [handshaking_lemma] + +Up: [theoretical_computer_science] on [graph] diff --git a/graph_undirected b/graph_undirected @@ -0,0 +1,9 @@ +# Graph undirected + +[graph] where [edge]s are [pair]s + +See also: [graph_directed] + +Up: [graph] + +Aliases: undirected graph, undirected graphs diff --git a/graph_weighted b/graph_weighted @@ -0,0 +1,11 @@ +# Graph weighted + +graph where [edge]s carry [weight] + +can be used for [shortest_path] + +[graph_weighted_regimes] + +Up: [graph], [weight] + +Aliases: weighted graph, weighted graphs diff --git a/gray_code b/gray_code @@ -0,0 +1,10 @@ +# Gray code + +- [mutze2022combinatorial]: [survey_paper] + - avoiding a given [subword], cf [squire1996gray] and references from above survey + - cf [minimal_absent_word] +- older survey: [savage1997survey] + +Up: [enumeration] + +See also: [middle_levels_conjecture], [torsten] diff --git a/greedy_algorithm b/greedy_algorithm @@ -0,0 +1,7 @@ +# Greedy algorithm + +Algorithm where you can build an optimal solution step by step by making choices in a specific order, without having to do [backtracking] + +See also: [matroid] + +Up: [algorithm_type] diff --git a/green2007provenance b/green2007provenance @@ -0,0 +1,5 @@ +# green2007provenance + +[provenance] for [conjunctive_query] and [union_of_conjunctive_queries] and [datalog] ([provenance_datalog], using [derivation_tree]) via [semiring] and [formal_series] + +Up: [academic_paper] on [provenance] diff --git a/grid_graph b/grid_graph @@ -0,0 +1,9 @@ +# Grid graph + +- [grid_minor] +- [subdivision] of grid graph + - counting in exponential subdivision of grid graphs, cf [makowsky2003tree] proposition 32 + +Up: [graph_family] + +See also: [wall_graph] diff --git a/grid_minor b/grid_minor @@ -0,0 +1,15 @@ +# Grid minor extraction + +[theorem] about finding [grid_graph] as [graph_minor] of [graph_undirected] of high [treewidth] + +relevant [academic_papers]: +- [lanzinger2022complexity] +- [chekuri2016polynomial] + +used for [hardness] results, e.g., [grohe2007complexity] + +Up: [theorem] about [grid_graph] + +See also: [grid_minor_directed] + +Aliases: grid minor extraction, grid extraction diff --git a/grid_minor_directed b/grid_minor_directed @@ -0,0 +1,5 @@ +# Grid minor directed + +- [hatzel2024cycles] + +Up: [grid_minor] diff --git a/grotzschs_theorem b/grotzschs_theorem @@ -0,0 +1,7 @@ +# Grotzsch's theorem + +https://en.wikipedia.org/wiki/Gr%C3%B6tzsch%27s_theorem + +[Planar_graph] with no [triangle] is always [3_colorable] + +Up: [graph_coloring], [theorem] diff --git a/grounding b/grounding @@ -0,0 +1,8 @@ +# Grounding + +Go from [first_order_logic] to [propositional_logic] on a given [structure] +by replacing [existential_quantifier] and [universal_quantifier] with [conjunction] and [disjunction] over [domain] + +- [datalog_grounding] + +Up: [logic] diff --git a/group_abelian b/group_abelian @@ -0,0 +1,5 @@ +# Group abelian + +[commutative] + +Up: [group] diff --git a/guarded_structure b/guarded_structure @@ -0,0 +1,10 @@ +# Guarded structure + +A guarded [structure] is a [structure] S where either: +- all [relation]s are empty or +- there is a [relation] and a [fact] F (called "guard") such that + - the [active_domain] of F is the [active_domain] of S + +Up: [structure] + +See also: [guarded_fragment] diff --git a/hamiltonian_cycle b/hamiltonian_cycle @@ -0,0 +1,13 @@ +# Hamiltonian cycle + +[np_hard] + +[approximation] algorithm: [christofides_heuristic] + +- [hamiltonian_cycle_cube] on [graph_cube] +- [hamiltonian_cycle_square] on [graph_square] +- [hamiltonian_cycle_multiple] going multiple times over each [vertex] + +Up: [problem] on [graph] + +See also: [graph_eulerian], [hamiltonian_path] diff --git a/hamiltonian_cycle_cube b/hamiltonian_cycle_cube @@ -0,0 +1,5 @@ +# Hamiltonian cycle cube + +The [graph_cube] of a [graph] always has a [Hamiltonian_cycle] + +Up: [hamiltonian_cycle], [graph_cube] diff --git a/hamiltonian_cycle_square b/hamiltonian_cycle_square @@ -0,0 +1,5 @@ +# Hamiltonian cycle square + +see [radoszewski2011hamiltonian] + +Up: [hamiltonian_cycle], [graph_square] diff --git a/hamming_weight b/hamming_weight @@ -0,0 +1,7 @@ +# Hamming weight + +Hamming weight of a [vector] of [boolean] is the number of occurrences of 1 + +See also: [hamming_distance] + +Up: [mathematics] diff --git a/handshaking_lemma b/handshaking_lemma @@ -0,0 +1,9 @@ +# Handshaking lemma + +https://en.wikipedia.org/wiki/Handshaking_lemma + +[Lemma] about [degree] and [parity] in [graph_undirected] + +Up: [lemma], [graph_theory] + +See also: [friendship_theorem] diff --git a/heimberg2016hanf b/heimberg2016hanf @@ -0,0 +1,5 @@ +# Heimberg2016hanf + + + +Up: [academic_paper] about [hanf_normal_form] for [fo_mod] diff --git a/higmans_lemma b/higmans_lemma @@ -0,0 +1,9 @@ +# Higman's lemma + +[words] on finite [alphabet] are [well_quasi_ordering] by [subsequence] relation + +Of course does not work with [subword] + +Up: [lemma], [word_combinatorics] + +See also: [language_downwards_closed] diff --git a/hitting_set b/hitting_set @@ -0,0 +1,15 @@ +# Hitting set + +Given a family of sets on a universe, find a smallest subset of elements that +intersects every set in the family + +The [dual] is the [set_cover] problem: find the smallest subset of sets whose +union is equal to the universe. This duality is explained here +<https://en.wikipedia.org/wiki/Set_cover_problem#Hitting_set_formulation>. +Indeed, when considering the set of occurrences of every element for the set cover problem (the new sets), we want to find a subset of elements (the original sets) that intersects every new set (= the original elements), i.e., a subset of the original sets such that every original element is contained in a set of the subset. + +In [computational_geometry]: "stabbing" or "piercing" cf [nielsen2000fast] + +Up: [computational_problem] on [set] + +See also: [small_universe_hitting_set] diff --git a/hk_queries b/hk_queries @@ -0,0 +1,7 @@ +# Hk queries + +family of queries used in [pqe] + +used in [monet2020solving] + +Up: [union_of_conjunctive_queries] diff --git a/hole b/hole @@ -0,0 +1,12 @@ +# Hole + +[Induced_cycle] of length at least 4 + +- [hole_odd] + - [odd_hole_free_graph] +- [hole_even] + - [even_hole_free_graph] + +- [antihole] + +Up: [cycle_induced] diff --git a/homomorphism b/homomorphism @@ -0,0 +1,15 @@ +# Homomorphism + +- [homomorphism_closed] +- [homomorphism_equivalence] +- [graph_homomorphism] +- [homomorphism_count] + +Variants: +- [automorphism] +- [endomorphism] +- [morphism] + +Up: [mathematics] + +See also: [core] diff --git a/homomorphism_closed b/homomorphism_closed @@ -0,0 +1,8 @@ +# Homomorphism closed + +[query] Q closed under [homomorphism]: + - if A satisfies Q and A has [homomorphism] to B then B also satisfies Q + +[cate2023when]: characterization of which classes are closed under [homomorphism_count] + +Up: [closure] under [homomorphism] diff --git a/hopcrofts_algorithm b/hopcrofts_algorithm @@ -0,0 +1,15 @@ +# Hopcroft's algorithm + +https://fr.wikipedia.org/wiki/Algorithme_de_Hopcroft_de_minimisation_d%27un_automate_fini + +Constructs [myhill_nerode_equivalence] by successive refinement from the partition of states into [final_states] and [nonfinal_states]; +- looks like an optimized version of [Moore's_algorithm] + +most efficient known algorithm: +- in O(s n log n) + - for n the number of [states] of the [automaton] + - and s the [alphabet] size + +Up: [minimization_automaton] + +See also: [Moore's_algorithm] diff --git a/horn_2sat b/horn_2sat @@ -0,0 +1,5 @@ +# Horn 2sat + +[satisfiability_boolean] with [2horn_clause] + +Up: [horn_sat], [2sat] diff --git a/horn_sat b/horn_sat @@ -0,0 +1,13 @@ +# Horn sat + +https://en.wikipedia.org/wiki/Horn-satisfiability + +[satisfiability_boolean] with [horn_clause] + +In [ptime], and [p_complete] + +For [pqe]: + - already [sharpp_hard] (from [pp2dnf] by negating one of the sides) + - even in the case of [horn_2sat] + +Up: [sat_variants] with [horn_clause] diff --git a/horsetail_graph b/horsetail_graph @@ -0,0 +1,11 @@ +# Horsetail graph + +[Undirected_graphs] whose [graph_square] has [Hamiltonian_path] + +Studied in [radoszewski2011hamiltonian] + +See also: [hamiltonian_cycle_cube], [graph_caterpillar] + +Up: [graph_undirected] + +Aliases: horsetail graphs, graph horsetail diff --git a/hunters_and_rabbit_directed b/hunters_and_rabbit_directed @@ -0,0 +1,5 @@ +# Hunter and rabbits directed + +see [benameur2024cops] and [benameur2024complexity] + +Up: [hunters_and_rabbit] on [graph_directed] diff --git a/hypergraph b/hypergraph @@ -0,0 +1,31 @@ +# Hypergraph + +generalizes [graph] + +## Basic definitions + +- [vertex] +- [hyperedge] +- [primal_graph] aka "Gaifman graph" + +## Classes + +- [hypergraph_uniform] +- [hypergraph_reduced] "reduced": no incomparable edges +- [hypergraph_laminar]: cf [delpia2018multilinear] +- [fagin1983degrees]: degrees of acyclicity + - also [degree_of_acyclicity]: [alpha_acyclic], etc. + - cyclic hypergraph contains one of: + - (k,k-1)-hyperclique: k vertices, each k-1 contains an edge + - cf [hypergraph_conformal] + - induced k-cycle +- [hypergraph_balanced] + - [koenig_property] + +## Problems + +- [hyperclique_detection] / [hyperclique_hypothesis] + +See also: [generalized_hypertree_width], [conjunctive_query], [relational_instance], [simplicial_complex] + +Aliases: hypergraphs diff --git a/hypergraph_conformal b/hypergraph_conformal @@ -0,0 +1,7 @@ +# Hypergraph conformal + +Every [clique] of the [primal_graph] is contained in a hyperedge + +See also: [loomis_whitney], [hypergraph_chordal], [alpha_acyclic] + +Up: [hypergraph] diff --git a/hypergraph_uniform b/hypergraph_uniform @@ -0,0 +1,7 @@ +# Hypergraph uniform + +k-uniform [hypergraph]: all [hyperedge]s have size k + +- [graph_undirected] is k-uniform [hypergraph] + +Up: [hypergraph] diff --git a/hypothesis b/hypothesis @@ -0,0 +1,7 @@ +# Hypothesis + +- [computational_hypothesis] + +See also: [conjecture] + +Up: [mathematics] diff --git a/ilango2022minimum b/ilango2022minimum @@ -0,0 +1,5 @@ +# Illango2022minimum + +[academic_paper] about [minimum_formula_size_problem] + +Up: [academic_paper], [minimum_circuit_size_problem] diff --git a/immerman_vardi_theorem b/immerman_vardi_theorem @@ -0,0 +1,9 @@ +# Immerman vardi theorem + +https://en.wikipedia.org/wiki/Immerman-Vardi_theorem + +[datalog] with [negation] characterizes [ptime] on [ordered_structures] + +Up: [datalog] + +See also: [abiteboul_vianu_theorem] diff --git a/implication_of_constraints b/implication_of_constraints @@ -0,0 +1,5 @@ +# Implication of constraints + +- [dependency_implication] + +Up: [integrity_constraint], [implication] diff --git a/incidence_graph b/incidence_graph @@ -0,0 +1,10 @@ +# Incidence graph + +[graph_bipartite]: +- left vertices are [variable]s +- right vertices are [clause]s +- edge connects variable to clause if variable occurs in clause + +Up: [graph_bipartite], [conjunctive_normal_form] + +See also: [primal_graph], [dual_graph], [incidence_treewidth] diff --git a/incidence_treewidth b/incidence_treewidth @@ -0,0 +1,13 @@ +# Incidence treewidth + +[treewidth] of [incidence_graph] of [conjunctive_normal_form] [boolean_formula] + +more general than [primal_treewidth], by [szeider2003fixed] +- bounding [primal_treewidth] implies a bound on the [incidence_treewidth] + - specifically [incidence_treewidth] is \leq [primal_treewidth] + 1 + - lemma 4 of [szeider2003fixed] +- but not vice-versa + +Up: [conjunctive_normal_form] + +See also: [incidence_pathwidth] diff --git a/inclusion_dependency_unary b/inclusion_dependency_unary @@ -0,0 +1,9 @@ +# Inclusion dependency unary (UID) + +[inclusion_dependency] that are [frontier_one] + +Up: [inclusion_dependency] + +Aliases: UID, UIDs, unary ID, unary IDs, unary inclusion dependency + +See also: [functional_dependency_unary] diff --git a/incomplete_data b/incomplete_data @@ -0,0 +1,7 @@ +# Incomplete data + +[certain_answer]: cf [gheerbrant2023querying] / [gheerbrant2024querying] + +Up: [database_theory] + +See also: [amelie] diff --git a/incremental_maintenance_pqe b/incremental_maintenance_pqe @@ -0,0 +1,5 @@ +# Incremental maintenance PQE + +[berkholz2021probabilistic] + +Up: [query_evaluation_incremental], [pqe] diff --git a/incremental_maintenance_tuple_testing b/incremental_maintenance_tuple_testing @@ -0,0 +1,5 @@ +# Incremental maintenance tuple testing + +For sufficiently complicated problems, it is not possible in general to have [tuple_testing] in O(1) and [update] support in less than O(log n), via result on [marked_ancestor_problem] + +Up: [incremental_maintenance], [tuple_testing] diff --git a/incremental_time b/incremental_time @@ -0,0 +1,5 @@ +# Incremental time + +Discussed in [capelli2023geometric] + +See also: [enumeration] diff --git a/independent_set b/independent_set @@ -0,0 +1,32 @@ +# Independent set + +An independent set is a subset of vertices such that no two vertices of the subset are adjacent + +## Connections + +- An independent set is a [clique] of the [complement] of the graph +- The [complementation] of an independent set is a [vertex_cover] + - and the [complementation] of a [maximum_independent_set] is a [minimum_vertex_cover] + +## Variants + +- [maximum_independent_set]: [np_hard] to find, mais [ptime] in [graph_bipartite] ([maximum_independent_set_bipartite]) +- [maximal_independent_set]: [ptime] to find with [greedy_algorithm] +- [generalized_dominating_set] + +## [counting] + +- [sharp_bis] is the problem of counting independent sets on [graph_bipartite] + - it is open whether it admits an [fpras] +- [dyer1999counting]: on general graphs there is no [fpras], cf [sharp_is] + +By [duality], counting independent sets exactly is the same as counting [vertex_cover] exactly + +## [linear_relaxation] + +[fractional_independent_set] +- like [fractional_edge_cover] vs [edge_cover] + +See also: [matching], [vertex_cover] + +Up: [graph_substructure] diff --git a/induced_subgraph b/induced_subgraph @@ -0,0 +1,7 @@ +# Induced subgraph + +[subgraph] defined by taking a subset U of vertices and the edges between the vertices of U + +See also: [subgraph], [graph_minor], [induced_subhypergraph], [induced_cycle] + +Up: [graph] diff --git a/infinity_deletion_breakable b/infinity_deletion_breakable @@ -0,0 +1,13 @@ +# Infinity deletion breakable + +Discussed in [maehlman2024monadically] and at [stacs_2024_szymon] + +Like [deletion_breakable] but only for r=infinity + +Example: on [tree]: k=1, U(n) = n/3 +- for every set W there is a vertex which is a "balanced separator" of W, i.e., removing the vertex, each connected component contains at most 1/3rd of the vertices of W +- [treewidth]: similar, separators of size t+1 for t the treewidth (still U(n) = n/3) + +A [graph_class] C is infinity deletion breakable iff C is [treelike] + +Up: [graph_class] diff --git a/information_extraction_declarative b/information_extraction_declarative @@ -0,0 +1,5 @@ +# Information extraction declarative + +- [spanner] + +Up: [information_extraction], [declarative] diff --git a/integer_factorization_in_np_cap_conp b/integer_factorization_in_np_cap_conp @@ -0,0 +1,9 @@ +# Integer factorization in NP cap coNP + +https://cs.stackexchange.com/questions/52722/why-is-factor-in-co-np + +[integer_factorization] in a certain sense (given m and k, does m have a divisor <k) is in [nptime] cap [conp] +- [nptime] for the divisor +- [conp] for the [prime_number_decomposition] which can be checked using the fact that [primality_testing] is in [ptime] + +Up: [np_cap_conp], [integer_factorization] diff --git a/integer_linear_programming b/integer_linear_programming @@ -0,0 +1,18 @@ +# Integer linear programming + +[NP_hard] [computational_problem] + +Notion of [linear_relaxation] to transform into a [linear_programming] [computational_problem] +- but the solution of the linear program is usually not optimal for the original problem + - cf [integrality_gap] + - cf [relaxation] + +- [matrix_ilp] + +- [two_variable_per_equality] (TVPE) / [two_variable_per_inequality] (TVPI) + +Up: [computational_problem], [optimization] + +See also: [linear_relaxation] + +Aliases: ILP diff --git a/integrity_constraint b/integrity_constraint @@ -0,0 +1,11 @@ +# Integrity constraint + +- [database_dependency] + - [equality_generating_dependency] + - [functional_dependency] + - [tuple_generating_dependency] + - [inclusion_dependency] + +See also: [logic] + +Up: [databases] diff --git a/interior_point b/interior_point @@ -0,0 +1,9 @@ +# Interior point + +https://en.wikipedia.org/wiki/Interior-point_method + +- start in the center of [polytope] and iterate by taking a path between the center and the exterior + - reduce to [linear_system] + - uses [hessian] + +Up: [linear_programming] diff --git a/intersection b/intersection @@ -0,0 +1,8 @@ +# Intersection + +- [language_intersection] + - [automaton_intersection] +- [set_intersection] +- [sorted_list_intersection] + +Up: [boolean_operator] diff --git a/intractability b/intractability @@ -0,0 +1,10 @@ +# Intractability + +https://hardness.mit.edu/ +https://courses.csail.mit.edu/6.892/spring19/lectures/ +http://courses.csail.mit.edu/6.5440/fall23/ + +- [hardness_of_approximation] +- [np_complete] + +Up: [theoretical_computer_science] diff --git a/johnsons_algorithm b/johnsons_algorithm @@ -0,0 +1,21 @@ +# Johnson's algorithm + +https://en.wikipedia.org/wiki/Johnson%27s_algorithm + +- Uses [bellman_ford] for [single_source_shortest_path] on [super_source], gives + function h indicating the length of shortest path from super source to + each vertex + - abort if [negative_cycle] +- Then reweigh the edges: edge (u, v) is given weight w(u, v) + h(u) - h(v) + - Note: this is >=0, indeed if it were <0 then we get h(u) + w(u, v) < h(v) + contradicting [triangle_inequality] or witnessing a [negative_cycle] +- Then do [dijkstras_algorithm] with the new weights from every vertex + - Any path from s to t in the reweighted graph has weight that of the original + graph plus h(s)-h(t) ([telescoping_sum]) + - So the shortest paths returned are correct, up to adjusting them with the + value h(s)-h(t) + +Time complexity O(n^2 log n + nm), so can be better than [floyd_warshall] for +[graph_sparse] + +Up: [algorithm] for [all_pairs_shortest_path] diff --git a/k_ambiguous b/k_ambiguous @@ -0,0 +1,7 @@ +# K ambiguous + +like [unambiguity] for [NFA] but every word has at most k accepting runs + +Up: [unambiguity] + +See also: [degree_of_ambiguity_nfa], [degree_of_ambiguity_cfg] diff --git a/k_relation b/k_relation @@ -0,0 +1,12 @@ +# K-relation + +A [relation] where the [tuple]s are annotated by a value from a [semiring] + +Used in: + +- [hannula2024conditional] which uses [atserias2020consistency] +- [atserias2023consistency] + +Up: [relation] with [semiring] + +See also: [database_instance] diff --git a/kendall_tau_distance b/kendall_tau_distance @@ -0,0 +1,5 @@ +# Kendall tau distance + +https://en.wikipedia.org/wiki/Kendall_rank_correlation_coefficient + +Up: [permutation_distance] diff --git a/kleene_sequence b/kleene_sequence @@ -0,0 +1,8 @@ +# Kleene sequence + +Successive applications of a [function] f from the minimal element +(assumed to exist) +- all elements are always <= all [fixpoints] +- converges to [least_fixpoint] + +Up: [fixpoint], [sequence] diff --git a/kleenes_algorithm b/kleenes_algorithm @@ -0,0 +1,5 @@ +# Kleene's algorithm + +https://en.wikipedia.org/wiki/Kleene%27s_algorithm + +Up: [conversion_automata] diff --git a/knowledge_compilation b/knowledge_compilation @@ -0,0 +1,12 @@ +# Knowledge compilation + +Classes of [circuit] ensuring tractability + +- [knowledge_compilation_classes] +- connections to [arithmetic_circuits] +- [query_compilation]: knowledge compilation on the [provenance] of a query +- [constraint_satisfaction_problem_knowledge_compilation] + +[circuit_bounds_vs_complexity_bounds] + +Up: [theoretical_computer_science] diff --git a/knowledge_compilation_classes b/knowledge_compilation_classes @@ -0,0 +1,27 @@ +# Knowledge compilation classes + +- [decomposable] [dnnf] +- [sdnnf], with [structuredness] +- [ddnnf], with [deterministic] + - exponentially separated from [dnnf] + - [sauerhoff_function] + - [ordered_dnnf], in [amarilli2017circuit] +- [smoothing] +- [sdd] + - exponentially separated from [obdd] + - [hidden_weighted_bit_function] +- [decision_dnnf] + - [decision_sdnnf] + - [ordered_decision_circuit] +- [diagram] + - [obdd] + - [nobdd] + - [uobdd] + - [fbdd] + - [zero_suppressed_semantics] + +Up: [knowledge_compilation], [circuit] + +See also: [circuit_classes], [circuit_condition] + +Aliases: knowledge compilation circuit classes diff --git a/koenigs_theorem b/koenigs_theorem @@ -0,0 +1,9 @@ +# König's theorem + +In a [graph_bipartite], the [maximum_matching] size and the [minimum_vertex_cover] size are the same. + +There is also a weighted version: Egerváry's theorem + +Generalization to [hypergraph] if they are [hypergraph_balanced] + +Up: [vertex_cover] diff --git a/l_poly b/l_poly @@ -0,0 +1,7 @@ +# L/poly + +https://en.wikipedia.org/wiki/L/poly + +Up: [complexity_class], [logspace], [advice] + +See also: [p_poly] diff --git a/ladners_theorem b/ladners_theorem @@ -0,0 +1,7 @@ +# Ladner's theorem + +If [ptime] \neq [nptime] then there is a problem in [nptime] [setminus] [ptime] which is not [np_complete] + +See also: [diagonal_argument], [np_complete], [np_intermediate] + +Up: [theorem] about [np_intermediate] diff --git a/laminar_set_family b/laminar_set_family @@ -0,0 +1,7 @@ +# Laminar set family + +From a set, partition it into disjoint subsets, and then recursively decompose these sets + +See also: [conjunctive_query_hierarchical] + +Up: [mathematics] diff --git a/language_equivalence b/language_equivalence @@ -0,0 +1,15 @@ +# Language equivalence + +test if two languages are the same + +- on [regular_languages]: [regular_language_equivalence] + - [pspace_complete] +- on [context_free_languages]: [context_free_grammar_equivalence] + - [undecidability] +- on [pattern_languages]: [pattern_language_equivalence] + +Up: [formal_language_computational_problem], [equivalence] + +See also: [query_equivalence], [language_inclusion], [regular_expression_equivalence], [automaton_equivalence] + +Aliases: language equivalent diff --git a/language_inclusion b/language_inclusion @@ -0,0 +1,7 @@ +# Language inclusion + +- [pattern_language_inclusion] + +Up: [formal_language_computational_problems], [inclusion] + +See also: [automaton_inclusion] diff --git a/language_unary b/language_unary @@ -0,0 +1,9 @@ +# Language unary + +language over [unary_alphabet] + +Up: [formal_language] + +Aliases: unary language + +See also: [density_function] diff --git a/leaf b/leaf @@ -0,0 +1,9 @@ +# Leaf + +[node] of a [tree] that has no [child] + +Up: [tree] + +See also: [internal_node] + +Aliases: leaves diff --git a/leapfrog_triejoin b/leapfrog_triejoin @@ -0,0 +1,3 @@ +# Leapfrog triejoin + +Up: [algorithm] for [optimal_joins] diff --git a/learning_dfa b/learning_dfa @@ -0,0 +1,17 @@ +# Learning DFA + +https://cs.stackexchange.com/questions/19687/smallest-dfa-that-accepts-given-strings-and-rejects-other-given-strings + +https://cstheory.stackexchange.com/a/1858/ + +[gold1978complexity]: the following problem is [NP_hard]: + - given sets of strings P and N and number k + - decide if there exists a [DFA] with at most k [states] that accepts all strings in P and no string in N + +Also [angluin1978complexity] + +Also [lingg2024learning] on binary alphabets + +Up: [machine_learning], [automaton] + +Aliases: DFA learning diff --git a/lemma b/lemma @@ -0,0 +1,13 @@ +# Lemma + +A [result] in [mathematics], often intended to be used as a [tool] + +- [graph_removal_lemma] +- [handshaking_lemma] +- [Higman's_lemma] +- [Lovasz_local_lemma] +- [sparsification_lemma] +- [Szemeredi_regularity_lemma] +- [Tarsis_lemma] + +Up: [mathematics] diff --git a/linear_algebra_program b/linear_algebra_program @@ -0,0 +1,7 @@ +# Linear algebra program + +[brijder2019expressive]: MATLANG + +connections to [conjunctive_query] in [munozserrano2023enumeration] + +Up: [linear_programming], [query_language] diff --git a/linear_programming b/linear_programming @@ -0,0 +1,17 @@ +# Linear programming + +minimize c^t x st A^t x = b and x >= 0 pointwise +- [dual] problem: [variable]s y dans R^d, cost b, we want to minimize b^t y + - and A y \geq c, defines a [polytope] + - so we want to find the point inside the polytope which minimizes the cost + +[algorithm]s (cf [aaron_sidford_talk]): +- [simplex_algorithm], fast in practice but slow in memory +- [ellipsoid], moderate in both +- [interior_point] methods, it's the best in practice +- can be approximated ("first order methods") +- recent improvements + +Up: [optimization] + +See also: [integer_linear_programming], [linear_equation], [linear_relaxation], [farkas_lemma], [linear_algebra_program], [linear_system] diff --git a/list b/list @@ -0,0 +1,9 @@ +# List + +- [doubly_linked_list] +- [element_distinctness_problem] +- [sorted_list] + +Up: [data_structure] + +See also: [array] diff --git a/locally_testable_language b/locally_testable_language @@ -0,0 +1,18 @@ +# Locally testable language + +A [formal_language] is locally testable if it is k-testable for some k, where a k-testable language is one where membership depends only on the prefix and suffix of length k and the set of infixes of size k + +## Subclass + +- "strictly locally testable" in [caron2000families]: the locally testable languages are the Boolean combinations of strictly locally testable languages + +## Membership problem to the class + +Membership is decidable in [ptime] with algebraic characterization, cf [schutzenberger1965monoids], [caron2000families] + +## Generalizations + +- [locally_threshold_testable_language] where you can count infixes up to some threshold +- mTT+MOD dans place2013separating, where you can further count [modulo] a certain value + +See also: [piecewise_testable_language], [local_language], [suffix_testable_language], [prefix_testable_language] diff --git a/log_shaving b/log_shaving @@ -0,0 +1,9 @@ +# Log shaving + +removing logs from [computational_complexity] + +Up: [computational_complexity] + +See also: [incremental_research] + +Aliases: shave diff --git a/logarithm b/logarithm @@ -0,0 +1,8 @@ +# Logarithm + +- [polylogarithmic] +- [logarithm_iterated] + +Up: [mathematics] + +See also: [exponential], [logspace], [logarithmic] diff --git a/logarithm_iterated b/logarithm_iterated @@ -0,0 +1,7 @@ +# Logarithm iterated + +https://en.wikipedia.org/wiki/Iterated_logarithm + +Up: [logarithm] + +See also: [inverse_ackermann] diff --git a/logcfl b/logcfl @@ -0,0 +1,11 @@ +# LOGCFL + +Complexity class of problems with [logspace_reduction] to [membership_problem] of a [context_free_grammar] + +aka [nlogspace] with a [stack] + +Also: [logdcfl] for [deterministic_context_free_grammar] + +Up: [complexity_class] + +See also: [logcfl_complete] diff --git a/logic b/logic @@ -0,0 +1,70 @@ +# Logic + +## [logic_fragment] + +- [propositional_logic] + - [resolution] +- [modal_logic] +- [first_order_logic] + - [fok] + - [fo2] +- [guarded_fragment] + - [gfk] + - [gf2] + - [gck] + - [gc2] +- [c2] +- [unary_negation] +- [guarded_negation] +- [monadic_second_order_logic] +- [separator_logic] +- [description_logics] + +## Problems + +- [satisfiability] +- [model_checking] + +## Fields + +- [finite_model_theory] + - [finite_controllability] + +## Tools + +- [diagonal_argument] + +## Results + +- [goedels_incompleteness_theorem] +- [zero_one_law] +- [feferman_vaught_theorem] about [product] + +## Concepts + +- [locality] + - [first_order_locality] +- [arity] + - [arity_two] +- [craig_interpolation] +- [ehrenfeucht_fraisse_game] +- [fo_interpretation] +- [quantifier_rank] +- [conjunction] +- [disjunction] +- [implication] +- [variable] +- [negation] +- [zero_one_law] +- [craig_interpolation] +- [beth_definability] +- [logical_separability] +- [monadic] +- [logic_formula] +- [quantifier] + +Up: [mathematics], [theoretical_computer_science] + +See also: [knowledge_representation], [reasoning], [logic_applications], [expressiveness] + +Aliases: logics diff --git a/logical_separability b/logical_separability @@ -0,0 +1,7 @@ +# Logical separability + +[levesque1998completeness] + +Up: [logic] + +See also: [craig_interpolation] diff --git a/logspace b/logspace @@ -0,0 +1,16 @@ +# L + +Class of problems that can be solved with logarithmic space [complexity_space] + +Is included in [PTIME] + +Variant [polyl]: solved with [polylogarithmic] [complexity_space] + +Variant [NL] ([nondeterminism]) + +Variant [SL]: symmetric logspace, class of problems reducible to undirected [reachability], showed to be equal to [logspace] by [reingold] +- for [2sat] corresponds to the case where exactly one literal in each clause must hold + +Up: [complexity_class] + +Aliases: L diff --git a/logspace_reduction b/logspace_reduction @@ -0,0 +1,7 @@ +# Logspace reduction + +[reduction] in [logspace] + +Can be used to show that problems are [nl_complete] + +Up: [reduction] diff --git a/longest_common_substring b/longest_common_substring @@ -0,0 +1,7 @@ +# Longest common substring + +linear time with [suffix_tree] + +Up: [stringology], [subword] + +See also: [longest_common_subsequence] diff --git a/longest_increasing_subsequence b/longest_increasing_subsequence @@ -0,0 +1,7 @@ +# Longest increasing subsequence + +https://en.wikipedia.org/wiki/Longest_increasing_subsequence + +Up: [subsequence] + +See also: [longest_common_subsequence] diff --git a/longest_parameterized_common_subsequence b/longest_parameterized_common_subsequence @@ -0,0 +1,7 @@ +# Longest parameterized common subsequence + +[longest_common_subsequence] with [parameter]s of various kinds, cf [iliopoulos2007algorithms] for instance + +apparently also under [alphabet_bijection], cf [parameterized_matching], in [keller2009longest] + +Up: [longest_common_subsequence] diff --git a/lovasz_conjecture b/lovasz_conjecture @@ -0,0 +1,11 @@ +# Lovasz conjecture + +https://en.m.wikipedia.org/wiki/Lov%C3%A1sz_conjecture + +every finite [connected_graph] which is [vertex_transitive] has a [hamiltonian_path] + +for the stronger conjecture with [hamiltonian_cycle], 5 known counterexamples + +weaker conjecture about [cayley_graph] for [hamiltonian_cycle] + +Up: [conjecture] diff --git a/lower_bounds b/lower_bounds @@ -0,0 +1,14 @@ +# Lower bounds + +Class at [mit] http://courses.csail.mit.edu/6.5440/fall23/ + +videos and well-down course notes https://courses.csail.mit.edu/6.892/spring19/lectures/ + +Work in progress [book] "Computational Intractability: A Guide to Algorithmic Lower Bounds" https://hardness.mit.edu/ +- not intended to be [open_access] apparently + +Up: [computational_complexity] + +See also: [theorem] + +Aliases: lower bound diff --git a/machine_model b/machine_model @@ -0,0 +1,7 @@ +# Machine model + +- [memory_model_external] +- [ram_model] +- [cell_probe_model] + +Up: [theoretical_computer_science] diff --git a/makowsky2003tree b/makowsky2003tree @@ -0,0 +1,5 @@ +# Makowsky2003tree + +Proposition 32 shows that there are graphs with high [treewidth], even [subdivision] of [grid_graph], on which [monadic_second_order_logic] evaluation is in [ptime] + +Up: [grid_graph] diff --git a/many_one_reduction b/many_one_reduction @@ -0,0 +1,11 @@ +# Many-one reduction + +[reduction] that transforms an instance of A into an instance of B and answer in the same way + +Called "Karp reduction" when it is [ptime_reduction] + +- restriction "one-one" when the reduction function is injective ; aussi notion "recursively isomorphic" + +Up: [reduction] + +See also: [turing_reduction], [weihrauch_reduction] diff --git a/markovs_inequality b/markovs_inequality @@ -0,0 +1,9 @@ +# Markov's inequality + +https://en.wikipedia.org/wiki/Markov%27s_inequality + +For a nonnegative random variable X, the probability that it is at least a>0 is no greater than E[X]/a. + +Indeed, when X geq a it contributes at least a to the expectation, and otherwise it contributes at least zero. + +Up: [concentration_inequality] diff --git a/martens2018evaluation b/martens2018evaluation @@ -0,0 +1,7 @@ +# Martens2018evaluation + +introduced [simple_transitive_expressions] + +See also: [bonifati2017analytical] + +Up: [academic_paper] about [RPQs] diff --git a/matching b/matching @@ -0,0 +1,22 @@ +# Matching + +Structure in [graph] et [graph_bipartite]: a subset of edges where no two edges share a vertex + +- [maximum_matching] +- [exact_matching] +- [perfect_matching] + +Problems: + +- [matching_counting] +- [maximum_matching_counting] + +Algorithms [graph_algorithm]: + +- [hungarian_algorithm] + +Also the [linear_relaxation]: see [fractional_edge_packing] + +See also: [independent_set], [induced_matching], [graph_matching_covered], [deficiency] + +Up: [graph_substructure] diff --git a/matching_width b/matching_width @@ -0,0 +1,8 @@ +# Matching width + +introduced in [razgon2017oblivious], variant of [mm_width] + +linearly related to [pathwidth]: + - [razgon2017oblivious] shows pw(G)/2 <= mw(G) <= pw(G)+1 + +Up: [width_measure] diff --git a/mathematical_foundations_of_automata_theory b/mathematical_foundations_of_automata_theory @@ -0,0 +1,6 @@ +# Mathematical foundations of automata theory + +https://www.irif.fr/~jep/PDF/MPRI/MPRI.pdf +[course_notes] by [jean_eric_pin] + +Up: [course_notes] diff --git a/mathematics b/mathematics @@ -0,0 +1,85 @@ +# Maths + +## Basic concepts + +- [set] + - [semilinear_set] +- [partition] + - [equivalence_relation] +- [order] + - [partial_order] + - [inequality_mathematics] +- [algebraic_structure] + - [monoid] + - [semigroup] + - [group] + - [semiring] + - [ring] + - [field] + - [homomorphism] +- [distance] +- [vector] +- [number] +- [formal_series] +- [polynomial] +- [lattice] +- [logarithm] +- [matrix] +- [function] +- [equation] + - [equation_system] +- [sequence] +- [cartesian_product] +- [plane_mathematics] +- [modulo] + +## Notions + +- [canonicity] +- [paradox] +- [transitivity] +- [idempotent] +- [dual] +- [finite] +- [infinite] +- [cardinal] +- [fourier_transform] + +## Fields + +[mathematics_fields] + +## Problems + +- [warings_problem] +- [kissing_number_problem] +- [moving_sofa_problem] +- [tiling], cf https://en.m.wikipedia.org/wiki/Heesch%27s_problem + +## [theorem] + +- [wiles_theorem] +- [inclusion_exclusion] + +## Operations + +- [addition] +- [multiplication] +- [exponentiation] +- [tetration] +- [ackermanns_function] + +## [mathematics_meta_terms] + +- [open_problem] +- [theorem] +- [result] +- [conjecture] +- [definition] +- [lemma] + +Up: [formal_science] + +See also: [mathematics_meta], [mathematics_technique] + +Aliases: mathematical diff --git a/mathematics_fields b/mathematics_fields @@ -0,0 +1,20 @@ +# Mathematics fields + +classification [msc] + +- [topology] +- [probabilities] +- [number_theory] +- [algebra] +- [analysis] +- [geometry] +- [game_theory] +- [computer_algebra] +- [combinatorics] +- [logic] +- [arithmetic] +- [randomness] +- [fourier_analysis] +- [discrete_mathematics] + +Up: [mathematics] diff --git a/mathematics_operation b/mathematics_operation @@ -0,0 +1,9 @@ +# Mathematics operation + +- [addition] +- [multiplication] +- [exponentiation] +- [tetration] +- [ackermanns_function] + +Up: [mathematics] diff --git a/matrix b/matrix @@ -0,0 +1,37 @@ +# Matrix + +## Types + +- [matrix_square] +- [matrix_zero] +- [matrix_boolean] +- [matrix_identity] +- [matrix_permutation] +- [matrix_diagonal] +- [matrix_triangular] +- [matrix_invertible] +- [matrix_vandermonde] +- [matrix_toeplitz] +- [matrix_stochastic] +- [unimodular] matrix: [matrix_square] with [determinant] +1 or -1 + - equivalently [matrix_invertible] over the integers + - [totally_unimodular]: matrix (not necessarily square) where every [matrix_square] [submatrix] (deleting rows and columns) has [determinant] 0 or 1 or -1 +- [strongly_unimodular] matrix +- [pet_matrix] https://cstheory.stackexchange.com/a/53156 [fertin2015obtaining] + +## Operations + +- [kronecker_product] +- [matrix_product] + +## Values + +- [matrix_rank] +- [determinant] and [permanent] + +## [computational_problem] + +- [matrix_multiplication] +- [matrix_mortality] + +Up: [mathematics] diff --git a/matrix_boolean b/matrix_boolean @@ -0,0 +1,7 @@ +# Matrix boolean + +[matrix] with values 0 and 1 + +[matrix_multiplication] can then be defined in [boolean_semiring] + +Up: [matrix], [boolean] diff --git a/matrix_ilp b/matrix_ilp @@ -0,0 +1,12 @@ +# Matrix ILP + +An [integer_linear_programming] [computational_problem] associated to a [matrix] +- i.e., optimize cx subject to Ax \geq b, for A a matrix + +Cf [strongly_unimodular] and [totally_unimodular] + +Discussed in [crama1986strong], see also [hypergraph_signed] + +Up: [integer_linear_programming] + +See also: [hypergraph_unimodular] diff --git a/matrix_square b/matrix_square @@ -0,0 +1,5 @@ +# Matrix square + +[matrix] which has as many rows as columns + +Up: [matrix] diff --git a/matrix_toeplitz b/matrix_toeplitz @@ -0,0 +1,9 @@ +# Matrix toeplitz + +https://en.wikipedia.org/wiki/Toeplitz_matrix + +"diagonal-constant matrix" + +[Toeplitz_graph] + +Up: [matrix] diff --git a/max_sat b/max_sat @@ -0,0 +1,14 @@ +# MaxSAT + +https://en.wikipedia.org/wiki/Maximum_satisfiability_problem + +Find the maximum number of clauses of a [conjunctive_normal_form] formula that +can be made true + +Also exists in a weighted version + +Special case: [max_2sat] + +Up: [sat_variants] + +See also: [satisfiability_weighted] diff --git a/maximal_common_subsequence b/maximal_common_subsequence @@ -0,0 +1,13 @@ +# Maximal common subsequence (MCS) + +[maximal_common_subsequence] (MCS): common subsequence cannot be extended (inclusion in terms of [substring]) +- formally: it is a common sequence and no supersequence is a common sequence +- [longest_common_subsequence] is MCS but not necessarily vice-versa +- [PTIME] to compute MCS for an unbounded number of multiple input strings: [hirota2023fast] + +- warning! you can compute greedily a common sequence between 2 strings by extending it to the right + - but it is not necessarily an MCS, it may still be possible to extend it by an insertion + +Up: [common_subsequence] + +See also: [longest_common_subsequence] diff --git a/maximal_independent_set_counting b/maximal_independent_set_counting @@ -0,0 +1,7 @@ +# Maximal independent set counting + +tractable for [cograph] (P4-free [graph]) +- cf [corneil1981complement] +- mentioned in [livshits2021counting] + +Up: [counting_problem], [maximal_independent_set] diff --git a/maximum_a_posteriori b/maximum_a_posteriori @@ -0,0 +1,5 @@ +# MAP + +On [ddnnf], tractable : upwards then downwards + +See also: [message_passing], [marginal_maximum_a_posteriori] diff --git a/maximum_cut b/maximum_cut @@ -0,0 +1,11 @@ +# Maximum cut + +https://en.wikipedia.org/wiki/Maximum_cut + +[np_complete] + +[ptime] on [planar_graph] in connection with [chinese_postman_problem] + +See also: [minimum_cut] + +Up: [computational_problem] on [graph] diff --git a/maximum_independent_set_bipartite b/maximum_independent_set_bipartite @@ -0,0 +1,8 @@ +# Maximum independent set bipartite + +finding [maximum_independent_set] in [graph_bipartite] + +- complement of a [maximum_independent_set] is [minimum_vertex_cover] +- and then problem can be solved by [minimum_vertex_cover_bipartite] + +Up: [maximum_independent_set], [graph_bipartite] diff --git a/maximum_matching b/maximum_matching @@ -0,0 +1,12 @@ +# Maximum matching + +Particular case: [perfect_matching]. + +- Problem: [maximum_matching_problem] +- Counting: [maximum_matching_counting] + +Also [online_algorithm] for maximum matching + +Up: [computational_problem] on [matching] + +See also: [alternating_path] diff --git a/membership_problem b/membership_problem @@ -0,0 +1,10 @@ +# Membership problem + +given [formal_language] L description and [word] w, test if w belongs to L + +- [regular_language_membership] +- [context_free_language_membership] + +- [radoszewski2021hardness] for hardness under [3SUM_conjecture] of testing membership of a string to some [formal_languages] + +Up: [formal_language_computational_problem] diff --git a/mengers_theorem b/mengers_theorem @@ -0,0 +1,7 @@ +# Menger's theorem + +https://en.wikipedia.org/wiki/Menger's_theorem + +[theorem] on [disjoint_paths] in [graph] + +Up: [theorem] on [graph] diff --git a/mim_width b/mim_width @@ -0,0 +1,11 @@ +# Mim width + +defined in [vatshelle2012new] + +via [induced_matching] + +linear version [lmim_width], like [pathwidth] is to [treewidth], cf [golovach2017output] + +variant [sim_width] + +Up: [width_measure] diff --git a/minimal_absent_word b/minimal_absent_word @@ -0,0 +1,14 @@ +# Minimal absent word (MAW) + +minimal word which is not a [factor] of a [word] but every shorter word is + +given a word, there is a linear number of minimal absent words + +- [directed_acyclic_word_graph] (DAWG) + representing all [factors] of the word + - [fujishige2023linear] + - compact DAWG (CDAWG), keep only branching nodes + path compression + +variant [minimal_rare_word] with a threshold on the number of occurrences + +Up: [stringology] diff --git a/minimal_unsatisfiable b/minimal_unsatisfiable @@ -0,0 +1,12 @@ +# Minimal unsatisfiable + +[conjunctive_normal_form] [boolean_formula] which is unsatisfiable but every strict clause subset is satisfiable + +[dp_complete] to identify +- cf [minimum_unsatisfiable_core] + +Relevant result: [tarsis_lemma] + +Up: [satisfiability_boolean] + +See also: [extremal_combinatorics] diff --git a/minimal_witness b/minimal_witness @@ -0,0 +1,14 @@ +# Minimal witness + +Find the smallest subset of a [relational_database] that satisfies a [query] +- formally, for query Q and database D, find smallest subset D' of D giving the same result +- [approximation]: find a subset of tuples giving the same results which is within a [approximation_multiplicative] factor of the size of the optimal subset + +easy for [conjunctive_query_full], so hardness comes from [projection] + +- [miao2019explaining], with [ptime] algorithm for a specific tuple +- [hu2023finding], [best_paper_award] at [icdt_2024] + +Up: [database_theory] + +See also: [query_resilience] diff --git a/minimization b/minimization @@ -0,0 +1,7 @@ +# Minimization + +- [minimization_conjunctive_query], cf [homomorphism] / [core] +- [minimization_automaton] + - [automaton_minimal] + +Up: [theoretical_computer_science] diff --git a/minimization_automaton b/minimization_automaton @@ -0,0 +1,10 @@ +# Minimization automaton + +- [brzozowskis_algorithm] + - https://fr.wikipedia.org/wiki/Algorithme_de_Brzozowski_de_minimisation_d%27un_automate_fini +- [hopcrofts_algorithm] +- [moores_algorithm] + +Up: [minimization] + +Aliases: minimization of automata, automata minimization, automaton minimization, minimization automata diff --git a/minimum_circuit_size_problem b/minimum_circuit_size_problem @@ -0,0 +1,11 @@ +# Minimum circuit size problem (MCSP) + +Given the truth table of a [boolean_formula] and an integer s, decide if there is a [boolean_circuit] of size s computing the formula + +Clearly in [nptime] and not known to be [np_hard], cf [ilango2022minimum] + +[minimum_circuit_size_problem_arithmetic_circuit] + +See also: [minimum_formula_size_problem], [addition_chain] + +Up: [minimization] of [boolean_circuit] diff --git a/minimum_degree_spanning_tree b/minimum_degree_spanning_tree @@ -0,0 +1,7 @@ +# Minimum degree spanning tree + +https://en.wikipedia.org/wiki/Minimum_degree_spanning_tree + +Up: [spanning_tree] + +See also: [degree] diff --git a/minimum_feedback_vertex_set b/minimum_feedback_vertex_set @@ -0,0 +1,12 @@ +# Minimum feedback vertex set + +[computational_problem] of finding minimum-[cardinality] [feedback_vertex_set] + +[np_complete] +- already on [graph_directed] with maximal [indegree] 2 and maximal [outdegree] 2 + - and on [directed_planar_graph] with maximal [indegree] 3 and maximal [outdegree] 3 +- and on [undirected_graphs] with [maximal_degree] 4 + - [ptime] on graphs with maximal degree 3 + - reduction to [matroid] parity? + +Up: [computational_problem], [feedback_vertex_set] diff --git a/minimum_spanning_tree b/minimum_spanning_tree @@ -0,0 +1,7 @@ +# Minimum spanning tree + +- [minimum_spanning_tree_dynamic] +- [prims_algorithm] +- [kruskals_algorithm] + +Up: [spanning_tree] diff --git a/minimum_vertex_cover_bipartite b/minimum_vertex_cover_bipartite @@ -0,0 +1,9 @@ +# Minimum vertex cover bipartite + +finding [minimum_vertex_cover] in [graph_bipartite] + +Algorithm: We use [koenigs_theorem] to say it is equivalent to finding a [maximum_matching] + +See also: [maximum_independent_set_bipartite] + +Up: [minimum_vertex_cover], [graph_bipartite] diff --git a/mixed_chinese_postman_problem b/mixed_chinese_postman_problem @@ -0,0 +1,7 @@ +# Mixed chinese postman problem + +https://en.wikipedia.org/wiki/Mixed_Chinese_postman_problem + +[np_complete] + +Up: [chinese_postman_problem] on [graph_mixed] diff --git a/monadic b/monadic @@ -0,0 +1,10 @@ +# Monadic + +Having [arity] of 1. + +- [monadic_second_order_logic] +- [datalog_monadic] + +Up: [logic] + +See also: [monad] diff --git a/monadic_second_order_logic_model_checking b/monadic_second_order_logic_model_checking @@ -0,0 +1,7 @@ +# Monadic second order logic model checking + +- [courcelle_theorem] + +Up: [model_checking] for [monadic_second_order_logic] + +See also: [first_order_model_checking] diff --git a/montgomery2020proof b/montgomery2020proof @@ -0,0 +1,5 @@ +# montgomery2020proof + +https://arxiv.org/abs/2001.02665 + +Up: [academic_paper] on [ringels_conjecture] diff --git a/moore_graph b/moore_graph @@ -0,0 +1,18 @@ +# Moore graph + +https://en.wikipedia.org/wiki/Moore_graph + +Connect as many [vertex] as possible while limiting [graph_diameter] and [graph_degree] + +A Moore graph is a [graph] satisfying the Moore bound on [degree] and +[diameter] (cf also [girth]): + - the bound is the obvious one where summing the number of vertices reachable at the indicated distance + - [open_problems]: open for [degree] 57 whether a Moore graph exists + +[miller2013moore] and also mentioned in [cranston2023coloring] + +Records: https://en.wikipedia.org/wiki/Table_of_the_largest_known_graphs_of_a_given_diameter_and_maximal_degree + +Up: [graph] + +See also: [extremal_graph_theory] diff --git a/moores_algorithm b/moores_algorithm @@ -0,0 +1,9 @@ +# Moore's algorithm + +https://fr.wikipedia.org/wiki/Algorithme_de_Moore_de_minimisation_d%27un_automate_fini + +Constructs [myhill_nerode_equivalence] by successive refinement from the partition of states into [final_states] and [nonfinal_states] + +Up: [minimization_automaton] + +See also: [hopcrofts_algorithm] diff --git a/morphism b/morphism @@ -0,0 +1,10 @@ +# Morphism + +on [word]s + +- [non_erasing_morphism] +- [length_preserving_morphism] + +Up: [mathematics] + +See also: [homomorphism] diff --git a/mpe b/mpe @@ -0,0 +1,11 @@ +# Most Probable Explanation (MPE) + +find [satisfying_valuation] with largest weight for a [boolean_function] + +- for [monotone2cnf]: [np_hard] by reduction from [minimum_vertex_cover] +- for [horn_clause]: [np_hard] by padding previous argument +- for [2horn_clause] (no two literals of same polarity per clause = "definite horn with size at most two), [ptime] by reduction to [project_selection_problem] + +Up: [satisfiability_boolean] + +See also: [sharp_satisfiability] diff --git a/multigraph b/multigraph @@ -0,0 +1,10 @@ +# Multigraph + +A [graph] where the same [edge] can exist multiple times. + +Can also be seen as a [weighted_graph] where edges carry a nonzero integer weight + +- [multigraph_directed] +- [multigraph_undirected] + +Up: [graph] diff --git a/multitree b/multitree @@ -0,0 +1,13 @@ +# Multitree + +https://en.wikipedia.org/wiki/Multitree + +[Directed_acyclic_graph] without a [diamond] + +A multitree is not necessarily a [polytree], but a [polytree] is a multitree. + +Up: [tree] + +See also: [polytree] + +Aliases: multitrees diff --git a/naturally_ordered_semiring b/naturally_ordered_semiring @@ -0,0 +1,5 @@ +# Naturally ordered semiring + +[semiring] with [natural_order] + +Up: [natural_order], [semiring] diff --git a/nbdd b/nbdd @@ -0,0 +1,9 @@ +# Nbdd + +[bdd] which is [nondeterministic] + +- [nfbdd] + +Up: [bdd] + +Aliases: nBDDs diff --git a/nbp b/nbp @@ -0,0 +1,11 @@ +# Nondeterministic branching program (NBP) + +Like [nrobp] but without the "free" aspect (cf [fbdd]). + +Other name: nFBDD + +It is shown in meinel1989nondeterministic to be as powerful as [nptime] and so +we can translate [circuit] to NBPs in [ptime] +- the key argument is to use the [tseitsin_transform] + +Up: [diagram] diff --git a/nc b/nc @@ -0,0 +1,18 @@ +# NC + +"Nick's class" + +understood as meaning that a problem is efficiently parallelizable [parallelization] + +NCi: class of [formal_language] accepted by uniform [boolean_circuit] with polynomial number of gates, maximum [fan_in] 2, and depth O(log^i n) + +It is not known whether the NC hierarchy is proper: if it is not, then it leads to a collapse + +- [barringtons_theorem]: the class BWBP of [regular_language] on {0, 1} that can be recognized with branching programs of polynomial length and bounded width is exactly "nonuniform [nc1]" + +It is assumed but unknown that [nc] neq [ptime] + +- [nc0] +- [nc1] + +Up: [ac] diff --git a/nc1 b/nc1 @@ -0,0 +1,13 @@ +# NC1 + +https://en.wikipedia.org/wiki/NC_(complexity) + +circuits with [polynomial] [circuit_size] and [polylogarithmic] [depth] + +NC1 circuits equivalent to polynomial-size uniform family of [formula_boolean] + +https://en.wikipedia.org/wiki/NL_(complexity) says we have: + +[nc1] included in [logtime] included in [nlogtime] included in [nc2] + +Up: [nc], [circuit_complexity] diff --git a/network_reliability b/network_reliability @@ -0,0 +1,8 @@ +# Network reliability + +- [st_reliability] +- [network_reliability_fpras] + +Up: [graph] + +See also: [pqe], [reliability_database] diff --git a/neural_network_compression b/neural_network_compression @@ -0,0 +1,7 @@ +# Neural network compression + +https://bellard.org/nncp/ by [fabrice_bellard] + +Up: [compression_algorithm] using [neural_network] + +See also: [rnn_compression] diff --git a/nfbdd b/nfbdd @@ -0,0 +1,13 @@ +# nFBDD + +[fbdd] which is [nondeterministic] + +special case: [nobdd] + +problem: [sharp_nfbdd] + +equivalent to [nrobp] + +can do [quasipolynomial] simulation of [dnnf]: [dnnf_to_nfbdd] + +Up: [nbdd] diff --git a/nlogspace b/nlogspace @@ -0,0 +1,20 @@ +# NL + +[complexity_class] of [decision_problem] that can be solved by [nondeterministic] [turing_machine] with [logarithm] amount of memory + +Like [logspace] with [nondeterministic] + +Complete problems: + +- directed [reachability] +- [2sat] + +Known to be equal to [co-NL]: the Immerman–Szelepcsényi theorem [immerman_szelepcsenyi_theorem] + +[descriptive_complexity]: corresponds to [fotc] = [first_order_logic] with [transitive_closure] operator + +Up: [complexity_class] + +See also: [nl_complete] + +Aliases: NL diff --git a/no_meet b/no_meet @@ -0,0 +1,5 @@ +# No meet + +[walks] in a [graph_directed] that avoid each other, cf [benameur2024nomeet] + +Up: [walk] diff --git a/nondeterministic b/nondeterministic @@ -0,0 +1,12 @@ +# Nondeterministic + +- [automata] +- [tree_automaton] +- [turing_machine] +- [degree_of_ambiguity] + +See also: [randomness], [alternation], [nptime] + +Up: [theoretical_computer_science] + +Aliases: nondeterminism diff --git a/normal_subgroup b/normal_subgroup @@ -0,0 +1,11 @@ +# Normal subgroup + +A [subgroup] N of a [group] G is *normal* if g n g^{-1} in N for every n in N and g in G + +- a bit like [ideal] but [ideal] does not make sense in a group in which you have [inverse] + +Can be used to build [quotient_group] by a [congruence_relation]: the equivalence class of the [identity_element] is a normal subgroup, and the other equivalence classes are [coset] of that subgroup + +When the group is [abelian_group], all subgroups are normal + +Up: [finite_simple_group] diff --git a/np_cap_conp b/np_cap_conp @@ -0,0 +1,10 @@ +# NP cap coNP + +[integer_factorization_in_np_cap_conp] + +https://cs.stackexchange.com/questions/41476/what-do-we-know-about-np-cap-co-np +https://cs.stackexchange.com/questions/38248/what-do-we-know-about-np-%e2%88%a9-co-np-and-its-relation-to-npi + +Up: [complexity_class] + +See also: [nptime], [conp], [word_automaton_self_verifying] diff --git a/np_complete b/np_complete @@ -0,0 +1,30 @@ +# NP-complete + +https://en.wikipedia.org/wiki/NP-completeness + +Problem which is in [nptime] and [np_hard] + +- problems: + - [3_partition] + - [bin_packing] + - [3_dimensional_matching] + - [knapsack] + - [subset_sum] mais [pseudo_polynomial_time] algorithm + - [hitting_set] + - https://en.wikipedia.org/wiki/List_of_NP-complete_problems + - [garey_johnson] + - 1972: the first 21 NP-complete problems of Karp + - [minimum_vertex_cover] + - [maximum_independent_set] + +weakly NP-complete ou [strongly_np_complete] depending on whether there exist +[pseudo_polynomial_time] algorithms + +different notions of [reduction]? +- it is open whether [np_complete] problems under [logspace_reduction] and [ptime_reduction] are different, cf https://en.wikipedia.org/wiki/Log-space_reduction + +Up: [complete] for [nptime] + +See also: [intractability], [np_hard], [conp_complete] + +Aliases: NP-completeness, NP_completeness diff --git a/np_hard b/np_hard @@ -0,0 +1,12 @@ +# NP-hard + +at least as hard as the hardest [computational_problem]s in [nptime] +- admits a [ptime_reduction] from any [nptime] problem +- subtlety about which type of reduction is allowed, e.g., [many_one_reduction] vs [turing_reduction] + - usual notion is [many_one_reduction] + - with [turing_reduction], the difference between [np] and [conp] disappears + - https://cstheory.stackexchange.com/questions/138/many-one-reductions-vs-turing-reductions-to-define-npc + +See also: [nptime], [computational_hardness] + +Up: [computational_complexity] diff --git a/np_intermediate b/np_intermediate @@ -0,0 +1,10 @@ +# NP-intermediate + +Problems in [nptime] not thought likely to be [np_complete] + +- [integer_factoring] +- [graph_isomorphism_problem] + +Up: [complexity_class] + +See also: [qp] diff --git a/nptime b/nptime @@ -0,0 +1,17 @@ +# NP + +definition: +- via [nondeterministic] [ptime] [turing_machine] +- via [witness] + +- "Berman-Hartmanis conjecture": all NP languages can be related by PTIME-computable isomorphisms + +subset [snp] + +subset [up] + +[npo] for [optimization_problem] + +Up: [complexity_class] + +See also: [ptime], [np_complete], [np_hard], [np_cap_conp], [conp], [nondeterministic_PTIME_Turing_machine] diff --git a/nrobp b/nrobp @@ -0,0 +1,13 @@ +# NROBP + +An [fbdd] with [nondeterministic], cf [razgon2015read] + +Variant with [nondeterministic] only at the [root] : [savicky2005hierarchy] + +Equivalent to [nfbdd]. + +Generalization: [read_k_branching_program] + +See also: [nbp], [read_once] + +Up: [diagram] diff --git a/number b/number @@ -0,0 +1,12 @@ +# Number + +- [natural_number] + - [diophantine_equation] + - [sum_of_powers] +- [rational_number] +- [real_number] +- [complex_number] +- [gcd] + - [euclidean_algorithm] + +Up: [mathematics] diff --git a/number_theory b/number_theory @@ -0,0 +1,14 @@ +# Number theory + +Open problems: + +- Infinite number of [mersenne_prime] / odd [perfect_number]? +- existence of an even [perfect_number]? +- [goldbach_conjecture] + - [ternary_goldbach_problem] +- [twin_prime_conjecture] +- [chens_theorem] + +See also: [prime_number], [arithmetic] + +Up: [mathematics] diff --git a/obdd b/obdd @@ -0,0 +1,12 @@ +# OBDD + +A [deterministic] [bdd] with a [variable_order] + +- [uobdd] +- [nobdd] + +[synthesis]: we can take [conjunction] and [disjunction] of two OBDDs where the [variable_order] is the same + +Up: [bdd] + +See also: [fbdd] diff --git a/oberwolfach_problem b/oberwolfach_problem @@ -0,0 +1,9 @@ +# Oberwolfach problem + +https://en.m.wikipedia.org/wiki/Oberwolfach_problem + +- seating people at circular tables so that everyone occurs as a neighbouring pair exactly once + +Up: [combinatorics] + +See also: [oberwolfach] diff --git a/omqa b/omqa @@ -0,0 +1,13 @@ +# Ontology-Mediated Query Answering (OMQA) + +definition: +- given an [instance] I and [query] Q and [logical_constraint]s Sigma +- does every [superinstance] of I satisfying Sigma also satisfy Q? + +subtlety: [omqa_finite] vs [omqa_unrestricted] + +OMQA and [counting]: [bienvenu2022complexity] + +Up: [database_theory] + +See also: [description_logics] diff --git a/open_world_query_answering b/open_world_query_answering @@ -0,0 +1,20 @@ +# Open world query answering + +Given a [database], [database_dependency] or [ontology], and [query], check if +it implied + +Also called "ontology-based data access", see also [ontology_mediated_query] + +- [query_rewriting] +- [chase] +- [combined_complexity] approaches, for instance [gottlob2023polynomial] + +By [constraint_language]: + +- [open_world_query_answering_fds] + +- [open_world_query_answering_rpqs] + +See also: [query_evaluation], [satisfiability], [open_world_semantics] + +Up: [database_theory] diff --git a/open_world_query_answering_fds b/open_world_query_answering_fds @@ -0,0 +1,11 @@ +# Open world query answering fds + +with [FDs] + +- [owqa_frontier_one_fds] + +- [non_conflicting_condition] + - in particular ensures that the [chase] by the [UIDs] will not violate the [FDs] + - so it suffices to check the [FDs] on the [base_instance] + +Up: [open_world_query_answering] diff --git a/optimization b/optimization @@ -0,0 +1,14 @@ +# Optimization + +- [optimization_problem]: +- [optimization_algorithm]: + - [linear_programming] + - [integer_linear_programming] + +- [submodular_optimization] + +- "combinatorial optimization" + +Up: [computer_science] + +See also: [inefficiency] diff --git a/optimization_problem b/optimization_problem @@ -0,0 +1,8 @@ +# Optimization problem + +- [quadratic_assignment_problem] +- [activity_selection_problem] + +- [complexity_class] [NPO] + +Up: [optimization] diff --git a/order b/order @@ -0,0 +1,9 @@ +# Order + +- [partial_order] +- [total_order] +- [inequality_mathematics] +- [linear_extension], see also [topological_sort] +- [well_quasi_ordering] + +Up: [mathematics] diff --git a/ordered_decision_circuit b/ordered_decision_circuit @@ -0,0 +1,13 @@ +# Ordered decision circuit + +used in [capelli2023direct] + +Formally a [decision_dnnf] such that there is an [order] on variables such that for each [trace], for each path in the [trace], the variables are in the correct order + +Can also be seen as [obdd] with [decomposable] [conjunction] + +occurs in: +- [cali2017non] +- [lai2017new] + +Up: [decision_dnnf] diff --git a/ov_conjecture b/ov_conjecture @@ -0,0 +1,13 @@ +# OV-conjecture + +OV conjecture statement: we assume that we need time Omega(n^{2-o(1)}) to solve the [orthogonal_vectors] problem + +Variant: [k_ov_conjecture] + +We know that [seth_implies_ov] (since 2005) + +This is equivalent to the [batch_partial_match_hypothesis] + +Up: [computational_hypothesis] on [orthogonal_vectors] + +See also: [omv], [fine_grained_complexity] diff --git a/owqa_frontier_one_fds b/owqa_frontier_one_fds @@ -0,0 +1,7 @@ +# OWQA with frontier one TGDs and FDs + +In [amarilli2015combining] Theorem 5.1: +- [undecidability] with [frontier_one] [linear_TGDs] and [unary_FDs] +- just because of [variable_repetition] in the [head] + +Up: [open_world_query_answering_fds], [frontier_one], [unary_FDs] diff --git a/p_poly b/p_poly @@ -0,0 +1,7 @@ +# P/poly + +[ptime] with [polynomial] [advice] + +Up: [complexity_class], [ptime], [advice] + +See also: [l_poly] diff --git a/p_subsequence b/p_subsequence @@ -0,0 +1,9 @@ +# P subsequence + +A [word] u is a p-subsequence of a [word] v for an integer p if the factor of v containing u as an embedding has total length at most p + +Discussed in [kosche2022combinatorial] + +Up: [subsequence] + +See also: [subsequence_testing_gap_constraints] diff --git a/packing_problem b/packing_problem @@ -0,0 +1,15 @@ +# Packing problem + +- [squares_in_squares] +- https://en.wikipedia.org/wiki/Square_packing_in_a_square#Square_packing_in_a_circle +- packing circles into triangles + https://en.wikipedia.org/wiki/Circle_packing_in_an_equilateral_triangle +- packing circle into circle https://en.wikipedia.org/wiki/Circle_packing_in_a_circle +- what about packing equilateral triangles into equilateral triangles ? +- similar looking problem "Heilbronn triangle problem" https://en.wikipedia.org/wiki/Heilbronn_triangle_problem https://www.quantamagazine.org/the-biggest-smallest-triangle-just-got-smaller-20230908/ +- conjecture that you can pack any set of [tree] into [clique]: Gyárfás tree packing conjecture +- [ringels_conjecture] + +Up: [computational_geometry] + +See also: [graph_packing], [packing_coloring] diff --git a/palindrome b/palindrome @@ -0,0 +1,7 @@ +# Palindrome + +[word] which is equal to its [mirror] + +Up: [word] + +See also: [manachers_algorithm], [context_free_language] diff --git a/parallelism b/parallelism @@ -0,0 +1,14 @@ +# Parallelism + +- [pram] +- [mpc] +- [multicore] +- [enumeration_parallel] +- [database_parallelism] +- [single_instruction_multiple_data] +- [fpga] +- [parallel_algorithm] + +Up: [computer_science] + +See also: [distributed_computing], [machine_model] diff --git a/paranp b/paranp @@ -0,0 +1,8 @@ +# ParaNP + +From https://simonrey.fr/static/talks/PCT_Hardness.pdf +- def: [parameterized_language] for which there is a nondeterministic [turing_machine] that takes as input (x, k), runs in [fpt] time f(k) x^c for some c, + and decides membership +- [fpt] = paraNP iff [ptime] = [nptime] + +Up: [parameterized_complexity] diff --git a/parikhs_theorem b/parikhs_theorem @@ -0,0 +1,7 @@ +# Parikhs theorem + +https://en.m.wikipedia.org/wiki/Parikh's_theorem + +[regular_language] and [context_free_language] have same kind of [parikh_image] + +Up: [parikh_image] diff --git a/parity b/parity @@ -0,0 +1,10 @@ +# Parity + +- [parity_games] / [parity_acceptance] +- [parity_p] +- [parity_fine_grained] + +- [even] +- [odd] + +Up: [modulo] diff --git a/parity_p b/parity_p @@ -0,0 +1,9 @@ +# Parity P + +https://en.wikipedia.org/wiki/Parity_P + +[Computational_problem] solvable by [nondeterministic_Turing_machine] where the [acceptance_condition] is that the number of [accepting_runs] is [even]. + +Up: [parity], [complexity_class] + +See also: [parity_fine_grained] diff --git a/partition b/partition @@ -0,0 +1,5 @@ +# Partition + +Up: [mathematics] + +See also: [laminar_set_family], [partition_problem], [equivalence_relation] diff --git a/partition_problem b/partition_problem @@ -0,0 +1,9 @@ +# Partition problem + +[np_complete], admits [pseudo_polynomial_time] algorithm + +[reduction_subset_sum_partition_problem] + +Up: [decision_problem], [subset_sum] + +See also: [graph_partition], [partition] diff --git a/path b/path @@ -0,0 +1,16 @@ +# Path + +sequence of vertices in a [graph] such that any two successive vertices are connected by an [edge] + +- [simple_path] +- [trail] +- [shortest_path] +- [hamiltonian_path] +- [eulerian_path] +- [path_undirected] + +Up: [graph] + +See also: [pathwidth], [path_graph] + +Aliases: paths diff --git a/path_undirected b/path_undirected @@ -0,0 +1,7 @@ +# Path undirected + +[path] in [undirected_graph] + +Up: [path] + +Aliases: undirected path, undirected paths diff --git a/pathwidth b/pathwidth @@ -0,0 +1,10 @@ +# Pathwidth + +like [treewidth] but for [tree_decomposition] which is a [path] + +- [pathwidth_directed] +- [pathwidth_approximation] + +Up: [width_measure], [path] + +See also: [treewidth], [path_excentricity], [obstruction], [treelength] diff --git a/pathwidth_approximation b/pathwidth_approximation @@ -0,0 +1,6 @@ +# Pathwidth approximation + +- [groenland2022approximating], for graphs of bounded [treewidth] +- [bansal2024approximating] + +Up: [pathwidth], [width_measure_approximation] diff --git a/pathwidth_directed b/pathwidth_directed @@ -0,0 +1,11 @@ +# Directed pathwidth + +- [barat2006directed], links with [cops_and_robbers] + +Relationship to [pathwidth]: +- the directed pathwidth of a [graph_directed] which is actually [graph_undirected] is equal to the [pathwidth] +- the directed pathwidth can be less than the [pathwidth], e.g., the directed pathwidth of a [directed_acyclic_graph] is always 0 + +Up: [pathwidth] + +See also: [treewidth_directed] diff --git a/pattern_language b/pattern_language @@ -0,0 +1,14 @@ +# Pattern language + +[language_formal] defined as the set of [words] that can be obtained by [substituting] the variables of a [pattern_with_variables] + +Two variants: + +- [NE_pattern_language]: only consider [non_erasing_substitutions] +- [E_pattern_language]: also allow [erasing_substitution] + +Problems: [pattern_language_computational_problems] + +variant erasing vs non-erasing + +Aliases: pattern languages diff --git a/pattern_matching b/pattern_matching @@ -0,0 +1,41 @@ +# Finding a string as a factor of another string + +## [computational_complexity] + +- [pattern_matching_algorithm] +- [lower_bounds] on [combined_complexity]: + - [backurs2016which], cf [regular_expression_matching] + +## [dynamic_data] + +- [pattern_matching_dynamic] +- [pattern_matching_realtime] + +## Other settings + +- [pattern_matching_streaming] + +## Variants + +- [circular_pattern_matching] +- [point_set_pattern_matching] +- [approximate_pattern_matching] +- [maximal_exact_match] + +## Generalizations + +- [two_way_string_matching] +- [regular_expression] +- [pattern_with_variables] +- [pattern_matching_wildcards] when allowing [wildcard]s +- [pattern_matching_dontcare] when allowing [dontcare]s (one single symbol can be anything) +- [pattern_matching_compressed] on [compressed_data] +- [gapped_pattern_matching]: find two patterns separated by a distance within a specified range + +## Implementations + +- [pattern_matching_practice] + +Up: [stringology] + +See also: [pattern], [pattern_matching_2d] diff --git a/pattern_matching_algorithm b/pattern_matching_algorithm @@ -0,0 +1,8 @@ +# Pattern matching algorithm + +- [boyer_moore] +- [aho_corasick] +- [knuth_morris_pratt] +- [rabin_karp] with [rolling_hash] + +Up: [algorithm] for [pattern_matching] diff --git a/pattern_matching_realtime b/pattern_matching_realtime @@ -0,0 +1,7 @@ +# Pattern matching realtime + +on text which arrives in streaming: [realtime] + +- [kucherov2013full]: pattern matching in [linear_time] in the pattern + number of occurrences on [dynamic_data] (with append in O(1) worst case) + +Up: [pattern_matching_dynamic], [realtime] diff --git a/pattern_matching_streaming b/pattern_matching_streaming @@ -0,0 +1,5 @@ +# Pattern matching streaming + +you get the pattern character by character and must build a [sketching] of the pattern, and then you get the text character by character and must match + +Up: [approximate_pattern_matching_streaming] diff --git a/perfect_matching b/perfect_matching @@ -0,0 +1,13 @@ +# Perfect matching + +A [matching] where every vertex is incident to an edge of the matching + +- [minimum_perfect_matching] / [hungarian_algorithm] + +- [perfect_matching_counting] + +Up: [matching] + +See also: [matching_counting] + +Aliases: perfect matchings diff --git a/perfect_matching_counting b/perfect_matching_counting @@ -0,0 +1,13 @@ +# Counting perfect matchings + +- On [planar_graphs], we can exactly count [perfect_matchings] via the [FKT_algorithm] +- [Approximate_counting]: + - There is a [FPRAS] to count [perfect_matchings] on [bipartite_graphs] via [markov_chain_monte_carlo]. + - connection to [permanent]? + - For [perfect_matchings] and general [graphs], the existence of an approximation algorithm is an [open_problem]. + +See also: [matching_counting] + +Up: [counting_problem] of [perfect_matching] + +Aliases: counting perfect matchings, counting of perfect matchings diff --git a/permutation b/permutation @@ -0,0 +1,29 @@ +# Permutation + +## Notions + +- [orbit] +- [permutation_matrix] + +## Problems + +- [permutation_distance] +- [permutation_pattern_matching] +- [superpermutation] + +## Specific permutations + +- [transposition] +- [circular_permutation] + +## Variants + +- [permutation_signed] + +## Derived notions + +- [permutation_pattern] + +Up: [mathematics] + +See also: [sorting] diff --git a/permutation_distance b/permutation_distance @@ -0,0 +1,9 @@ +# Permutation distance + +related notion https://en.wikipedia.org/wiki/Rank_correlation + +- [kendall_tau_distance] ([bubble_sort] distance) +- [spearman_footrule_distance] (L1-distance) +- diaconis-graham bound showing that both distances are within a factor of 1/2 + +Up: [distance] on [permutation] diff --git a/planar_graph b/planar_graph @@ -0,0 +1,29 @@ +# Planar graph + +A [graph_undirected] that can be embedded on [plane_mathematics] + +- Recognizing them: [planarity_testing] + - [dynamic_planarity_testing] +- [carving_width] efficient computation: + - [seymour1994call] "rat-catcher" "ratcatcher" + - open for [treewidth] +- [planar_language] + +[Theorem]s: + +- [Kuratowskis_theorem] in terms of [topological_minors] +- [Wagners_theorem] in terms of [graph_minors] + +Specific algorithms: + +- [fkt_algorithm] + +Generalizations to [hypergraph]s: [planar_hypergraph] + +Generalization: [directed_planar_graph] + +See also: [graph_drawing] + +Up: [graph] + +Aliases: planar graphs, planar, graph planar, graphs planar diff --git a/planarity_testing b/planarity_testing @@ -0,0 +1,16 @@ +# Planarity testing + +https://en.wikipedia.org/wiki/Planarity_testing + +given [graph_undirected] G, is G [planar_graph]? + +can be done in [linear_time] + +on [dynamic_data]: + +- if edges arrive but are not deleted, tight [inverse_ackermann] algorithm +- if edges can be added and deleted, + - [logarithmic] [lower_bounds] + - [polylogarithmic] [algorithm] + +Up: [planar_graph], [computational_problem] diff --git a/polynomial_hierarchy b/polynomial_hierarchy @@ -0,0 +1,13 @@ +# Polynomial hierarchy (PH) + +- first levels: [nptime], [conptime] + - see also [np_cap_conp] +- second level: [pi2], [sigma2] + - see also [pi2_cap_sigma2] +- [delta2p] = [ptime] with an [nptime] [oracle] + - https://complexityzoo.net/Complexity_Zoo:D#delta2p + - contains [boolean_hierarchy] + +Up: [complexity_hierarchy] + +See also: [boolean_hierarchy] diff --git a/polytree b/polytree @@ -0,0 +1,16 @@ +# Polytree + +https://en.wikipedia.org/wiki/Polytree + +A polytree is a [directed_acyclic_graph] whose underlying [undirected_graph] is a [tree] + +A polytree is always a [multitree] + +In a polytree, we can do [transitive_closure] in [output_linear] time, and do [enumeration] of reachable leaves with linear preprocessing and constant delay +- this is like [boolean_matrix_multiplication] when there are no duplicate ways to obtain ones + - like [context_free_grammar_unambiguous] + - like [circuit] [deterministic] + +Up: [graph_family] + +See also: [multitree], [pseudoforest] diff --git a/pqe_mso b/pqe_mso @@ -0,0 +1,7 @@ +# PQE for MSO + +Can be done on [treelike_data] + +Up: [pqe] of [monadic_second_order_logic] + +See also: [pqe_fo] diff --git a/pratt_hartmann b/pratt_hartmann @@ -0,0 +1,8 @@ +# Pratt-Hartmann + +- [guarded_fragment] + - [gc2] + +- [pratt2024walking] + +Up: [researchers] diff --git a/prefix b/prefix @@ -0,0 +1,9 @@ +# Prefix + +- [prefix_u1] +- [prefix_code] +- [prefix_suffix_query] + +Up: [formal_language_theory] + +See also: [suffix], [factor], [subword] diff --git a/prefix_suffix_query b/prefix_suffix_query @@ -0,0 +1,9 @@ +# Prefix suffix query + +[pissis2024optimal]: given [word] T, [preprocess] it so that given i and j you can efficiently [find_all_occurrences] of T in T[0...i] T[j...n-1] (concatenation of a [prefix] and a [suffix]) + +Uses [border_tree] [data_structure] from [gu1993efficient] + +Up: [stringology] + +See also: [prefix], [suffix] diff --git a/preprocessing b/preprocessing @@ -0,0 +1,11 @@ +# Preprocessing + +Computation done before something else + +Used in [enumeration_definition] + +Up: [enumeration_definition] + +See also: [delay], [enumeration_phase] + +Aliases: preprocess diff --git a/preprocessing_phase b/preprocessing_phase @@ -0,0 +1,7 @@ +# Preprocessing phase + +Phase of [enumeration_definition] when you do [preprocessing] + +Up: [enumeration_definition] + +See also: [enumeration_phase] diff --git a/primal_graph b/primal_graph @@ -0,0 +1,11 @@ +# Primal graph + +[graph_undirected]: +- vertices are variables +- edge connects two variables if they co-occur in a clause + +if [clause_width] is unbounded then contains large [clique] + +Up: [graph_undirected] for [conjunctive_normal_form] + +See also: [dual_graph], [incidence_graph], [primal_treewidth] diff --git a/primal_treewidth b/primal_treewidth @@ -0,0 +1,7 @@ +# Primal treewidth + +[treewidth] of [primal_graph] of [conjunctive_normal_form] [boolean_formula] + +Up: [conjunctive_normal_form] + +See also: [primal_pathwidth] diff --git a/prime_number b/prime_number @@ -0,0 +1,11 @@ +# Prime number + +- [prime_number_decomposition] +- [prime_number_theorem] +- [primality_testing] in [ptime] + +Up: [arithmetic] + +See also: [prime_implicant], [polynomial_irreducible], [twin_prime_conjecture], [goldbach_conjecture], [primitive_word] + +Aliases: prime numbers diff --git a/prime_number_theorem b/prime_number_theorem @@ -0,0 +1,7 @@ +# Prime number theorem + +[theorem] by Hadamard and La Vallée Poussin about [asymptotic] distribution of [prime_number] + +inequality without asymptotics: [rosser1962approximate], 3.13 + +Up: [prime_number] diff --git a/prisoners_dilemma b/prisoners_dilemma @@ -0,0 +1,7 @@ +# Prisoners dilemma + +https://en.wikipedia.org/wiki/Prisoner%27s_dilemma + +Up: [game_theory] + +See also: [paradox], [collective_action_problem] diff --git a/probabilistic_circuit b/probabilistic_circuit @@ -0,0 +1,28 @@ +# Probabilistic circuit + +[circuit] which represents [probability_distribution] + +- leaves: distribution on a subset of variables called its scope +- [product] of distributions, with [decomposability] +- sum with coefficients to [mix] distributions + +optional conditions: +- [smooth] +- [determinism]: disjoint support on the inputs (= non-zero proba mass?) +- [structured] + +we want to do [maximum_a_posteriori] on such circuits +- [marginal_maximum_a_posteriori], MMAP + - max_Q sum_H p(Q, H) + - the problem is that summing on a subset of the variables loses [circuit_determinism] + +- a sum node is Q-deterministic if support is disjoint even when projecting out Q +- and a circuit is Q-det if all sum nodes are Q-det or their scope does not + involve variables of Q + +- md-vtrees: a way to guarantee marginal determinism, just by labeling v-tree + nodes with a subset S of variables on which you have to be S-deterministic + +connections to other kinds of polynomials than [probability_distribution]: see [broadrick2024polynomial] + +See also: [arithmetic_circuit], [probabilities], [circuit_algebraic] diff --git a/probabilistic_database_model b/probabilistic_database_model @@ -0,0 +1,8 @@ +# Probabilistic database model + +- [tuple_independent_database] +- [block_independent_disjoint] [database] +- [pc_table] +- also: [probabilistic_xml] + +Up: [probabilistic_databases], [database_model] diff --git a/probabilistic_method b/probabilistic_method @@ -0,0 +1,9 @@ +# Probabilistic method + +- farago2021meeting + +- [lovasz_local_lemma] + +- [gowers2010two] for bounds on [ramsey_theorem] + +Up: [theoretical_computer_science] diff --git a/probabilities b/probabilities @@ -0,0 +1,33 @@ +# Probabilities + +[probabilistic_model]s: +- [bayes_network] +- [markov_logic_network] +- [probabilistic_circuit] +- [determinantal_point_process] + +Tasks: + +- [pqe] +- [maximum_a_posteriori] +- [marginal] + +Algorithms: + +- [message_passing] +- [monte_carlo] + +Concepts: + +- [random_variable] + - [probability_outcome] +- [probability_distribution] + +Results: + +- [concentration_inequality] +- [hoeffdings_inequality] + +Up: [mathematics] + +See also: [probabilistic_databases], [random_variable], [algorithm_randomized], [randomness] diff --git a/probability_outcome b/probability_outcome @@ -0,0 +1,9 @@ +# Probability outcome + +https://en.wikipedia.org/wiki/Outcome_(probability) + +Value of a [random_variable] + +Up: [probabilities] + +Aliases: probability outcomes, probabilistic outcome, probabilistic outcomes diff --git a/provenance_circuit b/provenance_circuit @@ -0,0 +1,8 @@ +# Provenance circuit + +Can use [circuit] for [provenance], e.g., + +- [datalog] provenance: foundational paper [deutch2014circuits] +- [provenance_mso]: [monadic_second_order_logic] provenance [amarilli2015provenance] + +Up: [provenance], [circuit] diff --git a/provenance_description_logics b/provenance_description_logics @@ -0,0 +1,5 @@ +# Provenance description logics + +[academic_papers]: [penaloza2023semiring] + +Up: [provenance], [description_logics] diff --git a/provenance_optimal_joins b/provenance_optimal_joins @@ -0,0 +1,5 @@ +# Provenance for optimal joins + +- wang2022query, achieves [polymatroid] bound + +Up: [optimal_joins] with [provenance] diff --git a/proximity_search b/proximity_search @@ -0,0 +1,7 @@ +# Proximity search + +- [conte2022proximity] (seen at [wepa_2022]) +- [conte2019new] +- [brosse2019polynomial] for an application + +Up: [enumeration] diff --git a/pspace b/pspace @@ -0,0 +1,9 @@ +# PSPACE + +https://en.wikipedia.org/wiki/PSPACE + +- [PSPACE_complete] + +Up: [complexity_class] + +See also: [P_complete] diff --git a/ptime b/ptime @@ -0,0 +1,14 @@ +# PTIME + +[ptime_complete] + +When the input consists of integers, we distinguish: https://en.wikipedia.org/wiki/Time_complexity#Strongly_and_weakly_polynomial_time +- "strongly polynomial" which means + - polynomial in the number of inputs + - the memory used in polynomial in the size of the input +- "weakly polynomial" meaning polynomial in the number of integers and in the log of integers, e.g., [euclidean_algorithm], not just polynomial in the number of integers +- not to be confused with [pseudo_polynomial_time]!! + +Up: [complexity_class] + +See also: [pseudo_polynomial_time], [quasipolynomial], [oplusp], [ptime_reduction] diff --git a/pursuit_evasion b/pursuit_evasion @@ -0,0 +1,10 @@ +# Pursuit evasion + +- [cops_and_robbers] +- [hunters_and_rabbit] + +notion: +- [monotone_strategy], cf for instance [dissaux2023recontamination] +- [capture_time], cf for instance [benameur2024cops] + +Up: [graph] diff --git a/pushdown_automaton b/pushdown_automaton @@ -0,0 +1,13 @@ +# Pushdown automaton + +[context_free_grammar_pushdown_automaton_equivalence] + +[determinism]: [pushdown_automaton_deterministic] + +- k-turn pushdown automata: limits the alternation between [push_operation] and [pop_operation] + - introduced in [ginsburg1966finite] + - mentioned in [ganardi2018sliding] + +Up: [stack_automata] + +See also: [visibly_pushdown_automaton] diff --git a/qp b/qp @@ -0,0 +1,9 @@ +# QP + +https://en.wikipedia.org/wiki/Quasi-polynomial_time + +[complexity_class] of [decision_problem] that can be solved in [quasipolynomial] time (2^{log n}^c}) + +According to [wikipedia], good candidates for [np_intermediate] problems + +Up: [complexity_class] diff --git a/query b/query @@ -0,0 +1,14 @@ +# Query + +- [query_language] + - [conjunctive_query] +- [query_full] +- [query_boolean] + +## Problems + +- [query_resilience] +- [query_containment] +- [minimal_witness] + +Up: [database_theory] diff --git a/query_complexity b/query_complexity @@ -0,0 +1,11 @@ +# Query complexity + +[Computational_complexity] of a [database_theory] [computational_problem] expressed as a function of the [query], assuming that the input [database_instance] remains constant. + +Also called "expression complexity" + +Introduced in [vardi1982complexity] + +Up: [database_theory_complexity] + +See also: [combined_complexity], [data_complexity] diff --git a/query_evaluation b/query_evaluation @@ -0,0 +1,21 @@ +# Query evaluation + +- [query_evaluation_conjunctive_query] for [conjunctive_query] +- [datalog_query_evaluation] for [datalog] +- [datalog_semiring_query_evaluation] for [datalog_semiring] +- [agm_bound] pour [conjunctive_query] / [optimal_joins] +- [panda] + - for [provenance] and [datalog_acyclic], see [wang2021query] +- [query_optimization] +- [query_evaluation_treewidth] + +- [complexity_space] / [complexity_time] tradeoff + - [deep2020space] + +- [query_evaluation_dichotomies] + +- [query_evaluation_incremental] + +Up: [database_theory] + +See also: [query_language], [enumeration_query_answers] diff --git a/query_evaluation_incremental b/query_evaluation_incremental @@ -0,0 +1,12 @@ +# Query evaluation incremental + +- [incremental_maintenance_cq] +- [incremental_maintenance_rpq] +- [incremental_maintenance_pqe] +- [incremental_maintenance_mso] + +special case : [first_in_first_out_update_sequence] / "enclosureness" + +Up: [incremental_maintenance], [query_evaluation] + +See also: [incremental_view_maintenance] diff --git a/query_language b/query_language @@ -0,0 +1,41 @@ +# Query language + +- [conjunctive_query] + - [sjfcq] +- [union_of_conjunctive_queries] +- [first_order_logic] +- [monadic_second_order_logic] + +## Other formalisms + +- [ontology_mediated_query] +- [relational_calculus] / [relational_algebra] + - [nested_relational_calculus] + - nested [k_relation] +- [graph_query_languages] + +## Features + +- [query_recursive] + - [regular_path_query] + - [datalog] + - with [negation] + - with [aggregation] +- [aggregation] + +## Subclasses + +- [homomorphism_closed] +- [query_acyclic] + - [datalog_acyclic] + - [conjunctive_query_acyclic] +- [query_full] + - [conjunctive_query_full] + +## Variants + +- [sum_product_query] + +Up: [database_theory] + +See also: [query_rewriting] diff --git a/queue b/queue @@ -0,0 +1,8 @@ +# Queue + +- [circular_buffer] +- [priority_queue] + +Up: [data_structure] + +See also: [stack] diff --git a/quicksort b/quicksort @@ -0,0 +1,7 @@ +# Quicksort + +uses [pivot] + +Up: [algorithm] for [sorting] + +See also: [quickselect] diff --git a/radoszewski2011hamiltonian b/radoszewski2011hamiltonian @@ -0,0 +1,11 @@ +# Radoszewski2011hamiltonian + +Studies when the [graph_square] of an [undirected_graph] has [Hamiltonian_cycle] and [Hamiltonian_path] + +[harary1971trees] shows that [graph_square] of [tree] contains a [Hamiltonian_cycle] iff it is a [caterpillar_tree] + +They show that [graph_square] of [tree] contains a [Hamiltonian_path] iff it is a [horsetail_graph]. Testing this, and finding the path, can be done in [linear_time], and [linear_time] [preprocessing] is sufficient to test in constant time, given (u, v), whether there is a [Hamiltonian_path] from u to v. + +Up: [academic_paper] on [hamiltonian_cycle] + +See also: [hamiltonian_cycle_square], [hamiltonian_cycle_cube] diff --git a/ramsey_theorem b/ramsey_theorem @@ -0,0 +1,15 @@ +# Ramsey theorem + +Consequence: any sufficiently large [undirected_graph] contains either a big [clique] or a big [independent_set] +- so the [union] of both problems is trivial + +Generalizations: + +- more than 2 colors + - https://en.wikipedia.org/wiki/Ramsey%27s_theorem#More_colors +- [hypergraphs] + - https://en.wikipedia.org/wiki/Ramsey%27s_theorem#Hypergraphs + +Can also be useful in [formal_language_theory] + +Up: [mathematics] diff --git a/random_graph b/random_graph @@ -0,0 +1,7 @@ +# Random graph + +also: [random_dfa] + +Up: [graph], [randomness] + +See also: [random_walk] diff --git a/random_structure b/random_structure @@ -0,0 +1,7 @@ +# Random structure + +- [random_graph] +- [random_walk] +- [random_dfa] + +Up: [randomness] diff --git a/random_variable b/random_variable @@ -0,0 +1,10 @@ +# Random variable + +- [uniform] +- [bernoulli] + +Can take several values, each of which is called a [probability_outcome] + +Up: [probabilities] + +See also: [correlation] diff --git a/randomness b/randomness @@ -0,0 +1,23 @@ +# Randomness + +- [complexity_random] +- [algorithm_randomized] +- [kolmogorov_complexity] +- [pseudorandomness] + - [prng] + +## [random_structure] + +- [random_graph] +- [random_walk] +- [random_dfa] + +## Tasks + +- [enumeration_random_order] +- [sampling] + - [uniform_sampling] + +Up: [mathematics] + +See also: [probabilities] diff --git a/range_query b/range_query @@ -0,0 +1,9 @@ +# Range query + +Maintain a collection of points and answer queries asking about all the points in a specific range + +- [range_sum]: sum the points +- [range_reporting]: report the points +- [gupta1995further]: range color counting/reporting in [rectangle] + +See also: [skyline], [2d_range_reporting], [range_reporting], [range_tree] diff --git a/ranking_function b/ranking_function @@ -0,0 +1,11 @@ +# Ranking function + +Mentioned by [Nikos] for [tziavelis2022optimal] + +From least to most restrictive: + +- "holistic-monotone" in [fagin2003optimal] +- "subset-monotone" in [kimelfeld2006incrementally] +- "strongly subset-monotone" in [tziavelis2022optimal] + +Up: [function] for [ranked_access] diff --git a/reachability b/reachability @@ -0,0 +1,10 @@ +# Reachability + +- [st_reachability] + - [st_reachability_undirected] +- [reachability_single_source] +- [reachability_all_pairs] + +Up: [computational_problem], [graph_theory] + +Aliases: reachability problem diff --git a/reconstruction_conjecture b/reconstruction_conjecture @@ -0,0 +1,5 @@ +# Reconstruction conjecture + +https://en.wikipedia.org/wiki/Reconstruction_conjecture + +Up: [graph_reconstruction] diff --git a/reduction_gap b/reduction_gap @@ -0,0 +1,9 @@ +# Reduction gap + +https://en.wikipedia.org/wiki/Gap_reduction + +for [approximation] + +Up: [reduction] + +See also: [maj_sat] diff --git a/regex b/regex @@ -0,0 +1,12 @@ +# Regex + +[regular_expression] with [back_reference]s + +[membership_problem] for Regex is [np_complete] +- already for [patterns_with_variables] + +can be translated to [FCreg] if there is no variable under [kleene_star] + +[regex_deterministic] + +Up: [regular_expression] diff --git a/regex_deterministic b/regex_deterministic @@ -0,0 +1,7 @@ +# Regex deterministic + +[freydenberger2019deterministic] + +generalizes [regular_expression_deterministic] + +Up: [regex], [determinism_language] diff --git a/regexp_dataset b/regexp_dataset @@ -0,0 +1,17 @@ +# Regexp dataset + +- regexlib.com +- [polyglot_regex_corpus] +- [snort] +- [suricata] dataset https://suricata.io/ + - similar to [snort] +- [sparql_logs] + - [bonifati2017analytical] +- those of [kong2002software] + - [clamav] + - [spamassassin] + - [protomata] + +See also: [regexp_information_extraction] + +Up: [regular_expression_practice] diff --git a/regular_expression_denial_of_service b/regular_expression_denial_of_service @@ -0,0 +1,13 @@ +# Regular_expression_denial_of_service (ReDoS) + +Caused in particular by [backtracking] + +Mentioned in [moseley2023derivative] + +[parolini2023sound]: [static_analysis] to identify denial of service + +Up: [regular_expression], [denial_of_service] + +Aliases: [redos] + +See also: [catastrophic_backtracking] diff --git a/regular_expression_deterministic b/regular_expression_deterministic @@ -0,0 +1,38 @@ +# Deterministic regular expression, aka "one-unambiguous" + +- position automaton is [automata_deterministic] + - aussi [glushkov_automaton] is [automata_deterministic] + +[groz2012deterministic] and [groz2017efficient] +- can check in [linear_time] if [regular_expression] is deterministic +- can perform [regular_expression_matching] in O(n log log m + m) + +according to [freydenberger2019deterministic], also an algorithm in O(|Sigma| m + n) + +- notion used in [document_type_definition] + +- generalizations: + - [DRX] with [backreferences] (no longer [regular_language]) + - [caron2017hierarchy], extensions within [regular_languages]: + - [k_block_deterministic_regular_expression]: something about a block of k input symbols moving unambiguously to the next k positions of the regular expression + - proper hierarchy + - according to [han2008generalizations] + - any block deterministic [unary_language] is deterministic regular expression + - [k_lookahead_deterministic_regular_expression]: reading the k next symbols of the word makes the following position unique + - proper hierarchy + - notion of (k,l)-unambiguous + +Recognizes a subset of [regular_languages] according to [groz2017efficient]: +- [bruggemannklein1998one]: (a+b)^* a (a+b) has no equivalent deterministic regular expression +- [ping2015deciding] and [czerwinski2017deciding]: decide if an input [language] has an equivalent deterministic regular expression + - [bruggemannklein1998one]: given a [deterministic_automaton], can be done in [ptime] + - given a [nondeterministic_automaton], it is [PSPACE_complete] + +subclass: [regular_expression_strongly_deterministic] [gelade2009regular] +- in the context of this, "deterministic" is called "weakly deterministic" + +- [language_intersection], [language_inclusion] problem for deterministic regexps + +Up: [regular_expression], [determinism] + +Aliases: deterministic regular expression, deterministic regular expressions, one-unambiguous regular expression, one-unambiguous regular expressions, 1-unambgiuous regular expression, 1-unambiguous regular expressions diff --git a/regular_expression_repetition b/regular_expression_repetition @@ -0,0 +1,6 @@ +# Regular expression repetition + +e^{p,q}: repeat e between p and q times +- p and q written in binary (concise) + +Up: [regular_expression_extensions] diff --git a/regular_expression_strongly_deterministic b/regular_expression_strongly_deterministic @@ -0,0 +1,8 @@ +# Regular expression strongly deterministic + +- at each position it is clear which operator to use next (not just which letter to match) +- leads to the same class of languages as [regular_expression_deterministic] + +discussed in [gelade2009regular] + +Up: [regular_expression_deterministic] diff --git a/regular_language b/regular_language @@ -0,0 +1,48 @@ +# Regular language + +## [computational_problem] + +- [regular_language_membership] + - [approximate_membership] + - [dynamic_membership] +- [sliding_window] +- [regular_language_communication_complexity] + +## [regular_language_list] + +- [parity] + +## [regular_language_family] + +- [locally_testable_language] +- [regular_language_sparse]: polynomial number of words per length + - [regular_language_slender]: constant number of words + - [regular_language_thin]: at most one word + +## Connections + +- [regular_language_communication_complexity] + +## Generalizations + +- [regular_tree_language] + +## Concepts + +- [star_height] + - arbitrarily large + - connection to [cycle_rank] of [automata] via [eggans_theorem] +- [generalized_star_height] en ajoutant [complementation] + - generalized star height of zero is [star_free_language] + +## Results + +- [myhill_nerode_theorem] + - [myhill_nerode_relation] +- [pumping_lemma] + +See also: [automata] + +Up: [formal_language], [regular] + +Aliases: regular languages diff --git a/regular_language_membership b/regular_language_membership @@ -0,0 +1,8 @@ +# Regular language membership + +- [automaton_acceptance] +- [approximate_membership] +- [dynamic_membership] +- [regular_expression_matching] + +Up: [membership_problem] for [regular_language] diff --git a/regular_path_query b/regular_path_query @@ -0,0 +1,29 @@ +# Regular path query + +[query] on [graph_database] defined by [regular_expression] + +- [rpq_query_evaluation] +- [rpq_captures] + +## Extensions + +- [2rpq] +- [uc2rpq] + +## Special cases + +- [word_query] + +## Fragments + +- [rpq_unbounded] + +## Problems + +- [pqe_rpq] + +Up: [graph_query_languages] + +See also: [regular_trail_query] + +Aliases: regular path queries, RPQ, RPQs diff --git a/regular_trail_query b/regular_trail_query @@ -0,0 +1,7 @@ +# Regular trail query + +[regular_path_query] but with [trail] semantics + +see article [martens2023trichotomy] + +Up: [regular_path_query], [trail] diff --git a/regular_tree_language b/regular_tree_language @@ -0,0 +1,7 @@ +# Regular tree language + +[tree_language] defined by [tree_automaton] + +Up: [regular_language] on [tree] + +Aliases: regular tree languages diff --git a/rematch b/rematch @@ -0,0 +1,10 @@ +# Rematch + +- https://rematchcl.web.app/ / rematch.cl +- https://github.com/REmatchChile/REmatch-paper +- [riveros2023rematch] +- [bossonney2024demonstrating] + +notion of [earliest_answering] according to [bossonney2024demonstrating] + +Up: [enumeration_spanner] diff --git a/repair_counting b/repair_counting @@ -0,0 +1,5 @@ +# Repair counting + +[calautti2021counting]: [dichotomy] on [repair_counting] entailing a query for [functional_dependency] + +Up: [counting_problem], [database_repairs] diff --git a/resolution b/resolution @@ -0,0 +1,6 @@ +# Resolution + +- [resolution_rule] +- [resolution_proof] + +Up: [satisfiability_boolean], [logic] diff --git a/resolution_rule b/resolution_rule @@ -0,0 +1,5 @@ +# Resolution rule + +(C or x) AND (D or not x) IMPLIES C or D + +Up: [satisfiability_boolean] diff --git a/result b/result @@ -0,0 +1,10 @@ +# Result + +A [mathematical] claim with associated [proof] + +- [theorem] +- [lemma] + +Up: [mathematics] + +See also: [conjecture] diff --git a/ringels_conjecture b/ringels_conjecture @@ -0,0 +1,8 @@ +# Ringels conjecture + +We can pack any tree with n edges 2n+1 times into the complete graph K_{2n+1} + +Proved for large enough n in [montgomery2020proof] +- also covered in [quanta_magazine] + +Up: [packing_problem] of [tree] in [graph_complete] diff --git a/roths_theorem b/roths_theorem @@ -0,0 +1,11 @@ +# Roths theorem + +https://en.wikipedia.org/wiki/Roth%27s_theorem_on_arithmetic_progressions + +[szemeredis_theorem] for [arithmetic_progressions] of length 3 + +connection to [triangles] and [graph_removal_lemma] + +Also [salem_spencer_set] for a set without [arithmetic_progression] of length 3 + +Up: [szemeredis_theorem] diff --git a/rp b/rp @@ -0,0 +1,16 @@ +# RP + +Class of [decision_problem] having [algorithm_randomized] running in [ptime] +with [one_sided_error]: +- accept with probability 3/4 if the input is true +- always reject if the input is false + +RP subseteq [nptime], and believed to be different + +Corresponding notion of [algorithm] running in [ptime]: "Monte Carlo algorithm with bounded probability of one-sided error" + +[rp] subseteq [bpp] + +Up: [complexity_random] + +See also: [bpp], [zpp], [corp], [automaton_monte_carlo_one_sided] diff --git a/rpq_query_evaluation b/rpq_query_evaluation @@ -0,0 +1,14 @@ +# Rpq query evaluation + +survey: [barcelo2013querying] + +naive algorithm: [product_graph] + +- [rpq_fine_grained] +- [rpq_trichotomies] +- [enumeration_rpq] +- [rpq_answer_testing] +- [rpq_counting_answers] +- [rpq_output_sensitive] + +Up: [regular_path_query], [query_evaluation] diff --git a/salem_spencer_set b/salem_spencer_set @@ -0,0 +1,7 @@ +# Salem spencer set + +https://en.wikipedia.org/wiki/Salem%E2%80%93Spencer_set + +Up: [combinatorics] + +See also: [roths_theorem] diff --git a/satisfiability_unambiguous b/satisfiability_unambiguous @@ -0,0 +1,10 @@ +# Unambiguous-SAT + +SAT when you are promised there is at most a unique solution + +https://en.wikipedia.org/wiki/Valiant%E2%80%93Vazirani_theorem +- if unambiguous SAT has a [ptime] algorithm then [rp] = [nptime] + +https://eccc.weizmann.ac.il//report/2011/151/ rules out some possible improvements + +Up: [sat_variants], [unambiguity] diff --git a/satisfiability_weighted b/satisfiability_weighted @@ -0,0 +1,10 @@ +# Weighted satisfiability + +creignou2012satisfiability: given a [formula_boolean] phi and integer k, decide +if phi has a [satisfying_assignment] of [hamming_weight] exactly k + +- [satisfiability_weighted_monotone_cnf] + +Up: [sat_variants] + +See also: [maxsat] diff --git a/schnyders_theorem b/schnyders_theorem @@ -0,0 +1,9 @@ +# Schnyder's theorem + +https://en.wikipedia.org/wiki/Schnyder%27s_theorem + +An [undirected_graph] is [planar] iff the [partial_order_dimension] of its [incidence_poset] is <= 3 + +[generalization] to [simplicial_complex] in [mendez1999geometric] + +Up: [theorem] about [planar_graph] diff --git a/schutzenbergers_theorem b/schutzenbergers_theorem @@ -0,0 +1,8 @@ +# Schutzenbergers theorem + +- [first_order_logic] +- [monoid_aperiodic] +- [regular_expression_star_free] +- [automata_counter_free] + +Up: [theorem] in [formal_language_theory] diff --git a/sdnnf b/sdnnf @@ -0,0 +1,5 @@ +# SDNNF + +like [dnnf] but obeys [structuredness] + +Up: [knowledge_compilation_classes], [dnnf], [structuredness] diff --git a/selection_algorithm b/selection_algorithm @@ -0,0 +1,7 @@ +# Selection algorithm + +- [quickselect] + +Up: [algorithms_list] + +See also: [median_of_medians] diff --git a/self_loop b/self_loop @@ -0,0 +1,13 @@ +# Self loop + +An [edge] from a [vertex] to itself + +In [undirected_graphs], this is typically not allowed, or you would explicitly say that you are considering a graph with self-loops allowed. + +In [directed_graphs], this is typically allowed + +In [multigraph_directed], you may have multiple self-loops + +Up: [graph_basic_notions] + +Aliases: self-loops, self_loops diff --git a/semantic_acyclicity b/semantic_acyclicity @@ -0,0 +1,9 @@ +# Semantic acyclicity + +- decide if [conjunctive_query] is [query_equivalent] to [conjunctive_query_acyclic] + +- e.g., for [uc2rpq] + +Up: [database_theory] + +See also: [semantic_treewidth], [formula_width] diff --git a/semiring_idempotent b/semiring_idempotent @@ -0,0 +1,5 @@ +# Idempotent semiring + +A [semiring] satisfying the equation a+a = a for every a + +Up: [semiring], [idempotent] diff --git a/separation_logic b/separation_logic @@ -0,0 +1,9 @@ +# Separation logic + +https://en.wikipedia.org/wiki/Separation_logic + +Different from [separator_logic] + +Up: [logic] + +See also: [formal_language_separation] diff --git a/separator_logic b/separator_logic @@ -0,0 +1,11 @@ +# Separator logic + +[first_order_logic] with a predicate talking about the existence of a path (see [reachability], [transitive_closure]) while avoiding certain vertices + +See bojanczyk2021separator + +Between [first_order_logic] and [monadic_second_order_logic] + +Different from [separation_logic] + +Up: [logic] diff --git a/sequence b/sequence @@ -0,0 +1,13 @@ +# Sequence + +## Examples + +- [Kleene_sequence] +- [De_Bruijn_sequence] +- [arithmetic_progression] + +## Concepts + +- [subsequence] + +Up: [mathematics] diff --git a/set b/set @@ -0,0 +1,5 @@ +# Set + +- [multiset] + +Up: [set_theory] diff --git a/set_function b/set_function @@ -0,0 +1,11 @@ +# Set function + +- [monotone], non-negative, zero for [empty_set] +- [subadditive] +- [submodular]: corresponds to [polymatroid] + - defined by [shannon_type_inequality] +- [entropic]: also defined by [non_shannon_type_inequality] +- [normal] +- [modular] + +See also: [statistical_profile], [entropic_vector] diff --git a/set_intersection b/set_intersection @@ -0,0 +1,9 @@ +# Set intersection problem + +Given sets S_1, ..., S_m, preprocess them such that given any two sets you can efficiently report the elements of the intersection + +[goldstein2019hardness], [kopelowitz2020towards], [fischer2024deterministicb] + +- [sorted_list_intersection] + +See also: [ov_conjecture], [set_union] diff --git a/set_intersection_2 b/set_intersection_2 @@ -0,0 +1,5 @@ +# Intersection of two sets + +[munro1976sorting], lower bound on two sets (not ordered) + +See also: [sorted_list_intersection], [set_intersection] diff --git a/set_theory b/set_theory @@ -0,0 +1,5 @@ +# Set_theory + +- [set] + +Up: [mathematics] diff --git a/sharp_automaton b/sharp_automaton @@ -0,0 +1,9 @@ +# Sharp automaton + +[counting_problem] of [density_function] of [automata] + +- [sharp_nfa] +- [sharp_ufa] +- [sharp_dfa] + +Up: [counting_problem], [automata] diff --git a/sharp_dfa b/sharp_dfa @@ -0,0 +1,11 @@ +# Sharp DFA + +counting the number of words accepted by [automata_deterministic] + +in [ptime], because [sharp_ufa] is in [ptime] + +also works with [word_automaton_unambiguous] + +See also: [sharp_nfa], [sharp_ufa], [density_function] + +Up: [sharp_automaton], [automata_deterministic] diff --git a/sharp_nfa b/sharp_nfa @@ -0,0 +1,17 @@ +# Sharp NFA + +[counting_problem] of [density_function] of [automata_nondeterministic]: +- input: + - [automata_nondeterministic] + - a length n written in [unary] +- output: cardinality of [slice] of accepted language + +[computational_complexity]: +- [sharpp]-hard + - by reduction from [sharp_satisfiability_dnf] +- [spanl]-complete +- admits a [fpras]: [arenas2021nfa] + +Up: [sharp_automaton], [automata_nondeterministic] + +See also: [sharp_dfa], [sharp_cfg] diff --git a/sharp_ufa b/sharp_ufa @@ -0,0 +1,12 @@ +# Sharp-UFA + +given [word_automaton_unambiguous] A and length n in [unary], count the number of words of length n accepted by A + +in [ptime], by counting [run]s + +even if n is given in binary, by [fast_exponentiation] and [matrix_multiplication] +- cf https://cstheory.stackexchange.com/a/8202 + +Up: [sharp_automaton], [word_automaton_unambiguous] + +See also: [sharp_nfa], [sharp_dfa], [density_function] diff --git a/shortest_disjoint_paths b/shortest_disjoint_paths @@ -0,0 +1,11 @@ +# Shortest disjoint paths + +- reference [berczi2017directed] + - if edge weights can be zero + - [np_complete] because can reduce from [disjoint_paths] + - if edge weights are positive + - 2-disjoint shortest path is [ptime] on [graph_directed] + - other results on [planar_graph] +- open whether 3-disjoint shortest path is ptime on [graph_directed] + +Up: [disjoint_paths] diff --git a/shortest_path_almost b/shortest_path_almost @@ -0,0 +1,9 @@ +# Shortest path almost + +in a [graph_directed], is there a [simple_path] from source to sink whose length is longer than the shortest path? + +tractable on [planar_graph]: cf [wu2015next] + +[parameterized_complexity]: [bezakova2017finding] + +Up: [shortest_path] diff --git a/shuffle b/shuffle @@ -0,0 +1,6 @@ +# Shuffle + +- [shuffle_square] +- a finite set of [word] can be decomposed into at most one multiset of which it is the shuffle: see [berstel2002shuffle] + +Up: [formal_language_theory] diff --git a/shuffle_square b/shuffle_square @@ -0,0 +1,9 @@ +# Shuffle square + +A [word] which can be written as the [shuffle] of a word with itself + +[np_complete] to test if a word is a shuffle square + +It's [open_problem] what is the minimum alphabet size required to have infinitely many words without shuffle squares, cf https://a3nm.net/work/research/questions/#words-without-shuffle-squares + +Up: [shuffle] diff --git a/sidon_set b/sidon_set @@ -0,0 +1,9 @@ +# Sidon set + +set of [natural_numbers] where all pairwise [sums] are unique + +[open_question]: how many integers <= x can a Sidon set contain, as a function of x? + +Up: [combinatorics] + +See also: [golomb_ruler] diff --git a/sim_width b/sim_width @@ -0,0 +1,5 @@ +# Sim width + +defined in [kang2017width], variant of [mim_width] + +Up: [width_measure] diff --git a/simple_path b/simple_path @@ -0,0 +1,7 @@ +# Simple path + +path with no repeated vertices + +Up: [path] + +See also: [trail] diff --git a/sipser_lautemann_theorem b/sipser_lautemann_theorem @@ -0,0 +1,7 @@ +# Sipser lautemann theorem + +https://en.wikipedia.org/wiki/Sipser%E2%80%93Lautemann_theorem + +[bpp] is in [sigma2_cap_pi2] + +Up: [theorem] about [bpp] diff --git a/sjfcq b/sjfcq @@ -0,0 +1,7 @@ +# SJFCQ + +[conjunctive_query] without [self_join] + +[dichotomy] for [pqe] in [dalvi2007efficient] + +Up: [conjunctive_query], [self_join] diff --git a/skew_multicut b/skew_multicut @@ -0,0 +1,5 @@ +# Skew multicut + +- [eiben2022parameterized] + +Up: [minimum_multicut] diff --git a/slogspace b/slogspace @@ -0,0 +1,17 @@ +# SL + +class of [decision_problem] reducible to [st_reachability_undirected] + +Can be defined via [turing_machine_reversible] + +Shown to be equal to [logspace] by [reingold] + +- for [2sat]: corresponds to the case where exactly one literal in each clause must hold + +Closed under [complementation] + +Up: [complexity_class] + +See also: [complexity_space] + +Aliases: SL diff --git a/small_universe_hitting_set b/small_universe_hitting_set @@ -0,0 +1,11 @@ +# Small universe hitting set problem + +Variant of the [OV_conjecture], implies the [OV_conjecture] + +Introduced in [williams2015hardness] (Conjecture 5) + +Used in [eldar2023direct] + +See also: [orthogonal_vectors], [hitting_set] + +Up: [hypothesis] diff --git a/sorted_list_intersection b/sorted_list_intersection @@ -0,0 +1,11 @@ +# Sorted list intersection + +- can be done in [linear_time] in both lists +- but if one of the lists is much smaller than the others, you can do [binary_search] of the values of the small list into the big list + +https://stackoverflow.com/a/40538162 lower bound and upper bound +- Theta (n log (m/n)) for n the smaller value + +See also: [set_intersection], [set_intersection_2], [sorted_array] + +Up: [intersection] of [sorted_list] diff --git a/sorting b/sorting @@ -0,0 +1,15 @@ +# Sorting + +- [insertion_sort] +- [selection_sort] +- [heap_sort] +- [binary_tree_sort] +- [quicksort] +- [merge_sort] +- [bucket_sort] +- [sorting_ram] on the [ram_model] +- [bubble_sort] + +Up: [algorithms] + +See also: [permutation], [sorted_list] diff --git a/spanl b/spanl @@ -0,0 +1,9 @@ +# SpanL + +Counting the number of *distinct* outputs of an [nl] [transducer] + +Complete problem: [sharp_nfa] + +See also: [spanp] + +Up: [complexity_class], [counting] diff --git a/spanner b/spanner @@ -0,0 +1,55 @@ +# Spanner + +- [spanner_surveys] +- other model: [annotation_transducer] + +## Tasks + +- [enumeration_spanner] +- [spanner_dynamic] + +## Classes + +- [spanner_regular] +- [spanner_core] + - [refl_spanner] + - [generalized_core_spanner] + +## Variants + +- [spanner_weighted] +- [v_structure] + +## Formalisms + +- [regex_formula]s +- [variable_set_automaton] +- can be extended with + - [relational_algebra] + - [datalog] +- [spanner_cfg] +- [spanners_incomplete] + +## Framework + +- formal framework: see [riveros2024framework] + +## Other settings + +- [spanner_practice] + +## Questions + +- [spanner_expressiveness] +- [spanner_parallelizability] +- [spanner_frequent_sequence_mining] + +## References + +- [peterfreund2019complexityb], [phd_thesis] of [liat] + +Up: [formal_language_theory], [database_theory] + +See also: [graph_spanner], [capture_variable], [annotation_automata] + +Aliases: document spanner, document spanners, spanners diff --git a/spanner_cfg b/spanner_cfg @@ -0,0 +1,6 @@ +# Spanner-CFG + +- [peterfreund2021grammars] +- [amarilli2022efficient] + +Up: [spanner], [context_free_grammar] diff --git a/spanner_core b/spanner_core @@ -0,0 +1,14 @@ +# Spanner core + +[regex_formula]s extended with [projection], [union], [join], and [string_equality_selection] + +Other way to see it: [query] over the result of [spanner]s +([freydenberger2018joining] / [peterfreund2019complexity]) + +Extension: [generalized_core_spanner] + +See also: [refl_spanner] + +Up: [spanner] + +Aliases: core spanner, core spanners diff --git a/spanner_dynamic b/spanner_dynamic @@ -0,0 +1,6 @@ +# Spanner dynamic + +- [academic_paper] but from [research_practical]: [kassaie2023update] +- otherwise, [losemann2014mso] etc. + +Up: [spanner], [dynamic_data] diff --git a/spanner_regular b/spanner_regular @@ -0,0 +1,8 @@ +# Spanner regular + +two equivalent definitions ([peterfreund2019complexityb] section 2.4): +- with [variable_set_automaton] +- with [regex_formula]s extended with [union], [projection], and [join] + - optionally with [difference] + +Up: [spanner] diff --git a/spanner_surveys b/spanner_surveys @@ -0,0 +1,8 @@ +# Spanner surveys + +- [schmid2024information] +- [schmid2024short]: [eatcs_bulletin] article +- [phd_thesis] of [liat] +- [fagin2015document] + +Up: [spanner], [survey_paper] diff --git a/spanner_weighted b/spanner_weighted @@ -0,0 +1,8 @@ +# Spanner weighted + +- [doleschal2020complexity], [aggregation] over [spanner] +- [doleschal2020weight], with [semiring] + +Up: [spanner], [weighted_logic] + +See also: [enumeration_ordered] diff --git a/spanning_tree b/spanning_tree @@ -0,0 +1,8 @@ +# Spanning tree + +- [minimum_spanning_tree] +- [minimum_degree_spanning_tree] + +See also: [steiner_tree] + +Up: [tree] diff --git a/spanp b/spanp @@ -0,0 +1,9 @@ +# SpanP + +Counting the number of *distinct* outputs of an [nptime] [transducer] +(e.g., counting the number of subgraphs that is [3_colorable]) +-> intuitively you can do [projection] operator + +See also: [spanl] + +Up: [complexity_class], [counting] diff --git a/squaring b/squaring @@ -0,0 +1,10 @@ +# Squaring + +- [square_word] +- [square_testing] +- [matrix_square] +- [shuffle_square] + +Up: [exponentiation] + +See also: [square_root] diff --git a/st_reachability_undirected b/st_reachability_undirected @@ -0,0 +1,9 @@ +# Undirected st-reachability + +Given an [undirected_graph] and two [vertices] s and t, decide if there is an [undirected_path] between s and t + +[Complete] for [SL] + +Up: [st_reachability] + +Aliases: undirected st-reachability diff --git a/star_free_language b/star_free_language @@ -0,0 +1,18 @@ +# Star free language + +## Definitions + +- Language that can be defined from letters, empty set, empty word, and [boolean_operations] ([union], [intersection], [complement]) and [concatenation] but not [kleene_star] +- [aperiodic] [syntactic_monoid] +- characterization based on loops in the [automata] ([automaton_counter_free]) + - can always tested on the minimal automata ([automaton_minimization]) + +## Subclass + +- [unambiguous_star_free_language] + +See also: [star_height], [generalized_star_height], [first_order_logic], [kleene_star], [regular_expression_star_free], [schutzenbergers_theorem], [automaton_counter_free] + +Up: [regular_language_family] + +Aliases: star free languages diff --git a/state b/state @@ -0,0 +1,8 @@ +# State + +An [automaton] consists of a set of states, which is generally finite. + +- [initial_state] +- [final_state] + +Up: [automata_concepts] diff --git a/state_set_simulation_faster b/state_set_simulation_faster @@ -0,0 +1,24 @@ +# State set simulation faster + +idea: decompose [thompson_automaton] into a tree of small [TNFAs] +- two [TNFAs] overlap in at most two states +- do [state_set_simulation] inside each [TNFA] twice: [state_set_simulation_tabulation] + - uses the fact that each simple path has at most one back-edge to say that doing it twice suffices +(myers1992, bille2006) + +## Word-level parallelism + +other idea: word-level parallelism, reading a block that corresponds to a machine word +- main problem: epsilon transitions + +idea: separator that splits [TNFA] in two halves of roughly equal size such that paths have to go through the separator + +[bille2010regular] + +Limits: cannot do better than Omega(nm/w) for w the word size + +Can go faster: [bille2009faster], divided by log^{1.5}, 4 traversals over the [TNFAs] + +"2D Decomposition algorithm" + +Up: [state_set_simulation], [log_shaving] diff --git a/steiner_tree b/steiner_tree @@ -0,0 +1,7 @@ +# Steiner tree + +Given an unordered [graph] ([graph_weighted]), and a subset of terminal vertices, find a [tree] of minimal weight that includes all the terminals + +See also: [spanning_tree], [directed_steiner_forest], [feldman2006directed], [directed_steiner_network] + +Up: [algorithm] on [graph] diff --git a/stochastic_boolean_function_evaluation b/stochastic_boolean_function_evaluation @@ -0,0 +1,7 @@ +# Stochastic Boolean Function Evaluation + +Problem "SBFE" (Stochastic Boolean Function Evaluation): evaluate a known Boolean function on an unknown input, where you have a probability distribution on the inputs and can uncover each input by paying a certain cost + +Recent paper [hellerstein2022adaptivity] + +Up: [boolean_function] diff --git a/strahler_number b/strahler_number @@ -0,0 +1,7 @@ +# Strahler number + +https://en.wikipedia.org/wiki/Strahler_number + +Up: [parameter] on [tree] + +See also: [cantor_bendixson_rank] diff --git a/straight_line_program b/straight_line_program @@ -0,0 +1,10 @@ +# Straight line program (SLP) + +essentially a [context_free_grammar] that generates a single [string]: [acyclicity] requirement plus only one [production] per [nonterminal] + +- [enumeration_slp] +- [smallest_grammar_problem] + +Up: [string_compression] + +See also: [forest_straight_line_program] diff --git a/strassens_algorithm b/strassens_algorithm @@ -0,0 +1,10 @@ +# Strassen's algorithm + +https://en.wikipedia.org/wiki/Strassen_algorithm + +multiplication of 2 by 2 matrices can be done with 7 products instead of 8 +- gives an algorithm because you can reapply it recursively + +works with integers, but not with [matrix_boolean] in [boolean_semiring] + +Up: [matrix_multiplication] diff --git a/streaming b/streaming @@ -0,0 +1,15 @@ +# Streaming + +- sequence of data items arrives one item after the other + - specific kind of [update_word] when you can only append to the right + - particular case of [sliding_window], in which you can also pop at the right +- [enumeration_streaming] +- [dynamic_membership_streaming] discussed in [ganardi2024regular] + +also work on [sampling], [distinct_element], etc. + +- possible variants: + - are results produced immediately, or only at the end of the stream? + - is the stream length bounded? is it known in advance? + +Up: [algorithms] diff --git a/strong_exponential_time_hypothesis b/strong_exponential_time_hypothesis @@ -0,0 +1,7 @@ +# Strong Exponential Time Hypothesis (SETH) + +In the vocabulary of [exponential_time_hypothesis] it claims that lim_k s_k = 1 + +Up: [exponential_time_hypothesis] + +Aliases: SETH diff --git a/strong_perfect_graph_theorem b/strong_perfect_graph_theorem @@ -0,0 +1,7 @@ +# Strong perfect graph theorem + +https://en.wikipedia.org/wiki/Strong_perfect_graph_theorem + +An [undirected_graph] is a [Berge_graph] iff it is a [perfect_graph] + +Up: [graph_theorem] diff --git a/strongly_connected b/strongly_connected @@ -0,0 +1,8 @@ +# Strongly connected + +- [strongly_connected_graph] +- [strongly_connected_language] + +Up: [mathematics] + +See also: [connected] diff --git a/strongly_connected_component b/strongly_connected_component @@ -0,0 +1,13 @@ +# Strongly connected component + +- [Kosaraju's_algorithm]: [algorithm] with two [depth_first_search] with [post_order] numbering +- [Tarjan's_algorithm] + +- [dynamic_strongly_connected_component] +- [strong_connectivity_augmentation] + +Up: [graph] + +See also: [biconnected_component], [connected_component], [strongly_connected] + +Aliases: SCC diff --git a/strongly_np_complete b/strongly_np_complete @@ -0,0 +1,7 @@ +# Strong NP-completeness + +[np_complete] even when the input is represented in unary + +[strongly_np_complete_list] + +Up: [np_complete] diff --git a/strongly_unimodular b/strongly_unimodular @@ -0,0 +1,9 @@ +# Strongly unimodular + +Matrix which is [totally_unimodular] and any matrix obtained by setting +/-1 entries to 0 is also [totally_unimodular], cf [crama1992decomposition] + +equivalent notion in terms of [matrix_base] + +ensures that [matrix_ilp] is [integral] and can be solved with [linear_programming] + +Up: [matrix] diff --git a/subfunction b/subfunction @@ -0,0 +1,7 @@ +# Subfunction + +a [boolean_function] obtained from another by setting some variables to specific Boolean values + +Up: [boolean_function] + +See also: [subsequence], [partial_evaluation] diff --git a/submodular_maximization b/submodular_maximization @@ -0,0 +1,9 @@ +# Submodular maximization + +[np_hard] + +[buchbinder2024deterministic] + +Up: [submodular_optimization], [maximization] + +See also: [submodular_minimization] diff --git a/submodular_minimization b/submodular_minimization @@ -0,0 +1,8 @@ +# Submodular minimization + +- [minimization] of [submodular_set_function] is in [ptime] +- but it is [np_hard] when subject to cardinality constraints + +Up: [submodular_optimization], [minimization] + +See also: [submodular_maximization] diff --git a/submodular_optimization b/submodular_optimization @@ -0,0 +1,8 @@ +# Submodular optimization + +https://en.wikipedia.org/wiki/Submodular_set_function#Optimization_problems + +- [submodular_minimization] +- [submodular_maximization] + +Up: [optimization] diff --git a/submodular_set_function b/submodular_set_function @@ -0,0 +1,12 @@ +# Submodular set function + +https://en.wikipedia.org/wiki/Submodular_set_function + +function f on sets such that f(X cup {z}) - f(X) >= f(Y cup {z}) - f(Y) +whenever X \subseteq Y + +Implies being [subadditive], converse is not true in general + +See also: [submodular_optimization], [concave_function] + +Up: [function] diff --git a/subsequence b/subsequence @@ -0,0 +1,21 @@ +# Subsequence + +- [common_subsequence] + - [common_subsequence_automaton] + - [longest_common_subsequence] + - [maximal_common_subsequence] +- [common_non_subsequence] + - [shortest_common_non_subsequence] +- [subsequence_testing] +- [subsequence_embedding] +- [distinguishing_subsequence] + - [shortest_distinguishing_subsequence] +- [consistent_subsequence] +- [common_supersequence] [timkovsky1989complexity] + - [longest_common_supersequence] [timkovsky1989complexity] +- [longest_increasing_subsequence] +- [p_subsequence] + +See also: [subword], [sequence], [subword] + +Up: [formal_language_theory], [stringology] diff --git a/subsequence_testing b/subsequence_testing @@ -0,0 +1,10 @@ +# Subsequence testing + +testing if an (entire) word u is a [subsequence] of another word v +- is in [linear_time] with [greedy_algorithm] + +- generalization: [subsequence_testing_gap_constraints] + +Up: [computational_problem], [subsequence] + +See also: [pattern_matching] diff --git a/subsequence_testing_gap_constraints b/subsequence_testing_gap_constraints @@ -0,0 +1,12 @@ +# Subsequence testing gap constraints + +[subsequence_testing] with gap constraints + +- [day2022subsequences] + - gap equalities make problem [NP_complete] (Section 5) + - gaps are specified with length intervals and automata given as [DFA]s + - with only length constraints, cf [iliopoulos2007algorithms] + +Up: [subsequence_testing], [gap_constraints] + +See also: [gapped_pattern_matching], [p_subsequence], [gapped_string_indexing] diff --git a/subset_sum b/subset_sum @@ -0,0 +1,24 @@ +# Subset sum + +given integers S and a target t, can we achieve t exactly as a sum of a subset of elements of S? + +[np_complete], admits [pseudo_polynomial_time] algorithm + - faster [pseudo_polynomial_time] algorithm: [chen2024improved] + +special case: [partition_problem] + +[reduction]s: +- [reduction_sat_subset_sum] from [satisfiability_boolean] on [conjunctive_normal_form] +- [reduction_3dm_subset_sum] from [3_dimensional_matching] + +[algorithms]: +- [galil1991almost] for dense subset sum + - further analysis in [bringmann2021near] +- [bringmann2017near] which is [randomized_algorithm] + +generalization: [all_subset_sums], compute all the sums +- according to [bringmann2023top], all [pseudo_polynomial_time] algorithms for subset sum actually solve [all_subset_sums] + +- [subset_sum_counting] + +Up: [decision_problem] on [sum] diff --git a/subset_sum_counting b/subset_sum_counting @@ -0,0 +1,11 @@ +# Subset sum counting, aka sharpSubsetSum + +[counting_problem] of computing the number of [subset_sum] solutions; it is [sharpP_hard] + +Variant: counting the subsets whose sum is at most a value T (not "exactly" T) +- https://cstheory.stackexchange.com/questions/53767/proving-p-hardness-for-the-number-of-subsets-of-a-set-of-positive-integers-with +- also [sharpP_hard] + +Up: [subset_sum], [counting_problem] + +See also: [all_subset_sums] diff --git a/subword b/subword @@ -0,0 +1,16 @@ +# Subword + +u subword of v means v = xuy + +not contiguous, unlike [subsequence] + +- [subword_automaton] + +- [longest_common_subword] [timkovsky1989complexity] +- [shortest_common_superword] [timkovsky1989complexity] + +Up: [formal_language_theory] + +See also: [language_downwards_closed], [subword_universal], [factor], [compressed_subword_problem] + +Aliases: subwords diff --git a/subword_automaton b/subword_automaton @@ -0,0 +1,13 @@ +# Subword automaton + +[Automaton] that accepts the language of the [subwords] of [word]s accepted by another [automaton] + +- given an [automaton], can build subword automaton as [automata_nondeterministic] + - cf [karandikar2014state] Section 3.1 +- given an [automata], [exponential] blowup to build subword automaton as [automata_deterministic] + - already on an alphabet of size 2 + - cf [karandikar2014state] Section 3.2 + +Up: [subword] + +See also: [subword_universal] diff --git a/subword_universal b/subword_universal @@ -0,0 +1,10 @@ +# Subword universal + +[automata] where every [word] is a [subword] of an accepted word + +can determine in [ptime] if [automata_nondeterministic] is subword-universal + - cf [rampersad2009computational] Theorem 12 + +Up: [universality_automata] + +See also: [subword_automaton] diff --git a/suffix b/suffix @@ -0,0 +1,13 @@ +# Suffix + +- [suffix_tree] +- [suffix_array] +- [suffix] +- [suffix_free_language] +- [suffix_testable_language] + +Up: [formal_language_theory] + +See also: [subword], [prefix], [factor] + +Aliases: suffixes diff --git a/superpermutation b/superpermutation @@ -0,0 +1,21 @@ +# Superpermutation + +https://en.wikipedia.org/wiki/Superpermutation + +Given a number n, shortest word on alphabet {1, ..., n} containing all permutations as contiguous subsequence, aka "Haruhi problem" + +Related problem: [superpattern], shortest permutation on n elements containing all k-element permutation as a [permutation_pattern] + +Related notion: [universal_word] (all contiguous factors) + +Related notion: shortest word containing all permutations as a [subsequence] +- discussed here https://mathoverflow.net/questions/165303/shortest-supersequence-of-all-permutations-of-n-elements + - on [oeis] https://oeis.org/A062714 + - article surveying this: https://www.tandfonline.com/doi/full/10.1080/00029890.2021.1835384#d1e3032 + - lower bound [kleitman1976lower] +- [conp_hard] to detect, cf [uznanski2015all] by [przemyslaw] + - from https://cstheory.stackexchange.com/questions/31559/recognizing-sequences-with-all-permutations-of-1-ldots-n-as-subsequence + +Up: [combinatorics] + +See also: [universal_random_word], [universal_word], [de_bruijn_sequence] diff --git a/synchronizing_word b/synchronizing_word @@ -0,0 +1,7 @@ +# Synchronizing word + +- [cerny_conjecture] Cerny's conjecture about the existence of synchronizing words on DFAs + +Up: [automata] + +See also: [mortal_word], [meeting_time] diff --git a/syntactic_monoid b/syntactic_monoid @@ -0,0 +1,7 @@ +# Syntactic monoid + +Note that it is a [monoid_ordered] + +Up: [monoid] + +See also: [syntactic_semigroup], [transition_monoid] diff --git a/szemeredis_theorem b/szemeredis_theorem @@ -0,0 +1,11 @@ +# Szemeredi's theorem + +https://en.wikipedia.org/wiki/Szemer%C3%A9di%27s_theorem + +Finitary formulation: for any number k and density bound delta, there is a N such that every subset of {1, ..., N} of density at least delta contains an [arithmetic_progression] of length k + +special case: [roths_theorem] + +Up: [theorem] about [arithmetic_progression] + +See also: [szemeredi_regularity_lemma] diff --git a/tape_construction b/tape_construction @@ -0,0 +1,11 @@ +# Tape construction + +[data_structure] for [infix_query] with [DFA] A on [word] w + +Gives [rectangular_complexity] O(|A| |w|) in time and space, and O(|Q|) query time + +[bojanczyk2009factorization] section 2.2 + +The complexity is non-optimal, because O(1) instead of O(|Q|) can be achieved with a [data_structure] for [level_ancestor] queries + +Up: [tuple_testing_automaton] diff --git a/tarsis_lemma b/tarsis_lemma @@ -0,0 +1,5 @@ +# Tarsi's lemma + +[theorem] saying that a [minimal_unsatisfiable] formula with n variables has at least n+1 clauses, cf [aharoni1986minimal], aka [clause_variable_difference], cf [szeider2008matched] + +Up: [lemma], [minimal_unsatisfiable] diff --git a/theorem b/theorem @@ -0,0 +1,39 @@ +# Theorem + +A [result] in [mathematics], recognized as challenging to prove + +- [Abiteboul_Vianu_theorem] +- [Brook's_theorem] +- [Buchi's_theorem] +- [Chen's_theorem] +- [Context_free_grammar_pushdown_automaton_equivalence] +- [Courcelle_theorem] +- [Eggan's_theorem] +- [Four_color_theorem] +- [Fine_Wilf_theorem] +- [fpras_bpp] +- [friendship_theorem] +- [Goedel's_incompleteness_theorem] +- [Grotzsch's_theorem] +- [Hall's_theorem] +- [Immerman_Szelepcsenyi_theorem] +- [Immerman_Vardi_theorem] +- [Koenig's_theorem] +- [Ladner's_theorem] +- [Mantel's_theorem] +- [Menger's_theorem] +- [Parikh's_theorem] +- [Prime_number_theorem] +- [Ramsey_theorem] +- [Roths_theorem] +- [Savitch's_theorem] +- [Schnyder's_theorem] +- [Sipser_lautemann_theorem] +- [Szemeredi's_theorem] +- [Time_hierarchy_theorem] +- [Turan_theorem] +- [Wiles_theorem] + +Up: [mathematics] + +See also: [automated_theorem_proving], [theoremkb] diff --git a/theoretical_computer_science b/theoretical_computer_science @@ -0,0 +1,47 @@ +# Theoretical computer science + +## Fields + +- [logic], [finite_model_theory] +- [automated_theorem_proving] +- [formal_language_theory] +- [circuit] + - [probabilistic_circuit] + - [circuit_complexity] +- [computational_complexity] + - [communication_complexity] + - [lower_bounds] +- [constraint_satisfaction_problem] +- [typing_theory] +- [descriptive_complexity] +- [database_theory] +- [graph_theory] +- [stringology] + +## Concepts + +- [data_structure] +- [boolean_function] +- [ram_model] +- [turing_machine] + +## Resources + +- cours "A Theorist's Toolkit" with tools that are useful when doing theoretical computer science http://www.cs.cmu.edu/~odonnell/toolkit13/ +- agregator https://cstheory-feed.org/ + - list of [blog] https://rjlipton.wpcomstaging.com/2022/01/26/a-list-of-most-theory-blogs/ +- descriptive resources https://cstheory.stackexchange.com/questions/36436/where-to-learn-more-about-what-theoretical-computer-science-is +- wigderson2019mathematics + +## Questions + +- [balancing] +- [optimization] +- [unique_games_conjecture] + +## Algorithms + +- [sieve_of_eratosthenes] +- [euclidean_algorithm] for [greatest_common_divisor] + +Up: [formal_science], [research_fundamental] of [computer_science] diff --git a/thompson_automaton b/thompson_automaton @@ -0,0 +1,15 @@ +# Thompson automaton + +construction to transform [regular_expression] to [automata_nondeterministic] with [epsilon_transition] + +properties: +- [states] with an incoming character transition have exactly one [predecessor] +- almost a [series_parallel_graph], except for [kleene_star] +- almost a [DAG], except for [kleene_star]: + - any cycle-free path has at most one back-edge + +Up: [conversion_automata] + +See also: [glushkov_automaton] + +Aliases: thompson's automaton, TNFA, TNFAs diff --git a/three_variable_per_inequality b/three_variable_per_inequality @@ -0,0 +1,5 @@ +# Three variable per inequality + +[hochbaum2002solving] + +Up: [two_variable_per_inequality] diff --git a/topk b/topk @@ -0,0 +1,5 @@ +# Topk + +- [ranking_function] + +See also: [ranked_access], [enumeration_ordered] diff --git a/topological_minor b/topological_minor @@ -0,0 +1,11 @@ +# Topological minor + +[graph_minor] with a [topological_embedding] + +[graph_minor] and topological minors are equivalent if the minor is [graph_cubic] + +Up: [graph_minor] + +See also: [excluded_topological_minor], [subdivision] + +Aliases: topological minors diff --git a/total_dominating_set b/total_dominating_set @@ -0,0 +1,7 @@ +# Total dominating set + +Subset of a graph such that every vertex is adjacent to a vertex of the set + +Does not always exist. + +Up: [dominating_set] diff --git a/total_variation_distance b/total_variation_distance @@ -0,0 +1,6 @@ +# Total variation distance + +For two distributions mu1 and mu2 over Omega, the total variation distance is +||mu1 - mu2||_{TV} = (1/2) \sum_{X in Omega} |mu1(X) - mu2(X)| + +Up: [probability] diff --git a/transition b/transition @@ -0,0 +1,9 @@ +# Transition + +A transition in an [automaton] goes from a [state] to another and is labeled by a [letter]. For [transducers], the transition can be labeled with an [input_letter] and an [output_letter] + +- [epsilon_transition] + +Up: [automata_concepts] + +Aliases: transitions diff --git a/transitivity b/transitivity @@ -0,0 +1,6 @@ +# Transitivity + +- [transitivity_tgds] +- [transitive_closure] + +Up: [mathematics] diff --git a/transitivity_tgds b/transitivity_tgds @@ -0,0 +1,10 @@ +# Transitivity TGDs + +Results on transitivity: + +- amarilli2018query +- andrew2021guarded, which discusses amarilli2018query in detail +- baget2015combining, problem with a weird condition for transitivity plus [linear_rules] ([existential_rule]) + - question: link to feller2022finite? + +Up: [transitivity] for [open_world_query_answering] diff --git a/tree_automaton b/tree_automaton @@ -0,0 +1,23 @@ +# Tree automaton + +Defines [regular_tree_language] + +## Types + +- [tree_automaton_bottom_up] +- [tree_automaton_top_down]: + - [automata_deterministic] leads to a weaker class of languages + - [unambiguous]: is the same as unambiguous bottom-up (the unambiguity condition is symmetric) + +## Variants + +Also [dag_automaton] DAG-automaton +https://codeberg.org/yvomeeres/pubs/raw/branch/draft/dag-draft.pdf +and [jumping_automata_on_graphs] jumping automata on graphs + +- [tree_automaton_infinite] +- [counter_automata_trees] + +Up: [automata] on [tree] + +See also: [dtd], [xml] diff --git a/tree_decomposition b/tree_decomposition @@ -0,0 +1,9 @@ +# Tree decomposition + +- [tree_decomposition_computing] +- [tree_decomposition_updating] +- [balancing_tree_decomposition] + +See also: [treewidth] + +Up: [tree] diff --git a/tree_language b/tree_language @@ -0,0 +1,7 @@ +# Tree language + +- [regular_tree_language] + +Up: [formal_language] of [tree] + +Aliases: tree languages diff --git a/treelike b/treelike @@ -0,0 +1,11 @@ +# Treelike + +"of bounded [treewidth]" + +- [treelike_data] + +## Generalization + +- [treelike_modulo_homomorphic_equivalence] + +Up: [treewidth] diff --git a/treelike_modulo_homomorphic_equivalence b/treelike_modulo_homomorphic_equivalence @@ -0,0 +1,7 @@ +# Treelike modulo homomorphic equivalence + +Means having bounded [treewidth] modulo [homomorphic_equivalence] + +Up: [treelike] + +See also: [grohe2007complexity] diff --git a/treewidth_directed b/treewidth_directed @@ -0,0 +1,10 @@ +# Treewidth (directed) + +directed treewidth, when it is bounded then the k-[disjoint_paths] problem is tractable, cf [kawarabayashi2022directed] + +[kawarabayashi2022directed] shows that a [graph_directed] with high directed treewdith contains a [directed_grid] as [butterfly_minor] +- polynomial bounds known [hatzel2019polynomial] + +Up: [treewidth] + +See also: [pathwidth_directed], [grid_minor_directed] diff --git a/treewidth_practical b/treewidth_practical @@ -0,0 +1,7 @@ +# Treewidth practical + +- [senellart], [silviu]: [silviu2019experimental] +- [marx2020four] +- practical works such as [goharshady2020efficient] + +Up: [treewidth] diff --git a/triangle b/triangle @@ -0,0 +1,18 @@ +# Triangle + +- [triangle_detection] + - unbalanced triangle detection +- [triangle_listing] +- [triangle_counting] + - [triangle_counting_incremental] +- [provenance_triangle] + +Variante: single-source triangle counting ? + +- [sparse_triangle] + +See also: [matrix_multiplication], [ov_conjecture], [negative_triangle], [exact_triangle], [triangle_free_graph], [triangle_inequality] + +Up: [graph] + +Aliases: triangles diff --git a/triangle_counting b/triangle_counting @@ -0,0 +1,5 @@ +# Triangle counting + +- [triangle_counting_incremental] + +Up: [graph_pattern_counting] of [triangle] diff --git a/triangle_detection_conjecture b/triangle_detection_conjecture @@ -0,0 +1,6 @@ +# Triangle detection conjecture + +- [sparse_triangle_hypothesis]: asserts that for [graph_sparse] you cannot do O(m^{4/3-delta}) for any delta>0 +- [dense_triangle_hypothesis]: asserts that for [graph_dense] you cannot do O(n^{omega-delta}) for any delta>0 + +Up: [computational_hypothesis] on [triangle_detection] diff --git a/triangle_free_graph b/triangle_free_graph @@ -0,0 +1,9 @@ +# Triangle free graph + +They are known to have unbounded [chromatic_number] + +[Mantel's_theorem] gives bounds on their size + +[computational_problem] of recognizing them: see [triangle_detection] + +Up: [triangle], [graph] diff --git a/triangle_inequality_strong b/triangle_inequality_strong @@ -0,0 +1,5 @@ +# Triangle inequality strong + +forall xyz, d(x,y) <= max(d(x,z), d(z,y)) + +Up: [triangle_inequality] diff --git a/trio b/trio @@ -0,0 +1,5 @@ +# Trio + +Like [universal_semiring] but without exponents + +Up: [semiring_list] diff --git a/tuple_generating_dependency_sticky b/tuple_generating_dependency_sticky @@ -0,0 +1,7 @@ +# Sticky TGDs + +introduced in [cali2010advanced] + +Up: [tuple_generating_dependency] + +Aliases: sticky TGD, sticky TGDs, TGD sticky, TGDs sticky diff --git a/turan_theorem b/turan_theorem @@ -0,0 +1,11 @@ +# Turan theorem + +https://en.wikipedia.org/wiki/Tur%C3%A1n%27s_theorem + +Maximal number of edges in [graph_undirected] without having a [clique] of a given size + +Special case: [mantels_theorem] + +Proof seems rather elementary + +Up: [ramsey_turan_theory] diff --git a/turing_machine b/turing_machine @@ -0,0 +1,24 @@ +# Turing machine + +## Complexity of problems in this [machine_model] + +[petersen2008sorting]: bounds on complexity of [sorting] +- [turing_machine_deterministic] vs [turing_machine_nondeterministic] +- one or more work [tape]s (and read-only input) + +## Types + +- [turing_machine_nondeterministic] +- [turing_machine_deterministic] + +## Variants + +- [turing_machine_symmetric] + +## Resources + +- turingmachinesimulator.com by [martin_ugarte] + +Up: [theoretical_computer_science] + +See also: [ram_model], [church_turing_thesis], [alan_turing], [pushdown_automaton], [turing_complete], [decidability], [recursively_enumerable], [kolmogorov_complexity] diff --git a/turing_machine_nondeterministic b/turing_machine_nondeterministic @@ -0,0 +1,7 @@ +# Turing machine nondeterministic + +- [nptime]: [nondeterministic_ptime_turing_machine] + +Up: [turing_machine] + +Aliases: nondeterministic Turing machine diff --git a/turing_reduction b/turing_reduction @@ -0,0 +1,11 @@ +# Turing reduction + +[reduction] which uses target problem as [oracle] + +- "Cook reduction" : Turing reduction which is [ptime_reduction] + +Not always very different from [many_one_reduction] for [counting_problem], cf argument https://dbt.zulipchat.com/#narrow/stream/417238-Dagstuhl-24032/topic/Open.20problems/near/425331364 + +Up: [reduction] + +See also: [alan_turing], [many_one_reduction] diff --git a/tuzas_conjecture b/tuzas_conjecture @@ -0,0 +1,7 @@ +# Tuza's conjecture + +https://en.wikipedia.org/wiki/Tuza%27s_conjecture + +[Conjecture] about [graph_packing] of [triangle]s + +Up: [graph_packing] diff --git a/twin_width b/twin_width @@ -0,0 +1,27 @@ +# Twin width + +[twin_width_definition] + +Recent generalization (2023-02): [flip_width] + +- for [model_counting]: [ganian2022weighted] + +- for [enumeration]: [gajarsky2022twin] + +- recognition: + - deciding whether the twin-width is at most 4 is [np_hard] + - graphs of twin-width 0 or 1 can be identified i [ptime] + +- [tree] has twin-width at most 2 + - so twin-width is at most 2 plus the [feedback_edge_number] + +- incomparable with [nowhere_dense] +- capture [excluded_minor] and bounded [cliquewidth] + +guarantees that [first_order_model_checking] is [fixed_parameter_tractable] if the merge sequence is provided + +[twin_width_ordered] + +Up: [width_measure] + +See also: [nowhere_dense] diff --git a/two_variable_per_inequality b/two_variable_per_inequality @@ -0,0 +1,12 @@ +# Two variable per inequality (TVPI) + +- [unit_two_variable_per_inequality] (UTVPI) +- [monotone_two_variable_per_inequality] (monotone TVPI) + +[ILP] is [np_complete] for this class according to [devlas2024complexity] + +Generalization: [three_variable_per_inequality] + +Up: [integer_linear_programming] + +Aliases: TVPI diff --git a/two_way_string_matching b/two_way_string_matching @@ -0,0 +1,7 @@ +# Two-way string matching + +https://en.wikipedia.org/wiki/Two-way_string-matching_algorithm + +Up: [algorithm] for [pattern_matching] + +Aliases: Crochemore-Perrin algorithm, Crochemore Perrin algorithm, two way string matching algorithm, two-way string matching algorithm diff --git a/uc2rpq b/uc2rpq @@ -0,0 +1,9 @@ +# UC2RPQ + +union of [c2rpq] + +- [feier2024evaluating]: article on [treewidth] + +- [semantic_acyclicity] + +Up: [graph_query_languages], [c2rpq], [union_of_conjunctive_queries] diff --git a/ucq_non_redundant b/ucq_non_redundant @@ -0,0 +1,7 @@ +# UCQ non redundant + +A [UCQ] where no constituent [CQ] implies another [CQ] + +Up: [union_of_conjunctive_queries] + +See also: [minimization_conjunctive_query], [query_containment] diff --git a/ultrametric b/ultrametric @@ -0,0 +1,5 @@ +# Ultrametric + +[metric] satisfying [triangle_inequality_strong] + +Up: [distance] diff --git a/unambiguity b/unambiguity @@ -0,0 +1,35 @@ +# Unambiguity + +An [automata] is unambiguous if every word that it accepts has at most one accepting run. In particular see [word_automaton_unambiguous] + +## Generalization + +- [k_ambiguous] [automata] + - comparison between different types of ambiguity: [ravikumar1989relating] +- [unambiguity_alternating] + +## Variants + +- "strongly unambiguous" automaton: an automaton that can be used both an as unambiguous automaton for the language and as an unambiguous automaton for the [complement]: defined in [colcombet2012forms] + +## Separation + +- Exponential separation between unambiguous automaton and [automata_nondeterministic]: section 3 of [leung2005descriptional] ([communication_complexity] method) + +pas de conversion polynomiale de 2-UFA vers [unambiguous_finite_automaton] par [goos2021lower] +- mais on peut compter les mots acceptés par un k-UFA à k constant par + [stearns1985equivalence] + +## Types + +- [unambiguous_star_free_language] + +## For [context_free_language] + +- [context_free_grammar_unambiguous] + +## For other problems + +- [satisfiability_unambiguous] + +See also: [ddnnf], [unambiguous] diff --git a/unambiguity_alternating b/unambiguity_alternating @@ -0,0 +1,7 @@ +# Unambiguity for alternating automata + +https://cstheory.stackexchange.com/questions/54575/definition-of-unambiguity-in-alternating-finite-automata + +Some notions are in [jantsch2021from] + +Up: [unambiguity], [automata_alternating] diff --git a/unambiguous b/unambiguous @@ -0,0 +1,10 @@ +# Unambiguous + +- [unambiguous_language] +- [unambiguous_complement] +- [unambiguous_polynomial] +- [unambiguous_marked_product] +- [unambiguous_star_free_language] +- [word_automaton_unambiguous] + +See also: [unambiguity] diff --git a/unambiguous_marked_product b/unambiguous_marked_product @@ -0,0 +1,7 @@ +# Unambiguous_marked_product + +A [marked_product] which is [unambiguity] in the sense that there is a unique decomposition + +[unambiguous_language] formed of these + +Up: [marked_product], [unambiguity] diff --git a/unambiguous_star_free_language b/unambiguous_star_free_language @@ -0,0 +1,12 @@ +# Unambiguous star-free language + +Described in [mathematical_foundations_of_automata_theory] + +- Base case: languages B^* for B a subalphabet of the alphabet +- Closed under [union] and [unambiguous_marked_product] + +Algebraic characterizations + +Up: [star_free_language], [unambiguity] + +See also: [generalized_star_height] diff --git a/unambiguous_word_automaton_complementation b/unambiguous_word_automaton_complementation @@ -0,0 +1,9 @@ +# Unambiguous word automaton complementation + +[raskin2018superpolynomial], [goos2021lower] + +problem of finding assignment of maximal weight that satisfies complement of UFA https://cstheory.stackexchange.com/questions/48815/is-this-problem-on-unambiguous-finite-automata-np-complete + +Up: [word_automaton_unambiguous], [automata_complementation] + +See also: [disjuntive_normal_form_orthogonal_negation] diff --git a/union b/union @@ -0,0 +1,6 @@ +# Union + +- [union_trick] +- [disjoint_union] + +Up: [set_theory], [boolean_operator] diff --git a/union_of_conjunctive_queries b/union_of_conjunctive_queries @@ -0,0 +1,15 @@ +# Union of conjunctive queries (UCQ) + +[disjunction] of [conjunctive_query] that all have the same [free_variables] + +[ucq_to_cq]: techniques to replace UCQs by CQs in hardness proofs + +special case: [hk_queries] + +[UCQ_non_redundant] + +Up: [query_language] + +See also: [uc2rpq] + +Aliases: union of conjunctive query, UCQ, UCQs diff --git a/universal_semiring b/universal_semiring @@ -0,0 +1,10 @@ +# Universal semiring + +N[X], [semiring] of [polynomial]s with [variable]s X + +- [universality_property] +- [commutation_under_homomorphism]s + +Up: [semiring_list] + +See also: [power_series] diff --git a/universal_word b/universal_word @@ -0,0 +1,7 @@ +# Universal word + +[chen2017universal] + +[word] containing all words of length n exactly once as contiguous [subword] + +See also: [superpermutation], [random_universal_word], [de_bruijn_sequence], [universal_tree] diff --git a/universality_automata b/universality_automata @@ -0,0 +1,13 @@ +# Universality automata + +[computational_problem]: test if [automata] accepts every possible [word] + +- [universality_automata_nondeterministic]: [conp_complete] +- [universality_automata_deterministic]: [ptime] + +- [factor_universal] +- [subword_universal] + +Up: [computational_problem], [automata] + +See also: [totality], [validity], [taulology] diff --git a/universality_automata_deterministic b/universality_automata_deterministic @@ -0,0 +1,7 @@ +# Universality automata deterministic + +in [ptime] via [automaton_complementation] + +Up: [universality_automata], [automaton_deterministic] + +Aliases: DFA universality diff --git a/universality_automata_nondeterministic b/universality_automata_nondeterministic @@ -0,0 +1,8 @@ +# Universality automata nondeterministic + +[conp_complete] even on [unary_alphabet]: +- https://cs.stackexchange.com/a/97751 + +Up: [universality_automata], [automata_nondeterministic] + +Aliases: NFA universality diff --git a/up b/up @@ -0,0 +1,12 @@ +# UP + +https://complexityzoo.net/Complexity_Zoo:U#up + +[unambiguous] [nondeterministic] [ptime], i.e., there is a [nondeterministic_ptime_turing_machine] such that: + +- on negative instances, all [runs] are rejecting +- on positive instances, exactly one [run] accepts + +Generalization: [FewP] + +Up: [nptime], [unambiguity], [complexity_class] diff --git a/update b/update @@ -0,0 +1,21 @@ +# Update + +Kinds of updates supported for [dynamic_data]: + +- For [dynamic_data_tree]: [update_tree] +- For [dynamic_data_word]: [update_word] + - [substitution] + - [insertion] + - [deletion] +- For [dynamic_data_graph]: [update_graph] + - [edge_addition] + - [edge_deletion] +- In general + - [relabeling] + - [insertion] + - [deletion] + - [fully_dynamic] + +See also: [batch_updates] + +Up: [dynamic_data] diff --git a/update_word b/update_word @@ -0,0 +1,12 @@ +# Update word + +- [insertion] +- [substitution] +- [deletion] +- [push_pop], cf [deque] +- [push_operation] on one side and [pop_operation] on the other + - cf [queue] + - cf [sliding_window] +- [word_split]: related to [cut_and_paste] + +Up: [update] for [word] diff --git a/van_emde_boas_tree b/van_emde_boas_tree @@ -0,0 +1,9 @@ +# Van Emde Boas tree + +[fully_persistent] and generalization +https://dl.acm.org/doi/abs/10.1145/2483699.2483702?casa_token=ev35wNcpOZkAAAAA:yriGm4Tcy1xmJeiSZcCg6WToRRv2rtA0htk15dAuzAhJkNpFkAGQ0aAYZpWG17gz-KYcOWD1sOgiCg +- used for [twin_width] in [gajarsky2022twin] + +- used for [predecessor_problem] and [colored_predecessor] + +Up: [tree] diff --git a/vardi1989note b/vardi1989note @@ -0,0 +1,7 @@ +# Vardi1989note + +Explains [conversion_automata] of [automata_two_way] into a one-way [automata_nondeterministic] + +Up: [academic_paper] about [automata_two_way] + +See also: [vardi] diff --git a/variety b/variety @@ -0,0 +1,35 @@ +# Variety + +## Variety of formal language + +Variety of [formal_language]s is closed under: +- [Derivative] +- [Boolean_operator]s ([union], [intersection], [complementation]) + - maybe not [complementation] in which case it is a [positive_variety] +- and [inverse_morphism] + +## Variety of [monoid] + +Variety of [monoid] is closed under [direct_product], [quotient], and [submonoid] + +## Variety of [semigroup] + +We can impose that some elements in [equation]s are not mapped to the [neutral_element] +- cf [non_erasing_morphism] + +## Variety of [stamp]s + +- cf [length_preserving_morphism] + +## Examples + +- [da] + +## Types of variety + +- [Positive_variety] +- [Variety_Li] + +Up: [algebraic_automata_theory] + +Aliases: varieties diff --git a/vector_addition_tree_automata b/vector_addition_tree_automata @@ -0,0 +1,5 @@ +# Vector addition tree automata + +Defined in [degroote2004vector] + +Up: [vector_addition_system], [tree_automaton] diff --git a/vector_space b/vector_space @@ -0,0 +1,6 @@ +# Vector space + +- [subspace] +- [dimension] + +Up: [algebra] diff --git a/vertex b/vertex @@ -0,0 +1,9 @@ +# Vertex + +Also called a "node" + +Up: [graph_basic_notions] + +Aliases: vertices + +See also: [edge] diff --git a/vertex_cover b/vertex_cover @@ -0,0 +1,33 @@ +# Vertex cover + +A vertex cover in a [graph] is a subset of vertices such that every edge is incident to at least one vertex of the subset. + +[linear_relaxation]: [fractional_vertex_cover] +- and [dual]: [fractional_edge_packing] + +## Variants + +- [minimum_vertex_cover] +- [minimal_vertex_cover] + +## [approximation] + +- [vertex_cover_approximation] + +## [computational_problem] + +- [minimum_vertex_cover] + +## [theorem]s + +- [koenigs_theorem] in [graph_bipartite] + +## Connections + +- A vertex cover is at least as large as a [maximum_matching], because each edge in the matching must be covered by a vertex and these vertices must be different for each edge. + - [koenigs_theorem]: on [graph_bipartite] they are equal +- The [complement] of a vertex cover is an [independent_set] so [minimum_vertex_cover] corresponds to [maximal_independent_set] + +See also: [edge_cover], [vertex_packing], [independent_set], [hitting_set], [set_cover] + +Up: [graph_substructure] diff --git a/vertex_unbalanced_triangle_listing b/vertex_unbalanced_triangle_listing @@ -0,0 +1,9 @@ +# Vertex unbalanced triangle listing + +in [bringmann2022unbalanced] + +Implied by [3sum_conjecture] + +Up: [triangle_listing] + +Aliases: VUTL diff --git a/visibly_pushdown_automaton b/visibly_pushdown_automaton @@ -0,0 +1,9 @@ +# Visibly pushdown automaton + +[dymond1988input] + +Up: [pushdown_automaton] + +See also: [tree_automaton] + +Aliases: VPA, VPAs, visibly pushdown automata, input driven automaton, input driven automata, input-driven automaton, input-driven automata diff --git a/vizings_theorem b/vizings_theorem @@ -0,0 +1,9 @@ +# Vizing's theorem + +https://en.wikipedia.org/wiki/Vizing%27s_theorem + +If a [graph_undirected] has [maximal_degree] d then it can be [edge_colored] with at most d+1 colors + +Up: [theorem] on [edge_coloring] + +See also: [graph_coloring_greedy] diff --git a/walk b/walk @@ -0,0 +1,13 @@ +# Walk + +A [path] where [vertices] and [edges] can freely repeat + +- [walk_length] +- [random_walk] +- [no_meet] + +Up: [graph_basic_notions] + +See also: [tree_walking_automaton] + +Aliases: walks diff --git a/walk_length b/walk_length @@ -0,0 +1,17 @@ +# Walk length + +Given [graph_directed], G, [source] s, [sink] t, length l, decide if there is a [walk] from s to t with length exactly l + +- if l is constant then the problem is clearly tractable +- if l is given as input in unary, the problem is tractable by creating l copies of G + - O(l |G|) + - [fine_grained_complexity] bounds, cf [nfa_unary_lengths] +- if l is given in binary, the problem is [ptime] by [fast_exponentiation] to get the possible lengths of [walk]s in log l + - O(log l |G|) +- if the edges of G can be annotated with lengths also written in binary + - [np_hard] by reduction from [subset_sum] + - in [np] by [basagni1997difficulty] using [eulerian_path] + +See also: [path_length], [nfa_unary_lengths] + +Up: [computational_problem] on [graph] diff --git a/wang2024sampling b/wang2024sampling @@ -0,0 +1,9 @@ +# Wang2024sampling + +uses [degree_constraints] + +for [sampling_subgraph], [preprocessing] on the [graph], independently on the pattern to sample + +algorithm for [optimal_joins_sampling] with [degree_constraints_acyclic] recaptured by [capelli2024simple] + +Up: [academic_paper] on [sampling_subgraph] and [optimal_joins_sampling] diff --git a/weft b/weft @@ -0,0 +1,7 @@ +# Weft + +largest number of "large gates" ([fanin] at least 3) from any path from a variable gate to the output gate https://simonrey.fr/static/talks/PCT_Hardness.pdf + +Up: [circuit_parameter] + +See also: [height], [depth], [w1] diff --git a/wiles_theorem b/wiles_theorem @@ -0,0 +1,19 @@ +# Wiles's theorem + +also "Fermat's last theorem" + +Stated with positive integers, but can also be shown for negative integers + +Variant with polygonal/polyhedral numbers: +- https://en.m.wikipedia.org/wiki/Fermat_polygonal_number_theorem +- https://en.m.wikipedia.org/wiki/Pollock%27s_conjectures + +Generalizations: +- https://en.m.wikipedia.org/wiki/Beal_conjecture +- https://en.m.wikipedia.org/wiki/Fermat%E2%80%93Catalan_conjecture +- https://en.m.wikipedia.org/wiki/Lander,_Parkin,_and_Selfridge_conjecture +- https://en.m.wikipedia.org/wiki/Euler%27s_sum_of_powers_conjecture#k_=_3 + +Up: [mathematics], [number_theory] + +See also: [sum_of_powers] diff --git a/word b/word @@ -0,0 +1,24 @@ +# Word + +Finite [sequence] of [letter] + +- [primitive_word] +- [twin] + +generalization: +- [data_word] + +operation: +- [concatenation] +- [primitive_root] +- [mirror] + +type: +- [palindrome] +- [square_word] + +Up: [formal_language_theory] + +See also: [update_word], [empty_word], [sequence], [dynamic_word] + +Aliases: words diff --git a/word_automaton b/word_automaton @@ -0,0 +1,28 @@ +# Word automata + +- [word_automaton_unambiguous] + - [word_automaton_self_verifying] +- [automata_nondeterministic] +- [automata_bideterministic] + - [automata_reversible] +- [automata_probabilistic] +- [counter_automata] +- [automata_weighted] + +conciseness bounds between [automata_two_way] 2NFA and 1NFA, [automata_alternating] alternating or not, etc? + +[word_automata_taxonomy] + +problems: + +- [automaton_minimization] +- [language_inclusion] +- [language_equivalence] +- [universality_automata] +- [formal_language_separation] + +Up: [automata] + +See also: [word_problem] + +Aliases: word automata diff --git a/word_automaton_exclusive_unary b/word_automaton_exclusive_unary @@ -0,0 +1,5 @@ +# Word automaton exclusive unary + +cf [kutrib2024complexity] + +Up: [word_automaton_exclusive], [automata_unary] diff --git a/word_automaton_unambiguous b/word_automaton_unambiguous @@ -0,0 +1,16 @@ +# Unambiguous word automata + +[inclusion], [equivalence] are in P [ptime] (even NC [nc]?) whereas they are [pspace] PSPACE-c for +[word_automaton_nondeterministic] + +More restricted definition: [word_automaton_self_verifying] + +Variant: [word_automaton_exclusive] + +[unambiguous_word_automaton_complementation] + +Up: [word_automaton], [unambiguity] + +See also: [word_automaton_finitely_ambiguous], [word_automaton_polynomially_ambiguous] + +Aliases: UFA, UFAs, unambiguous word automaton diff --git a/word_combinatorics b/word_combinatorics @@ -0,0 +1,10 @@ +# Word combinatorics + +- [fine_wilf_theorem] +- [superpermutation] +- [universal_word] +- [de_bruijn_sequence] + +Up: [combinatorics] on [word] + +See also: [stringology], [formal_language_theory] diff --git a/word_problem b/word_problem @@ -0,0 +1,6 @@ +# Word problem + +Word problem for [group] +- interesting special cases, e.g., for [coxeter_groups] + +Up: [computational_problem] on [group] diff --git a/word_query b/word_query @@ -0,0 +1,7 @@ +# Word query + +[regular_path_query] corresponding to a finite word + +a restricted case of [union_of_conjunctive_queries] over [graph_database] + +Up: [regular_path_query] diff --git a/yaos_principle b/yaos_principle @@ -0,0 +1,5 @@ +# Yao's principle + +https://en.wikipedia.org/wiki/Yao's_principle + +Up: [algorithm_randomized] diff --git a/zero_clique b/zero_clique @@ -0,0 +1,13 @@ +# Zero clique + +[exact_triangle] but for [clique] + +[negative_clique] + +the correspondence with [3sum] or with [all_pairs_shortest_path] no longer works + +- [zero_clique_conjecture] + +See also: [hyperclique] + +Up: [exact_triangle], [clique], [fine_grained_complexity_problems] diff --git a/zhao2024evaluating b/zhao2024evaluating @@ -0,0 +1,9 @@ +# Zhao2024evaluating + +[computational_complexity] of [datalog_semiring_query_evaluation] under [naturally_ordered_semiring] + +- uses [grounding] +- has [lower_bounds] but still over a class of programs, not over a specific program + - reduction from [clique] + +Up: [academic_paper] on [datalog_semiring_query_evaluation] diff --git a/zpp b/zpp @@ -0,0 +1,10 @@ +# ZPP + +ZPP (zero-error probabilistic PTIME) = [rp] cap [corp] +- you can give the correct answer or "don't know", with at most proba 1/2 + +Corresponding algorithms for [ptime]: "Las Vegas" algorithm + +Up: [complexity_random] + +See also: [bpp], [rp], [automaton_las_vegas]