compositional-explanations 0.0.4__tar.gz → 0.0.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. {compositional_explanations-0.0.4/src/compositional_explanations.egg-info → compositional_explanations-0.0.4.2}/PKG-INFO +1 -1
  2. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/pyproject.toml +2 -2
  3. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/optimal.py +6 -5
  4. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2/src/compositional_explanations.egg-info}/PKG-INFO +1 -1
  5. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/LICENSE +0 -0
  6. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/README.md +0 -0
  7. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/setup.cfg +0 -0
  8. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/beam.py +0 -0
  9. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/formula.py +0 -0
  10. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/metrics.py +0 -0
  11. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/optimal_sample_heuristic.py +0 -0
  12. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/optimal_sum_heuristic.py +0 -0
  13. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations/path_heuristic.py +0 -0
  14. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations.egg-info/SOURCES.txt +0 -0
  15. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations.egg-info/dependency_links.txt +0 -0
  16. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations.egg-info/requires.txt +0 -0
  17. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/compositional_explanations.egg-info/top_level.txt +0 -0
  18. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/package_utils/constants.py +0 -0
  19. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/package_utils/general_utils.py +0 -0
  20. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/package_utils/mask_utils.py +0 -0
  21. {compositional_explanations-0.0.4 → compositional_explanations-0.0.4.2}/src/package_utils/optimal_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: compositional_explanations
3
- Version: 0.0.4
3
+ Version: 0.0.4.2
4
4
  Summary: Package to compute Compositional Explanations both in their optimal and beam format.
5
5
  Author-email: Biagio La Rosa <bilarosa@ucsc.edu>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "compositional_explanations"
7
- version = "0.0.4"
7
+ version = "0.0.4.2"
8
8
  authors = [
9
9
  { name="Biagio La Rosa", email="bilarosa@ucsc.edu" },
10
10
  ]
@@ -26,4 +26,4 @@ dependencies = [
26
26
 
27
27
  [project.urls]
28
28
  Homepage = "https://github.com/aiea-lab/optimal-compositional-explanations"
29
- Issues = "https://github.com/aiea-lab/optimal-compositional-explanations/issues"
29
+ Issues = "https://github.com/aiea-lab/optimal-compositional-explanations/issues"
@@ -121,18 +121,18 @@ def apply_distributive_property(node):
121
121
  # considering the transformations since computing ((A AND NOT C) OR (B AND NOT C)) is more accurate than
122
122
  # computing ((A OR B) AND NOT C) since everythin is a pariwise estimation.
123
123
  return label
124
+ external_op = label.__class__
124
125
  if external_op == F.Or:
125
126
  # We do not rewrite (A AND B) OR C as (A OR C) AND (B OR C).
126
127
  # Otherwise, it would put C on both sides of an AND.
127
128
  # Our code assumes that AND removes always the unique elements,
128
- # since it aassumes the concepts cannot be repeated.
129
- # Therefore, it would underestimate the denominator of the IoU,
129
+ # since it assumes the concepts cannot be repeated.
130
+ # Therefore, it would underestimate the numerator of the IoU,
130
131
  # leading to a lower upper bound.
131
132
  return label
132
133
  label_left = label.left
133
134
  num_left_op = len(set(label_left.get_ops()))
134
135
  if num_left_op == 1:
135
- external_op = label.__class__
136
136
  internal_op = label_left.__class__
137
137
  if external_op == internal_op:
138
138
  return label
@@ -142,8 +142,9 @@ def apply_distributive_property(node):
142
142
  for val in vals_left:
143
143
  inner_formula = external_op(F.Leaf(val), label.right)
144
144
  chain.append(inner_formula)
145
- for i in range(len(chain) - 1):
146
- final_formula = internal_op(chain[i], chain[i + 1])
145
+ final_formula = chain[0]
146
+ for term in chain[1:]:
147
+ final_formula = internal_op(final_formula, term)
147
148
  return final_formula
148
149
  else:
149
150
  return label
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: compositional_explanations
3
- Version: 0.0.4
3
+ Version: 0.0.4.2
4
4
  Summary: Package to compute Compositional Explanations both in their optimal and beam format.
5
5
  Author-email: Biagio La Rosa <bilarosa@ucsc.edu>
6
6
  License: MIT