Issue1161

Title Optimize IntPacker Handling of Variables with a Single Value
Priority wish Status unread
Superseder Nosy List davidspeck, florian, jendrik, malte
Assigned To Keywords
Optional summary
Currently, the IntPacker uses 1 bit to represent variables with a domain size of 
one. This 
approach was implemented as a fix to address crashes in the IntPacker, 
particularly when 
components like DomainAbstractions are used. However, this is inefficient, as 
the value of 
such variables is static, and allocating 1 bit per state for static information 
is 
unnecessary.

- The original fix was implemented in issue1131, with a note in the PR 
(https://github.com/aibasel/downward/pull/207) suggesting further discussion and 
potential 
revision in the future. This revision has not yet occurred.
- The relevant code for the current implementation can be found here: 
https://github.com/aibasel/downward/blob/c7d6a4d87a10a4c2857285c3b49a14e8d18717a
2/src/search/algorithms/int_packer.cc#L28

Created on 2024-12-13.16:18:38 by davidspeck, last changed by davidspeck.

Summary
Currently, the IntPacker uses 1 bit to represent variables with a domain size of 
one. This 
approach was implemented as a fix to address crashes in the IntPacker, 
particularly when 
components like DomainAbstractions are used. However, this is inefficient, as 
the value of 
such variables is static, and allocating 1 bit per state for static information 
is 
unnecessary.

- The original fix was implemented in issue1131, with a note in the PR 
(https://github.com/aibasel/downward/pull/207) suggesting further discussion and 
potential 
revision in the future. This revision has not yet occurred.
- The relevant code for the current implementation can be found here: 
https://github.com/aibasel/downward/blob/c7d6a4d87a10a4c2857285c3b49a14e8d18717a
2/src/search/algorithms/int_packer.cc#L28
History
Date User Action Args
2024-12-13 16:20:39davidspecksetsummary: Currently, the IntPacker uses 1 bit to represent variables with a domain size of one. This approach was implemented as a fix to address crashes in the IntPacker, particularly when components like DomainAbstractions are used. However, this is inefficient, as the value of such variables is static, and allocating 1 bit per state for static information is unnecessary. - The original fix was implemented in issue1131, with a note in the PR (https://github.com/aibasel/downward/pull/207) suggesting further discussion and potential revision in the future. This revision has not yet occurred. - The relevant code for the current implementation can be found here: https://github.com/aibasel/downward/blob/c7d6a4d87a10a4c2857285c3b49a14e8d18717a2/src/search/ algorithms/int_packer.cc#L28 -> Currently, the IntPacker uses 1 bit to represent variables with a domain size of one. This approach was implemented as a fix to address crashes in the IntPacker, particularly when components like DomainAbstractions are used. However, this is inefficient, as the value of such variables is static, and allocating 1 bit per state for static information is unnecessary. - The original fix was implemented in issue1131, with a note in the PR (https://github.com/aibasel/downward/pull/207) suggesting further discussion and potential revision in the future. This revision has not yet occurred. - The relevant code for the current implementation can be found here: https://github.com/aibasel/downward/blob/c7d6a4d87a10a4c2857285c3b49a14e8d18717a 2/src/search/algorithms/int_packer.cc#L28
2024-12-13 16:18:38davidspeckcreate