\documentclass{article} %\usepackage{times} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[italian]{babel} %\usepackage{amsthm} \usepackage{algorithm} % for pseudo-codes %\usepackage{enumerate} \usepackage{algpseudocode} %\usepackage{DotArrow} %\usepackage{subfig} \usepackage{amsmath} \usepackage{amssymb} %\usepackage{amsthm} %%\usepackage{bm} %%\usepackage{mathtools} \usepackage{graphicx} %\usepackage{wrapfig} %\usepackage{minibox} %\usepackage{multirow} %\usepackage{pifont} % \ding{} %\usepackage[percent]{overpic} %\usepackage{scrextend} % labeling environment % %\newtheorem{theorem}{Theorem} %\newtheorem{definition}{Definition} %\newtheorem{example}{Example} % %\renewcommand{\textfraction}{0.05} %\renewcommand{\floatpagefraction}{0.75} \newcommand{\centerimage}[5][-7pt]{ % [vskip] | graphics-opt | imgname | label | caption \begin{figure}[!htb]% \centering% \vspace{#1}% \includegraphics[#2]{#3}% \caption{#5}\label{#4}\vspace{2mm}% %\vspace{-3pt}\caption{#5}\label{#4}\vspace{-2pt}% \end{figure}} %\includegraphics[trim=1cm 2cm 3cm 4cm, clip=true]{example.pdf} \begin{document} \title{Primo Esercizio - Definizioni} \author{Francesco Gallà, francesco.galla@edu.unito.it} \maketitle %========================================================================= %%%%%%% INTRODUCTION %%%%%%% %========================================================================= \section{Definizioni} \label{sec:definizioni} \subsection{Numeri Naturali} L'insieme dei numeri naturali è composto da tutti i numeri interi maggiori o uguali di 0.\\ L'insieme è indicato da $\mathbb{N}$ \subsection{Numeri Interi} L'insieme dei numeri interi è composto da tutti i numeri i quali possono essere scritti senza una componente frazionaria. Comprendono i numeri naturali e gli interi negativi.\\ L'insieme è indicato da $\mathbb{Z}$ \subsection{Numeri Reali} L'insieme dei numeri reali è composto da tutti i numeri capaci di rappresentare una quantità sulla linea dei Reali (una linea infinita in direzione positiva e negativa, in cui i numeri interi sono equidistanti). Comprendono i numeri Interi, i numeri Razionali e i numeri Irrazionali.\\ L'insieme è indicato da $\mathbb{R}$ \subsection{Intersezione} L'intersezione di due insiemi A e B è l'insieme che contiene gli elementi comuni ad A e a B.\\ $A \cap B = \{x : x \in A\, and\, x \in B\}$ \subsection{Unione} L'unione di due insiemi A e B è l'insieme che contiene tutti gli elementi di A e B.\\ $A \cup B = \{x : x \in A\, or\, x \in B\}$ \subsection{Differenza} La differenza tra l'insieme A e l'insieme B è l'insieme che contiene tutti gli elementi di A che non sono presenti in B.\\ $A - B = \{x : x \in A\, or\, x \notin B\}$ \subsection{Power Set} Il Power Set dell'insieme S, o insieme di potenza di S, è l'insieme che contiene tutti i sottoinsiemi di S, compresi l'insieme vuoto e S stesso. L'insieme è indicato da $\wp(S)$\\ Se la cardinalità del set S è $|S|$, allora la cardinalità di $\wp(S)$ è $2^{|S|}$ \subsection{Complemento} L'insieme complemento di A è l'insieme che contiene gli elementi non presenti in A in un insieme universo U che contiene tutti gli elementi considerati.\\ $\overline{A} = \{x \in U |\, x \notin A\}$ \subsection{Contenuto} Un insieme A è contenuto in B se A è un sottoinsieme di B, ovvero se tutti gli elementi di A sono anche elementi di B. Questo implica che B sia un sovrainsieme di A.\\ $A \subseteq B \to \{\forall x \in A | x \in B\}$ \subsection{Strettamente Contenuto} Un insieme A è strettamente contenuto in B se A è un sottoinsieme di B, ovvero se tutti gli elementi di A sono anche elementi di B, e se esiste almeno un elemento di B che non appartiene ad A (pertanto $A \neq B$).\\ $A \subset B \to \{(\forall x \in A | x \in B\,)\, and\,(\exists x\, | x \in B\, and\, x \notin A)\}$ \subsection{Prodotto Cartesiano} Il prodotto cartesiano tra due o più insiemi (si consideri A e B) è un insieme contenente tutte le coppie ordinate $(a,b)$ in cui $a$ appartiene ad A e $b$ appartiene a B.\\ $ A \times B = \{(a,b)\, |\, a \in A\, and\, b \in B\}$ \subsection{Relazione di arietà n} Si definisce arietà di una relazione $\mathbb{D}$ il numero di insiemi a cui si applica quella relazione. Se una relazione ha arietà $n$:\\ $\mathbb{D} \subseteq A_1 \times\, ...\, \times A_n$ \subsection{Relazione binaria} Una relazione binaria è una relazione $\mathbb{D}$ di arietà 2.\\ $\mathbb{D} \subseteq A_1 \times A_2$ \subsection{Proprietà riflessiva} Dato un insieme A e una relazione $\mathbb{D}$, $\mathbb{D}$ soddisfa la proprietà riflessiva se e solo se $\forall a \in A\, :\, a \mathbb{D} a$, ovvero se ogni elemento del set A è relativo a se stesso in $\mathbb{D}$. \subsection{Proprietà simmetrica} Una relazione binaria $\mathbb{D}$ su un set A è simmetrica se è vero per tutte le coppie $a,b$ in A che $a$ è relativo a $b$ solo se $b$ è relativo ad $a$.\\ $\forall a,b \in A\, :\, a \mathbb{D} b \Leftrightarrow b \mathbb{D} a$ \subsection{Proprietà transitiva} Una relazione binaria $\mathbb{D}$ su un set A è transitiva se ogni volta che un elemento $a$ è relativo ad un elemento $b$ e $b$ è relativo ad un elemento $c$, allora:\\ $\forall a,b,c \in A\, :\, a \mathbb{D} b\: and\: b \mathbb{D} c \Leftrightarrow a \mathbb{D} c$ \subsection{Relazione di Equivalenza} Una relazione binaria che è allo stesso tempo riflessiva, simmetrica e transitiva è detta equivalente.\\ La notazione su due elementi $a,b$ di un set è $a \sim b$. \subsection{Chiusura transitiva} La chiusura transitiva di una relazione $\mathbb{D}$ è un'altra relazione $\mathbb{D}^+$ che rappresenta la più piccola relazione transitiva tale che $\mathbb{D} \subset \mathbb{D}^+$. \section{Funzioni} \subsection{Definizione} Una funzione è una relazione tra un set di input e un set di output, con la proprietà che ogni input è relativo ad un solo output.\\ Una funzione è comunemente indicata dal suo dominio di partenza X e dal suo codominio Y: \\ $f\, :\, X \to Y$ \subsection{Funzione di arietà n} Una funzione di arietà n (o n-aria) e definita su un set S è così indicata:\\ $f\, :\, S^n \to S$ \subsection{Funzione Iniettiva} Una funzione è detta iniettiva se mappa sempre un elemento del suo dominio ad uno ed un solo elemento del suo codominio.\\ Se $f$ è una funzione di dominio S:\\ $\forall a,b \in S\, :\, f(a) = f(b) \Rightarrow a = b$ \subsection{Funzione Suriettiva} Una funzione $f\, :\, X \to Y$ è detta suriettiva se:\\ $\forall y \in Y\, :\, \exists x \in X\, |\, f(x) = y$ \subsection{Funzione Biiettiva} Una funzione è detta biiettiva se è allo stesso tempo iniettiva e suriettiva. \section{Stringhe e Linguaggi} \subsection{Alfabeto} Un alfabeto è un insieme (detto anche $base\, set$) i cui membri sono simboli, che possono includere lettere, caratteri e numeri.\\ Se L è un linguaggio formale, ossia un set finito o infinito di stringhe di finita lunghezza, allora l'alfabeto di L, indicato con $\Sigma$, è l'insieme di tutti i simboli che possono comparire in una qualunque stringa di L. \subsection{Lettere e stringhe} Una stringa è una sequenza finita di membri (simboli) di un alfabeto $\Sigma$. Una lettera è un simbolo. \subsection{Stringa vuota} La stringa vuota $\varepsilon$ è un caso particolare di stringa di lunghezza 0. \subsection{Concatenazione} La concatenazione di stringhe è l'operazione di unire le stringhe una a seguito dell'altra.\\ La concatenazione si indica con il simbolo $+$:\\ $ "Hello"\, +\, "World"\, =\, "HelloWorld"$ \subsection{Ripetizione} La ripetizione di stringhe è l'operazione di concatenare la stessa stringa $S$ un numero $n$ di volte.\\ La ripetizione si indica con il simbolo $*$:\\ $ "Hello"*2\, =\, "HelloHello"$ \subsection{Prefisso e Suffisso} Un prefisso di una stringa $S$ è una sottostringa di $S$ che si presenta all'inizio di $S$.\\ Se $S\, =\, s_1\, ...\, s_n$ allora il suo prefisso è $\hat{S} =\, s_1\, ...\, s_m$ con $ m \leq n$.\\ Un suffisso di una stringa $S$ è una sottostringa di $S$ che si presenta alla fine di $S$. \section{Grafi} \subsection{Definizione} Un grafo è una struttura matematica che rappresenta un insieme di oggetti (vertici) in cui alcune coppie di essi sono connesse da archi. \\ Un grafo è quindi una coppia ordinata $G\, =\, (V,E)$ che comprende un insieme V di vertici e un insieme E di archi, che sono associati a V come subset di due elementi di V. \subsection{Diretti / indiretti} Un grafo indiretto (o semplice) è un grafo in cui gli archi non hanno orientamento, pertanto considerando due archi $(x,y),(y,x)$ dove $ x,y \in V$:\\ L'arco $(x,y)$ è identico all'arco $(y,x)$.\\ Questo significa che gli archi sono coppie non ordinate di vertici. In un grafo con $n$ vertici e senza cicli possiamo dire che il numero massimo di archi è $\frac{n*(n-1)}{2}$ \\ \\ Un grafo diretto è un grafo in cui gli archi hanno orientamento. Gli archi sono rappresentati come frecce che collegano un vertice ad un altro. Essendo in questo caso E un insieme di coppie ordinate, possiamo dire che:\\ Un arco $(x,y)$ è considerato diretto da $x$ a $y$. \subsection{Bipartiti} Un grafo bipartito è un grafo in cui l'insieme V di vertici può essere diviso in due insiemi disgiunti e indipendenti W e X, di modo che ogni arco connetta un vertice in W con un vertice in X.\\ Si indica con $G\, =\, (W,X,E)$ dove $ V\, =\, W \cup X\, and\, W \cap X\, =\, \emptyset$ \subsection{Nodi sorgente e destinazione} In un grafo diretto, è possibile definire nodi sorgente e nodi destinazione. I nodi sorgente sono quelli per cui il numero di archi in input è $0$, mentre i nodi destinazione sono quelli per cui il numero di archi in output è$0$.\\ Per cui, se $v \in V$ è un nodo sorgente, il suo indegree sarà 0:\\ $deg^-(v)\, =\, 0$\\ Per cui, se $v \in V$ è un nodo destinazione, il suo outdegree sarà 0:\\ $deg^+(v)\, =\, 0$\\ \subsection{Funzione di etichettatura per archi e nodi} In un generico grafo G, è possibile definire funzioni di etichettatura (o di colorazione) dei nodi. Definendo un insieme di etichette S e l'insieme dei vertici V, si definisce:\\ $f\, :\, V \to S$ \subsection{Cammini e lunghezza dei cammini} Un cammino in un grafo è una sequenza finita o infinita di archi che collegano una sequenza di vertici distinti l'uno dall'altro. Un cammino di lunghezza $k$ è rappresentato da una sequenza alternata di $k$ vertici ed archi.\\ $v_0,e_0,v_1,e_1,\,...\,v_{k-1},e_{k-1},v_k$ \subsection{Cicli} Un ciclo è un cammino, inteso come sequenza di vertici ed archi, in cui nessun vertice si ripete eccetto il primo (che è anche l'ultimo). Un ciclo di lunghezza $n$ è detto $n-ciclo$.\\ Si nota che i sottoinsiemi di $V,E$ che formano il ciclo all'interno del grafo $G\, =\, (V,E)$ a loro volta identificano un grafo ciclico. \subsection{Grafi fortemente connessi / componenti fortemente connesse terminali} Un grafo diretto è detto fortemente connesso se ogni vertice è raggiungibile da ogni altro vertice.\\ La relazione binaria di essere fortemente connessi è una relazione di equivalenza, e i sottografi indotti dalle classi di equivalenza sono detti componenti fortemente connesse.\\ Le componenti fortemente connesse sono dette terminali se non raggiungono nessun'altra componente a parte se stesse. \subsection{BSCC - Bottom Strongly Connected Component} Una BSCC è una componente fortemente connessa da cui nessun vertice al di fuori della BSCC è raggiungibile. \subsection{Albero} Un albero è un grafo indiretto in cui ogni coppia di vertici è connessa da solo un arco. Per questo, ogni grafo indiretto, connesso e aciclico è un albero. \subsection{In/out degree di un nodo} L'indegree di un nodo è il numero di archi entranti nel nodo, mentre l'outdegree è il numero di archi uscenti dal nodo. Sia $G\, =\, (V,E)$ e $v \in V$:\\ $indegree\, di\, v\, =\, deg^-(v)$\\ $outdegree\, di\, v\, =\, deg^+(v)$ \section{Matrici} \subsection{Definizione} In matematica, una matrice è un vettore bidimensionale di numeri o altri oggetti matematici per i quali sono definite addizione e moltiplicazione. Gli oggetti sono disposti in righe e colonne. Una matrice ha una dimensione indicata dal numero di righe e il numero di colonne.\\ Una matrice A caratterizzata da $n$ righe e $m$ colonne:\\ \\ $ A\, = \begin{bmatrix} a_{11} & a_{12} & a_{13} & \dots & a_{1m} \\ a_{21} & a_{22} & a_{23} & \dots & a_{2m} \\ \hdotsfor{5} \\ a_{n1} & a_{n2} & a_{n3} & \dots & a_{nm} \end{bmatrix} $ \subsection{Somma di matrici} La somma di matrici è definita come addizione degli elementi corrispondenti di due matrici A, B, che pertanto devono essere compatibili, ovvero $row(A) = row(B)\, and\, col(A) = col(B)$.\\ La matrice risultante $C\, =\, A\, +\, B$ avra' quindi lo stesso numero di righe e colonne delle due matrici sommate.\\ Considerando due matrici A,B con $n$ righe ed $m$ colonne:\\ \\ $ \begin{bmatrix} a_{11} & a_{12} & a_{13} & \dots & a_{1m} \\ a_{21} & a_{22} & a_{23} & \dots & a_{2m} \\ \hdotsfor{5} \\ a_{n1} & a_{n2} & a_{n3} & \dots & a_{nm} \end{bmatrix} + \begin{bmatrix} b_{11} & b_{12} & b_{13} & \dots & b_{1m} \\ b_{21} & b_{22} & b_{23} & \dots & b_{2m} \\ \hdotsfor{5} \\ b_{n1} & b_{n2} & b_{n3} & \dots & b_{nm} \end{bmatrix} = $\\ \\ $ = \begin{bmatrix} a_{11}+b_{11} & a_{12}+b_{12} & \dots & \dots & a_{1m}+b_{1m} \\ a_{21}+b_{21} & \dots \\ \dots \\ a_{n1}+b_{n1} & \dots \end{bmatrix} $ \subsection{Prodotto di matrici} Considerando una matrice A di dimensioni $n \times m$ e una matrice B di dimensioni $m \times p$, il loro prodotto AB è definito come una matrice di dimensioni $n \times p$, in cui le $m$ componenti sulla riga di A sono moltiplicate con le $m$ componenti sulla riga di B.\\ Pertanto, considerando la matrice $C\, =\, A \times B$, ogni componente $c_{ij}$ di C sarà:\\ $ c_{ij}\, =\, a_{i1}b_{1j} + \dots + a_{im}b_{mj}\, =\, \sum_{k=1}^{m} a_{ik}b_{kj}\, [\forall i \in 1 \dots n\, and\, \forall j \in 1 \dots p]$ \subsection{Prodotto vettore per matrice} Dato che possiamo definire un vettore come una matrice in cui una delle dimensioni è 1, possiamo anche definire il prodotto tra una matrice A e un vettore $x$. Il prodotto tra matrice e vettore è definito solo nel caso in cui $col(A) = rows(x)$, per cui dobbiamo utilizzare il vettore come se fosse una matrice colonna, ossia una matrice in cui il numero di colonne è 1.\\ Per calcolare il prodotto tra A e $x$ possiamo considerare lo stesso procedimento definito per il prodotto tra una matrice A e una generica matrice B. Otteniamo quindi di dover calcolare il prodotto scalare di $x$ con ognuna delle righe di A.\\ Il risultato di una moltiplicazione tra una matrice A di dimensioni $n \times m$ e un vettore $x$ di dimensioni $m \times 1$ è un vettore colonna di dimesioni $n \times 1$. %========================================================================================================= %\subsection{La rete di Petri} \label{ssec:reteA-PN} %La Figura~\ref{img:reteA} rappresenta la rete di Petri P/T del primo esercizio (reteA). %Il master è modellato dai posti .... e dalle transizioni .... %La richiesta del servizio verso l'unico tipo di slave (slave di tipo 1) \`e gestita attraverso un buffer in ingresso (posto Pxx) allo slave e uno in uscita (posto Qxx). %%\centerimage{trim=1cm 10cm 3cm 4cm, clip=true} %\centerimage{width=\columnwidth} %{ReteLettoriScrittori.pdf}{img:reteA} %{Modello P/T della reteA} %\subsection{I risultati} \label{ssec:reteA-res} %%===================== TEST 2 FMS %\begin{table} %\centering %%\includegraphics[width=\columnwidth]{imgs/ztest2.pdf} %\caption{Performance result for ReteA} %\label{tab:reteA} %\end{table} %%===================== %La Tabella~\ref{tab:reteA} elenca la dimensione dello spazio degli stati al variare del numero $M$ di master e $S$ di slave. Si pu\`o osservare come, al variare di ...., il numero di stati .... aumenta/diminuisce in modo lineare/quadratico ... %\begin{equation} \label{eq:xii} %xi_i = (I - T_i)^{-1} \cdot %\sum^m_{j=i+1} (F_i \cdot xi_j) \qquad i \leq k %\end{equation}% %A CSLTA property over the set $AP$ of atomic proposition is defined as %\begin{equation} %% \text{\emph{(\CSLTA\ state formula)}\qquad} %\Phi ::= p ~|~ \neg\Phi ~|~ \Phi \wedge \Phi ~|~ %%\mathcal{S}_{\bowtie \lambda}(\Phi) ~|~ %\mathcal{S}_{\bowtie\lambda}(\Phi) ~|~ %\mathcal{P}_{\bowtie\lambda}(\mathcal{A}) \qquad~ %\end{equation} %\begin{algorithm} %\begin{algorithmic} %\Function{ModelCheck}{$\{Z_j\}$ components of ${Z}$, $s_0$ : initial state} %\State $\pi^{(0)} : S\times Z \rightarrow {R}$ %\Comment{sparse vector of state probabilities} %\For{each $Z_j$, taken in forward topological order} %, with $0 < j \leq K$} %\State $H_j =$ all the tuples $(s,z)$ with %$\pi^{(j-1)}[(s,z)] \neq 0 \,\wedge\, z \in Z_j$ %\EndFor %\State\Return{$\pi^{(K)}[\top]$} %\EndFunction %\end{algorithmic} %\caption{Pseudocode of ......}\label{algo:fwd:otf} %\end{algorithm} \end{document}