A IA é, entre outras coisas, um conjunto de metodologias de programação usada para resolver problemas de forma mais eficiente que soluções algoritmicas. Utilizando-se de IA hoje em dia pode-se resolver problemas que eram considerados impossíveis de serem resolvidos por uma máquina.
A técnica utilizada na construção destes sistemas é aparentemente simples: deve-se ter uma estrutura para armazenar o conhecimento existente (e adquirido) e uma forma de analizar esses conhecimentos (técnica de inferência). Tendo o conhecimento e sabendo manipulá-lo adequadamente, a máquina é capaz de tomar decisões antes impossíveis, diferenciando situações e procedendo de forma correta e eficaz a cada uma delas. A grande vantagem é a possibilidade de adquirir conhecimentos com a experiência, sendo capaz de tomar atalhos, entre outras coisas.
Como a área de IA é nova, muitas coisas ainda estão em rápido desenvolvimento. Existem poucas ferramentas de apoio, comparado com o que já existe para desenvolvimento de sistemas procedurais normais. Isto ocasiona uma forte tendência a não se seguir as metodologias de desenvolvimento de software já existentes, ocasionando prejuísos irreversíveis nos estágios mais avançados do projeto. O fato de ser uma área recente impulsiona sua pesquisa no ambiente universitário, sendo os construtores da tecnologia pessoas não muito experientes no ambiente de desenvolvimento de projetos como um todo.
Sistemas Baseados em Conhecimento combinam qualidades de homens com qualidades de máquinas. Eles tentam "raciocinar" como um homem, criando relações e aprendendo com o passar de suas experiências. É rápido como uma máquina, pois realmente estão em uma.
A IA aplicada ao gerenciamento de redes traz muitos benefícios. Entre eles podemos citar:
- Estratégia de Desenvolvimento do Sistema. IA enfoca a técnica para resolver o problema e não como deve ser feito para atingir tal resolução (como a técnica será aplicada é problema do ambiente de IA). A aplicação de IA é uma boa saída no caso de problemas que não tenham aplicações convencionais já propostas. É uma boa escolha também quando o problema é mal definido.
- Processo Rápido de Prototipação. Por concentrar as atenções no problema e na técnica para a solução desse, um alto conhecimento do mesmo é adquirido. Frequentemente o resultado de um processo de desenvolvimento de sistemas especialistas é um sistema que pode ser recodificado usando técnicas convencionais, pois a própria solução algoritmica é formada de fragmentos do conhecimento desenvolvido no sistema de IA.
- Técnicas de Integração. Um sistema baseado em conhecimento pode ajudar a resolver problemas complexos usando uma coleção de outros programas para resolver diferentes partes do problema como um humano faz hoje. Outro propósito da integração muito importante é que quando é feita uma alteração nos dados em um sistema de informação, ela é propagada aos outros sistemas e base de dados.
- Assistente. Um assistente é aquele que resolve muitas das tarefas tediosas de baixo-nível para os analistas. Ele checa detalhes, procura mudanças e sugere novas soluções alternativas. O analista guia a solução deacordo com a sua experiência de problemas anteriores e soluções semelhantes.
- Colega. Um colega é um parceiro no desenvolvimento da solução de problemas. Ele deve ser capaz de cooperar e compartilhar das soluções parciais do problema e discutir outras alternativas para resolvê-lo. Quando um sistema baseado em conhecimento é modulado depois de um raciocinio humano, o humano pode testar o raciocinio do sistema e vice-versa.