Appunti Universitari,

la codivisione come forma di open source.

All'interno di questa sezione, ho raccolto con cura la trascrizione dettagliata dei miei appunti universitari relativi al mio percorso nel corso di Informatica presso l'Università Aldo Moro di Bari. La mia speranza è che questi appunti possano rivelarsi un'ancora di salvezza per tutti voi studenti universitari, e anche per coloro che stanno facendo i primi passi in questo affascinante campo.

TuttiIngegneria della conoscenzaCalcolabilità e complessitàInterazione Uomo MacchinaReti di Calcolatori
Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

16. Problemi di rappresentazione della conoscenza

In questo articolo andiamo ad analizzare i problemi relativi alla rappresentazione della conoscenza, andando dapprima a definire un background per poi seguire con le domande all'utente, la presentazione della base di conoscenza e il suo debugging.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

15. Clausole e vincoli proposizionali

Dopo aver introdotto nel precedente articolo le proposizioni, in questo articolo approfondiamo le clausole e i vincoli proposizionali.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

14. Introduzione alle proposizioni

Oltre alla base di conoscenza, un'agente ha a sua disposizione un insieme di proposizioni e inferenze tramite le quali decide cosa è vero e cosa no nel mondo.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

13. Metodi basati sulla popolazione e ottimizzazione

Analizziamo gli algoritmi di ragionamento con i vincoli che si basano principalmente sulla popolazione e affrontiamo il tema dell'ottimizazione.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

12. Ragionamento con vincoli PT. 3

Affrontiamo le diverse varianti di ricerca locale precdentemente affrontate, per poi dare uno sguardo alla valutazione degli algoritmi randomizzati e infine vedremo come ottimizzare gli algoritmi che ragionano con vincoli.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

11. Ragionamento con vincoli PT. 2

In questo secondo articolo relativo al ragionamento con vincoli, analizzeremo la divisione del domino, l'eliminazione delle variabili e un algoritmo di ricerca locale.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

10. Ragionamento con vincoli PT. 1

In questo primo articolo articolo vedremo come basare il ragionamento di un agente sulle caratteristiche e sui vincoli del dominio, analizzando l'algoritmo di consistenza.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

9. Eliminare lo spazio di ricerca

Abbiamo visto fin'ora svariati algoritmi di ricerca, i quali però possono essere migliorati prendendo in considerazione più percorsi verso un nodo. Introduciamo quindi una tecnica che si chiama potatura.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

8. La ricerca euristica

A differenza del precedente articolo in cui abbiamo visto diversi tipi di ricerca non informata, in questo articolo vedremo come alcuni algoritmi elaborano i percorsi in base alle informazioni sui nodi e sugli archi in loro possesso.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

7. Strategie di ricerca non informate

A differenza del precedente articolo nel quale abbiamo analizzato un algoritmo di ricerca generico, in questo articolo affrontiamo alcune strategie di ricerca non informate. Ma cos'è una strategia di ricerca?

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

6. Introduzione alla ricerca: un algoritmo di ricerca generico

Nell'articolo precedente abbiamo parlato del problema di ricerca sfruttando la struttura del grafo, e in particolare quella dell'albero, tramite il quale possiamo trovare il percorso da un nodo di partenza a uno finale. In questo articolo ci concentriamo sull'algoritmo di ricerca generica.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

5. Ricerca di soluzioni

Dopo aver visto negli articoli precedenti come un agente percepisce e agisce nel mondo, adesso cerchiamo di comprendere come i suoi obiettivi influenzano le sue azioni. Infatti un agente, per essere definito intelligente, deve saper ragionare sulle sue capacità e sui suoi obiettivi per determinare cosa fare.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

11. Complessità di spazio

Nel precedente articolo abbiamo valutato la complessità dei problemi computazionali in termini temporali, in questo articolo ne valutiamo la complessità in termini di spazio e di memoria. Tempo e spazio sono due fattori importanti quando bisogna cercare la soluzione ai problemi computazionali.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

10. Complessità temporale

In questo parleremo della complessità temporale partendo dalle sue basi. Anche se un problema risulta decidibile, questo può anche non essere risolvibile a causa di una quantità di tempo o di memoria impiegati nella sua risoluzione.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

9. Riducibilità Pt. 2

In questa seconda parte dedicata alla riducibilità parliamo del problema della corrispondenza di Post e della riducibilità mediante funzione.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

8. Riducibilità Pt. 1

In questo articolo introduciamo un altro metodo per dimostrare che un problema non è computazionalmente irrisolvibile, un metodo che comunemente viene chiamato riducibilità.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

7. Decidibilità e indecibilità

In questo articolo trattiamo l'argomento della decidibilità. Non tutti i problemi possono essere risolti, vedremo quindi un modo per dimostrare la loro dedicibilità.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

6. Le macchine di Turing

In questo articolo ci concentreremo sulle macchine di Turing, il cui potenziale viene sfruttato nella teoria della computabilità, a differenza degli automi e delle grammatiche viste negli articoli precedenti.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

5. Linguaggi non context-free e linguaggi context-free deterministici

In questo articolo ci concentreremo su un'altra tipologia, le grammatiche context-free, le quali riconoscono i relativi linguaggi context-free, attraverso una struttura ricorsiva. Successivamente tratteremo anche degli automi a pila, i quali hanno la stessa potenza delle CFG

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

4. Linguaggi context-free e automi a pila

In questo articolo ci concentreremo su un'altra tipologia, le grammatiche context-free, le quali riconoscono i relativi linguaggi context-free, attraverso una struttura ricorsiva. Successivamente tratteremo anche degli automi a pila, i quali hanno la stessa potenza delle CFG

Logo riferito ai post della materia ingegneria della conoscenza

Altro

Latex: simboli e sintassi

Questo articolo nasce dall'esigenza di avere una tabella di simboli matematici e corrispettivi comandi in Latex da poter copiare e incolalre velocemente.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

3. Espressioni regolari e Linguaggi non regolari

Dopo aver introdotto gli automi NFA e DFA, introduciamo in questoa articolo le espressioni regolari e i linguaggi non regolari, analizzando i relativi teoremi.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

2. Automi e linguaggi regolari

Introduciamo gli elementi alla base della teoria della computazione quali ad esempio gli automi finiti e i linguaggi regolari.

Logo riferito ai post della materia ingegneria della conoscenza

Calcolabilità e complessità

1. Introduzione alla calcolabilità e alla complessità

In questo articolo introdurremo la materia della Calcolabilità e Complessità, dando una prima definizione delle teorie principali e definendo la terminologia e la notazione matematica che utilizzeremo per trattare questa materia.

Logo riferito ai post della materia ingegneria della conoscenza

Ingegneria della conoscenza

4. Controlli e azioni di un agente

In questo articolo andiamo a vedere nello specfico la logica del corpo di un agente, daremo un'occhiata alla sua architettura e come agisce, ovvero come usa le regole definite nel precedente articolo all'interno del suo ragionamento.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

3. All'interno di un agente: architettura e le funzioni agenti

Dopo aver spiegato lo spazio di progettazione di un agente, andiamo a comprendere la sua architettura, ovvero come come un agente intelligente può percepire, ragionare e agire nel tempo in un ambiente. Andremo ad ispezionare la gerarchia all'interno di un agente e i modi in cui esso può essere costruito.

Logo riferito ai post della materia ingegneria della conoscenza

Ingegneria della conoscenza

2. Spazio di progettazione e applicazioni prototipiche

In questo articolo andremo ad approfondire lo spazio di progettazione degli agenti, con le relative proprietà e limiti. Infine definiremo alcune applicazioni in cui l'intelligenza artificiale può essere applicata, descrivendo in maniera generale alcuni esempi.

Logo riferito ai post della materia ingnegneria della conoscenza

Ingegneria della conoscenza

1. Intelligenza artificiale e agenti

Introduzione all'ingegneria della conoscenza, andando a definire che cos'è l'intelligenza artificiale, gli agenti e l'ambiente in cui essi operano. Vedremo i vari algoritmi che vengono applicati in questo settore, in quali casi e le varie metodologie di ricerca della soluzione.

Logo riferito ai post della materia interazione uomo macchina

Interazione Uomo Macchina

3. Conoscere l'utente

All'interno dello sviluppo incentrato sull'utente, possiamo visualizzare l'utente da molteplici punti di vista. E' fondamentale analizzare i processi cognitivi, le caratteristiche personali e il ruolo dei singoli utenti che interagiscono con il sistema. Il progettista di sistemi interattivi non deve perdere di vista questi obiettivi, vediamo come.

Logo riferito ai post dello study case

Case Study - Gestionale Associativo

2. Diagramma Entità Relazione

In relazione al caso di studio del gestionale associativo, in questo articolo entriamo nel dettaglio di uno schema entità relazione delle entità e delle relazioni che dovranno essere implementate all'interno del database e che rappresentano una prima fotografia di com'è organizzata l'associazione in questa fase.

Logo riferito ai post dello study case

Case Study - Gestionale Associativo

1. Introduzione allo sviluppo del gestionale associativo

Avviamo questo nuovo progetto per la creazione di un gestionale associativo. In questa prima fase analizziamo i requisiti richiesti e abbozziamo uno schema ER del database.

Logo riferito ai post della materia interazione uomo macchina

Appunti Universitari - Interazione Uomo macchina

2. Interazione Uomo Macchina - L'usabilità

Dopo una breve overview della materia, descritta nel primo articolo, iniziamo ad approfondire i vari argomenti, iniziando dal concetto di usabilità e del modello di interazione, fino ad addentrarci nel golfo di esecuzione e nel golfo di valutazione.

Logo riferito ai post della materia reti di calcolatori

Appunti Universitari - Reti di Calcolatori

2. I due tipi di commutazione

Analizziamo come le applicazioni si scambiano i pacchetti, esaminando la commutazione di circuito e la commutazione di pacchetto. Confrontiamo i due tipi di commutazione ed esminiamo le varie problematiche di ciascuno

Logo riferito ai post della materia interazione uomo macchina

Appunti Universitari - Interazione Uomo macchina

1. Introduzione all' Interazione Uomo Macchina

Primo articolo dedicato agli appunti relativi alla materia Interazione Uomo Macchina, il cui studio si incentra sul ruolo dell'utente all'interno dello sviluppo del software, ponendo una nuova visione incentrata sui suoi bisogni e necessità.

Logo riferito ai post dei libri consigliati

Libri

Consigli su libri settoriali - Pt. 1

Primo articolo dedicato a consigli su libri settoriali per migliorare le proprie hard skills e soft skills legate al mondo della programmazione.

Logo riferito ai post della materia reti di calcolatori

Appunti Universitari - Reti di Calcolatori

1. Introduzione alle reti

Introduzione alle reti di calcolatori, fornendo un'immagine di come si è evoluta l'infrastruttura di Internet, analizzando i due tipi di commutazione delle informazioni presenti in essa e i vari parametri di valutazione.