In Part One  I introduced the ARC Prize Challenge.
In Part Two  We analyzed a simple Puzzle requiring the Action MOVE.
In Part Three  We introduced the PAINT Action and the IF-THEN-ELSE conditional.
In Part Four  We introduced the STROKE Action and Objects that are only partially revealed.
 
In addition to the previously illustrated Actions, the ARC Puzzles require understanding the idea of EXTEND. This is where the original Object emanates pixels in a direction away from itself. The extended pixels may collide with other Objects on the grid, and several Puzzle variations rely on detecting the rules of these interactions.
For ARCHIE I identified a hierarchy of EXTEND scenarios: Mirror, Connect, and Single Object. All Mirrors are Connects, and All Connects are Extends.
This classic ARC Puzzle illustrates the most specific form of EXTEND – Mirror. To form a Mirror, two Objects must be directly across from one another either Horizontally, Vertically, or Diagonally. Colors must match and the Shapes must be proper reflections for that orientation (e.g. Mirror Objects on the same row will have Flip Horizontal translations of one another. Single pixels Objects fundamentally match this already. ARCHIE notes any Mirror Objects during the Analyze Input phase and records references in the Object's Attributes.
Above is an example of Diagonal Mirrors. Note that Object Mirrors are not just from Border to Border, but can form in any portion of the Grid.
This puzzle might look like Maze or Pathfinding, but is actually using the same Mirror rules as the Puzzles above. Relationships on the Grid and not Color Pairing is at the heart of the concept.
Connect is an Extend between two Objects. In the above puzzle, the Agent is the Smallest Object, the Direction is from the Smallest to the Largest Object, and the Width is the Object's Width minus 2. Extended Pixels are Teal and will Extend until they collide with another Object.
The definition of an Object is modified here to allow Multicolor Objects. We can also see the Width, Color, and Distance of the Extend Pixels differ from any of the previous Mirror Examples.
The Solution for the Puzzle above involves a single Action:
[EXTEND,3,*,S,E,cCount,U]| pCount:4| pHeight:2| pWidth:2| Color:Multi
Interpreting the EXTEND Action parameters reveals more about ARCHIE's ability to generalize:
This is a (custom) example of Mirror Objects Extending OVER other Objects in the Grid. Programmatically it's the easiest since the Extended Pixels ignore other Objects and are placed over anything along the way.
Here Mirror Objects are Extending UNDER other Objects. It's trickier because object collisions have to be detected their dimensions noted for when Extend Pixels will be written to the grid or paused to appear below. (Grid data is natively single-layer).
This is the trickier of Extend's Collision models. Rather than coloring Over or Under, the colliding extension does what I will call "FLOOD" the intersecting Object. At the UCLA presentation, a "Flood" puzzle very similar to this was presented as an example of "What the Neural Network Models have not solved." This is also similar to what the powerful o3 could not solve:
 
 
This is a Custom Puzzle I made to test ARCHIE's EXTEND capabilities. It has 3 different Mirror Colors, and each Triggers a different FLOOD pattern. The patterns may be reminiscent of the more difficult PAINT examples. This is worth stepping through incrementally to see how ARCHIE accomplishes this. Let's step through the four Output Object updates:
In the first full pass, ARCHIE lists the status of the Input Objects. All of the Mirror Objects are Static, as is the one unaffected Grey square. Since the colors of their pixels changed, the two remaining squares list as Modified.
Below view in the scrolling field are several [ADDED] pixels lines, accounting for the horizontal Blue and Green lines. ARCHIE correctly absorbs these into the [EXTEND] Actions as it would with a simple Mirror Puzzle.
There are still more [ADDED] pixel lines comprised of the Color Patterns in the Squares. ARCHIE absorbs these into [PAINT] Actions for the affected square Objects. All of the [ADDED] pixel lines are then removed. Normally ARCHIE would judge the Analysis as complete (i.e. No More ADDs). But there is a problem...
The Mirror Objects will correctly EXTEND, but the Grey Squares will follow a consensus PAINT pattern, based on their own attributes. At this point, ALL of the Grey Squares would be painted. One more pass is needed to analyze the output of all Examples and discern the GLOBAL ACTION.
In this last pass, ARCHIE removes PAINT Actions from the Grey Objects and re-inserts them into the Collision Parameter of the appropriate EXTEND Action. This makes the Mirror Object the Agent (as in simple Extends). All the Grey squares are returned to Static.
The power of embedding an Action as the parmeter of another Action cannot be overstated. Compound Actions open another dimension of ARCHIE's problem solving capabilities.
 
Of note that the 4x3 Rectangle on the Green line has the correct Body-Sides-Corners color scheme but is a Shape not even seen in the examples. The Grey 3x3 Square stays Grey, despite PAINT Actions for the other 3x3 Objects, solely because it was not in a collision with any of the Mirror Extends.
 
 
PART SIX will introduce ARCHIE's innate Reasoning Ability beyond just IF-THEN-ELSE.