K-Core Decomposition Calculator

Reveal resilient structure inside complex interaction graphs. Compute core numbers, shells, and maximal k-cores instantly. Compare scenarios, export outputs, and document your findings clearly.

Inputs

Most k-core definitions assume undirected graphs.
Use one edge per line: u v
Shows the subgraph induced by nodes with core ≥ k.
Recommended for messy datasets.
Nodes may be names or numbers. Lines starting with # are ignored.

Formula used

The k-core of a graph is the largest subgraph in which every node has degree at least k within that subgraph. K-core decomposition assigns each node a core number (coreness), defined as:

This calculator uses an iterative peeling procedure: repeatedly remove the current minimum-degree node, update neighbor degrees, and record the degree at removal as the node’s core number.

How to use this calculator

  1. Paste your edge list, one connection per line.
  2. Choose the delimiter option that matches your data.
  3. Set the selected k to extract a specific k-core subgraph.
  4. Click Calculate to compute core numbers and shell counts.
  5. Use Download CSV or Download PDF for reports.

Example data table

Sample edges

UV
AB
AC
AD
BC
BD
CD
DE
EF
EG
FG
GH
This example mixes a dense core with a weaker chain.

Expected insight

ObservationMeaning
High coreness for A–DThey form a robust nucleus.
Lower coreness for E–HPeripheral, easier to peel.
Degeneracy equals maximum coreSummarizes global cohesion.
Raising k shrinks the subgraphHighlights resilient interactions.
Run the example and compare tables above.

Notes for physics applications

In network physics and complex systems, k-core structure helps describe robustness, activation thresholds, and contagion-like processes. Dense cores often signal stable backbones in interaction networks.

Article

1) Purpose of k-core decomposition

K-core decomposition summarizes how strongly a network can “hold together” under pruning. It repeatedly removes weakly connected nodes and reveals a resilient backbone. The main output is a core number for each node, plus the network’s degeneracy, which is the maximum core number observed.

2) What this calculator produces

Submit an edge list and the tool returns three practical views: a coreness table for all nodes, a shell distribution showing how many nodes fall into each k-shell, and the induced subgraph for a chosen k (nodes with core ≥ k) with its remaining edge list.

3) Data inputs and cleaning options

Each line describes one connection, such as u v or u,v. Auto delimiter handles spaces, tabs, and commas. Dropping self-loops prevents artificial degree inflation. De-duplicating edges helps when logs repeat interactions, keeping degree-based coreness closer to the underlying structure.

4) Algorithm used and computational cost

The calculation uses iterative peeling: remove the current minimum-degree node, update neighbor degrees, and record the degree at removal as the node’s core number. A priority queue accelerates selection, yielding typical behavior near O((n+m) log n) for n nodes and m edges in sparse graphs.

5) Interpreting core numbers as measurements

If a node has core number 4, it belongs to the 4-core but not the 5-core. Higher values indicate stronger mutual support under pruning, not just high raw degree. The shell distribution adds context: a large low-k mass suggests a periphery, while substantial high-k shells signal a robust nucleus.

6) Choosing k for comparison studies

Start with small k (1–2) to remove isolated noise while keeping most nodes. Increase k to focus on stable cores. Compare the remaining node and edge counts at the same k across conditions (before/after, control/treatment, different timesteps) to quantify changes in cohesion.

7) Physics and complex-systems relevance

In network physics, k-cores help describe robustness and threshold-like activation. Dense cores can approximate backbones in mutual reinforcement dynamics and resilience under failures. For contact or interaction networks, high-k nodes often correspond to persistent, strongly supported structures that survive pruning of weak links.

8) Reporting with exports

For reproducible reporting, record total nodes, total edges, degeneracy, and your chosen k, plus the extracted k-core size (nodes/edges). Export CSV to archive coreness labels and shell counts for analysis pipelines. Export a PDF snapshot for sharing, teaching, or quick documentation.

FAQs

1) Is k-core the same as community detection?

No. K-core measures degree-based resilience, not modular partitioning. A single k-core can still contain multiple communities, and a community can span several core levels.

2) What does degeneracy tell me?

Degeneracy is the maximum core number in the network. Higher degeneracy indicates a more strongly interconnected nucleus and often correlates with robustness to node removal.

3) Can I use directed graphs?

You can paste directed edges, but coreness is computed on an undirected projection. This matches the most common definition used in k-core analysis and many physics applications.

4) Why do some nodes have core number 0?

A node can receive core 0 when it becomes isolated after cleaning or when it has no valid connections in the parsed edge list. Check delimiters and duplicate removal settings.

5) How should I pick k for visualization?

Start with k near the median core number to keep enough structure, then increase k until the remaining subgraph highlights only the most stable backbone you want to emphasize.

6) Does de-duplicating edges change results?

It can. Duplicate edges artificially inflate degree, raising coreness. If your data source can repeat connections, de-duplication usually provides a more faithful structural estimate.

7) What should I export for a paper or report?

Export CSV for reproducible tables (node coreness and shell counts). Export PDF for a quick, readable summary including degeneracy, chosen k, and the extracted k-core edge list.