Teorema di Lagrange

Classi laterali Dimostrazione dei lemmi sopra. La cosa interessante di questa parte è possiamo usare una classe laterale per partizionare il gruppo iniziale! Il teorema di Lagrange Dividere significa che **partiziona** l'insieme iniziale in alcuni insiemi distinti. L'insieme $G:H$ è l'insieme che contiene tutti i cosets, credo. Dimostrazione ...

Reading Time: 2 minutes ·  By Xuanqiang Angelo Huang

Consensus protocols

Introduzione Vogliamo tenere in modo sincronizzato alcune macchine, questo è il nostro obiettivo. Questo è un problema abbastanza difficile… Come tenere in sync se ci sono alcuni nodi maligni o la rete che non è bona? Assunzioni principali (2) Esiste internet Esiste Crittografia Queste sono le assunzioni che non saranno mai rilassate per l’intero corso, diciamo che sono la nostra base su cui possiamo andare a costruire la base per il nostro studio. ...

August 28, 2024 · Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Filesystem

Perché filesystem? Questa è l’idea presa dall’archivio, come se fosse un ufficio che deve tenere delle pratiche ordinate in cartelle e cartelloni. L’utilizzo principale è dare un interfaccia comune di accesso ai dispositivi. perché dispositivi diversi hanno sotto modi di accedere diversi, questa interfaccia facilita molto l’accesso. Informazioni dei files (5+) Il file è l’unità logica di memorizzazione. il formato che c’è dentro è gestito dall’applicazione, non dal file system! ...

August 28, 2024 · Reading Time: 9 minutes ·  By Xuanqiang Angelo Huang

Introduzione a blockchain

Blockchain stack Vogliamo andare ora a descrivere la stack delle blockchain, in modo simile a quanto fatto con le internet, perché anche qui possiamo organizzarlo a stack! Nota: le astrazioni fra questi layer non sono definiti bene come osi osint. Layer - 0 Internet Internet (semi-reliable point-to-point communication) and cryptography (specifically, cryptographic hash functions and secure digital signatures). Layer - 1 Consensus Ci concentreremo sui protocolli di questo per la maggior parte di quanto faremo! Bitcoin, Ethereum sono tutti a questo livello. ...

August 28, 2024 · Reading Time: 2 minutes ·  By Xuanqiang Angelo Huang

Monitor

Questo è un modo di più alto livello per creare programmazione concorrente. Introduzione ai monitor Questo costrutto per la programmazione concorrente, prende molto dalla programmazione agli oggetti, abbiamo delle variabili presenti al monitor, private solamente accessibili ad essa, tramite procedure che sono mutex automaticamente! Elementi costituenti Dati locali Sequenza di inizializzazione Procedure di entrata Appena provo a chiamare una procedura, questa è fatta già in mutua esclusione!. E possono modificare dati locali solo tramite chiamate a sue procedure ...

August 28, 2024 · Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Programmi Concorrenti

Vorremmo cercare di stabilire una teoria riguardante programmi che vengono eseguiti appunto concorrentemente, senza una esecuzione classica uno dpo l’altro Esempio mini-programma rallentamento #include <stdio.h> #include <pthread.h> void test(void *s) { for (int i = 0; i < 10; i++) { printf("%s\n", s); for (int j = 0; j < 100000000; j++); } } int main(int argc, char *argv[]) { pthread_t t1, t2; pthread_create(&t1, NULL, (void *)test, "Uno"); pthread_create(&t2, NULL, (void *)test, "Due"); pthread_join(t1, NULL); pthread_join(t2, NULL); } Example output: Due Uno Uno Due Uno Due Due Uno Due Uno Due Uno Due Uno Due Uno Due Uno Due Uno Esempio 2 mini-programma rallentamento #include <stdio.h> #include <pthread.h> int count = 0; void test(void *s) { for (int i = 0; i < 100000; i++) { count+= 1; } } int main(int argc, char *argv[]) { pthread_t t1, t2; pthread_create(&t1, NULL, test, "Uno"); pthread_create(&t2, NULL, test, "Due"); pthread_join(t1, NULL); pthread_join(t2, NULL); printf("%d\n", count); } Vogliamo creare un modello teorico che riesca a rappresentare il concetto di processi concorrenti, questo è il modello concorrente ...

August 28, 2024 · Reading Time: 5 minutes ·  By Xuanqiang Angelo Huang

Syncronous model

Introduction Da ricordare il “The State Machine Replication (SMR) Problem” in Consensus protocols che è importantissimo per comprendere questa parte. Storia locale Transazioni al singolo noto Problema del sync fra tutti questi nodi. Goal of SMR solution in blockchains Andiamo a considerare alcune proprietà di safety e liveness Programmi Concorrenti Consistenza i nodi devono essere daccordo su quale transazione mettere prima e dopo → stessa storia per tutte le transazioni. (con la possibilità di alcuni nodi che siano indietro, ma solo prefisso!). Liveness che vogliamo dire che tutte le transazioni valide devono essere aggiunte alla fine Assunzioni per sincrono (4) Permissioned, ossia i nodi del nostro modello sono fissi, non possiamo averne di più, non possiamo averne di meno e sono conosciuti. Public key infrastructure, Ogni nodo ha una coppia pubblica e privata. Synchronous, esiste una sorta di stato globale, e tutti i nodi condividono questa informazione. 0, 1, … t. I messaggi sono tutti mandati bene, e arrivano esattamente uno step dopo. (mandato al tempo t, arriva a t + 1). Onestà di tutti i nodi (sarà lasciato subito questa assunzione). 4’. Una percentuale dei nodi è bizantina. ...

August 28, 2024 · Reading Time: 7 minutes ·  By Xuanqiang Angelo Huang

Replication and consistency

Replication and consistency Introduzione Ci sono due vantaggi principali nella replicazione dei dati Velocità Vicinanza geografica (quindi meno tempo ad andare a tornare) Maggiore computazione, quindi avere molti più processori che cercano di offrire lo stesso servizio. Affidabilità Così se una sede diventa corrotta, posso avere abbondanza, avere una copia da una altra parte, così non perdo le informazioni! Se una macchina cade in errore, ho altre macchine che lo sostituiscono! Quindi dal punto di vista dell’utente funziona ancora. Ma provare ad avere lo stesso dato in zone diverse porta a grandi problemi riguardo la consistenza! Come facciamo ad avere la garanzia che due cose diverse abbiano la stessa informazione? ...

August 4, 2024 · Reading Time: 5 minutes ·  By Xuanqiang Angelo Huang

Analisi di Convessità

Questo argomento è stato trattato durante dopo la discussione dei Massimi minimi multi-variabile, però è stato ripreso anche nella forma R to R, quindi credo necessiti di un foglio a parte. Affine set Lines $$ x = \theta x_{1} + (1 - \theta)x_{2} $$ This is a parametrization of the line Example: Def: affine set A combination where the coefficients add up to 1. We can say that this set is unique given two points. ...

August 6, 2024 · Reading Time: 13 minutes ·  By Xuanqiang Angelo Huang

Metodi di Discesa

Introduzione ai metodi di discesa. Generali sui metodi di discesa Vogliamo creare algoritmi che riescano a trovare i punti di minimo delle funzioni non vincolate. In generale si trova un punto stazionario (condizioni necessarie) ma non è garantito lo stato ottimo. Solitamente sono divisi in first order methods in cui viene considerata solamente la derivata prima della funzione. E cose di metodi superiori. Condizioni di arresto classiche (2) Slide ...

Reading Time: 5 minutes ·  By Xuanqiang Angelo Huang