# What is the opposite of "brute-force"?

In computer science especially, a brute-force algorithm is one that is naive and straightforward. It may succeed but only in a primitive way—trying all the obvious operations one by one. This wastes time and memory.

By contrast, the algorithms enabling our social media are quite smart. However, I do not know the terminology for it. What word, describes such thought-out approaches?

The word ideally takes both adjective and verb forms. The more widely applicable, the better. Does "smart" fit the bill?

• The algorithm is efficient, sophisticated, advanced or optimised. Commented Dec 4, 2020 at 16:49
• Thanks, but, out of these, only "optimise" works as a verb, too. Yet, when we use it as a verb, it doesn't mean what I want it to. Commented Dec 4, 2020 at 18:31
• The opposite of "brute force" is "finesse". Commented Dec 4, 2020 at 18:53

I believe that you are speaking of optimization algorithms or heuristic algorithms.

There is a great variety of these techniques. For example:

A heuristic algorithm is one that is designed to solve a problem in a faster and more efficient fashion than traditional methods by sacrificing optimality, accuracy, precision, or completeness for speed. In these problems, there is no known efficient way to find a solution quickly and accurately although solutions can be verified when given. Heuristics can produce a solution individually or be used to provide a good baseline and are supplemented with optimization algorithms. Heuristic algorithms are most often employed when approximate solutions are sufficient and exact solutions are necessarily computationally expensive

Northwest university

The right choice of an optimization algorithm can be crucially important in finding the right solutions for a given optimization problem. There exist a diverse range of algorithms for optimization, including gradient-based algorithms, derivative-free algorithms and metaheuristics. Modern metaheuristic algorithms are often nature-inspired, and they are suitable for global optimization. In this chapter, we will briefly introduce optimization algorithms such as hill-climbing, trust-region method, simulated annealing, differential evolution, particle swarm optimization, harmony search, firefly algorithm and cuckoo search

Researchgate

• I think, though "heuristic algorithm" is the perfect terminology, it is not the perfect answer because it has no verb form I know of. "Optimise", too, just means "make optimal", not "do in an optimal way"... Is there a more general answer? Commented Dec 4, 2020 at 18:33
• I saw that difficulty and could not resolve it to a verb. Please be free to "un-accept" the answer; I understand the difficulty but despite some searching I regretted that I could not find a suitable verbal term. Commented Dec 4, 2020 at 19:05
• Your answer is good enough and introduced the new terminology to me; I am glad to accept it. Commented Dec 4, 2020 at 19:09
• Heuristic isn't quite right. For some problems, there can be non-brute force methods that give exactly the right answer every time. Heuristic algorithms give a 'good enough' answer quickly. Commented Dec 4, 2020 at 20:18