<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Research on Dingli Su | PhD Student in AI</title><link>https://suuttt.github.io/projects/</link><description>Recent content in Research on Dingli Su | PhD Student in AI</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2026</copyright><lastBuildDate>Sun, 31 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://suuttt.github.io/projects/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Chinese Standard Mahjong AI: From Official Sample to Supervised Policy</title><link>https://suuttt.github.io/projects/2026-05-31-ijcai-mahjong-ai-from-sample-to-supervised/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-31-ijcai-mahjong-ai-from-sample-to-supervised/</guid><description>&lt;h2 class="relative group">TL;DR
 &lt;div id="tldr" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tldr" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>We are building an agent for the &lt;strong>6th International Mahjong AI Competition (IJCAI 2026)&lt;/strong>, played on the Botzone platform under &lt;strong>Chinese Standard Mahjong (国标麻将)&lt;/strong> rules. This first post documents the engineering: a legality-first bot architecture, a supervised-learning pipeline trained on the official &lt;strong>98,209-game&lt;/strong> strong-AI dataset, an evaluation harness built around the real competition judge, and a debugging story in which five distinct state-tracking bugs were driving a catastrophic illegal-move rate from &lt;strong>10% down to 0%&lt;/strong>. We also explain why our encouraging local numbers should be read with heavy skepticism — and how the contest&amp;rsquo;s own scoring rules tell us so.&lt;/p></description></item><item><title>research-os: A File-Backed Control Plane for GPU Research Automation</title><link>https://suuttt.github.io/projects/2026-05-31-research-os-gpu-research-automation/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-31-research-os-gpu-research-automation/</guid><description>&lt;blockquote>&lt;p>&lt;strong>TL;DR&lt;/strong>: research-os is a file-backed control plane that manages the full lifecycle of an ML research project — idea → experiment queue → Vast.ai GPU worker dispatch → metric collection → paper artifacts. Everything is stored as human-readable JSON/YAML/Markdown. No database. No daemon. Fully inspectable and git-committable.&lt;/p>&lt;/blockquote>&lt;hr>

&lt;h2 class="relative group">1. The Problem: Research Overhead Kills Research Velocity
 &lt;div id="1-the-problem-research-overhead-kills-research-velocity" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-the-problem-research-overhead-kills-research-velocity" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>When you run dozens of GPU experiments across multiple projects, the management overhead compounds fast:&lt;/p></description></item><item><title>Decentralized Multi-Agent Graph Partitioning Fleet: Bypassing the Monolithic VRAM Bottleneck</title><link>https://suuttt.github.io/projects/2026-05-29-decentralized-multi-agent-graph-partitioning-fleet/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-29-decentralized-multi-agent-graph-partitioning-fleet/</guid><description>&lt;blockquote>&lt;p>&lt;strong>In one paragraph:&lt;/strong> Neural graph partitioning on massive real-world networks faces a systemic bottleneck: monolithic GNN encoders require storing the entire continuous node activation gradients during backpropagation, leading to inevitable CUDA Out-of-Memory (OOM) failures on graphs exceeding \(N \ge 100k\) nodes. In this post, we introduce a &lt;strong>Decentralized Multi-Agent Cooperative Fleet (Dec-POMDP)&lt;/strong>. By deploying localized seed-based receptive fields with capacity constraints (\(|V_i| \le 35\)), our model retains a strict \(O(1)\) local GPU activation footprint (running in less than 50 MB VRAM at any scale). To coordinate boundary contractions, agents project continuous embeddings into 16-bit discrete consensus keys via Gumbel-Softmax quantization, compressing communication bandwidth by \(512\times\) and achieving sub-millisecond CPU steps. Combined with prior-guided MCTS tie-breaking and global cluster-sum termination, our decentralized fleet beats Mutex Watershed and cooperative MARL baselines (MAPPO, QMIX, IQL) zero-shot on scale 100 graphs.&lt;/p></description></item><item><title>Universal Spatial GNN-RL Planning for Active Edge Contraction Graph Partitioning</title><link>https://suuttt.github.io/projects/2026-05-29-universal-spatial-gnn-rl-planning/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-29-universal-spatial-gnn-rl-planning/</guid><description>&lt;blockquote>&lt;p>&lt;strong>In one paragraph:&lt;/strong> Universal graph partitioning represents a classic combinatorial challenge across computer vision, biology, and community detection. Purely neural single-shot partitioners suffer from out-of-distribution (OOD) topological scale drift, while exact mathematical programming is scale-intractable. In this post, we introduce a co-adapted spatial Graph Neural Network (GNN) and look-ahead planning (MCTS/MPC) framework. By distilling planning value spaces directly into spatial priors and executing contractions on a parallelized Graph World Model, our active solvers achieve near-optimal signed multicut costs side-by-side with exact Integer Linear Programming (ILP) solvers at scale \(N \le 40\), bypass exponential combinatorial bounds to resolve large scales zero-shot, transfer universally across modularity and conductance objectives, and remain highly deployable on CPU with sub-millisecond inference latencies.&lt;/p></description></item><item><title>TD-MPC-Glass Iterations 8-9: Early Glass, Then Let TD-MPC2 Take Over</title><link>https://suuttt.github.io/projects/2026-05-27-tdmpc-glass-iterations-8-9/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-27-tdmpc-glass-iterations-8-9/</guid><description>&lt;blockquote>&lt;p>This is the third post in the TD-MPC-Glass series. The first post introduced
the JAX TD-MPC2 implementation and the Phase 1b Glass integration. The second
post covered Iterations 2-7 and ended with the K_UPDATE hypothesis. This post
covers Iterations 8-9: what we learned from MPPI-vs-policy diagnostics, why
several stability losses missed, why the best current recipe is &lt;strong>early Glass
followed by a handoff back to TD-MPC2&lt;/strong>, and where the current 5-seed
confidence-interval comparison stands.&lt;/p></description></item><item><title>rl-graph-bench: Reproducing Six RL Graph-Clustering Papers in One Unified Benchmark</title><link>https://suuttt.github.io/projects/2026-05-25-rl-graph-bench-benchmark-intro/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-25-rl-graph-bench-benchmark-intro/</guid><description>&lt;blockquote>&lt;p>&lt;strong>TL;DR.&lt;/strong> Graph clustering is fragmented across three incompatible objective families — cut-based partitioning, semi-supervised community detection, and multicut / correlation clustering. rl-graph-bench gives each family its own environment and leaderboard, then reproduces six recent RL papers against those targets. Every P0 and all active P1/P2 tracks now pass. This post walks through the background, the engineering decisions, the final numbers, a five-minute quickstart, and what remains open.&lt;/p>&lt;/blockquote>&lt;hr>

&lt;h2 class="relative group">1. Preliminary: The Literature and Why It Is Fragmented
 &lt;div id="1-preliminary-the-literature-and-why-it-is-fragmented" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-preliminary-the-literature-and-why-it-is-fragmented" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>

&lt;h3 class="relative group">1.1 Three Incompatible Task Families
 &lt;div id="11-three-incompatible-task-families" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#11-three-incompatible-task-families" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h3>
&lt;p>Graph clustering shows up in image segmentation, connectomics, social network analysis, and combinatorial optimisation — but each community uses a different objective, different datasets, and a different notion of &amp;ldquo;better.&amp;rdquo;&lt;/p></description></item><item><title>rl-graph-bench v0.3.0: All 6 RL Graph Clustering Papers Reproduced</title><link>https://suuttt.github.io/projects/2026-05-24-rl-graph-bench-v030/</link><pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-24-rl-graph-bench-v030/</guid><description>&lt;blockquote>&lt;p>&lt;strong>In one paragraph:&lt;/strong> rl-graph-bench is a unified benchmark for RL graph-clustering algorithms. Starting from zero implementations, we built six algorithms end-to-end — NeuroCUT (KDD 2024), WRT/RidgeCut (2025), CLARE (KDD 2022), SLRL (AAAI 2025), AC2CD (KBS 2023), and SS2V-D3QN (TNNLS 2025) — across three task families (graph partitioning, community detection, multicut). As of v0.3.0, all six P0 paper-reproduction targets pass. This post recaps the architecture, the numbers, and the three most surprising engineering lessons.&lt;/p></description></item><item><title>TD-MPC-Glass Iterations 2–7: Basin Lottery, Glass Internals, and the K_UPDATE Hypothesis</title><link>https://suuttt.github.io/projects/2026-05-20-tdmpc-glass-iterations-2-7/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-20-tdmpc-glass-iterations-2-7/</guid><description>&lt;blockquote>&lt;p>This post is the sequel to &lt;a href="https://suuttt.github.io/projects/2026-05-13-tdmpc-glass-phase1b/" target="_blank" rel="noreferrer">Phase 1b&lt;/a>.
It covers seven days of iteration — ~25 experimental phases, 8 GPUs, two
goals that still aren&amp;rsquo;t both solved — and ends with the current best hypothesis:
&lt;strong>we&amp;rsquo;ve been training at 4× too low a gradient-update rate the entire time.&lt;/strong>
Live dashboard: &lt;a href="https://bus-brussels-fate-performed.trycloudflare.com/" target="_blank" rel="noreferrer">bus-brussels-fate-performed.trycloudflare.com&lt;/a>&lt;/p>&lt;/blockquote>&lt;hr>

&lt;h2 class="relative group">1. Two goals
 &lt;div id="1-two-goals" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-two-goals" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>We track every run against two success criteria:&lt;/p></description></item><item><title>Beating HCSE: Next-Generation Structural Entropy Minimization</title><link>https://suuttt.github.io/projects/2026-05-15-beating-hcse/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-15-beating-hcse/</guid><description>&lt;h2 class="relative group">Introduction
 &lt;div id="introduction" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>Hierarchical clustering is a fundamental technique for understanding the multi-granularity structure of complex networks. A recent and highly impactful paper, &lt;em>&amp;ldquo;An Information-theoretic Perspective of Hierarchical Clustering on Graphs&amp;rdquo;&lt;/em> (Pan et al., UAI 2025), introduces a novel perspective using Structural Entropy (SE) instead of traditional combinatorial cost functions like Dasgupta&amp;rsquo;s.&lt;/p>
&lt;p>In this expanded post, we&amp;rsquo;ll dive deep into their core concepts, mathematical formulas, and the &amp;ldquo;stretch-and-compress&amp;rdquo; mechanism. We will also provide a critical review of their approach and introduce our new theoretical findings and proposed improvements to push the state-of-the-art even further.&lt;/p></description></item><item><title>RL for Structural Entropy Graph Clustering: MergeEnv, Behavior Cloning, and Why Greedy Is Hard to Beat</title><link>https://suuttt.github.io/projects/2026-05-14-rl-for-structural-entropy-graph-clustering/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-14-rl-for-structural-entropy-graph-clustering/</guid><description>&lt;blockquote>&lt;p>&lt;strong>In one paragraph:&lt;/strong> Structural entropy \(H^2\) is a principled graph partition objective, but minimizing it over discrete merge sequences is hard — greedy works well, yet occasionally misses globally better solutions requiring non-greedy moves. We formulate this as a finite-horizon MDP (&amp;ldquo;MergeEnv&amp;rdquo;), train a 3-layer GAT policy via behavior cloning from a Monte Carlo lookahead expert, and fine-tune with PPO. On a 17-graph benchmark, the best policy wins 4/17 head-to-heads vs greedy. On 38 held-out instances, win rate is only 21% vs Leiden&amp;rsquo;s 45%. The key lesson: the hardest part is not training — it&amp;rsquo;s finding training data that actually generalizes.&lt;/p></description></item><item><title>When Does Structural Entropy Track External Labels?</title><link>https://suuttt.github.io/projects/2026-05-14-when-does-structural-entropy-track-labels/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-14-when-does-structural-entropy-track-labels/</guid><description>&lt;blockquote>&lt;p>&lt;strong>In one paragraph:&lt;/strong> Structural entropy (\(H_2\)) is widely used to score graph partitions, and practitioners often assume that a lower \(H_2\) means better alignment with ground-truth community labels. This paper asks: &lt;em>when is that assumption actually justified?&lt;/em> We prove that \(H_2\) tracks labels if and only if the label partition has a positive &lt;em>\(H_2\)-margin&lt;/em> — any partition far from the labels has higher \(H_2\). Without this margin, no such implication can hold (impossibility result). We verify the margin holds for balanced SBMs and Hi-C contact maps, identify four failure modes, and confirm the theory with a 19-benchmark empirical study.&lt;/p></description></item><item><title>TD-MPC-Glass: From Scratch to Phase 2 on HopperHop</title><link>https://suuttt.github.io/projects/2026-05-13-tdmpc-glass-phase1b/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-13-tdmpc-glass-phase1b/</guid><description>&lt;blockquote>&lt;p>A practical write-up of (a) what TD-MPC2 is, (b) our JAX/Flax reimplementation
that runs &lt;strong>~50× faster&lt;/strong> than the official PyTorch one, (c) what Glass-JAX
adds and &lt;strong>exactly which network&amp;rsquo;s parameters it touches&lt;/strong>, (d) the iteration
history that took the Glass-augmented agent from &amp;ldquo;inert clustering&amp;rdquo; to &lt;strong>above
the official 4M-step mean&lt;/strong> on HopperHop, (e) the cluster-basin failure mode
we found, (f) the &lt;em>why-does-it-work&lt;/em> motivation worked out from first
principles, and (g) a reusable recipe for scaling RL experiments on vast.ai.&lt;/p></description></item><item><title>TD-MPC2 + Structural Entropy: Experimental Report</title><link>https://suuttt.github.io/projects/2026-05-06-tdmpc2-structural-entropy-report/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-06-tdmpc2-structural-entropy-report/</guid><description>&lt;h2 class="relative group">Executive Summary
 &lt;div id="executive-summary" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#executive-summary" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>This report uses only local artifacts under &lt;code>logs/&lt;/code> and &lt;code>tdmpc2/logs/&lt;/code>.&lt;/p>
&lt;ul>
&lt;li>TD-MPC2 was extended with a structural-entropy (SE) regularizer in the main training path and with a separate experimental 2D-SE branch.&lt;/li>
&lt;li>The strongest pure local SE signal is &lt;code>logs/acrobot-swingup/1/vastai_iter8_acrobot_se_m1_steps400000/eval.csv&lt;/code>, which reaches &lt;code>564.7&lt;/code> at &lt;code>300k&lt;/code> steps. Relative to the local official TD-MPC2 mean at &lt;code>300k&lt;/code> (&lt;code>346.9&lt;/code>), that is &lt;code>+217.8&lt;/code>. However, this local run is incomplete because the local &lt;code>eval.csv&lt;/code> stops at &lt;code>300k&lt;/code>, not &lt;code>400k&lt;/code>.&lt;/li>
&lt;li>High-coefficient and hierarchical SE ablations on local acrobot logs are weak: &lt;code>acrobot_se0.1_eval10k&lt;/code> ends at &lt;code>30.5&lt;/code> and &lt;code>acrobot_2dse_m2_eval10k&lt;/code> ends at &lt;code>104.6&lt;/code> at &lt;code>100k&lt;/code>, both below the local official mean &lt;code>179.1&lt;/code> at &lt;code>100k&lt;/code>.&lt;/li>
&lt;li>On &lt;code>hopper-hop&lt;/code>, the longer SE runs do not beat the local official TD-MPC2 mean at &lt;code>4M&lt;/code> steps: &lt;code>hopper_1dse_4m_final=335.4&lt;/code> and &lt;code>hopper_2dse_4m_final=340.1&lt;/code> vs official mean &lt;code>449.2&lt;/code>.&lt;/li>
&lt;li>The mixed &lt;code>SE+IB&lt;/code> sweeps on acrobot are promising, but they do not isolate SE because &lt;code>ib_coef&lt;/code> is also nonzero.&lt;/li>
&lt;/ul>
&lt;p>Bottom line: the SE integration is real and functional in code, and one local pure-SE acrobot run looks promising, but the broader local evidence does not yet justify a strong claim that SE robustly improves TD-MPC2 across tasks.&lt;/p></description></item><item><title>AutoSOTA Agent: Automated Blog &amp; Paper Publishing with GitHub + Overleaf</title><link>https://suuttt.github.io/projects/2026-05-03-autosota-agent-automated-blog-paper-publishing-wit/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-03-autosota-agent-automated-blog-paper-publishing-wit/</guid><description>&lt;h2 class="relative group">katex: true
tags: [&amp;ldquo;autosota&amp;rdquo;, &amp;ldquo;workflow&amp;rdquo;, &amp;ldquo;automation&amp;rdquo;, &amp;ldquo;github&amp;rdquo;, &amp;ldquo;overleaf&amp;rdquo;, &amp;ldquo;agent&amp;rdquo;]
 &lt;div id="tags-autosota-workflow-automation-github-overleaf-agent" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tags-autosota-workflow-automation-github-overleaf-agent" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>


&lt;blockquote>&lt;p>AutoSOTA agents can now automatically publish papers to Overleaf and blog posts to your GitHub blog, with full support for KaTeX mathematical formulas and secure credential management via GCP Secret Manager.&lt;/p>&lt;/blockquote>&lt;hr>

&lt;h2 class="relative group">TL;DR
 &lt;div id="tldr" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tldr" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>&lt;strong>AutoSOTA&amp;rsquo;s new auto-push capability&lt;/strong> lets agents automatically:&lt;/p></description></item><item><title>SIDM in Practice: A Distill-Style Guide from Paper to Code</title><link>https://suuttt.github.io/projects/sidm-in-practice-distill-style-guide/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/sidm-in-practice-distill-style-guide/</guid><description>&lt;blockquote>&lt;p>A reader-friendly, implementation-grounded introduction to the SIDM framework from the original paper to the public code.&lt;/p>&lt;/blockquote>&lt;hr>

&lt;h2 class="relative group">TL;DR
 &lt;div id="tldr" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tldr" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>&lt;strong>SIDM (Structural Information-based Decision Making)&lt;/strong> is proposed in the paper &lt;strong>“Hierarchical Decision Making Based on Structural Information Principles”&lt;/strong> (&lt;a href="https://arxiv.org/html/2404.09760v2" target="_blank" rel="noreferrer">paper link&lt;/a>).&lt;/p>
&lt;p>The paper presents a unified abstraction idea; the code implements this in separate tracks:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>SISA&lt;/strong> (state abstraction) built on &lt;strong>RAD/CURL + SAC&lt;/strong> (&lt;a href="https://github.com/MishaLaskin/rad" target="_blank" rel="noreferrer">RAD&lt;/a>, &lt;a href="https://github.com/MishaLaskin/curl" target="_blank" rel="noreferrer">CURL&lt;/a>).&lt;/li>
&lt;li>&lt;strong>SISL&lt;/strong> (skill learning) built on a &lt;strong>ReSkill-style hierarchical pipeline&lt;/strong> (&lt;a href="https://github.com/krishanrana/reskill" target="_blank" rel="noreferrer">ReSkill reference&lt;/a>).&lt;/li>
&lt;li>&lt;strong>SIRD&lt;/strong> (role side, not the deep focus of this blog).&lt;/li>
&lt;/ul>
&lt;p>Core takeaway:&lt;/p></description></item><item><title/><link>https://suuttt.github.io/projects/2026-05-15-beating-hcse-changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://suuttt.github.io/projects/2026-05-15-beating-hcse-changelog/</guid><description>&lt;h1 class="relative group">Changelog: Beating HCSE Project
 &lt;div id="changelog-beating-hcse-project" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#changelog-beating-hcse-project" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h1>

&lt;h2 class="relative group">[2026-05-15]
 &lt;div id="2026-05-15" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2026-05-15" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>

&lt;h3 class="relative group">Added
 &lt;div id="added" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#added" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h3>
&lt;ul>
&lt;li>&lt;code>/workspace/my_post.md&lt;/code>: Initial Hugo-formatted blog post draft.&lt;/li>
&lt;li>&lt;code>/workspace/my_post_detailed.md&lt;/code>: Enhanced blog post with formulas, figures, and critical review.&lt;/li>
&lt;li>&lt;code>/workspace/se-research-projects/beat-hcse/generate_paper_tables.py&lt;/code>: Comprehensive benchmarking script for HSBM/SBM replication.&lt;/li>
&lt;li>&lt;code>/workspace/se-research-projects/beat-hcse/generate_fast_tables.py&lt;/code>: Optimized benchmarking script for quick replication.&lt;/li>
&lt;li>&lt;code>/workspace/final_paper_tables.md&lt;/code>: Summary table of replicated results.&lt;/li>
&lt;li>&lt;code>/workspace/inflection_ours.png&lt;/code>: Comparison chart of entropy drop between HCSE and our method.&lt;/li>
&lt;/ul>

&lt;h3 class="relative group">Modified
 &lt;div id="modified" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#modified" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h3>
&lt;ul>
&lt;li>&lt;code>/workspace/se-research-projects/beat-hcse/run_evaluation.py&lt;/code>:
&lt;ul>
&lt;li>Integrated &lt;code>multistart_incremental_se_heuristic&lt;/code> and &lt;code>local_move_incremental&lt;/code>.&lt;/li>
&lt;li>Implemented &lt;strong>Two-Phase Hybrid Optimization&lt;/strong> (Modularity initialization + SE refinement).&lt;/li>
&lt;li>Fixed HD-SE calculation bug for flat partitions to ensure fair comparison.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;code>/workspace/paper.tex&lt;/code>: Copied from LaTeX source zip for analysis.&lt;/li>
&lt;/ul>

&lt;h3 class="relative group">Published to GitHub (&lt;code>suuttt.github.io&lt;/code>)
 &lt;div id="published-to-github-suutttgithubio" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#published-to-github-suutttgithubio" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h3>
&lt;ul>
&lt;li>&lt;code>content/projects/2026-05-15-beating-hcse.md&lt;/code>: Finalized blog post.&lt;/li>
&lt;li>&lt;code>static/images/beat-hcse/stretch_compress.jpg&lt;/code>: Extracted from paper source.&lt;/li>
&lt;li>&lt;code>static/images/beat-hcse/inflection_points_4.png&lt;/code>: Extracted from paper source.&lt;/li>
&lt;li>&lt;code>static/images/beat-hcse/inflection_ours.png&lt;/code>: Custom generated comparison chart.&lt;/li>
&lt;/ul></description></item></channel></rss>