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
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.
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.
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.
In questo secondo articolo relativo al ragionamento con vincoli, analizzeremo la divisione del domino, l'eliminazione delle variabili e un algoritmo di ricerca locale.
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.
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.
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.
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?
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.
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.
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.
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.
In questo articolo introduciamo un altro metodo per dimostrare che un problema non è computazionalmente irrisolvibile, un metodo che comunemente viene chiamato riducibilità.
In questo articolo trattiamo l'argomento della decidibilità. Non tutti i problemi possono essere risolti, vedremo quindi un modo per dimostrare la loro dedicibilità.
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.
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
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
Questo articolo nasce dall'esigenza di avere una tabella di simboli matematici e corrispettivi comandi in Latex da poter copiare e incolalre velocemente.
Dopo aver introdotto gli automi NFA e DFA, introduciamo in questoa articolo le espressioni regolari e i linguaggi non regolari, analizzando i relativi teoremi.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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à.
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.