Sistemi basati sulla conoscenza
# Sistemi basati sulla conoscenza

Un sistema basato sulla conoscenza (in inglese knowledge-based system, KBS) è essenzialmente un programma capace di ragionare usando una base di conoscenza al fine di risolvere problemi complessi. Con tali termini ci si può riferire a una vasta gamma di sistemi.

## Caratteristiche generali

Il tema che accomuna tutti i sistemi basati sulla conoscenza è il tentativo di rappresentare conoscenza in forma esplicita con una componente di ragionamento che gli consenta di derivare nuova conoscenza. Pertanto un dato sistema basato sulla conoscenza si contraddistingue per due caratteristiche: base di conoscenza e motore inferenziale.

* La base di conoscenza rappresenta fatti riguardanti il mondo, ossia il dominio da modellare, spesso in forma ontologica (tassonomia di concetti organizzati gerarchicamente secondo un criterio di sussunzione), alternativa a quella in forma procedurale incorporata implicitamente nel codice di programmi convenzionali. Forme aggiuntive rispetto a quella ontologica includono frame, grafi concettuali e asserzioni logiche.
* Il motore inferenziale consente la derivazione di nuova conoscenza. Molto comunemente si sostanzia nella forma di regole IF-THEN accoppiate a meccanismi di derivazione per concatenazione in avanti (forward) o a ritroso (backward chaining). Altri approcci includono l'uso di dimostratori automatici di teoremi, programmazione logica, sistemi blackboard o di riscrittura di termini.
