SATLab paper on Cyclic Antibandwidth accepted in Computational Optimization and Applications (Q1 ISI)! View Publications ↗
SATLab Logo SATLab
Tải PDF ↗ Trở về Trang chủ

Sách Chuyên khảo: Biểu diễn SAT tối ưu cho các bài toán tối ưu hóa tổ hợp

Chương 1: Nền tảng Biểu diễn và Bộ giải SAT

Hình 1.3 · Sơ đồ vòng lặp CDCL trong bộ giải SAT
Hình 1.3 · Sơ đồ vòng lặp CDCL trong bộ giải SAT
Bộ giải SAT trả lời một câu hỏi quyết định. Để giải tối ưu tổ hợp, ta cần thêm mô hình miền, phép biểu diễn, cơ chế tìm cận và một model checker (bộ kiểm tra độc lập). Bốn lớp này tạo thành một thuật toán hoàn chỉnh.
Mô hình miền
Biểu diễn CNF
Bộ giải SAT/MaxSAT
↙ Giải mã nghiệm
↘ Kiểm tra và cận

Sự giao thoa của ba hướng nghiên cứu

Phép biểu diễn SAT cho tối ưu tổ hợp là sự kết hợp của ba hướng tiếp cận cốt lõi. Thứ nhất, propositional reasoning (lập luận mệnh đề) đưa bài toán về CNF để dùng lan truyền đơn vị, phân tích xung đột và học mệnh đề. Thứ hai, Constraint Programming (CP, quy hoạch ràng buộc) nhìn mô hình qua biến miền hữu hạn, giá trị hỗ trợ và các mức nhất quán. Thứ ba, mathematical optimization (tối ưu toán học) đặt hàm mục tiêu, mô hình nới lỏng, cận dưới và chứng nhận tối ưu ở vị trí trung tâm.

Các công trình về arc consistency (nhất quán cung) trong SAT chỉ ra rằng chất lượng phép dịch còn phụ thuộc vào các suy luận miền mà bộ lan truyền tạo được (Gent, 2002; Bacchus, 2007). Một phép biểu diễn có thể đúng về tập nghiệm nhưng làm mất suy luận vốn xuất hiện sớm trong bộ lan truyền của ràng buộc toàn cục. SAT bù lại bằng khả năng học mệnh đề xuyên qua nhiều ràng buộc. Vì vậy sách dùng hai cấp phân tích:

  1. ở cấp mô-đun, xét contract (đặc tả ngữ nghĩa) và suy luận do lan truyền đơn vị;
  2. ở cấp mô hình, xét tương tác giữa các mô-đun trong CDCL và vòng tối ưu.

Việc biên dịch CSP miền hữu hạn sang SAT đã phát triển thành một hướng độc lập, với Direct Encoding (biểu diễn trực tiếp), hỗ trợ, thứ tự và lôgarit, cùng nhiều phép phân rã ràng buộc toàn cục (Tamura et al., 2009; Petke, 2015). Trong góc nhìn này, “biểu diễn SAT tối ưu” là việc chọn một ngôn ngữ Boolean phù hợp với cấu trúc miền, kiểu suy luận cần giữ và giao diện hàm mục tiêu của bài toán đang xét.

Bảng: Ba tiêu chí bổ trợ khi đánh giá một phép biểu diễn SAT.
Góc nhìnĐơn vị chínhBằng chứng mạnhRủi ro khi đứng riêng
SAT/CDCLLiteral và mệnh đềXung đột, mệnh đề học được, chứng minhBỏ qua ngữ nghĩa miền
CP/CSPBiến, miền, giá trị hỗ trợNhất quán và lọc miềnKhông dự báo đầy đủ khả năng học mệnh đề
Tối ưuCận và hàm mục tiêuKhoảng cận, cận dưới, giá trị tối ưuMô hình Boolean có thể quá yếu

Từ quyết định đến tối ưu

Bài toán SAT hỏi liệu một công thức Boolean có phép gán thỏa hay không (Cook, 1971; 2009). Trong ứng dụng tối ưu, ta thường bắt đầu bằng một họ bài toán quyết định phụ thuộc cận \(B\):

\[ P(B):\quad \text{tồn tại nghiệm khả thi }s\text{ sao cho }f(s)\le B? \]

Với mục tiêu cực tiểu,

\[ P(B)=\mathrm{SAT}\Longrightarrow P(B')=\mathrm{SAT} \quad\forall B'\ge B. \]

Tính đơn điệu cho phép tìm nghiệm tối ưu trên đoạn \([LB, UB]\):

\[ \mathrm{OPT}=\min\left\{B\mid P(B)=\mathrm{SAT}\right\}. \]

Tìm kiếm tuyến tính từ cận trên thích hợp khi đã có nghiệm tốt và các cận kề nhau chia sẻ nhiều cấu trúc. Tìm kiếm nhị phân giảm số lần gọi bộ giải nhưng nhảy cận xa hơn. Với SAT tăng dần, công thức cơ sở được giữ nguyên; cận được kích hoạt bằng các assumption (literal giả định chỉ có hiệu lực trong một lần gọi bộ giải) hoặc bằng các mệnh đề chỉ bổ sung (Eén & Sörensson, 2003).

Bất biến của vòng tìm cận
Trước khi xây dựng thuật toán, cần xác định chính xác phát biểu \(P(B)\), chiều đơn điệu và quy tắc cập nhật \(LB, UB\). Bộ giải chỉ trả SAT hoặc UNSAT; ý nghĩa của hai trạng thái đối với cận thuộc về thuật toán bao ngoài.
Tìm nghiệm tối ưu trên một dãy cận
Giả sử \(P(B)\) hỏi liệu có lịch với thời điểm hoàn tất toàn lịch không quá \(B\), và ta biết \(LB=4, UB=9\). Tìm kiếm nhị phân thử \(B=6\) và nhận UNSAT, nên mọi cận \(B\le6\) đều bị loại. Thử tiếp \(B=8\) và nhận một lịch khả thi, nên \(UB\leftarrow8\). Cuối cùng \(P(7)=\mathrm{SAT}\), cho \[ P(6)=\mathrm{UNSAT},\qquad P(7)=\mathrm{SAT},\qquad \mathrm{OPT}=7. \]

Mô hình thỏa ở cận \(7\) là bằng chứng cận trên; chứng minh UNSAT của \(P(6)\) là chứng nhận cận dưới. Hai bằng chứng gặp nhau tại giá trị tối ưu \(7\).

Hình: Tính đơn điệu của bài toán quyết định theo cận \(B\).
Hình: Tính đơn điệu của bài toán quyết định theo cận \(B\).

CNF và biến phụ

Mệnh đề, literal và mô hình thỏa

Một literal là biến \(x\) hoặc phủ định \(\neg x\) của biến đó. Một clause (mệnh đề) là phép tuyển các literal; công thức CNF là phép hội của các mệnh đề:

\[ F=\bigwedge_{i=1}^{m}C_i, \qquad C_i=\bigvee_{j=1}^{r_i}\ell_{ij}. \]

Một mệnh đề được thỏa khi có ít nhất một literal đúng. Mệnh đề đơn vị có đúng một literal; mệnh đề nhị phân thường biểu diễn phép kéo theo hoặc xung đột cục bộ.

Tseitin transformation (phép chuyển Tseitin)

Biến phụ cho phép thay một biểu thức con bằng một tên ngắn. Với

\[ z\leftrightarrow(x\land y), \]

CNF tương đương là

\[ (\neg z\lor x) \land (\neg z\lor y) \land (z\lor\neg x\lor\neg y). \]

Phép Tseitin giữ kích thước tuyến tính theo mạch Boolean (Tseitin, 1983). Ba mệnh đề trên tạo một contract (đặc tả ngữ nghĩa): \(z\) đúng khi và chỉ khi cả \(x, y\) đúng. Nếu mô-đun sau chỉ dùng chiều \(z\rightarrow x\land y\), có thể bỏ chiều ngược; nhưng khi đó \(z\) không còn là tên tương đương của biểu thức.

Vai trò của biến phụ
Biến phụ vừa làm gọn công thức vừa làm lộ trạng thái trung gian cho lan truyền đơn vị và học mệnh đề. Thiết kế phép biểu diễn vì thế là thiết kế một không gian trạng thái cho bộ giải.
Đọc đặc tả của biến Tseitin
Với \(z\leftrightarrow(x\land y)\), đặt \(z=1\). Hai mệnh đề \((\neg z\lor x)\) và \((\neg z\lor y)\) trở thành mệnh đề đơn vị, nên UP suy \(x=y=1\). Ngược lại, đặt \(x=y=1\); mệnh đề \((z\lor\neg x\lor\neg y)\) suy \(z=1\).

Nếu bỏ mệnh đề thứ ba, phép gán \(x=y=1, z=0\) vẫn thỏa. Khi đó hai mệnh đề còn lại chỉ biểu diễn \(z\rightarrow x\land y\), không còn tương đương hai chiều. Ví dụ ba biến này là phép kiểm nhanh nên làm trước khi dùng một literal phụ trong mô-đun khác.

Từ DPLL đến CDCL

DPLL tổ chức phép quyết định SAT như một cây tìm kiếm có lan truyền (2009). Ở mỗi nút, thuật toán chạy lan truyền đơn vị; nếu xuất hiện mệnh đề rỗng thì nhánh hiện tại thất bại, nếu mọi mệnh đề đã thỏa thì thu được mô hình thỏa. Nếu chưa kết luận, chọn một biến \(x\), thử \(x=1\), rồi \(x=0\) nếu nhánh đầu thất bại. Hai nhánh bao phủ mọi phép gán của \(x\), nên lập luận quy nạp theo số biến chưa gán cho tính đầy đủ của thuật toán.

⚙️ Khung DPLL cơ sở
DPLL(\(F,\alpha\))
  1. Lặp lan truyền đơn vị trên \(F\) dưới phép gán \(\alpha\).
  2. Nếu có mệnh đề rỗng, trả \(\mathrm{UNSAT}\); nếu mọi mệnh đề đã thỏa, trả \(\mathrm{SAT}\) và \(\alpha\).
  3. Chọn một biến chưa gán \(x\). Gọi \(\textbf{DPLL}(F,\alpha\cup\left\{x=1\right\})\); nếu nhận \(\mathrm{SAT}\), trả mô hình đó.
  4. Trả kết quả của \(\textbf{DPLL}(F,\alpha\cup\left\{x=0\right\})\).

DPLL cơ sở quay lui theo thứ tự quyết định và không lưu một mô tả tổng quát của nhánh đã thất bại. CDCL giữ bộ khung quyết định–lan truyền–xung đột nhưng ghi lý do của mỗi literal trên trail (vết gán theo thứ tự), phân tích đồ thị kéo theo, học một mệnh đề và thực hiện backjump (nhảy lùi đến mức quyết định thích hợp). Restart (khởi động lại) làm mới phần quyết định nhưng giữ các mệnh đề đã học. Bước chuyển này giải thích vì sao phép biểu diễn không chỉ ảnh hưởng đến số lượng nút tìm kiếm mà còn quyết định các cạnh lý do mà phân tích xung đột có thể sử dụng.

Các bộ giải SAT hiện đại chủ yếu dựa trên conflict-driven clause learning (học mệnh đề theo xung đột, CDCL) (Marques-Silva et al., 2009; Eén & Sörensson, 2003). Một vòng CDCL gồm:

  1. chọn một literal quyết định;
  2. chạy lan truyền đơn vị;
  3. khi có xung đột, phân tích đồ thị kéo theo;
  4. học mệnh đề và nhảy lùi;
  5. tiếp tục cho đến mô hình thỏa hoặc chứng minh UNSAT.

Phép biểu diễn ảnh hưởng trực tiếp ba lớp của vòng này. Mệnh đề nhị phân và tam phân tạo đường lan truyền ngắn. Biến phụ quyết định hình dạng đồ thị kéo theo. Cấu trúc mô-đun và tính địa phương ảnh hưởng chất lượng mệnh đề học được; chỉ số Chỉ số LBD là thước đo cốt lõi để quản lý và dọn dẹp mệnh đề xung đột (Audemard & Simon, 2009).

Vì vậy hai phép biểu diễn có cùng số mệnh đề vẫn có thể khác về thời gian chạy. Phép biểu diễn lớn hơn đôi khi chạy nhanh hơn nhờ các trạng thái trung gian giúp bộ giải học mâu thuẫn có tính khái quát.

Hình: Sơ đồ vòng lặp CDCL dưới góc nhìn thiết kế biểu diễn.
Hình: Sơ đồ vòng lặp CDCL dưới góc nhìn thiết kế biểu diễn.

SAT tăng dần

Một bộ giải tăng dần giữ các mệnh đề đã học qua nhiều lời gọi. Có hai cơ chế chính.

Bổ sung mệnh đề đơn điệu. Công thức cơ sở \(F_0\) được mở rộng

\[ F_0\subseteq F_1\subseteq\cdots\subseteq F_t. \]

Đây là dạng tự nhiên cho tối ưu từ trên xuống: sau một mô hình có giá trị \(\beta\), thêm mệnh đề buộc hàm mục tiêu tốt hơn.

Giả định. Một tập literal \(A_t\) chỉ có hiệu lực trong lần gọi \(t\). Các mệnh đề cơ sở vẫn giữ nguyên; giả định cũ được thu hồi khi lời gọi kết thúc. Literal kích hoạt \(a_B\) cho phép viết

\[ a_B\rightarrow \operatorname{Bound}(B) \]

và bật cận bằng giả định \(a_B\).

Mệnh đề học hợp lệ khi được bộ giải suy ra theo đúng quy trình giả định. Công thức cơ sở, literal kích hoạt và thứ tự gọi là một giao diện duy nhất.

MaxSAT

Partial MaxSAT (MaxSAT bộ phận) chia công thức thành mệnh đề cứng \(H\) và mệnh đề mềm \(S\). Mệnh đề cứng phải được thỏa; hàm mục tiêu tối thiểu số hoặc tổng trọng số của các mệnh đề mềm bị vi phạm:

\[ \min_{\alpha\models H} \sum_{C\in S}w_C[\alpha\not\models C]. \]

MaxSAT phù hợp khi mục tiêu có dạng tổng các quyết định Boolean, chẳng hạn số thùng được dùng, số ràng buộc mềm bị vi phạm hoặc tổng mức phạt (Li et al., 2009; Ansótegui et al., 2013).

Một cách giải MaxSAT là chuyển hàm mục tiêu thành chuỗi bài toán SAT với cận chi phí (Davies & Bacchus, 2011). Vì thế khác biệt giữa SAT tăng dần và MaxSAT thường nằm ở giao diện hàm mục tiêu, còn phần biểu diễn tính khả thi có thể được chia sẻ.

Văn liệu MaxSAT hiện đại thường phân biệt ba kiến trúc. Linear/binary search (tìm kiếm tuyến tính/nhị phân) đặt cận lên tổng các literal nới lỏng. Core-guided (dẫn dắt bằng lõi) dùng một lõi bất khả thỏa để nhận diện nhóm mệnh đề mềm không thể đồng thời thỏa, rồi nới chúng có kiểm soát. Hitting-set (tập đánh trúng) phân tách giai đoạn tìm lõi xung đột khỏi giai đoạn chọn các mệnh đề mềm cần vi phạm. Các bộ giải dạng mô-đun như Open-WBO và RC2 đặt phép biểu diễn đếm/PB ở trung tâm thuật toán: mô-đun này được dựng, mở rộng hoặc thay cận nhiều lần trong quá trình giải MaxSAT (Martins et al., 2014; Ignatiev et al., 2019).

Ràng buộc đếm tăng dần giúp tránh xây lại hàm mục tiêu sau mỗi lõi hoặc cận trên (Martins et al., 2014). Vì thế khi chọn cây tổng, bộ đếm hay mạng cho hàm mục tiêu, cần hỏi thêm: cấu trúc có hỗ trợ thêm đầu vào không; đầu ra có đọc được ở nhiều cận không; và các mệnh đề đã học có còn hợp lệ sau lần cập nhật không.

Ví dụ minh họa (Tối thiểu số tài nguyên)
Giả sử \(u_j=1\) khi tài nguyên \(j\) được sử dụng. Các ràng buộc gán bảo đảm mỗi tác vụ chọn đúng một tài nguyên và \[ x_{ij}\rightarrow u_j. \]

Cách SAT theo cận thêm

\[ \sum_ju_j\le B. \]

Cách MaxSAT giữ các mệnh đề cứng và đặt các mệnh đề mềm \(\neg u_j\) có trọng số \(1\). Hai mô hình chia sẻ các mô-đun gán và xung đột.

Giải mã, ghi chứng minh và chứng nhận

Mô hình thỏa của bộ giải chứa cả biến chính và biến phụ. Bộ giải mã chỉ đọc biến chính để tạo nghiệm miền. Bộ kiểm tra sau đó xác minh:

  1. mọi giá trị nằm trong miền;
  2. mọi ràng buộc của bài toán gốc;
  3. hàm mục tiêu được tính lại từ nghiệm;
  4. cận và trạng thái bộ giải nhất quán.
Bộ kiểm tra được cài đặt độc lập với bộ biểu diễn để hai thành phần tạo thành một phép kiểm chéo.

Với giá trị tối ưu \(B^\star\), bằng chứng cận trên là một nghiệm có chi phí \(B^\star\). Chứng cứ cận dưới có thể là chứng minh UNSAT của \(P(B^\star-1)\) hoặc một cận toán học bằng \(B^\star\). Mô hình SAT chứng minh sự tồn tại; chứng minh UNSAT loại mọi nghiệm ở cận tốt hơn.

Trong thực hành, bộ giải có thể xuất chứng minh theo một định dạng mệnh đề như DRAT; bộ kiểm tra độc lập kiểm lại chuỗi phép thêm/xóa mệnh đề (Wetzler et al., 2014). Điều này tạo một chuỗi tin cậy ngắn hơn so với việc đặt niềm tin hoàn toàn vào bộ giải, nhưng chỉ khi công thức được chứng minh đúng là công thức của cận cần xét. Với giả định, ta hiện thực hóa (reification) các giả định cuối thành mệnh đề đơn vị, ghi chính xác mã kiểm tra của CNF và kiểm chứng minh trên artifact (gói tái lập) đó.

Bảng: Vật chứng cần có cho các mức kết luận.
Kết luậnVật chứngBộ kiểm tra độc lập
Khả thi tại \(B\)Mô hình/witness solution (nghiệm làm chứng)Kiểm ràng buộc và chi phí miền
Vô nghiệm tại \(B\)Chứng minh mệnh đềBộ kiểm chứng trên đúng CNF
Tối ưu \(B^\star\)Nghiệm tại \(B^\star\) và chứng nhận cận dướiBộ kiểm nghiệm và bộ kiểm chứng cận

Quy trình triển khai

Tổng kết Bài học
  1. Đọc bài toán đầu vào và chuẩn hóa miền.
  2. Tính cận dưới và cận trên.
  3. Sinh biến, ánh xạ và CNF cơ sở.
  4. Chạy SAT/MaxSAT theo một quy trình tìm cận.
  5. Giải mã mô hình sau mỗi lần SAT.
  6. Kiểm nghiệm và hàm mục tiêu bằng bộ kiểm tra độc lập.
  7. Lưu nghiệm cùng chứng nhận cận dưới ở cận cuối.

PySAT cung cấp môi trường thuận tiện để thử nghiệm nhiều bộ giải và phép biểu diễn (Ignatiev et al., 2018); ánh xạ biến và bộ kiểm tra vẫn thuộc về ứng dụng. Một dây chuyền xử lý tốt có thể thay bộ giải mà giữ nguyên ngữ nghĩa.

Bài học thiết kế

  1. SAT là tầng quyết định; tối ưu cần quy trình tìm cận hoặc MaxSAT.
  2. Biến phụ phải có đặc tả ngữ nghĩa, không chỉ có một số DIMACS.
  3. Giải tăng dần hiệu quả khi công thức cơ sở ổn định và cận thay qua một giao diện rõ.
  4. Bộ giải mã và bộ kiểm tra là một phần của thuật toán chính xác.
  5. Chứng nhận tối ưu cần cả nghiệm và chứng nhận cận dưới.

Câu hỏi nghiên cứu

  1. Viết \(P(B)\) và quy tắc cập nhật cận cho một bài toán cực đại.
  2. Bỏ từng mệnh đề trong phép biểu diễn \(z\leftrightarrow(x\land y)\) và tìm phép gán làm mất một chiều tương đương.
  3. Mô tả hai cách biểu diễn “tối thiểu số nhóm được dùng”: SAT theo cận và Partial MaxSAT (MaxSAT bộ phận).

Chương 2: Đánh giá Chất lượng và Tiêu chuẩn Mã hóa

Chất lượng phép biểu diễn được đánh giá trên nhiều trục. Đúng đắn là điều kiện bắt buộc; các trục còn lại gồm kích thước, sức lan truyền, tính địa phương, chi phí tích hợp và bằng chứng thực nghiệm.
Tính đúng
Kích thước
Lan truyền
↙ Cấu trúc bộ giải
↘ Thực nghiệm

Phép biểu diễn là một quan hệ có giao diện

Cho ràng buộc \(\mathcal C\) trên tập biến chính \(X\), tập biến phụ \(Y\) và

\[ F=\operatorname{Enc}(\mathcal C;X, Y). \]

Tiêu chuẩn cơ bản là tương đương theo phép chiếu:

\[ F\equiv_X\mathcal C \iff \forall\alpha_X:\quad \alpha_X\models\mathcal C \Longleftrightarrow \exists\beta_Y:\ \alpha_X\cup\beta_Y\models F. \]

Hai chiều có tên riêng:

  • soundness (tính đúng): mọi mô hình thỏa của \(F\) chiếu thành nghiệm của \(\mathcal C\);
  • completeness (tính đầy đủ): mọi nghiệm của \(\mathcal C\) mở rộng được thành mô hình thỏa của \(F\).

Tính đúng thường được chứng minh bằng cách lấy một mô hình CNF và giải mã. Tính đầy đủ thường được chứng minh bằng cách xây biến phụ từ một nghiệm miền. Với bộ đếm, cách xây tự nhiên là đặt register (thanh ghi ngưỡng, tức biến phụ lưu một mức đếm) đúng theo tổng tiền tố thật.

Mệnh đề (Mẫu chứng minh bằng phép chiếu)
Giả sử bộ giải mã \(D\) ánh mọi mô hình thỏa của \(F\) thành nghiệm của \(\mathcal C\), và với mọi nghiệm \(s\) của \(\mathcal C\) tồn tại một phép gán biến phụ \(\beta(s)\) làm \(F\) đúng. Khi đó \(F\equiv_X\mathcal C\).
Chứng minh. Bộ giải mã cho tính đúng. Hàm \(\beta\) cho tính đầy đủ. Hai chiều đúng với mọi phép gán trên \(X\), nên tương đương theo phép chiếu.

Hệ phân loại theo cách biểu diễn miền

Trước khi so hai bộ biểu diễn, cần xác định chúng có cùng “từ vựng Boolean” hay không. Với biến miền hữu hạn \(v\in D=\left\{d_1,\ldots, d_m\right\}\), bốn họ thường gặp là:

Direct Encoding (biểu diễn trực tiếp)
\(x_{v, a}\) mang nghĩa \(v=a\). Ràng buộc miền cần đúng-một; xung đột giữa hai giá trị được viết trực tiếp.
Support Encoding (biểu diễn hỗ trợ)
Mỗi lựa chọn \(v=a\) kéo theo một phép tuyển các giá trị hỗ trợ của biến bên kia. Cách này thường phản ánh nhất quán cung tốt nhưng các mệnh đề hỗ trợ có thể dài.
Order Encoding (biểu diễn thứ tự)
\(o_{v, t}\) mang nghĩa \(v\ge t\) hoặc \(v\le t\). Bất đẳng thức, khoảng và quan hệ trước–sau trở thành phép kéo theo giữa các ngưỡng (Tamura et al., 2009).
Log/binary encoding (biểu diễn lôgarit/nhị phân)
Giá trị dùng \(\lceil\log_2m\rceil\) bit. Số biến nhỏ, nhưng một giá trị hoặc khoảng thường không còn là một literal đơn; lan truyền miền có thể đi qua mạch sâu hơn.

Biểu diễn lai giữ hai góc nhìn, chẳng hạn biến giá trị để chọn một giá trị và biến thứ tự để biểu diễn một khoảng. Chi phí liên kết hai biểu diễn chỉ đáng bỏ ra khi góc nhìn thứ hai rút ngắn một họ ràng buộc lớn hoặc tạo suy luận mới. Đây là kiến trúc được dùng lại trong Chương 7, 9–11.

Bảng: Các họ biểu diễn miền hữu hạn.
HọLiteral tự nhiênPhù hợpĐiểm phải kiểm tra
Trực tiếp\(v=a\)Bảng cấm, miền nhỏĐúng-một và nhiều cặp xung đột
Hỗ trợ“\(v=a\) có hỗ trợ”Ràng buộc nhị phân dạng bảngĐộ dài mệnh đề hỗ trợ
Thứ tự\(v\ge t\)Cận, khoảng, hiệuMiền rộng và liên kết với biến giá trị
LôgaritBit của giá trịMiền lớn, mạch số họcGiá trị ngoài miền, sức lan truyền
LaiGiá trị + ngưỡng/quan hệNhiều kiểu ràng buộcChi phí và chiều liên kết
Hình: Hai từ vựng Boolean cho biến \(v\in\left\{1, 2,3, 4\right\}\).
Hình: Hai từ vựng Boolean cho biến \(v\in\left\{1, 2,3, 4\right\}\).
Một bất đẳng thức trong Direct Encoding và thứ tự
Cho \(u, v\in\left\{0,\ldots, 4\right\}\) và \(u+2\le v\). Direct Encoding cấm từng cặp \((a, b)\) với \(a+2>b\): \[ \neg x_{u, a}\lor\neg x_{v, b}. \]

Order Encoding dùng \(o_{z, t}\leftrightarrow(z\ge t)\) và các mệnh đề

\[ \neg o_{u, t}\lor o_{v, t+2}, \qquad t=1, 2. \]

Nếu một ràng buộc khác suy \(u\ge2\), UP đặt \(o_{u, 2}=1\), rồi suy \(o_{v, 4}=1\), tức \(v\ge4\). Một mệnh đề thứ tự đã thay toàn bộ các cặp trực tiếp có \(u\ge2, v\le3\). Đổi lại, giá trị chính xác của \(v\) chỉ xuất hiện qua điểm chuyển của chuỗi.

Contract: đặc tả ngữ nghĩa của biến phụ

Một thanh ghi \(r_{i, j}\) có thể được định nghĩa theo ba mức:

Bảng: Ba mức đặc tả của literal ngưỡng.
Đặc tảCông thứcCách sử dụng
Điều kiện đủ\(r_{i, j}\rightarrow S_i\ge j\)\(r=1\) chứng minh đạt ngưỡng
Điều kiện cần\(S_i\ge j\rightarrow r_{i, j}\)\(r=0\) chứng minh chưa đạt ngưỡng
Tương đương\(r_{i, j}\leftrightarrow(S_i\ge j)\)Cả hai cực tính đều có ngữ nghĩa

Một connector (bộ nối giữa các mô-đun) dùng \(\neg r_{i, j}\) như mệnh đề “tổng dưới \(j\)” phải có chiều cần. Nếu bộ đếm chỉ cung cấp chiều đủ, bộ nối đó không đúng dù khi đứng riêng hai công thức vẫn có thể equisatisfiable (đồng khả thỏa, tức cùng có nghiệm hoặc cùng vô nghiệm).

Quy tắc ghép mô-đun
Trước khi nối hai mô-đun, đối chiếu cực tính mà bên sử dụng cần với chiều đặc tả mà bên cung cấp bảo đảm. Nếu hai phía cần đọc cùng một biến theo hai cách, phải có mệnh đề liên kết tương ứng.
Hình: Đặc tả của literal phụ quyết định cách các mô-đun khác sử dụng literal đó.
Hình: Đặc tả của literal phụ quyết định cách các mô-đun khác sử dụng literal đó.

Đo kích thước

Bốn đại lượng nền tảng là:

\[ n_v=\left|Y\right|,\qquad n_c=\left|F\right|,\qquad n_\ell=\sum_{C\in F}\card C,\qquad w_{\max}=\max_{C\in F}\card C. \]

Ngoài độ lớn tiệm cận, cần xem phân bố mệnh đề nhị phân/tam phân, số lần xuất hiện của biến và bộ nhớ của bộ sinh. Với kỹ thuật hai literal được theo dõi, tổng số literal thường gần chi phí bộ nhớ hơn số mệnh đề.

Một công thức đóng về \(n_v, n_c\) phải chỉ rõ:

  • miền tham số, đặc biệt \(k=0, 1,n\);
  • thanh ghi biên nào được bỏ;
  • khối cuối có thể ngắn;
  • mệnh đề lôgic nào cần Tseitin hóa thêm.

Bộ sinh nên tự xuất thống kê và so với công thức lý thuyết trên các bài toán nhỏ. Đây là một kiểm thử đơn vị cho phép đếm, đồng thời phát hiện mệnh đề bị lặp hoặc thanh ghi vô dụng.

Unit propagation: lan truyền đơn vị

Cho phép gán một phần \(A\). Unit propagation (lan truyền đơn vị, UP) lặp lại quá trình thỏa mãn mệnh đề đơn vị cho đến điểm cố định hoặc xung đột. Có ba mức phát biểu thường gặp:

UP phát hiện vi phạm
Nếu \(A\) không mở rộng được thành nghiệm của \(\mathcal C\), UP trên \(F\land A\) tạo xung đột.
Unit-refutation completeness (URC)
Mọi phép gán làm \(F\) không thỏa được đều bị UP chứng minh bất khả thỏa trên toàn bộ biến; sách gọi tính chất này là đầy đủ bác bỏ bằng lan truyền đơn vị.
Propagation completeness (PC)
Mọi literal bị \(F\land A\) kéo theo trong phạm vi quan sát đều được UP suy ra, hoặc UP chứng minh bất khả thỏa; đây là đầy đủ lan truyền.

Trong một phép biểu diễn miền hữu hạn, generalized arc consistency (nhất quán cung tổng quát, GAC) loại mọi giá trị không còn giá trị hỗ trợ. Phát biểu GAC luôn đi cùng cách Boolean hóa miền và tập literal đại diện cho giá trị.

Kết quả của Gent và Bacchus cung cấp một cầu nối chính xác: nếu literal Boolean đại diện trực tiếp cho khả năng duy trì giá trị trong miền, có thể so sánh bao đóng của lan truyền đơn vị với bao đóng của một bộ lan truyền GAC (Gent, 2002; Bacchus, 2007). Khi thêm liên kết biểu diễn, đổi từ mã hóa trực tiếp sang thứ tự hoặc chỉ giữ một chiều Tseitin, tập literal quan sát thay đổi; phát biểu về GAC vì thế cũng được xác định lại theo tập này.

Ví dụ minh họa (AMO từng cặp)
Với \[ \operatorname{AMO}(x_1,\ldots, x_n)= \bigwedge_{i<j}(\neg x_i\lor\neg x_j), \]

nếu \(x_i=1\), UP lập tức suy \(\neg x_j\) cho mọi \(j\ne i\). Nếu hai biến đúng, UP tạo xung đột. AMO từng cặp vì thế có lan truyền rất trực tiếp trên biến chính, đổi lại \(O(n^2)\) mệnh đề.

Cận dưới kích thước và biên Pareto (Pareto frontier)

Yêu cầu lan truyền đặt ra cận dưới cho kích thước phép biểu diễn. Với AMO, các cận dưới đã biết cho thấy một phép biểu diễn đầy đủ lan truyền cần số mệnh đề tuyến tính với hệ số bị chặn, kể cả khi dùng biến phụ (Kučera et al., 2019). Kết quả này dẫn đến ba nguyên tắc:

  1. xác định rõ lớp biểu diễn khi phát biểu về kích thước, biến phụ và sức lan truyền;
  2. một cải tiến vài mệnh đề có thể đáng kể nếu mức giảm đó tiến gần cận dưới lý thuyết;
  3. so sánh kích thước phải giữ cùng tiêu chuẩn lan truyền và cùng ngữ nghĩa của đầu ra.

Các kết quả về phép phân rã AllDifferent và ràng buộc đếm toàn cục còn liên hệ yêu cầu lan truyền với cận biểu diễn của mạch đơn điệu (Bessiere et al., 2009). Khi một ràng buộc toàn cục có bộ lan truyền đạt mức nhất quán mạnh hơn phép biểu diễn đa thức đang xét, phép so sánh tập trung vào phần suy luận được chuyển sang học mệnh đề và chi phí để đạt phần suy luận đó.

Biên Pareto (Pareto frontier) của phép biểu diễn
Một bộ biểu diễn được định vị trên bốn trục: kích thước, sức lan truyền, chi phí xây dựng và khả năng tăng dần. Điểm Pareto là điểm mà cải thiện thêm một trục sẽ đánh đổi ít nhất một trục khác. Benchmark (bộ kiểm chuẩn) đo vị trí thực nghiệm của từng thiết kế trên biên Pareto (Pareto frontier) này.

Mức độ phù hợp với bộ giải

Hai phép biểu diễn có cùng tính đúng và kích thước vẫn có thể khác về:

  • tính địa phương: một ràng buộc cục bộ dùng các biến gần nhau hay đi qua một cấu trúc toàn cục;
  • độ sâu kéo theo: số bước từ quyết định đến xung đột;
  • khả năng học: xung đột có tạo mệnh đề tái sử dụng được không;
  • đối xứng: trạng thái phụ có tạo nhiều mô hình tương đương;
  • khả năng tăng dần: đầu ra có đọc được ở nhiều cận không.

Không có một công thức giải tích đơn giản cho các thuộc tính này. Ta dùng đại lượng thay thế như số mệnh đề nhị phân, đồ thị kéo theo trên bài toán nhỏ, hoặc số lần lan truyền/xung đột; kết luận cuối cùng cần bộ kiểm chuẩn có kiểm soát.

Tính mô-đun và biểu diễn lại có cấu trúc

Một mô-đun biểu diễn tốt có bốn thành phần:

\[ \texttt{variables} +\texttt{clauses} +\texttt{decoder} +\texttt{contract}. \]

Khi nhiều ràng buộc chia sẻ biểu thức con, biểu diễn lại có cấu trúc tạo biến phụ cho phần chung thay vì Tseitin hóa từng công thức riêng (Haberlandt et al., 2023). Lợi ích xuất hiện khi mô-đun thực sự được dùng chung trong CNF và bên sử dụng đọc đúng đặc tả.

Ví dụ, nhiều cửa sổ cùng đọc ngưỡng của một tiền tố. Một bộ đếm tiền tố dùng chung giảm lặp; bộ nối chỉ ghép các ngưỡng ở hai biên. Đây là chủ đề trung tâm của Chương 5.

Ma trận phát biểu–bằng chứng

Bảng: Ma trận phát biểu–bằng chứng cho một phép biểu diễn SAT.
Phát biểuBằng chứng lý thuyếtBằng chứng thực nghiệm
Biểu diễn đúngChứng minh hai chiềuKiểm thử vét cạn/vi sai trên miền nhỏ
Biểu diễn nhỏ hơnCông thức đếmKích thước CNF thực tế
Lan truyền mạnh hơnBổ đề UP/PC/GACBộ đếm lan truyền/xung đột
Nhanh hơnPhân tích cơ chếBộ kiểm chuẩn, nhiều random seed (hạt giống ngẫu nhiên), performance profile (hồ sơ hiệu năng)
Chứng nhận tối ưuĐịnh lý về cậnNghiệm và chứng minh ở hai cận kề

Ma trận đưa mỗi ý tưởng vào đúng loại đóng góp: định lý, thiết kế cấu trúc hay quan sát thực nghiệm.

Một quy trình đánh giá phép biểu diễn

Tổng kết Bài học
  1. Viết rõ ngữ nghĩa của biến chính và biến phụ.
  2. Chứng minh tính đúng và tính đầy đủ theo phép chiếu.
  3. Đếm biến, mệnh đề, literal và độ rộng mệnh đề theo đúng biến thể.
  4. Phân tích một số suy luận cốt lõi của lan truyền đơn vị (UP).
  5. Xây dựng oracle (bộ đối chiếu nhỏ trên miền đã biết) để so sánh tập nghiệm sau phép chiếu.
  6. Đánh giá trên bộ kiểm chuẩn theo quy trình của Chương 4.
  7. Kiểm tra khả năng kết hợp mô-đun và giải tăng dần.

Bài học thiết kế

  1. Tính đúng là quan hệ theo phép chiếu, không phải số mô hình của biến phụ.
  2. Đặc tả ngữ nghĩa quyết định biến phụ có thể được tái sử dụng thế nào.
  3. Đếm literal và cấu trúc mệnh đề quan trọng ngang với số mệnh đề.
  4. Phát biểu về sức lan truyền phải nêu rõ phạm vi literal được quan sát.
  5. Thời gian chạy là kết quả của tương tác giữa phép biểu diễn, bộ giải và bài toán thử.

Câu hỏi nghiên cứu

  1. Cho một phép biểu diễn AMO có biến phụ, viết bộ giải mã và chứng minh theo phép chiếu.
  2. Thiết kế một phép thử phân biệt đặc tả điều kiện đủ với đặc tả tương đương của thanh ghi ngưỡng.
  3. Chọn ba thước đo để giải thích vì sao một phép biểu diễn lớn hơn lại chạy nhanh hơn trên các bài toán thử UNSAT.

Chương 3: Phép Mã hóa Ràng buộc Cardinality

Hình 3.2 · Lưới trạng thái bộ đếm tuần tự (Sequential Counter)
Hình 3.2 · Lưới trạng thái bộ đếm tuần tự (Sequential Counter)
Cardinality constraint (ràng buộc đếm) giới hạn số literal đúng trong một tập; pseudo-Boolean constraint (ràng buộc giả Boolean) mở rộng mô hình này bằng các trọng số nguyên. Hai lớp này xuất hiện trong ràng buộc gán, sức chứa, chuỗi, đối xứng và hàm mục tiêu. Không có một bộ biểu diễn tốt nhất cho mọi miền; cần chọn theo \(n\), ngưỡng \(k\), các đầu ra cần đọc và cách bộ giải thay cận.
AMO/EXO
AMK/ALK
Đúng \(K\)
↙ Giả Boolean
↘ Chọn bộ biểu diễn

Bản đồ phát triển của phép biểu diễn ràng buộc đếm

Các phép biểu diễn ràng buộc đếm không phát triển theo một chuỗi trong đó bộ mã hóa mới thay thế hoàn toàn bộ biểu diễn cũ. Mỗi họ giải quyết một kiểu đánh đổi:

  1. pairwise encoding (biểu diễn từng cặp) và các phép phân rã AMO ưu tiên phát hiện xung đột trực tiếp;
  2. Sequential Counter (bộ đếm tuần tự) hiện thực hóa (reification) tổng trên từng tiền tố;
  3. Totalizer (cây tổng) hiện thực hóa (reification) tổng theo cấu trúc cây;
  4. Sorting Network / Selection Network (mạng sắp xếp / lựa chọn) ưu tiên cấu trúc đều và độ sâu nhỏ;
  5. binary decision diagram (biểu đồ quyết định nhị phân, BDD) hợp nhất các trạng thái tổng tương đương;
  6. Totalizer tổng quát và các biến thể PB xử lý trọng số;
  7. danh mục phương pháp hoặc bộ chọn đã học chọn phép biểu diễn theo đặc trưng của bài toán thử.

Các khảo cứu về ràng buộc đếm nhấn mạnh rằng phải tách ba thuộc tính: kích thước tiệm cận, mức nhất quán do lan truyền đơn vị duy trì và hiệu năng trong một bộ giải cụ thể (Bailleux, 2010). Một Sequential Counter \(O(nk)\) có thể nhỏ khi \(k\) bé; một mạng đếm có thể lớn hơn nhưng có độ sâu tốt; Totalizer lại thuận lợi khi cận thay đổi. Không có quan hệ thứ tự tuyến tính giữa ba lựa chọn đó.

Các dạng ràng buộc

Với \(X=\left\{x_1,\ldots, x_n\right\}\), ba tên tiếng Anh lần lượt là at-most-\(k\) (nhiều nhất \(k\), AMK), at-least-\(k\) (ít nhất \(k\), ALK) và exactly-\(k\) (đúng \(k\), EXK):

\[ \operatorname{AMK}(X, k):\quad \sum_{i=1}^{n}x_i\le k, \] \[ \operatorname{ALK}(X, k):\quad \sum_{i=1}^{n}x_i\ge k, \] \[ \operatorname{EXK}(X, k):\quad \sum_{i=1}^{n}x_i=k. \]

At-most-one (nhiều nhất một, AMO) là AMK với \(k=1\); at-least-one (ít nhất một, ALO) là một mệnh đề dài \(x_1\lor\cdots\lor x_n\); exactly-one (đúng một, EXO) là AMO kết hợp ALO.

Đối ngẫu hữu ích:

\[ \sum_i x_i\ge k \iff \sum_i(1-x_i)\le n-k. \]

Tuy nhiên, đối ngẫu có thể đổi ngưỡng từ nhỏ sang lớn. Vì vậy, lựa chọn giữa Direct Encoding ALK và biểu diễn AMK trên các literal phủ định phụ thuộc vào \(k\) và những đầu ra đã có.

At-most-one (AMO): ràng buộc nhiều nhất một

Biểu diễn từng cặp

Biểu diễn từng cặp sinh

\[ \neg x_i\lor\neg x_j \qquad\forall i<j. \]

Phương pháp này không dùng biến phụ, có \(\binom n2\) mệnh đề nhị phân và lan truyền trực tiếp. Đây là lựa chọn tốt khi miền nhỏ.

Biểu diễn tuần tự

Đặt \(s_i=1\) khi ít nhất một trong \(x_1,\ldots, x_i\) đúng. Một biến thể biểu diễn AMO tuần tự dùng:

\[ \neg x_i\lor s_i, \qquad \neg s_{i-1}\lor s_i, \qquad \neg x_i\lor\neg s_{i-1}. \]

Mệnh đề cuối cấm \(x_i\) khi tiền tố trước đó đã có một giá trị đúng. Kích thước tuyến tính theo \(n\) (Sinz, 2005).

Biểu diễn tích và biểu diễn chỉ huy

Product encoding (biểu diễn tích) đặt biến vào ma trận rồi dùng AMO theo hàng và cột. Commander encoding (biểu diễn chỉ huy) chia biến thành nhóm, tạo một biến đại diện cho mỗi nhóm rồi biểu diễn AMO trên các đại diện. Hai cách này tạo tính cục bộ theo khối và phù hợp với miền vừa hoặc lớn (Chen, 2010).

Bảng: So sánh các bộ biểu diễn AMO cơ bản.
Phép biểu diễn AMOBiến phụMệnh đềĐiểm mạnh
Từng cặp\(0\)\(O(n^2)\)Nhị phân, đơn giản
Tuần tự\(O(n)\)\(O(n)\)Lan truyền theo tiền tố
Tích\(O(\sqrt n)\)\(O(n)\)Cân bằng hai chiều
Chỉ huy\(O(n/g)\)Phụ thuộc nhóm \(g\)Cục bộ, dễ kết hợp

Sequential Counter cho AMK

Đặt

\[ s_{i, j}=1 \iff \sum_{q=1}^{i}x_q\ge j, \qquad 1\le j\le k. \]

Bộ đếm cập nhật theo hệ thức truy hồi

\[ s_{i, j} \leftrightarrow s_{i-1, j}\lor(x_i\land s_{i-1, j-1}), \]

với \(s_{i, 0}=\top\). Cận AMK cấm trạng thái tràn:

\[ \neg x_i\lor\neg s_{i-1, k}. \]

Số thanh ghi và mệnh đề là \(O(nk)\). Với \(k\) nhỏ, bộ đếm tạo các quan hệ kéo theo cục bộ và cho phép đọc nhiều ngưỡng tiền tố (Sinz, 2005).

Mệnh đề (Ngữ nghĩa của bộ đếm)
Nếu các hệ thức truy hồi được biểu diễn hai chiều thì, với mọi \(i, j\), \[ s_{i, j}=1\iff\sum_{q=1}^{i}x_q\ge j. \]
Chứng minh. Quy nạp theo \(i\). Tiền tố \(i\) đạt \(j\) khi tiền tố \(i-1\) đã đạt \(j\), hoặc \(x_i=1\) và tiền tố trước đạt \(j-1\). Đây chính là hệ thức truy hồi.
Hình: Totalizer cân bằng: mỗi nút trả về các ngưỡng của tổng trong cây con.
Hình: Totalizer cân bằng: mỗi nút trả về các ngưỡng của tổng trong cây con.

Mạng đếm

Sorting Network sắp các đầu vào Boolean thành các đầu ra đơn phân:

\[ o_1\ge o_2\ge\cdots\ge o_n, \qquad o_j=1\iff\sum_i x_i\ge j. \]

Bộ so sánh

\[ (a, b)\mapsto(a\lor b,\ a\land b) \]

được chuyển đổi theo phương pháp Tseitin. Cận AMK là \(\neg o_{k+1}\). Mạng có cấu trúc đều, độ sâu đa lôgarit và thuận lợi cho lan truyền song song (Batcher, 1968; Asín et al., 2011).

So với Sequential Counter, mạng dùng nhiều mệnh đề hơn khi \(k\) nhỏ nhưng có độ sâu suy diễn thấp hơn và các đầu ra toàn cục rõ ràng.

Hình: Bộ so sánh Boolean là thành phần cơ sở của Sorting Network và mạng đếm.
Hình: Bộ so sánh Boolean là thành phần cơ sở của Sorting Network và mạng đếm.

Biểu diễn bằng BDD

Binary decision diagram (biểu đồ quyết định nhị phân, BDD) biểu diễn trạng thái tổng tích lũy. Nút ở mức \(i\) và trạng thái \(s\) phân nhánh theo \(x_i\). Các trạng thái vượt \(k\) đi vào nút kết thúc sai. Một biến phụ cho mỗi nút BDD cùng các mệnh đề liên kết theo hai cung tạo thành phép biểu diễn (Bryant, 1986; Abío et al., 2012).

Ưu điểm của BDD:

  • xử lý tự nhiên các ràng buộc giả Boolean có trọng số;
  • có thể đạt sức lan truyền mạnh;
  • hợp nhất các trạng thái tương đương.
Nhược điểm là kích thước phụ thuộc thứ tự biến và số trạng thái tổng khác nhau.

Ràng buộc đúng \(K\) và đầu ra chia sẻ

EXK có thể viết thành AMK và ALK, nhưng dựng hai bộ đếm độc lập sẽ lặp trạng thái. Nếu bộ biểu diễn trả về các đầu ra đơn phân \(o_j\), chỉ cần

\[ o_k\land\neg o_{k+1}. \]

Sequential Counter cũng có thể chia sẻ thanh ghi: biên \(s_{n, k}\) bảo đảm ít nhất \(k\), còn các mệnh đề chống tràn bảo đảm nhiều nhất \(k\).

Định nghĩa một lần, đọc nhiều cận
Tách CounterDefinition khỏi Bound. Cùng một cấu trúc đầu ra có thể phục vụ AMK, ALK, EXK và vòng giải tăng dần. Đây là bước đầu của tư duy mô-đun được phát triển ở Phần II.

Pseudo-Boolean có trọng số

Ràng buộc tổng quát

\[ \sum_{i=1}^{n}a_ix_i\le B, \qquad a_i\in\mathbb Z_{\ge0}, \]

không còn là cardinality khi trọng số khác nhau. Các hướng chính gồm:

  • biểu diễn bằng bộ cộng hoặc mạch cho biểu diễn nhị phân của tổng;
  • BDD cho các trạng thái tổng có thể đạt;
  • Totalizer tổng quát gom và cắt các tổng;
  • phân rã bằng Sorting Network hoặc mạng đếm sau khi tách trọng số;
  • thư viện kết hợp như PBLib chọn bộ biểu diễn theo cấu trúc (Eén & Sörensson, 2006; Philipp & Reimer, 2015).

Nếu hàm mục tiêu thay cận nhiều lần, các đầu ra hoặc giao diện kích hoạt quan trọng hơn vài phần trăm kích thước ở một cận duy nhất.

Totalizer tổng quát

Generalized totalizer (Totalizer tổng quát) thay vectơ đơn phân liên tiếp bằng tập các tổng có thể đạt tại mỗi nút. Khi ghép hai nút có tập tổng \(A, B\), nút cha giữ các giá trị

\[ \min(a+b, B+1),\qquad a\in A,\ b\in B, \]

trong đó \(B+1\) gom mọi trạng thái tràn. Phép biểu diễn đặc biệt hiệu quả khi trọng số có cấu trúc và số tổng phân biệt sau phép cắt nhỏ hơn tổng số học thô (Joshi et al., 2015). Hình dạng cây không còn là chi tiết vô hại: hai cách ghép các lá có thể tạo số trạng thái trung gian rất khác nhau.

Khai thác các nhóm AMO trong PB

Trong nhiều mô hình, các hạng tử của ràng buộc PB đến từ một biến miền hữu hạn: trong mỗi nhóm, nhiều nhất một literal có thể đúng. Nếu trải phẳng mọi hạng tử như các biến độc lập, bộ biểu diễn sẽ bỏ mất thông tin này. Các phép biểu diễn PB(AMO) đưa nhóm AMO trực tiếp vào multi-valued decision diagram (biểu đồ quyết định đa trị, MDD), Totalizer tổng quát, Sequential Counter có trọng số hoặc Totalizer theo môđun (Bofill et al., 2022). Hai lợi ích có thể xuất hiện:

  • ít trạng thái tổng hơn, vì tổ hợp chọn hai hạng tử cùng nhóm không bao giờ đạt được;
  • lan truyền dùng được cả cận PB lẫn tính loại trừ lẫn nhau trong nhóm.

Đây là một ví dụ tổng quát của structure-aware encoding (phép biểu diễn có xét cấu trúc): trước khi chọn bộ biểu diễn cho một biểu thức tuyến tính, cần giữ nguồn gốc cấu trúc của các hạng tử thay vì chỉ truyền vào mảng hệ số.

Từ lựa chọn thủ công đến lựa chọn theo bài toán thử

Quy tắc “\(k\) nhỏ thì dùng Sequential Counter, nhiều cận thì dùng Totalizer” là một đối chứng hữu ích, nhưng chưa bao quát tương tác giữa hệ số, nhóm AMO, độ rộng miền và bộ giải. Nghiên cứu về algorithm selection (lựa chọn thuật toán) đã dùng các đặc trưng của ràng buộc và bài toán thử để chọn giữa nhiều phép biểu diễn SAT, kể cả trên những lớp bài toán chưa xuất hiện trong dữ liệu huấn luyện (Ulrich-Oltean et al., 2022). Kết quả này thay đổi cách xây dựng thư viện bộ biểu diễn: mỗi mô-đun cần công bố đủ siêu dữ liệu để một bộ chọn ra quyết định.

Bảng: Nhóm đặc trưng để lựa chọn bộ biểu diễn theo bài toán thử.
Nhóm đặc trưngVí dụTác động tiềm năng
Kích thước\(n, k,B\), số hạng tửLoại bộ biểu diễn chắc chắn quá lớn
Trọng sốGiá trị lớn nhất, ước chung lớn nhất, số tổng phân biệtKhông gian trạng thái BDD/GT
Cấu trúcNhóm AMO, hệ số lặpKhả năng nén trạng thái
Giao diệnSố cận, thêm đầu vào, hiện thực hóa (reification)Giải tăng dần và kết hợp mô-đun
Mô hìnhMật độ, đối xứng, đồ thị ràng buộcTương tác với học mệnh đề

Bộ chọn không loại bỏ nhu cầu chứng minh tính đúng: công cụ chỉ lựa chọn giữa các mô-đun đã được kiểm chứng. Việc đánh giá cũng phải tách các họ dùng để huấn luyện khỏi các họ dùng để kiểm thử; nếu không, bộ chọn có thể chỉ nhận dạng tên bộ kiểm chuẩn thay vì học cấu trúc của phép biểu diễn.

Bản đồ lựa chọn

Bảng: Gợi ý lựa chọn bộ biểu diễn ràng buộc đếm/PB.
Tình huốngLựa chọn khởi đầuLý do
AMO, \(n\) nhỏTừng cặpKhông biến phụ, mệnh đề nhị phân
AMO/AMK, \(k\) nhỏTuần tự\(O(nk)\), lan truyền theo tiền tố
Nhiều ngưỡngTotalizer/mạng đếmTái sử dụng đầu ra
Đúng \(K\)Một vectơ đầu ra chungKhông lặp AMK/ALK
PB có trọng số, ít trạng tháiBDDHợp nhất trạng thái tổng
PB có trọng số tổng quátPBLib/kết hợpChọn theo bài toán thử
PB có nhóm AMOBộ biểu diễn PB(AMO)Không hiện thực hóa (reification) trạng thái bất khả
Cận thay đổi tăng dầnTotalizer/đầu ra thứ tựGiao diện cận ổn định

Đây là cấu hình khởi đầu; Chương 4 trình bày cách đánh giá bộ biểu diễn trên phân phối bài toán mục tiêu; Chương 5–6 phát triển các bộ đếm khi nhiều ràng buộc chia sẻ cấu trúc.

Bài học thiết kế

  1. Chọn bộ biểu diễn theo cận và đầu ra cần đọc, không chỉ theo tên ràng buộc.
  2. Biểu diễn AMO từng cặp vẫn là đối chứng mạnh khi miền nhỏ.
  3. Sequential Counter phù hợp với ngưỡng nhỏ và cấu trúc tiền tố.
  4. Totalizer/mạng đếm thuận lợi khi cần nhiều cận hoặc giải tăng dần.
  5. Ràng buộc đúng \(K\) nên chia sẻ một cấu trúc tổng nếu có thể.

Câu hỏi nghiên cứu

  1. Dựng Sequential Counter cho \(n=5, k=2\) và liệt kê các thanh ghi.
  2. So sánh EXK bằng hai bộ đếm độc lập với một Totalizer chung.
  3. Với trọng số \((1, 2,3, 5)\), vẽ các trạng thái BDD cho cận \(B=5\).

Chương 4: Quy trình và Đánh giá Thực nghiệm

Hình 4.2 · Hồ sơ hiệu năng dạng bậc thang (Performance Profile)
Hình 4.2 · Hồ sơ hiệu năng dạng bậc thang (Performance Profile)
Đánh giá trên bộ kiểm chuẩn không chỉ trả lời bộ biểu diễn nào nhanh hơn. Một thực nghiệm tốt còn phải giải thích hiệu ứng đến từ kích thước, sức lan truyền, bộ giải, đặc trưng hay cấu trúc của bài toán thử.
Câu hỏi
Ma trận thiết kế
Bộ kiểm chuẩn
↙ Thước đo
↘ Phân tích

Thực nghiệm là một phép đo có mô hình

Một bảng thời gian chạy không tự nói bộ biểu diễn nào tốt hơn. Quan sát được tạo bởi cả chuỗi

\[ \text{bài toán thử} \rightarrow\text{mô hình} \rightarrow\text{bộ biểu diễn} \rightarrow\text{bộ tiền xử lý} \rightarrow\text{cấu hình bộ giải} \rightarrow\text{phần cứng}. \]

Thay bất kỳ mắt xích nào cũng có thể đổi thứ hạng. Vì vậy kết luận cần nêu rõ population (quần thể mà kết luận hướng đến): một họ bài toán thử, một miền tham số, một bộ giải hay một danh mục bộ giải. Cần phân biệt internal validity (hiệu lực nội tại: hiệu ứng thật sự do yếu tố đang xét) với external validity (hiệu lực khái quát: hiệu ứng có còn giữ ngoài tập kiểm chuẩn hay không).

Trong nghiên cứu phép biểu diễn, ba loại bằng chứng bổ sung nhau:

  • bằng chứng cơ chế: công thức đếm, vết lan truyền và xung đột nhỏ giải thích vì sao hiệu ứng xuất hiện;
  • bằng chứng có kiểm soát: ablation (thí nghiệm phân tích thành phần (ablation study)) giữ cố định các yếu tố khác;
  • bằng chứng so sánh: đánh giá trên nhiều họ bài toán và nhiều bộ giải để kiểm tra độ bền của kết luận.
Một kết quả có giá trị tham khảo cao cần ít nhất hai loại; thời gian chạy đơn lẻ chỉ là bằng chứng so sánh yếu nếu thiếu cơ chế và biến kiểm soát.

Bắt đầu từ một câu hỏi nhân quả

Một nghiên cứu về phép biểu diễn thường có một trong bốn câu hỏi:

  1. phép biểu diễn mới giảm kích thước bao nhiêu;
  2. sức lan truyền thay đổi như thế nào;
  3. thời gian chạy và số bài giải được thay đổi ra sao;
  4. một mô-đun có tương tác với phá vỡ đối xứng, giải tăng dần hoặc bộ giải không.

Câu hỏi càng rõ, ma trận thiết kế càng nhỏ. Nếu mục tiêu là đo bộ đếm dùng chung, hãy giữ cố định bộ giải, tiền xử lý, chiến lược tìm kiếm và quy trình xử lý hàm mục tiêu; chỉ thay mô-đun bộ đếm. Nếu đồng thời thay bộ giải và cách phá vỡ đối xứng, kết quả không phân định được đóng góp riêng lẻ của từng thành phần.

Đơn vị của thí nghiệm phân tích thành phần (ablation study)
Một đặc trưng không có hiệu ứng độc lập khi làm thay đổi giao diện của phép biểu diễn. Trong trường hợp đó, dùng cấu hình \(\text{phép biểu diễn}\times\text{đặc trưng}\) làm đơn vị so sánh.

Ma trận thiết kế

Một ma trận điển hình gồm:

\[ \text{bộ biểu diễn} \times \text{bộ giải} \times \text{đặc trưng} \times \text{bài toán thử} \times \text{random seed}. \]

Ở đây random seed (hạt giống ngẫu nhiên) là giá trị khởi tạo bộ sinh số giả ngẫu nhiên; giữ lại giá trị này giúp tái lập đúng chuỗi lựa chọn ngẫu nhiên của một lần chạy. Không nhất thiết chạy tích Descartes đầy đủ. Có thể dùng hai giai đoạn:

  1. sàng lọc: chọn vài bộ giải đại diện và miền tham số rộng;
  2. xác nhận: giữ các cấu hình có triển vọng, tăng số bài toán thử và số hạt giống ngẫu nhiên.

Mọi cấu hình phải dùng cùng ngữ nghĩa và bộ kiểm tra. Nếu một bộ biểu diễn có tiền xử lý riêng, thời gian tiền xử lý phải được tính vào tổng thời gian chạy hoặc được báo thành một cột riêng.

Bộ kiểm chuẩn và phân tầng

Một bộ kiểm chuẩn nên có siêu dữ liệu cấu trúc: số biến miền, mật độ ràng buộc, độ rộng cửa sổ, ngưỡng, lớp đối xứng, khoảng \(LB\)–\(UB\), hoặc các đặc trưng riêng của bài toán. Phân tầng theo những đặc trưng này giúp giải thích tại sao một phép biểu diễn thắng trong một vùng.

Ba nguồn bài toán thử thường dùng:

  • bài toán chuẩn từ văn liệu;
  • bài toán thực tế có nguồn gốc rõ ràng;
  • bài toán sinh tổng hợp để quét có kiểm soát một tham số.

Các bài toán sinh tổng hợp cho phép quan sát điểm chuyển theo \(n, k,w\), mật độ hoặc độ rộng miền; dữ liệu thực cung cấp bối cảnh sử dụng, còn bài toán chuẩn tạo khả năng so sánh với kết quả trước. Báo riêng ba nguồn giúp người đọc hiểu đúng vai trò của từng tập.

Tách tinh chỉnh và đánh giá

Tùy chọn bộ giải, độ rộng khối, kích thước nhóm và ngưỡng biểu diễn là các siêu tham số. Nếu chọn chúng trên chính tập kiểm thử, thời gian chạy báo cáo sẽ lạc quan quá mức. Một quy trình đơn giản:

  1. chia bộ kiểm chuẩn thành tập tinh chỉnh và tập đánh giá;
  2. khóa cấu hình sau khi tinh chỉnh;
  3. chỉ dùng tập đánh giá cho kết luận cuối;
  4. nếu dữ liệu ít, dùng cross-validation (kiểm định chéo) theo họ thay vì chia ngẫu nhiên từng bài toán.

Tinh chỉnh theo họ tránh việc các biến thể gần như trùng nhau xuất hiện ở cả hai tập.

Các thước đo

Kích thước và xây dựng

Ghi ít nhất:

\[ n_v,\quad n_c,\quad n_\ell,\quad \#\text{binary},\quad \#\text{ternary},\quad t_{\text{encode}},\quad \text{bộ nhớ cực đại}. \]

Thời gian của bộ giải nên đo từ sau khi dựng công thức; đồng thời báo thời gian toàn trình nếu bộ sinh công thức chiếm một phần đáng kể.

Quá trình tìm kiếm

Số quyết định, lượt lan truyền, xung đột, lần khởi động lại và mệnh đề đã học giúp giải thích cơ chế tạo ra thời gian chạy quan sát được:

\[ \text{lượt lan truyền/xung đột},\qquad \text{xung đột/giây},\qquad \text{bộ nhớ/biến}. \]

Right-censored runtime: thời gian chạy có kiểm duyệt

Khi một lần chạy hết thời hạn, ta chỉ biết thời gian cần thiết lớn hơn giới hạn; dữ liệu như vậy được gọi là right-censored (dữ liệu bị giới hạn thời gian). Vì vậy, thống kê thời gian chạy phải tính cả bài đã giải và bài hết thời hạn bằng một trong các cách:

  • số bài giải được tại một giới hạn thời gian cố định;
  • PAR-2 hoặc PAR-10, tức thời gian trung bình có phạt khi hết thời hạn;
  • cactus plot (biểu đồ Cactus (Cactus plot));
  • performance profile (hồ sơ hiệu năng);
  • thời gian đạt mục tiêu cho bài toán tối ưu.

Hồ sơ hiệu năng của Dolan–Moré chuẩn hóa thời gian chạy theo cấu hình tốt nhất trên từng bài toán thử. Với tỷ số

\[ r_{p, s}= \frac{t_{p, s}}{\min_{s'}t_{p, s'}}, \]

đường

\[ \rho_s(\tau)= \frac{1}{|P|} \left|\left\{p\in P\mid r_{p, s}\le\tau\right\}\right| \]

cho biết tỷ lệ bài mà cấu hình \(s\) nằm trong hệ số \(\tau\) so với tốt nhất (Dolan & Moré, 2002). Giá trị tại \(\tau=1\) đo số lần thắng; phần đuôi đo độ bền. Bài hết thời hạn phải được gán một tỷ số lớn nhất nhất quán và được mô tả rõ.

Đọc số bài giải được và thời gian chạy cùng nhau
Một cấu hình giải thêm các bài khó có thể có tổng thời gian chạy lớn hơn cấu hình hết thời hạn sớm. Vì vậy không xếp hạng bằng một cột thời gian đơn lẻ.
Hết thời hạn làm thay đổi cách xếp hạng
Với giới hạn \(30\) giây, ta có: \[ \begin{array}{c|ccc} & p_1&p_2&p_3\\\hline \text{Đối chứng}&2&5&\text{hết hạn}\\ \text{Mới}&1&10&20 \end{array} \]

Đối chứng nhanh hơn trên \(p_2\), nhưng chỉ giải \(2/3\) bài; cấu hình mới giải cả ba. Nếu PAR-2 gán \(60\) giây cho lần chạy hết thời hạn:

\[ \operatorname{PAR2}(\text{Đối chứng})=\frac{2+5+60}{3}=22.33, \qquad \operatorname{PAR2}(\text{Mới})=\frac{1+10+20}{3}=10.33. \]

Trung bình chỉ trên bài đã giải sẽ cho đối chứng \(3.5\) giây và cấu hình mới \(10.33\) giây, từ đó tạo kết luận ngược vì đã bỏ chính bài khó nhất.

Hình: Hồ sơ hiệu năng (performance profile): phần đầu cho thấy số bài giải nhanh nhất, phần đuôi
cho độ bền so với cấu hình tốt nhất trên từng bài toán thử.
Hình: Hồ sơ hiệu năng (performance profile): phần đầu cho thấy số bài giải nhanh nhất, phần đuôi cho độ bền so với cấu hình tốt nhất trên từng bài toán thử.

Biểu đồ Cactus (Cactus plot) và biểu đồ phân tán

Với một cấu hình \(s\), sắp tăng thời gian của các bài đã giải:

\[ t_{(1),s}\le t_{(2),s}\le\cdots\le t_{(q_s),s}. \]

Biểu đồ Cactus (Cactus plot) đặt số bài đã giải \(j\) trên trục ngang và \(t_{(j),s}\) trên trục dọc. Đường đi xa hơn sang phải biểu thị độ bền; đường thấp hơn biểu thị giải nhanh hơn ở cùng số bài đã giải. Đường dừng ở \(q_s\), nên các bài hết thời hạn không bị âm thầm loại khỏi kết luận.

Biểu đồ phân tán dùng so sánh ghép cặp: mỗi điểm ứng với cùng một bài toán thử, có tọa độ \((t_{p, A},t_{p, B})\), thường trên thang lôgarit. Điểm phía trên đường chéo \(t_A=t_B\) nghĩa là \(A\) nhanh hơn; điểm phía dưới nghĩa là \(B\) nhanh hơn. Bài hết thời hạn cần được đặt ở biên \(T\) bằng ký hiệu riêng hoặc mũi tên, và SAT/UNSAT nên dùng dấu điểm khác nhau. Biểu đồ phân tán cho biết bài toán nào tạo khác biệt; biểu đồ Cactus (Cactus plot) cho biết toàn tập được bao phủ đến đâu.

Hình: Biểu đồ Cactus (Cactus plot) (trái) giữ số bài giải được trong hình; biểu đồ
phân tán (phải) giữ ghép cặp theo bài toán thử. Các dấu ở biên minh họa lần
chạy hết thời hạn của một cấu hình.
Hình: Biểu đồ Cactus (Cactus plot) (trái) giữ số bài giải được trong hình; biểu đồ phân tán (phải) giữ ghép cặp theo bài toán thử. Các dấu ở biên minh họa lần chạy hết thời hạn của một cấu hình.

SAT và UNSAT là hai chế độ khác nhau

Các bài toán SAT cần tìm một nghiệm làm chứng; các bài toán UNSAT cần đóng toàn bộ không gian tìm kiếm. Một phép biểu diễn có thể mạnh ở SAT nhưng yếu ở UNSAT hoặc ngược lại. Bảng kết quả nên tách:

\[ \#SAT,\quad \#UNSAT,\quad t_{SAT},\quad t_{UNSAT}. \]

Trong tối ưu, các lần gọi bộ giải gần giá trị tối ưu thường có cả hai trạng thái: mô hình tại cận khả thi và UNSAT tại cận tốt hơn. Vì thế, hồ sơ theo toàn bộ dãy cận chứa nhiều thông tin hơn thời gian chạy cuối cùng.

Random seed và biến thiên giữa các lần chạy

Random seed, được gọi là hạt giống ngẫu nhiên sau lần giới thiệu đầu, không phải dữ liệu của bài toán; tham số này là giá trị khởi tạo (seed) cho bộ sinh số giả ngẫu nhiên của thuật toán. CDCL có yếu tố ngẫu nhiên trong phá hòa và tìm kiếm. Với bài toán khó, cần chạy nhiều hạt giống ngẫu nhiên và báo trung vị, các phân vị hoặc khoảng tin cậy. So sánh ghép cặp phải dùng cùng bài toán, cùng chỉ số hạt giống ngẫu nhiên và cùng giới hạn thời gian, bộ nhớ.

Nếu bộ biểu diễn là tất định nhưng bộ giải có yếu tố ngẫu nhiên, hạt giống ngẫu nhiên thuộc về bộ giải. Nếu bộ sinh dùng thứ tự ngẫu nhiên, cần tách hạt giống ngẫu nhiên của bộ sinh khỏi hạt giống ngẫu nhiên của bộ giải.

So sánh ghép cặp và độ lớn hiệu ứng

Mỗi bài toán thử tạo một cặp quan sát tự nhiên giữa hai bộ biểu diễn. Vì phân bố thời gian chạy thường lệch và có dữ liệu hết thời hạn, chỉ báo trung bình và một kiểm định trên các lần chạy độc lập là chưa phù hợp. Nên báo đồng thời:

  • số lần thắng/hòa/thua trên cùng bài toán và cùng hạt giống ngẫu nhiên;
  • trung vị của lôgarit hệ số tăng tốc \(\log(t_{\mathrm{base}}/t_{\mathrm{new}})\);
  • khoảng bất định bằng bootstrap (lấy mẫu lại) theo họ, không chỉ theo từng bài toán;
  • chênh lệch số bài giải được tại nhiều mốc thời gian.

Độ lớn hiệu ứng quan trọng hơn một giá trị \(p\) đứng riêng. Một bộ biểu diễn nhanh hơn \(3\%\) trên hàng nghìn bài dễ nhưng làm mất năm bài khó có ý nghĩa khác với bộ biểu diễn chỉ giảm ít trung vị nhưng mở rộng vùng giải được. Với tối ưu, nên so cả thời gian đạt nghiệm tốt nhất đã biết, thời gian hoàn tất chứng minh và khoảng cách tối ưu theo thời gian.

Phân tích theo vùng cấu trúc

Một kết luận toàn cục dễ che mất điểm chuyển ưu thế. Sequential Counter có thể tốt khi \(k/n\) nhỏ; mạng đếm có thể cải thiện khi cần nhiều ngưỡng; Order Encoding có thể thắng khi các khoảng cấm rộng. Vì vậy, trước khi vẽ kết quả, cần xác định trước các tầng theo đặc trưng có ý nghĩa thuật toán:

\[ \frac{k}{n},\quad \text{độ chồng lấn cửa sổ},\quad \text{độ rộng miền},\quad \text{mật độ ràng buộc},\quad \text{quy mô đối xứng}. \]

Sau đó dùng bản đồ nhiệt hoặc bảng theo tầng để tìm miền ưu thế thay vì chỉ tìm “người thắng”. Cách phân tích này cũng cung cấp dữ liệu cho bộ chọn phép biểu diễn ở Chương 3.

Kiểm đúng trước khi đo nhanh

Trước khi chạy bộ kiểm chuẩn lớn:

  1. kiểm thử vét cạn trên các bài toán nhỏ;
  2. kiểm thử vi sai giữa hai bộ biểu diễn;
  3. giải mã và kiểm tra mọi mô hình SAT dùng trong bảng;
  4. tính lại hàm mục tiêu từ nghiệm, không đọc trực tiếp chi phí nội bộ;
  5. giữ một số công thức CNF và chứng minh nhỏ làm phép thử hồi quy.

Với \(n\) nhỏ, bộ liệt kê sinh mọi phép gán cho biến chính. So sánh phép chiếu của các mô hình CNF với tập nghiệm miền. Cách này phát hiện lỗi biên hiệu quả hơn việc chỉ chạy các bài toán kiểm chuẩn lớn.

Gói tái lập và khả năng truy vết

Artifact (gói phần mềm–dữ liệu tái lập) tối thiểu gồm:

  • mã nguồn và mã định danh bản sửa đổi chính xác;
  • bản kê bài toán thử và mã kiểm tra toàn vẹn;
  • môi trường cùng phiên bản bộ giải;
  • lệnh chạy và giới hạn tài nguyên;
  • nhật ký thô, bộ phân tích nhật ký và chương trình tạo bảng;
  • bộ giải mã và bộ kiểm tra.
Gói tái lập tạo một đường đi kiểm tra được từ phát biểu đến bằng chứng thô.

Hình: Chuỗi truy vết tối thiểu của một phát biểu thực nghiệm.
Hình: Chuỗi truy vết tối thiểu của một phát biểu thực nghiệm.

Số liệu thực nghiệm có thể được kiểm tra ở ba tầng:

  1. báo cáo: bài viết mô tả tập bài toán thử, giới hạn thời gian và các cấu hình đối chứng;
  2. tái tạo: mã nguồn, nhật ký và dữ liệu cho phép dựng lại các bảng và biểu đồ;
  3. tái lập độc lập: một môi trường khác thực hiện lại thí nghiệm theo cùng thiết kế.
Tầng báo cáo hỗ trợ việc diễn giải kết quả; tầng tái tạo kiểm tra đường đi từ nhật ký đến bảng; tầng tái lập độc lập đánh giá độ bền khi môi trường thực thi thay đổi.

Mẫu quy trình thực nghiệm

Tổng kết Bài học
Câu hỏi. Mô-đun nào được đánh giá?
Giả thuyết. Kỳ vọng tác động lên kích thước, sức lan truyền hay thời gian chạy?
Yếu tố. Bộ biểu diễn, bộ giải, đặc trưng, họ bài toán, hạt giống ngẫu nhiên.
Biến kiểm soát. Ngữ nghĩa, bộ kiểm tra, cận, tiền xử lý, phần cứng.
Thước đo. Kích thước, thời gian dựng, bộ đếm tìm kiếm, số bài giải được/PAR/hồ sơ.
Kiểm đúng. Kiểm thử vét cạn, kiểm thử vi sai và bộ kiểm tra mô hình.
Đầu ra. Nhật ký thô, biểu đồ, bảng tổng hợp và bản kê gói tái lập.

Bài học thiết kế

  1. Đánh giá thực nghiệm bắt đầu từ một câu hỏi, không bắt đầu từ một bảng cấu hình.
  2. Tách tinh chỉnh khỏi đánh giá và phân tầng theo họ bài toán.
  3. Báo cả kích thước, bộ đếm tìm kiếm và thời gian chạy có dữ liệu hết hạn.
  4. Tách SAT/UNSAT và dùng nhiều hạt giống ngẫu nhiên ở vùng khó.
  5. Bộ kiểm tra mô hình là điều kiện trước của mọi bảng hiệu năng.

Câu hỏi nghiên cứu

  1. Thiết kế thí nghiệm phân tích thành phần (ablation study) \(2\times2\) cho bộ biểu diễn và phá vỡ đối xứng.
  2. Với ba lần hết thời hạn trong mười bài toán thử, tính PAR-2 và so với trung bình trên các bài đã giải.
  3. Lập một bản kê gói tái lập tối thiểu cho một thí nghiệm SAT tăng dần.

Chương 5: Phép Mã hóa Bộ đếm Dùng chung

Hình 5.3 · Bộ đếm dùng chung (Shared Counter)
Hình 5.3 · Bộ đếm dùng chung (Shared Counter)
Khi một ràng buộc trượt trên chuỗi, hai cửa sổ kề nhau chia sẻ gần toàn bộ biến. Biểu diễn từng cửa sổ độc lập sẽ lặp trạng thái; Shared Counter (bộ đếm chia sẻ) biến phần giao đó thành một mô-đun có thể tái sử dụng.
Chuỗi Boolean
Phân hoạch khối
Bộ đếm cục bộ
↙ Bộ nối
↘ Họ cửa sổ

SEQUENCE trong văn liệu về ràng buộc

Ràng buộc cửa sổ thuộc một họ lâu đời hơn các Shared Counter. Sequence yêu cầu mọi đoạn liên tiếp độ dài cố định có số biến nhận một giá trị trong khoảng \([\ell, u]\). Dạng ràng buộc này xuất hiện trong bài toán lập lịch ca, xếp thứ tự xe, và xác định cỡ lô và các mô hình chuỗi. Vấn đề cốt lõi không chỉ là số literal đúng trong một cửa sổ, mà còn là sự phụ thuộc giữa toàn bộ các cửa sổ chồng lấn.

Văn liệu đã phát triển ít nhất bốn cách nhìn:

Phân rã theo cửa sổ
Tạo một ràng buộc đếm cho mỗi cửa sổ. Cách này có tính mô-đun và dễ dùng, nhưng nếu các trạng thái phụ không được chia sẻ thì phần giao bị biểu diễn nhiều lần.
Tổng tiền tố
Đặt \(S_i=\sum_{j\le i}x_j\), khi đó mỗi cửa sổ là \(\ell\le S_{i+w}-S_i\le u\). Mọi cửa sổ chia sẻ một dãy trạng thái tiền tố.
Ôtômát/ràng buộc chính quy
Trạng thái ghi đủ lịch sử cần thiết để quyết định ký hiệu tiếp theo. Một ràng buộc Regular có thể mô hình hóa bài toán kiểm tra chuỗi thuộc một ngôn ngữ hữu hạn trạng thái hay không (Pesant, 2004).
Luồng hoặc đồ thị
Biểu diễn các hiệu tiền tố và cận cửa sổ bằng mạng luồng, từ đó xây dựng bộ lan truyền toàn cục.

So sánh có hệ thống các phép biểu diễn Sequence cho thấy cách phân rã, ôtômát và phương pháp dựa trên tổng khác nhau rõ về kích thước và mức nhất quán (Brand et al., 2007). Các bộ lan truyền dựa trên luồng tiếp tục khai thác cấu trúc toàn cục để đạt khả năng lọc mạnh (Maher et al., 2008); những khung tổng quát hơn còn xem ràng buộc trên chuỗi như tổ hợp của một chữ ký và một đặc trưng cần đếm (Monette et al., 2014).

Bảng: Các cách tái sử dụng trạng thái trong ràng buộc cửa sổ.
HọTrạng thái chia sẻĐiểm mạnhChi phí/rủi ro
Mỗi cửa sổKhông hoặc ítĐơn giản, dùng bộ biểu diễn sẵnLặp trạng thái phụ
Tổng tiền tốTổng từ đầu chuỗiMọi cửa sổ là hiệu hai tiền tốMiền tổng toàn cục
ÔtômátHậu tố/lịch sửXử lý mẫu phức tạpBùng nổ trạng thái theo \(w\)
LuồngNút và cungLọc toàn cụcBộ lan truyền/phép biểu diễn phức tạp
Bộ đếm theo khốiTiền tố/hậu tố trong khốiCục bộ và tái sử dụng có kiểm soátCần chọn phân hoạch

Shared Counter theo khối của chương này nằm giữa hai cực. Phương pháp không tạo một trạng thái toàn cục cho mọi tiền tố, nhưng cũng không xây bộ đếm độc lập cho từng cửa sổ. Phân hoạch quyết định phạm vi tái sử dụng, còn bộ nối giữ ngữ nghĩa của từng cửa sổ.

Họ ràng buộc cửa sổ

Cho chuỗi

\[ \Omega=\langle x_1,\ldots, x_n\rangle. \]

Cửa sổ độ rộng \(w\) bắt đầu tại \(i\):

\[ W_i(w)=\langle x_i,\ldots, x_{i+w-1}\rangle. \]

AMK bậc thang là họ

\[ \sum_{x\in W_i(w)}x\le k \qquad i=1,\ldots, n-w+1. \]

Các ràng buộc chuỗi tổng quát cho phép cả cận dưới và cận trên:

\[ \ell\le \sum_{x\in W_i(w)}x \le u. \]

Nếu mỗi cửa sổ dùng một Sequential Counter riêng, kích thước xấp xỉ

\[ O((n-w+1)wk). \]

Trong khi đó, hai cửa sổ kề nhau chỉ khác một biến đi ra và một biến đi vào. Mục tiêu của phép biểu diễn chia sẻ là đưa chi phí về gần

\[ O(nk) \]

hoặc \(O(nk+n_c)\), với \(n_c\) là số bộ nối.

Hình: Ba cửa sổ độ rộng \(4\) chỉ dịch một vị trí: cửa sổ kề nhau giữ lại
ba trong bốn biến. Xây lại một bộ đếm cho từng hàng sẽ lặp phần giao này.
Hình: Ba cửa sổ độ rộng \(4\) chỉ dịch một vị trí: cửa sổ kề nhau giữ lại ba trong bốn biến. Xây lại một bộ đếm cho từng hàng sẽ lặp phần giao này.

Phân hoạch thành khối

Chia chuỗi thành các khối liên tiếp

\[ B_1, B_2,\ldots, B_m, \qquad \Omega=B_1\cdot B_2\cdots B_m. \]

Trong mỗi khối, xây hai họ biến ngưỡng:

\[ F^b_{i, q}=1 \iff \sum_{j=1}^{i}B_b[j]\ge q, \] \[ R^b_{i, q}=1 \iff \sum_{j=i}^{\left|B_b\right|}B_b[j]\ge q. \] \(F\) đếm tiền tố từ trái sang phải; \(R\) đếm hậu tố từ phải sang trái. Một cửa sổ giao biên giữa \(B_b, B_{b+1}\) là hợp của một hậu tố bên trái và một tiền tố bên phải. Số literal đúng trong cửa sổ được đọc từ \(R^b\) và \(F^{b+1}\).
Hình: Một cửa sổ giao biên được phân rã thành hậu tố của khối trái và tiền tố
của khối phải; bộ nối chỉ đọc các ngưỡng cần thiết.
Hình: Một cửa sổ giao biên được phân rã thành hậu tố của khối trái và tiền tố của khối phải; bộ nối chỉ đọc các ngưỡng cần thiết.
Ví dụ minh họa
Giả sử cửa sổ gồm hậu tố \(A\) của khối trái và tiền tố \(B\) của khối phải. Đặt \(T(S, q)\) là literal “\(\sum_{x\in S}x\ge q\)”, với hai quy ước biên \(T(S, q)=\top\) khi \(q\le 0\) và \(T(S, q)=\bot\) khi \(q>\left|S\right|\). Điều kiện at-most-\(k\) tương đương với điều kiện không tồn tại \(q\in\left\{0,\ldots, k+1\right\}\) sao cho \[ \sum_{x\in A}x\ge q \quad\text{và}\quad \sum_{x\in B}x\ge k+1-q. \]

Bộ nối vì thế chứa

\[ \neg T(A, q) \lor \neg T(B, k+1-q), \qquad q=0,\ldots, k+1. \]

Hai giá trị biên \(q=0\) và \(q=k+1\) không phải chi tiết hình thức: chúng phát hiện trường hợp toàn bộ \(k+1\) giá trị đúng nằm ở chỉ một phía của biên.

Đọc một cửa sổ qua hai thanh ghi
Lấy \(n=8, w=4, k=2\), chia \(B_1=(x_1,\ldots, x_4)\), \(B_2=(x_5,\ldots, x_8)\), và xét \[ x=(1, 0,1, 0\mid 1, 0,0, 1). \]

Cửa sổ \(W_3=(x_3, x_4\mid x_5, x_6)=(1, 0\mid1, 0)\) có tổng \(2\). Hậu tố trái đạt ngưỡng \(1\) nhưng không đạt \(2\): \(R^1_{3, 1}=1, R^1_{3, 2}=0\). Tiền tố phải cũng có \(F^2_{2, 1}=1, F^2_{2, 2}=0\). Với \(k=2\), bốn bộ nối ứng với \(q=0, 1,2, 3\) cấm các cặp ngưỡng \((\top, F_3),(R_1, F_2),(R_2, F_1),(R_3,\top)\). Tất cả đều thỏa: hai mệnh đề biên xác nhận mỗi phía riêng lẻ không đạt \(3\), còn ở hai mệnh đề giữa luôn có một ngưỡng bằng \(0\).

Nếu đổi \(x_6\) thành \(1\), tiền tố phải đạt ngưỡng \(2\). Khi đó \(\neg R^1_{3, 1}\lor\neg F^2_{2, 2}\) sai, phát hiện ngay tổng cửa sổ bằng \(3\). Ví dụ cho thấy bộ nối không cộng lại toàn cửa sổ; mô-đun chỉ ghép hai bằng chứng ngưỡng.

Bộ nối như một giao diện

Bộ đếm cục bộ không phụ thuộc vào cửa sổ tiêu thụ; mô-đun chỉ cung cấp đặc tả của các literal ngưỡng. Bộ nối biết cách một ràng buộc giao biên và chọn các ngưỡng cần ghép.

Với at-least-\(k\):

\[ \sum_{x\in A\cup B}x\ge k \iff \bigwedge_{q=1}^{k} \left[ \left(\sum_{x\in A}x\ge q\right) \lor \left(\sum_{x\in B}x\ge k-q+1\right) \right]. \]

Nếu thanh ghi có đặc tả tương đương, mỗi ngoặc vuông trở thành

\[ R^b_{a, q}\lor F^{b+1}_{c, k-q+1}. \]
Bên cung cấp và bên sử dụng
Bộ đếm là bên cung cấp literal ngưỡng; bộ nối là bên sử dụng. Đặc tả hai chiều cần thiết khi bộ nối dùng cả thanh ghi dương và phủ định để diễn giải “đạt” và “chưa đạt” ngưỡng.

Staircase AMO và SCL

Với \(k=1\), mỗi cửa sổ thỏa AMO. Shared Counter Ladder (thang Shared Counter, SCL) xây các trạng thái AMO/AMZ trong khối và nối chúng qua các biên. So với phương án tạo xung đột từng cặp trong từng cửa sổ, SCL không lặp các cặp nằm trong phần giao.

Giả sử \(m=\lceil n/w\rceil\) khối có kích thước gần \(w\). Chi phí bộ đếm cục bộ tuyến tính theo tổng kích thước khối, còn các bộ nối tuyến tính theo số biên và ngưỡng. Vì vậy kích thước toàn họ có thể giảm từ bậc hai về tuyến tính theo \(n\) ở các AMO bậc thang điển hình.

Biểu diễn Duplex dùng BDD tiến/lùi trong mỗi cửa sổ và liên kết các trạng thái (Fazekas et al., 2020). SCL dùng trạng thái tuần tự, nhờ đó giảm số biến phụ và mệnh đề trong phân tích của (Truong et al., 2025).

Trong hệ phân loại trên, SCL phục vụ các tập xung đột có dạng khoảng dịch chuyển và phần giao lớn giữa các khoảng kề nhau. Biểu diễn từng cặp và bộ đếm tuần tự độc lập phù hợp hơn với các tập AMO rời rạc hoặc thiếu một thứ tự tuyến tính ổn định. Độ chồng lấn vì thế là đặc trưng đầu tiên để chọn giữa trạng thái dùng chung và bộ đếm cục bộ.

SCAMO và Anti-Bandwidth
Trên họ SCAMO với \(n=1000\) và độ rộng cửa sổ thay đổi, (Truong et al., 2025) báo SCL dùng ít biến và mệnh đề hơn Duplex cùng các phép biểu diễn từng cửa sổ. Khi đưa vào bài toán Anti-Bandwidth, SCL đạt kết quả cạnh tranh trên 24 đồ thị kiểm chuẩn, đặc biệt ở các bài toán lớn nơi chi phí lặp cửa sổ trở nên rõ rệt.

Mở rộng sang Ladder AMK

Khi \(k>1\), mỗi khối cần nhiều mức ngưỡng. Ta dùng Sequential Counter:

\[ F^b_{i, q} \leftrightarrow F^b_{i-1, q}\lor (B_b[i]\land F^b_{i-1, q-1}), \]

và hệ thức truy hồi đối xứng cho \(R^b\).

Bộ nối cho cận trên cấm mọi cặp ngưỡng có tổng \(k+1\):

\[ \neg T(A, q) \lor \neg T(B, k+1-q), \qquad q=0,\ldots, k+1. \]

Vì thế các thanh ghi thực phải được xây đến ngưỡng \(k+1\), trừ những mức có thể giản lược thành \(\top\) hoặc \(\bot\) theo kích thước phần cửa sổ. Nếu một cửa sổ đi qua nhiều hơn một biên, có hai lựa chọn:

  1. tăng độ rộng khối để mỗi cửa sổ cắt nhiều nhất một biên;
  2. xây bộ nối nhiều ngôi hoặc một bộ đếm trung gian trên tổng của các khối.
Thiết kế thứ nhất đơn giản hơn; thiết kế thứ hai linh hoạt với nhiều width.

Ladder AMK trong (Truong et al., 2026) phát triển Sequential Counter dùng chung cho một tập ràng buộc đếm dạng bậc thang. Giá trị cốt lõi không nằm ở một mệnh đề riêng lẻ mà ở việc bộ đếm được tạo cho cả họ ràng buộc.

Quan hệ với tổng tiền tố và ràng buộc chuỗi tổng quát

Ladder AMK có thể được mô tả bằng ma trận liên thuộc: mỗi hàng là một ràng buộc, mỗi cột là một đầu vào, và các giá trị \(1\) trong mỗi hàng tạo thành một khoảng; các biên khoảng thay đổi đơn điệu theo hàng. Biểu diễn tổng tiền tố dùng một trạng thái toàn cục cho mọi cột. Ladder AMK chỉ hiện thực hóa (reification) những ngưỡng tiền tố/hậu tố mà các hàng thật sự đọc. Do đó tiêu chí lựa chọn không chỉ là \(n, k\), mà còn là độ phức tạp của hai đường biên bậc thang.

Với nhiều độ rộng và nhiều cận, một ôtômát có thể nắm toàn bộ lịch sử nhưng số trạng thái tăng theo tổ hợp các bộ đếm đang hoạt động. Số ngưỡng chia sẻ tăng theo số biên và mức đếm được yêu cầu. Hai hướng vì thế tạo một đánh đổi: ôtômát hợp nhất các ràng buộc trong trạng thái, còn Ladder AMK giữ các ràng buộc tách biệt nhưng chia sẻ đại lượng trung gian. Đây là câu hỏi thực nghiệm và lý thuyết mang nhiều ý nghĩa hơn so với việc chỉ so sánh số lượng mệnh đề trên một cấu hình.

Đúng đắn

Định lý (Tính đúng của phép biểu diễn cửa sổ chia sẻ)
Giả sử:
  1. các thanh ghi tiến/lùi đúng theo đặc tả ngưỡng;
  2. mọi cửa sổ nằm trong một khối được ràng buộc bởi bộ đếm cục bộ;
  3. mỗi cửa sổ hoặc nằm trong một khối, hoặc cắt đúng một biên khối;
  4. với cửa sổ \(A\cup B\) giao biên, phép biểu diễn chứa đủ các mệnh đề \[ \neg T(A, q)\lor\neg T(B, k+1-q), \qquad q=0,\ldots, k+1. \]
Khi đó CNF tương đương theo phép chiếu với họ staircase AMK.
Chứng minh. Để chứng minh tính đúng, xét một cửa sổ. Nếu nằm trong khối, bộ đếm cục bộ loại mọi tổng vượt \(k\). Nếu giao biên, đặt \(a=\sum_{x\in A}x\), \(b=\sum_{x\in B}x\). Khi \(a+b\ge k+1\), chọn \(q=\min\{a, k+1\}\). Ta có \(T(A, q)=1\); nếu \(q<k+1\) thì \(b\ge k+1-a=k+1-q\), còn nếu \(q=k+1\) thì ngưỡng bên phải bằng \(0\) và đúng theo quy ước. Bộ nối tương ứng bị vi phạm.

Để chứng minh tính đầy đủ, lấy một chuỗi thỏa mọi cửa sổ và gán các thanh ghi bằng đúng tổng tiền tố/hậu tố. Các mệnh đề của bộ đếm đều đúng. Nếu một bộ nối sai thì tồn tại \(q\) sao cho \(a\ge q\) và \(b\ge k+1-q\), suy ra \(a+b\ge k+1\), mâu thuẫn với giả thiết cửa sổ nhiều nhất \(k\). Do đó phép gán trên biến gốc luôn mở rộng được thành mô hình của CNF; kết hợp với tính đúng cho tương đương theo phép chiếu.

Cửa sổ cắt nhiều biên

Định lý~(bên dưới) bao phủ trực tiếp cửa sổ trong một khối và cửa sổ cắt một biên. Với cửa sổ đi qua ba khối trở lên, tổng được ghép từ nhiều hơn hai thành phần. Có thể ghép tuần tự các khối bằng một bộ đếm trung gian, hoặc dùng một cây ghép có đầu ra bị cắt ở \(k+1\). Với các tổng bộ phận \(S_1,\ldots, S_r\), bất biến cần giữ là

\[ U_{j, q}\iff \min\!\left(k+1,\sum_{h=1}^{j}S_h\right)\ge q . \]

Sau lần ghép cuối, mệnh đề \(\neg U_{r, k+1}\) đóng AMK. Chi phí tăng theo số khối mà từng cửa sổ chạm tới; một cây ghép riêng cho mỗi cửa sổ làm giảm tỷ lệ trạng thái chia sẻ. Điều kiện “mỗi cửa sổ cắt nhiều nhất một biên” do đó là tiêu chí phân hoạch, còn bộ đếm ghép là phương án cho phân hoạch tổng quát.

Chọn độ rộng khối

Khối nhỏ tạo nhiều biên và bộ nối nhưng bộ đếm cục bộ ngắn. Khối lớn giảm số biên nhưng giữ nhiều thanh ghi không được mọi cửa sổ dùng. Vì vậy độ rộng là một siêu tham số cấu trúc.

Ba cách chọn:

  • bằng độ rộng cửa sổ khi mọi ràng buộc có cùng \(w\);
  • theo ước chung lớn nhất hoặc cụm của nhiều độ rộng;
  • phân hoạch thích nghi, đặt biên tại nơi có ít cửa sổ cắt qua.

Phân hoạch thích nghi có thể xem là bài toán tối ưu trên đồ thị khoảng: mỗi cửa sổ là một khoảng, chi phí của một biên bằng số ràng buộc giao biên nhân với số ngưỡng cần nối.

Triển khai

Application programming interface (giao diện lập trình, API) cho mô-đun có thể là:

\[ \texttt{SharedCounter(sequence, partition, maxThreshold)} \]

và trả về:

  • các literal ngưỡng tiền tố/hậu tố;
  • hàm prefix(block,pos,q);
  • hàm suffix(block,pos,q);
  • ánh xạ thanh ghi để gỡ lỗi và kiểm tra nội bộ.
Sau đó addAtMostWindow(i,w,k) chỉ sinh các bộ nối. Nhiều mô-đun sử dụng có thể đọc cùng một bộ đếm: AMK, ALK, EXK hoặc hàm mục tiêu.

⚙️ Sinh AMK cửa sổ chia sẻ khi mỗi cửa sổ cắt nhiều nhất một biên
Đầu vào: chuỗi \(x_1,\ldots, x_n\); một phân hoạch khối; tập cửa sổ \(\mathcal W\); cận \(k(W)\) của từng cửa sổ.
Đầu ra: một CNF tương đương theo phép chiếu.
  1. Trong mỗi khối, sinh các thanh ghi ngưỡng tiến/lùi đến mức lớn nhất \(\max_{W\in\mathcal W}(k(W)+1)\) thật sự được đọc.
  2. Với cửa sổ nằm trọn trong một khối, đọc bộ đếm cục bộ và cấm ngưỡng \(k(W)+1\).
  3. Với cửa sổ \(W=A\cup B\) cắt một biên, lần lượt \(q=0,\ldots, k(W)+1\), sinh \(\neg T(A, q)\lor\neg T(B, k(W)+1-q)\); giản lược các literal hằng.
  4. Nếu phát hiện một cửa sổ cắt từ hai biên trở lên, dừng mô-đun này và chuyển sang bộ đếm ghép; không áp dụng bộ nối hai ngôi.
  5. Trả CNF cùng ánh xạ từ mỗi thanh ghi về \((\text{khối},\text{vị trí},q)\).

Miền hiệu quả của Shared Counter

Shared Counter đạt lợi thế rõ nhất khi các cửa sổ chồng lấn mạnh, cận \(k\) nhỏ và mỗi cửa sổ chỉ cắt ít khối. Với các cửa sổ gần rời nhau hoặc bài toán nhỏ, biểu diễn từng cặp và bộ đếm độc lập thường có hằng số thấp hơn. Một bộ chọn có thể quyết định trước khi sinh CNF từ ba đại lượng: tổng số ngưỡng cục bộ, số bộ nối sau giản lược và số bước ghép của các cửa sổ nhiều biên.

Ngoài các ràng buộc cửa sổ trượt Sequence, nguyên lý tái sử dụng trạng thái phụ qua các điểm cắt miền còn được mở rộng thành kỹ thuật hậu tố thưa \mbox{\textnormal{SparseSuffix}} trong bài toán lập lịch cuộc họp doanh nghiệp (B2B Meeting Scheduling) (Nguyen et al., 2026) (xem Mục~8.5). Tại đó, các biến đại diện hậu tố được chia sẻ trực tiếp giữa các quan hệ thứ tự tiên quyết có cùng điểm cắt miền tiền nhiệm, giúp giảm đáng kể số mệnh đề nhị phân sinh ra trong công thức CNF.

Bài học thiết kế

Tổng kết Bài học
  1. Cửa sổ chồng lấn là tín hiệu nên dùng trạng thái chung.
  2. Bộ đếm cục bộ cung cấp các ngưỡng; bộ nối mô tả ràng buộc.
  3. Thanh ghi tiến và lùi tách một cửa sổ giao biên thành hai phần.
  4. Chứng minh tính đúng tách cửa sổ nội khối khỏi cửa sổ giao biên.
  5. Độ rộng khối cân bằng chi phí thanh ghi với chi phí bộ nối.

Câu hỏi nghiên cứu

  1. Dựng các bộ nối cho một cửa sổ AMK với \(k=2\) giao biên thành hai phần.
  2. Tính số thanh ghi khi \(n=20, w=5, k=3\) và độ rộng khối bằng \(5\).
  3. Đề xuất hàm mục tiêu cho phân hoạch thích nghi dựa trên số cửa sổ giao biên.

Chương 6: Phép Mã hóa Bộ đếm Thích nghi

Hình 6.2 · Thanh ghi đếm thích nghi và miền trạng thái tam giác (NSC)
Hình 6.2 · Thanh ghi đếm thích nghi và miền trạng thái tam giác (NSC)
Sequential Counter thông thường dành cùng một độ rộng cho mọi hàng. Thanh ghi thích nghi chỉ tạo những trạng thái đếm có thể đạt tới, nhờ đó giữ được cấu trúc tuần tự nhưng loại bỏ phần tam giác trạng thái bất khả.
Dãy Boolean
Miền trạng thái khả đạt
Truy hồi ngưỡng
↙ Điều kiện biên
↘ Đúng \(K\)

Ràng buộc đúng \(K\) trong không gian thiết kế

Exactly-\(K\) (ràng buộc đúng \(K\)) có nhiều cách phân rã đúng:

\[ \sum X=K \iff \left(\sum X\le K\right)\land \left(\sum X\ge K\right), \]

nhưng hai vế không nhất thiết phải dùng hai bộ biểu diễn độc lập. Một vectơ đơn phân đầy đủ cho phép đọc cùng lúc \(o_K\) và \(\neg o_{K+1}\); BDD giữ các trạng thái tổng; Sorting Network các đầu vào; Sequential Counter theo dõi tiền tố. Câu hỏi của chương là cụ thể: nếu đã chọn các trạng thái ngưỡng tuần tự thì những ô nào thật sự có thể đạt và cần được hiện thực hóa (reification)?

Bảng: Các hướng biểu diễn ràng buộc đúng \(K\).
HọTrạng tháiGiao diện EXKĐặc trưng
Hai AMKHai bộ đếmHai cận táchDễ ghép nhưng có thể lặp trạng thái
Tuần tựTổng tiền tốChống tràn + đạt \(K\)Tốt khi \(K\) nhỏ
TotalizerTổng cây con\(o_K\land\neg o_{K+1}\)Dùng lại nhiều cận
MạngVị trí đã sắpHai đầu ra kề nhauCấu trúc đều, độ sâu thấp
BDD\((i, s)\)Chấp nhận trạng thái \(K\)Hợp nhất trạng thái theo tổng
NSCNgưỡng tiền tố khả đạtBiên trên + dướiCắt vùng tam giác bất khả

Các cận dưới cho AMO và những khảo cứu về ràng buộc đếm đặt số biến bên cạnh số mệnh đề, literal và mức lan truyền (Kučera et al., 2019; Bailleux, 2010). NSC giữ bậc \(O(nK)\), giảm một phần xác định của bảng và thay cách đóng biên Exactly-\(K\). Đóng góp cốt lõi là một không gian trạng thái gọn hơn trong họ tuần tự; vị trí trên biên Pareto (Pareto frontier) được đo bằng số mệnh đề, số literal và sức lan truyền.

Từ bảng chữ nhật đến miền trạng thái khả đạt

Xét dãy Boolean \(X=\langle x_1,\ldots, x_n\rangle\) và ràng buộc

\[ \sum_{i=1}^{n}x_i=k. \]

Một Sequential Counter có thể dành \(k\) cột cho mọi tiền tố. Tuy nhiên, sau \(i\) biến đầu tiên, tổng không thể lớn hơn \(i\). Các ô \(j>i\) vì thế không mang trạng thái hợp lệ.

New Sequential Counter (Sequential Counter mới, NSC) dùng thanh ghi tam giác

\[ R_{i, j}=1 \quad\Longleftrightarrow\quad \sum_{q=1}^{i}x_q\ge j, \qquad \begin{matrix} 1\le i\le n-1,\\[-1mm] 1\le j\le \min(i, k). \end{matrix} \]

Chỉ \(n-1\) tiền tố được hiện thực hóa (reification); biến \(x_n\) được xử lý trong khi giải (in-processing) khi giải (in-processing) điều kiện cuối. Với \(n>k\), số biến phụ là

\[ \sum_{i=1}^{n-1}\min(i, k) = k(n-1)-\frac{k(k-1)}{2}. \]

So với bảng chữ nhật \(k(n-1)\), phần tiết kiệm chính xác là \(k(k-1)/2\) biến. Bậc tiệm cận được giữ nguyên, còn hệ số hữu hạn giảm đúng các trạng thái bất khả mà bộ giải phải duy trì.

Hình: Sequential Counter hình chữ nhật và miền trạng thái tam giác. NSC không
tạo ba ô bất khả \(R_{1, 2},R_{1, 3},R_{2, 3}\).
Hình: Sequential Counter hình chữ nhật và miền trạng thái tam giác. NSC không tạo ba ô bất khả \(R_{1, 2},R_{1, 3},R_{2, 3}\).
“Thích nghi” ở đây có nghĩa gì?
Độ rộng hàng \(i\) là \(\min(i, k)\), được quyết định bởi số trạng thái có thể đạt sau \(i\) đầu vào. “Thích nghi” ở đây mô tả hình dạng tĩnh của bộ đếm, được xác định trước khi bộ giải chạy.

Đặc tả ngữ nghĩa và hệ thức truy hồi

Dùng hai quy ước biên

\[ R_{i, 0}\equiv\top, \qquad R_{0, j}\equiv\bot\quad(j\ge1). \]

Khi đó mọi ô hợp lệ tuân theo

\[ R_{i, j} \;\longleftrightarrow\; R_{i-1, j}\lor \bigl(x_i\land R_{i-1, j-1}\bigr). \label{eq:nsc-recurrence} \]

Vế phải mô tả đúng hai cách để tiền tố mới đạt ngưỡng \(j\): tiền tố cũ đã đạt ngưỡng, hoặc \(x_i=1\) và tiền tố cũ đã đạt \(j-1\).

Trong CNF, hệ thức truy hồi được phân rã thành các quan hệ kéo theo theo hai chiều. Phần tiến gồm

\[ R_{i-1, j}\rightarrow R_{i, j}, \qquad (x_i\land R_{i-1, j-1})\rightarrow R_{i, j}. \]

Phần lùi gồm

\[ (\neg x_i\land\neg R_{i-1, j})\rightarrow\neg R_{i, j}, \qquad \neg R_{i-1, j-1}\rightarrow\neg R_{i, j}. \]

Sau khi thay các hằng biên và bỏ literal thừa, ta thu được các mệnh đề hai hoặc ba literal. Cách sinh mệnh đề trực tiếp theo miền tam giác tránh tạo biến rồi giao cho bộ tiền xử lý xóa đi.

Thanh ghi được đọc như một đại lượng ngữ nghĩa
Nếu \(R_{i, j}\) xuất hiện trong điều kiện biên, hàm mục tiêu hoặc một ràng buộc khác, hệ thức truy hồi phải bảo đảm đặc tả hai chiều. Chỉ các quan hệ kéo theo tiến không đủ để diễn giải \(\neg R_{i, j}\) là “tiền tố chưa đạt \(j\)”.

Đóng ràng buộc đúng \(K\)

Phần nhiều nhất \(k\) cấm một đầu vào mới làm tràn bộ đếm:

\[ x_i\rightarrow\neg R_{i-1, k}, \qquad i=k+1,\ldots, n. \label{eq:nsc-overflow} \]

Phần ít nhất \(k\) yêu cầu tổng cuối đạt ngưỡng \(k\):

\[ R_{n-1, k}\lor \bigl(x_n\land R_{n-1, k-1}\bigr). \label{eq:nsc-lower} \]

Biểu thức (xem phần này) được phân phối thành CNF trước khi xuất. Khi \(k=1\), \(R_{n-1, 0}\equiv\top\); khi \(k=n\), có thể đơn giản hóa toàn bộ ràng buộc thành các mệnh đề đơn vị \(x_i\).

Định lý (Đúng đắn của NSC)
Hệ thức truy hồi (xem phần này) cùng các điều kiện (xem phần này) tương đương theo phép chiếu với \(\sum_{i=1}^{n}x_i=k\).
Chứng minh. Hệ thức truy hồi và các hằng biên cho, bằng quy nạp theo \(i\), \[ R_{i, j}=1 \Longleftrightarrow \sum_{q=1}^{i}x_q\ge j. \]

Nếu có hơn \(k\) đầu vào đúng, xét đầu vào đúng thứ \(k+1\), ký hiệu \(x_i\). Ngay tại vị trí trước đó, \(R_{i-1, k}=1\), trái với (xem phần này). Do đó tổng không vượt \(k\).

Ngược lại, (xem phần này) chỉ đúng khi \(k\) đầu vào đầu tiên đã xuất hiện trong \(n-1\) vị trí đầu, hoặc \(x_n=1\) và tiền tố trước đó chứa ít nhất \(k-1\) đầu vào đúng. Vì vậy tổng ít nhất \(k\). Hai cận cho tổng đúng bằng \(k\). Với mọi vectơ \(X\) có tổng \(k\), gán \(R_{i, j}\) theo tổng tiền tố thật thỏa hệ thức truy hồi và cả hai điều kiện biên.

Exactly-\(3\) trên sáu biến
Với \(n=6, k=3\), NSC tạo \[ \min(1, 3)+\min(2, 3)+\cdots+\min(5, 3)=12 \]

biến thanh ghi, thay vì \(5\cdot3=15\) ô của bảng chữ nhật. Xét

\[ x=(1, 0,1, 0,0, 1). \]

Sau năm biến, tổng tiền tố bằng \(2\), nên

\[ (R_{5, 1},R_{5, 2},R_{5, 3})=(1, 1,0). \]

Điều kiện cuối \(R_{5, 3}\lor(x_6\land R_{5, 2})\) đúng chính vì \(x_6=1\) và tiền tố đã đạt ngưỡng \(2\). Nếu đặt thêm \(x_5=1\), ta có \(R_{5, 3}=1\); mệnh đề chống tràn \(x_6\rightarrow\neg R_{5, 3}\) lập tức buộc \(x_6=0\). Hai tình huống này minh họa lần lượt biên dưới và biên trên của cùng một thanh ghi.

Cơ chế suy diễn lan truyền hai chiều

Bộ đếm hữu ích vì các cận xuất hiện sớm trong tìm kiếm. Hai tình huống quan trọng có thể kiểm tra trực tiếp:

  1. Khi đã có \(k\) đầu vào đúng trong một tiền tố, thanh ghi mức \(k\) của tiền tố đó trở thành đúng. Các mệnh đề chống tràn buộc mọi đầu vào còn lại về \(0\).
  2. Khi số vị trí có thể còn nhận giá trị \(1\) vừa đủ để đạt \(k\), điều kiện cận dưới và các quan hệ kéo theo lùi lần lượt loại nhánh đặt một vị trí còn lại về \(0\).

Hai hướng lan truyền này tương ứng với hai biên “đã đủ” và “phải dùng hết phần còn lại”. Chúng nên được kiểm tra bằng phép thử đơn vị trên mọi phép gán bộ phận nhỏ, thay vì suy luận hiệu quả chỉ từ số biến hoặc số mệnh đề.

Dùng một thanh ghi cho nhiều giao diện

Khi thanh ghi đã có đặc tả ngưỡng, nhiều ràng buộc có thể đọc cùng một mô-đun:

\[ \sum X\le k \quad\Longrightarrow\quad \text{các mệnh đề chống tràn}, \] \[ \sum X\ge k \quad\Longrightarrow\quad \text{đầu ra đạt ngưỡng cuối}, \] \[ \sum X=k \quad\Longrightarrow\quad \text{kết hợp hai giao diện trên}. \]

Nếu cần nhiều cận \(k_1<k_2<\cdots\), bộ đếm nên được tạo đến ngưỡng lớn nhất rồi cung cấp các đầu ra nhỏ hơn. Cách này tránh xây hai mạng đếm độc lập cho ràng buộc và hàm mục tiêu.

Nghiên cứu tình huống ngắn: xếp nhóm chơi golf

Từ thiết kế tổ hợp đến mô hình SAT

Social Golfer (bài toán xếp nhóm người chơi golf) vừa là bài toán lập lịch vừa là bài toán thiết kế tổ hợp. Ba nguồn khó đan xen với nhau: ràng buộc đúng kích thước nhóm, cấm lặp cặp người chơi và một nhóm đối xứng lớn do hoán vị tuần, nhóm, người. Vì vậy, hiệu quả của một phép biểu diễn ràng buộc đếm trên SGP không thể tách khỏi lựa chọn biến chính và cách phá vỡ đối xứng.

Các mô hình SAT trước đó từng dùng thêm chỉ số vị trí trong nhóm, sau đó được sửa và rút gọn bằng biến người–nhóm–tuần cùng cấu trúc bậc thang (Triska & Musliu, 2012). Dòng phát triển này minh họa một quy tắc quan trọng: bỏ một chỉ số không mang nghĩa thường tạo lợi ích lớn hơn tối ưu vài mệnh đề trong chính bộ biểu diễn ràng buộc đếm. Phép đánh giá NSC vì thế bắt đầu sau khi phần biểu diễn đối tượng đã được chuẩn hóa.

Một bài toán thử \(g\)-\(p\)-\(w\) có \(n=gp\) người chơi, \(g\) nhóm mỗi tuần, mỗi nhóm có \(p\) người và \(w\) tuần. Biến ba chỉ số

\[ G_{i, r,t}=1 \quad\Longleftrightarrow\quad \text{người chơi \(i\) thuộc nhóm \(r\) ở tuần \(t\)} \]

loại bỏ chỉ số vị trí bên trong nhóm, bởi thứ tự các thành viên trong một nhóm không mang ý nghĩa.

Mô hình gồm ba họ ràng buộc:

\[ &\sum_{r=1}^{g}G_{i, r,t}=1 &&\text{với mọi người chơi \(i\), tuần \(t\)},\\ &\sum_{i=1}^{n}G_{i, r,t}=p &&\text{với mọi nhóm \(r\), tuần \(t\)},\\ &\neg G_{i, r,t}\lor\neg G_{j, r,t}\lor \neg G_{i, s,u}\lor\neg G_{j, s,u} &&\text{với \(i<j,\ t<u\)}. \]

Họ thứ ba cấm một cặp người chơi gặp nhau ở cả nhóm \(r\), tuần \(t\) và nhóm \(s\), tuần \(u\). NSC được dùng ở họ thứ hai; mỗi cặp nhóm–tuần có một bộ đếm tam giác riêng (Kieu et al., 2026).

Hai phép chuẩn hóa rẻ được thêm vào mô hình. Tuần đầu được cố định thành các khối người chơi liên tiếp; ở các tuần sau, một số người chơi neo được gán vào các nhóm đã định. Chúng loại các hoán vị hiển nhiên của người chơi, nhóm và tuần mà không thêm biến phụ.

Hình: Một lịch khả thi cho bài toán nhỏ \(3\)-\(2\)-\(2\). Mỗi ô nhóm là
một ràng buộc đúng \(2\); tuần đầu có thể được cố định làm lát chuẩn.
Hình: Một lịch khả thi cho bài toán nhỏ \(3\)-\(2\)-\(2\). Mỗi ô nhóm là một ràng buộc đúng \(2\); tuần đầu có thể được cố định làm lát chuẩn.
Kết quả trên 66 bài toán Social Golfer
Trong thí nghiệm của (Kieu et al., 2026), cấu hình dùng NSC giải được 56/66 bài toán; các cấu hình ADDER, BDD và CARD cùng giải được 54, còn BINOMIAL giải được 32. NSC có số lần hết thời hạn thấp nhất; thứ hạng trên từng bài toán thay đổi theo cấu trúc của công thức. Kết quả làm rõ lợi ích của việc cân bằng số biến, số mệnh đề và cấu trúc lan truyền.

Phân tích kết quả

Mô hình ba chỉ số loại đối xứng vị trí, còn trạng thái tuần tự tam giác cung cấp một phép biểu diễn EXK cạnh tranh cho ràng buộc kích thước nhóm. Có thể đo riêng tác động của NSC bằng cách giữ cố định mô hình SGP, chỉ thay mô-đun kích thước nhóm, phân tầng theo \(p\), \(g\), \(w\) và tách các bài SAT/UNSAT.

Cài đặt và kiểm thử

Một bộ sinh NSC nên nhận dãy literal, cận \(k\) và chế độ AMK/ALK/EXK. Bảng ánh xạ \((i, j)\mapsto\texttt{varID}\) chỉ chứa ô hợp lệ. Ba lớp kiểm thử là đủ để bắt phần lớn lỗi biên:

  1. liệt kê toàn bộ vectơ đầu vào khi \(n\le8\) và so sánh với tổng thật;
  2. với mỗi vectơ hợp lệ, kiểm tra có tồn tại phần mở rộng cho biến \(R\);
  3. với mỗi phép gán một phần, so sánh literal đầu vào mà lan truyền đơn vị suy ra với các hệ quả trực tiếp của hai cận.

Các trường hợp \(k=0\), \(k=1\), \(k=n-1\), \(k=n\) cần được kiểm thử riêng. Đây là nơi quy ước hằng biên và phạm vi chỉ số thường gây lỗi nhất.

⚙️ Sinh NSC cho ràng buộc đúng \(K\)
Đầu vào: các literal \(x_1,\ldots, x_n\) và \(0\le k\le n\).
Đầu ra: CNF và ánh xạ ngữ nghĩa của các thanh ghi.
  1. Xử lý trực tiếp \(k=0\) bằng \(\bigwedge_i\neg x_i\) và \(k=n\) bằng \(\bigwedge_i x_i\). Nếu \(k>n/2\), có thể thay \(y_i=\neg x_i\) và đếm Exactly-\((n-k)\).
  2. Chỉ cấp phát \(R_{i, j}\) với \(1\le i\le n-1\) và \(1\le j\le\min(i, k)\); ghi ánh xạ \(R_{i, j}\leftrightarrow[\sum_{q=1}^{i}x_q\ge j]\).
  3. Với từng ô hợp lệ, phân rã tương đương \(R_{i, j}\leftrightarrow R_{i-1, j}\lor(x_i\land R_{i-1, j-1})\), thay \(R_{i, 0}=\top\), \(R_{0, j}=\bot\), rồi giản lược các literal hằng.
  4. Sinh các mệnh đề chống tràn của~(công thức eq:nsc-overflow).
  5. Sinh điều kiện đạt cận dưới~(công thức eq:nsc-lower); trả CNF và ánh xạ.

Miền lựa chọn của NSC

NSC loại chính xác \(k(k-1)/2\) ô so với bảng chữ nhật, nên tỷ lệ tiết kiệm biến chỉ là

\[ \frac{k(k-1)/2}{k(n-1)} =\frac{k-1}{2(n-1)}. \]

Khi \(n\) lớn nhưng \(k\) cố định, tỷ lệ này tiến về \(0\); hằng số của ánh xạ và các mệnh đề hai chiều có thể quan trọng hơn phần tam giác bị bỏ. Với \(k\) gần \(n\), đếm các literal bù \(\neg x_i\) đến \(n-k\) thường gọn hơn. Nếu cùng một tập đầu vào cần nhiều cận hoặc cần thay cận tăng dần, Totalizer và mạng đếm có đầu ra chia sẻ tự nhiên hơn một NSC chuyên biệt. BDD cũng có thể thắng khi phép rút gọn hợp nhất được nhiều trạng thái tương đương.

Bộ chọn cho ràng buộc đúng \(K\) dùng \(n\), \(\min(k, n-k)\), số cận sẽ được truy vấn, nhu cầu giải tăng dần và đặc tả lan truyền làm đặc trưng. NSC phù hợp với một cận cố định và vùng tam giác bị cắt đủ lớn; Totalizer/mạng đếm phù hợp khi cần chia sẻ nhiều đầu ra. Kết quả Social Golfer minh họa cách các đặc trưng này dẫn đến một lựa chọn hiệu quả trên họ bài toán tương ứng.

Bài học thiết kế

Tổng kết Bài học
  1. Miền trạng thái khả đạt quyết định hình dạng bộ đếm.
  2. Thanh ghi \(R_{i, j}\) có đặc tả ngưỡng rõ ràng, không chỉ là biến Tseitin vô danh.
  3. Ràng buộc đúng \(K\) là sự kết hợp của một biên tràn và một điều kiện đạt ngưỡng cuối.
  4. Hiệu quả cần được đọc đồng thời qua kích thước, lan truyền và hành vi giải trên bài toán khó.
  5. Social Golfer cho thấy lựa chọn biến chính và phép biểu diễn ràng buộc đếm phải được thiết kế cùng nhau.

Câu hỏi nghiên cứu

  1. Vẽ miền biến \(R_{i, j}\) cho \(n=7, k=3\) và tính phần tiết kiệm so với bảng chữ nhật.
  2. Viết các mệnh đề chống tràn cho \(\sum_{i=1}^{6}x_i\le2\).
  3. So sánh hai mô hình Social Golfer có và không có chỉ số vị trí trong nhóm về số biến chính và nhóm đối xứng còn lại.

Chương 7: Phá Đối xứng và Kênh liên kết Variable-Channeling

Hình 7.2 · Quỹ đạo đại diện phá đối xứng (Symmetry Breaking)
Hình 7.2 · Quỹ đạo đại diện phá đối xứng (Symmetry Breaking)
Một phép biểu diễn tốt không chỉ mô tả nghiệm; mô hình còn quyết định cách bộ giải nhìn thấy các nghiệm tương đương và các xung đột cục bộ. Symmetry breaking (phá vỡ đối xứng) thu gọn không gian tìm kiếm, còn channeling (liên kết biểu diễn) nối các tiêu chí bổ trợ của cùng một quyết định.
Quyết định gốc
Nhóm đối xứng
Đại diện chuẩn
↙ Biến quan hệ
↘ Mệnh đề cục bộ

Hai cấp đối xứng: mô hình và công thức

Một đối xứng của bài toán tác động lên đối tượng miền: đổi tên khung chứa, máy, nhóm, tuần, màu hoặc phản xạ hình học. Một đối xứng của CNF là hoán vị biến và literal bảo toàn tập mệnh đề. Hai nhóm này liên quan nhưng không trùng nhau. Phép biểu diễn có thể:

  • làm một đối xứng miền biến mất vì không biểu diễn chỉ số thừa;
  • làm một đối xứng miền trở nên khó phát hiện do biến phụ;
  • tạo đối xứng phụ mới giữa các trạng thái tương đương;
  • có đối xứng cú pháp không tương ứng với một phép biến đổi nghiệm dễ diễn giải.

Các vị từ phá vỡ đối xứng tổng quát xây một điều kiện chọn đại diện cho các quỹ đạo của bài toán tìm kiếm (Crawford et al., 1996). Ở cấp CNF, những hệ như Shatter xây đồ thị tô màu của công thức, tìm tự đẳng cấu rồi sinh các ràng buộc phá vỡ đối xứng (Aloul et al., 2003). Ở cấp mô hình, người thiết kế đã biết ngữ nghĩa nên có thể viết ràng buộc ngắn hơn, chẳng hạn tiền tố khung chứa đã dùng. Hai cách bổ sung nhau: phá vỡ đối xứng miền được áp dụng trước; phát hiện trên CNF tìm phần đối xứng còn sót.

Bảng: Bốn cấp khai thác đối xứng.
CấpĐầu vàoLợi thếHạn chế
Mô hìnhĐối tượng và phép đổi tênRàng buộc ngắn, có chứng minh miềnCần tri thức bài toán
CNF tĩnhĐồ thị công thứcTự động, dùng cho mô hình bất kỳBiến phụ có thể che đối xứng
ĐộngTrạng thái tìm kiếmKhai thác đối xứng còn lạiChi phí tích hợp bộ giải
Chuẩn hóaToàn quỹ đạoCó thể giữ một đại diệnRàng buộc lớn/lan truyền sâu

Các lớp ràng buộc phá vỡ đối xứng được ghép theo thứ tự. Ràng buộc miền làm thay đổi nhóm tự đẳng cấu của đồ thị; bộ phá vỡ đối xứng tự động vì thế chạy trên công thức đã có mệnh đề đơn vị và liên kết biểu diễn. Mỗi lớp bảo toàn ít nhất một đại diện của các quỹ đạo còn lại, còn thí nghiệm phân tích thành phần (ablation study) đo tác động của từng lớp lên hiệu năng (Gent et al., 2006).

Đối xứng như tác động lên nghiệm

Gọi \(S\) là tập nghiệm khả thi và \(\Gamma\) là một nhóm các phép biến đổi bảo toàn tính khả thi và giá trị mục tiêu. Hai nghiệm \(s, s'\in S\) tương đương khi tồn tại \(\gamma\in\Gamma\) sao cho \(s'=\gamma(s)\). Tập

\[ \operatorname{Orb}(s)=\left\{\gamma(s)\suchthat\gamma\in\Gamma\right\} \]

là quỹ đạo của \(s\).

Phá vỡ đối xứng thêm công thức \(B\) sao cho mỗi quỹ đạo còn ít nhất một đại diện:

\[ \forall s\in S,\qquad \operatorname{Orb}(s)\cap\operatorname{Mod}(B)\ne\varnothing. \]

Không nhất thiết phải giữ đúng một đại diện. Trong thực hành, một tập ràng buộc phá vỡ đối xứng nhỏ, rẻ và phù hợp với mô hình thường hữu ích hơn việc cố gắng biểu diễn một dạng chuẩn hoàn chỉnh (Walsh, 2006; Gent et al., 2006).

Hình: Một quỹ đạo gồm bốn cách biểu diễn tương đương. Ràng buộc phá đối
xứng hợp lệ giữ ít nhất một nút; phép chuẩn hóa mạnh hơn sẽ cố giữ đúng một nút.
Hình: Một quỹ đạo gồm bốn cách biểu diễn tương đương. Ràng buộc phá đối xứng hợp lệ giữ ít nhất một nút; phép chuẩn hóa mạnh hơn sẽ cố giữ đúng một nút.
Chứng minh theo phép biến đổi
Chứng minh một ràng buộc phá vỡ đối xứng bằng phép hoán vị hoặc phép phản xạ đưa mọi nghiệm bị loại sang một nghiệm giữ lại. Ánh xạ này đồng thời xác định nhóm đối xứng và đại diện được bảo toàn.

Loại đối xứng ngay từ lựa chọn biến

Biến chính có thể tạo hoặc loại đối xứng. Trong Social Golfer, biến \(G_{i, r,t}\) chỉ ghi người chơi, nhóm và tuần. Nếu thêm chỉ số vị trí trong nhóm, mỗi nhóm \(p\) người tạo thêm \(p!\) cách biểu diễn cùng một tập. Trong bài toán đóng gói (packing problem), biến chiếm chỗ theo từng ô có thể tạo nhiều cách diễn giải một hình chữ nhật; biến tọa độ và hướng đặt biểu diễn hình học trực tiếp hơn.

Nguyên tắc chung là:

\[ \text{không Order Encoding nếu thứ tự không thuộc nghiệm.} \]

Sau bước chọn biến, các ràng buộc phá vỡ đối xứng xử lý nhóm đối xứng còn lại. Cách tiếp cận đó giảm cả số biến lẫn số mệnh đề; bước phá vỡ đối xứng tiếp tục giảm số mô hình.

Bốn mẫu phá vỡ đối xứng

Cố định một lát chuẩn

Khi các lớp thời gian hoặc tài nguyên hoán vị tự do, có thể cố định lát đầu. Với Social Golfer, tuần đầu được chuẩn hóa:

\[ G_{i, r,1}=1 \quad\text{khi}\quad (r-1)p<i\le rp. \]

Mọi lịch khả thi có thể đổi tên người chơi và nhóm để thỏa cách sắp này. Những Các mệnh đề đơn vị đó loại một phần lớn quỹ đạo mà hầu như không tăng chi phí giải (Kieu et al., 2026).

Tiền tố sử dụng và thứ tự ưu tiên giá trị

Giả sử \(u_b\) cho biết khung chứa \(b\) được dùng. Vì tên các khung chứa có thể hoán vị, áp đặt

\[ u_{b+1}\rightarrow u_b. \]

Các khung chứa được dùng tạo thành một tiền tố. Với các giá trị đối xứng, thứ tự ưu tiên giá trị yêu cầu lần xuất hiện đầu của giá trị nhỏ hơn đứng trước lần xuất hiện đầu của giá trị lớn hơn. Hai mẫu này cùng chọn thứ tự theo “lần sử dụng đầu”, nhưng tiền tố sử dụng chỉ cần một dãy Boolean nên thường rẻ hơn.

Mệnh đề (Tiền tố sử dụng không làm mất lớp nghiệm)
Giả sử các khung chứa có cùng miền, cùng sức chứa và hàm mục tiêu không phụ thuộc vào tên khung. Với biến gán \(a_{ib}\) và biến sử dụng \(u_b\), mọi nghiệm đều có một nghiệm cùng giá trị mục tiêu thỏa \(u_{b+1}\rightarrow u_b\).
Chứng minh. Cho \(U=\left\{b:u_b=1\right\}\) và \(q=\left|U\right|\). Chọn một song ánh \(\pi:U\to\left\{1,\ldots, q\right\}\), rồi mở rộng \(\pi\) thành một hoán vị trên toàn bộ tập khung chứa. Định nghĩa \[ a'_{i,\pi(b)}=a_{ib}, \qquad u'_{\pi(b)}=u_b . \]

Mọi biến thuộc bản thân vật \(i\), như tọa độ, phép quay hay kích thước, được giữ nguyên. Vì sức chứa và các ràng buộc gán được phát biểu đồng nhất cho mọi khung, đổi tên theo \(\pi\) bảo toàn tính khả thi; vì hàm mục tiêu không đọc chỉ số khung, giá trị mục tiêu cũng không đổi. Trong nghiệm mới, \(u'_1=\cdots=u'_q=1\) và \(u'_{q+1}=\cdots=0\), nên toàn bộ implication \(u'_{b+1}\rightarrow u'_b\) đúng.

Chứng minh trên cũng chỉ rõ điều kiện không thỏa: nếu khung chứa có sức chứa, chi phí hoặc miền khác nhau thì hoán vị tùy ý không còn là đối xứng. Khi đó chỉ được áp dụng tiền tố trong từng lớp khung chứa thật sự đồng nhất.

Lex-leader

Với hai vector đại diện các đối tượng hoán vị được,

\[ A=\langle a_1,\ldots, a_m\rangle,\qquad B=\langle b_1,\ldots, b_m\rangle, \]

ràng buộc \(A\le_{\mathrm{lex}}B\) chọn thứ tự từ điển. Một phép biểu diễn dùng các biến bằng nhau trên tiền tố \(e_i\):

\[ e_i\leftrightarrow e_{i-1}\land(a_i\leftrightarrow b_i), \qquad e_0=\top, \]

và cấm \(e_{i-1}\land a_i\land\neg b_i\). Lex-leader (ràng buộc dẫn đầu theo thứ tự từ điển) mạnh hơn tiền tố sử dụng nhưng tạo thêm một chuỗi biến phụ cho mỗi cặp được so sánh.

Neo hình học và phản xạ

Với khung chứa hình chữ nhật, các phép phản xạ hoặc quay toàn bố cục có thể bảo toàn nghiệm. Một vật chuẩn—thường là vật lớn nhất theo diện tích rồi theo cạnh dài—được neo vào nửa trái hoặc một góc chuẩn:

\[ 2x_a+w_a\le W. \]

Điều kiện phải khớp với nhóm đối xứng thật. Nếu khung chứa, miền quay hoặc hàm mục tiêu không bất biến qua phản xạ thì ràng buộc này không hợp lệ.

Ràng buộc mạnh nhất không mặc nhiên là tốt nhất
Mỗi ràng buộc phá vỡ đối xứng đổi cấu trúc mệnh đề, thứ tự quyết định và các xung đột học được. Nên so sánh ít nhất ba cấu hình: không phá vỡ đối xứng, ràng buộc rẻ và ràng buộc mạnh. Kết luận dựa trên số bài toán giải được và thời gian, không chỉ trên số mô hình bị loại.

Biến quan hệ cho các phép tuyển

Nhiều bài toán có ràng buộc dạng

\[ A\lor B\lor C\lor D. \]

Trong bài toán đóng gói, hai hình \(i, j\) không chồng lấn khi ít nhất một quan hệ đúng:

\[ L_{ij}\lor L_{ji}\lor B_{ij}\lor B_{ji}, \]

trong đó \(L_{ij}\) nghĩa là \(i\) nằm trái \(j\), còn \(B_{ij}\) nghĩa là \(i\) nằm dưới \(j\). Trong lập lịch, hai tác vụ dùng cùng tài nguyên cần

\[ P_{ij}\lor P_{ji}, \]

với \(P_{ij}\) nghĩa là \(i\) kết thúc trước khi \(j\) bắt đầu.

Witness variable (biến làm chứng) là biến chỉ ra nhánh nào của phép tuyển được chọn. Trong mô hình này, biến quan hệ đóng vai trò biến làm chứng cho một nhánh của phép tuyển. Chúng rút ràng buộc toàn cục thành các mệnh đề cục bộ quanh cặp đối tượng. Khi một quan hệ được chọn, lựa chọn này kích hoạt một quan hệ suy diễn kéo theo trên tọa độ hoặc thời gian; khi miền tọa độ loại quan hệ đó, mệnh đề tuyển buộc bộ giải chọn quan hệ còn lại.

Biến quan hệ và giá trị hỗ trợ

Từ góc nhìn chuyển CSP sang SAT, biến quan hệ nằm giữa Direct Encoding và mã hóa hỗ trợ. Mô hình không chọn toàn bộ giá trị của hai biến; phép biểu diễn chỉ chọn một lớp cặp giá trị, chẳng hạn “trái”, “dưới” hoặc “trước”. Mỗi lớp sau đó được liên kết sang các literal biên của miền. Đây là một phép phân tích thành nhân tử:

\[ \text{bảng cặp giá trị hợp lệ} = \bigcup_{q\in Q}\text{lớp hỗ trợ}(q). \]

Nếu \(|Q|\) nhỏ và mỗi lớp được mô tả bằng vài bất đẳng thức, các biến quan hệ nén một bảng cấm lớn. Nếu các lớp chồng lấn quá nhiều hoặc không có mô tả ngắn, biến quan hệ chỉ thêm một tầng trung gian.

Hình: Bốn lớp hỗ trợ của quan hệ không chồng lấn giữa hai hình chữ nhật.
Một literal quan hệ làm chứng cho cả một lớp cặp tọa độ.
Hình: Bốn lớp hỗ trợ của quan hệ không chồng lấn giữa hai hình chữ nhật. Một literal quan hệ làm chứng cho cả một lớp cặp tọa độ.

Order Encoding và các literal so sánh

Cho biến nguyên \(z\in\{0,\ldots, U\}\). Order Encoding dùng

\[ o_{z, t}=1 \quad\Longleftrightarrow\quad z\ge t, \qquad t=1,\ldots, U. \]

Tính đơn điệu được biểu diễn bởi

\[ o_{z, t+1}\rightarrow o_{z, t}. \]

Một cận \(z\ge a\) là mệnh đề đơn vị \(o_{z, a}\); cận \(z\le b\) là \(\neg o_{z, b+1}\). Phép so sánh dịch chuyển

\[ x_i+w_i\le x_j \]

trở thành các mệnh đề cấm mọi cặp ngưỡng mâu thuẫn. Khi \(w_i\) là hằng, cấu trúc dịch chuyển này có tính địa phương cao và phù hợp với bài toán đóng gói (packing problem) (Soh et al., 2010; Kieu et al., 2025; Kieu et al., 2025).

Với lập lịch, cùng kỹ thuật biểu diễn

\[ s_i+p_i\le s_j. \]

Nhờ vậy, biến quan hệ \(P_{ij}\) có thể liên kết trực tiếp với các literal thứ tự của \(s_i, s_j\), thay vì tạo một mạch cộng tổng quát (Kieu & To, 2025).

Liên kết Direct Encoding–thứ tự cho một giá trị nguyên
Cho \(z\in\{0, 1,2, 3,4\}\). Direct Encoding có \(d_a\Leftrightarrow(z=a)\); Order Encoding có \(o_t\Leftrightarrow(z\ge t)\). Hai góc nhìn được nối bởi \[ d_a\leftrightarrow o_a\land\neg o_{a+1}, \qquad o_0\equiv\top,\quad o_5\equiv\bot. \]

Nếu bộ giải suy ra \(o_3=1, o_4=0\), các mệnh đề liên kết buộc \(d_3=1\), rồi ràng buộc đúng một trên \(d_0,\ldots, d_4\) loại mọi giá trị khác. Theo chiều ngược, \(d_2=1\) buộc \(o_1=o_2=1\) và \(o_3=o_4=0\), khiến các ràng buộc cận đọc được ngay \(z=2\). Ví dụ này cho thấy lợi ích của liên kết hai chiều không nằm ở số mô hình mà ở đường truyền suy luận giữa hai giao diện.

Liên kết một chiều hay hai chiều

Giả sử \(q\) là biến quan hệ và \(\Phi\) là công thức miền gốc biểu diễn quan hệ đó. Có ba mức liên kết:

\[ q\rightarrow\Phi,\qquad \Phi\rightarrow q,\qquad q\leftrightarrow\Phi. \]

Chiều đầu đủ cho tính đúng nếu \(q\) chỉ được dùng làm biến làm chứng được chọn: bộ giải không thể đặt \(q=1\) khi quan hệ hình học sai. Chiều ngược giúp miền tọa độ suy ra \(q\); liên kết hai chiều cho phép lan truyền qua cả hai biểu diễn.

Lựa chọn phụ thuộc vào cách mô-đun sử dụng đọc biến:

  • Nếu mệnh đề \(q_1\lor\cdots\lor q_r\) yêu cầu một biến làm chứng và không nơi nào đọc \(\neg q\), quan hệ kéo theo tiến thường đủ.
  • Nếu \(\neg q\) được dùng để kết luận quan hệ đối nghịch, phải có đặc tả mạnh hơn.
  • Nếu nhiều ràng buộc và hàm mục tiêu chia sẻ \(q\), quan hệ tương đương giúp tránh các trạng thái phụ không mang nghĩa.
Ví dụ minh họa
Với hai tác vụ cùng máy, đặt \(P_{ij}\lor P_{ji}\). Hai mệnh đề liên kết \[ P_{ij}\rightarrow(s_i+p_i\le s_j), \qquad P_{ji}\rightarrow(s_j+p_j\le s_i) \]

đã bảo đảm chúng không chồng lấn. Nếu quan hệ trước–sau từ một ràng buộc khác cho biết \(s_i+p_i\le s_j\), chiều ngược \((s_i+p_i\le s_j)\rightarrow P_{ij}\) có thể truyền quan hệ này sang các mô-đun khác.

Lan truyền qua vòng liên kết

Phép biểu diễn kết hợp tạo một vòng suy luận:

\[ \text{lựa chọn chính xác} \rightarrow \text{các ngưỡng} \rightarrow \text{quan hệ} \rightarrow \text{ngưỡng của biến khác}. \]

Mỗi chiều liên kết đóng một đường suy luận trong vòng trên. Phép đánh giá bắt đầu bằng danh sách các suy luận miền mong muốn, sau đó tìm tập chiều tối thiểu tạo được chúng. Đặc tả này có thể kiểm bằng các phép gán một phần và lan truyền đơn vị như trong Chương 2.

Việc giữ nhiều góc nhìn cũng liên quan đến biểu diễn lại có cấu trúc: biến phụ có giá trị khi đặt tên cho một lớp hỗ trợ được nhiều ràng buộc dùng lại, thay vì chỉ thay một biểu thức xuất hiện một lần (Haberlandt et al., 2023).

Hình: Vòng liên kết trong phép biểu diễn kết hợp. Thiếu một chiều có thể làm
đứt một đường lan truyền đơn vị dù công thức vẫn đúng theo phép chiếu.
Hình: Vòng liên kết trong phép biểu diễn kết hợp. Thiếu một chiều có thể làm đứt một đường lan truyền đơn vị dù công thức vẫn đúng theo phép chiếu.

Phép quay và kích thước có điều kiện

Khi vật \(i\) được phép quay, biến \(\rho_i\) chọn hướng đặt:

\[ (w_i(\rho_i),h_i(\rho_i)) = \begin{cases} (w_i, h_i),&\rho_i=0,\\ (h_i, w_i),&\rho_i=1. \end{cases} \]

Các literal quan hệ được chia sẻ cho hai hướng đặt và được liên kết với phép so sánh dịch chuyển dưới điều kiện gác \(\rho_i,\rho_j\). Ví dụ, \(L_{ij}\) sinh bốn họ mệnh đề, mỗi họ ứng với một tổ hợp hướng đặt còn hợp lệ. Các tổ hợp không vừa khung chứa bị loại bằng mệnh đề đơn vị hoặc mệnh đề nhị phân trước khi sinh quan hệ cặp.

Cách tổ chức này tách ba tầng:

\[ \text{hướng đặt} \longrightarrow \text{kích thước hiệu dụng} \longrightarrow \text{quan hệ không chồng lấn}. \]

Cấu trúc này cũng cho phép tái sử dụng cùng biến \(\rho_i\) trong cận miền, quy tắc trội và bộ giải mã.

Đồ thị xung đột và tính địa phương

Đồ thị xung đột \(H=(V, E)\) chọn chính xác các cặp cần biến quan hệ: \(\{i, j\}\in E\) khi hai đối tượng có thể cạnh tranh cùng tài nguyên, chồng lấn hình học hoặc vi phạm một cận cục bộ.

Trong lập lịch, cạnh xuất hiện khi hai tác vụ có thể cùng dùng một tài nguyên và miền thời gian của chúng giao nhau. Trong bài toán đóng gói, mọi cặp vật cùng khung chứa là ứng viên, nhưng cận miền và quan hệ trội có thể cố định trước một số quan hệ. Trong phân bổ tần số, cạnh là cặp máy phát có yêu cầu khoảng cách nhãn.

Thiết kế theo đồ thị đem lại hai lợi ích: kích thước tỉ lệ với số tương tác thật, và mệnh đề học được thường nằm quanh một lân cận nhỏ. Đây là một tiêu chí cụ thể về mức độ phù hợp với bộ giải, thay vì chỉ nói phép biểu diễn “gọn”.

Kiến trúc kết hợp

Một mô hình SAT lớn nên ghép các mô-đun theo thứ tự sau:

  1. chọn biến chính loại các chỉ số không mang nghĩa;
  2. tạo miền thứ tự/trực tiếp cho thời gian, tọa độ hoặc nhãn;
  3. tạo biến quan hệ trên đồ thị xung đột;
  4. liên kết mỗi quan hệ với các literal miền;
  5. thêm ràng buộc đếm hoặc Shared Counter cho tài nguyên;
  6. thêm các ràng buộc phá vỡ đối xứng có chứng minh quỹ đạo;
  7. gắn hàm mục tiêu bằng các giả định hoặc mệnh đề mềm.

Các nghiên cứu về lập lịch, đóng gói dải/khung chứa và Social Golfer trong (Kiều Văn Tuyên, 2025) cho thấy ba lựa chọn đầu—biến chính, quan hệ và đối xứng—quyết định cấu trúc CNF trước khi chọn bộ giải. Các chương sau dùng chính kiến trúc này cho bốn họ bài toán.

Bài học thiết kế

Tổng kết Bài học
  1. Loại đối xứng biểu diễn trước khi thêm các mệnh đề phá vỡ đối xứng.
  2. Một breaker hợp lệ phải giữ ít nhất một đại diện của mọi quỹ đạo.
  3. Biến quan hệ là biến làm chứng có ngữ nghĩa, giúp cục bộ hóa phép tuyển.
  4. Liên kết mạnh đến đâu phụ thuộc vào cách biến quan hệ được đọc.
  5. Order Encoding làm các cận dịch chuyển trở thành mệnh đề đơn giản.
  6. Đồ thị xung đột xác định nơi thật sự cần biến phụ.

Câu hỏi nghiên cứu

  1. Chứng minh tiền tố sử dụng giữ một đại diện khi các khung chứa hoàn toàn giống nhau.
  2. Viết liên kết một chiều cho bốn quan hệ không chồng lấn của hai hình.
  3. Cho một ràng buộc phản xạ trong bài toán đóng gói (packing problem) dải và nêu điều kiện để ràng buộc đó hợp lệ.

Chương 8: Ứng dụng trong Lập lịch và Dây chuyền Sản xuất

Hình 8.3 · Cửa sổ ALSC tái sử dụng trong lập lịch
Hình 8.3 · Cửa sổ ALSC tái sử dụng trong lập lịch
Một phép biểu diễn cho bài toán thời gian chỉ thực sự rõ khi trả lời trực tiếp ba câu hỏi: quyết định nằm ở mốc nào, điều gì phải liên tục giữa các mốc, và cận mục tiêu được thay đổi ra sao trong quá trình giải.
Miền thời gian
Biến quyết định
Liên tục và tài nguyên
↙ Hàm mục tiêu
↘ Chứng nhận

Từ SAT theo mốc thời gian đến lazy clause generation

Lập lịch là một trong những miền sớm cho thấy SAT có thể giải các bài toán ngoài lôgic thuần túy. Các thí nghiệm SAT về lập lịch từ thập niên 1990 đã dùng quyết định theo mốc thời gian và mệnh đề xung đột để so sánh với phương pháp tìm kiếm chuyên dụng (Crawford & Baker, 1994). Từ đó, văn liệu phát triển theo ba hướng:

  1. biên dịch toàn bộ ràng buộc gán, thời gian và tài nguyên sang SAT;
  2. dùng MaxSAT/PB để biểu diễn mức phạt, ưu tiên hoặc số ca vi phạm;
  3. tích hợp lan truyền miền với học mệnh đề, điển hình là lazy clause generation (sinh mệnh đề lười, LCG).

LCG giữ biến miền và bộ lan truyền của CP, đồng thời gắn mỗi phép loại giá trị với một giải thích dạng mệnh đề; phân tích xung đột sau đó học trên các giải thích này. Trên RCPSP/max, kiến trúc đó kết hợp lan truyền lập lịch toàn cục với học mệnh đề (Schutt et al., 2013). Ở một hướng khác, MaxSAT bộ phận có trọng số cho phép tách độ phủ/tính hợp lệ thành các mệnh đề cứng và ưu tiên trong lập lịch nhân viên thành các mệnh đề mềm (Demirović et al., 2019).

Bảng: Các mô hình giải chính xác cho bài toán thời gian.
Mô hìnhTrạng thái thời gianCơ chế tài nguyênCận chủ đạo
SAT theo mốc thời gianMốc rời rạcXung đột/ràng buộc đếmUNSAT theo khung thời gian
SAT thứ tựNgưỡng thời gianQuan hệ + cận dịch chuyểnHọc mệnh đề
MaxSAT/PBNhư SAT + literal chi phíCứng/mềm hoặc PBLõi/cận chi phí
SMTBiến nguyên/thựcPhép tuyển + lý thuyếtLan truyền lý thuyết
CP/LCGMiền và khoảngBộ lan truyền toàn cụcLọc miền + mệnh đề
MIPBiến nhị phân/liên tụcBất đẳng thức tuyến tínhNới lỏng quy hoạch tuyến tính

Vì vậy, một phép biểu diễn lập lịch được đánh giá trên cả kích thước, sức lan truyền và biểu diễn đối chứng tương ứng: SAT theo mốc thời gian so với MIP mở rộng theo thời gian; SAT thứ tự so với lôgic sai phân/SMT; bộ đếm chuỗi dùng chung so với bộ lan truyền Sequence; và hàm mục tiêu MaxSAT so với PB hay hàm mục tiêu tuyến tính.

Kiến trúc chung của mô hình thời gian

Các bài toán trong chương có bề mặt khác nhau: xếp tác vụ không ngắt trên các máy đồng nhất, phân ca điều dưỡng, lập lịch cuộc họp B2B với cân bằng thời gian chờ, cân bằng dây chuyền theo đỉnh công suất và điều chỉnh lịch tàu. Tuy nhiên, phép biểu diễn của chúng đều có thể tách thành bốn lớp:

  1. gán: tác vụ, người hoặc chuyến tàu sử dụng tài nguyên nào;
  2. thời gian/thứ tự: thời điểm bắt đầu, kết thúc hoặc thứ tự trước–sau;
  3. liên tục/chuỗi: các quyết định cục bộ ghép thành một khoảng hoặc một chuỗi hợp lệ;
  4. hàm mục tiêu: thời điểm hoàn tất toàn lịch, đỉnh công suất, độ trễ hay số vi phạm.

Phân tách kiến trúc theo lớp không chỉ giúp trình bày mạch lạc, mà còn cho phép thay thế một mô-đun mà không đổi ngữ nghĩa của các mô-đun còn lại. Chẳng hạn, có thể giữ nguyên biến gán máy và thay phép biểu diễn cho tính không ngắt; hoặc giữ nguyên mô hình khả thi và thay vòng lặp tối ưu bằng SAT tăng dần hay MaxSAT.

Nguyên tắc thiết kế
Mỗi biến phụ phải thuộc về một lớp rõ ràng. Nếu một biến vừa được dùng để suy thời điểm, vừa được diễn giải như trạng thái hoạt động, cần có liên kết hai chiều hoặc một phép giải mã chứng minh được.

Lập lịch không ngắt trên các tài nguyên đồng nhất

Mô hình

Cho tập tác vụ \(J=\left\{1,\ldots, n\right\}\) và \(m\) tài nguyên đồng nhất. Tác vụ \(i\) có thời điểm sẵn sàng \(r_i\), thời lượng \(e_i\) và hạn hoàn tất \(d_i\). Thời điểm bắt đầu thuộc miền

\[ T_i=\left\{r_i, r_i+1,\ldots, d_i-e_i\right\}. \]

Nếu \(s_i\in T_i\), tác vụ chiếm tài nguyên trong nửa khoảng \([s_i, s_i+e_i)\). Hai tác vụ được gán cùng tài nguyên không được có hai khoảng giao nhau.

Một mô hình gọn dùng hai họ biến:

\[ y_{ij}=1 \iff i\text{ được gán cho tài nguyên }j, \qquad z_{it}=1 \iff i\text{ hoạt động tại }t . \]

Với mỗi tác vụ, các biến \(y_{ij}\) thỏa

\[ \mathrm{ExactlyOne}(y_{i1},\ldots, y_{im}). \]

Xung đột tài nguyên tại mốc \(t\) được loại bởi

\[ \neg z_{it}\lor \neg y_{ij}\lor \neg z_{i't}\lor \neg y_{i'j}, \qquad i<i'. \]

Mệnh đề này thể hiện xung đột có điều kiện: mệnh đề chỉ kích hoạt khi hai tác vụ cùng chọn tài nguyên \(j\).

Từ ràng buộc đếm đến một khối liên tục

Điều kiện

\[ \sum_t z_{it}=e_i \]

chỉ bảo đảm đủ số mốc hoạt động; cơ chế này không ngăn các mốc bị phân tách thành nhiều đoạn. Non-preemption (tính không ngắt: tác vụ phải chạy liên tục từ lúc bắt đầu đến lúc kết thúc) đòi hỏi mạnh hơn:

\[ z_{it}=1 \iff s_i\le t<s_i+e_i . \]

Direct Encoding có thể tạo một biến \(b_{is}\) cho từng thời điểm bắt đầu \(s\in T_i\). Trước hết phải đóng lựa chọn thời điểm bắt đầu bằng

\[ \mathrm{ExactlyOne}\bigl(b_{is}:s\in T_i\bigr). \]

Trong CNF, phần ít nhất một là mệnh đề \(\bigvee_{s\in T_i}b_{is}\); phần nhiều nhất một được sinh bằng biểu diễn từng cặp, Sequential Counter hoặc một mô-đun AMO khác tùy kích thước \(T_i\). Sau đó dùng

\[ b_{is}\rightarrow z_{it} \quad\text{với }s\le t<s+e_i, \qquad b_{is}\rightarrow \neg z_{it} \quad\text{ở ngoài khoảng.} \]

Cách này dễ hiểu nhưng lặp lại nhiều literal cho các thời điểm bắt đầu lân cận. Phép biểu diễn gọn thay phần lặp bằng các biến tiền tố/hậu tố có ngữ nghĩa “tất cả bằng 0” hoặc “tất cả bằng 1”. Hai thời điểm bắt đầu kế tiếp chia sẻ gần như toàn bộ cấu trúc; khác biệt của chúng chỉ nằm ở hai biên của khối.

Mệnh đề (Đúng đắn của phép biểu diễn theo khối)
Giả sử mô-đun khối bảo đảm: (i) tồn tại đúng một vị trí bắt đầu; (ii) từ vị trí đó có đúng \(e_i\) giá trị liên tiếp bằng \(1\); và (iii) mọi vị trí trước và sau khối đều bằng \(0\). Khi đó phép gán cho các biến \(z_{it}\) tương ứng duy nhất với một khoảng xử lý không ngắt hợp lệ của tác vụ \(i\).
Chứng minh. Từ (i), chọn vị trí bắt đầu \(s_i\). Điều kiện (ii) cho \(z_{it}=1\) trên \([s_i, s_i+e_i)\); điều kiện (iii) loại mọi giá trị \(1\) khác. Chiều ngược lại, từ một khoảng hợp lệ, đặt biến bắt đầu ở đầu khoảng và gán các biến tiền tố/hậu tố theo định nghĩa của chúng. Mọi mệnh đề của mô-đun đều được thỏa.
Hình: Ràng buộc đếm \(\sum_tz_{it}=3\) không phân biệt một khối liên tục với
ba mốc rời; tính không ngắt phải biểu diễn vị trí bắt đầu và hai biên khối.
Hình: Ràng buộc đếm \(\sum_tz_{it}=3\) không phân biệt một khối liên tục với ba mốc rời; tính không ngắt phải biểu diễn vị trí bắt đầu và hai biên khối.
Ba tác vụ trên hai máy
Cho \(J_1=(r=0, e=3, d=6)\), \(J_2=(0, 2,5)\), \(J_3=(1, 2,6)\). Một lịch hợp lệ là \[ M_1:\ J_1[0, 3)\ \ J_3[3, 5), \qquad M_2:\ J_2[0, 2). \]

Với \(t=1\), \(z_{1, 1}=z_{2, 1}=1\) nhưng hai tác vụ dùng máy khác nhau nên mệnh đề xung đột có điều kiện vẫn thỏa. Nếu đổi \(y_{2, 2}\) thành \(y_{2, 1}\), mệnh đề tại \(t=1, j=1\) trở thành \(\neg z_{1, 1}\lor\neg y_{1, 1}\lor \neg z_{2, 1}\lor\neg y_{2, 1}\) và bị vi phạm. Ví dụ tách rõ hai lớp: \(z\) nói khi nào tác vụ chạy, \(y\) nói tác vụ chạy ở vị trí nào.

Kết quả của (Kieu & To, 2025) cho thấy lợi ích chính của phép mã hóa gọn nằm ở việc tránh lặp cấu trúc liên tục. Cấu hình kết hợp biểu diễn theo khối với phá vỡ đối xứng và một phép biểu diễn giả Boolean thích hợp đạt tổng thời gian thấp nhất trong nhiều nhóm bài toán của nghiên cứu đó. Điều cần rút ra cho thiết kế là: tính không ngắt nên là một mô-đun độc lập, thay vì được ngầm suy từ một ràng buộc đếm.

Ràng buộc chuỗi trong lập lịch điều dưỡng

Cửa sổ trượt

Với dãy Boolean \(\Omega=(x_1,\ldots, x_n)\), một ràng buộc chuỗi cận dưới yêu cầu mọi cửa sổ độ rộng \(w\) chứa ít nhất \(k\) giá trị đúng:

\[ \operatorname{ALSC}(\Omega, w,k)= \bigwedge_{i=0}^{n-w} \left(\sum_{j=i+1}^{i+w}x_j\ge k\right). \]

Nếu biểu diễn từng cửa sổ bằng một phép biểu diễn ràng buộc đếm độc lập, hai cửa sổ kề nhau chia sẻ \(w-1\) biến gốc nhưng không chia sẻ biến phụ. Cấu trúc chuỗi vì thế đặt ra bài toán tái sử dụng biểu thức con.

Chia một cửa sổ thành hai phần \(A\) và \(B\). Ta có

\[ \sum_{x\in A\cup B}x\ge k \iff \bigwedge_{q=1}^{k} \left[ \left(\sum_{x\in A}x\ge q\right) \lor \left(\sum_{x\in B}x\ge k-q+1\right) \right]. \]

Mỗi mệnh đề ngưỡng trong ngoặc được biểu diễn bởi một thanh ghi chia sẻ. Khi cửa sổ trượt sang phải, phần lớn thanh ghi vẫn còn nguyên.

Ví dụ minh họa
Xét \(x_3+x_4+x_5+x_6\ge2\), chia thành hai khối \(A=(x_3, x_4)\) và \(B=(x_5, x_6)\). Nếu \(R_{A, q}\) mang nghĩa “\(A\) có ít nhất \(q\) giá trị đúng”, bộ nối chỉ cần \[ (R_{A, 1}\lor R_{B, 2}) \land (R_{A, 2}\lor R_{B, 1}). \]

Các thanh ghi của \(B\) tiếp tục được dùng trong cửa sổ kế tiếp.

Hình: Ba cửa sổ ALSC \((w=4, k=2)\) trên bảy ngày. Mỗi cửa sổ kề nhau chỉ
thay một ngày, nên các ngưỡng ở phần giao có thể dùng lại.
Hình: Ba cửa sổ ALSC \((w=4, k=2)\) trên bảy ngày. Mỗi cửa sổ kề nhau chỉ thay một ngày, nên các ngưỡng ở phần giao có thể dùng lại.

Đưa vào mô hình phân ca

Đặt \(x_{ids}=1\) khi điều dưỡng \(i\) làm loại ca \(s\) ở ngày \(d\). Mỗi cặp \((i, d)\) nhận đúng một trạng thái. Những quy tắc như “trong mọi \(w\) ngày có ít nhất \(k\) ngày nghỉ” trở thành ALSC; quy tắc at-most được đối ngẫu:

\[ \sum_{j=1}^{w}x_j\le q \iff \sum_{j=1}^{w}(1-x_j)\ge w-q. \]

Nhờ đó một bản cài đặt có thể dùng cùng một mô-đun cận dưới cho cả hai hướng.

Trong một mô hình phân ca đầy đủ, ràng buộc chuỗi chỉ là một lớp. Lớp độ phủ bảo đảm số nhân viên mỗi ca; ràng buộc hợp đồng giới hạn tổng giờ và số cuối tuần; ưu tiên tạo các chi phí mềm. Phép biểu diễn cửa sổ chia sẻ tác động trực tiếp lên lớp chuỗi, còn MaxSAT có trọng số là một lựa chọn cho hàm mục tiêu của toàn mô hình (Demirović et al., 2019). Ma trận thiết kế tách các lớp để đo riêng ảnh hưởng của ALSC, độ phủ và ưu tiên.

Kết quả tiêu biểu
Trên 28 bài toán Nurse Rostering (lập lịch điều dưỡng), với quy mô đến 120 điều dưỡng và 24 tuần, ALSCE giải toàn bộ tập thử trong nghiên cứu của (Truong et al., 2025); bài toán lớn nhất được báo cáo ở mức \(26{,}01\) giây. Kết quả này minh họa hiệu quả của kỹ thuật chia sẻ thanh ghi giữa các cửa sổ chồng lấn.

Lập lịch cuộc họp B2B với cân bằng thời gian chờ

Bài toán B2B và mục tiêu khoảng thời gian chờ

Bài toán lập lịch cuộc họp doanh nghiệp (Business-to-Business Meeting Scheduling Problem, B2B) xếp lịch cho tập các cuộc họp đối tác \(M\) vào tập mốc thời gian rời rạc \(T=\left\{1,\ldots, h\right\}\) và \(K\) phòng họp/địa điểm dùng chung (Pesant et al., 2015; Bofill et al., 2022). Mỗi cuộc họp \(m\in M\) được thực hiện bởi đúng hai đại biểu, ký hiệu \(\pi(m)\subseteq P\) với \(\left|\pi(m)\right|=2\), và có miền mốc khởi tạo \(D_m^0\subseteq T\) tương ứng với phiên làm việc, mốc cố định và mốc cấm của hai đại biểu. Đặt \(E\subseteq M\times M\) là tập các cung thứ tự tiên quyết giữa các cuộc họp. Một lịch xếp \(S: M\to T\) là hợp lệ nếu \(S(m)\in D_m^0\) và thỏa mãn các điều kiện:

\[ S(m) &\ne S(m') && \forall m, m'\in M, m\ne m': \pi(m)\cap\pi(m')\ne\emptyset, \label{eq:b2b-participant}\\ \left|\left\{m\in M \suchthat S(m)=t\right\}\right| &\le K && \forall t\in T, \label{eq:b2b-capacity}\\ S(i) &< S(j) && \forall (i, j)\in E. \label{eq:b2b-precedence} \]

Với mỗi đại biểu \(p\in P\), đặt \(M_p = \left\{m\in M \suchthat p\in\pi(m)\right\}\) là tập cuộc họp của đại biểu đó. Đặt \(P^\star = \left\{p\in P \suchthat \left|M_p\right|\ge 2\right\}\) là tập các đại biểu có ít nhất hai cuộc họp. Đối với \(p\in P^\star\), mốc bận đầu tiên \(F_p(S)\) và mốc bận cuối cùng \(L_p(S)\) trong lịch \(S\) được xác định bởi:

\[ F_p(S) = \min_{m\in M_p} S(m), \qquad L_p(S) = \max_{m\in M_p} S(m). \]

Do các cuộc họp của đại biểu \(p\) không chồng lấn, số mốc thời gian trống nằm hoàn toàn giữa mốc đầu và mốc cuối—gọi là thời gian chờ nội bộ (internal idle slots)—được tính bằng:

\[ I_p(S) = \begin{cases} L_p(S) - F_p(S) + 1 - \left|M_p\right|, & p\in P^\star,\\ 0, & \left|M_p\right|\le 1. \end{cases} \label{eq:b2b-internal-idle} \]

Khác với mô hình truyền thống đếm tổng số nhóm nghỉ (break groups) (Bofill et al., 2022), chỉ số \(I_p(S)\) phân biệt rõ khoảng chờ dài (như chờ 5 mốc) với khoảng chờ ngắn (chờ 1 mốc). Hàm mục tiêu tối ưu hóa khoảng thời gian chờ nội bộ giữa các đại biểu:

\[ \Delta_I(S) = \max_{p\in P^\star} I_p(S) - \min_{p\in P^\star} I_p(S). \label{eq:b2b-idle-range} \]

Mục tiêu này hướng tới sự cân bằng công bằng về thời gian chờ giữa các đại biểu, lấy cảm hứng từ các chuẩn cân bằng tải trong bài toán BACP (Chiarandini et al., 2012). Tổng thời gian chờ \(I_\Sigma(S)=\sum_{p\in P}I_p(S)\) được báo cáo như một chỉ số bổ trợ.

Tiền xử lý bảo toàn nghiệm và lọc miền

Trước khi sinh công thức CNF, thuật toán lọc miền (Nguyen et al., 2026) thu hẹp miền mốc của từng cuộc họp bằng cách áp dụng lặp cho đến điểm bất động ba quy tắc lọc:

  1. Cận thứ tự tiên quyết: Với mỗi quan hệ \((i, j,d)\) trong tập quan hệ \(\mathcal R_f\in\left\{\mathcal R_E, \mathcal R_{E^\star}\right\}\) (trong đó \(\mathcal R_E = \left\{(i, j,1) \suchthat (i, j)\in E\right\}\) và \(\mathcal R_{E^\star}\) là bao đóng bắc cầu gán khoảng cách đường đi dài nhất \(\ell_{ij}\)), loại \(t\in D_i\) nếu \(t+d > \max D_j\), và loại \(u\in D_j\) nếu \(\min D_i+d > u\).
  2. Nhất quán ghép cặp đại biểu: Với mỗi đại biểu \(p\), dựng đồ thị hai phía giữa \(M_p\) và miền mốc khả thi. Sử dụng thuật toán lọc AllDifferent dựa trên ghép cặp cực đại (R{'e, 1994) để xóa phân gán cuộc họp–mốc nào không thuộc bất kỳ ghép cặp hoàn hảo nào của \(M_p\).
  3. Mốc bão hòa: Nếu mốc \(t\) đã bị ép chọn bởi đúng \(K\) cuộc họp cố định, loại mốc \(t\) khỏi miền của tất cả cuộc họp còn lại.

Mệnh đề (Tính bảo toàn nghiệm của lọc miền B2B)
Thuật toán lọc miền dừng sau số bước hữu hạn, loại bỏ duy nhất các giá trị không thể thuộc bất kỳ lịch hợp lệ nào, bảo toàn trọn vẹn tập nghiệm khả thi, và chỉ thông báo vô nghiệm khi bài toán thực sự không có nghiệm.
Chứng minh. Mỗi bước loại giá trị đều dựa trên các điều kiện cần về tính khả thi: vi phạm cận thứ tự tiên quyết, không có hỗ trợ trong ghép cặp đại biểu, hoặc vượt quá sức chứa địa điểm \(K\). Vì miền ban đầu là hữu hạn, quá trình xóa giá trị phải dừng sau tối đa \(\sum_{m}\left|D_m^0\right|\) bước.

Phép biểu diễn \mbox{Reduced} áp dụng biến gán \(x_{m, t}\) chỉ trên miền mốc đã lọc \(A_m = D_m\), thay vì miền đầy đủ \(A_m = T\) của mô hình gốc \mbox{ORG-MaxSAT} (Bofill et al., 2022).

Biểu diễn thứ tự tiên quyết bằng hậu tố thưa chia sẻ (SparseSuffix

)

Xét quan hệ tiên quyết \((i, j,d)\in\mathcal R_g\). Biểu diễn từng cặp (\mbox{\textnormal{Pairwise}}) thêm các mệnh đề nhị phân \(\neg x_{i, t}\lor\neg x_{j, u}\) với mọi \(t\in A_i, u\in A_j\) thỏa \(t+d>u\), có thể phát sinh \(O(\left|A_i\right|\left|A_j\right|)\) mệnh đề cho một quan hệ.

Phép biểu diễn hậu tố thưa (\mbox{\textnormal{SparseSuffix}}) (Nguyen et al., 2026) chỉ khởi tạo biến phụ tại các điểm cắt nội bộ thực sự xuất hiện trong miền tiền nhiệm. Với miền đã sắp thứ tự \(A_i = (a_{i, 0},\ldots, a_{i, n_i-1})\), giả sử các điểm cắt xuất hiện là \(c_1 < c_2 < \cdots < c_s\). Đặt \(c_{s+1}=n_i\) và \(q_{i, n_i}=\bot\), biến đại diện hậu tố được định nghĩa quy nạp:

\[ c(i, j,u) &= \min\left\{r\in\set{0,\ldots, n_i-1} \suchthat a_{i, r} > u - d\right\}, \notag\\ q_{i, c_\ell} &\leftrightarrow \left(\bigvee_{r=c_\ell}^{c_{\ell+1}-1} x_{i, a_{i, r}}\right) \lor q_{i, c_{\ell+1}}, \label{eq:b2b-sparse-suffix}\\ x_{j, u} &\rightarrow \neg q_{i, c(i, j,u)}. \label{eq:b2b-suffix-link} \]

Khi hai quan hệ tiên quyết cùng dẫn đến một điểm cắt \(c\) trên miền \(A_i\), biến hậu tố \(q_{i, c}\) được tái sử dụng hoàn toàn.

Mệnh đề (Tương đương của SparseSuffix)
Phép biểu diễn \mbox{\textnormal{SparseSuffix}} và phép biểu diễn từng cặp \mbox{\textnormal{Pairwise}} mô tả chính xác cùng một tập phân gán cuộc họp–mốc thời gian.
Chứng minh. Từ Công thức~(công thức eq:b2b-sparse-suffix), biến phụ \(q_{i, c}\) đúng khi và chỉ khi cuộc họp \(i\) được gán cho mốc có chỉ số ít nhất là \(c\). Mệnh đề kéo theo~(công thức eq:b2b-suffix-link) do đó loại bỏ chính xác các cặp mốc \((t, u)\) vi phạm điều kiện \(t+d \le u\).
Hình: Kỹ thuật biểu diễn trong B2B: (a) Biến hậu tố thưa \mbox{\textnormal{<span class=SparseSuffix" loading="lazy" />
Hình: Kỹ thuật biểu diễn trong B2B: (a) Biến hậu tố thưa \mbox{\textnormal{\textsc{SparseSuffix

Mã hóa ngưỡng thời gian chờ từ nhịp hoạt động

Để xác định \(I_p(S)\), gọi \(y_{p, t}\leftrightarrow\bigvee_{m\in M_p: t\in A_m}x_{m, t}\) là biến chỉ báo đại biểu \(p\) bận tại mốc \(t\). Định nghĩa biến tích lũy tiền tố \(P_{p, t}\leftrightarrow P_{p, t-1}\lor y_{p, t}\) và hậu tố \(R_{p, t}\leftrightarrow y_{p, t}\lor R_{p, t+1}\). Mốc bắt đầu đầu tiên của đại biểu \(p\) được nhận diện bằng:

\[ f_{p, t} \leftrightarrow y_{p, t} \land \neg P_{p, t-1}. \]

Gọi \(\theta_{p, k}\) là biến mệnh đề đại diện cho điều kiện \(I_p(S)\ge k\). Mối liên hệ giữa mốc đầu và mốc cuối được biểu diễn chính xác bằng:

\[ f_{p, t} \rightarrow \left(\theta_{p, k} \leftrightarrow R_{p, t + \left|M_p\right| + k - 1}\right) \qquad \forall t\in T, 1\le k\le U_p, \label{eq:b2b-span-threshold} \]

trong đó \(U_p\) là cận trên hợp lệ của thời gian chờ đối với đại biểu \(p\).

Cuối cùng, với \(U=\max_{p\in P^\star} U_p\) và \(1\le k\le U\), biểu diễn định nghĩa biến ngưỡng cực đại \(\Theta_k^{\max}\leftrightarrow\bigvee_{p\in P^\star}\theta_{p, k}\), cực tiểu \(\Theta_k^{\min}\leftrightarrow\bigwedge_{p\in P^\star}\theta_{p, k}\), và biến mức chênh lệch:

\[ g_k \leftrightarrow \Theta_k^{\max} \land \neg \Theta_k^{\min}, \qquad \text{với } \sum_{k=1}^U g_k = \Delta_I(S). \label{eq:b2b-range-sum} \]

Phương pháp giải và kết quả thực nghiệm

Phép biểu diễn B2B thu gọn được đánh giá thực nghiệm rộng rãi trên 126 bộ dữ liệu chuẩn chính thức (All-126) và 100 bộ dữ liệu biến đổi mật độ thứ tự (Stress-100) (nguyen2026compactsatmaxsatencodings. Thử nghiệm so sánh ba phương pháp tối ưu dựa trên công thức SAT/MaxSAT (UWrMaxSAT; Non-Incremental SAT; và Incremental SAT sử dụng Totalizer kết hợp giả định assumption) với các công cụ thương mại hàng đầu đại diện cho MIP (Gurobi; CPLEX) và CP (CP Optimizer).

Kết quả tiêu biểu cho B2B Meeting Scheduling
Trên tập dữ liệu chuẩn All-126:
  • Phép biểu diễn thu gọn giảm trung vị 40.3% số mệnh đề; 55.9% dung lượng bộ nhớ đỉnh và 14.0% tổng thời gian chạy so với mô hình \mbox{ORG-MaxSAT) công bố (Bofill et al., 2022).
  • Riêng bước lọc miền (\mbox{Reduced}) đóng góp giảm 24.1% số biến gán và 16.2% số mệnh đề.
  • Biểu diễn hậu tố \mbox{\textnormal{SparseSuffix}} kết hợp với bao đóng bắc cầu \mbox{\textnormal{Closure-}\ensuremath{E^\star}} giúp giảm số mệnh đề đến 5.5% ở các mức mật độ thứ tự cao.
  • Cả ba phương pháp SAT và MaxSAT đều giải thành công 100% các bài toán chính thức với thời gian trung vị vượt trội Gurobi MIP (\(0.521\) giây); trong đó \mbox{\textnormal{Incremental SAT}} đạt thời gian trung vị nhanh nhất (0.227 giây).

Peak power: công suất đỉnh trong cân bằng dây chuyền

Mô hình đỉnh công suất

Trong SALBP-3PM, tác vụ \(i\) có thời lượng \(t_i\), công suất \(w_i\), được gán vào một trạm và bắt đầu trong chu kỳ dài \(c\). Nếu \(A_{i\tau}\) biểu diễn “tác vụ \(i\) đang hoạt động tại \(\tau\)”, tổng công suất là

\[ W(\tau)=\sum_i w_iA_{i\tau}, \qquad P=\max_{\tau=0}^{c-1}W(\tau). \]

Mục tiêu là tối thiểu hóa \(P\).

Các biến trực tiếp cho quyết định gán và bắt đầu thuận tiện cho phép giải mã:

\[ X_{ik}=1 \iff i\text{ ở trạm }k, \qquad S_{it}=1 \iff i\text{ bắt đầu tại }t. \]

Các biến thứ tự cung cấp lớp lan truyền:

\[ R_{ik}=1 \iff \text{trạm}(i)\le k, \qquad T_{it}=1 \iff \text{bắt đầu}(i)\le t. \]

Giá trị chính xác xuất hiện tại điểm chuyển của chuỗi thứ tự. Nhờ vậy, ràng buộc AMO về phép gán giảm từ dạng từng cặp bậc hai xuống một chuỗi tuyến tính; quan hệ trước–sau giữa trạm hoặc giữa mốc thời gian cũng được viết bằng quan hệ kéo theo giữa các ngưỡng.

Bốn giao diện tối ưu

Cùng một phép biểu diễn tính khả thi có thể kết nối với hàm mục tiêu theo bốn cách:

Bảng: Bốn giao diện tối ưu cho công suất đỉnh.
Cơ chếCách thay cậnThành phần cần giữ cố định
Chặn bằng mệnh đềCấm mọi đỉnh không tốt hơn nghiệm đương nhiệmNgữ nghĩa của biến đỉnh
Tinh chỉnh PBSiết \(\sum_iw_iA_{i\tau}\le B\) tại mọi \(\tau\)Phép biểu diễn giả Boolean
MaxSAT có trọng sốĐưa mức đỉnh vào mệnh đề mềmÁnh xạ chi phí với giá trị \(P\)
Biến chỉ báo thứ tựKích hoạt cận bằng các giả địnhMệnh đề cơ sở và chuỗi thứ tự

Biến chỉ báo thứ tự phù hợp với giải tăng dần: bộ giải được dựng một lần ở cận trên, sau mỗi nghiệm chỉ thay các giả định hoặc thêm mệnh đề chặn. Trong nghiên cứu của (Kieu et al., 2025), phép biểu diễn tuần tự gọn kết hợp giải tăng dần chứng nhận được nhiều bài toán hơn cấu hình đối chiếu trên tập 89 bài kiểm chuẩn; lợi ích rõ nhất ở nhóm khó.

Tách tính khả thi khỏi tối ưu
Mô-đun khả thi mô tả lịch hợp lệ qua một giao diện độc lập với tìm kiếm tuyến tính, tìm kiếm nhị phân hay MaxSAT. Lớp hàm mục tiêu đọc các biến đã có và cung cấp giao diện cận \(B\). Cách tách này làm cho chứng minh tính đúng ngắn hơn và thí nghiệm phân tích thành phần (ablation study) rõ hơn.

Điều chỉnh lịch tàu bằng MaxSAT–DDD

Tại sao cần rời rạc hóa động

Với tàu \(i\) và tài nguyên \(r\) trên tuyến cố định, đặt \(t^{i, r}\) là thời điểm tàu đi vào tài nguyên. Quan hệ trước–sau trên đường đi có dạng

\[ t^{i, q}\ge t^{i, r}+\ell_i^r, \]

trong khi hai tàu chia sẻ tài nguyên phải chọn một trong hai thứ tự an toàn. Nếu dựng toàn bộ miền thời gian đến khung thời gian \(H\), số biến theo mốc thời gian có thể rất lớn.

Dynamic Discretization Discovery (khám phá rời rạc hóa động, DDD) khởi đầu bằng tập mốc thưa \(\Lambda^{i, r}\). Mô hình hạn chế cho một cận dưới. Nghiệm được giải mã trên trục thời gian đầy đủ; nếu nghiệm vi phạm thời gian di chuyển hoặc khoảng cách an toàn, chỉ các mốc liên quan mới được thêm.

DDD không bắt nguồn từ SAT. Thuật toán được phát triển cho thiết kế mạng dịch vụ thời gian liên tục bằng cách giải lặp các mạng mở rộng thời gian một phần và tinh chỉnh những mốc cần thiết (Boland et al., 2017). Khi chuyển ý tưởng sang MaxSAT, điều phải bảo toàn là tính hợp lệ của cận dưới trong mô hình hạn chế và quy tắc tinh chỉnh hữu hạn; bộ giải bên trong có thể thay đổi. Đây là một ví dụ tiêu biểu cho quá trình tích hợp kiến trúc từ Nghiên cứu vận trù vào SAT, thay vì chỉ thay phép biểu diễn của một ràng buộc.

Vòng lặp

  1. Giải mô hình MaxSAT hạn chế trên phép rời rạc hóa hiện tại.
  2. Giải mã lịch và kiểm tra mọi quan hệ trước–sau trên đường đi, xung đột tài nguyên và giá trị độ trễ.
  3. Nếu có vi phạm, thêm các mốc cần thiết và lặp lại.
  4. Nếu lịch khả thi và chi phí giải mã bằng giá trị tối ưu của mô hình hạn chế, cận dưới gặp cận trên; nghiệm là tối ưu.
⚙️ Vòng lặp MaxSAT–DDD có kiểm chứng
Đầu vào: tập mốc hữu hạn đầy đủ \(\Lambda^\star\), phép rời rạc hóa ban đầu \(\Lambda^0\subseteq\Lambda^\star\), bộ giải mã–kiểm tra và hàm chi phí.
Đầu ra: lịch tối ưu hoặc chứng nhận vô nghiệm trong miền đầy đủ.
  1. Với vòng \(r\), sinh hoặc cập nhật mô hình hạn chế trên \(\Lambda^r\), giải tối ưu và ghi cận dưới \(L_r\).
  2. Nếu mô hình hạn chế vô nghiệm và là một mô hình nới lỏng hợp lệ của mô hình đầy đủ, kết luận mô hình đầy đủ vô nghiệm.
  3. Giải mã nghiệm. Bộ kiểm tra xác nhận một lịch đầy đủ có chi phí \(U_r\) nếu khả thi; đồng thời, khi lịch chưa khả thi hoặc \(L_r<U_r\), thuật toán phải trả về một bằng chứng \(C_r\) chỉ ra phần rời rạc hóa đang thiếu cho feasibility hoặc hàm mục tiêu.
  4. Nếu có lịch khả thi và \(U_r=L_r\), trả lịch cùng hai cận bằng nhau.
  5. Nếu chưa hội tụ, bước tinh chỉnh phải chọn ít nhất một mốc trong \(\Lambda^\star\setminus\Lambda^r\) được bằng chứng \(C_r\) yêu cầu; đặt \(\Lambda^{r+1}\supsetneq\Lambda^r\) và lặp.
Mệnh đề (Hội tụ hữu hạn của DDD)
Giả sử (i) tập mốc đầy đủ \(\Lambda^\star\) hữu hạn; (ii) mỗi mô hình hạn chế cho một cận dưới hợp lệ; (iii) bộ kiểm tra đúng; và (iv) mỗi vòng chưa kết thúc thêm ít nhất một mốc mới từ \(\Lambda^\star\). Khi đó Thuật toán~(bên dưới) kết thúc sau không quá \(\left|\Lambda^\star\setminus\Lambda^0\right|+1\) lần giải mô hình hạn chế và chỉ trả nghiệm tối ưu hoặc kết luận vô nghiệm đúng.
Chứng minh. Do chuỗi \(\Lambda^0\subsetneq\Lambda^1\subsetneq\cdots\subseteq\Lambda^\star\) tăng nghiêm ngặt trong một tập hữu hạn, số lần tinh chỉnh bị chặn bởi \(\left|\Lambda^\star\setminus\Lambda^0\right|\). Nếu thuật toán dừng với \(U_r=L_r\), \(L_r\) là cận dưới cho giá trị tối ưu đầy đủ còn \(U_r\) là chi phí của một nghiệm đầy đủ được bộ kiểm tra xác nhận, nên cả hai bằng giá trị tối ưu. Nếu đến \(\Lambda^\star\), mô hình hạn chế chính là mô hình đầy đủ; bộ giải quyết định tối ưu hoặc vô nghiệm. Kết luận vô nghiệm sớm chỉ hợp lệ dưới giả thiết nới lỏng ở (ii).

Biên hội tụ và chiến lược tinh chỉnh. Ở biên xấu nhất, DDD khôi phục toàn bộ lưới \(\Lambda^\star\). Mỗi bước tinh chỉnh vì thế phải thêm một mốc mới được bộ kiểm tra suy ra từ vi phạm cụ thể. Với miền thời gian liên tục, một đối chứng thời gian liên tục hoặc một định lý về tập ứng viên hữu hạn cung cấp điều kiện dừng. Ba thành phần này—mốc mới, bộ kiểm tra và tập mốc đầy đủ—xác định đồng thời tính đúng và tốc độ hội tụ.

Hình: DDD chỉ thêm mốc tại nơi nghiệm của mô hình hạn chế thiếu thông tin.
Lưới không được làm dày đồng loạt trên toàn bộ khung thời gian.
Hình: DDD chỉ thêm mốc tại nơi nghiệm của mô hình hạn chế thiếu thông tin. Lưới không được làm dày đồng loạt trên toàn bộ khung thời gian.

Lan truyền quan hệ trước–sau có vai trò thu hẹp miền trước khi sinh CNF. Nếu một lựa chọn thứ tự \(i\prec j\) kéo theo một chuỗi thời điểm tối thiểu, các mốc không đạt được bị loại ngay. AMO kết hợp tiếp tục chọn phép biểu diễn khác nhau theo kích thước miền: từng cặp cho tập rất nhỏ, tuần tự hoặc chỉ huy cho tập lớn hơn.

Điểm rút ra từ Train MaxSAT–DDD
Trong nghiên cứu của (Kieu et al., 2026), hiệu quả thay đổi theo dạng hàm độ trễ: MaxSAT nổi bật với chi phí bậc thang và làm tròn, còn MIP cạnh tranh hơn với chi phí liên tục. Giá trị thiết kế của DDD nằm ở khả năng chỉ mở rộng miền tại nơi nghiệm hạn chế thực sự thiếu thông tin.

Chọn SAT, SMT, CP hay MIP

Không có bộ giải thống trị mọi cấu trúc. Một quy tắc thực dụng là nhìn vào phần khó nhất của mô hình:

  • Chọn SAT/MaxSAT khi lôgic rời rạc, cửa sổ và xung đột lặp lại; có lợi từ học mệnh đề và giải tăng dần.
  • Chọn SMT khi bất đẳng thức thời gian nguyên là lõi, còn phần Boolean chỉ quyết định thứ tự hoặc chế độ (Bofill et al., 2020).
  • Chọn CP khi tích lũy/không chồng lấn là ràng buộc toàn cục tự nhiên và lan truyền miền có thể khai thác trực tiếp.
  • Chọn MIP khi hàm mục tiêu tuyến tính mạnh và mô hình nới lỏng cung cấp cận tốt.

Phương pháp kết hợp nên được thiết kế như một phân chia nhiệm vụ suy diễn: mô-đun nào tạo cận, mô-đun nào xử lý phép tuyển và bằng cách nào hai phía trao đổi thông tin. Việc chỉ gọi nhiều bộ giải trên cùng một mô hình không tự tạo ra một kiến trúc kết hợp.

Một cây quyết định theo cấu trúc

  1. Nếu khung thời gian nhỏ và mỗi tác vụ có ít giá trị bắt đầu, SAT/MaxSAT theo mốc thời gian là đối chứng minh bạch.
  2. Nếu khung thời gian lớn nhưng các ràng buộc trước–sau/sai phân dày, thử mã hóa thứ tự, SMT hoặc LCG trước khi mở toàn bộ trục thời gian.
  3. Nếu tài nguyên tích lũy là nút thắt và có suy luận năng lượng mạnh, CP/LCG có ưu thế cấu trúc mà xung đột từng cặp khó thay thế.
  4. Nếu hàm mục tiêu/mô hình nới lỏng tuyến tính tạo cận mạnh, MIP là đối chứng bắt buộc; SAT chỉ có lợi khi phép tuyển Boolean hoặc đối xứng chi phối.
  5. Nếu chỉ một phần nhỏ mốc thời gian quan trọng, xét DDD/tinh chỉnh và chứng minh rõ tính hợp lệ của cận dưới.

Bài học thiết kế

Tổng kết Bài học
  1. Phân biệt biến thời điểm, biến hoạt động và biến thứ tự; viết phép liên kết trước khi tối ưu mệnh đề.
  2. Tính không ngắt là một ràng buộc khối, không phải chỉ là ràng buộc đếm.
  3. Với các cửa sổ chồng lấn, hiệu quả đến từ kỹ thuật chia sẻ ngưỡng hoặc bộ đếm giữa các cửa sổ.
  4. Hàm mục tiêu nên giao tiếp với mô-đun khả thi qua một giao diện cận.
  5. Rời rạc hóa động phù hợp khi miền lớn nhưng nghiệm chỉ cần một số ít mốc quan trọng.

Câu hỏi nghiên cứu

  1. Với cùng ngữ nghĩa khối, hãy so sánh biểu diễn bằng biến bắt đầu và biểu diễn bằng điểm chuyển về số biến, số mệnh đề và khả năng lan truyền đơn vị.
  2. Thiết kế một Shared Counter cho hai ALSC có cửa sổ chồng lấn nhưng cận \(k\) khác nhau.
  3. Viết điều kiện dừng chính xác cho một vòng DDD khi chi phí hạn chế là cận dưới và lịch giải mã cho cận trên.

Chương 9: Ứng dụng trong Bài toán Đóng gói 2D

Hình 9.2 · Bố trí nguyên & Quan hệ tách trong Đóng gói 2D
Hình 9.2 · Bố trí nguyên & Quan hệ tách trong Đóng gói 2D
Trong bài toán đóng gói, mệnh đề không xử lý trực tiếp với hình chữ nhật; mô hình làm việc với tọa độ, hướng đặt và các quan hệ tách. Chất lượng phép biểu diễn phụ thuộc vào việc thiết kế giao diện phù hợp giữa ba lớp đó.
Vật và hướng đặt
Tọa độ thứ tự
Quan hệ tách
↙ Cận khung chứa
↘ Bố trí và chứng nhận

Bản đồ các phương pháp chính xác cho đóng gói

Hai chiều tạo khó khăn khác một chiều: không chồng lấn là một phép tuyển giữa hai trục, còn tọa độ có nhiều giá trị đối xứng trong vùng trống. Văn liệu về phương pháp chính xác vì thế không xoay quanh một mô hình duy nhất. Khảo cứu của Iori và cộng sự phân biệt các mô hình theo vị trí đặt, vị trí tương đối, sinh tập/cột, quy hoạch ràng buộc và các kỹ thuật nhánh–cận chuyên biệt (Iori et al., 2021).

Đối với SAT, ba họ biểu diễn là đối chứng trực tiếp:

Chiếm chỗ
Biến cho từng ô mà vật chiếm. Không chồng lấn trở thành cục bộ nhưng số biến phụ thuộc diện tích lưới; tính liên tục của một hình cần các mệnh đề liên kết.
Vị trí đặt tuyệt đối
Mỗi biến chọn một vị trí khả dĩ của vật. Đồ thị xung đột nối hai vị trí chồng lấn; bài toán trở thành chọn đúng một vị trí cho mỗi vật. Các phương pháp vị trí tuyệt đối và đóng gói hoàn hảo khai thác nén tọa độ, tổng tập con và suy luận trên không gian trống (Huang & Korf, 2013).
Vị trí tương đối + tọa độ
Mỗi vật có tọa độ; mỗi cặp có witness variable (biến làm chứng) trái/phải/trên/dưới. Order Encoding nén cận tọa độ, còn mệnh đề quan hệ xử lý phép tuyển.

Ngoài SAT, quy hoạch ràng buộc dùng NoOverlap/diffn, các phép chiếu tích lũy và suy luận năng lượng; MIP dùng hằng số lớn \(M\), bất đẳng thức tuyển hoặc mẫu phủ tập. Các phương pháp chính xác cho đóng gói trực giao còn kết hợp cận, quan hệ trội và nhánh–cận chuyên dụng (Clautiaux et al., 2007; Clautiaux et al., 2008).

Bảng: Các biểu diễn chính xác cho đóng gói hai chiều.
Biểu diễnQuy mô theoLan truyền tự nhiênPhù hợp khi
Chiếm chỗDiện tích lướiXung đột ôKhung chứa nhỏ/rất rời rạc
Vị trí đặtSố vị trí khả dĩĐồ thị xung độtMiền đã nén mạnh
Tọa độ–thứ tựTổng độ rộng miềnCận và quan hệ táchMiền nguyên vừa
CP toàn cụcSố vật + bộ lan truyềnKhông chồng lấn/tích lũyCận hình học mạnh
MIP/phủ tậpBiến/cột vị tríThư giãn và nhát cắtCận LP hữu ích

Ba trục tạo nên đóng góp SAT cho đóng gói là nén miền tọa độ, làm mạnh lan truyền không chồng lấn và tái sử dụng mệnh đề đã học giữa các cận. Kiến trúc mới được nhận diện qua thay đổi có thể đo trên ít nhất một trong ba trục này.

Mô hình hình học rời rạc

Mỗi vật \(i\) là hình chữ nhật kích thước \(w_i\times h_i\). Tọa độ \((x_i, y_i)\) chỉ góc trái dưới. Khi cho phép quay \(90^\circ\), biến \(\rho_i\) xác định kích thước hiệu dụng

\[ (\widehat w_i,\widehat h_i)= \begin{cases} (w_i, h_i), & \rho_i=0,\\ (h_i, w_i), & \rho_i=1. \end{cases} \]

Trong khung chứa \(W\times H\), điều kiện nằm gọn là

\[ 0\le x_i\le W-\widehat w_i, \qquad 0\le y_i\le H-\widehat h_i. \]

Hai vật \(i\) và \(j\) không giao nhau khi ít nhất một trong bốn quan hệ đúng:

\[ x_i+\widehat w_i\le x_j,\quad x_j+\widehat w_j\le x_i,\quad y_i+\widehat h_i\le y_j,\quad y_j+\widehat h_j\le y_i. \]

Ta dùng các biến làm chứng \(l_{ij}\) và \(u_{ij}\):

\[ l_{ij}\lor l_{ji}\lor u_{ij}\lor u_{ji}, \]

với quan hệ kéo theo từ từng biến làm chứng sang bất đẳng thức tương ứng. Các biến làm chứng không cần loại trừ lẫn nhau: một vật có thể vừa ở bên trái vừa ở dưới vật khác.

Quy ước biên
Tọa độ biểu diễn cạnh của hình chữ nhật, không phải tâm hay ô đã chiếm. Vì thế dấu \(\le\) cho phép hai vật chạm cạnh. Quy ước này phải được giữ nguyên trong điều kiện nằm gọn, không chồng lấn và bộ kiểm tra.

Hình (sơ đồ trong phần này) dùng một ví dụ tự dựng để minh họa cách tọa độ thứ tự và quan hệ vị trí được dùng trong SAT cho đóng gói; cách tổ chức quan hệ này tiếp nối mô hình đóng gói dải của (Soh et al., 2010).

Hình: Một bố trí nguyên có bốn vật. Các cặp chạm cạnh vẫn hợp lệ; chẳng hạn
\(x_A+w_A=x_B=3\), nên biến làm chứng \(l_{AB}\) có thể nhận giá trị đúng.
Hình: Một bố trí nguyên có bốn vật. Các cặp chạm cạnh vẫn hợp lệ; chẳng hạn \(x_A+w_A=x_B=3\), nên biến làm chứng \(l_{AB}\) có thể nhận giá trị đúng.
Từ một cặp hình đến literal quan hệ
Trong (xem sơ đồ trong phần này), \(A\) có \((x_A, y_A)=(0, 0)\), \((w_A, h_A)=(3, 2)\); \(B\) có \((x_B, y_B)=(3, 0)\), \((w_B, h_B)=(2, 4)\). Bốn bất đẳng thức tách là \[ 0+3\le3,\quad 3+2\le0,\quad 0+2\le0,\quad 0+4\le0. \]

Chỉ bất đẳng thức đầu đúng, nên \(l_{AB}=1\) là biến làm chứng tự nhiên. Nếu ép \(x_B\le2\), miền tọa độ làm \(x_A+w_A\le x_B\) bất khả và mệnh đề liên kết buộc \(\neg l_{AB}\); phép tuyển bốn quan hệ khi đó phải chọn một hướng khác hoặc chứng minh cặp hình không thể cùng một bố trí.

Order Encoding cho tọa độ

Ngữ nghĩa

Với \(e\) trong miền ngang, đặt

\[ p^x_{i, e}=1 \iff x_i\le e. \]

Tương tự, \(p^y_{i, f}=1\iff y_i\le f\). Chuỗi phải đơn điệu:

\[ p^x_{i, e}\rightarrow p^x_{i, e+1}, \qquad p^y_{i, f}\rightarrow p^y_{i, f+1}. \]

Giá trị tọa độ được xác định bởi điểm chuyển đầu tiên từ sai sang đúng. Một bất đẳng thức như \(x_i+a\le x_j\) trở thành quan hệ kéo theo giữa hai ngưỡng:

\[ p^x_{i, e}\ \text{và}\ p^x_{j, e+a-1} \]

được nối theo hướng phù hợp với ngữ nghĩa \(\le\). Lợi ích là một literal ngưỡng đại diện cho cả nửa miền, thay vì liệt kê từng cặp tọa độ.

Hướng đặt và liên kết biểu diễn

Khi kích thước phụ thuộc \(\rho_i\), quan hệ kéo theo

\[ l_{ij}\rightarrow x_i+\widehat w_i\le x_j \]

được tách theo các hướng đặt của \(i\) và \(j\). Các trường hợp không thể nằm gọn được loại ở bước tiền xử lý. Với vật vuông, đặt \(\rho_i=0\) để bỏ đối xứng quay.

Khi \(l_{ij}\) đóng vai trò biến làm chứng cho phép tuyển, mô-đun cần chiều

\[ l_{ij}\rightarrow x_i+\widehat w_i\le x_j. \]

Chiều ngược

\[ x_i+\widehat w_i\le x_j\rightarrow l_{ij} \]

có thể được bổ sung khi literal quan hệ cần đặc tả hai chiều. Bộ giải mã đọc trực tiếp tọa độ và hướng đặt, nhờ đó bộ kiểm tra độc lập với lựa chọn liên kết.

Mệnh đề (Tính đúng của mô-đun không chồng lấn)
Giả sử mỗi biến làm chứng \(l_{ij},u_{ij}\) kéo theo đúng bất đẳng thức hình học của vật, và phép tuyển bốn biến làm chứng được thỏa cho mọi cặp vật trong cùng khung chứa. Khi đó mọi bố trí giải mã từ mô hình SAT đều không giao nhau.
Chứng minh. Với một cặp \(i, j\), phép tuyển cho ít nhất một biến làm chứng đúng. Quan hệ kéo theo của biến làm chứng đó cho một bất đẳng thức tách theo trục \(x\) hoặc \(y\). Vì vậy nội thất hai hình chữ nhật rời nhau.

Bài toán đóng gói (Packing problem) dải hai chiều

Từ tối ưu chiều cao sang kiểm tra tính khả thi

Dải có chiều rộng cố định \(W\), còn chiều cao \(H\) cần tối thiểu hóa. Với mỗi \(H\), dựng công thức

\[ \Phi_{\mathrm{SPP}}(H) \iff \text{tồn tại bố trí trong }W\times H. \]

Tính đơn điệu cho phép tìm kiếm trên cận:

\[ \Phi_{\mathrm{SPP}}(H)=\mathrm{SAT} \Longrightarrow \Phi_{\mathrm{SPP}}(H')=\mathrm{SAT} \quad\forall H'\ge H. \]

Cận dưới cơ bản là

\[ LB=\max\left\{ \max_i \min(h_i, w_i), \left\lceil\frac{\sum_iw_ih_i}{W}\right\rceil \right\}, \]

trong đó hạng đầu phải điều chỉnh theo hướng đặt thực sự vừa khung. Cận trên đến từ một phép đặt theo kinh nghiệm.

Chỉ cận diện tích hiếm khi đủ sát. Các phương pháp chính xác còn dùng hàm khả thi đối ngẫu, phép chiếu một chiều, tính không tương thích và tọa độ tổng tập con. Trong SAT, mọi cận dưới hợp lệ đều có hai vai trò: thu hẹp số cận phải gọi và thu hẹp miền tọa độ trước khi sinh mệnh đề. Nén tọa độ đặc biệt quan trọng: nếu có thể chứng minh một vật chỉ cần bắt đầu tại các tổng tập con khả dĩ, chuỗi thứ tự nên chạy trên tập mốc đã nén thay vì mọi số nguyên từ \(0\) đến \(W-w_i\).

Ba chế độ giải

Bảng: Ba chế độ tối ưu chiều cao bằng SAT/MaxSAT.
Chế độCấu trúcĐặc điểm
SAT độc lậpDựng lại \(\Phi(H)\) ở mỗi cậnĐơn giản, mỗi cận có một CNF riêng
SAT tăng dầnMiền lớn cố định, kích hoạt \(H\) bằng các giả địnhGiữ mệnh đề đã học giữa các cận
MaxSAT có trọng sốChiều cao được biểu diễn bằng mệnh đề mềmKhông cần vòng tìm kiếm ngoài

Biểu diễn SAT thứ tự cho đóng gói dải đã được nghiên cứu trước đó cùng đối xứng, quan hệ vị trí và tái sử dụng mệnh đề đã học (Soh et al., 2010). Vì vậy nghiên cứu tình huống của nhóm được định vị theo hai câu hỏi kế tiếp: phép quay/đối xứng làm đổi mô hình thế nào, và SAT–MaxSAT–giải tăng dần có giữ lợi thế trên bộ kiểm chuẩn và bộ giải hiện tại hay không. Phép so sánh hợp lý phải giữ cùng các cận, miền tọa độ và bộ kiểm tra.

Trong nghiên cứu của (Kieu et al., 2025), SAT không tăng dần với phép quay và phá vỡ đối xứng chứng nhận 26 giá trị tối ưu trên 41 bài toán; phiên bản tăng dần chứng nhận 21, còn CP chứng nhận 28. Kết quả này cho thấy giải tăng dần chỉ có lợi khi công thức cơ sở và mệnh đề đã học còn phù hợp sau khi thay cận. Với đóng gói dải, thay \(H\) có thể làm thay đổi mạnh miền tọa độ và những xung đột hữu ích.

Chứng nhận tối ưu
Một bố trí tại \(H^\star\) là cận trên. Công thức \(\Phi(H^\star-1)\) không thỏa là chứng nhận cận dưới. Cặp SAT/UNSAT ở hai cận kề nhau mới xác định \(H^\star\) là giá trị tối ưu.

Bài toán đóng gói (Packing problem) vào khung chứa hai chiều

Hai kiến trúc

Bài toán dùng nhiều khung chứa \(W\times H\) đồng nhất và tối thiểu hóa số khung. Có hai kiến trúc chính.

Xếp chồng. Ghép \(k\) khung thành một dải \(W\times kH\). Tọa độ \(y_i\) đồng thời xác định khung. Kiến trúc này tái sử dụng đóng gói dải nhưng phải ngăn vật vượt qua đường biên \(qH\).

Không xếp chồng. Dùng biến \(a_{ib}=1\) khi vật \(i\) nằm trong khung \(b\), và tọa độ cục bộ trong từng khung. Ta có

\[ \mathrm{ExactlyOne}(a_{i1},\ldots, a_{ik}). \]

Điều kiện không chồng lấn của cặp \(i, j\) trong khung \(b\) được gác bởi:

\[ (a_{ib}\land a_{jb}) \rightarrow (l_{ij}\lor l_{ji}\lor u_{ij}\lor u_{ji}). \]

Biến sử dụng \(q_b\) nối với phép gán bằng \(a_{ib}\rightarrow q_b\). Đối xứng giữa các khung được giảm bằng

\[ q_{b+1}\rightarrow q_b. \]

Các khung đã dùng tạo thành một tiền tố, vì thế hàm mục tiêu \(\sum_bq_b\) đúng bằng số khung. Có thể thêm phép gán chuẩn cho một số vật đầu, nhưng mọi ràng buộc đối xứng phải dựa trên phép hoán vị các khung đồng nhất, không dựa trên một bố trí kinh nghiệm cụ thể.

Hình: Hai kiến trúc cho đóng gói vào khung: xếp chồng dùng một trục \(y\)
toàn cục; không xếp chồng dùng phép gán và tọa độ cục bộ, kèm tiền tố sử dụng.
Hình: Hai kiến trúc cho đóng gói vào khung: xếp chồng dùng một trục \(y\) toàn cục; không xếp chồng dùng phép gán và tọa độ cục bộ, kèm tiền tố sử dụng.

Trong mô hình theo vị trí đặt, một cách khác là xây đồ thị xung đột cho mọi cặp vị trí–khung rồi thêm ràng buộc đúng một theo vật. Cách này tránh biến quan hệ nhưng có thể tạo số vị trí rất lớn. Mô hình tọa độ không xếp chồng làm ngược lại: số biến tọa độ nhỏ hơn toàn bộ tập vị trí, đổi lại mỗi cặp vật–khung cần một phép tuyển có điều kiện. Hai mô hình là hai phía của phép phân tích nhân tử; đánh giá thực nghiệm nên báo cả số vị trí bị loại ở tiền xử lý và số quan hệ từng cặp còn lại.

So sánh kiến trúc
Nghiên cứu của (Kieu et al., 2025) so sánh các mô hình SAT với MIP và CP trên cùng họ bài toán kiểm chuẩn. Kết quả nhấn mạnh hai yếu tố hơn là một phép biểu diễn đơn lẻ: biến thứ tự giúp biểu diễn bất đẳng thức tọa độ, còn phá đối xứng cho khung/bản sao quyết định đáng kể kích thước không gian tìm kiếm.

Bài toán cắt tấm một kích thước

Mô hình theo số tờ

Cho tấm vật liệu kích thước \(W\times H\), nhiều loại vật \(t\), mỗi loại có nhu cầu \(d_t\). Bài toán tối thiểu hóa số tấm. Nếu tạo từng bản sao riêng, phép gán và không chồng lấn giống bài toán đóng gói (packing problem) vào khung. Nếu gộp theo loại, cần thêm ràng buộc đếm để bảo đảm đúng nhu cầu.

Với một cận \(K\), công thức khả thi hỏi liệu có thể đáp ứng đủ nhu cầu trên \(K\) tấm. Hàm mục tiêu là

\[ \min\left\{K\mid \Phi_{\mathrm{CSP}}(K)\text{ là SAT}\right\}. \]

Đối xứng xuất hiện ở hai tầng: các tấm đồng nhất và các bản sao cùng loại. Một cách phá vỡ đối xứng bền vững là buộc biến sử dụng tấm theo tiền tố và buộc chỉ số tấm của các bản sao cùng loại không giảm.

SAT và MaxSAT

Tìm kiếm SAT thay \(K\) ở vòng ngoài. MaxSAT bộ phận có thể giữ tất cả các tấm ứng viên, đặt mệnh đề mềm \(\neg q_b\) và tối thiểu \(\sum_bq_b\). Hai cách chia sẻ điều kiện nằm gọn, hướng đặt và không chồng lấn; chúng chỉ khác ở lớp hàm mục tiêu.

(Kieu et al., 2026) cho thấy phép biểu diễn gọn với tọa độ thứ tự và đối xứng theo bản sao/tấm đạt kết quả cạnh tranh trên bộ bài toán cắt tấm một kích thước. Điểm chuyển giao sang các bài toán đóng gói (packing problem) khác là chuỗi mô-đun

\[ \texttt{Assignment} +\texttt{OrderCoordinate} +\texttt{ConditionalNonOverlap} +\texttt{UsageCounter}. \]

Giảm miền và đối xứng

Trước khi sinh CNF, bốn phép rút gọn thường có hiệu quả trực tiếp:

  1. loại hướng đặt không vừa khung;
  2. thu hẹp \(x_i\le W-\widehat w_i\) và \(y_i\le H-\widehat h_i\);
  3. loại một hướng tách nếu các cận chứng minh hướng đó bất khả thi;
  4. chuẩn hóa vật/bản sao và khung chứa theo một thứ tự cố định.

Mỗi ràng buộc phá vỡ đối xứng được gắn với một nhóm đối xứng cụ thể:

  • \(\rho_i=0\) cho vật vuông: đối xứng hướng đặt;
  • \(q_{b+1}\rightarrow q_b\): hoán vị khung/tấm;
  • thứ tự bản sao cùng loại: hoán vị các bản sao đồng nhất;
  • neo một vật lớn vào nửa khung chứa: phản xạ/tịnh tiến, nếu phép biến đổi giữ miền và hàm mục tiêu.
Các nguyên tắc tổng quát về đối xứng được trình bày trong (Walsh, 2006; Gent et al., 2006); phép biểu diễn SAT cổ điển cho bài toán đóng gói (packing problem) khung 2D Packing có rotation có thể xem ở (Soh et al., 2010).

Tách ảnh hưởng của phép biểu diễn, cận và quan hệ trội

Ma trận thiết kế ghi riêng ảnh hưởng của các thành phần:

  • cận dưới theo diện tích, phép chiếu và đồ thị con đầy đủ của quan hệ không tương thích;
  • loại hướng đặt và vị trí bị trội;
  • cố định theo vật lớn hoặc thứ tự vật đồng nhất;
  • nén tọa độ;
  • khởi động ấm/cận trên từ phương pháp kinh nghiệm.

Ma trận thiết kế tách phần giảm mệnh đề do lọc miền khỏi phần giảm do chuyển sang CNF. Phép so sánh CP, MIP và SAT chia sẻ cách chuẩn hóa bài toán và cận đầu vào; cận và quan hệ trội được ghi thành mô-đun riêng (Iori et al., 2021; Clautiaux et al., 2007).

Một thư viện mô-đun cho hình học

Tổng kết Bài học
OrderCoordinate cung cấp chuỗi ngưỡng và phép giải mã duy nhất. Orientation trả về kích thước hiệu dụng. Containment siết miền theo khung chứa đang chọn. RelativePosition tạo biến làm chứng trái/phải/trên/dưới. ConditionalNonOverlap gác phép tuyển bằng phép gán. UsageCounter biến số khung chứa được dùng thành hàm mục tiêu.

Thứ tự kết hợp đi từ hướng đặt đến điều kiện nằm gọn, vị trí tương đối, không chồng lấn được gác bởi phép gán và bộ đếm sử dụng. Bộ kiểm tra đọc vật, hướng đặt, tọa độ và khung chứa, độc lập với biến phụ.

Bài học thiết kế

  1. Chọn một quy ước tọa độ và duy trì quy ước này nhất quán trong toàn bộ phép biểu diễn.
  2. Dùng biến làm chứng cho phép tuyển hình học; không buộc biến làm chứng trở thành quan hệ đầy đủ nếu phép giải mã không cần.
  3. Tách mô-đun khả thi khỏi hàm mục tiêu số khung/tấm/chiều cao.
  4. Phá vỡ đối xứng theo đúng phép hoán vị hoặc phản xạ của mô hình.
  5. Chứng nhận tối ưu gồm bố trí hợp lệ và một cận dưới tương ứng.

Câu hỏi nghiên cứu

  1. Dẫn xuất các mệnh đề thứ tự cho quan hệ kéo theo \(l_{ij}\rightarrow x_i+\widehat w_i\le x_j\) ở một hướng đặt cố định.
  2. So sánh số biến của xếp chồng và không xếp chồng trên \(n\) vật, \(k\) khung.
  3. Thiết kế ràng buộc phá vỡ đối xứng cho ba bản sao cùng loại và chứng minh mỗi quỹ đạo giữ một đại diện.

Chương 10: Ứng dụng trong Gán nhãn Đồ thị và Antibandwidth

Hình 10.2 · Cặp nhãn bị cấm và bài toán Antibandwidth
Hình 10.2 · Cặp nhãn bị cấm và bài toán Antibandwidth
Các bài toán trong chương đều nói về khoảng cách giữa nhãn, nhưng không chia sẻ một ngữ nghĩa: antibandwidth gán một hoán vị, tô màu theo bandwidth gán một màu, còn tô đa màu gán một tập màu có thứ tự.
Hoán vị hay tô màu
Cửa sổ/thứ tự/khối
Khoảng cách
↙ Tìm cận
↘ Gán nhãn và chứng nhận

Bố trí đồ thị, gán nhãn và tô màu

Từ “bandwidth” được dùng cho nhiều bài toán có công thức gần nhau nhưng lịch sử thuật toán khác nhau. Bandwidth đồ thị cổ điển tối thiểu hóa khoảng cách lớn nhất trên cạnh của một hoán vị đỉnh. Antibandwidth tối đa hóa khoảng cách nhỏ nhất. Tô màu theo bandwidth bỏ tính song ánh và cho trọng số khoảng cách trên cạnh; tô đa màu cho mỗi đỉnh nhiều tần số. Văn liệu gán nhãn đồ thị rộng hơn còn chứa hàng trăm quy tắc gán số khác nhau (Gallian, 2024).

Ba truyền thống giải liên quan trực tiếp:

  • cận lý thuyết đồ thị: bậc, số ổn định, số sắc, clique (đồ thị con đầy đủ) và cấu trúc lớp đồ thị;
  • phương pháp kinh nghiệm/siêu kinh nghiệm: tìm kiếm cục bộ, tabu search (tìm kiếm kiêng kỵ), lân cận biến đổi và thứ tự kiến tạo để tìm nghiệm đương nhiệm cho cận trên/cận dưới;
  • phương pháp chính xác: quy hoạch động, nhánh–cận, MIP, CP và SAT theo cận.

SAT giải hiệu quả bài toán quyết định “có phép gán nhãn tại cận \(k\) không” và kết hợp tự nhiên với các cận lý thuyết đồ thị. Các cận thu hẹp khoảng tìm kiếm, tạo các giả định đầu tiên tốt hơn và đôi khi trực tiếp chứng nhận tối ưu. Với BCP/BMCP, khảo cứu tô màu đỉnh và các biến thể cung cấp mô hình, cận theo đồ thị con đầy đủ và nguồn gốc bộ kiểm chuẩn cần dùng làm đối chứng (Malaguti & Toth, 2010).

Bảng: Bốn họ bài toán khoảng cách nhãn.
HọPhép gánCận miền tự nhiênĐối chứng chính xác
BandwidthHoán vịCận bố trí/bậcDP, BB, MIP
AntibandwidthHoán vịCận ổn định/số sắcMIP, CP, SAT
BCPMột màu/đỉnhCận đồ thị con đầy đủ và tô màuMIP, CP, SAT
BMCPNhiều màu/đỉnhCận ô màu/nhu cầuMIP, tìm kiếm cục bộ, SAT

Phân loại trước khi biểu diễn

Bảng: Phân biệt ngữ nghĩa của ABP, CABP, No-hole Anti-\(k\)-labeling, BCP và BMCP.
Bài toánNghiệmRàng buộcMục tiêu
AntibandwidthHoán vị \(1,\ldots, n\)\(\left|f(u)-f(v)\right|\ge k\)Tối đa \(k\)
Antibandwidth tuần hoànHoán vị trên vòng\(D_c(f(u),f(v))\ge k\)Tối đa \(k\)
No-hole Anti-\(k\)-labelingÁnh xạ toàn ánh \(\left\{1,\ldots, k\right\}\) (\(k<n\))\(\left|\psi(u)-\psi(v)\right|\ge w\) và \(\sum_i x_{ij}\ge 1\)Tối đa \(w\)
Tô màu theo bandwidthMột màu mỗi đỉnh\(\left|c(u)-c(v)\right|\ge d_{uv}\)Tối thiểu độ trải
Tô đa màu theo bandwidth\(w(u)\) màu mỗi đỉnhKhoảng cách nội/ngoại đỉnhTối thiểu màu lớn nhất

Với ABP và CABP, nhãn là một hoán vị nên ma trận gán cần \(\mathrm{ExactlyOne}\) theo cả hàng và cột. Với BCP, hai đỉnh không kề nhau có thể dùng cùng màu; chỉ hàng cần \(\mathrm{ExactlyOne}\). Với BMCP, một đỉnh có nhiều ô màu; thứ tự các ô là một phần của mô hình.

Kiểm tra ngữ nghĩa trước AMO
Hai phép biểu diễn có cùng biến \(x_{v,\ell}\) vẫn có thể mô tả hai bài toán khác nhau. Hãy viết phép giải mã và ràng buộc đếm theo hàng/cột trước khi thêm các ràng buộc khoảng cách.

Antibandwidth và cửa sổ staircase

Cận và phương pháp chính xác ngoài SAT

Với đồ thị liên thông, các cận trên ABP có thể lấy từ số đỉnh/cạnh, bậc, số ổn định \(\alpha(G)\) và số sắc \(\chi(G)\). Chẳng hạn

\[ AB(G)\le \alpha(G), \qquad AB(G)\le \left\lfloor\frac{n-1}{\chi(G)-1}\right\rfloor. \]

Tính chính xác \(\alpha,\chi\) cũng khó, nhưng một cận trên cho \(\alpha\) hoặc cận dưới cho \(\chi\) vẫn có thể tạo cận hợp lệ. Các mô hình MIP, nhánh–cắt và CP đã cải thiện đáng kể chứng nhận trên bộ Harwell–Boeing (Sinnl, 2021). Do đó một nghiên cứu SAT trên cùng bộ kiểm chuẩn cần báo cùng cận đầu vào và so cả giá trị nghiệm lẫn khoảng cách chứng minh, không chỉ số bài toán có mô hình.

Tính khả thi ở cận \(k\)

Cho đồ thị \(G=(V, E)\), \(\left|V\right|=n\). Biến

\[ x_{v,\ell}=1\iff f(v)=\ell \]

mô tả một hoán vị:

\[ \mathrm{ExactlyOne}(x_{v, 1},\ldots, x_{v, n}) \quad\forall v, \] \[ \mathrm{ExactlyOne}(x_{1,\ell},\ldots, x_{n,\ell}) \quad\forall\ell. \]

Với một cận \(k\), mỗi cạnh \((u, v)\) cấm hai nhãn cách nhau dưới \(k\):

\[ \neg x_{u, a}\lor\neg x_{v, b}, \qquad \left|a-b\right|<k. \]

Một cách nhìn khác cố định vị trí \(a\) của \(u\). Khi đó \(v\) không được nằm trong cửa sổ

\[ [a-k+1, a+k-1]\cap[1, n]. \]

Khi \(a\) trượt, các cửa sổ chồng lấn tạo một họ AMO bậc thang. Nếu biểu diễn từng cửa sổ độc lập, phần lớn bộ đếm bị lặp.

Hình: Ở trái, nhãn \((2, 4,1, 3)\) cho \(P_4\) đạt antibandwidth \(2\).
Ở phải, mỗi ô được tô biểu diễn một cặp nhãn bị cấm trên một cạnh.
Hình: Ở trái, nhãn \((2, 4,1, 3)\) cho \(P_4\) đạt antibandwidth \(2\). Ở phải, mỗi ô được tô biểu diễn một cặp nhãn bị cấm trên một cạnh.

Thang Sequential Counter

SCL chia dãy biến thành các khối, xây Sequential Counter trong mỗi khối rồi nối trạng thái ở biên. Ý tưởng cốt lõi là biến phụ mang nghĩa số đếm tiền tố:

\[ s_{i, j}=1\iff \sum_{q=1}^{i}x_q\ge j. \]

Các cửa sổ chia sẻ tiền tố/hậu tố thay vì dựng lại bộ đếm. Với trường hợp \(k=1\), đây là phép biểu diễn cho AMO bậc thang; với AMK, bộ đếm giữ nhiều mức \(j=1,\ldots, k\).

Mệnh đề (Tái sử dụng qua biên khối)
Nếu bộ đếm trong mỗi khối đúng với mọi tiền tố cục bộ và bộ nối bảo toàn tổng tích lũy khi đi qua biên, thì ngưỡng của mọi cửa sổ ghép từ hậu tố khối trái và tiền tố khối phải đúng với số literal đúng trong cửa sổ đó.
Chứng minh. Tổng của cửa sổ bằng tổng trên hai phần rời nhau. Bộ đếm cục bộ biểu diễn đúng hai tổng; bộ nối liệt kê các cặp ngưỡng có tổng vượt cận. Vì vậy một phép gán vi phạm ràng buộc đếm kích hoạt ít nhất một mệnh đề nối, còn một phép gán hợp lệ mở rộng được bằng các giá trị đếm tiền tố thật.

(Truong et al., 2025) cho thấy SCL giảm cả biến phụ và mệnh đề so với nhiều phép biểu diễn không chia sẻ trên họ AMO bậc thang. Hướng AMK được phát triển trong (Truong et al., 2026); Duplex của (Fazekas et al., 2020) là một đối chiếu quan trọng theo hướng BDD hai chiều. Một cách nhìn rộng hơn về biến phụ có cấu trúc được thảo luận trong (Haberlandt et al., 2023).

SCL bổ sung cho các mô hình MIP/CP một cơ chế nén các khoảng xung đột trong CNF. Cận mạnh và SCL tương hỗ trực tiếp: \(k\) quyết định chiều rộng cửa sổ cần biểu diễn, còn Shared Counter giảm phần biểu diễn lặp giữa các cửa sổ đó.

Antibandwidth tuần hoàn

Khoảng cách vòng

Trong CABP, nhãn nằm trên vòng \(C_n\):

\[ D_c(a, b)=\min\{\left|a-b\right|,\,n-\left|a-b\right|\}. \]

Với cận \(k\), một cạnh cấm cửa sổ vòng bán kính \(k-1\). Cửa sổ có thể vắt qua điểm cắt nên dùng chỉ số môđun:

\[ W(a, k)=\left\{a-k+1,\ldots, a+k-1\right\}\pmod n. \]

Xung đột theo nhãn chính xác vẫn đúng nhưng số mệnh đề lớn. Cửa sổ vòng tạo AMO tuần hoàn, có thể biểu diễn bằng cách cắt vòng tại một vị trí neo rồi nối hai đầu bằng bộ nối.

Hình: Cửa sổ cấm trên vòng \(C_8\) với tâm \(1\) và \(k=3\). Hai nhánh
\(7, 8\) và \(2, 3\) phải được nối khi tuyến tính hóa vòng.
Hình: Cửa sổ cấm trên vòng \(C_8\) với tâm \(1\) và \(k=3\). Hai nhánh \(7, 8\) và \(2, 3\) phải được nối khi tuyến tính hóa vòng.

Đối xứng của vòng

CABP bất biến dưới phép quay và phản xạ của nhãn. Ta có thể cố định một đỉnh đại diện tại nhãn \(1\), rồi chọn hướng chuẩn cho một đỉnh thứ hai. Đây là phá đối xứng ở cấp hoán vị; điều kiện này độc lập với SCL dùng cho các cửa sổ khoảng cách.

Tìm nghiệm tối ưu theo cận tăng:

\[ F(k)=\mathrm{SAT} \Longrightarrow F(k-1)=\mathrm{SAT}, \qquad F(k)=\mathrm{UNSAT} \Longrightarrow F(k+1)=\mathrm{UNSAT}. \]

Một nghiệm tại \(k^\star\) và UNSAT tại \(k^\star+1\) chứng nhận tối ưu.

CABP và bộ kiểm chuẩn
Nghiên cứu của (Truong & To, 2026) xây dựng các phép biểu diễn SAT cho CABP và khai thác cửa sổ tuần hoàn cùng đối xứng của vòng. Một tập công thức khả thi được chuẩn bị cho SAT Competition 2026 (Truong & To, 2026); về mặt thiết kế, giá trị của bộ này là tách bài toán tối ưu thành chuỗi bài toán SAT/UNSAT có cận \(k\) rõ ràng.

Bài toán No-hole Anti-\(k\)-labeling và nén khoảng cấm bằng biến tiền tố

Bài toán gán nhãn phi song ánh và điều kiện toàn ánh

Trong quản lý phổ tần số và tài nguyên mạng không dây, số lượng kênh truyền dẫn khả thi \(k\) thường nhỏ hơn đáng kể so với số lượng trạm phát sóng \(n = \left|V\right|\) (\(k < n\)) do các giới hạn về mặt pháp lý và kỹ thuật. Bối cảnh này dẫn tới bài toán Anti-\(k\)-labeling (Guan et al., 2019), một mở rộng phi song ánh tự nhiên của bài toán Antibandwidth cổ điển (nơi \(k=n\)). Khi \(k < n\), phép gán nhãn không còn là một hoán vị mà trở thành một phép phân hoạch các đỉnh vào các lớp nhãn.

Biến thể No-hole Anti-\(k\)-labeling (Wang & Wu, 2021; Hai et al., 2026) yêu cầu hàm gán nhãn \(\psi: V \to \left\{1,\ldots, k\right\}\) phải là một phép ánh xạ toàn ánh (surjective mapping), tức là mọi nhãn trong tập \(\left\{1,\ldots, k\right\}\) đều phải được gán cho ít nhất một đỉnh (không có nhãn trống/lỗ hổng). Mục tiêu của bài toán là tìm hàm gán nhãn \(\psi\) sao cho khoảng cách giữa hai đỉnh kề nhau là lớn nhất:

\[ \lambda_k^{nh}(G) = \max_{\psi} \min_{(u, v)\in E} \left|\psi(u) - \psi(v)\right|. \label{eq:nohole-objective} \]

Mô hình quy hoạch tuyến tính số nguyên (ILP) cho bài toán quyết định “liệu có tồn tại phép gán nhãn toàn ánh thỏa mãn khoảng cách tối thiểu \(w\) không” sử dụng các biến nhị phân \(x_{ij} = 1 \iff \psi(i) = j\):

\[ \sum_{j=1}^k x_{ij} &= 1 && \forall i\in\left\{1,\ldots, n\right\}, \label{eq:nohole-ilp-vertex}\\ \sum_{i=1}^n x_{ij} &\ge 1 && \forall j\in\left\{1,\ldots, k\right\}, \label{eq:nohole-ilp-nohole}\\ x_{uj} + \sum_{j'=\max(1, j-w+1)}^{\min(k, j+w-1)} x_{vj'} &\le 1 && \forall (u, v)\in E, j\in\left\{1,\ldots, k\right\}. \label{eq:nohole-ilp-distance} \]

Ràng buộc~(công thức eq:nohole-ilp-vertex) bảo đảm mỗi đỉnh nhận đúng một nhãn; Ràng buộc~(công thức eq:nohole-ilp-nohole) bảo đảm tính toàn ánh (no-hole); và Ràng buộc~(công thức eq:nohole-ilp-distance) cấm hai đỉnh kề nhau nhận các nhãn thuộc khoảng cấm \((j-w, j+w)\).

Từ bùng nổ mệnh đề từng cặp đến biểu diễn khoảng bằng biến tiền tố

Chuyển trực tiếp Ràng buộc khoảng cách~(công thức eq:nohole-ilp-distance) sang CNF bằng phép biểu diễn từng cặp (Direct Encoding - DE) sinh ra họ mệnh đề xung đột:

\[ \neg x_{ui} \lor \neg x_{vj} \qquad \forall (u, v)\in E, i\in\left\{1,\dots, k\right\}, j\in [\max(1, i-w+1),\min(k, i-w-1)]. \label{eq:nohole-direct-cnf} \]

Số lượng mệnh đề của DE phát triển theo cấp số \(O(\left|E\right|\cdot k\cdot w)\). Khi khoảng cách mục tiêu \(w\) tăng lên, số mệnh đề khoảng cách bùng nổ mạnh mẽ, gây tắc nghẽn bộ nhớ và làm suy giảm hiệu năng của bộ giải SAT.

Để giải quyết triệt để nút thắt này, phép biểu diễn \mbox{\textnormal{PSE}} (Proposed SAT Encoding) (Hai et al., 2026) giới thiệu các biến phụ tiền tố \(l_{ij} \in \left\{0, 1\right\}\) với ngữ nghĩa:

\[ l_{ij} = 1 \iff \psi(i) \le j \iff \exists k' \le j : x_{ik'} = 1. \]

Tính đơn điệu tự nhiên của biến tiền tố đòi hỏi \(l_{ij} \to l_{i(j+1)}\) cho mọi \(j < k\). Hệ thống mệnh đề liên kết biến gán gốc \(x_{ij}\) và biến tiền tố \(l_{ij}\) được định nghĩa bởi:

\[ x_{ij} &\to l_{ij} && \forall i\in\left\{1,\ldots, n\right\}, j\in\left\{1,\ldots, k\right\}, \label{eq:nohole-link-1}\\ l_{ij} &\to l_{i(j+1)} && \forall i\in\left\{1,\ldots, n\right\}, j\in\left\{1,\ldots, k-1\right\}, \label{eq:nohole-link-2}\\ \neg x_{i1} &\to \neg l_{i1} && \forall i\in\left\{1,\ldots, n\right\}, \label{eq:nohole-link-3}\\ (\neg x_{ij} \land \neg l_{i(j-1)}) &\to \neg l_{ij} && \forall i\in\left\{1,\ldots, n\right\}, j\in\left\{2,\ldots, k\right\}, \label{eq:nohole-link-4}\\ x_{ij} &\to \neg l_{i(j-1)} && \forall i\in\left\{1,\ldots, n\right\}, j\in\left\{2,\ldots, k\right\}. \label{eq:nohole-link-5} \]

Nhờ cấu trúc biến tiền tố, toàn bộ khoảng cấm \((j-w, j+w)\) giữa hai đỉnh kề nhau \((u, v)\in E\) được nén lại chỉ trong **đúng một mệnh đề kéo theo đơn duy nhất**:

\[ x_{uj} \to \left( l_{v, \max(1, j-w)} \lor \neg l_{v, \min(k, j+w-1)} \right) \qquad \forall (u, v)\in E, j\in\left\{1,\ldots, k\right\}. \label{eq:nohole-prefix-distance} \]

Mệnh đề~(công thức eq:nohole-prefix-distance) khẳng định rằng: nếu đỉnh \(u\) nhận nhãn \(j\), thì đỉnh kề \(v\) bắt buộc phải nhận nhãn nhỏ hơn/bằng \(j-w\) (thỏa mãn literal \(l_{v, \max(1, j-w)}\)) hoặc phải nhận nhãn lớn hơn \(j+w-1\) (thỏa mãn literal \(\neg l_{v, \min(k, j+w-1)}\)). Điều này tự động loại bỏ tất cả các nhãn nằm trong khoảng cấm \([j-w+1, j+w-1]\) mà không cần liệt kê từng cặp nhãn vi phạm.

Hình: So sánh cơ chế nén khoảng cấm khi $k=5, w=2$: (a) Phép biểu diễn từng cặp liệt kê $O(w)$ mệnh đề; (b) Phép biểu diễn tiền tố PSE loại toàn bộ khoảng cấm bằng một mệnh đề kéo theo duy nhất.
Hình: So sánh cơ chế nén khoảng cấm khi $k=5, w=2$: (a) Phép biểu diễn từng cặp liệt kê $O(w)$ mệnh đề; (b) Phép biểu diễn tiền tố PSE loại toàn bộ khoảng cấm bằng một mệnh đề kéo theo duy nhất.
Mệnh đề (Độ phức tạp và tính đúng đắn của PSE)
Phép biểu diễn \mbox{\textnormal{PSE}} biểu diễn chính xác bài toán No-hole Anti-\(k\)-labeling. Tổng số biến nhị phân là \(2nk\), tổng số mệnh đề khoảng cách là \(2\left|E\right|k\), và các mệnh đề liên kết là \(n(4k-2)\). Phép biểu diễn hoàn toàn triệt tiêu sự phụ thuộc của số mệnh đề vào tham số khoảng cách mục tiêu \(w\).
Chứng minh. Mỗi đỉnh \(i\) có \(k\) biến gán gốc \(x_{ij}\) và \(k\) biến tiền tố \(l_{ij}\), tổng cộng \(2nk\) biến. Các Mệnh đề~(công thức eq:nohole-link-1)–(công thức eq:nohole-link-5) bảo đảm ngữ nghĩa \(l_{ij} = \sum_{k'\le j}x_{ik'}\) và ép buộc đỉnh \(i\) nhận đúng một nhãn mà không cần thêm các mệnh đề ExactlyOne bổ sung. Mệnh đề khoảng cách~(công thức eq:nohole-prefix-distance) chỉ tạo ra 2 mệnh đề cho mỗi cặp cạnh định hướng và nhãn \(j\), cho tổng số \(2\left|E\right|k\) mệnh đề.

Phá vỡ đối xứng phản xạ và kết quả thực nghiệm

Không gian nghiệm của bài toán No-hole Anti-\(k\)-labeling chứa đối xứng phản xạ: nếu \(\psi(v)\) là một nghiệm hợp lệ, thì nghiệm đối xứng \(\psi'(v) = k + 1 - \psi(v)\) cũng hợp lệ và giữ nguyên khoảng cách \(\left|\psi'(u) - \psi'(v)\right| = \left|\psi(u) - \psi(v)\right|\) (Hai et al., 2026). Để phá vỡ đối xứng này và thu hẹp không gian tìm kiếm, phép biểu diễn cố định một đỉnh chốt \(p\) (thường chọn đỉnh có chỉ số 0) thuộc nửa dưới miền nhãn:

\[ \bigwedge_{i=\lceil k/2 \rceil + 1}^k \neg x_{pi}. \label{eq:nohole-symmetry-breaking} \]
Kết quả tiêu biểu cho No-hole Anti-\(k\)-labeling
Trên 23 bộ dữ liệu chuẩn Harwell–Boeing (Hai et al., 2026):
  • Phép biểu diễn \mbox{\textnormal{PSE}} kết hợp với bộ giải song song PAINLESS giải thành công 100% các bài toán, vượt trội hoàn toàn so với mô hình \mbox{\textnormal{DE}} (bị bùng nổ mệnh đề và không tìm được nghiệm khả thi trên 3 bài toán lớn U, V, X trong thời gian 1800 giây).
  • So với các công cụ thương mại hàng đầu đại diện cho MIP (Gurobi, CPLEX) và CP (CPLEX CP)—vốn hoàn toàn thất bại không tìm được bất kỳ nghiệm khả thi nào trên 8 bài toán quy mô lớn từ M đến X—phép biểu diễn \mbox{\textnormal{PSE}} cải thiện trung bình 19% chất lượng nghiệm mục tiêu và giảm trên 82% thời gian chạy trên các bài toán giải được.

Tô màu theo bandwidth

Quan hệ với tô màu đỉnh

Khi \(d_{uv}=1\) trên mọi cạnh, BCP trở về tô màu đỉnh theo độ trải. Khi các trọng số lớn hơn, một đồ thị con đầy đủ không chỉ yêu cầu các màu khác nhau mà còn yêu cầu một phép đóng gói một chiều của các khoảng cách. Vì vậy kích thước đồ thị con đầy đủ vẫn cho cận dưới nhưng không mô tả đủ phép tách có trọng số. Các mô hình MIP theo phép gán, đại diện hoặc phủ tập trong tô màu đỉnh là điểm khởi đầu; BCP phải bổ sung các xung đột có xét khoảng cách (Malaguti & Toth, 2010).

Từ góc nhìn biểu diễn, biến trực tiếp mở rộng mô hình gán; biến thứ tự nén một dãy giá trị xung đột thành hai biên; biến khối tạo các đại diện khoảng. Sáu họ dưới đây khảo sát có hệ thống trục biểu diễn đó và kết nối với các cận lý thuyết đồ thị đã nêu.

Mô hình và sáu họ biểu diễn

BCP cho đồ thị có trọng số cạnh \(d_{uv}>0\). Mỗi đỉnh nhận màu \(c(u)\in[1, H]\) và

\[ \left|c(u)-c(v)\right|\ge d_{uv} \quad\forall uv\in E. \]

Mục tiêu là tối thiểu

\[ \chi_B(G)=\min_c\max_{u\in V}c(u). \]

Nghiên cứu hệ thống của (Nguyen et al., 2026) tổ chức không gian thiết kế thành sáu họ:

Bảng: Sáu họ biểu diễn cho tô màu theo bandwidth.
HọBiếnCơ chế khoảng cách
1G\(g_{u, j}\iff c(u)\ge j\)Một chuỗi thứ tự hướng lớn hơn
1L\(l_{u, j}\iff c(u)\le j\)Một chuỗi thứ tự hướng nhỏ hơn
2GGiá trị đúng \(x_{u, j}\) và ngưỡng \(g_{u, j}\)Giá trị chính xác kích hoạt hai biên khoảng cấm
2LGiá trị đúng \(x_{u, j}\) và ngưỡng \(l_{u, j}\)Như 2G với hướng thứ tự đảo
XBiến khốiChia sẻ cấu trúc khoảng cách theo khối
\(X_a\)Khối và phép trừ phụTái sử dụng hiệu/khoảng qua biến phụ

Khoảng cấm bằng hai biên

Giả sử \(x_{u, a}=1\). Khi đó màu của \(v\) phải nằm ngoài

\[ [a-d_{uv}+1,\;a+d_{uv}-1]. \]

Với ngữ nghĩa \(g_{v, t}=1\iff c(v)\ge t\), điều kiện được viết bằng một mệnh đề biên:

\[ \neg x_{u, a} \lor \neg g_{v, a-d_{uv}+1} \lor g_{v, a+d_{uv}}. \]

Hai literal cuối lần lượt nói \(c(v)<a-d_{uv}+1\) hoặc \(c(v)\ge a+d_{uv}\). Số mệnh đề không còn phụ thuộc vào độ rộng khoảng cấm; mỗi giá trị chính xác tạo một mệnh đề cho mỗi hàng xóm.

Biểu diễn theo khối chia miền màu thành các đoạn và dùng biến phụ để tóm tắt quan hệ giữa các đoạn. CNF có thể lớn hơn Order Encoding, nhưng lan truyền trên bài toán khó có thể mạnh hơn vì bộ giải nhìn thấy các cấu trúc khoảng được chia sẻ.

Một khoảng cấm được nén thành hai biên
Cho \(H=7\), \(x_{u, 4}=1\) và \(d_{uv}=2\). Đỉnh \(v\) không được nhận \[ [4-2+1,\,4+2-1]=[3, 5]. \]

Với \(g_{v, t}\Leftrightarrow c(v)\ge t\), chỉ cần mệnh đề

\[ \neg x_{u, 4}\lor\neg g_{v, 3}\lor g_{v, 6}. \]

Khi \(x_{u, 4}=1\), hai literal còn lại nói đúng hai miền hợp lệ: \(c(v)\le2\) hoặc \(c(v)\ge6\). Direct Encoding từng cặp phải cấm riêng \((4, 3),(4, 4),(4, 5)\); biểu diễn theo biên giữ số mệnh đề không đổi khi khoảng cấm rộng hơn, miễn tập cấm vẫn là một khoảng.

Hiệu ứng tương tác
Trên tập GEOM và MS-CAP của (Nguyen et al., 2026), cấu hình theo khối giải được các bài toán khó mà Order Encoding không hoàn tất trong cùng giới hạn. Giải tăng dần và đối xứng không có hiệu ứng đồng đều: lợi ích phụ thuộc vào họ biểu diễn. Vì vậy thí nghiệm phân tích thành phần (ablation study) nên dùng đơn vị \(\text{phép biểu diễn}\times\text{đặc trưng}\), không chỉ so trung bình từng đặc trưng.

Tô đa màu theo bandwidth

Mô hình ô màu và giảm miền

BMCP gán cho đỉnh \(u\) một tập \(w(u)\) màu. Viết chúng thành các ô có thứ tự

\[ c(u)_1<c(u)_2<\cdots<c(u)_{w(u)}. \]

Hai ô cùng đỉnh cách nhau ít nhất \(d(u, u)\); hai ô ở hai đỉnh kề nhau cách ít nhất \(d(u, v)\). Với cận màu lớn nhất \(k\), miền ô được siết:

\[ LB_{u, i}=1+(i-1)d(u, u), \] \[ UB_{u, i}=k-(w(u)-i)d(u, u). \]

Thứ tự ô loại đối xứng hoán vị màu bên trong một đỉnh và đồng thời tạo lan truyền cận.

Mô hình ô là một phép mở rộng miền, trong khi mô hình tần số là một mô hình tập. Hai cách có đối xứng và cận dưới khác nhau. Trong mô hình ô, thứ tự nội bộ loại \(w(u)!\) hoán vị; trong mô hình tập, đối xứng đó không được tạo ra nhưng ràng buộc “chọn đúng \(w(u)\) màu” cần ràng buộc đếm. So sánh FE/SBE/OBE vì vậy phải bao gồm cả số trạng thái gán trước các mệnh đề khoảng cách.

FE, SBE và OBE

Flat Encoding (biểu diễn phẳng, FE). Biến \(x_{u, m}\) cho biết màu \(m\) được dùng tại \(u\). Ràng buộc đếm bảo đảm đúng \(w(u)\) màu; xung đột từng cặp cấm các cặp quá gần.

Slot-Based Encoding (biểu diễn theo ô màu, SBE). Biến \(x_{u, i,m}\) nói ô \(i\) bằng \(m\). Mỗi ô có ràng buộc đúng một và các cặp ô vi phạm khoảng cách bị cấm trực tiếp.

Order-Based Encoding (biểu diễn theo thứ tự, OBE). Thêm \(g_{u, i,m}=1\iff c(u)_i\ge m\). Giá trị chính xác tại một ô kích hoạt hai biên khoảng cấm của ô ở đỉnh khác:

\[ x_{u, i,m}\rightarrow \left( g_{v, j,m+d(u, v)} \lor \neg g_{v, j,m-d(u, v)+1} \right). \]

Số mệnh đề xung đột giảm một bậc theo miền màu so với SBE từng cặp.

Mệnh đề (Đúng đắn của OBE)
Nếu liên kết giá trị chính xác–thứ tự xác định cùng một giá trị cho mỗi ô, chuỗi thứ tự đơn điệu và mọi giá trị chính xác kích hoạt mệnh đề khoảng cấm ở trên, thì mọi mô hình OBE giải mã thành một phép tô đa màu theo bandwidth hợp lệ.
Chứng minh. Ràng buộc đúng một cho mỗi ô một màu; các mệnh đề cận và thứ tự giữ các ô trong miền và đúng thứ tự. Với mỗi cặp ô bị ràng buộc, giá trị chính xác \(m\) của ô thứ nhất buộc ô thứ hai nằm dưới \(m-d+1\) hoặc từ \(m+d\) trở lên. Vì vậy khoảng cách tuyệt đối ít nhất \(d\).

Tìm kiếm tăng dần từ trên xuống bắt đầu từ một cận trên khả thi. Sau khi tìm mô hình có độ trải \(s\), bộ giải cấm các màu từ \(s\) trở lên và tiếp tục. Lần UNSAT đầu tiên tại \(s-1\), cùng mô hình tại \(s\), chứng nhận tối ưu. (Nguyen & To, 2026) dùng cơ chế này để chứng minh tối ưu cho BMCP.

Một trừu tượng chung: giá trị chính xác và khoảng cấm

ABP, BCP và BMCP gặp cùng một mẫu:

  1. một biến chính xác chọn giá trị \(a\);
  2. lựa chọn đó tạo một khoảng giá trị bị cấm cho đối tượng khác;
  3. biến thứ tự nén khoảng thành hai literal biên.
Khác biệt nằm ở nguồn của khoảng và số lựa chọn trong phép gán. ABP có ràng buộc khác nhau toàn cục; BCP không có; BMCP có nhiều ô trên một đỉnh. Vì vậy mô-đun ForbiddenInterval có thể dùng lại, còn AssignmentSemantics phải được tham số hóa theo bài toán.

Quy trình chính xác kết hợp

Một quy trình có giá trị tham khảo cho cả bốn bài toán là:

  1. dùng cận lý thuyết đồ thị và phương pháp kinh nghiệm để tạo khoảng \([LB, UB]\);
  2. chọn mô hình đúng ngữ nghĩa: hoán vị, một màu hoặc nhiều ô;
  3. lọc miền bằng cận cục bộ hoặc đồ thị con đầy đủ trước khi tạo biến;
  4. chọn Direct Encoding/thứ tự/khối theo hình dạng tập cấm;
  5. giải theo quy trình cận đơn điệu và lưu nghiệm làm chứng;
  6. tại cận cuối, kiểm tra phép gán nhãn miền và chứng minh UNSAT độc lập.

Kiến trúc này đặt SAT trong một khung giải chính xác thay vì coi bộ giải SAT là toàn bộ thuật toán. Cấu trúc này cũng làm rõ vị trí đóng góp của một nghiên cứu mới: cận, mô hình, phép biểu diễn, quy trình tìm kiếm hay chứng nhận.

Tổng kết Bài học
Bài học trung tâm. Chọn Direct Encoding, thứ tự hay theo khối không chỉ là chọn kích thước CNF. Biến trực tiếp làm phép giải mã và xung đột cục bộ rõ; biến thứ tự nén bất đẳng thức và khoảng; biến khối tạo điểm chia sẻ mới cho lan truyền. Một kiến trúc tốt thường kết hợp cả ba ở những lớp khác nhau.

Câu hỏi nghiên cứu

  1. Với ABP trên đường \(P_4\), dựng \(F(k)\) tại \(k=2\) và chỉ rõ exactly-one theo hàng lẫn cột.
  2. Dẫn xuất mệnh đề biên BCP cho ba trường hợp: khoảng nằm trong miền, chạm biên trái và chạm biên phải.
  3. Thiết kế thí nghiệm phân tích thành phần (ablation study) \(2\times2\) cho giải tăng dần và đối xứng trên hai họ biểu diễn BCP.

Chương 11: Ứng dụng trong Radio Labeling

Hình 11.2 · Gán nhãn radio khả thi và nén khoảng cấm
Hình 11.2 · Gán nhãn radio khả thi và nén khoảng cấm
Radio labeling (gán nhãn radio), \(k\)-safe labeling (gán nhãn an toàn \(k\)) và frequency assignment (phân bổ tần số) cùng chia sẻ một mô-đun: một lựa chọn chính xác tạo ra forbidden interval (khoảng cấm) trên miền của đối tượng khác. Sự khác nhau nằm ở cách tạo khoảng cấm và cách định nghĩa hàm mục tiêu.
Giá trị chính xác
Chuỗi thứ tự
Khoảng cấm
↙ Độ trải hoặc số giá trị
↘ Nghiệm chứng và cận dưới

Hai văn liệu nguồn: gán nhãn đồ thị và phân bổ tần số

Các bài toán trong chương đi vào SAT từ hai văn liệu khác nhau. Gán nhãn đồ thị nghiên cứu các ánh xạ số trên đỉnh/cạnh dưới nhiều quy tắc khoảng cách; gán nhãn radio là một nhánh trong hệ phân loại rất rộng đó (Gallian, 2024). Phân bổ tần số bắt nguồn từ mô hình nhiễu vô tuyến: mỗi máy phát có miền, ràng buộc phân cách, đôi khi có giá trị gán trước, phân cực, nhiều loại nhiễu và nhiều hàm mục tiêu.

Khảo cứu của Aardal và cộng sự phân loại FAP theo miền, mô hình nhiễu và hàm mục tiêu, đồng thời tổng hợp MIP, cận dưới lý thuyết đồ thị, tối ưu ràng buộc và phương pháp kinh nghiệm (Aardal et al., 2007). Từ góc nhìn SAT, điểm quan trọng là không đồng nhất ba hàm mục tiêu:

  • độ trải nhỏ nhất: giảm hiệu giữa tần số lớn nhất và nhỏ nhất;
  • số giá trị nhỏ nhất: giảm số tần số phân biệt được dùng;
  • nhiễu/chi phí nhỏ nhất: cho phép vi phạm hoặc mức nhiễu có trọng số.
Chúng có thể dùng cùng các ràng buộc khả thi nhưng cần biến hàm mục tiêu và lập luận cận dưới khác nhau.

Bảng: Ba lớp bài toán gán nhãn và tần số.
LớpMiềnRàng buộcHàm mục tiêu điển hình
Gán nhãn radioLiên tục \([1, B]\)Từ khoảng cách đồ thịĐộ trải/nhãn lớn nhất nhỏ nhất
Đơn ánh an toàn \(k\)Liên tục \([1, B]\)Khác nhau + khoảng cách cạnhNhãn lớn nhất nhỏ nhất
FAPRời rạc theo máy phátPhân cách nhiễuĐộ trải, số giá trị hoặc chi phí

Các công trình của nhóm trong chương được dùng để minh họa ba phép chuyển: xung đột từng cặp sang biên khoảng; miền liên tục sang miền rời rạc; và cận độ trải sang bộ đếm giá trị phân biệt. Ba phép chuyển này kết nối hệ phân loại FAP và gán nhãn đồ thị với các mô-đun SAT có thể dùng lại.

Bổ đề khoảng cấm

Cho \(x_{u, a}=1\) khi đối tượng \(u\) nhận giá trị \(a\). Với đối tượng \(v\), đặt

\[ g_{v, t}=1\iff f(v)\ge t. \]

Giả sử lựa chọn \(a\) cấm khoảng \([L(a),U(a)]\) cho \(v\). Điều kiện hợp lệ là

\[ f(v)<L(a) \quad\lor\quad f(v)>U(a). \]

Trên miền nguyên liên tục, ràng buộc trở thành

\[ \neg x_{u, a} \lor \neg g_{v, L(a)} \lor g_{v, U(a)+1}. \tag{11.1}\label{eq:boundary} \]
Bổ đề (Mệnh đề biên)
Giả sử chuỗi thứ tự \(g_{v, t}\) đúng với ngữ nghĩa \(f(v)\ge t\). Khi \(x_{u, a}=1\), mệnh đề (công thức eq:boundary) được thỏa khi và chỉ khi giá trị của \(v\) nằm ngoài \([L(a),U(a)]\).
Chứng minh. Nếu \(x_{u, a}=1\), literal đầu sai. Literal \(\neg g_{v, L(a)}\) đúng khi \(f(v)<L(a)\); literal \(g_{v, U(a)+1}\) đúng khi \(f(v)\ge U(a)+1\). Phép tuyển vì thế tương đương với điều kiện nằm ngoài khoảng.

Trên miền rời rạc \(D_v\), không thể dùng trực tiếp chỉ số \(L, U\). Ta thay chúng bằng hai biên theo giá trị:

\[ \lambda_v(a)=\min\left\{q\mid D_{v, q}\ge L(a)\right\}, \] \[ \rho_v(a)=\min\left\{q\mid D_{v, q}>U(a)\right\}. \]

Các literal biên sau đó dùng \(\lambda_v(a)\) và \(\rho_v(a)\) trong chuỗi thứ tự theo chỉ số miền.

Quan hệ với Support Encoding

Trong Direct Encoding/hỗ trợ, lựa chọn \(x_{u, a}\) yêu cầu \(v\) nhận một trong các giá trị còn hỗ trợ:

\[ \neg x_{u, a} \lor \bigvee_{b\in D_v:\ b\notin[L(a),U(a)]}x_{v, b}. \]

Mệnh đề biên nén phép tuyển này thành hai ngưỡng khi tập hỗ trợ là hợp của một tiền tố và một hậu tố. Đây không phải một mẹo riêng của radio/FAP; đó là phép phân tích mệnh đề hỗ trợ dựa trên tính lồi của tập cấm. Nếu tập cấm có nhiều khoảng rời nhau, cần nhiều cặp biên hoặc một biểu diễn BDD/MDD khác.

Hình: Một khoảng cấm liên tục được nén thành hai literal biên:
\(\neg g_{v, 4}\lor g_{v, 7}\).
Hình: Một khoảng cấm liên tục được nén thành hai literal biên: \(\neg g_{v, 4}\lor g_{v, 7}\).

Phép so sánh lan truyền theo dõi đường suy luận của từng biểu diễn. Mệnh đề hỗ trợ trực tiếp loại giá trị chính xác; mệnh đề biên suy qua chuỗi thứ tự và liên kết giá trị chính xác–thứ tự. Hai phép biểu diễn đạt cùng mức cắt tỉa khi đặc tả của các chuỗi đó cung cấp đủ các bước suy luận (Gent, 2002; Bacchus, 2007).

Mô-đun dùng lại
ExactValue chọn \(a\); OrderChain biểu diễn miền của \(v\); ForbiddenInterval chỉ cần một hàm trả về hai biên. Gán nhãn radio, gán nhãn an toàn \(k\) và MO-FAP khác nhau ở hàm này, không khác nhau ở lôgic của (xem phần này).

Radio \(k\)-labeling: gán nhãn radio \(k\)

Mô hình

Cho đồ thị liên thông \(G=(V, E)\), khoảng cách đường đi ngắn nhất \(d(u, v)\) và tham số \(k\). Phép gán nhãn radio \(k\) là ánh xạ \(f:V\to\mathbb{Z}_{>0}\) thỏa

\[ \left|f(u)-f(v)\right| \ge \Delta_{uv}, \qquad \Delta_{uv}=k+1-d(u, v), \]

cho mọi cặp có \(\Delta_{uv}>0\). Mục tiêu là tối thiểu màu lớn nhất

\[ \min\max_{v\in V}f(v). \]

Trong bài toán gán nhãn radio chuẩn, người ta thường xét \(k=\operatorname{diam}(G)\).

Khoảng cách đồ thị tạo một đồ thị ràng buộc dày hơn đồ thị gốc: mọi cặp có \(d(u, v)\le k\) đều bị ràng buộc, với mức phân cách giảm khi khoảng cách đồ thị tăng. Bước tìm đường đi ngắn nhất cho mọi cặp vì thế không chỉ dành cho bộ bộ kiểm tra xác định toàn bộ cấu trúc liên kết của phép biểu diễn. Các cặp có \(\Delta_{uv}\le0\) được bỏ, còn các đỉnh trong cùng quỹ đạo có thể hỗ trợ phá đối xứng.

Hình: Một phép gán nhãn radio \(3\) khả thi cho \(P_4\). Hai đỉnh kề nhau
cần chênh ít nhất \(3\), cặp cách hai cạnh cần \(2\), và hai đầu mút cần \(1\).
Hình: Một phép gán nhãn radio \(3\) khả thi cho \(P_4\). Hai đỉnh kề nhau cần chênh ít nhất \(3\), cặp cách hai cạnh cần \(2\), và hai đầu mút cần \(1\).

SAT trực tiếp

Với một cận trên \(B\), đặt

\[ x_{v,\ell}=1\iff f(v)=\ell, \qquad \ell\in[1, B]. \]

Mỗi đỉnh nhận đúng một nhãn. Với cặp \(u, v\), mọi cặp nhãn \((a, b)\) có \(\left|a-b\right|<\Delta_{uv}\) tạo xung đột

\[ \neg x_{u, a}\lor\neg x_{v, b}. \]

Direct Encoding có phép giải mã đơn giản nhưng số xung đột tăng theo độ rộng khoảng cấm.

SAT thứ tự

Thêm

\[ g_{v,\ell}=1\iff f(v)\ge\ell. \]

Biến chính xác được xác định tại điểm chuyển:

\[ x_{v,\ell}\iff g_{v,\ell}\land\neg g_{v,\ell+1}. \]

Nếu \(u\) nhận \(a\), \(v\) không được nhận nhãn trong \([a-\Delta_{uv}+1, a+\Delta_{uv}-1]\). Mệnh đề biên là

\[ \neg x_{u, a} \lor \neg g_{v, a-\Delta_{uv}+1} \lor g_{v, a+\Delta_{uv}}, \]

sau khi bỏ các literal nằm ngoài miền. Số mệnh đề khoảng cách trở thành tuyến tính theo \(B\) cho mỗi cặp đỉnh, thay vì phụ thuộc thêm vào \(\Delta_{uv}\).

Tối thiểu hóa độ trải theo cách tăng dần

Bộ giải được dựng một lần ở cận trên \(B\). Sau khi tìm mô hình có giá trị lớn nhất \(\beta\), thêm

\[ \neg g_{v,\beta} \qquad\forall v \]

để buộc mọi nhãn không vượt quá \(\beta-1\). Vòng lặp nhảy theo nghiệm đương nhiệm thật, không cần giảm từng đơn vị. Nếu lần gọi ở \(\beta-1\) trả UNSAT, mô hình tại \(\beta\) cùng cận dưới này chứng nhận tối ưu.

Đối xứng có thể khai thác theo tự đẳng cấu của đồ thị. Với chu trình \(C_n\), sau khi dịch nhãn nhỏ nhất về \(1\), phép quay đưa đỉnh mang nhãn \(1\) về một đỉnh neo cố định. Quy tắc neo như vậy phải dựa trên quỹ đạo của đồ thị.

Gán nhãn radio
Trên 146 bài toán từ chín họ đồ thị, (Thanh et al., 2026) báo 38 số radio mới, khớp hoặc cải thiện BKS trên 130 bài toán và chứng nhận 109 giá trị tối ưu khi kết hợp các khung SAT với ILP. SAT thứ tự đặc biệt hiệu quả ở những họ có đường kính tăng theo kích thước; ILP bổ sung tốt ở các họ có đường kính bị chặn.

Gán nhãn an toàn \(k\) chính xác

Mô hình được sử dụng

Trong mô hình của (Thanh et al., 2026), nhãn

\[ L:V\rightarrow\left\{1,\ldots, B\right\} \]

thỏa hai điều kiện:

\[ L_u\ne L_v \qquad\forall u\ne v, \] \[ \left|L_u-L_v\right|\ge k \qquad\forall uv\in E. \]

Mục tiêu là tối thiểu \(\max_vL_v\). Điều kiện đầu là tính đơn ánh toàn cục: mỗi nhãn được dùng nhiều nhất một lần.

Quy ước của chương
Chương giữ đúng mô hình đơn ánh ở trên. Vì vậy, khi \(k=1\), bài toán vẫn là gán nhãn đơn ánh; đây không phải bài toán tô màu đồ thị chuẩn. Biến thể không đơn ánh là một mô hình khác.

Direct, forward order và reverse order encoding

Direct Encoding (Direct Encoding, DE). \(K_{v,\ell}\) nói \(L_v=\ell\). Ràng buộc đúng một theo đỉnh và AMO theo nhãn thực hiện phép gán đơn ánh. Mỗi cạnh cấm các cặp nhãn cách dưới \(k\).

Forward Order Encoding (Order Encoding xuôi, FE). \(X_{v, j}=1\iff L_v\ge j\). Giá trị chính xác xuất hiện ở điểm chuyển và kích hoạt hai biên của khoảng \([j-k+1, j+k-1]\).

Reverse Order Encoding (Order Encoding ngược, RE). \(X_{v, j}=1\iff L_v\le j\). Ngữ nghĩa đối xứng với FE; hướng của chuỗi thứ tự và các literal cận được đảo.

FE và RE có cùng tập phép gán nhãn nhưng có thể dẫn bộ giải đi theo các nhánh khác nhau. Đối xứng phản xạ

\[ L'_v=S+1-L_v \]

giữ mọi khoảng cách và tính đơn ánh trên miền \([1, S]\). Có thể chọn một đỉnh đại diện và đặt biến đại diện ở nửa dưới miền để giữ một đại diện của cặp phản xạ.

So sánh ba phép biểu diễn
Trên 16 đồ thị Erdős–Rényi của (Thanh et al., 2026), FE và RE tìm nghiệm cho toàn bộ tập và chứng nhận 13 giá trị tối ưu; DE tìm nghiệm cho 15 và chứng nhận 8. Kết quả cho thấy biên thứ tự phù hợp với ràng buộc khoảng cách, còn hướng FE/RE tạo khác biệt nhỏ hơn lựa chọn trực tiếp/thứ tự.

Phân bổ tần số với số giá trị nhỏ nhất

Miền rời rạc và hàm mục tiêu

Mỗi máy phát \(v\) có miền tần số đã sắp

\[ D_v=\left\{D_{v, 1}<D_{v, 2}<\cdots<D_{v, m_v}\right\}. \]

Các cạnh mang khoảng cách nhiễu; một số máy phát có giá trị gán trước. Hàm mục tiêu không phải tần số lớn nhất mà là số giá trị phân biệt được dùng:

\[ \min\left|\left\{f_v\mid v\in V\right\}\right|. \]

Do miền có lỗ và khác nhau giữa các máy phát, khoảng cấm phải được tính theo giá trị thực của tần số rồi ánh xạ về chỉ số miền.

Trong hệ phân loại FAP, đây là mô hình số giá trị nhỏ nhất: hai nghiệm dùng cùng số giá trị phân biệt có cùng giá trị mục tiêu dù độ trải khác nhau. Do đó chuỗi thứ tự theo chỉ số miền cục bộ chỉ phục vụ tính khả thi; biến \(A_a\) theo giá trị toàn cục mới phục vụ hàm mục tiêu. Trộn hai loại thứ tự này là một lỗi mô hình phổ biến.

Cùng độ trải nhưng khác số giá trị
Xét ba máy phát có miền chứa \(\{1, 4,7\}\), và không có cạnh nhiễu giữa máy phát thứ hai với thứ ba. Hai phương án \[ f=(1, 4,7),\qquad f'=(1, 7,7) \]

đều có tần số lớn nhất \(7\), nhưng lần lượt dùng \(3\) và \(2\) giá trị phân biệt. Tối thiểu hóa độ trải xem chúng ngang nhau; FAP số giá trị nhỏ nhất ưu tiên \(f'\). Vì vậy biến hàm mục tiêu phải là \(A_1, A_4, A_7\), không phải chỉ một ngưỡng “tần số lớn nhất không vượt \(7\)”.

Tiền xử lý nhất quán cung

Với cặp \((v, w)\), một giá trị \(a\in D_v\) phải có ít nhất một giá trị hỗ trợ \(b\in D_w\) thỏa khoảng cách yêu cầu. Nếu không có, \(a\) bị loại. Quá trình lặp đến fixpoint (điểm bất động, tức không còn giá trị nào bị loại):

\[ D_v\leftarrow \left\{a\in D_v\mid \exists b\in D_w:\left|a-b\right|\ge d_{vw}\right\} \]

cho mọi cung ràng buộc. Tiền xử lý này không thay giá trị tối ưu vì chỉ loại giá trị không thể xuất hiện trong bất kỳ nghiệm khả thi nào.

Đây là AC-3 trên các ràng buộc phân cách nhị phân. Khả năng suy diễn lan truyền của AC-3 bị giới hạn ở hỗ trợ từng cạnh: một giá trị có thể có hỗ trợ riêng trên mọi đỉnh kề nhưng không có hỗ trợ đồng thời toàn cục. Sau tiền xử lý, học mệnh đề SAT xử lý các tổ hợp xung đột còn lại. Vì vậy nên báo kích thước miền tại điểm bất động và thời gian AC riêng; không gán toàn bộ mức giảm thời gian chạy cho POSE.

DSE và POSE

Biểu diễn SAT trực tiếp dùng \(x_{v, q}=1\iff f_v=D_{v, q}\), ràng buộc đúng một theo máy phát và xung đột từng cặp cho các cặp giá trị vi phạm.

Biểu diễn SAT thứ tự bộ phận thêm

\[ g_{v, q}=1\iff \text{chỉ số tần số của }v\text{ không nhỏ hơn }q. \]

Nếu \(x_{v, q}=1\), tần số \(D_{v, q}\) tạo khoảng cấm \([D_{v, q}-d+1, D_{v, q}+d-1]\) trong miền \(D_w\). Hai biên \(\lambda_w,\rho_w\) của miền rời rạc được đưa vào mệnh đề biên

\[ \neg x_{v, q} \lor \neg g_{w,\lambda_w(q)} \lor g_{w,\rho_w(q)}. \]

POSE vì thế loại sự phụ thuộc vào số giá trị nằm bên trong khoảng cấm.

Hình: Ánh xạ khoảng giá trị \([4, 10]\) vào hai biên của miền rời rạc
\(D_w=\{2, 5,8, 11\}\).
Hình: Ánh xạ khoảng giá trị \([4, 10]\) vào hai biên của miền rời rạc \(D_w=\{2, 5,8, 11\}\).
Mệnh đề biên trên miền có lỗ
Với các miền trong (xem sơ đồ trong phần này), chọn giá trị thứ ba của \(D_v\), tức \(x_{v, 3}=1\) và \(f_v=7\). Khoảng cách \(d=4\) cấm \([4, 10]\) ở \(D_w\). Mệnh đề POSE là \[ \neg x_{v, 3}\lor\neg g_{w, 2}\lor g_{w, 4}. \]

Khi \(x_{v, 3}=1\), \(\neg g_{w, 2}\) cho phép chỉ số \(1\) (tần số \(2\)); \(g_{w, 4}\) cho phép chỉ số \(4\) (tần số \(11\)). Hai giá trị \(5, 8\) nằm giữa bị loại mà không cần hai mệnh đề xung đột riêng.

Đếm số tần số phân biệt

Với mỗi giá trị tần số toàn cục \(a\), tạo biến

\[ A_a=1\iff \exists v:\ f_v=a. \]

Liên kết \(x_{v, q}\rightarrow A_{D_{v, q}}\) bảo đảm mọi tần số được dùng đều được đánh dấu. Hàm mục tiêu trở thành một ràng buộc đếm:

\[ \min\sum_aA_a. \]

Sequential Counter tăng dần được dựng một lần đến cận trên ban đầu. Sau khi mô hình dùng \(q\) tần số, lần gọi kế tiếp kích hoạt cận \(q-1\) bằng các giả định. Lần UNSAT tại \(q-1\) cùng mô hình tại \(q\) chứng nhận tối ưu.

MO-FAP
Trên 35 bài toán CALMA/DUTtest hoặc được mô hình hóa lại, (Dao et al., 2026) báo cấu hình POSE kết hợp bộ đếm tăng dần chứng nhận trạng thái khả thi hoặc vô nghiệm của toàn bộ tập thử. Nhất quán cung giảm mạnh tổng thời gian của cấu hình này. Kết quả cho thấy vai trò bổ sung của ba mô-đun: lọc miền, nén khoảng cấm và đếm giá trị phân biệt.

So sánh theo cấu trúc

Bảng: So sánh cấu trúc Radio \(k\), \(k\)-Safe và MO-FAP.
Đặc trưngRadio \(k\)\(k\)-SafeMO-FAP
Miền\([1, B]\) liên tục\([1, B]\) liên tục\(D_v\) rời rạc
Khoảng cấmTừ khoảng cách đồ thị\(k\) trên cạnhTừ nhiễu
Cặp bị ràng buộcMọi cặp có \(\Delta>0\)Cạnh và tính đơn ánhCạnh ràng buộc
Hàm mục tiêuNhãn lớn nhất nhỏ nhấtNhãn lớn nhất nhỏ nhấtSố giá trị khác nhau nhỏ nhất
Lớp mục tiêuCận độ trảiCận độ trảiBộ đếm giá trị phân biệt

Ba bài toán chia sẻ mô-đun khả thi ở mức khoảng, nhưng lớp hàm mục tiêu khác nhau. Radio và \(k\)-safe thay cận trên của nhãn. MO-FAP giữ các giá trị số cố định và tối thiểu số giá trị được kích hoạt. Đây là lý do không nên đồng nhất “số giá trị nhỏ nhất” với “độ trải nhỏ nhất”.

Đối chứng ngoài SAT và cận dưới

Đối với độ trải gán nhãn, MIP dùng biến nhãn nguyên và hướng nhị phân cho trị tuyệt đối; CP dùng ràng buộc khác nhau và khoảng cách; các phép dựng lý thuyết đồ thị cho cận hoặc nghiệm trên từng họ đồ thị. Đối với FAP, MIP/sinh cột, tối ưu ràng buộc, tìm kiếm cục bộ và tabu search (tìm kiếm kiêng kỵ) là các đối chứng đã được phát triển lâu dài (Aardal et al., 2007). Một đánh giá SAT có giá trị nên phân biệt:

  1. bài toán mà SAT cải thiện nghiệm đương nhiệm;
  2. bài toán mà SAT đóng khoảng cách bằng chứng nhận UNSAT;
  3. bài toán mà phương pháp khác cung cấp cận dưới/cận trên đầu vào;
  4. bài toán vô nghiệm do miền/giá trị gán trước, có thể phát hiện trước bước tối ưu.

Với số giá trị nhỏ nhất, cận dưới cơ bản có thể đến từ cấu trúc đồ thị con đầy đủ hoặc cấu trúc nhiễu hoặc số giá trị bắt buộc bởi các giá trị gán trước; cận trên đến từ phương án tần số kinh nghiệm. Bộ đếm giá trị phân biệt SAT tiếp nhận hai cận và lần lượt đóng khoảng \([LB, UB]\).

Bộ kiểm tra và chứng nhận

Bộ kiểm tra khả thi đọc trực tiếp nghiệm:

  • radio: kiểm miền, đường đi ngắn nhất cho mọi cặp và mọi \(\Delta_{uv}>0\);
  • \(k\)-safe: kiểm miền, tính đơn ánh và phân cách trên cạnh;
  • MO-FAP: kiểm \(f_v\in D_v\), giá trị gán trước, mọi ràng buộc và số tần số phân biệt.
Bộ kiểm tra không đọc các biến thứ tự phụ. Điều này giúp bộ kiểm tra giữ kích thước nhỏ gọn và độc lập với phép biểu diễn.

Chứng nhận tối ưu gồm một nghiệm làm chứng tại cận trên và bằng chứng cận dưới: UNSAT ở độ trải/số giá trị kề trước, hoặc một cận dưới toán học bằng cận trên. Với các giả định tăng dần, có thể hiện thực hóa (reification) các giả định cuối thành mệnh đề đơn vị để tạo một CNF độc lập cho bộ kiểm tra chứng minh.

Tổng kết Bài học
  1. Khoảng cấm là trừu tượng chung của cả ba bài toán.
  2. Trên miền liên tục, khoảng dùng hai ngưỡng trực tiếp; trên miền rời rạc, phải tìm biên theo giá trị.
  3. Tối thiểu hóa độ trải và tối thiểu hóa số giá trị phân biệt cần hai mô đun hàm mục tiêu khác nhau.
  4. Biến trực tiếp phục vụ lựa chọn chính xác và giải mã; biến thứ tự nén khoảng; Sequential Counter đếm số giá trị được dùng.

Câu hỏi nghiên cứu

  1. Chứng minh (xem phần này) khi khoảng chạm một biên của miền.
  2. Với \(D_v=\left\{10, 30,40\right\}\) và khoảng \([15, 35]\), xác định hai literal biên của POSE.

Kết luận và Hướng phát triển

Chương kết nối các kết quả kỹ thuật thành một luận điểm chung: một phép biểu diễn SAT tốt là một giao diện có ngữ nghĩa, được chọn theo cấu trúc bài toán và được đánh giá bằng một chuỗi bằng chứng có thể kiểm tra. Từ đó, chương tổng hợp miền hiệu quả của từng họ phương pháp và xây dựng chương trình nghiên cứu tiếp theo.

Những kết luận bền vững

Các họ bộ biểu diễn tạo thành một biên Pareto (Pareto frontier) thay vì một thứ hạng duy nhất. Quy trình lựa chọn có thể dùng lại gồm bốn lớp.

Lớp ngữ nghĩa. Trước khi đếm biến và mệnh đề, phải viết đặc tả cho biến chính, biến phụ, bộ giải mã và hàm mục tiêu. Tính đúng, tính đầy đủ theo phép chiếu và khả năng dùng literal phụ ở mô-đun khác là ba yêu cầu khác nhau. Một biến Tseitin chỉ được xem như ngưỡng, biến làm chứng hay trạng thái khi các mệnh đề thật sự bảo đảm ngữ nghĩa đó.

Lớp cấu trúc. Phép biểu diễn nên khớp với hình học của ràng buộc. Cửa sổ chồng lấn gợi ý trạng thái chia sẻ; miền hữu hạn có thứ tự gợi ý literal thứ tự; tổng Boolean gợi ý bộ đếm, Totalizer, mạng đếm hoặc BDD; phép tuyển hình học gợi ý biến quan hệ. Đối xứng nên được loại trước hết ở cách chọn biến, sau đó mới bằng ràng buộc có phép ánh xạ bảo toàn nghiệm.

Lớp giải. Đánh giá ở lớp giải kết hợp số mệnh đề với lan truyền đơn vị, đường truyền qua biến phụ, khả năng giữ mệnh đề đã học khi thay cận, chi phí của bộ giải mã/bộ kiểm tra và tương tác với tiền xử lý. Cùng một phép biểu diễn khả thi có thể cư xử khác nhau dưới SAT độc lập, SAT tăng dần, MaxSAT hay một kiến trúc kết hợp.

Lớp bằng chứng. Phát biểu về tính đúng cần chứng minh hoặc kiểm tra vét cạn trên miền nhỏ; phát biểu về kích thước cần công thức và bộ đếm từ gói tái lập; phát biểu về hiệu năng cần quy trình, đối chứng, giới hạn thời gian và dữ liệu từng lần chạy. Tối ưu chỉ được chứng nhận khi cận trên từ một nghiệm khả thi gặp cận dưới hợp lệ, thường là một kết quả UNSAT ở cận kế tiếp.

Tổng hợp các nghiên cứu tình huống

Bảng (bên dưới) tổng hợp thiết kế đánh giá, kết quả và cơ chế biểu diễn nổi bật của các nghiên cứu tình huống.

Bảng: Tổng hợp các nghiên cứu tình huống.
Mô-đun/bài toánThiết kế đánh giáKết quả chính
SCL/SCAMO và Anti-BandwidthPhân tích kích thước SCAMO; 24 đồ thị kiểm chuẩnThang chia sẻ giảm phần bộ đếm lặp trên AMO bậc thang và cạnh tranh trong cấu hình Anti-Bandwidth đã thử; độ chồng lấn khoảng là đặc trưng quyết định (Truong et al., 2025).
NSC/Xếp nhóm chơi golf66 bài toán; NSC, ADDER, BDD, CARD, BINOMIALNSC giải \(56/66\); ADDER, BDD và CARD cùng \(54/66\), BINOMIAL \(32/66\). Kết quả định vị NSC như một lựa chọn hiệu quả cho ràng buộc đúng \(K\) trong mô hình bài toán xếp nhóm chơi golf của nguồn (Kieu et al., 2026).
ALSCE/Lập lịch điều dưỡng28 bài toán, đến 120 điều dưỡng và 24 tuầnALSCE giải toàn bộ tập; kết quả hỗ trợ việc chia sẻ thanh ghi cho các cửa sổ chuỗi trong mô hình này (Truong et al., 2025).
SAT/Đóng gói dải41 bài toán; SAT thường, SAT tăng dần và CPSố giá trị tối ưu được chứng nhận lần lượt là \(26\), \(21\) và \(28\). SAT tăng dần phát huy lợi thế khi thay cận giữ được phần lớn miền và mệnh đề đã học (Kieu et al., 2025).
Gán nhãn radio146 bài toán từ chín họ đồ thị; các khung SAT và ILPCông trình báo 109 giá trị tối ưu được chứng nhận, 38 số radio mới, và khớp hoặc cải thiện BKS trên 130 bài toán; SAT và ILP có vai trò bổ sung theo cấu trúc đồ thị (Thanh et al., 2026).
Gán nhãn an toàn \(k\)16 đồ thị Erdős–Rényi; FE, RE và DEFE và RE tìm nghiệm cho \(16/16\), chứng nhận 13 giá trị tối ưu; DE tìm nghiệm cho 15 và chứng nhận 8. Biên thứ tự phù hợp hơn Direct Encoding trong tập thử này (Thanh et al., 2026).
POSE/MO-FAP35 bài toán CALMA/DUTtest hoặc được mô hình hóa lạiPOSE kết hợp bộ đếm tăng dần quyết định toàn bộ tập thử; kết quả hỗ trợ kiến trúc lọc miền, nén khoảng cấm và đếm số tần số khác nhau (Dao et al., 2026).

Miền hiệu quả và điểm chuyển thiết kế

Shared Counter và Ladder AMK. Shared Counter được ưu tiên khi các cửa sổ chồng lấn mạnh, cận \(k\) nhỏ và mỗi cửa sổ cắt ít khối. Khi số biên tăng, bộ đếm ghép thay bộ nối hai ngôi; với các tập gần rời nhau, một phép biểu diễn cục bộ thường gọn hơn.

NSC. NSC có kích thước \(O(nk)\) và tiết kiệm vùng trạng thái tam giác bất khả. Cấu trúc này phù hợp nhất khi vùng này chiếm tỷ lệ đáng kể và bài toán dùng một cận cố định. Totalizer/mạng đếm phù hợp với nhiều cận tăng dần; khi \(k\) gần \(n\), đếm literal bù chuyển bài toán về ngưỡng \(n-k\) nhỏ hơn.

Phá vỡ đối xứng. Mỗi ràng buộc phá vỡ đối xứng được suy từ một nhóm tự đẳng cấu bảo toàn miền, ràng buộc và hàm mục tiêu. Sức chứa, miền quay và cách hàm mục tiêu đọc chỉ số quyết định những hoán vị nào thuộc nhóm này. Mức phá vỡ đối xứng được chọn cùng độ dài mệnh đề và chiến lược phân nhánh.

Biểu diễn thời gian và đóng gói. SAT theo mốc thời gian phù hợp với khung thời gian vừa phải và miền bắt đầu đã được lọc. Tọa độ thứ tự nén tốt các so sánh trên miền nguyên. DDD mở rộng lựa chọn cho khung thời gian lớn khi có tập mốc đầy đủ hữu hạn, cận dưới hợp lệ và bước tinh chỉnh tăng nghiêm ngặt.

Khoảng cấm và biên thứ tự. Hai literal biên nén hiệu quả một khoảng cấm trên miền có thứ tự và đặc tả thứ tự hai chiều. Miền rời rạc dùng ánh xạ phần tử trước/sau; mỗi khoảng rời nhau bổ sung một cặp biên. Nhất quán cung tạo nhiều giá trị nhất trước SAT khi miền lớn hoặc đồ thị ràng buộc đủ dày.

Hướng nghiên cứu tiếp theo

  1. Lựa chọn bộ biểu diễn theo bài toán. Xây bộ chọn có thể giải thích quyết định bằng các đặc trưng như \(n, k\), độ chồng lấn, độ thưa của miền và số cận sẽ truy vấn; đánh giá bộ chọn so với bộ giải tốt nhất ảo.
  2. Đặc tả và kết hợp. Phát triển thư viện mô-đun mà mỗi literal đầu ra có ngữ nghĩa máy đọc được, cho phép kiểm tự động việc ghép bộ đếm, liên kết biểu diễn, hàm mục tiêu và bộ giải mã.
  3. Chứng nhận toàn trình. Nối ghi chứng minh của SAT/MaxSAT với bộ kiểm tra miền và chứng nhận cận dưới để giá trị tối ưu không phụ thuộc vào niềm tin ở bộ sinh.
  4. Trạng thái chia sẻ tổng quát. Mô hình hóa việc chọn khối, cây ghép và ngưỡng cần hiện thực hóa (reification) như một bài toán tối ưu riêng; tìm cận dưới cho số trạng thái/bộ nối dưới các yêu cầu lan truyền khác nhau.
  5. Phương pháp kết hợp có phân công rõ. Dùng CP/MIP để lọc miền hoặc tạo cận, SAT/MaxSAT để xử lý phép tuyển, nhưng đánh giá bằng thí nghiệm phân tích thành phần (ablation) để biết lợi ích đến từ mô-đun nào.
  6. Gói tái lập bền vững. Dùng vùng chứa phần mềm, bản kê dữ liệu, mã băm, giấy phép và quy trình tái lập; tách kết luận đã công bố khỏi kết quả thăm dò.

Kết luận cuối

Giá trị của phép biểu diễn SAT nằm ở khả năng chọn đúng trạng thái trung gian để CDCL nhìn thấy cấu trúc của bài toán. Shared Counter, thanh ghi tam giác, biên thứ tự, biến quan hệ và rời rạc hóa động là các biểu hiện khác nhau của cùng một nguyên tắc: chỉ hiện thực hóa (reification) thông tin vừa đủ, đặt đặc tả rõ cho thông tin đó, rồi kiểm bằng cả chứng minh lẫn gói tái lập. Ba bước này chuyển một nghiên cứu tình huống thành một phương pháp có thể kiểm chứng, so sánh và dùng lại.