Composizione concorrente

Cos'è la composizione concorrente

La composizione concorrente di due linguaggio L1 di E2 e L2 di E2 è il linguaggio L1||L2 composto dalle parole di L1 che sono proiezioni su E1 e dalle parole di L2 che sono proiezioni su E2. $$ L_1||L_2 = \{ w \in E \: : \: w↑ E_1 \in L_1, w↑ E_2 \in L_2 \} $$ con $$ E = (E_1∪E_2) $$

Un esempio pratico

Dati due insiemi di simboli E1 e E2

$$ E_1 = \{ a,b \} $$

$$ E_2 = \{ b,c \} $$

Ho anche due linguaggi determinati dalle seguenti regole

$$ L_1 = \{ ab^n| n \ge 0 \} $$

$$ L_2 = \{ cbc^nb| n \ge 0 \} $$

Esempio. Il linguaggio L1 è composto dalle seguenti parole $$ L_1 = \{ ab, abb, abbb, ... \} $$ mentre il linguaggio L2 è composto dalle seguenti parole $$ L_2 = \{ cbcb, cbccb, cbcccb, ... \} $$

Per calcolare la composizione concorrente determino l'insieme unione E

$$ E = E_1 ∪ E_2 = \{ a,b,c \} $$

Esempio. L'insieme E è composto dall'unione dei simboli degli alfabeti E1 e E2. Il linguaggio generato L da E è un insieme di parole di qualsiasi lunghezza composte dai simboli a,b,c $$ L = \{ abc, acb, cab, abcba, ... \} $$

La composizione concorrente dei linguaggi L1||L2 è l'insieme delle parole w le cui proiezioni sugli alfabeti E1 ed E2 appartengono rispettivamente al linguaggio L1 e L2.

$$ L_1||L_2 = \{ w \in E \: : \: w↑ E_1 \in L_1, w↑ E_2 \in L_2 \} $$

Ecco l'analisi di alcune parole w generate da E

w w↑E1 w↑E1∈L1 w↑E2 w↑E2∈L2 w∈L1||L2
abc ab si bc no no
ab ab si b no no
abca aba no bc no no
abbc abb si bbc no no
abcb abb si bcb no no
acbcb abb si cbcb si si
...

Nota. Nell'esempio precedente soltanto la parola w=acbcb appartiene alla composizione concorrente L1||L2 perché la la proiezione w↑E1 appartiene a L1 e la proiezione w↑E2 appartiene a L2. Le altre parole, invece, non rispettano entrambe le condizioni.

Spiegazione

Devo trovare le proiezioni delle parole w generate dall'alfabeto E=E1∪E2 incluse sia nel linguaggio L1 che L2.

$$ w↑E_1 \in L_1 \\ w↑E_2 \in L_2 $$

Le proiezioni delle parole w su E1 sono $$ w↑E_1 = \{ a,b,ab,ba,abb,aba, ... \} $$ mentre le proiezioni delle parole w su E2 sono $$ w↑E_2 = \{ cb, bc, cbc, cbb, bcb, ... \} $$

Queste parole appartengono al linguaggio generato.

Di queste parole devo considerare soltanto quelle che rispettano le regole dei rispettivi linguaggi L1 e L2 ossia il linguaggio accettato.

$$ L_1 = \{ ab^n| n \ge 0 \} $$

$$ L_2 = \{ cbc^nb| n \ge 0 \} $$

Le proiezioni delle parole w su E1 che appartengono a L1 sono $$ w↑E_1 = \{ ab,abb,abbb, ... \} = \{ ab^n \} $$ mentre le proiezioni delle parole w su E2 che appartengono a L2 sono $$ w↑E_2 = \{ cbcb, cbccb, cbcccb,... \} = \{ cbc^nb \} $$

L'intersezione di questi due insiemi individua le parole presenti sia in L1 che in L2.

$$ w↑E_1⋂w↑E_2=\{ acbc^nb, cabc^nb \} $$

Sono le parole della composizione concorrente del linguaggio

$$ L_1||L_2= \{ acbc^nb | n \ge 0 \} ∪ \{ cabc^nb | n \ge 0 \} $$

Nota. Le proiezioni della parola acbcnb appartengono a entrambi i linguaggi. $$ acbc^nb↑E_1 = ab^n \in L_1 \\ acbc^nb↑E_2 = cbc^nb \in L_2 $$ Le proiezioni della parola cabcnb appartengono a entrambi i linguaggi. $$ cabc^nb↑E_1 = ab^n \in L_1 \\ cabc^nb↑E_2 = cbc^nb \in L_2 $$

La composizione concorrente degli automi

Per determinare la composizione concorrente di due automi a stati finiti, posso unire le reti A e B in un'unica rete.

In questo modo ottengo un terzo automa C.

il terzo automa

Nota. Ogni nodo della rete A^B è composto da due indici xi,j. Il primo indice "i" indica lo stato dell'automa A quando si verifica una sequenza di eventi w. Il secondo indice "j" indica lo stato dell'automa B per la stessa sequenza di eventi w.

L'insieme degli eventi EC dell'automa C è uguale all'unione di EA e EB.

$$ E_C = E_A ∪ E_B = \{ a,b,c \} ∪ \{ d,e \} = \{ a,b,c,d,e \} $$

Il linguaggio accettato dell'automa C è uguale alla composizione concorrente due due automi A e B.

$$ L_m(C) = A \: || \: B $$

L'automa C accetta sia le sequenze di eventi (ε,a,ab,abc) dell'automa A e sia le sequenze di eventi (ε,d,de) dell'automa B.

Inoltre, l'automa C accetta anche altre combinazioni w che proiettate sui rispettivi insiemi degli aventi EA e EB appartengono sia ad A che a B.

Esempio. La sequenza w="ade" è una parola accettata dall'automa C pur non appartenendo ad A e B. La proiezione w↑EA="a"∈A è accettata dall'automa A. La proiezione w↑EB="de"∈A è accettata dall'automa B. Quindi, la sequenza w="ade" appartiene alla composizione concorrente A || B.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base