Knowledge-based systems (KBS) are computer programs that utilize artificial intelligence (AI) and a base of knowledge in order to solve complex problems. KBS is a broad term that encompasses many different systems, But, no matter the specific system, there are always two key features: a store of knowledge and a reasoning system. The store of knowledge gives the relevant facts that allow the reasoning system to ingest new knowledge and make decisions based on the sum of its knowledge. This type of system often relies on if-then rules, but can also use other systems such as logic programming and constraint handling rules. Typically, KBS are very focused on certain domains, but can quickly complete analyses that are within their range.
There are two types of knowledge bases that may be used in a KBS. The knowledge-based system itself has to do with the system architectures, it knows knowledge explicitly rather than as code to be processed. Expert systems, on the other hand, refers to systems that can assist or replace a human expert for complex tasks that generally require an expert knowledge level. Early knowledge based systems were most often rule based expert systems that relied on human experts to assist in the analysis, though as AI has expanded, the need for human experts has decreased.
The reasoning system in knowledge-based systems is generally an inference engine. Inference engines were, in many ways, the precursor to modern personal computing, as they allowed access to expert knowledge and problem solving. Inference engines provide logical rules based on existing knowledge bases in order to understand and process new information. These engines can process big data in real time to allow the most up-to-date information to be easily accessed. Inference engines can be used to classify data, or to update information as it is processed.
Knowledge based systems include: