Motor

Na programação de computador, um motor é um programa que executa uma função central ou essencial para outros programas. Motores são usados em sistemas operacionais, subsistemas ou programas aplicativos para coordenar a operação geral de outros programas.

O termo motor também é usado para descrever um programa de propósito especial que usa algoritmos de aprendizagem profunda para consultar dados. O uso mais conhecido é talvez um motor de busca, que usa um algoritmo para consultar um índice de tópicos dado um argumento de busca. Um motor de busca é projetado para que sua abordagem para pesquisar o índice possa ser alterada para refletir novas regras para encontrar e priorizar correspondências no índice. Na inteligência artificial, o programa que usa regras de lógica para derivar a saída de uma base de conhecimento é chamado de mecanismo de inferência.

Outros tipos de motores incluem:

Motores de recomendação - analisa os dados disponíveis para fazer sugestões para compradores e visitantes do website

Motores de correlação -  agrega, normaliza e analisa dados de log de eventos, usando análise preditiva e lógica fuzzy para alertar o administrador de sistemas quando há um problema. 

Motor de regras de negócio - separa o código de execução das regras de negócio do resto do sistema de gestão de processos de negócio para que os utilizadores finais possam alterar as regras de negócio sem terem de pedir ajuda a um programador.

Policy engine - impõe regras sobre como os recursos de rede e os dados da organização podem ser acessados.

A escolha da palavra engine para descrever este tipo de programação destina-se a correlacionar com os motores mecânicos. No século XIX, o Motor de Diferença de Charles Babbage, geralmente reconhecido como o primeiro supercomputador, tinha 11 pés de comprimento, 7 pés de largura e era composto por 8.000 peças. Quando o motor era manivela com uma alavanca, ele calculava automaticamente e tabulava equações matemáticas.

difference-engine.png