Bottom-up Parser LR(0)

Descrivo ora alcune domande utili per ripasso: Quali sono schematicmente quali sono le operazioni migliori per un parser top-down? Cosa è un prefisso viabile? Quali sono i conflitti possibli, e come risolverli… Non sai nemmeno definire inmodo formale cosa sia un item Bottom up Intro shift-reduce e LR Slide In breve: Shift = simbolo terminale messo nella stack Riduzione utilizzando una produzione LR = dettura da Sinistra, creazione della stringa da destra (derivazione rightmost) Algoritmo classico Quello che credo che intendevo per questo algoritmo classico è quello non deterministico, nel senso che prova a fare backtracking, finché non ha finito tutte le possibilità, oppure trova la derivazione giusta. ...

Reading Time: 5 minutes ·  By Xuanqiang Angelo Huang

Bottom-up Parser LR(1)

Si può osservare che per il parser costruito in Bottom-up Parser LR(0)), non riesce a riconoscere di linguaggi semplici come $L = \{a, ab\}$. Esempio di quanto detto Parser SLR(1) Questi parser qui utilizzano l’idea del look ahead ampiamente utilizzata in Top-down Parser, per escludere molte produzioni. La s sta per simple, perché utilizza una idea semplice :D, credo ahah boh. Riduzione con follow noi vogliamo ridurre solamente se ho follow corretto il terminale finale della stringa. ...

Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Explainability of CNN

Introduction Capire in che modo una rete convoluzionale ci può dare insight migliori su come funzionano questi networks. Visualizzazione dei hidden layers Slide visualization Potremmo fissare una immagine anche a caso, e modificare la x in modo che sia più simile a quanto vuole computare il neurone. In questo modo genero una immagine che generi una activation forte nel neuron trainato, e si potrebbe dire che sia il genere di immagine che viene generata da essa. ...

Reading Time: 4 minutes ·  By Xuanqiang Angelo Huang

Fondamenti teorica

https://virtuale.unibo.it/pluginfile.php/1295166/mod_resource/content/0/Lez18-Gorrieri.pdf Halting problem Questo asserisce che non esiste nessun programma che sia in grado di decidere la terminazione di un altro programma Questo è un problema che ci è interessante perché vorremmo costruire un compilatore che sia in grado di osservare tutti gli errori possibili del programma. Come vedremo tra poco la risposta sarà negativa. Dimostrazione tesi Supponiamo che questo programma esista, lo chiamiamo check(P) che restituisce 0 se termina 1 se non termina, allora devo poter essere in grado di scrivere un programma di questo genere ...

Reading Time: 6 minutes ·  By Xuanqiang Angelo Huang

Garbage Collection

On dangling pointers Tombstones Slides tombstones Quando alloco, alloco anche una tombstone, e tutti i riferimenti passano per quella. (quindi ho due dereference per l’accesso) quando vado a deallocare segno la tombstone come RIP, NULL. Dopo molto tempo ho il problema del cimitero che diventa molto grande. Anche se non punta più a niente, il cimitero. Keys and locks Un pò di overhead in più dal punto di vista della memoria, che è doppio ...

Reading Time: 2 minutes ·  By Xuanqiang Angelo Huang

Interpolazione

Vogliamo in questa sezione andare ad indagare la costruzione di funzioni che passano in tutti i punti che vogliamo, appunto interpolare. La funzione è molto simile alla regressione trattata in Minimi quadrati (con il metodo della regressione, chiamato anche approssimazione ai minimi quadrati). Quindi mentre la precedente voleva andare a minimizzare l’errore, questo attuale va a creare proprio da 0 la funzione che ci passa sempre. Introduzione Andremo a creare una funzione f tale che per ogni x in input si abbia esattamente la y in output ...

Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Isomorfismi

Gli isomorfismi sono delle proprietà fondamentali per stabilire una sorta di equivalenza fra i gruppi. Utilizziamo questi isomorfismi per parlare della stessa cosa ma in modi diversi. 3.1 Introduzione 3.1.1 Definizione Un gruppo si dice isomorfo rispetto ad un altro gruppo se, in paroloni semplici, esiste una funzione bigettiva tale che preservi l’operazione del gruppo. In altre parole $$ \phi:A \to B,\phi(ab) = \phi(a)\phi(b) $$3.1.2 Step di dimostrazione Esiste un modo preciso per dimostrare se due gruppi sono isomorfi. In particolare: ...

Reading Time: 2 minutes ·  By Xuanqiang Angelo Huang

Object Detection

Introduction Semantic segmentation Vorremo trovare regioni che corrispondano a categorie diverse. E dividere in questo modo l’immagine secondo zone di informazione. Object detection Vogliamo trovare il più piccolo box che vada a contenere l’oggetto. Questo è fatto con il bounding box. In questo caso la funzione di loss è un pò più difficile da definire, si utilizza la funzione intersection over union con le aree, in pratica la percentuale di immagine comune diciamo. ...

Reading Time: 2 minutes ·  By Xuanqiang Angelo Huang

Probabilita condizionata e indipendenza

Condizionata Definizione Andiamo a definire una probabilità di un evento $A$, condizionata a un evento non nullo $B$, come $$ P(A|B) = \dfrac{P(A\cap B)}{P(B)} $$Questo è la cosa fondamentale per poter considerare cose come bayes perché in questo modo abbiamo una certa relazione fra causa ed effetto e anche il contrario! Cosa che ci piace molto molto molto. La definizione di sopra è un probabilità Dimostrazione mia ...

Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Gestione della memoria

Memoria statica Elementi in memoria statica (4) Variabili globali Istruzioni macchina Costanti (Variabili locali, paramentri e ritorno di funzione?) Le primi tre elementi descritti di sopra sono sicuramente presenti dopo la fase di compilazione, infatti sono allocati dal compilatore in una zona presente nell’eseguibile (un esempio è il READONLY per le stringhe in C). Quindi se vogliamo Avere funzioni ricorsive Potere allocare e deallocare variabili in modo dinamico Abbiamo bisogno di far uso di Pila o Heap, che riescano a cresere e restringersi in modo dinamico. ...

April 8, 2024 · Reading Time: 12 minutes ·  By Xuanqiang Angelo Huang