The Smartest Code Architecture
Several years ago, I learned the definition of Intelligence. A few weeks ago, I discovered that it is also the Architecture definition.
What is Intelligence?
I remember, while taking my courses in the university about Artificial Intelligence, the professor defined intelligence as the entity that behaves intelligently. It was a strange definition, and a tautology indeed. He justified with examples like the Turing Test was useless, if you ask a multiplication of two big numbers, you can spot the machine. Or with chess, in the past someone playing well to chess was considered intelligent, but nowadays, it is just a brute force algorithm. So, somehow he explained that we could not define intelligence as itself; the definition would expose an algorithm, and then the perception of intelligence will disappear, like in chess. The definition and the justification seemed good for me.
That changed several years ago while I was watching a TED video.
This talk defined intelligence as the act of maximizing the future options. It even gave a formula that we could use. For example, reading and growing our knowledge improves our ability of understanding future situations, that gives us more options, so because it increases future options it is an intelligent task.
But there is something unexpected about the previous definition: it says nothing about an algorithm. My professor was wrong, we can define intelligence without having an algorithm. It turns out that we can use a rule to measure it, instead of constructing it. In math, for example, we can check the result of a division without know how to divide, all that we need is multiply.
What is Architecture?
We also studied Architecture in the University. It had several courses dedicated, and it was the indispensable preparation of building any software. As they defined to us, the architecture was the…