A few years ago, François Chollet introduced a measure of intelligence, and a form of IQ test for machines, called the Abstraction and Reasoning Corpus (ARC). His motivation was to foster AI research towards more general and less task-specific artificial intelligence. He defines intelligence as skill acquisition efficiency rather than skill performance, where acquisition efficiency means learning with limited prior knowledge and few training examples. ARC is a set of tasks that consist in learning a transformation of small colored grids, from a few examples. Public challenges have shown the difficulty of ARC for machines compared to humans, despite its apparent simplicity. In this talk, after presenting Chollet’s measure of intelligence and ARC, I will present an approach that gives encouraging results on ARC, and that can be applied to other kinds of tasks. Existing approaches use program synthesis where programs are essentially function compositions, i.e. expressions. In contrast, we use object-centric models that combine patterns and expressions, and have a non-deterministic semantics. We also use the Minimum Description Length (MDL) principle in order to guide the search for models. This enables us to learn more complex models, in less time, and with less prior knowledge.