Title: MPE does not return assignments for disconnected/isolated variables · Issue #66 · TensorBFS/BPDecoderPlus · GitHub
Open Graph Title: MPE does not return assignments for disconnected/isolated variables · Issue #66 · TensorBFS/BPDecoderPlus
X Title: MPE does not return assignments for disconnected/isolated variables · Issue #66 · TensorBFS/BPDecoderPlus
Description: Problem When a probabilistic graphical model contains disconnected components or isolated variables (variables that don't appear in any pairwise/higher-order factors), the current MPE implementation does not include these variables in th...
Open Graph Description: Problem When a probabilistic graphical model contains disconnected components or isolated variables (variables that don't appear in any pairwise/higher-order factors), the current MPE implementatio...
X Description: Problem When a probabilistic graphical model contains disconnected components or isolated variables (variables that don't appear in any pairwise/higher-order factors), the current MPE implement...
Opengraph URL: https://github.com/TensorBFS/BPDecoderPlus/issues/66
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"MPE does not return assignments for disconnected/isolated variables","articleBody":"## Problem\n\nWhen a probabilistic graphical model contains disconnected components or isolated variables (variables that don't appear in any pairwise/higher-order factors), the current MPE implementation does not include these variables in the returned assignment.\n\n## Example\n\nConsider a model with:\n- Variables: 0, 1, 2, 3\n- Factors: f(0,1), f(1,2) (variable 3 is isolated)\n\nCurrent behavior:\n```python\nassignment = mpe(model)\n# Returns: {0: x, 1: y, 2: z} # Missing variable 3!\n```\n\nExpected behavior:\n```python\nassignment = mpe(model)\n# Returns: {0: x, 1: y, 2: z, 3: w} # All variables included\n```\n\n## Root Cause\n\nThe contraction tree only includes tensors that are connected through shared variables. Isolated variables with only unary factors are not contracted into the tree and thus their optimal assignments are never computed.\n\n## Potential Solutions\n\n1. **Post-processing**: After contraction, identify variables not in the assignment and compute their optimal values from unary factors\n2. **Preprocessing**: Add dummy binary factors with uniform potentials to connect isolated components\n3. **Separate handling**: Detect disconnected components before contraction and solve each component separately\n\n## Discovered During\n\nUAI benchmark testing - some benchmark models have isolated variables or disconnected components.\n\n## Related\n\nPR #65 - Tropical einsum module with OMEinsum-style design","author":{"url":"https://github.com/GiggleLiu","@type":"Person","name":"GiggleLiu"},"datePublished":"2026-01-25T12:05:57.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/66/BPDecoderPlus/issues/66"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:0010748b-b290-0ea1-3dea-62101a842c7a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B69A:ADAB8:2DA35B0:3D6AE30:698DABC6 |
| html-safe-nonce | 5d4cb0b057e29008166aa924718a323248217d0e1d1bf437b46a9a2d005ee7a5 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNjlBOkFEQUI4OjJEQTM1QjA6M0Q2QUUzMDo2OThEQUJDNiIsInZpc2l0b3JfaWQiOiI3MTg3NTUxMDkzNTc1NzU2NzQyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 31759de551b490b208640d0622f1cc07d648ff29cee8180229fbe0bebf2fa06b |
| hovercard-subject-tag | issue:3853143522 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/TensorBFS/BPDecoderPlus/66/issue_layout |
| twitter:image | https://opengraph.githubassets.com/c3e633c1948293a7c5e2538476238e962ef6691a369a04c340109d75e548ecce/TensorBFS/BPDecoderPlus/issues/66 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c3e633c1948293a7c5e2538476238e962ef6691a369a04c340109d75e548ecce/TensorBFS/BPDecoderPlus/issues/66 |
| og:image:alt | Problem When a probabilistic graphical model contains disconnected components or isolated variables (variables that don't appear in any pairwise/higher-order factors), the current MPE implementatio... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | GiggleLiu |
| hostname | github.com |
| expected-hostname | github.com |
| None | 8c7947c0c592efeab6162b9909ad11fa43bff8b0cb5ff43273dc25e41979d43e |
| turbo-cache-control | no-preview |
| go-import | github.com/TensorBFS/BPDecoderPlus git https://github.com/TensorBFS/BPDecoderPlus.git |
| octolytics-dimension-user_id | 54710663 |
| octolytics-dimension-user_login | TensorBFS |
| octolytics-dimension-repository_id | 1134101933 |
| octolytics-dimension-repository_nwo | TensorBFS/BPDecoderPlus |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1134101933 |
| octolytics-dimension-repository_network_root_nwo | TensorBFS/BPDecoderPlus |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | b22a9fbf4dea601ec149a9e5362e0558df79b505 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width