Salta ai contenuti. | Salta alla navigazione

Strumenti personali

CLP 27 lug 2015

Applicazioni di Intelligenza Artificiale - CLP

Prof. Marco Gavanelli

27 luglio 2015

Esercizio (8 punti)

L'azienda Colabrodo S.r.l. ha deciso di cambiare le politiche di sicurezza dei suoi server.

Sono stati identificati un certo numero di tipologie di attacco che un hacker potrebbe tentare di effettuare; per difendersi da questi attacchi, sono state identificate anche delle strategie di difesa. Fortunatamente, alcune strategie di difesa sono in grado di proteggere da più tipologie di attacco.

Un file attacchi.pl contiene i dati sui possibili attacchi e le possibili difese.

L'elenco delle possibili strategie di difesa è riportato in un fatto

difesa(ListaDifese)

che contiene una lista con gli identificatori delle possibili strategie di difesa.

Si ha poi un predicato

attacco(Tipologia,ListaContromisure)

che, per ciascuna tipologia di attacco, lista le possibili difese. In particolare, la ListaContromisure ha la stessa lunghezza della ListaDifese. L'elemento di indice i della ListaContromisure ha valore

  • 1, se la difesa di indice i nella ListaDifese è in grado di proteggere dall'attacco della data Tipologia
  • 0, altrimenti.

Si scriva un programma CLP(FD) che trova il numero minimo di difese da implementare affinché i server siano protetti da tutte le tipologie di attacco.