Partial Order
আংশিক ক্রম
Reflexive, antisymmetric আর transitive। কিছু জোড়া অতুলনীয় থাকতে পারে — আর সেই অতুলনীয়তাই concurrency-র গাণিতিক রূপ।
also: poset
Symmetric-এর জায়গায় antisymmetric — এই একটা বদলই সব পাল্টে দেয়। Equivalence “একরকম” বলে; partial order “আগে-পরে” বলে।
উদাহরণ: ≤, ⊆, “ভাগ করে”, “task A, B-এর আগে”, subtyping।
“Partial” মানে অসম্পূর্ণ নয় — মানে কিছু জোড়া অতুলনীয়।
{1,2} আর {2,3} কোনোটাই অন্যটার subset নয়।
সব জোড়া তুলনীয় হলে সেটা total order।
অতুলনীয়তা = parallelism:
Partial: A ∥ B → C দুইটা core ব্যবহার করা যায়
Total: A → B → C সবসময় একটা core
make -j8 কাজ করে ঠিক এই কারণে। CPU-র out-of-order execution-ও
তাই — hardware একটা dependency graph বানিয়ে অতুলনীয় instruction
সমান্তরালে চালায়।
Distributed system-এ Lamport-এর happens-before একটা strict partial order; দুইটা event অতুলনীয় মানে তারা concurrent।
Antisymmetry ভাঙলে (A → B → A) [[topological-sort]] অসম্ভব —
build system-এ circular dependency, OS-এ deadlock।