UniTO/anno2/YearI/SecondSem/VPC/labs/Definitions/es1.tex
Francesco Mecca 5e286062f8 MCAD 2019
2018-11-22 13:09:11 +01:00

417 lines
17 KiB
TeX

\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}