Skip to contents

Control settings for `token_ot_graph_align()`

Usage

token_ot_graph_align_control(
  n_levels = 1L,
  coarsen_ratio = 4,
  coarsen_method = c("kmeans", "louvain"),
  min_clusters = 20L,
  prior_mode = c("none", "hard", "soft"),
  prior_cluster_k = 2L,
  prior_max_candidates = 256L,
  graph_knn = 15L,
  graph_sigma = NULL,
  use_laplacian = TRUE,
  views = c("raw", "eigenmap", "hks"),
  view_weights = NULL,
  k_embed = NULL,
  hks_q = 16L,
  lambda_view = 0.5,
  candidate_k = 100L,
  ann_backend = c("auto", "rann", "annoy"),
  ann_trees = 50L,
  prior_k = 0L,
  ensure_cols = TRUE,
  token_mode = c("view_only", "view_plus_neighbors"),
  max_hops = 1L,
  samples_per_hop = 8L,
  max_tokens = 16L,
  token_metric = c("cosine", "sqeuclidean"),
  eps_token = 0.05,
  iters_token = 50L,
  tol_token = 1e-07,
  eps_node = 0.05,
  iters_node = 400L,
  tol_node = 1e-07,
  projection = c("greedy", "hungarian"),
  anchor_weight = 0,
  anchor_penalty = 1,
  seed = 1L,
  verbose = FALSE
)

Arguments

n_levels

Integer number of hierarchy levels. `1` disables multilevel refinement.

coarsen_ratio

Numeric factor > 1 controlling the coarse-to-fine size reduction (roughly `n_next ≈ n_prev / coarsen_ratio`).

coarsen_method

Coarsening strategy for multilevel: `"kmeans"` (fast, feature-based) or `"louvain"` (graph community-based with fallback to k-means if the number of communities is unsuitable).

min_clusters

Minimum nodes per level (stops coarsening once the graph is small).

prior_mode

Prior lifting mode for multilevel: `"none"`, `"hard"` (use discrete coarse assignment), or `"soft"` (use top-k coarse coupling mass).

prior_cluster_k

Integer number of coarse target clusters kept per coarse source cluster when `prior_mode="soft"`.

prior_max_candidates

Maximum prior candidates lifted per fine node (cap to prevent blowups).

graph_knn

Integer k for within-domain kNN graph construction.

graph_sigma

Optional numeric bandwidth for heat-kernel affinities. Use `NULL` to auto-tune per domain via [choose_sigma()].

use_laplacian

Logical; if TRUE use normalized Laplacian bases.

views

Character vector of view names in `c("raw", "eigenmap", "hks")`.

view_weights

Optional numeric vector of nonnegative weights, same length as `views` (will be normalized to sum to 1).

k_embed

Optional integer number of eigenpairs used for eigenmap/HKS. If `NULL`, defaults to `max(3*ncomp, ncomp + 10)` inside the solver.

hks_q

Integer number of HKS time steps.

lambda_view

Mix weight in [0,1] for view-distance vs token-OT cost.

candidate_k

Integer number of ANN candidates per source node.

ann_backend

Nearest-neighbor backend for candidate generation: `"auto"` (default), `"rann"`, or `"annoy"` (requires RcppAnnoy).

ann_trees

Number of trees used by Annoy when `ann_backend="annoy"`.

prior_k

Integer number of candidates taken from prior (reserved).

ensure_cols

Logical; ensure every target column has at least one incoming candidate edge (adds reverse-1NN edges if needed).

token_mode

Either `"view_only"` (self token only) or `"view_plus_neighbors"` (includes sampled neighbor tokens).

max_hops

Integer hop depth for neighborhood tokens.

samples_per_hop

Integer number of neighbors sampled per hop.

max_tokens

Maximum tokens retained per node (cap for runtime).

token_metric

Token distance: `"cosine"` or `"sqeuclidean"`.

eps_token

Entropic regularization for token-level OT (>0).

iters_token

Maximum Sinkhorn iterations for token-level OT.

tol_token

Token-level Sinkhorn convergence tolerance.

eps_node

Entropic regularization for node-level sparse Sinkhorn (>0).

iters_node

Maximum iterations for node-level sparse Sinkhorn.

tol_node

Node-level Sinkhorn convergence tolerance.

projection

Discrete projection mode: `"greedy"` or `"hungarian"`.

anchor_weight

Nonnegative weight applied to an anchor mismatch penalty.

anchor_penalty

Nonnegative penalty added to costs for anchor mismatch edges when both endpoints are anchored.

seed

Integer seed used for any randomized sampling.

verbose

Logical; print progress messages.

Value

A list of class `token_ot_graph_align_control`.