From 9460449a4cd8275183a43b57c583b12389a4f3bb Mon Sep 17 00:00:00 2001 From: Elijah Melton Date: Sun, 5 Jan 2025 00:00:04 -0800 Subject: [PATCH] sync changes: - A Untitled.java - A natural-language-processing/multinomial-logistic-regression.md - A site/Untitled.java --- Untitled.java | 142 +++++++++++++ .../multinomial-logistic-regression.md | 17 ++ site/Untitled.java | 142 +++++++++++++ site/categories/algorithm analysis.html | 2 +- site/categories/algorithms.html | 2 +- site/categories/computer science.html | 2 +- site/categories/database design.html | 2 +- site/categories/database systems.html | 2 +- site/categories/distributed systems.html | 2 +- site/categories/graph theory.html | 2 +- site/categories/index.html | 2 +- site/categories/mathematics.html | 2 +- site/categories/operations research.html | 2 +- site/categories/software engineering.html | 2 +- site/index.html | 14 +- .../multinomial-logistic-regression.html | 200 ++++++++++++++++++ site/tags/acyclic graphs.html | 2 +- site/tags/algorithm-analysis.html | 2 +- site/tags/algorithm.html | 2 +- site/tags/algorithms.html | 2 +- site/tags/approximation.html | 2 +- site/tags/asymptotic notation.html | 2 +- site/tags/batch processing.html | 2 +- site/tags/bipartite graphs.html | 2 +- site/tags/bipartite matching.html | 2 +- site/tags/breadth-first search.html | 2 +- site/tags/column-oriented storage.html | 2 +- site/tags/compatibility.html | 2 +- site/tags/complexity analysis.html | 2 +- site/tags/complexity-analysis.html | 2 +- site/tags/connected components.html | 2 +- site/tags/connected graphs.html | 2 +- site/tags/data analysis.html | 2 +- site/tags/data modeling.html | 2 +- site/tags/data replication.html | 2 +- site/tags/data serialization.html | 2 +- site/tags/data structures.html | 2 +- site/tags/data systems.html | 2 +- site/tags/depth first search.html | 2 +- site/tags/depth-first search.html | 2 +- site/tags/distributed filesystems.html | 2 +- site/tags/document databases.html | 2 +- site/tags/dynamic-programming.html | 2 +- site/tags/efficiency.html | 2 +- site/tags/encoding formats.html | 2 +- site/tags/etl.html | 2 +- site/tags/failover.html | 2 +- site/tags/ford-fulkerson algorithm.html | 2 +- site/tags/gale-shapley.html | 2 +- site/tags/graph coloring.html | 2 +- site/tags/graph databases.html | 2 +- site/tags/graph fundamentals.html | 2 +- site/tags/graph properties.html | 2 +- site/tags/graph representation.html | 2 +- site/tags/graph theory.html | 2 +- site/tags/graph traversal.html | 2 +- site/tags/graph-theory.html | 2 +- site/tags/graph-traversal.html | 2 +- site/tags/graph.html | 2 +- site/tags/greedy-algorithms.html | 2 +- site/tags/independent set.html | 2 +- site/tags/index.html | 2 +- site/tags/indexing.html | 2 +- site/tags/induction proofs.html | 2 +- site/tags/induction.html | 2 +- site/tags/interval.html | 2 +- site/tags/leader-follower model.html | 2 +- site/tags/linear programs.html | 2 +- site/tags/linear systems.html | 2 +- site/tags/maintainability.html | 2 +- site/tags/mapreduce.html | 2 +- site/tags/matching.html | 2 +- site/tags/max flow min cut.html | 2 +- site/tags/message passing.html | 2 +- site/tags/odd cycles.html | 2 +- site/tags/oltp vs olap.html | 2 +- site/tags/optimization.html | 2 +- site/tags/partitioning.html | 2 +- site/tags/performance.html | 2 +- site/tags/pigeonhole principle.html | 2 +- site/tags/problem-solving.html | 2 +- site/tags/proof techniques.html | 2 +- site/tags/query languages.html | 2 +- site/tags/relational databases.html | 2 +- site/tags/reliability.html | 2 +- site/tags/replication logs.html | 2 +- site/tags/scalability.html | 2 +- site/tags/scheduling.html | 2 +- site/tags/schema evolution.html | 2 +- site/tags/set cover.html | 2 +- site/tags/shortest-paths.html | 2 +- site/tags/spanning trees.html | 2 +- site/tags/stable matching.html | 2 +- site/tags/synchronous vs asynchronous.html | 2 +- site/tags/time complexity.html | 2 +- site/tags/trees.html | 2 +- site/tags/vertex cover.html | 2 +- 97 files changed, 600 insertions(+), 99 deletions(-) create mode 100644 Untitled.java create mode 100644 natural-language-processing/multinomial-logistic-regression.md create mode 100644 site/Untitled.java create mode 100644 site/natural-language-processing/multinomial-logistic-regression.html diff --git a/Untitled.java b/Untitled.java new file mode 100644 index 0000000..81c47ec --- /dev/null +++ b/Untitled.java @@ -0,0 +1,142 @@ +# Multinomial Logistic Regression (MLR) + +## Introduction + +Multinomial Logistic Regression (MLR) is a generalization of binary logistic regression that allows for classification into multiple classes. It's a powerful and interpretable model widely used in Natural Language Processing (NLP) and other fields. + +## Key Concepts + +### Features + +In MLR, features are functions that map input-output pairs to real numbers: + +$f_j: \mathcal{V}^* \times \mathcal{L} \rightarrow \mathbb{R}$ + +Where $\mathcal{V}^*$ is the set of all possible input sequences and $\mathcal{L}$ is the set of all possible labels. + +A common template for features is: + +$f_{\ell,\phi}(x, y) = \phi(x) \cdot \mathbb{1}\{y = \ell\}$ + +Where $\phi(x)$ is some function of the input and $\mathbb{1}\{y = \ell\}$ is an indicator function. + +```python +import numpy as np + +def feature_template(phi, l): + def feature(x, y): + return phi(x) * (y == l) + return feature + +# Example usage +def word_count(x, word): + return x.lower().count(word) + +f_sports_vodka = feature_template(lambda x: word_count(x, 'vodka'), 'sports') +``` + +### Model Definition + +An MLR model is defined by: + +1. A set of feature functions $f_1, ..., f_d$ +2. A weight vector $\theta \in \mathbb{R}^d$ + +The score for a given input-output pair is: + +$\text{score}_{\text{MLR}}(x, y; \theta) = \sum_{j=1}^d \theta_j f_j(x, y) = \theta^T f(x, y)$ + +The classification rule is: + +$\text{classify}_{\text{MLR}}(x) = \arg\max_{y \in \mathcal{L}} \text{score}_{\text{MLR}}(x, y; \theta)$ + +```python +def score_mlr(x, y, theta, features): + return sum(theta[j] * f(x, y) for j, f in enumerate(features)) + +def classify_mlr(x, theta, features, labels): + return max(labels, key=lambda y: score_mlr(x, y, theta, features)) +``` + +### Probabilistic Interpretation + +MLR defines a probability distribution over labels: + +$p_{\text{MLR}}(Y | X = x; \theta) = \text{softmax}(\langle\text{score}_{\text{MLR}}(x, \ell; \theta)\rangle_{\ell \in \mathcal{L}})$ + +Where softmax is defined as: + +$\text{softmax}(t_1, ..., t_k) = (\frac{e^{t_1}}{\sum_{j=1}^k e^{t_j}}, ..., \frac{e^{t_k}}{\sum_{j=1}^k e^{t_j}})$ + +```python +def softmax(scores): + exp_scores = np.exp(scores) + return exp_scores / np.sum(exp_scores) + +def p_mlr(x, theta, features, labels): + scores = [score_mlr(x, y, theta, features) for y in labels] + return softmax(scores) +``` + +## Learning + +The learning objective for MLR is to minimize the negative log-likelihood (also known as cross-entropy loss) plus a regularization term: + +$\theta^* = \arg\min_{\theta \in \mathbb{R}^d} \sum_{i=1}^n -\log p_{\text{MLR}}(Y = y_i | X = x_i; \theta) + \lambda \|\theta\|_p^p$ + +Where $\lambda > 0$ is a hyperparameter and $p = 1$ or $2$ for L1 or L2 regularization respectively. + +```python +def negative_log_likelihood(theta, X, y, features, labels, lambda_, p): + nll = sum(-np.log(p_mlr(x, theta, features, labels)[labels.index(y_i)]) + for x, y_i in zip(X, y)) + reg = lambda_ * np.linalg.norm(theta, ord=p)**p + return nll + reg + +from scipy.optimize import minimize + +def train_mlr(X, y, features, labels, lambda_=0.1, p=2): + d = len(features) + theta_init = np.zeros(d) + result = minimize(lambda theta: negative_log_likelihood(theta, X, y, features, labels, lambda_, p), + theta_init, method='L-BFGS-B') + return result.x +``` + +## Implementation Considerations + +1. Feature engineering is crucial for MLR performance. +2. L1 regularization can lead to sparse models, effectively performing feature selection. +3. MLR can be computationally expensive for large label sets due to the normalization factor in the softmax. +4. Stochastic gradient descent or its variants are often used for large-scale problems. + +## Evaluation + +Common evaluation metrics include accuracy, precision, recall, and F1 score. Cross-validation is often used to get more reliable estimates of model performance. + +```python +from sklearn.model_selection import cross_val_score +from sklearn.metrics import make_scorer, accuracy_score, precision_score, recall_score, f1_score + +def mlr_classifier(theta, features, labels): + return lambda X: [classify_mlr(x, theta, features, labels) for x in X] + +def evaluate_mlr(X, y, features, labels, lambda_=0.1, p=2, cv=5): + theta = train_mlr(X, y, features, labels, lambda_, p) + clf = mlr_classifier(theta, features, labels) + + scorers = { + 'accuracy': make_scorer(accuracy_score), + 'precision': make_scorer(precision_score, average='weighted'), + 'recall': make_scorer(recall_score, average='weighted'), + 'f1': make_scorer(f1_score, average='weighted') + } + + scores = {metric: cross_val_score(clf, X, y, cv=cv, scoring=scorer) + for metric, scorer in scorers.items()} + + return {metric: (np.mean(score), np.std(score)) for metric, score in scores.items()} +``` + +This implementation provides a comprehensive overview of Multinomial Logistic Regression, including its key concepts, model definition, learning process, and evaluation methods. The code examples demonstrate how to implement these concepts using NumPy and Python. + diff --git a/natural-language-processing/multinomial-logistic-regression.md b/natural-language-processing/multinomial-logistic-regression.md new file mode 100644 index 0000000..365da5b --- /dev/null +++ b/natural-language-processing/multinomial-logistic-regression.md @@ -0,0 +1,17 @@ +# Multinomial Logistic Regression + +## Classification + +Input can be anything (document, image, etc.) and output is a class label from the finite set $\mathcal{L}$. + +$$ +classify : \mathcal{V}* \rightarrow \mathcal{L} +$$ + +$\mathcal{V}$ is the set of words in our vocabulary. + +$X$ is a random variable representing the input, in a given instance taking values from $\mathcal{V}*$. + +$Y$ is a random variable representing the output, taking values from $\mathcal{L}$. + +$p(X, Y)$ is the "true" distribution of labeled texts. $p(Y)$ is the distribution of labels. We don't normally know this without looking at the data. diff --git a/site/Untitled.java b/site/Untitled.java new file mode 100644 index 0000000..81c47ec --- /dev/null +++ b/site/Untitled.java @@ -0,0 +1,142 @@ +# Multinomial Logistic Regression (MLR) + +## Introduction + +Multinomial Logistic Regression (MLR) is a generalization of binary logistic regression that allows for classification into multiple classes. It's a powerful and interpretable model widely used in Natural Language Processing (NLP) and other fields. + +## Key Concepts + +### Features + +In MLR, features are functions that map input-output pairs to real numbers: + +$f_j: \mathcal{V}^* \times \mathcal{L} \rightarrow \mathbb{R}$ + +Where $\mathcal{V}^*$ is the set of all possible input sequences and $\mathcal{L}$ is the set of all possible labels. + +A common template for features is: + +$f_{\ell,\phi}(x, y) = \phi(x) \cdot \mathbb{1}\{y = \ell\}$ + +Where $\phi(x)$ is some function of the input and $\mathbb{1}\{y = \ell\}$ is an indicator function. + +```python +import numpy as np + +def feature_template(phi, l): + def feature(x, y): + return phi(x) * (y == l) + return feature + +# Example usage +def word_count(x, word): + return x.lower().count(word) + +f_sports_vodka = feature_template(lambda x: word_count(x, 'vodka'), 'sports') +``` + +### Model Definition + +An MLR model is defined by: + +1. A set of feature functions $f_1, ..., f_d$ +2. A weight vector $\theta \in \mathbb{R}^d$ + +The score for a given input-output pair is: + +$\text{score}_{\text{MLR}}(x, y; \theta) = \sum_{j=1}^d \theta_j f_j(x, y) = \theta^T f(x, y)$ + +The classification rule is: + +$\text{classify}_{\text{MLR}}(x) = \arg\max_{y \in \mathcal{L}} \text{score}_{\text{MLR}}(x, y; \theta)$ + +```python +def score_mlr(x, y, theta, features): + return sum(theta[j] * f(x, y) for j, f in enumerate(features)) + +def classify_mlr(x, theta, features, labels): + return max(labels, key=lambda y: score_mlr(x, y, theta, features)) +``` + +### Probabilistic Interpretation + +MLR defines a probability distribution over labels: + +$p_{\text{MLR}}(Y | X = x; \theta) = \text{softmax}(\langle\text{score}_{\text{MLR}}(x, \ell; \theta)\rangle_{\ell \in \mathcal{L}})$ + +Where softmax is defined as: + +$\text{softmax}(t_1, ..., t_k) = (\frac{e^{t_1}}{\sum_{j=1}^k e^{t_j}}, ..., \frac{e^{t_k}}{\sum_{j=1}^k e^{t_j}})$ + +```python +def softmax(scores): + exp_scores = np.exp(scores) + return exp_scores / np.sum(exp_scores) + +def p_mlr(x, theta, features, labels): + scores = [score_mlr(x, y, theta, features) for y in labels] + return softmax(scores) +``` + +## Learning + +The learning objective for MLR is to minimize the negative log-likelihood (also known as cross-entropy loss) plus a regularization term: + +$\theta^* = \arg\min_{\theta \in \mathbb{R}^d} \sum_{i=1}^n -\log p_{\text{MLR}}(Y = y_i | X = x_i; \theta) + \lambda \|\theta\|_p^p$ + +Where $\lambda > 0$ is a hyperparameter and $p = 1$ or $2$ for L1 or L2 regularization respectively. + +```python +def negative_log_likelihood(theta, X, y, features, labels, lambda_, p): + nll = sum(-np.log(p_mlr(x, theta, features, labels)[labels.index(y_i)]) + for x, y_i in zip(X, y)) + reg = lambda_ * np.linalg.norm(theta, ord=p)**p + return nll + reg + +from scipy.optimize import minimize + +def train_mlr(X, y, features, labels, lambda_=0.1, p=2): + d = len(features) + theta_init = np.zeros(d) + result = minimize(lambda theta: negative_log_likelihood(theta, X, y, features, labels, lambda_, p), + theta_init, method='L-BFGS-B') + return result.x +``` + +## Implementation Considerations + +1. Feature engineering is crucial for MLR performance. +2. L1 regularization can lead to sparse models, effectively performing feature selection. +3. MLR can be computationally expensive for large label sets due to the normalization factor in the softmax. +4. Stochastic gradient descent or its variants are often used for large-scale problems. + +## Evaluation + +Common evaluation metrics include accuracy, precision, recall, and F1 score. Cross-validation is often used to get more reliable estimates of model performance. + +```python +from sklearn.model_selection import cross_val_score +from sklearn.metrics import make_scorer, accuracy_score, precision_score, recall_score, f1_score + +def mlr_classifier(theta, features, labels): + return lambda X: [classify_mlr(x, theta, features, labels) for x in X] + +def evaluate_mlr(X, y, features, labels, lambda_=0.1, p=2, cv=5): + theta = train_mlr(X, y, features, labels, lambda_, p) + clf = mlr_classifier(theta, features, labels) + + scorers = { + 'accuracy': make_scorer(accuracy_score), + 'precision': make_scorer(precision_score, average='weighted'), + 'recall': make_scorer(recall_score, average='weighted'), + 'f1': make_scorer(f1_score, average='weighted') + } + + scores = {metric: cross_val_score(clf, X, y, cv=cv, scoring=scorer) + for metric, scorer in scorers.items()} + + return {metric: (np.mean(score), np.std(score)) for metric, score in scores.items()} +``` + +This implementation provides a comprehensive overview of Multinomial Logistic Regression, including its key concepts, model definition, learning process, and evaluation methods. The code examples demonstrate how to implement these concepts using NumPy and Python. + diff --git a/site/categories/algorithm analysis.html b/site/categories/algorithm analysis.html index b8a376d..2f0adc2 100644 --- a/site/categories/algorithm analysis.html +++ b/site/categories/algorithm analysis.html @@ -179,7 +179,7 @@

Category: Algorithm Analysis

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/algorithms.html b/site/categories/algorithms.html index 873af0f..482c99a 100644 --- a/site/categories/algorithms.html +++ b/site/categories/algorithms.html @@ -179,7 +179,7 @@

Category: algorithms

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/computer science.html b/site/categories/computer science.html index fdebeaa..6ea3762 100644 --- a/site/categories/computer science.html +++ b/site/categories/computer science.html @@ -179,7 +179,7 @@

Category: Computer Science

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/database design.html b/site/categories/database design.html index c2ee385..b5fa917 100644 --- a/site/categories/database design.html +++ b/site/categories/database design.html @@ -179,7 +179,7 @@

Category: Database Design

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/database systems.html b/site/categories/database systems.html index 067a9b6..5e8ec89 100644 --- a/site/categories/database systems.html +++ b/site/categories/database systems.html @@ -179,7 +179,7 @@

Category: Database Systems

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/distributed systems.html b/site/categories/distributed systems.html index 0237f13..6ed743d 100644 --- a/site/categories/distributed systems.html +++ b/site/categories/distributed systems.html @@ -179,7 +179,7 @@

Category: Distributed Systems

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/graph theory.html b/site/categories/graph theory.html index b6a7989..5768445 100644 --- a/site/categories/graph theory.html +++ b/site/categories/graph theory.html @@ -179,7 +179,7 @@

Category: Graph Theory

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/index.html b/site/categories/index.html index ce7b955..f166daf 100644 --- a/site/categories/index.html +++ b/site/categories/index.html @@ -178,7 +178,7 @@

Categories

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/mathematics.html b/site/categories/mathematics.html index 642a820..e501e80 100644 --- a/site/categories/mathematics.html +++ b/site/categories/mathematics.html @@ -179,7 +179,7 @@

Category: Mathematics

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/operations research.html b/site/categories/operations research.html index a94abd6..9ad448e 100644 --- a/site/categories/operations research.html +++ b/site/categories/operations research.html @@ -179,7 +179,7 @@

Category: Operations Research

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/categories/software engineering.html b/site/categories/software engineering.html index bb678c5..f5754e4 100644 --- a/site/categories/software engineering.html +++ b/site/categories/software engineering.html @@ -179,7 +179,7 @@

Category: Software Engineering

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/index.html b/site/index.html index 7a91fad..cd551e4 100644 --- a/site/index.html +++ b/site/index.html @@ -178,14 +178,14 @@

My Notes

- Last modified: 2025-01-03 + Last modified: 2025-01-05
- 146 + 147 Notes
@@ -201,6 +201,11 @@

My Notes

Recent Notes

diff --git a/site/natural-language-processing/multinomial-logistic-regression.html b/site/natural-language-processing/multinomial-logistic-regression.html new file mode 100644 index 0000000..20d5783 --- /dev/null +++ b/site/natural-language-processing/multinomial-logistic-regression.html @@ -0,0 +1,200 @@ + + + + + + Multinomial Logistic Regression + + + + + +
+ +

Multinomial Logistic Regression

+
+ Last modified: 2025-01-03 + +
+
+

Multinomial Logistic Regression

+

Classification

+

Input can be anything (document, image, etc.) and output is a class label from the finite set $\mathcal{L}$.

+

$$ +classify : \mathcal{V}* \rightarrow \mathcal{L} +$$

+

$\mathcal{V}$ is the set of words in our vocabulary.

+

$X$ is a random variable representing the input, in a given instance taking values from $\mathcal{V}*$.

+

$Y$ is a random variable representing the output, taking values from $\mathcal{L}$.

+

$p(X, Y)$ is the "true" distribution of labeled texts. $p(Y)$ is the distribution of labels. We don't normally know this without looking at the data.

+
+ +
+ + \ No newline at end of file diff --git a/site/tags/acyclic graphs.html b/site/tags/acyclic graphs.html index 1d614f1..79f4a3c 100644 --- a/site/tags/acyclic graphs.html +++ b/site/tags/acyclic graphs.html @@ -179,7 +179,7 @@

Tag: acyclic graphs

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/algorithm-analysis.html b/site/tags/algorithm-analysis.html index 4953002..c8ff2da 100644 --- a/site/tags/algorithm-analysis.html +++ b/site/tags/algorithm-analysis.html @@ -179,7 +179,7 @@

Tag: algorithm-analysis

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/algorithm.html b/site/tags/algorithm.html index a9f4539..9cc925c 100644 --- a/site/tags/algorithm.html +++ b/site/tags/algorithm.html @@ -179,7 +179,7 @@

Tag: algorithm

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/algorithms.html b/site/tags/algorithms.html index 39253d2..39e7e1c 100644 --- a/site/tags/algorithms.html +++ b/site/tags/algorithms.html @@ -179,7 +179,7 @@

Tag: algorithms

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/approximation.html b/site/tags/approximation.html index 96f0ac2..dd2e7dc 100644 --- a/site/tags/approximation.html +++ b/site/tags/approximation.html @@ -179,7 +179,7 @@

Tag: approximation

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/asymptotic notation.html b/site/tags/asymptotic notation.html index 64643ad..1327142 100644 --- a/site/tags/asymptotic notation.html +++ b/site/tags/asymptotic notation.html @@ -179,7 +179,7 @@

Tag: asymptotic notation

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/batch processing.html b/site/tags/batch processing.html index 60efe89..62ea52f 100644 --- a/site/tags/batch processing.html +++ b/site/tags/batch processing.html @@ -179,7 +179,7 @@

Tag: batch processing

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/bipartite graphs.html b/site/tags/bipartite graphs.html index f6f2e04..ffac4b7 100644 --- a/site/tags/bipartite graphs.html +++ b/site/tags/bipartite graphs.html @@ -179,7 +179,7 @@

Tag: bipartite graphs

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/bipartite matching.html b/site/tags/bipartite matching.html index 6a231b2..4f3e977 100644 --- a/site/tags/bipartite matching.html +++ b/site/tags/bipartite matching.html @@ -179,7 +179,7 @@

Tag: bipartite matching

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/breadth-first search.html b/site/tags/breadth-first search.html index ec0fb63..8adb600 100644 --- a/site/tags/breadth-first search.html +++ b/site/tags/breadth-first search.html @@ -179,7 +179,7 @@

Tag: breadth-first search

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/column-oriented storage.html b/site/tags/column-oriented storage.html index d6f3ea8..994abc9 100644 --- a/site/tags/column-oriented storage.html +++ b/site/tags/column-oriented storage.html @@ -179,7 +179,7 @@

Tag: column-oriented storage

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/compatibility.html b/site/tags/compatibility.html index d17e1ff..cc47494 100644 --- a/site/tags/compatibility.html +++ b/site/tags/compatibility.html @@ -179,7 +179,7 @@

Tag: compatibility

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/complexity analysis.html b/site/tags/complexity analysis.html index 5047335..cb6b588 100644 --- a/site/tags/complexity analysis.html +++ b/site/tags/complexity analysis.html @@ -179,7 +179,7 @@

Tag: complexity analysis

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/complexity-analysis.html b/site/tags/complexity-analysis.html index d0ebc29..ca60457 100644 --- a/site/tags/complexity-analysis.html +++ b/site/tags/complexity-analysis.html @@ -179,7 +179,7 @@

Tag: complexity-analysis

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/connected components.html b/site/tags/connected components.html index 665dd8c..ed14c51 100644 --- a/site/tags/connected components.html +++ b/site/tags/connected components.html @@ -179,7 +179,7 @@

Tag: connected components

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/connected graphs.html b/site/tags/connected graphs.html index 209cc32..bfa6f67 100644 --- a/site/tags/connected graphs.html +++ b/site/tags/connected graphs.html @@ -179,7 +179,7 @@

Tag: connected graphs

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/data analysis.html b/site/tags/data analysis.html index 43eaea8..8adf04a 100644 --- a/site/tags/data analysis.html +++ b/site/tags/data analysis.html @@ -179,7 +179,7 @@

Tag: data analysis

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/data modeling.html b/site/tags/data modeling.html index ad7c083..e63f9de 100644 --- a/site/tags/data modeling.html +++ b/site/tags/data modeling.html @@ -179,7 +179,7 @@

Tag: data modeling

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/data replication.html b/site/tags/data replication.html index e618188..3849ca9 100644 --- a/site/tags/data replication.html +++ b/site/tags/data replication.html @@ -179,7 +179,7 @@

Tag: data replication

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/data serialization.html b/site/tags/data serialization.html index 4fc1d89..d552f5f 100644 --- a/site/tags/data serialization.html +++ b/site/tags/data serialization.html @@ -179,7 +179,7 @@

Tag: data serialization

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/data structures.html b/site/tags/data structures.html index 141b07d..b41307b 100644 --- a/site/tags/data structures.html +++ b/site/tags/data structures.html @@ -179,7 +179,7 @@

Tag: data structures

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/data systems.html b/site/tags/data systems.html index 32ddc23..ef75251 100644 --- a/site/tags/data systems.html +++ b/site/tags/data systems.html @@ -179,7 +179,7 @@

Tag: data systems

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/depth first search.html b/site/tags/depth first search.html index ff695eb..0355b24 100644 --- a/site/tags/depth first search.html +++ b/site/tags/depth first search.html @@ -179,7 +179,7 @@

Tag: depth first search

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/depth-first search.html b/site/tags/depth-first search.html index ab7fd03..c822a34 100644 --- a/site/tags/depth-first search.html +++ b/site/tags/depth-first search.html @@ -179,7 +179,7 @@

Tag: depth-first search

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/distributed filesystems.html b/site/tags/distributed filesystems.html index bf1904c..1ca0eb0 100644 --- a/site/tags/distributed filesystems.html +++ b/site/tags/distributed filesystems.html @@ -179,7 +179,7 @@

Tag: distributed filesystems

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/document databases.html b/site/tags/document databases.html index 9f759d1..e03cc42 100644 --- a/site/tags/document databases.html +++ b/site/tags/document databases.html @@ -179,7 +179,7 @@

Tag: document databases

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/dynamic-programming.html b/site/tags/dynamic-programming.html index 4553f1c..e93a56e 100644 --- a/site/tags/dynamic-programming.html +++ b/site/tags/dynamic-programming.html @@ -179,7 +179,7 @@

Tag: dynamic-programming

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/efficiency.html b/site/tags/efficiency.html index 0b9662a..18b8561 100644 --- a/site/tags/efficiency.html +++ b/site/tags/efficiency.html @@ -179,7 +179,7 @@

Tag: efficiency

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/encoding formats.html b/site/tags/encoding formats.html index 497b7de..455cf00 100644 --- a/site/tags/encoding formats.html +++ b/site/tags/encoding formats.html @@ -179,7 +179,7 @@

Tag: encoding formats

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/etl.html b/site/tags/etl.html index e54e0e6..31b3d1f 100644 --- a/site/tags/etl.html +++ b/site/tags/etl.html @@ -179,7 +179,7 @@

Tag: etl

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/failover.html b/site/tags/failover.html index f378649..15f53f5 100644 --- a/site/tags/failover.html +++ b/site/tags/failover.html @@ -179,7 +179,7 @@

Tag: failover

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/ford-fulkerson algorithm.html b/site/tags/ford-fulkerson algorithm.html index 5aa2445..8f23d2d 100644 --- a/site/tags/ford-fulkerson algorithm.html +++ b/site/tags/ford-fulkerson algorithm.html @@ -179,7 +179,7 @@

Tag: ford-fulkerson algorithm

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/gale-shapley.html b/site/tags/gale-shapley.html index 177f2a6..0a5f146 100644 --- a/site/tags/gale-shapley.html +++ b/site/tags/gale-shapley.html @@ -179,7 +179,7 @@

Tag: gale-shapley

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph coloring.html b/site/tags/graph coloring.html index 108e13b..480febd 100644 --- a/site/tags/graph coloring.html +++ b/site/tags/graph coloring.html @@ -179,7 +179,7 @@

Tag: graph coloring

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph databases.html b/site/tags/graph databases.html index 55eb055..8a213a2 100644 --- a/site/tags/graph databases.html +++ b/site/tags/graph databases.html @@ -179,7 +179,7 @@

Tag: graph databases

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph fundamentals.html b/site/tags/graph fundamentals.html index e24dd32..8b1ab54 100644 --- a/site/tags/graph fundamentals.html +++ b/site/tags/graph fundamentals.html @@ -179,7 +179,7 @@

Tag: graph fundamentals

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph properties.html b/site/tags/graph properties.html index 4de5c86..2dfba7f 100644 --- a/site/tags/graph properties.html +++ b/site/tags/graph properties.html @@ -179,7 +179,7 @@

Tag: graph properties

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph representation.html b/site/tags/graph representation.html index 1e19d12..beaa4bf 100644 --- a/site/tags/graph representation.html +++ b/site/tags/graph representation.html @@ -179,7 +179,7 @@

Tag: graph representation

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph theory.html b/site/tags/graph theory.html index 644f269..e6c4b20 100644 --- a/site/tags/graph theory.html +++ b/site/tags/graph theory.html @@ -179,7 +179,7 @@

Tag: graph theory

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph traversal.html b/site/tags/graph traversal.html index 75239c2..f1ccfa3 100644 --- a/site/tags/graph traversal.html +++ b/site/tags/graph traversal.html @@ -179,7 +179,7 @@

Tag: graph traversal

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph-theory.html b/site/tags/graph-theory.html index b7344a0..5c1d745 100644 --- a/site/tags/graph-theory.html +++ b/site/tags/graph-theory.html @@ -179,7 +179,7 @@

Tag: graph-theory

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph-traversal.html b/site/tags/graph-traversal.html index 5aa4666..9135b48 100644 --- a/site/tags/graph-traversal.html +++ b/site/tags/graph-traversal.html @@ -179,7 +179,7 @@

Tag: graph-traversal

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/graph.html b/site/tags/graph.html index d293e8f..6b50273 100644 --- a/site/tags/graph.html +++ b/site/tags/graph.html @@ -179,7 +179,7 @@

Tag: graph

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/greedy-algorithms.html b/site/tags/greedy-algorithms.html index dd88283..7f04eb2 100644 --- a/site/tags/greedy-algorithms.html +++ b/site/tags/greedy-algorithms.html @@ -179,7 +179,7 @@

Tag: greedy-algorithms

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/independent set.html b/site/tags/independent set.html index 0cf38b1..402f0f8 100644 --- a/site/tags/independent set.html +++ b/site/tags/independent set.html @@ -179,7 +179,7 @@

Tag: independent set

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/index.html b/site/tags/index.html index 801af3e..70b00df 100644 --- a/site/tags/index.html +++ b/site/tags/index.html @@ -178,7 +178,7 @@

Tags

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/indexing.html b/site/tags/indexing.html index 6316454..6a100ee 100644 --- a/site/tags/indexing.html +++ b/site/tags/indexing.html @@ -179,7 +179,7 @@

Tag: indexing

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/induction proofs.html b/site/tags/induction proofs.html index 105a17e..ee98d4f 100644 --- a/site/tags/induction proofs.html +++ b/site/tags/induction proofs.html @@ -179,7 +179,7 @@

Tag: induction proofs

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/induction.html b/site/tags/induction.html index 07a2992..b56aebd 100644 --- a/site/tags/induction.html +++ b/site/tags/induction.html @@ -179,7 +179,7 @@

Tag: induction

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/interval.html b/site/tags/interval.html index c39ef25..67ae91b 100644 --- a/site/tags/interval.html +++ b/site/tags/interval.html @@ -179,7 +179,7 @@

Tag: interval

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/leader-follower model.html b/site/tags/leader-follower model.html index 5c43f4f..a2093cb 100644 --- a/site/tags/leader-follower model.html +++ b/site/tags/leader-follower model.html @@ -179,7 +179,7 @@

Tag: leader-follower model

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/linear programs.html b/site/tags/linear programs.html index c89efbe..25df528 100644 --- a/site/tags/linear programs.html +++ b/site/tags/linear programs.html @@ -179,7 +179,7 @@

Tag: linear programs

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/linear systems.html b/site/tags/linear systems.html index f63022b..21b4d86 100644 --- a/site/tags/linear systems.html +++ b/site/tags/linear systems.html @@ -179,7 +179,7 @@

Tag: linear systems

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/maintainability.html b/site/tags/maintainability.html index 516ff91..43c2769 100644 --- a/site/tags/maintainability.html +++ b/site/tags/maintainability.html @@ -179,7 +179,7 @@

Tag: maintainability

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/mapreduce.html b/site/tags/mapreduce.html index 6e1e3e0..fde9cc0 100644 --- a/site/tags/mapreduce.html +++ b/site/tags/mapreduce.html @@ -179,7 +179,7 @@

Tag: mapreduce

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/matching.html b/site/tags/matching.html index b6b2ee9..617d531 100644 --- a/site/tags/matching.html +++ b/site/tags/matching.html @@ -179,7 +179,7 @@

Tag: matching

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/max flow min cut.html b/site/tags/max flow min cut.html index bc52a28..c7cd3a3 100644 --- a/site/tags/max flow min cut.html +++ b/site/tags/max flow min cut.html @@ -179,7 +179,7 @@

Tag: max flow min cut

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/message passing.html b/site/tags/message passing.html index 591f040..f06478f 100644 --- a/site/tags/message passing.html +++ b/site/tags/message passing.html @@ -179,7 +179,7 @@

Tag: message passing

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/odd cycles.html b/site/tags/odd cycles.html index 0224d70..bdb127b 100644 --- a/site/tags/odd cycles.html +++ b/site/tags/odd cycles.html @@ -179,7 +179,7 @@

Tag: odd cycles

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/oltp vs olap.html b/site/tags/oltp vs olap.html index ea4386d..8a3d822 100644 --- a/site/tags/oltp vs olap.html +++ b/site/tags/oltp vs olap.html @@ -179,7 +179,7 @@

Tag: oltp vs olap

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/optimization.html b/site/tags/optimization.html index 28da6de..fb5e330 100644 --- a/site/tags/optimization.html +++ b/site/tags/optimization.html @@ -179,7 +179,7 @@

Tag: optimization

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/partitioning.html b/site/tags/partitioning.html index 064a83f..ac7f47f 100644 --- a/site/tags/partitioning.html +++ b/site/tags/partitioning.html @@ -179,7 +179,7 @@

Tag: partitioning

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/performance.html b/site/tags/performance.html index c76eee5..7938f6c 100644 --- a/site/tags/performance.html +++ b/site/tags/performance.html @@ -179,7 +179,7 @@

Tag: performance

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/pigeonhole principle.html b/site/tags/pigeonhole principle.html index 6d530f2..a440c0d 100644 --- a/site/tags/pigeonhole principle.html +++ b/site/tags/pigeonhole principle.html @@ -179,7 +179,7 @@

Tag: pigeonhole principle

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/problem-solving.html b/site/tags/problem-solving.html index ea63e26..cb22461 100644 --- a/site/tags/problem-solving.html +++ b/site/tags/problem-solving.html @@ -179,7 +179,7 @@

Tag: problem-solving

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/proof techniques.html b/site/tags/proof techniques.html index 89f8fe2..21907e7 100644 --- a/site/tags/proof techniques.html +++ b/site/tags/proof techniques.html @@ -179,7 +179,7 @@

Tag: proof techniques

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/query languages.html b/site/tags/query languages.html index 853df2c..4c99d4a 100644 --- a/site/tags/query languages.html +++ b/site/tags/query languages.html @@ -179,7 +179,7 @@

Tag: query languages

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/relational databases.html b/site/tags/relational databases.html index e1af97e..a11e9e5 100644 --- a/site/tags/relational databases.html +++ b/site/tags/relational databases.html @@ -179,7 +179,7 @@

Tag: relational databases

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/reliability.html b/site/tags/reliability.html index 0d6d021..a4e4d11 100644 --- a/site/tags/reliability.html +++ b/site/tags/reliability.html @@ -179,7 +179,7 @@

Tag: reliability

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/replication logs.html b/site/tags/replication logs.html index 4d4542f..556500f 100644 --- a/site/tags/replication logs.html +++ b/site/tags/replication logs.html @@ -179,7 +179,7 @@

Tag: replication logs

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/scalability.html b/site/tags/scalability.html index 9a0ffb7..a4801a7 100644 --- a/site/tags/scalability.html +++ b/site/tags/scalability.html @@ -179,7 +179,7 @@

Tag: scalability

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/scheduling.html b/site/tags/scheduling.html index fb1feca..a235979 100644 --- a/site/tags/scheduling.html +++ b/site/tags/scheduling.html @@ -179,7 +179,7 @@

Tag: scheduling

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/schema evolution.html b/site/tags/schema evolution.html index d384979..5c33ef3 100644 --- a/site/tags/schema evolution.html +++ b/site/tags/schema evolution.html @@ -179,7 +179,7 @@

Tag: schema evolution

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/set cover.html b/site/tags/set cover.html index 96a8c38..aac65df 100644 --- a/site/tags/set cover.html +++ b/site/tags/set cover.html @@ -179,7 +179,7 @@

Tag: set cover

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/shortest-paths.html b/site/tags/shortest-paths.html index 9c8e590..8e3e962 100644 --- a/site/tags/shortest-paths.html +++ b/site/tags/shortest-paths.html @@ -179,7 +179,7 @@

Tag: shortest-paths

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/spanning trees.html b/site/tags/spanning trees.html index 3fe73a1..50b95e4 100644 --- a/site/tags/spanning trees.html +++ b/site/tags/spanning trees.html @@ -179,7 +179,7 @@

Tag: spanning trees

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/stable matching.html b/site/tags/stable matching.html index 7561989..3859984 100644 --- a/site/tags/stable matching.html +++ b/site/tags/stable matching.html @@ -179,7 +179,7 @@

Tag: stable matching

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/synchronous vs asynchronous.html b/site/tags/synchronous vs asynchronous.html index edc600a..f21733f 100644 --- a/site/tags/synchronous vs asynchronous.html +++ b/site/tags/synchronous vs asynchronous.html @@ -179,7 +179,7 @@

Tag: synchronous vs asynchronous

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/time complexity.html b/site/tags/time complexity.html index 26d6167..3e971de 100644 --- a/site/tags/time complexity.html +++ b/site/tags/time complexity.html @@ -179,7 +179,7 @@

Tag: time complexity

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/trees.html b/site/tags/trees.html index 0e48d05..c22ece3 100644 --- a/site/tags/trees.html +++ b/site/tags/trees.html @@ -179,7 +179,7 @@

Tag: trees

- Last modified: 2025-01-03 + Last modified: 2025-01-05
diff --git a/site/tags/vertex cover.html b/site/tags/vertex cover.html index 4bb31c0..61d665e 100644 --- a/site/tags/vertex cover.html +++ b/site/tags/vertex cover.html @@ -179,7 +179,7 @@

Tag: vertex cover

- Last modified: 2025-01-03 + Last modified: 2025-01-05