We Don’t Compute Everything

Combinatorial explosion, correlation, and structure — the foundational logic of HIPLE

CAIDE Systems, Inc. — HIPLE

Years ago, back when I was studying CRM software, I was deep in the Apriori algorithm — association rule mining that finds, from sales data, “what tends to be bought together with what.” It taught me something simple that has stayed with me ever since.

You cannot compute every possible relationship.

With n items, the number of possible subsets is 2ⁿ − 1. Add just a few more items and the number of combinations explodes. So Apriori itself doesn’t blindly compute every combination — it prunes candidates it can already rule out, shrinking the search space.

The question it left me with was more fundamental than the algorithm:

Is intelligent computation about computing more — or about figuring out what you don’t need to compute?

Decades later, looking again at artificial intelligence, I came back to the same question.

Correlation is not logic

What association rules find is, fundamentally, patterns of co-occurrence. That A and B often occur together is useful information — in recommendation, marketing, or demand forecasting, that alone carries real value.

But correlation is not, in itself, causation or logical proof. Think of the famous “beer and diapers” story. Even if a statistic shows the two are bought together, the statistic itself doesn’t explain why the phenomenon occurred.

There is a more important problem. As the number of relationships you search grows enormous, so does the chance of finding a relationship that looks strong purely by accident. In other words, a large search space creates two problems at once:

Large Search Space  →  Combinatorial Explosion  +  Spurious Association

Correlation can be excellent evidence. But correlation alone cannot establish truth.

This difference matters especially where a wrong answer is costly — medical diagnosis, industrial safety. The fact that a symptom frequently co-occurs with a disease in the data is not the same as the judgment that this patient’s evidence actually supports that disease.

So such a system needs not only the ability to find patterns, but a separate structure that judges: “Can this pattern be trusted?”

Modern AI computes a staggering number of relationships

The Transformer showed a very powerful answer to this problem. A typical dense self-attention layer computes broad pairwise interactions among tokens.

This does not mean it literally enumerates every possible subset. Apriori’s 2ⁿ combination space and a Transformer’s attention computation are not the same problem mathematically. But between them there is a shared design question that I find important:

If you can’t be sure in advance which relationships are relevant, how wide a space of relationships must you compute first?

Today’s large models have pushed this approach to the extreme with enormous data and compute — and the result is astonishing. Language, code, images, reasoning — problems that once required different systems can now be handled by a single giant model.

Yet, quite apart from that success, I wanted to ask a different question:

Even in problems where we already know the structure, must we compute every relationship broadly?

Is a bigger model the answer to every problem?

It is not accurate to explain the LLM problem simply as “hallucination happens because attention computes too many correlations.” Hallucination involves many causes — training data, generation method, distribution shift, calibration, retrieval, verification.

What I take issue with in HIPLE is a little different. A large statistical model is superb at generating plausible relationships, but the procedure for verifying whether such a relationship is true in the external world is not the same as the model’s basic generative process. That is,

Plausibility  ≠  Truth

Making a model larger lets it learn more patterns and obtain better representations. But scale itself does not automatically answer the question, “Has this relationship been verified?”

So I began to think in a different direction.

So, HIPLE — we don’t compute everything

HIPLE stands for Hierarchical Independent Parallel Learning Engine. The starting point is simple:

Use the structure we already know to shrink the space we have to compute from the outset.

Take medicine. When a patient says “my chest hurts,” a human doctor does not search the whole of medical knowledge with equal weight. They use the large structure first.

Patient
   │
   ├── Head
   ├── Shoulder
   ├── Chest
   ├── Abdomen
   ├── Pelvis
   └── Cross-cutting systems

And within Chest, they divide again.

Chest
   │
   ├── Cardiovascular
   ├── Pulmonary
   ├── Pleural
   ├── Musculoskeletal
   └── Other / Cross-system

Instead of computing the entire unlikely world at equal depth, computation is moved to the part relevant to the current evidence. This is HIPLE’s Hierarchical.

Turning Apriori’s pruning into architecture

Here the idea I learned long ago from Apriori returns. Instead of building the whole search space first and discarding the unneeded parts later, we don’t build the space we never needed to look at in the first place.

Conceptually, consider a system with N features in total. Without structure, the potential combination space grows very quickly. If we divide it into k relatively independent regions, each with nᵢ features, the conceptual search space changes from one vast global space to a sum of small local spaces:

        2ᴺ            (one vast global space)
          ↓
   Σ (i=1..k) 2^(nᵢ)   (many small local spaces)

This does not mean HIPLE actually enumerates these subsets. The expression is a conceptual analogy for the difference between a structure-free global interaction space and a structure-limited local interaction space.

For example, treating 60 elements as one space gives about 2⁶⁰ ≈ 1.15 × 10¹⁸ subsets. Dividing them into six independent regions of ten each gives, in the same conceptual comparison, 6 × 2¹⁰ = 6,144.

Structure is not merely an optimization that makes computation a little faster. Structure itself changes the search space.

But dividing alone is not enough

If it were only a matter of splitting a problem into several small models, it wouldn’t need to be HIPLE. There is Mixture-of-Experts, there are ensembles, there is sparse attention.

The difference I care about in HIPLE is putting knowledge into the very process that decides what to compute. Routing is not determined by learned scores alone; known structure and verified rules constrain which paths are computable. That is, rather than finding the answer directly in the full correlation space,

full correlation space  →  knowledge-permitted search space  →  local computation  →  verification

it proceeds this way. So in HIPLE, the reduction of the computation space is itself a representation of knowledge.

Separating correlation from logic

The second problem is separating the roles of correlation and logic. In HIPLE, the neural representation can express complex, flexible patterns in the data. But important knowledge can be expressed in a separate, growable symbolic concept structure. The two worlds play different roles.

Neural representation
        │  discovers / represents patterns
        ▼
Correlation
        │  evidence + verification
        ▼
Symbolic knowledge
        │
        ▼
Auditable reasoning

We are not asking the neural model to stop finding correlations — that is what it does best. What HIPLE adds is the next step:

Of the relationships discovered, which do we accept as knowledge?

A candidate relationship can be verified through external evidence and outcomes, and once it earns enough confidence it enters the system’s knowledge structure. Conversely, when new evidence conflicts with an existing rule, that rule must be open to re-evaluation.

So knowledge is neither a fixed rulebook nor mere neural weights. It is a structure that grows as it is verified, and is revised when necessary.

Think independently, integrate at the end

Dividing hierarchically creates another problem: the world is not perfectly separable. Chest pain can be a heart problem, but it can also be a lung problem. An abdominal condition can present as pain in the chest or shoulder, and cancer can cut across several anatomical regions.

So HIPLE’s Independent does not mean “they don’t look at each other.” It is closer to this: each specialist domain keeps its own knowledge and parameters and judges independently, and consults other domains when needed.

          Case
           │
     ┌─────┼─────┐
     ▼     ▼     ▼
 Engine A Engine B Engine C
     │     │     │
     └─────┼─────┘
           ▼
      Integration
           │
     ┌─────┴─────┐
     ▼           ▼
  Decision     Abstain

In this structure, retraining one domain does not require retraining all of them. If new knowledge affects only a particular subtree, only that part can be revised. This is why Independent and Parallel matter in HIPLE.

And when it doesn’t know, it doesn’t answer

I regard this as a very important ability in HIPLE. If the engines’ judgments don’t agree well enough, or the necessary evidence is missing, or the input lies outside the domains the system knows, the system does not have to force a conclusion.

Instead it can ask for more evidence, route to another specialist domain, escalate to a human, or withhold judgment. That is, “I don’t know” must also be a normal output of the system.

Intelligence is not only the ability to always produce an answer. The ability to judge that the current evidence does not permit an answer is also part of intelligence.

An honest boundary

Of course this approach has an important premise: there must be structure.

In fields like medicine, with long-accumulated physiological and anatomical structure, it is easy to build a starting point. Fields like industrial equipment, law, finance, and science — where one can define at least some verifiable structure — are also possible. Conversely, for problems whose structure is entirely unknown, broad relational search is still needed.

HIPLE’s goal is not to eliminate that. Rather, I think of it this way:

Use what is known as structure, explore what is unknown — but do not treat a discovered relationship as truth right away.

The initial structure need not be perfect either. Verified knowledge can be a seed; relationships not yet certain can remain candidates. As new external evidence accumulates the structure can grow, and when evidence shows existing knowledge to be wrong it can be revised.

So HIPLE’s structure is not a wall but a growing boundary.

In the end, the question is not about compute

At first I thought it was a matter of compute. The thought began watching combinations explode in Apriori. But the problem I now want to address in HIPLE is a little larger:

  • What to compute.
  • What not to compute.
  • Which correlations to accept as knowledge.
  • When to request another specialist’s judgment.
  • And, most importantly, when to say I don’t know yet.

So HIPLE’s basic flow is:

Structure → Selective Local Computation → Independent Reasoning
          → External Verification → Integration or Abstention

What Apriori taught me long ago was not merely a data-mining algorithm. Computing every possibility is not intelligence. Perhaps an important part of intelligence lies in the opposite.

Intelligence does not come from computing everything. It comes from the structure that knows what not to compute.

— Kyewook Lee
HIPLE — Hierarchical Independent Parallel Learning Engine


전부 계산하지 않는다

조합 폭발, 상관, 구조 — HIPLE의 기반 논리

CAIDE Systems, Inc. — HIPLE

오래전 CRM 프로그램을 공부하던 시절, 나는 Apriori 알고리즘을 붙들고 있었다. 판매 데이터에서 “무엇과 무엇이 함께 팔리는가”를 찾아내는 연관규칙 마이닝이다. 그때 아주 단순하지만 오래 남은 사실 하나를 배웠다.

가능한 모든 관계를 계산할 수는 없다.

품목이 n개라면 가능한 부분집합의 수는 2ⁿ − 1이다. 품목이 조금만 늘어나도 가능한 조합의 수는 폭발한다. 그래서 Apriori 자체도 모든 조합을 무작정 계산하지 않는다. 이미 가능성이 없다고 판단할 수 있는 후보를 가지치기하면서 탐색 공간을 줄인다.

그때 내게 남은 질문은 알고리즘보다 더 근본적인 것이었다.

지능적인 계산이란 더 많이 계산하는 것일까, 아니면 무엇을 계산하지 않아도 되는지 알아내는 것일까?

수십 년이 지나 인공지능을 다시 들여다보면서, 나는 같은 질문으로 돌아왔다.

상관은 논리가 아니다

연관규칙이 발견하는 것은 기본적으로 함께 나타나는 패턴이다. A와 B가 자주 함께 발생한다는 것은 유용한 정보다. 실제로 추천, 마케팅, 수요 예측 같은 문제에서는 그것만으로도 큰 가치가 있다.

하지만 상관은 그 자체로 인과도 아니고 논리적 증명도 아니다. 유명한 “맥주와 기저귀” 이야기를 생각해보자. 두 상품이 함께 구매되는 통계가 존재한다고 해도, 그 통계 자체가 그런 현상이 일어났는지를 설명해주지는 않는다.

더 중요한 문제가 있다. 탐색하는 관계의 수가 엄청나게 많아지면 우연히 강해 보이는 관계를 발견할 가능성도 함께 증가한다. 즉, 넓은 탐색 공간은 두 가지 문제를 동시에 만든다.

Large Search Space  →  Combinatorial Explosion  +  Spurious Association

상관은 훌륭한 증거가 될 수 있다. 하지만 상관만으로 참을 확정할 수는 없다.

이 차이는 의료 진단이나 산업 안전처럼 잘못된 답의 비용이 큰 문제에서 특히 중요하다. 어떤 증상이 어떤 질환과 데이터에서 자주 함께 나타난다는 사실과, 현재 환자의 증거가 그 질환을 실제로 지지한다는 판단은 같은 것이 아니다.

따라서 이런 시스템에는 패턴을 발견하는 능력뿐 아니라, “그 패턴을 믿어도 되는가?” 를 판단하는 별도의 구조가 필요하다.

현대 AI는 놀라울 정도로 많은 관계를 계산한다

Transformer는 이 문제에 대한 매우 강력한 답을 보여주었다. 일반적인 dense self-attention은 한 층에서 토큰들 사이의 광범위한 pairwise interaction을 계산한다.

이것은 가능한 모든 부분집합을 실제로 열거한다는 의미는 아니다. Apriori의 2ⁿ 조합 공간과 Transformer의 attention 계산은 수학적으로 같은 문제가 아니다. 그러나 둘 사이에는 내가 중요하다고 생각하는 공통된 설계 질문이 있다.

관련성이 있는지 미리 확실히 알 수 없다면, 얼마나 넓은 관계 공간을 먼저 계산해야 하는가?

현대의 거대 모델은 엄청난 규모의 데이터와 계산을 사용해 이 접근을 극단적으로 성공시켰다. 그 결과는 놀랍다. 언어, 코드, 이미지, 추론 등 과거에는 서로 다른 시스템이 필요했던 문제들을 하나의 거대한 모델이 처리할 수 있게 되었다.

그러나 그 성공과 별개로 나는 다른 질문을 하고 싶었다.

우리가 이미 구조를 알고 있는 문제에서도, 모든 관계를 넓게 계산해야 하는가?

더 큰 모델이 모든 문제의 답일까?

LLM의 문제를 단순히 “attention이 너무 많은 상관을 계산하기 때문에 hallucination이 발생한다”고 설명하는 것은 정확하지 않다. Hallucination에는 학습 데이터, 생성 방식, distribution shift, calibration, retrieval, verification 등 여러 원인이 관여한다.

내가 HIPLE에서 문제 삼는 것은 조금 다르다. 거대한 통계적 모델은 그럴듯한 관계를 만들어내는 능력은 매우 뛰어나지만, 그 관계가 외부 세계에서 참인지 검증하는 절차가 모델의 기본적인 생성 과정과 동일한 것은 아니다. 즉,

Plausibility  ≠  Truth

모델을 더 크게 만들면 더 많은 패턴을 학습하고 더 좋은 표현을 얻을 수 있다. 하지만 규모 자체가 “이 관계는 검증되었는가?” 라는 질문에 자동으로 답해주지는 않는다.

그래서 나는 다른 방향을 생각하기 시작했다.

그래서 HIPLE — 전부 계산하지 않는다

HIPLE는 Hierarchical Independent Parallel Learning Engine의 약자다. 출발점은 단순하다.

이미 알고 있는 구조를 이용해서, 처음부터 계산해야 할 공간을 줄이자.

의료를 예로 들어보자. 환자가 “가슴이 아프다”고 말했다고 해서 인간 의사는 의학 지식 전체를 동일한 비중으로 탐색하지 않는다. 먼저 큰 구조를 이용한다.

Patient
   │
   ├── Head
   ├── Shoulder
   ├── Chest
   ├── Abdomen
   ├── Pelvis
   └── Cross-cutting systems

그리고 Chest 안에서도 다시 나눈다.

Chest
   │
   ├── Cardiovascular
   ├── Pulmonary
   ├── Pleural
   ├── Musculoskeletal
   └── Other / Cross-system

가능성이 낮은 세계 전체를 동일한 깊이로 계산하는 대신, 현재 증거와 관련 있는 부분으로 계산을 이동시킨다. 이것이 HIPLE의 Hierarchical이다.

Apriori의 가지치기를 아키텍처로 만든다

여기서 오래전 Apriori에서 배웠던 생각이 다시 등장한다. 탐색 공간 전체를 먼저 만들고 나중에 필요 없는 것을 버리는 대신, 애초에 볼 필요가 없는 공간을 만들지 않는다.

개념적으로 전체 feature가 N개인 시스템을 생각해보자. 구조가 없다면 잠재적인 조합 공간은 매우 빠르게 증가한다. 이를 서로 비교적 독립적인 k개의 영역으로 나누고 각 영역이 nᵢ개의 feature를 가진다고 하면, 개념적인 탐색 공간은 하나의 거대한 전역 공간에서 여러 개의 작은 국소 공간으로 바뀐다.

        2ᴺ            (하나의 거대한 전역 공간)
          ↓
   Σ (i=1..k) 2^(nᵢ)   (여러 개의 작은 국소 공간)

HIPLE가 실제로 이 부분집합들을 열거한다는 뜻은 아니다. 이 식은 구조가 없는 전역 상호작용 공간구조에 의해 제한된 국소 상호작용 공간의 차이를 설명하기 위한 개념적 비유다.

예를 들어 60개의 요소를 하나의 공간으로 보면 가능한 부분집합은 약 2⁶⁰ ≈ 1.15 × 10¹⁸ 개다. 반면 10개씩 여섯 개의 독립된 영역으로 나누면 같은 개념적 비교에서 6 × 2¹⁰ = 6,144 가 된다.

구조는 단순히 계산을 조금 빠르게 만드는 최적화가 아니다. 구조 자체가 탐색 공간을 바꾼다.

그러나 단순히 나누는 것만으로는 부족하다

문제를 작은 모델 여러 개로 나누기만 한다면 HIPLE일 필요가 없다. Mixture-of-Experts도 있고, ensemble도 있고, sparse attention도 있다.

HIPLE에서 내가 중요하게 보는 차이는 무엇을 계산할 것인지 결정하는 과정 자체에 지식을 넣는 것이다. 학습된 score만으로 모든 routing을 결정하는 것이 아니라, 알려진 구조와 검증된 규칙이 계산 가능한 경로를 제한한다. 즉, 전체 상관 공간에서 바로 답을 찾는 것이 아니라

전체 상관 공간  →  지식에 의해 허용된 탐색 공간  →  국소 계산  →  검증

으로 진행한다. 따라서 HIPLE에서 계산 공간의 축소 자체가 지식의 표현이다.

상관과 논리를 분리한다

두 번째 문제는 상관과 논리의 역할을 분리하는 것이다. HIPLE에서는 neural representation이 데이터 속의 복잡하고 유연한 패턴을 표현할 수 있다. 그러나 중요한 지식은 별도의 성장 가능한 symbolic concept structure로 표현할 수 있다. 두 세계의 역할은 다르다.

Neural representation
        │  discovers / represents patterns
        ▼
Correlation
        │  evidence + verification
        ▼
Symbolic knowledge
        │
        ▼
Auditable reasoning

Neural model에게 상관을 찾지 말라고 요구하는 것이 아니다. 오히려 그것은 neural model이 가장 잘하는 일이다. HIPLE가 추가하려는 것은 그다음 단계다.

발견된 관계 중 무엇을 지식으로 인정할 것인가?

후보 관계는 외부 증거와 결과를 통해 검증될 수 있고, 충분한 신뢰를 얻으면 시스템의 지식 구조에 들어간다. 반대로 새로운 증거가 기존 규칙과 충돌하면 그 규칙은 다시 평가될 수 있어야 한다.

즉 지식은 고정된 규칙집도 아니고, 단순한 neural weight도 아니다. 검증되면서 성장하고, 필요하면 수정되는 구조다.

독립적으로 생각하고, 마지막에 통합한다

계층적으로 나누면 또 다른 문제가 생긴다. 세상은 완벽하게 분리되어 있지 않다. 가슴 통증이 심장의 문제일 수도 있지만 폐의 문제일 수도 있다. 복부의 질환이 가슴이나 어깨의 통증으로 나타날 수도 있고, 암은 여러 해부학적 영역을 가로지를 수 있다.

그래서 HIPLE의 Independent는 “서로 보지 않는다”는 뜻이 아니다. 각 전문 영역이 자신의 지식과 parameter를 독립적으로 유지하면서 판단하고, 필요한 경우 다른 영역과 협진한다는 뜻에 가깝다.

          Case
           │
     ┌─────┼─────┐
     ▼     ▼     ▼
 Engine A Engine B Engine C
     │     │     │
     └─────┼─────┘
           ▼
      Integration
           │
     ┌─────┴─────┐
     ▼           ▼
  Decision     Abstain

이 구조에서는 하나의 영역을 새로 학습시키기 위해 반드시 모든 영역을 다시 학습시킬 필요가 없다. 새로운 지식이 특정 subtree에만 영향을 준다면 그 부분만 수정할 수 있다. 이것이 HIPLE에서 IndependentParallel이 중요한 이유다.

그리고 모르면 답하지 않는다

나는 이것을 HIPLE에서 매우 중요한 능력으로 본다. 여러 엔진의 판단이 충분히 일치하지 않거나, 필요한 증거가 부족하거나, 입력이 시스템이 알고 있는 영역 밖에 있다면, 시스템은 결론을 강제로 만들어낼 필요가 없다.

그 대신 더 많은 증거를 요구하거나, 다른 전문 영역으로 보내거나, 사람에게 escalation하거나, 판단을 보류할 수 있다. 즉, “I don’t know”도 시스템의 정상적인 출력이어야 한다.

지능은 언제나 답을 만들어내는 능력만을 의미하지 않는다. 현재 가지고 있는 증거로는 답할 수 없다는 것을 판단하는 능력 역시 지능의 일부다.

정직한 경계

물론 이 접근에도 중요한 전제가 있다. 구조가 있어야 한다.

의료처럼 오랜 기간 축적된 생리학적·해부학적 구조가 있는 분야에서는 시작점을 만들기 쉽다. 산업 설비, 법률, 금융, 과학처럼 어느 정도 검증 가능한 구조를 정의할 수 있는 분야도 가능성이 있다. 반대로 구조를 전혀 알 수 없는 문제에서는 광범위하게 관계를 탐색하는 방법이 여전히 필요하다.

HIPLE의 목표는 그것을 없애는 것이 아니다. 오히려 나는 이렇게 생각한다.

알려진 것은 구조로 사용하고, 알려지지 않은 것은 탐색하되, 발견된 관계를 곧바로 진실로 취급하지 않는다.

초기의 구조 역시 완벽할 필요는 없다. 검증된 지식은 seed가 될 수 있고, 아직 확실하지 않은 관계는 candidate로 남을 수 있다. 새로운 외부 증거가 쌓이면 구조는 성장할 수 있고, 기존 지식이 틀렸다는 증거가 나타나면 수정될 수 있다.

따라서 HIPLE의 구조는 벽이 아니라 성장하는 경계다.

결국 질문은 계산량이 아니다

처음에는 계산량의 문제라고 생각했다. Apriori에서 조합이 폭발하는 것을 보면서 시작한 생각이었다. 하지만 지금 내가 HIPLE에서 다루고 싶은 문제는 조금 더 크다.

  • 무엇을 계산할 것인가.
  • 무엇을 계산하지 않을 것인가.
  • 어떤 상관을 지식으로 인정할 것인가.
  • 언제 다른 전문 영역의 판단을 요구할 것인가.
  • 그리고 가장 중요하게, 언제 아직 모른다고 말할 것인가.

그래서 HIPLE의 기본 흐름은 다음과 같다.

Structure → Selective Local Computation → Independent Reasoning
          → External Verification → Integration or Abstention

오래전 Apriori가 내게 가르쳐준 것은 단순한 데이터마이닝 알고리즘이 아니었다. 모든 가능성을 계산하는 것은 지능이 아니다. 어쩌면 지능의 중요한 부분은 그 반대에 있을지도 모른다.

지능은 모든 것을 계산하는 데서 오지 않는다. 무엇을 계산하지 않을지 아는 구조에서 온다.

— Kyewook Lee
HIPLE — Hierarchical Independent Parallel Learning Engine