The Boundaries of Objectivity


ARCHIE Part Three

An Orthogonal Approach to Artificial Intelligence

Darren Lott
Darren Lott
February, 2025
An Orthogonal Approach to Artificial Intelligence

Previously on ARCHIE...

In Part One I introduced the ARC Prize Challenge.
In Part Two We analyzed a simple Puzzle involving 3-pixel Blue objects shifted downward.

Ei1 Eo1   Ei2 Eo2   Ei3 Eo3

The Test grid object, however, is unlike any of the Example objects. It is neither Blue nor 3 pixels:

Ti0 To0 Blank

ARCHIE generalized from the observed Actions to a single MOVE, applied to the Test Input, and arrived at the correct solution.

[MOVE,r0,1,0]

Ti0 To0 Solved


Painting a More Abstract Picture

Moving up a degree of complexity, the next puzzle involves grey shapes that change color to red or blue. The "Analyze Output" phase notes the input objects are modified and new pixels are added.

Ei1 Eo1 Eo1_Objects_Interim

ARCHIE notices the 3 Grey objects in Example 1 (A-1,B-1,C-1) have been [Modified], and there are 3 newly detected objects (D-1,E-1,F-1) of either red or blue pixels. The ACTION that accounts for the changes is either [PAINT,1,1,1,Void] or [PAINT,2,2,2,Void] depending whether the color changes was from Grey to Blue (1) or Grey to Red (2).

Ei1 Eo1 Eo1_Objects
Ei2 Eo2 Eo2_Objects
Ei3 Eo3 Eo3_Objects

After Comparing all of the identified Attributes associated with each Action, ARCHIE checks the Test Input Objects:

Ti0 To0 Ti0_Objects

The Test Grid consists of Grey Objects with varying pixel count sizes and dimensions.
Which Objects should be Painted Red and which should be Blue?
Take a moment, check the above, and see if you detect the rules(s) at play...

๐Ÿ•

๐Ÿ•‘

๐Ÿ•’

๐Ÿ•“

๐Ÿ•”

๐Ÿ••

Intrinsic IF-THEN-ELSE Logic

The Rule you should have come up with is: "If the Object has 6 pixels, then paint it Red. All others Paint Blue.

ARCHIE assembled 2 ACTION RULES under Theory to effectively create this same conditional.

Theory This creates an implicit IF-THEN-ELSE statement.

ARCHIE processes each Test Input line, checking the Action Rules, from the most specific to least specific. When it has found the most specific Action Rule for that Input Object, it transforms that Object and then moves to the next unprocessed one. Objects are transformed by the ACTIONS identified as best matching the Object's particular Attributes.

In this case, if the Test Object has 6 pixels AND is Grey (pCount:6| Color:Grey) then ARCHIE applies the Action [PAINT,2,2,2,Void] which changes the color to Red (2=Red). For the remaining Grey Objects, the program transforms them to Blue (1=Blue). If there were any remaining objects (e.g. non-Grey), ARCHIE would copy those over unchanged (Static).

↑ [PAINT,1,1,1,Void]| Color:Grey
↑ [PAINT,2,2,2,Void]| pCount:6| Color:Grey

Ti0 To0 Solved

Grey Objects with 6 pixels turned red and the rest turned blue....

Correct!

Quick Summary of Progress

  • ARCHIE has a list of ACTIONs, including PAINT and MOVE.
  • ACTION Rules are combinations of ACTIONS and the required Object Attributes.
  • ACTION Rules are applied in order of specificity.
  • Sequential ACTION Rules can produce conditional logic, like the IF-THEN-ELSE statement.

Painting by Numbers

In the example so far, the PAINT action seems to have more parameters than necessary. If an Object is to change color from Grey to Blue and Blue = 1, what is the function of the extra parameters in [PAINT,1,1,1,Void]?

Another more difficult PAINT puzzle will help reveal this.

Ei1 Eo1 Eo1_Objects
Ei2 Eo2 Eo2_Objects

This is a Custom Puzzle I made (not part of the official ARC set) to describe the extended features of the PAINT action. In this puzzle there are only 2 Examples and 2 Objects in each. This is not a tricky Puzzle for humans to solve, but it shows how demanding the PAINT Action can become. The Parameters required came from a combination of PAINT Puzzles in the ARC set.

Ti0 To0 Ti0_Objects

The Solution

↑ [PAINT,2,4,1,Fill]| Color:Green| nPositionV:Highest| nPositionH:Leftest| proxColor:5
↑ [PAINT,2,4,1,Void]| Color:Grey| BorderX:B,R| nPositionV:Lowest| nPositionH:Rightest| proxColor:3
Ti0 To0 Solved

Let's break down the ACTION parameters first, and then look at all the Object Attributes that are listed.

Rectangles in the 2D-World of ARC have a Body, Sides, and Corners. So [PAINT,2,4,1,Fill] will change the color of the Body pixels in the affected Object to Red (2=Red), the Side pixels to Yellow (4= Yellow) and the Corners to Blue (1 = Blue). The "Fill" parameters means PAINT will fill in holes (the background pixels) and "Void" means leave them as is.

The solution to this puzzle is to PAINT both rectangles in the same color scheme, and the difference is whether the Object gets the "Fill" or "Void" treatment. To my Human interpretation, the Green Object gets "Fill" and the Grey Object gets "Void" (i.e. leave the holes).

ARCHIE, however, is much more thorough in finding Attributes in common between the Example Objects. Let's make a slight modification by changing some colors:

Variations on a Theme

Ei1 Eo1   Ei2 Eo2   โ‡จ ?   Ti0 To0

Here I have changed input examples to eliminate Color as the defining attribute. Not only does Green not determine which ACTION is applied to which Object; no color does. I also changed the pattern in one of the Output Objects so you can look into how ARCHIE responds:

↑ [PAINT,2,4,1,Fill]| nPositionV:Highest| nPositionH:Leftest
↑ [PAINT,2,8,3,Void]| BorderX:B,R| nPositionV:Lowest| nPositionH:Rightest
Ti0 To0 Solved

As an ARC Puzzle, this custom example is not ideal. Because for Humans it's probably too fussy and there are a lot of tempting color distractions. I instinctively want to identify some type of match from the input to the output colors. However, the defining Attributes are restricted to Position of the Objects and Position maps to the different color patterns. Comprehensive attention to detail is where ARCHIE will outperform Human problem solvers.

What's Next?

PART FOUR will describe more difficult puzzles and reveal more about ARCHIES's abstraction capabilities and powerful Action Parameters.

PART FOUR ยป