WEBVTT

1
00:00:00.000 --> 00:00:06.767
This overview explains how hybrid and partial-hybrid
strategies choose which graph regions to materialize.

2
00:00:06.767 --> 00:00:14.695
The chosen boundary changes work and representation, while
a reduced result may still need alignment for a dense request.

3
00:00:14.695 --> 00:00:14.700
The chosen boundary changes work and representation, while
a reduced result may still need alignment for a dense request.

4
00:00:15.000 --> 00:00:19.900
Consider a graph with two inner branches and an exclusive-or root.

5
00:00:19.900 --> 00:00:23.600
A full four-input vector has sixteen outputs.

6
00:00:23.600 --> 00:00:28.600
A materialization boundary marks where a computed value becomes stored data for later

7
00:00:28.600 --> 00:00:33.333
consumers, rather than remaining a pending operation.

8
00:00:33.333 --> 00:00:37.900
One strategy stores both branch vectors and then combines them.

9
00:00:37.900 --> 00:00:42.033
It makes each intermediate available for reuse, but also requires

10
00:00:42.033 --> 00:00:44.633
their construction and storage.

11
00:00:44.633 --> 00:00:50.800
If neither has another consumer, some of that storage may not provide a benefit.

12
00:00:50.800 --> 00:00:55.200
A hybrid strategy can retain a useful shared branch while evaluating

13
00:00:55.200 --> 00:00:57.500
another branch on demand.

14
00:00:57.500 --> 00:01:01.800
It must still produce every output required by the caller.

15
00:01:01.800 --> 00:01:05.900
Selecting internal boundaries is not permission to omit inconvenient

16
00:01:05.900 --> 00:01:09.954
assignments from a full-vector request.

17
00:01:09.954 --> 00:01:09.967
assignments from a full-vector request.

18
00:01:09.967 --> 00:01:15.233
Hybrid strategies can place a materialization boundary around a region.

19
00:01:15.233 --> 00:01:21.133
Partial-hybrid strategies preserve upper
structure while dispatching selected children.

20
00:01:21.133 --> 00:01:27.967
Follow the actual selected mode rather than
treating every hybrid label as the same algorithm.

21
00:01:27.967 --> 00:01:32.267
In S AND C AND D, OR S AND E, let S be A AND B.

22
00:01:32.267 --> 00:01:36.500
The left boundary encloses the whole eligible subtree.

23
00:01:36.500 --> 00:01:40.667
The right boundary encloses only the selected child.

24
00:01:40.667 --> 00:01:45.500
The parent and other child remain visible in the second diagram.

25
00:01:45.500 --> 00:01:51.400
At 11011 both paths must produce one.

26
00:01:51.400 --> 00:01:56.300
Compare all assignments before interpreting a structural difference.

27
00:01:56.300 --> 00:02:00.933
No-reinflation is an output contract too.

28
00:02:00.933 --> 00:02:09.400
A reduced packed result with live-variable metadata
is different from a fully broadcast ambient matrix.

29
00:02:09.400 --> 00:02:13.800
Current APIs expose admission and representation diagnostics;

30
00:02:13.800 --> 00:02:18.767
ask for dense output explicitly when that is the deliverable.

31
00:02:19.068 --> 00:02:25.387
Return to the four-input rule F equals A and B, exclusive-or C or D.

32
00:02:25.387 --> 00:02:31.892
The intervening five-input rule is a separate example; E is not part of this four-input rule.

33
00:02:31.892 --> 00:02:34.694
Fix C and D to zero.

34
00:02:34.694 --> 00:02:41.603
A and B remain free, so this is a restriction, not a complete assignment.

35
00:02:42.353 --> 00:02:48.997
After fixing C and D to zero, enumerate both possibilities for A and both for B.

36
00:02:48.997 --> 00:02:53.656
The first three assignments return zero and the last returns one.

37
00:02:53.656 --> 00:03:01.651
Omitting the last case would produce an incomplete result, even though only four outputs rather than sixteen are required.

38
00:03:01.951 --> 00:03:06.958
The restriction fixes C and D, while A and B remain free.

39
00:03:06.958 --> 00:03:12.650
Deliver all four remaining outputs: zero, zero, zero, one.

40
00:03:12.650 --> 00:03:21.358
This smaller task is complete because every assignment in its declared remaining universe is included; it is not sampling.

41
00:03:21.645 --> 00:03:27.545
Suppose the caller explicitly fixes C and D to zero and asks for the remaining function

42
00:03:27.545 --> 00:03:29.545
over A and B.

43
00:03:29.545 --> 00:03:33.045
The required universe now has four assignments.

44
00:03:33.045 --> 00:03:37.011
This is a smaller, declared task, not an incomplete attempt at

45
00:03:37.011 --> 00:03:40.445
the original sixteen-output task.

46
00:03:40.445 --> 00:03:46.145
The second branch becomes zero, so the final function is A and B.

47
00:03:46.145 --> 00:03:51.145
Its four outputs in zero-first order are zero zero zero one.

48
00:03:51.145 --> 00:03:54.378
All requested assignments are covered, even though the result is

49
00:03:54.378 --> 00:03:57.811
smaller than the unrestricted vector.

50
00:03:57.811 --> 00:04:01.678
Keep these two output contracts separate in the comparison.

51
00:04:01.678 --> 00:04:06.145
A selective materialization strategy is exact when it returns everything

52
00:04:06.145 --> 00:04:08.645
promised by its own contract.

53
00:04:08.645 --> 00:04:15.545
Whether it is faster still depends on the chosen boundaries, reuse, and delivery costs.

54
00:04:15.578 --> 00:04:20.511
Follow the actual selected mode and output representation.

55
00:04:20.511 --> 00:04:26.075
Charge alignment and broadcast whenever the caller requires the full layout.
