Implementare le funzioni logiche con un semplice Neural Network

Proviamo a utilizzare un percettrone per ottenere i valori delle funzioni logiche AND, OR e NOT tramite l’utilizzo delle funzioni

\begin{aligned}&\begin{aligned}\text{AND}(x_1,\,x_2)&=w_0+x_iw_1+x_2w_2\\&=-1.5+x_1+x_2\end{aligned}\\[10pt]&\begin{aligned}\text{OR}(x_1,\,x_2)&=w_0+x_iw_1+x_2w_2\\&=-0.5+x_1+x_2\end{aligned}\\[10pt]&\begin{aligned}\text{NOT}(x_1)&=w_0+x_1w_1\\&=0.5-x_1\end{aligned}\end{aligned}

Dove abbiamo rappresentato i seguenti percettroni

Per creare le tabelle di verità associate

Esempi

\begin{aligned}&\text{AND}(x_1=0,\,x_2=0)=-1.5<0\Rightarrow \text{output: }0\\&\text{AND}(x_1=1,\,x_2=1)=-1.5+1+1=0.5>0\Rightarrow\text{output: } 1\\[15pt]&\text{OR}(x_1=0,\,x_2=0)=-0.5<0\Rightarrow\text{output: }0\\&\text{OR}(x_1=1,\,x_2=0)=-0.5+1+0=0.5>0\Rightarrow\text{output: }0\\[15pt]&\text{NOT}(x_1=0)=0.5-0>0\Rightarrow\text{output: }1\\&\text{NOT}(x_1=1)=0.5-1=-0.5<0\Rightarrow\text{output: } 0\end{aligned}

Nota: di fatto stiamo creando di trovare una linea di separazione (threshold) tramite cui, al variare di x_1,\,x_2\in[0,\,1] si ottiene un risultato diverso tramite l’elaborazione del percettrone che utilizza i pesi e i bias per ricreare l’output della funzione logica che si sta costruendo sfruttando la positività/negatività del risultato ottenuto.

Se hai trovato errori o informazioni mancanti scrivi a:
giacomo.dandria@esercizistem.com

Se hai trovato errori o informazioni mancanti scrivi a:
giacomo.dandria@esercizistem.com

Questa pagina è stata utile?
No
Torna in alto