JavaScript Frontend Framework

Nel dina­mi­co mon­do del­lo svi­lup­po web, Java­Script si è affer­ma­to come la spi­na dor­sa­le del­le espe­rien­ze onli­ne moder­ne e inte­rat­ti­ve. Se HTML for­ni­sce la strut­tu­ra e CSS lo sti­le, è Java­Script che infon­de vita e dina­mi­ci­tà alle pagi­ne web, con­sen­ten­do agli svi­lup­pa­to­ri di crea­re appli­ca­zio­ni web alta­men­te reattive.

Tut­ta­via, costrui­re appli­ca­zio­ni web com­ples­se da zero con solo Java­Script può esse­re dispen­dio­so in ter­mi­ni di tem­po e dif­fi­ci­le da gesti­re. È qui che entra­no in gio­co i Java­Script fron­tend fra­mework. Que­sti stru­men­ti poten­ti sem­pli­fi­ca­no il pro­ces­so di crea­zio­ne di appli­ca­zio­ni web dina­mi­che e reat­ti­ve, offren­do strut­tu­re e com­po­nen­ti pre­de­fi­ni­ti che con­sen­to­no agli svi­lup­pa­to­ri di con­cen­trar­si sul­la for­ni­tu­ra di espe­rien­ze uten­te efficaci.

Ma cosa offro­no esat­ta­men­te que­sti fra­mework? Mol­ti fra­mework con­di­vi­do­no alcu­ne carat­te­ri­sti­che comu­ni che ne faci­li­ta­no l’u­so e ne miglio­ra­no l’efficienza:

  • Archi­tet­tu­ra basa­ta su com­po­nen­ti: L’in­ter­fac­cia uten­te vie­ne sud­di­vi­sa in com­po­nen­ti modu­la­ri e riu­ti­liz­za­bi­li, sem­pli­fi­can­do lo svi­lup­po, miglio­ran­do la qua­li­tà del codi­ce e pro­muo­ven­do la col­la­bo­ra­zio­ne all’in­ter­no del team. Esem­pi di come que­sti com­po­nen­ti ven­go­no crea­ti varia­no tra i fra­mework, con esten­sio­ni di file come .jsx o .tsx per React e Next.js, .vue per Vue.js e Nuxt.js, .svelte per Svel­te e .astro per Astro. Nono­stan­te le dif­fe­ren­ze sin­tat­ti­che, l’o­biet­ti­vo è lo stes­so: sepa­ra­re il codi­ce per riu­sa­bi­li­tà e manutenibilità.
  • Gestio­ne del Ren­de­ring (CSR e SSR): Mol­ti fra­mework sup­por­ta­no sia il Ren­de­ring Lato Clien­te (CSR) che il Ren­de­ring Lato Ser­ver (SSR). Il CSR offre un’e­spe­rien­za uten­te più dina­mi­ca ridu­cen­do il cari­co del ser­ver, ma può influi­re nega­ti­va­men­te sui tem­pi di cari­ca­men­to ini­zia­li e sul­la SEO. L’SSR, d’al­tra par­te, può por­ta­re a tem­pi di cari­ca­men­to ini­zia­li più rapi­di e miglio­ra­re la SEO. Fra­mework come Next.js (per React), Nuxt.js (per Vue.js) e Svel­te­Kit sup­por­ta­no l’S­SR per impo­sta­zio­ne predefinita.
  • Gestio­ne del­lo Sta­to: La gestio­ne del­lo sta­to è fon­da­men­ta­le nel­lo svi­lup­po fron­tend. Si trat­ta del pro­ces­so di memo­riz­za­zio­ne e acces­so ai dati in tut­ta l’ap­pli­ca­zio­ne per un faci­le uti­liz­zo tra i diver­si com­po­nen­ti. I fra­mework spes­so for­ni­sco­no solu­zio­ni inte­gra­te o rac­co­man­da­te per la gestio­ne del­lo sta­to, come Redux per React, Vuex o Pinia per Vue.js e Nuxt.js, NgRx per Angu­lar e Nano Sto­res per Astro.

Il pano­ra­ma dei fron­tend fra­mework Java­Script è vasto e in con­ti­nua evo­lu­zio­ne. Alcu­ni dei fra­mework più popo­la­ri includono:

  • React: Una libre­ria UI ampia­men­te uti­liz­za­ta, nota per la sua archi­tet­tu­ra basa­ta su com­po­nen­ti, il Vir­tual DOM e la sua vasta comu­ni­tà ed eco­si­ste­ma. Libre­rie come Next.js si basa­no su React per for­ni­re fun­zio­na­li­tà SSR e full-stack.
  • Angu­lar: Un fra­mework com­ple­to svi­lup­pa­to in Type­Script, idea­le per la costru­zio­ne di Sin­gle Page Appli­ca­tions (SPA) dina­mi­che e su lar­ga sca­la. Offre fun­zio­na­li­tà come il data bin­ding bidi­re­zio­na­le e l’An­gu­lar CLI.
  • Vue.js: Un fra­mework pro­gres­si­vo, apprez­za­to per la sua sin­tas­si fles­si­bi­le e la cur­va di appren­di­men­to più dol­ce rispet­to ad Angu­lar, pur offren­do fun­zio­na­li­tà avan­za­te come la Com­po­si­tion API e un eco­si­ste­ma in cre­sci­ta. Nuxt.js è un fra­mework basa­to su Vue.js che sem­pli­fi­ca l’S­SR e la crea­zio­ne di appli­ca­zio­ni full-stack.
  • Svel­te: Un fra­mework uni­co che com­pi­la i com­po­nen­ti in codi­ce Java­Script effi­cien­te che aggior­na diret­ta­men­te il DOM, risul­tan­do in appli­ca­zio­ni più velo­ci e leg­ge­re. Svel­te­Kit è il fra­mework full-stack basa­to su Svel­te che sup­por­ta l’S­SR per impo­sta­zio­ne predefinita.
  • Remix: Un fra­mework full-stack basa­to su React Rou­ter, foca­liz­za­to sul miglio­ra­men­to del­l’e­spe­rien­za uten­te per appli­ca­zio­ni velo­ci e dina­mi­che, con un for­te sup­por­to per la gestio­ne dei dati e dei moduli.
  • Astro: Un fra­mework moder­no pro­get­ta­to prin­ci­pal­men­te per la costru­zio­ne di siti web ric­chi di con­te­nu­ti, che uti­liz­za un’archi­tet­tu­ra a iso­le per ridur­re i pay­load Java­Script e miglio­ra­re le prestazioni.
  • Solid.js: Un fra­mework che si con­cen­tra sul­la reat­ti­vi­tà fine-grai­ned lavo­ran­do diret­ta­men­te con il DOM rea­le, offren­do alte pre­sta­zio­ni. Solid­Start è il fra­mework full-stack basa­to su Solid.js.
  • Tan­Stack: Una col­le­zio­ne di libre­rie head­less e type-safe per varie fun­zio­na­li­tà come rou­ting, gestio­ne del­lo sta­to del modu­lo e tabel­le dati, pro­get­ta­te per esse­re agno­sti­che dal fra­mework e sup­por­ta­re React, Vue, Angu­lar e Solid.

La scel­ta del fra­mework “miglio­re” non esi­ste. Dipen­de da una serie di fat­to­ri, tra cui i requi­si­ti del pro­get­to, il tipo di appli­ca­zio­ne che si sta costruen­do, la dimen­sio­ne e l’at­ti­vi­tà del­la comu­ni­tà, l’e­co­si­ste­ma dispo­ni­bi­le e la cur­va di apprendimento.

Il pano­ra­ma del­lo svi­lup­po fron­tend è in con­ti­nua evo­lu­zio­ne, con nuo­ve fun­zio­na­li­tà e approc­ci che emer­go­no rego­lar­men­te. Un trend inte­res­san­te è l’in­te­gra­zio­ne del­l’intel­li­gen­za arti­fi­cia­le (IA) negli stru­men­ti di svi­lup­po fron­tend, con AI che aiu­ta nel­la gene­ra­zio­ne di codi­ce e nel miglio­ra­men­to dei flus­si di lavo­ro. Java­Script, essen­do un lin­guag­gio ver­sa­ti­le, gio­ca un ruo­lo cru­cia­le anche nel­lo svi­lup­po di inter­fac­ce AI.

In con­clu­sio­ne, i Java­Script fron­tend fra­mework sono stru­men­ti essen­zia­li per lo svi­lup­pa­to­re web moder­no. Offro­no una varie­tà di fun­zio­na­li­tà e approc­ci per sem­pli­fi­ca­re la crea­zio­ne di appli­ca­zio­ni web inte­rat­ti­ve e per­for­man­ti. Rima­ne­re aggior­na­ti sul­le ulti­me ten­den­ze e valu­ta­re atten­ta­men­te le esi­gen­ze del pro­prio pro­get­to sono pas­si fon­da­men­ta­li per sce­glie­re il fra­mework giu­sto per il pro­prio pro­get­to web.

L’Orizzonte Post-Quantistico: Prepararsi alle Sfide Crittografiche del Futuro

Nel pano­ra­ma del­la sicu­rez­za infor­ma­ti­ca, l’a­van­za­men­to tec­no­lo­gi­co por­ta con sé nuo­ve minac­ce e la neces­si­tà di evol­ve­re costan­te­men­te le nostre dife­se. Una del­le sfi­de più signi­fi­ca­ti­ve all’o­riz­zon­te è rap­pre­sen­ta­ta dal­l’e­mer­ge­re di com­pu­ter quan­ti­sti­ci su lar­ga sca­la. I siste­mi crit­to­gra­fi­ci a chia­ve pub­bli­ca attual­men­te in uso, qua­li RSA, gli sche­mi basa­ti sul loga­rit­mo discre­to (come Dif­fie-Hell­man) e le cur­ve ellit­ti­che, sono vul­ne­ra­bi­li ad attac­chi con­dot­ti da tali mac­chi­ne, in par­ti­co­la­re gra­zie all’al­go­rit­mo di Shor.

La con­sa­pe­vo­lez­za di que­sta minac­cia futu­ra ha por­ta­to alla conia­zio­ne del ter­mi­ne “crit­to­gra­fia post-quan­ti­sti­ca” (PQC), che descri­ve siste­mi crit­to­gra­fi­ci alter­na­ti­vi pro­get­ta­ti per resi­ste­re ad attac­chi da par­te di com­pu­ter quan­ti­sti­ci. Que­sta non è una pro­ble­ma­ti­ca da affron­ta­re in un lon­ta­no futu­ro; è impe­ra­ti­vo dota­re già oggi le nostre appli­ca­zio­ni con crit­to­gra­fia resi­sten­te agli attac­chi quan­ti­sti­ci per difen­der­ci da minac­ce di tipo “sto­re now, decrypt later”. Un avver­sa­rio potreb­be memo­riz­za­re comu­ni­ca­zio­ni cifra­te oggi, con l’in­ten­zio­ne di deci­frar­le una vol­ta che un com­pu­ter quan­ti­sti­co poten­te sarà disponibile.

La PQC è un cam­po di ricer­ca atti­vo e alcu­ni sche­mi sono già sta­ti stan­dar­diz­za­ti. È fon­da­men­ta­le sot­to­li­nea­re che la PQC si con­cen­tra su algo­rit­mi che gira­no su com­pu­ter con­ven­zio­na­li ma sono capa­ci di con­tra­sta­re attac­chi che uti­liz­za­no com­pu­ter quan­ti­sti­ci, distin­guen­do­si dal­la crit­to­gra­fia quan­ti­sti­ca (QC), che sfrut­ta effet­ti quan­ti­sti­ci per la distri­bu­zio­ne di chia­vi sicu­re (QKD).

Prin­ci­pi Fon­da­men­ta­li del­la Crit­to­gra­fia Post-Quantistica

Mol­ti sche­mi PQC si basa­no su prin­ci­pi di per­di­ta di infor­ma­zio­ne e appros­si­ma­zio­ne, intro­du­cen­do incer­tez­za per un attac­can­te. L’e­sem­pio del cubo pro­iet­ta­to in due dimen­sio­ni illu­stra come la ridu­zio­ne di dimen­sio­na­li­tà pos­sa ren­de­re dif­fi­ci­le iden­ti­fi­ca­re uni­vo­ca­men­te una posi­zio­ne. Que­sto con­cet­to si lega alla fun­zio­ne one-way del­le fun­zio­ni hash. L’i­dea di tro­va­re un pun­to (o simi­le ele­men­to) che sia il più vici­no a una strut­tu­ra pre­de­fi­ni­ta è alla base di approc­ci come la crit­to­gra­fia basa­ta su reti­co­li e codici.

Le Fami­glie Pro­met­ten­ti del­la Crit­to­gra­fia Post-Quantistica

La ricer­ca e la stan­dar­diz­za­zio­ne del­la PQC si con­cen­tra­no prin­ci­pal­men­te su tre fami­glie di algoritmi:

  • Crit­to­gra­fia basa­ta su reti­co­li (Lat­ti­ce-based cryp­to­gra­phy): Que­sta fami­glia sfrut­ta la dif­fi­col­tà di pro­ble­mi mate­ma­ti­ci su strut­tu­re alge­bri­che chia­ma­te reti­co­li. Un pro­ble­ma fon­da­men­ta­le è il Lear­ning With Errors (LWE), che intro­du­ce un “rumo­re” a un pun­to del reti­co­lo, ren­den­do dif­fi­ci­le il recu­pe­ro del­la sua posi­zio­ne esat­ta. Varian­ti come Ring-LWE e Modu­le-LWE miglio­ra­no l’ef­fi­cien­za uti­liz­zan­do anel­li poli­no­mia­li e modu­li. Gli sche­mi basa­ti su reti­co­li sono ver­sa­ti­li e sup­por­ta­no sia tra­spor­to di chia­vi (ad esem­pio, KYBER, FRODO) che fir­me digi­ta­li (ad esem­pio, DILITHIUM, FALCON).
  • Crit­to­gra­fia basa­ta su codi­ci (Code-based cryp­to­gra­phy): Que­sta approc­cio si basa sul­la teo­ria dei codi­ci di cor­re­zio­ne degli erro­ri. Il pro­ble­ma cen­tra­le è la deco­di­fi­ca di sin­dro­mi, che diven­ta com­pu­ta­zio­nal­men­te dif­fi­ci­le per codi­ci gene­ri­ci. Lo sche­ma di McE­lie­ce (basa­to su codi­ci Gop­pa) e lo sche­ma di Nie­der­rei­ter sono esem­pi di crit­to­si­ste­mi a chia­ve pub­bli­ca basa­ti su codi­ci, uti­liz­za­ti prin­ci­pal­men­te per il tra­spor­to di chia­vi. La sicu­rez­za si basa sul­la dif­fi­col­tà di deco­di­fi­ca­re un codi­ce linea­re generale.
  • Crit­to­gra­fia basa­ta su hash (Hash-based cryp­to­gra­phy): Que­sta fami­glia uti­liz­za le pro­prie­tà di fun­zio­ni hash crit­to­gra­fi­che one-way per costrui­re sche­mi di fir­me digi­ta­li. Le fir­me one-time (come Lam­port-Dif­fie e Win­ter­ni­tz) costi­tui­sco­no le fon­da­men­ta. Gli sche­mi many-time (come Mer­kle Signa­tu­re Sche­me — MSS) uti­liz­za­no albe­ri hash (albe­ri di Mer­kle) per aggre­ga­re più chia­vi pub­bli­che one-time in un’u­ni­ca chia­ve pub­bli­ca. Sche­mi stan­dar­diz­za­ti come XMSS e LMS (sta­te­ful) e SPHINCS+ (sta­te­less) offro­no alter­na­ti­ve robu­ste per le fir­me digi­ta­li resi­sten­ti ai quantici.

Ver­so la Stan­dar­diz­za­zio­ne Post-Quantistica

Il Natio­nal Insti­tu­te of Stan­dards and Tech­no­lo­gy (NIST) ha avvia­to un’im­por­tan­te ini­zia­ti­va di stan­dar­diz­za­zio­ne per la crit­to­gra­fia post-quan­ti­sti­ca nel 2017. Que­sto pro­ces­so com­pe­ti­ti­vo, simi­le a quel­lo per AES e SHA‑3, ha visto la valu­ta­zio­ne di nume­ro­si can­di­da­ti in diver­se tor­na­te. Nel 2022, sono sta­ti sele­zio­na­ti i pri­mi sche­mi per la standardizzazione:

  • KYBER (basa­to su Modu­le-LWE): Mec­ca­ni­smo di incap­su­la­men­to di chia­vi (KEM) sele­zio­na­to come stan­dard con il nome ML-KEM.
  • DILITHIUM (basa­to su Modu­le-LWE): Sche­ma di fir­ma digi­ta­le sele­zio­na­to come stan­dard con il nome ML-SIG.
  • FALCON (basa­to su reti­co­li): Sche­ma di fir­ma digi­ta­le sele­zio­na­to come can­di­da­to per la stan­dar­diz­za­zio­ne come FN-SIG.
  • SPHINCS+ (basa­to su hash): Sche­ma di fir­ma digi­ta­le sele­zio­na­to per la standardizzazione.

Oltre a que­sti, è sta­ta avvia­ta una quar­ta tor­na­ta per con­si­de­ra­re ulte­rio­ri can­di­da­ti, prin­ci­pal­men­te KEM basa­ti su codi­ci. Anche orga­niz­za­zio­ni come ISO stan­no valu­tan­do sche­mi PQC come Clas­sic McE­lie­ce e FRODOKEM per la standardizzazione.

Con­si­de­ra­zio­ni sul­l’Im­ple­men­ta­zio­ne del­la PQC

Seb­be­ne la PQC pro­met­ta sicu­rez­za nel­l’e­ra quan­ti­sti­ca, pre­sen­ta alcu­ne sfide:

  • Effi­cien­za: Mol­ti sche­mi PQC sono com­pu­ta­zio­nal­men­te più inten­si e richie­do­no più memo­ria rispet­to a RSA ed ECC.
  • Dimen­sio­ni del­le chia­vi e degli out­put: Alcu­ni sche­mi han­no dimen­sio­ni di chia­vi pub­bli­che (ad esem­pio, Clas­sic McE­lie­ce) e fir­me (ad esem­pio, sche­mi basa­ti su hash) signi­fi­ca­ti­va­men­te mag­gio­ri rispet­to alla crit­to­gra­fia clas­si­ca. I mec­ca­ni­smi di crit­to­gra­fia (o KEM) PQC spes­so com­por­ta­no un’e­span­sio­ne del ciphertext.
  • Vin­co­li secon­da­ri: Alcu­ni sche­mi pos­so­no ave­re una pic­co­la pro­ba­bi­li­tà di fal­li­men­to nel­la deci­fra­zio­ne o nel­la gene­ra­zio­ne del­la fir­ma. Gli sche­mi di fir­ma sta­te­ful richie­do­no una gestio­ne atten­ta del­lo sta­to per evi­ta­re il riu­ti­liz­zo di fir­me one-time.
  • Sicu­rez­za del­l’im­ple­men­ta­zio­ne: Le imple­men­ta­zio­ni PQC pos­so­no esse­re vul­ne­ra­bi­li ad attac­chi side-chan­nel e fault injec­tion, richie­den­do tec­ni­che di imple­men­ta­zio­ne robuste.

Con­clu­sio­ni

La crit­to­gra­fia post-quan­ti­sti­ca rap­pre­sen­ta una rispo­sta cru­cia­le alla minac­cia posta dai futu­ri com­pu­ter quan­ti­sti­ci ai siste­mi crit­to­gra­fi­ci attua­li. La ricer­ca e la stan­dar­diz­za­zio­ne di sche­mi basa­ti su reti­co­li, codi­ci e hash stan­no com­pien­do pro­gres­si signi­fi­ca­ti­vi, pre­pa­ran­do il ter­re­no per una tran­si­zio­ne ver­so algo­rit­mi resi­sten­ti ai quan­ti­ci. Com­pren­de­re i prin­ci­pi, le poten­zia­li­tà e le sfi­de di que­ste nuo­ve fami­glie di algo­rit­mi è fon­da­men­ta­le per garan­ti­re la sicu­rez­za del­le comu­ni­ca­zio­ni e del­l’au­ten­ti­ca­zio­ne nel futu­ro pano­ra­ma infor­ma­ti­co. La diver­si­tà degli sche­mi stan­dar­diz­za­ti sarà essen­zia­le per sod­di­sfa­re le diver­se esi­gen­ze di sicu­rez­za del­le appli­ca­zio­ni moderne.

Glossary of AI, Machine Learning, and Quantum Computing Terms

Glossary of AI, ML, and Quantum Computing Terms

Glossary of AI, Machine Learning, and Quantum Computing Terms

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

AI (Arti­fi­cial Intelligence)
EN: The simu­la­tion of human intel­li­gen­ce pro­ces­ses by machi­nes, par­ti­cu­lar­ly com­pu­ter systems, encom­pas­sing lear­ning, rea­so­ning, and self-cor­rec­tion.
IT: La simu­la­zio­ne dei pro­ces­si di intel­li­gen­za uma­na da par­te del­le mac­chi­ne, in par­ti­co­la­re siste­mi infor­ma­ti­ci, com­pren­den­te appren­di­men­to, ragio­na­men­to e autocorrezione.
ANN (Arti­fi­cial Neu­ral Network)
EN: A com­pu­ta­tio­nal model inspi­red by the struc­tu­re and func­tio­ning of bio­lo­gi­cal neu­ral net­works, used for tasks like pat­tern reco­gni­tion and pre­dic­tion.
IT: Un model­lo com­pu­ta­zio­na­le ispi­ra­to alla strut­tu­ra e al fun­zio­na­men­to del­le reti neu­ra­li bio­lo­gi­che, uti­liz­za­to per com­pi­ti come il rico­no­sci­men­to di pat­tern e le previsioni.
AutoML (Auto­ma­ted Machi­ne Learning)
EN: The auto­ma­tion of machi­ne lear­ning tasks to sim­pli­fy and speed up model deve­lo­p­ment.
IT: L’au­to­ma­zio­ne dei com­pi­ti di machi­ne lear­ning per sem­pli­fi­ca­re e acce­le­ra­re lo svi­lup­po di modelli.
API (Appli­ca­tion Pro­gram­ming Interface)
EN: A set of rules that allow dif­fe­rent soft­ware enti­ties to com­mu­ni­ca­te with each other.
IT: Un insie­me di rego­le che con­sen­te a diver­si soft­ware di comu­ni­ca­re tra loro.
ALU (Ari­th­me­tic Logic Unit)
EN: A com­po­nent of a com­pu­ter pro­ces­sor that per­forms ari­th­me­tic and logi­cal ope­ra­tions.
IT: Un com­po­nen­te del pro­ces­so­re di un com­pu­ter che ese­gue ope­ra­zio­ni arit­me­ti­che e logiche.
ASR (Auto­ma­tic Speech Recognition)
EN: Tech­no­lo­gy that con­verts spo­ken lan­gua­ge into text.
IT: Tec­no­lo­gia che con­ver­te il lin­guag­gio par­la­to in testo.
ACL (Acti­ve Lear­ning Cycle)
EN: A pro­cess to ite­ra­ti­ve­ly label data for trai­ning a model.
IT: Un pro­ces­so per eti­chet­ta­re ite­ra­ti­va­men­te i dati per adde­stra­re un modello.
AMD (Appro­xi­ma­te Mes­sa­ge Passing)
EN: An algo­ri­thm used in spar­se signal recon­struc­tion.
IT: Un algo­rit­mo uti­liz­za­to nel­la rico­stru­zio­ne di segna­li sparsi.
AR (Aug­men­ted Reality)
EN: A tech­no­lo­gy that over­lays digi­tal con­tent onto the phy­si­cal world.
IT: Una tec­no­lo­gia che sovrap­po­ne con­te­nu­ti digi­ta­li al mon­do fisico.

B

BERT (Bidi­rec­tio­nal Enco­der Repre­sen­ta­tions from Transformers)
EN: A tran­sfor­mer-based model for natu­ral lan­gua­ge under­stan­ding.
IT: Un model­lo basa­to sui tra­sfor­ma­to­ri per la com­pren­sio­ne del lin­guag­gio naturale.
Big Data
EN: Lar­ge and com­plex data­se­ts that requi­re advan­ced ana­ly­tics tech­ni­ques to extract insights.
IT: Gran­di e com­ples­si set di dati che richie­do­no tec­ni­che avan­za­te di ana­li­si per estrar­re informazioni.
Bac­k­pro­pa­ga­tion
EN: A trai­ning algo­ri­thm used in arti­fi­cial neu­ral net­works to mini­mi­ze error.
IT: Un algo­rit­mo di adde­stra­men­to uti­liz­za­to nel­le reti neu­ra­li arti­fi­cia­li per mini­miz­za­re l’errore.
Baye­sian Network
EN: A pro­ba­bi­li­stic gra­phi­cal model repre­sen­ting varia­bles and their con­di­tio­nal depen­den­cies.
IT: Un model­lo gra­fi­co pro­ba­bi­li­sti­co che rap­pre­sen­ta varia­bi­li e le loro dipen­den­ze condizionali.
Bloc­k­chain
EN: A decen­tra­li­zed digi­tal led­ger that records tran­sac­tions across many com­pu­ters.
IT: Un regi­stro digi­ta­le decen­tra­liz­za­to che regi­stra tran­sa­zio­ni su mol­ti computer.
BN (Batch Normalization)
EN: A tech­ni­que to impro­ve trai­ning speed and sta­bi­li­ty in neu­ral net­works.
IT: Una tec­ni­ca per miglio­ra­re la velo­ci­tà e la sta­bi­li­tà del­l’ad­de­stra­men­to nel­le reti neurali.
BO (Baye­sian Optimization)
EN: An approach to opti­mi­ze hyper­pa­ra­me­ters using pro­ba­bi­li­stic models.
IT: Un approc­cio per otti­miz­za­re iper­pa­ra­me­tri uti­liz­zan­do model­li probabilistici.
BRNN (Bidi­rec­tio­nal Recur­rent Neu­ral Network)
EN: A neu­ral net­work that pro­ces­ses input sequen­ces in both for­ward and bac­k­ward direc­tions.
IT: Una rete neu­ra­le che ela­bo­ra sequen­ze di input in entram­be le direzioni.
BSAS (Basic Sequen­tial Algo­ri­th­mic Scheme)
EN: A clu­ste­ring algo­ri­thm for sequen­tial data.
IT: Un algo­rit­mo di clu­ste­ring per dati sequenziali.

C

CNN (Con­vo­lu­tio­nal Neu­ral Network)
EN: A type of deep neu­ral net­work used pri­ma­ri­ly for ima­ge and video reco­gni­tion.
IT: Un tipo di rete neu­ra­le pro­fon­da uti­liz­za­ta prin­ci­pal­men­te per il rico­no­sci­men­to di imma­gi­ni e video.
Cloud Com­pu­ting
EN: The deli­ve­ry of com­pu­ting ser­vi­ces over the inter­net.
IT: L’e­ro­ga­zio­ne di ser­vi­zi infor­ma­ti­ci tra­mi­te internet.
Cross-vali­da­tion
EN: A tech­ni­que for asses­sing how a machi­ne lear­ning model gene­ra­li­zes to an inde­pen­dent data­set.
IT: Una tec­ni­ca per valu­ta­re come un model­lo di machi­ne lear­ning si gene­ra­liz­za a un data­set indipendente.
CRF (Con­di­tio­nal Ran­dom Field)
EN: A pro­ba­bi­li­stic model often used for struc­tu­red pre­dic­tion.
IT: Un model­lo pro­ba­bi­li­sti­co spes­so uti­liz­za­to per la pre­vi­sio­ne strutturata.
CPU (Cen­tral Pro­ces­sing Unit)
EN: The pri­ma­ry com­po­nent of a com­pu­ter that per­forms most of the pro­ces­sing.
IT: Il com­po­nen­te prin­ci­pa­le di un com­pu­ter che ese­gue la mag­gior par­te dell’elaborazione.
CD (Con­tra­sti­ve Divergence)
EN: An algo­ri­thm to train ener­gy-based models like RBMs.
IT: Un algo­rit­mo per adde­stra­re model­li basa­ti sul­l’e­ner­gia come gli RBM.
CUDA (Com­pu­te Uni­fied Devi­ce Architecture)
EN: A paral­lel com­pu­ting plat­form and API by NVIDIA.
IT: Una piat­ta­for­ma di cal­co­lo paral­le­lo e API di NVIDIA.
CTC (Con­nec­tio­ni­st Tem­po­ral Classification)
EN: A trai­ning loss func­tion for sequen­ce-to-sequen­ce models.
IT: Una fun­zio­ne di per­di­ta di adde­stra­men­to per model­li sequenza-a-sequenza.

D

DNN (Deep Neu­ral Network)
EN: An arti­fi­cial neu­ral net­work with mul­ti­ple layers, ena­bling com­plex data mode­ling.
IT: Una rete neu­ra­le arti­fi­cia­le con più stra­ti, che con­sen­te una model­la­zio­ne com­ples­sa dei dati.
Data­set
EN: A struc­tu­red col­lec­tion of data used as input for machi­ne lear­ning models.
IT: Una col­le­zio­ne strut­tu­ra­ta di dati uti­liz­za­ta come input per model­li di appren­di­men­to automatico.
Dimen­sio­na­li­ty Reduction
EN: A pro­cess of redu­cing the num­ber of varia­bles under con­si­de­ra­tion.
IT: Un pro­ces­so di ridu­zio­ne del nume­ro di varia­bi­li pre­se in considerazione.
Deci­sion Tree
EN: A model used for clas­si­fi­ca­tion and regres­sion that spli­ts data into bran­ches.
IT: Un model­lo uti­liz­za­to per clas­si­fi­ca­zio­ne e regres­sio­ne che divi­de i dati in rami.
Dro­pout
EN: A regu­la­ri­za­tion tech­ni­que to pre­vent over­fit­ting in neu­ral net­works.
IT: Una tec­ni­ca di rego­la­riz­za­zio­ne per pre­ve­ni­re l’o­ver­fit­ting nel­le reti neurali.
DAG (Direc­ted Acy­clic Graph)
EN: A gra­ph with direc­ted edges and no cycles, used in data pro­ces­sing work­flo­ws.
IT: Un gra­fo con archi diret­ti e sen­za cicli, uti­liz­za­to nei flus­si di lavo­ro di ela­bo­ra­zio­ne dati.
DBN (Deep Belief Network)
EN: A type of deep lear­ning model com­po­sed of stac­ked restric­ted Bol­tz­mann machi­nes.
IT: Un tipo di model­lo di deep lear­ning com­po­sto da mac­chi­ne di Bol­tz­mann ristret­te impilate.
DQN (Deep Q‑Network)
EN: A rein­for­ce­ment lear­ning algo­ri­thm com­bi­ning Q‑learning with deep neu­ral net­works.
IT: Un algo­rit­mo di appren­di­men­to per rin­for­zo che com­bi­na Q‑learning con reti neu­ra­li profonde.
DLT (Distri­bu­ted Led­ger Technology)
EN: A decen­tra­li­zed system for recor­ding tran­sac­tions across mul­ti­ple nodes.
IT: Un siste­ma decen­tra­liz­za­to per regi­stra­re tran­sa­zio­ni su più nodi.
DNA (Dyna­mic Neu­ral Accelerator)
EN: Hard­ware acce­le­ra­tors for impro­ving neu­ral net­work pro­ces­sing.
IT: Acce­le­ra­to­ri hard­ware per miglio­ra­re l’e­la­bo­ra­zio­ne del­le reti neurali.

E

EDA (Explo­ra­to­ry Data Analysis)
EN: Tech­ni­ques to ana­ly­ze data­se­ts, often visual, to sum­ma­ri­ze their main cha­rac­te­ri­stics.
IT: Tec­ni­che per ana­liz­za­re i data­set, spes­so visi­ve, per rias­su­me­re le loro prin­ci­pa­li caratteristiche.
Edge Com­pu­ting
EN: A para­digm that brings com­pu­ta­tion clo­ser to the data sour­ce.
IT: Un para­dig­ma che avvi­ci­na l’e­la­bo­ra­zio­ne alla sor­gen­te dei dati.
Embed­ding
EN: A repre­sen­ta­tion of data in a lower-dimen­sio­nal spa­ce.
IT: Una rap­pre­sen­ta­zio­ne dei dati in uno spa­zio a dimen­sio­ni ridotte.
ELU (Expo­nen­tial Linear Unit)
EN: An acti­va­tion func­tion used in neu­ral net­works.
IT: Una fun­zio­ne di atti­va­zio­ne uti­liz­za­ta nel­le reti neurali.
Ensem­ble Learning
EN: A tech­ni­que that com­bi­nes pre­dic­tions from mul­ti­ple models.
IT: Una tec­ni­ca che com­bi­na le pre­vi­sio­ni di più modelli.
ERM (Empi­ri­cal Risk Minimization)
EN: A prin­ci­ple for trai­ning models by mini­mi­zing error on a trai­ning data­set.
IT: Un prin­ci­pio per adde­stra­re model­li mini­miz­zan­do l’er­ro­re su un data­set di addestramento.
ETL (Extract, Tran­sform, Load)
EN: A pro­cess to extract data from sour­ces, tran­sform it, and load it into sto­ra­ge.
IT: Un pro­ces­so per estrar­re dati da fon­ti, tra­sfor­mar­li e cari­car­li in uno storage.
EWC (Ela­stic Weight Consolidation)
EN: A method to pre­vent cata­stro­phic for­get­ting in neu­ral net­works.
IT: Un meto­do per pre­ve­ni­re la dimen­ti­can­za cata­stro­fi­ca nel­le reti neurali.

F

FPGA (Field-Pro­gram­ma­ble Gate Array)
EN: A hard­ware cir­cuit desi­gned to be con­fi­gu­red after manu­fac­tu­ring.
IT: Un cir­cui­to hard­ware pro­get­ta­to per esse­re con­fi­gu­ra­to dopo la produzione.
FLOPS (Floa­ting Point Ope­ra­tions per Second)
EN: A mea­su­re of com­pu­ter per­for­man­ce, use­ful in fields requi­ring floa­ting-point cal­cu­la­tions.
IT: Una misu­ra del­le pre­sta­zio­ni di un com­pu­ter, uti­le in cam­pi che richie­do­no cal­co­li in vir­go­la mobile.
Fea­tu­re Extraction
EN: The pro­cess of redu­cing the dimen­sio­na­li­ty of data by selec­ting key fea­tu­res.
IT: Il pro­ces­so di ridu­zio­ne del­la dimen­sio­na­li­tà dei dati sele­zio­nan­do carat­te­ri­sti­che chiave.
Fea­tu­re Engineering
EN: Tech­ni­ques to iden­ti­fy which fea­tu­res in a data­set are most influen­tial in pre­dic­ting outcomes.
Fea­tu­re Importance
EN: The pro­cess of using domain kno­w­led­ge to crea­te input varia­bles.
IT: Tec­ni­che per iden­ti­fi­ca­re qua­li carat­te­ri­sti­che in un data­set sono più influen­ti nel pre­ve­de­re i risultati.
Fee­d­for­ward Neu­ral Network
EN: A type of neu­ral net­work whe­re con­nec­tions bet­ween nodes do not form cycles.
IT: Un tipo di rete neu­ra­le in cui le con­nes­sio­ni tra i nodi non for­ma­no cicli.
FNN (Fee­d­for­ward Neu­ral Network)
EN: A neu­ral net­work whe­re con­nec­tions bet­ween nodes do not form a cycle.
IT: Una rete neu­ra­le in cui le con­nes­sio­ni tra i nodi non for­ma­no un ciclo.
FTRL (Fol­low-The-Regu­la­ri­zed-Lea­der)
EN: An onli­ne opti­mi­za­tion algo­ri­thm used in machi­ne lear­ning.
IT: Un algo­rit­mo di otti­miz­za­zio­ne onli­ne uti­liz­za­to nel­l’ap­pren­di­men­to automatico.
FFT (Fast Fou­rier Transform)
EN: An algo­ri­thm to com­pu­te the discre­te Fou­rier tran­sform and its inver­se effi­cien­tly.
IT: Un algo­rit­mo per cal­co­la­re in modo effi­cien­te la tra­sfor­ma­ta di Fou­rier discre­ta e la sua inversa.

G

GAN (Gene­ra­ti­ve Adver­sa­rial Network)
EN: A type of neu­ral net­work used to gene­ra­te syn­the­tic data.
IT: Un tipo di rete neu­ra­le uti­liz­za­ta per gene­ra­re dati sintetici.
GPU (Gra­phics Pro­ces­sing Unit)
EN: Spe­cia­li­zed hard­ware for paral­lel pro­ces­sing, com­mon­ly used in ML and AI.
IT: Hard­ware spe­cia­liz­za­to per l’e­la­bo­ra­zio­ne paral­le­la, uti­liz­za­to comu­ne­men­te in ML e AI.
Gra­dient Descent
EN: An opti­mi­za­tion algo­ri­thm to mini­mi­ze a loss func­tion.
IT: Un algo­rit­mo di otti­miz­za­zio­ne per mini­miz­za­re una fun­zio­ne di perdita.
Gaus­sian Mix­tu­re Model (GMM)
EN: A pro­ba­bi­li­stic model that assu­mes data poin­ts are distri­bu­ted in mul­ti­ple Gaus­sian distri­bu­tions.
IT: Un model­lo pro­ba­bi­li­sti­co che assu­me che i pun­ti dati sia­no distri­bui­ti in più distri­bu­zio­ni Gaussiane.
Gra­ph Neu­ral Net­work (GNN)
EN: A neu­ral net­work desi­gned to pro­cess data repre­sen­ted as gra­phs.
IT: Una rete neu­ra­le pro­get­ta­ta per ela­bo­ra­re dati rap­pre­sen­ta­ti come grafi.
GNN (Gra­ph Neu­ral Network)
EN: A neu­ral net­work desi­gned for pro­ces­sing data repre­sen­ted as gra­phs.
IT: Una rete neu­ra­le pro­get­ta­ta per ela­bo­ra­re dati rap­pre­sen­ta­ti come grafi.
GRU (Gated Recur­rent Unit)
EN: A type of recur­rent neu­ral net­work used for sequen­ce mode­ling.
IT: Un tipo di rete neu­ra­le ricor­ren­te uti­liz­za­ta per la model­la­zio­ne di sequenze.
GMM (Gaus­sian Mix­tu­re Model)
EN: A pro­ba­bi­li­stic model for repre­sen­ting nor­mal­ly distri­bu­ted sub­po­pu­la­tions within an ove­rall popu­la­tion.
IT: Un model­lo pro­ba­bi­li­sti­co per rap­pre­sen­ta­re sot­to­po­po­la­zio­ni distri­bui­te nor­mal­men­te all’in­ter­no di una popo­la­zio­ne complessiva.
GAN (Gene­ra­ti­ve Adver­sa­rial Network)
EN: A type of neu­ral net­work used to gene­ra­te syn­the­tic data.
IT: Un tipo di rete neu­ra­le uti­liz­za­ta per gene­ra­re dati sintetici.

H

HMM (Hid­den Mar­kov Model)
EN: A sta­ti­sti­cal model for repre­sen­ting time-series data.
IT: Un model­lo sta­ti­sti­co per rap­pre­sen­ta­re dati temporali.
Hyper­pa­ra­me­ter
EN: Para­me­ters that are set befo­re the trai­ning pro­cess begins.
IT: Para­me­tri impo­sta­ti pri­ma che ini­zi il pro­ces­so di addestramento.
Heu­ri­stic
EN: A pro­blem-sol­ving approach that uses prac­ti­cal methods or rules of thumb.
IT: Un approc­cio alla riso­lu­zio­ne dei pro­ble­mi che uti­liz­za meto­di pra­ti­ci o rego­le empiriche.
Hie­rar­chi­cal Clustering
EN: A clu­ste­ring method that builds a hie­rar­chy of clu­sters.
IT: Un meto­do di clu­ste­ring che costrui­sce una gerar­chia di cluster.
Hop­field Network
EN: A type of recur­rent neu­ral net­work used for asso­cia­ti­ve memo­ry.
IT: Un tipo di rete neu­ra­le ricor­ren­te uti­liz­za­ta per la memo­ria associativa.
Hop­field Network
EN: A recur­rent neu­ral net­work used for asso­cia­ti­ve memo­ry.
IT: Una rete neu­ra­le ricor­ren­te uti­liz­za­ta per la memo­ria associativa.
HTTP (Hyper­text Trans­fer Protocol)
EN: A pro­to­col for tran­smit­ting hyper­text over the inter­net.
IT: Un pro­to­col­lo per tra­smet­te­re iper­te­sti su internet.
Hyper­pa­ra­me­ter Optimization
EN: The pro­cess of choo­sing the opti­mal set of hyper­pa­ra­me­ters for a machi­ne lear­ning model.
IT: Il pro­ces­so di scel­ta del set otti­ma­le di iper­pa­ra­me­tri per un model­lo di machi­ne learning.

I

IoT (Inter­net of Things)
EN: A net­work of inter­con­nec­ted devi­ces that com­mu­ni­ca­te and share data.
IT: Una rete di dispo­si­ti­vi inter­con­nes­si che comu­ni­ca­no e con­di­vi­do­no dati.
Ini­tia­li­za­tion
EN: The pro­cess of set­ting ini­tial values for a mode­l’s para­me­ters.
IT: Il pro­ces­so di impo­sta­zio­ne dei valo­ri ini­zia­li per i para­me­tri di un modello.
Instan­ce
EN: A sin­gle data point or exam­ple in a data­set.
IT: Un sin­go­lo pun­to dati o esem­pio in un dataset.
Impu­ta­tion
EN: The pro­cess of repla­cing mis­sing data with sub­sti­tu­ted values.
IT: Il pro­ces­so di sosti­tu­zio­ne dei dati man­can­ti con valo­ri sostitutivi.
Induc­ti­ve Learning
EN: A lear­ning method that deri­ves gene­ral rules from spe­ci­fic exam­ples.
IT: Un meto­do di appren­di­men­to che deri­va rego­le gene­ra­li da esem­pi specifici.
IID (Inde­pen­dent and Iden­ti­cal­ly Distributed)
EN: A sta­ti­sti­cal assump­tion about ran­dom varia­bles in a data­set.
IT: Un’i­po­te­si sta­ti­sti­ca sul­le varia­bi­li casua­li in un dataset.
Instan­ce-Based Learning
EN: A type of lear­ning that com­pa­res new instan­ces with instan­ces in trai­ning data.
IT: Un tipo di appren­di­men­to che con­fron­ta nuo­ve istan­ze con quel­le nei dati di addestramento.
Infor­ma­tion Gain
EN: A mea­su­re of the effec­ti­ve­ness of a fea­tu­re in clas­si­fy­ing data.
IT: Una misu­ra del­l’ef­fi­ca­cia di una carat­te­ri­sti­ca nel clas­si­fi­ca­re i dati.

J

Jupy­ter Notebook
EN: An open-sour­ce web appli­ca­tion for crea­ting and sha­ring com­pu­ta­tio­nal docu­men­ts.
IT: Un’ap­pli­ca­zio­ne web open-sour­ce per crea­re e con­di­vi­de­re docu­men­ti computazionali.
JSON (Java­Script Object Notation)
EN: A light­weight data-inter­chan­ge for­mat that is easy to read and wri­te.
IT: Un for­ma­to leg­ge­ro di inter­scam­bio dati, faci­le da leg­ge­re e scrivere.
JVM (Java Vir­tual Machine)
EN: A vir­tual machi­ne that ena­bles com­pu­ters to run Java pro­grams.
IT: Una mac­chi­na vir­tua­le che con­sen­te ai com­pu­ter di ese­gui­re pro­gram­mi Java.
JIT (Just-In-Time Compilation)
EN: A com­pi­la­tion tech­ni­que that trans­la­tes code at run­ti­me for impro­ved per­for­man­ce.
IT: Una tec­ni­ca di com­pi­la­zio­ne che tra­du­ce il codi­ce duran­te l’e­se­cu­zio­ne per miglio­ra­re le prestazioni.
Jac­card Index
EN: A sta­ti­stic used to mea­su­re the simi­la­ri­ty and diver­si­ty of sets.
IT: Una sta­ti­sti­ca uti­liz­za­ta per misu­ra­re la somi­glian­za e la diver­si­tà di insiemi.
Joint Pro­ba­bi­li­ty
EN: The pro­ba­bi­li­ty of two even­ts occur­ring simul­ta­neou­sly.
IT: La pro­ba­bi­li­tà che due even­ti si veri­fi­chi­no contemporaneamente.

K

K‑Means Clu­ste­ring
EN: A clu­ste­ring algo­ri­thm that par­ti­tions data into k distinct groups.
IT: Un algo­rit­mo di clu­ste­ring che sud­di­vi­de i dati in k grup­pi distinti.
KNN (K‑Nearest Neighbors)
EN: A sim­ple algo­ri­thm that assi­gns a class based on the majo­ri­ty class of the nea­re­st nei­gh­bors.
IT: Un sem­pli­ce algo­rit­mo che asse­gna una clas­se basan­do­si sul­la mag­gio­ran­za del­la clas­se dei vici­ni più prossimi.
Kal­man Filter
EN: An algo­ri­thm that uses a series of mea­su­re­men­ts obser­ved over time to esti­ma­te unk­no­wn varia­bles.
IT: Un algo­rit­mo che uti­liz­za una serie di misu­ra­zio­ni osser­va­te nel tem­po per sti­ma­re varia­bi­li sconosciute.
Ker­nel Trick
EN: A method used in SVMs to ena­ble linear sepa­ra­tion in a higher-dimen­sio­nal spa­ce.
IT: Un meto­do uti­liz­za­to negli SVM per con­sen­ti­re la sepa­ra­zio­ne linea­re in uno spa­zio a dimen­sio­ni superiori.
Kno­w­led­ge Graph
EN: A data struc­tu­re that repre­sen­ts enti­ties and their inter­re­la­tions.
IT: Una strut­tu­ra dati che rap­pre­sen­ta enti­tà e le loro interrelazioni.

L

Linear Regres­sion
EN: A sta­ti­sti­cal method to model the rela­tion­ship bet­ween a depen­dent and one or more inde­pen­dent varia­bles.
IT: Un meto­do sta­ti­sti­co per model­la­re la rela­zio­ne tra una varia­bi­le dipen­den­te e una o più varia­bi­li indipendenti.
Logi­stic Regression
EN: A regres­sion ana­ly­sis method for bina­ry clas­si­fi­ca­tion pro­blems.
IT: Un meto­do di ana­li­si di regres­sio­ne per pro­ble­mi di clas­si­fi­ca­zio­ne binaria.
Latent Diri­chlet Allo­ca­tion (LDA)
EN: A gene­ra­ti­ve sta­ti­sti­cal model used for topic mode­ling.
IT: Un model­lo sta­ti­sti­co gene­ra­ti­vo uti­liz­za­to per il topic modeling.
LSTM (Long Short-Term Memory)
EN: A type of RNN capa­ble of lear­ning long-term depen­den­cies.
IT: Un tipo di RNN in gra­do di appren­de­re dipen­den­ze a lun­go termine.
Lear­ning Rate
EN: A hyper­pa­ra­me­ter that con­trols how much to chan­ge the model in respon­se to the esti­ma­ted error.
IT: Un iper­pa­ra­me­tro che con­trol­la quan­to modi­fi­ca­re il model­lo in rispo­sta all’er­ro­re stimato.

M

ML (Machi­ne Learning)
EN: A field of AI focu­sed on buil­ding systems that learn from data.
IT: Un cam­po del­l’in­tel­li­gen­za arti­fi­cia­le foca­liz­za­to sul­la crea­zio­ne di siste­mi che appren­do­no dai dati.
Mon­te Car­lo Simulation
EN: A com­pu­ta­tio­nal tech­ni­que that uses ran­dom sam­pling to esti­ma­te mathe­ma­ti­cal func­tions.
IT: Una tec­ni­ca com­pu­ta­zio­na­le che uti­liz­za cam­pio­na­men­ti casua­li per sti­ma­re fun­zio­ni matematiche.
Mar­kov Chain
EN: A sto­cha­stic model descri­bing a sequen­ce of pos­si­ble even­ts whe­re the pro­ba­bi­li­ty of each event depends only on the sta­te attai­ned in the pre­vious event.
IT: Un model­lo sto­ca­sti­co che descri­ve una sequen­za di even­ti pos­si­bi­li in cui la pro­ba­bi­li­tà di cia­scun even­to dipen­de solo dal­lo sta­to rag­giun­to nel­l’e­ven­to precedente.
EN: A sto­cha­stic model descri­bing a sequen­ce of pos­si­ble even­ts whe­re the pro­ba­bi­li­ty of each event depends only on the sta­te attai­ned in the pre­vious event.
IT: Un model­lo sto­ca­sti­co che descri­ve una sequen­za di even­ti pos­si­bi­li in cui la pro­ba­bi­li­tà di cia­scun even­to dipen­de solo dal­lo sta­to rag­giun­to nel­l’e­ven­to precedente.
Meta-Lear­ningModel Vali­da­tion
EN: “Lear­ning to learn,” whe­re the focus is on desi­gning systems that adapt quic­kly to new tasks.
IT: “Impa­ra­re a impa­ra­re,” ovve­ro pro­get­ta­re siste­mi che si adat­ti­no rapi­da­men­te a nuo­vi compiti.
Mul­ti-task Learning
EN: A machi­ne lear­ning approach whe­re mul­ti­ple lear­ning tasks are sol­ved at the same time.
IT: Un approc­cio di appren­di­men­to auto­ma­ti­co in cui ven­go­no risol­ti con­tem­po­ra­nea­men­te più com­pi­ti di apprendimento.
Mon­te Car­lo Simulation
EN: A com­pu­ta­tio­nal tech­ni­que that uses ran­dom sam­pling to esti­ma­te mathe­ma­ti­cal func­tions.
IT: Una tec­ni­ca com­pu­ta­zio­na­le che uti­liz­za cam­pio­na­men­ti casua­li per sti­ma­re fun­zio­ni matematiche.

N

Neu­ral Network
EN: A set of algo­ri­thms mode­led loo­se­ly after the human brain that is desi­gned to reco­gni­ze pat­terns.
IT: Un insie­me di algo­rit­mi model­la­ti sul­la base del cer­vel­lo uma­no, pro­get­ta­ti per rico­no­sce­re schemi.
Natu­ral Lan­gua­ge Pro­ces­sing (NLP)
EN: A field of AI that gives machi­nes the abi­li­ty to read, under­stand, and deri­ve mea­ning from human lan­gua­ge.
IT: Un cam­po del­l’in­tel­li­gen­za arti­fi­cia­le che con­sen­te alle mac­chi­ne di leg­ge­re, com­pren­de­re e deri­va­re signi­fi­ca­to dal lin­guag­gio umano.
Nai­ve Bayes
EN: A sim­ple pro­ba­bi­li­stic clas­si­fier based on Bayes’ theo­rem with strong inde­pen­den­ce assump­tions.
IT: Un sem­pli­ce clas­si­fi­ca­to­re pro­ba­bi­li­sti­co basa­to sul teo­re­ma di Bayes con for­ti ipo­te­si di indipendenza.
Nor­ma­li­za­tion
EN: The pro­cess of adju­sting values mea­su­red on dif­fe­rent sca­les to a com­mon sca­le.
IT: Il pro­ces­so di rego­la­zio­ne dei valo­ri misu­ra­ti su sca­le diver­se a una sca­la comune.
New­to­n’s Method
EN: An opti­mi­za­tion algo­ri­thm used for fin­ding suc­ces­si­ve­ly bet­ter appro­xi­ma­tions to the roo­ts of a real-valued func­tion.
IT: Un algo­rit­mo di otti­miz­za­zio­ne uti­liz­za­to per tro­va­re appros­si­ma­zio­ni suc­ces­si­ve miglio­ri del­le radi­ci di una fun­zio­ne a valo­ri reali.
Natu­ral Lan­gua­ge Pro­ces­sing (NLP)
EN: A field of AI that gives machi­nes the abi­li­ty to read, under­stand, and deri­ve mea­ning from human lan­gua­ge.
IT: Un cam­po del­l’in­tel­li­gen­za arti­fi­cia­le che con­sen­te alle mac­chi­ne di leg­ge­re, com­pren­de­re e deri­va­re signi­fi­ca­to dal lin­guag­gio umano.

O

Over­fit­ting
EN: A mode­ling error that occurs when a func­tion is too clo­se­ly fit­ted to a limi­ted set of data poin­ts.
IT: Un erro­re di model­la­zio­ne che si veri­fi­ca quan­do una fun­zio­ne è trop­po ade­ren­te a un set limi­ta­to di dati.
Opti­mi­za­tion
EN: The pro­cess of making a system as effec­ti­ve or func­tio­nal as pos­si­ble.
IT: Il pro­ces­so di ren­de­re un siste­ma il più effi­ca­ce o fun­zio­na­le possibile.
Outlier
EN: A data point that dif­fers signi­fi­can­tly from other obser­va­tions.
IT: Un pun­to dati che dif­fe­ri­sce signi­fi­ca­ti­va­men­te dal­le altre osservazioni.
Onli­ne Learning
EN: A machi­ne lear­ning method whe­re the model learns incre­men­tal­ly as new data beco­mes avai­la­ble.
IT: Un meto­do di appren­di­men­to auto­ma­ti­co in cui il model­lo appren­de incre­men­tan­do man mano che diven­ta­no dispo­ni­bi­li nuo­vi dati.
Opti­mi­za­tion
EN: The pro­cess of making a system as effec­ti­ve or func­tio­nal as pos­si­ble.
IT: Il pro­ces­so di ren­de­re un siste­ma il più effi­ca­ce o fun­zio­na­le possibile.
Ordi­nal Data
EN: A type of data that has a natu­ral order but no fixed inter­val bet­ween values.
IT: Un tipo di dati che ha un ordi­ne natu­ra­le ma nes­sun inter­val­lo fis­so tra i valori.

P

Prin­ci­pal Com­po­nent Ana­ly­sis (PCA)
EN: A tech­ni­que used to empha­si­ze varia­tion and bring out strong pat­terns in a data­set.
IT: Una tec­ni­ca uti­liz­za­ta per evi­den­zia­re le varia­zio­ni e iden­ti­fi­ca­re sche­mi for­ti in un dataset.
Pre­ci­sion
EN: A metric used to mea­su­re the accu­ra­cy of posi­ti­ve pre­dic­tions.
IT: Una metri­ca uti­liz­za­ta per misu­ra­re l’ac­cu­ra­tez­za del­le pre­vi­sio­ni positive.
Pre­dic­ti­ve Modeling
EN: A pro­cess used to crea­te a sta­ti­sti­cal model for pre­dic­ting futu­re even­ts.
IT: Un pro­ces­so uti­liz­za­to per crea­re un model­lo sta­ti­sti­co per pre­ve­de­re even­ti futuri.
Prior Pro­ba­bi­li­ty
EN: The pro­ba­bi­li­ty of an event befo­re new evi­den­ce is intro­du­ced.
IT: La pro­ba­bi­li­tà di un even­to pri­ma che ven­ga­no intro­dot­te nuo­ve prove.
Poly­no­mial Regression
EN: A form of regres­sion ana­ly­sis in which the rela­tion­ship bet­ween the inde­pen­dent and depen­dent varia­ble is mode­led as an nth degree poly­no­mial.
IT: Una for­ma di ana­li­si di regres­sio­ne in cui la rela­zio­ne tra la varia­bi­le indi­pen­den­te e quel­la dipen­den­te è model­la­ta come un poli­no­mio di gra­do n.

Q

Quan­tum Annealing
EN: A quan­tum algo­ri­thm used for sol­ving opti­mi­za­tion pro­blems.
IT: Un algo­rit­mo quan­ti­sti­co uti­liz­za­to per risol­ve­re pro­ble­mi di ottimizzazione.
Quan­tum Computing
EN: Com­pu­ting based on quan­tum-mecha­ni­cal phe­no­me­na, such as super­po­si­tion and entan­gle­ment.
IT: Cal­co­lo basa­to su feno­me­ni del­la mec­ca­ni­ca quan­ti­sti­ca, come la sovrap­po­si­zio­ne e l’entanglement.
Quan­tum Cryptography
EN: Cryp­to­gra­phic methods leve­ra­ging quan­tum mecha­nics to ensu­re secu­re com­mu­ni­ca­tion.
IT: Meto­di crit­to­gra­fi­ci che uti­liz­za­no la mec­ca­ni­ca quan­ti­sti­ca per garan­ti­re comu­ni­ca­zio­ni sicure.
Quan­tum Entanglement
EN: A quan­tum sta­te whe­re two par­ti­cles remain inter­con­nec­ted regard­less of the distan­ce sepa­ra­ting them.
IT: Uno sta­to quan­ti­sti­co in cui due par­ti­cel­le riman­go­no inter­con­nes­se indi­pen­den­te­men­te dal­la distan­za che le separa.
Quan­tum Error Correction
EN: Tech­ni­ques to pro­tect quan­tum com­pu­ta­tions from errors cau­sed by deco­he­ren­ce and noi­se.
IT: Tec­ni­che per pro­teg­ge­re i cal­co­li quan­ti­sti­ci dagli erro­ri cau­sa­ti da decoe­ren­za e rumore.
Quan­tum Supremacy
EN: The mile­sto­ne whe­re a quan­tum com­pu­ter per­forms a task beyond the capa­bi­li­ty of clas­si­cal com­pu­ters.
IT: Il tra­guar­do in cui un com­pu­ter quan­ti­sti­co ese­gue un com­pi­to impos­si­bi­le per i com­pu­ter classici.
Qubit
EN: The basic unit of quan­tum infor­ma­tion.
IT: L’u­ni­tà fon­da­men­ta­le di infor­ma­zio­ne quantistica.
Que­ry
EN: A reque­st for infor­ma­tion from a data­ba­se.
IT: Una richie­sta di infor­ma­zio­ni da un database.
Queueing Theo­ry
EN: The mathe­ma­ti­cal stu­dy of wai­ting lines or queues.
IT: Lo stu­dio mate­ma­ti­co del­le code o del­le file d’attesa.
Q‑Learning
EN: A rein­for­ce­ment lear­ning algo­ri­thm that learns the value of an action in a par­ti­cu­lar sta­te.
IT: Un algo­rit­mo di appren­di­men­to per rin­for­zo che appren­de il valo­re di un’a­zio­ne in uno sta­to particolare.

R

RAG (Retrie­val-Aug­men­ted Generation)
EN: A hybrid AI model com­bi­ning retrie­val-based systems and gene­ra­ti­ve models to fetch rele­vant infor­ma­tion and crea­te accu­ra­te, con­text-aware respon­ses.
IT: Model­lo ibri­do di IA che com­bi­na siste­mi di recu­pe­ro del­le infor­ma­zio­ni e model­li gene­ra­ti­vi per otte­ne­re dati rile­van­ti e crea­re rispo­ste accu­ra­te e contestualizzate.
Rein­for­ce­ment Lear­ning (RL)
EN: A type of machi­ne lear­ning whe­re agen­ts learn by inte­rac­ting with their envi­ron­ment.
IT: Un tipo di appren­di­men­to auto­ma­ti­co in cui gli agen­ti appren­do­no inte­ra­gen­do con il loro ambiente.
Regres­sion
EN: A sta­ti­sti­cal method to model the rela­tion­ship bet­ween a depen­dent and one or more inde­pen­dent varia­bles.
IT: Un meto­do sta­ti­sti­co per model­la­re la rela­zio­ne tra una varia­bi­le dipen­den­te e una o più varia­bi­li indipendenti.
Rid­ge Regression
EN: A type of regres­sion that inclu­des a regu­la­ri­za­tion term to pre­vent over­fit­ting.
IT: Un tipo di regres­sio­ne che inclu­de un ter­mi­ne di rego­la­riz­za­zio­ne per pre­ve­ni­re l’overfitting.
Ran­dom Forest
EN: An ensem­ble lear­ning method that uses mul­ti­ple deci­sion trees to impro­ve pre­dic­tion accu­ra­cy.
IT: Un meto­do di appren­di­men­to di insie­me che uti­liz­za più albe­ri deci­sio­na­li per miglio­ra­re l’ac­cu­ra­tez­za del­le previsioni.
RNN (Recur­rent Neu­ral Network)
EN: A type of neu­ral net­work desi­gned for pro­ces­sing sequen­tial data.
IT: Un tipo di rete neu­ra­le pro­get­ta­ta per ela­bo­ra­re dati sequenziali.
ROC Cur­ve (Recei­ver Ope­ra­ting Characteristic)
EN: A gra­phi­cal repre­sen­ta­tion of the dia­gno­stic abi­li­ty of a bina­ry clas­si­fier.
IT: Una rap­pre­sen­ta­zio­ne gra­fi­ca del­la capa­ci­tà dia­gno­sti­ca di un clas­si­fi­ca­to­re binario.
Regu­la­ri­za­tion
EN: Tech­ni­ques used to pre­vent over­fit­ting in machi­ne lear­ning models.
IT: Tec­ni­che uti­liz­za­te per pre­ve­ni­re l’o­ver­fit­ting nei model­li di appren­di­men­to automatico.

S

Sup­port Vec­tor Machi­ne (SVM)
EN: A super­vi­sed lear­ning model used for clas­si­fi­ca­tion and regres­sion ana­ly­sis.
IT: Un model­lo di appren­di­men­to super­vi­sio­na­to uti­liz­za­to per l’a­na­li­si di clas­si­fi­ca­zio­ne e regressione.
Super­vi­sed Learning
EN: A type of machi­ne lear­ning whe­re a model is trai­ned on labe­led data.
IT: Un tipo di appren­di­men­to auto­ma­ti­co in cui un model­lo vie­ne adde­stra­to su dati etichettati.
Sto­cha­stic Gra­dient Descent (SGD)
EN: An opti­mi­za­tion algo­ri­thm used to mini­mi­ze the cost func­tion in machi­ne lear­ning models.
IT: Un algo­rit­mo di otti­miz­za­zio­ne uti­liz­za­to per mini­miz­za­re la fun­zio­ne di costo nei model­li di appren­di­men­to automatico.
Sca­la­bi­li­ty
EN: The abi­li­ty of a system to hand­le increa­sed load or sca­le up.
IT: La capa­ci­tà di un siste­ma di gesti­re un cari­co mag­gio­re o sca­la­re ver­so l’alto.
Self-Super­vi­sed Learning
EN: A lear­ning method that uses the struc­tu­re of data itself to gene­ra­te labels for trai­ning..
IT: Un meto­do di appren­di­men­to che uti­liz­za la strut­tu­ra dei dati stes­si per gene­ra­re eti­chet­te per l’addestramento.
Spar­se Data
EN: Data sets whe­re most of the ele­men­ts are zero or lack infor­ma­tion.
IT: Data­set in cui la mag­gior par­te degli ele­men­ti sono zero o pri­vi di informazioni.
SVM (Sup­port Vec­tor Machine)
EN: A super­vi­sed lear­ning model used for clas­si­fi­ca­tion and regres­sion ana­ly­sis.
IT: Un model­lo di appren­di­men­to super­vi­sio­na­to uti­liz­za­to per l’a­na­li­si di clas­si­fi­ca­zio­ne e regressione.
SGD (Sto­cha­stic Gra­dient Descent)
EN: An opti­mi­za­tion algo­ri­thm used to mini­mi­ze the cost func­tion in machi­ne lear­ning models.
IT: Un algo­rit­mo di otti­miz­za­zio­ne uti­liz­za­to per mini­miz­za­re la fun­zio­ne di costo nei model­li di appren­di­men­to automatico.
Sha­pley Values
EN: A con­cept from game theo­ry used in explai­na­ble AI to attri­bu­te con­tri­bu­tions to fea­tu­res.
IT: Un con­cet­to del­la teo­ria dei gio­chi uti­liz­za­to nel­l’AI spie­ga­bi­le per attri­bui­re con­tri­bu­ti alle caratteristiche.
Soft­max
EN: A func­tion that con­verts logi­ts into pro­ba­bi­li­ties in clas­si­fi­ca­tion tasks.
IT: Una fun­zio­ne che con­ver­te i logi­ts in pro­ba­bi­li­tà nei com­pi­ti di classificazione.

T

Trans­fer Learning
EN: A machi­ne lear­ning method whe­re a model deve­lo­ped for one task is reu­sed as the star­ting point for ano­ther.
IT: Un meto­do di appren­di­men­to auto­ma­ti­co in cui un model­lo svi­lup­pa­to per un com­pi­to vie­ne riu­ti­liz­za­to come pun­to di par­ten­za per un altro.
Ten­sor
EN: A mathe­ma­ti­cal object used in machi­ne lear­ning to gene­ra­li­ze vec­tors and matri­ces.
IT: Un ogget­to mate­ma­ti­co uti­liz­za­to nel­l’ap­pren­di­men­to auto­ma­ti­co per gene­ra­liz­za­re vet­to­ri e matrici.
Toke­ni­za­tion
EN: The pro­cess of split­ting text into smal­ler uni­ts, such as words or phra­ses, for ana­ly­sis.
IT: Il pro­ces­so di sud­di­vi­sio­ne del testo in uni­tà più pic­co­le, come paro­le o fra­si, per l’analisi.
Time Series
EN: A sequen­ce of data poin­ts mea­su­red over time inter­vals.
IT: Una sequen­za di pun­ti dati misu­ra­ti su inter­val­li di tempo.
Turing Test
EN: A test for deter­mi­ning whe­ther a machi­ne exhi­bi­ts intel­li­gent beha­vior indi­stin­gui­sha­ble from a human.
IT: Un test per deter­mi­na­re se una mac­chi­na mostra un com­por­ta­men­to intel­li­gen­te indi­stin­gui­bi­le da quel­lo umano.
T‑SNE (t‑Distributed Sto­cha­stic Nei­gh­bor Embedding)
EN: A tech­ni­que for dimen­sio­na­li­ty reduc­tion that is well-sui­ted for visua­li­za­tion.
IT: Una tec­ni­ca di ridu­zio­ne del­la dimen­sio­na­li­tà par­ti­co­lar­men­te adat­ta per la visualizzazione.
Tran­sfor­mer
EN: A deep lear­ning model archi­tec­tu­re desi­gned for pro­ces­sing sequen­tial data, such as text.
IT: Un’ar­chi­tet­tu­ra di model­lo di deep lear­ning pro­get­ta­ta per ela­bo­ra­re dati sequen­zia­li, come il testo.

U

Unsu­per­vi­sed Learning
EN: A type of machi­ne lear­ning that infers pat­terns from unla­be­led data.
IT: Un tipo di appren­di­men­to auto­ma­ti­co che dedu­ce sche­mi da dati non etichettati.
Under­fit­ting
EN: A mode­ling error whe­re a model fails to cap­tu­re the under­ly­ing trend of the data.
IT: Un erro­re di model­la­zio­ne in cui un model­lo non rie­sce a cat­tu­ra­re la ten­den­za sot­to­stan­te dei dati.
Upsam­pling
EN: A pro­cess to increa­se the reso­lu­tion or amount of data in a data­set.
IT: Un pro­ces­so per aumen­ta­re la riso­lu­zio­ne o la quan­ti­tà di dati in un dataset.
User-Cen­tric Design
EN: An approach to desi­gning systems with a pri­ma­ry focus on user needs and expe­rien­ces.
IT: Un approc­cio alla pro­get­ta­zio­ne di siste­mi con un focus pri­ma­rio sui biso­gni e le espe­rien­ze degli utenti.
Uti­li­ty Function
EN: A mathe­ma­ti­cal func­tion that repre­sen­ts pre­fe­ren­ces over a set of goods or out­co­mes.
IT: Una fun­zio­ne mate­ma­ti­ca che rap­pre­sen­ta le pre­fe­ren­ze su un insie­me di beni o risultati.
U‑Net
EN: A con­vo­lu­tio­nal net­work archi­tec­tu­re for bio­me­di­cal ima­ge seg­men­ta­tion.
IT: Un’ar­chi­tet­tu­ra di rete con­vo­lu­zio­na­le per la seg­men­ta­zio­ne di imma­gi­ni biomediche.
Under­fit­ting
EN: A mode­ling error whe­re a model fails to cap­tu­re the under­ly­ing trend of the data.
IT: Un erro­re di model­la­zio­ne in cui un model­lo non rie­sce a cat­tu­ra­re la ten­den­za sot­to­stan­te dei dati.

V

Vali­da­tion Set
EN: A sub­set of data used to tune model hyper­pa­ra­me­ters.
IT: Un sot­toin­sie­me di dati uti­liz­za­to per rego­la­re gli iper­pa­ra­me­tri del modello.
Varian­ce
EN: A mea­su­re of the disper­sion of data poin­ts in a data­set.
IT: Una misu­ra del­la disper­sio­ne dei pun­ti dati in un dataset.
Vec­tor
EN: A quan­ti­ty with both magni­tu­de and direc­tion, often used in ML to repre­sent data poin­ts.
IT: Una quan­ti­tà con gran­dez­za e dire­zio­ne, spes­so uti­liz­za­ta nel­l’ap­pren­di­men­to auto­ma­ti­co per rap­pre­sen­ta­re pun­ti dati.
Visua­li­za­tion
EN: The pro­cess of repre­sen­ting data gra­phi­cal­ly to iden­ti­fy trends and pat­terns.
IT: Il pro­ces­so di rap­pre­sen­ta­re gra­fi­ca­men­te i dati per iden­ti­fi­ca­re ten­den­ze e schemi.
Vani­shing Gradient
EN: A pro­blem in trai­ning deep neu­ral net­works whe­re gra­dien­ts beco­me too small for effec­ti­ve lear­ning.
IT: Un pro­ble­ma nel­l’ad­de­stra­men­to di reti neu­ra­li pro­fon­de in cui i gra­dien­ti diven­ta­no trop­po pic­co­li per un appren­di­men­to efficace.
Vec­to­ri­za­tion
EN: The pro­cess of con­ver­ting data into a nume­ri­cal for­mat for com­pu­ta­tion.
IT: Il pro­ces­so di con­ver­sio­ne dei dati in un for­ma­to nume­ri­co per il calcolo.
Varia­tio­nal Autoen­co­der (VAE)
EN: A type of gene­ra­ti­ve model that learns effi­cient enco­dings of data.
IT: Un tipo di model­lo gene­ra­ti­vo che appren­de codi­fi­che effi­cien­ti dei dati.

W

Weight
EN: A para­me­ter in a neu­ral net­work that is adju­sted during trai­ning.
IT: Un para­me­tro in una rete neu­ra­le che vie­ne rego­la­to duran­te l’addestramento.
Word Embed­ding
EN: A repre­sen­ta­tion of words in a vec­tor spa­ce, cap­tu­ring their mea­nings.
IT: Una rap­pre­sen­ta­zio­ne del­le paro­le in uno spa­zio vet­to­ria­le, che cat­tu­ra i loro significati.
Work­flow
EN: A sequen­ce of pro­ces­ses throu­gh which data is ana­ly­zed or mani­pu­la­ted.
IT: Una sequen­za di pro­ces­si attra­ver­so i qua­li i dati ven­go­no ana­liz­za­ti o manipolati.
Weighted Ave­ra­ge
EN: An ave­ra­ge whe­re each value has a cor­re­spon­ding weight that influen­ces the result.
IT: Una media in cui ogni valo­re ha un peso cor­ri­spon­den­te che influen­za il risultato.
Weak AI
EN: AI systems desi­gned for spe­ci­fic tasks rather than gene­ral intel­li­gen­ce.
IT: Siste­mi di intel­li­gen­za arti­fi­cia­le pro­get­ta­ti per com­pi­ti spe­ci­fi­ci piut­to­sto che per l’in­tel­li­gen­za generale.

X

XML (Exten­si­ble Mar­kup Language)
EN: A mar­kup lan­gua­ge that defi­nes rules for enco­ding docu­men­ts in a for­mat that is both human-rea­da­ble and machi­ne-rea­da­ble.
IT: Un lin­guag­gio di mar­kup che defi­ni­sce rego­le per codi­fi­ca­re docu­men­ti in un for­ma­to leg­gi­bi­le sia da uma­ni che da macchine.
XGBoo­st
EN: A gra­dient boo­sting fra­mework used for super­vi­sed lear­ning tasks.
IT: Un fra­mework di boo­sting del gra­dien­te uti­liz­za­to per com­pi­ti di appren­di­men­to supervisionato.
XOR (Exclu­si­ve OR)
EN: A logi­cal ope­ra­tion that out­pu­ts true only when inpu­ts dif­fer.
IT: Un’o­pe­ra­zio­ne logi­ca che resti­tui­sce vero solo quan­do gli input sono diversi.
X‑axis
EN: The hori­zon­tal axis in a two-dimen­sio­nal gra­ph.
IT: L’as­se oriz­zon­ta­le in un gra­fi­co bidimensionale.
X‑factor
EN: An essen­tial or uni­que varia­ble that influen­ces an out­co­me.
IT: Una varia­bi­le essen­zia­le o uni­ca che influen­za un risultato.

Y

YAML (YAML Ain’t Mar­kup Language)
EN: A human-rea­da­ble data seria­li­za­tion stan­dard.
IT: Uno stan­dard di seria­liz­za­zio­ne dei dati leg­gi­bi­le da esse­ri umani.
Y‑axis
EN: The ver­ti­cal axis in a two-dimen­sio­nal gra­ph.
IT: L’as­se ver­ti­ca­le in un gra­fi­co bidimensionale.
Yield Cur­ve
EN: A gra­ph that plo­ts inte­re­st rates of bonds with dif­fe­rent matu­ri­ties.
IT: Un gra­fi­co che trac­cia i tas­si di inte­res­se di obbli­ga­zio­ni con diver­se scadenze.
Yes-No Clas­si­fier
EN: A bina­ry clas­si­fier that out­pu­ts yes or no deci­sions.
IT: Un clas­si­fi­ca­to­re bina­rio che resti­tui­sce deci­sio­ni di sì o no.
Y‑intercept
EN: The point whe­re a line cros­ses the y‑axis in a gra­ph.
IT: Il pun­to in cui una linea attra­ver­sa l’as­se y in un grafico.

Z

Z‑score
EN: A sta­ti­sti­cal mea­su­re that descri­bes a value’s rela­tion to the mean of a group of values.
IT: Una misu­ra sta­ti­sti­ca che descri­ve la rela­zio­ne di un valo­re rispet­to alla media di un grup­po di valori.
Zero-Sum Game
EN: A situa­tion whe­re one par­ti­ci­pan­t’s gain is equi­va­lent to ano­the­r’s loss.
IT: Una situa­zio­ne in cui il gua­da­gno di un par­te­ci­pan­te è equi­va­len­te alla per­di­ta di un altro.
Zip­f’s Law
EN: An empi­ri­cal law sta­ting that the fre­quen­cy of a word is inver­se­ly pro­por­tio­nal to its rank in a fre­quen­cy table.
IT: Una leg­ge empi­ri­ca che affer­ma che la fre­quen­za di una paro­la è inver­sa­men­te pro­por­zio­na­le al suo ran­go in una tabel­la di frequenza.
Z‑Transform
EN: A mathe­ma­ti­cal tool used in signal pro­ces­sing and con­trol systems.
IT: Uno stru­men­to mate­ma­ti­co uti­liz­za­to nel­l’e­la­bo­ra­zio­ne del segna­le e nei siste­mi di controllo.
Zero Pad­ding
EN: A tech­ni­que in con­vo­lu­tio­nal neu­ral net­works to pre­ser­ve the spa­tial dimen­sions of input data.
IT: Una tec­ni­ca nel­le reti neu­ra­li con­vo­lu­zio­na­li per pre­ser­va­re le dimen­sio­ni spa­zia­li dei dati di input.

Design and Mathematical Analysis of Chiral Optical Fibers for Generating Spin and Orbital Angular Momentum

Abstract. This study presents a detailed theoretical analysis of chiral fibers, focusing on their unique helical core structure and its implications for mode coupling. Chiral fibers are distinguished by their twisted cores, which follow a helical path inside the cladding. The research applies mode-coupling theory under weak guidance to analyze the interactions between linearly polarized modes (LP modes) in the two-mode regime. By introducing periodic perturbations, the study demonstrates efficient power exchange and phase matching between modes, highlighting the coupling mechanisms facilitated by the fiber's chirality. Key findings include the derivation of coupled-mode equations and their solutions, which describe the behavior of the transverse electric field components and the influence of refractive index variations. The analysis further reveals the generation of paired higher-order modes carrying spin angular momentum (SAM) and orbital angular momentum (OAM), with specific phase differences of π/2. The SAM arises from the orthogonality of the electric field components, while the OAM is attributed to the azimuthal phase dependence of the light. Additionally, the study discusses the conversion of the fundamental HE11 mode into combinations of TE01 and TM01 modes under circularly polarized excitation with opposite handedness to the fiber helix. These results emphasize the potential of chiral fibers in enabling advanced photonic applications, such as mode manipulation and angular momentum encoding in optical systems.

Theoretical Analysis

A chiral fiber is a spun eccentric core fiber, in which the twist pitches are less than 1 mm. Since in a fiber there is always an eccentricity between core and cladding, then when the fiber is twisted, its core follows a helical path inside the cladding. A chiral fiber is almost a standard fiber except that its core follows a helical path in the cladding. Thus, this helical core can be considered as a deformation of a straight round core and it is possible to apply the theory of mode-coupling in the presence of helical core to the study of modes in twisted fibers.

Assuming weak-guidance, we use linearly polarized modes ( LP ). In the so-called two-mode regime, there are actually six linearly polarized modes that may exist in the fiber. By using the conventional notation, we designate these modes as LP 01 x , LP 01 y , LP 11 xe , LP 11 xo , LP 11 ye , LP 11 yo . Namely according to the distribution of its electromagnetic fields, the LP 11 mode has four forms: x- and y-polarized fields with azimuthal variation of cos φ (two even modes) and sin φ (two odd modes) respectively.

In an straight ideal optical fiber, the LP 01 and LP 11 modes do not couple and thus not exchange power with each other. In order to provide the coupling between these two sets of modes, one may introduce an index perturbation along the fiber by periodic perturbation. The periodic perturbation causes the coupling between LP 01 and LP 11 modes and at the same time facilitates phase-matching between the two sets of modes so that efficient power exchange between them may be achieved. In a chiral fiber, if the offset of the eccentric core is very small compared with the core diameter, the perturbation of the dielectric constant in the core region can be expressed as:

Δ 𝜀 ( r , φ ) = ( n co 2 n cl 2 ) δ ( r r 0 ) d cos ( φ τ z )
(1)

where the twist rate τ = 2 π p ( p is the twist pitch), n co and n cl are refractive indices of the core and the cladding, respectively, z is the longitudinal coordinate variable of helical-core fiber, d is the offset, and r 0 is the equivalent radius, which is the zero order coefficient of the trigonometrical series of the eccentric core with a diameter of a and can be evaluated, numerically, solving:

r co ( φ , z ) = r 0 + d cos ( φ τ z )
(2)

where r co is the z-dependent distance of the core–cladding boundary from the center of the fiber. Eq. (2) is the lowest-order expansion (i.e. considering only the first coefficient r 1 = d ) of the core boundary profile r co ( φ , z ) for the chiral fiber expanded in harmonic functions:

r co ( φ , z ) = r 0 + n r n cos ( n φ n τ z )
(3)

The twist rate τ is assumed to be positive or negative for right- or left-handed helical structures, respectively.

Assume that the transverse electric field components of the perturbed fiber can be represented by a linear superposition of the LP modes of the unperturbed fiber

E t = q a q ( z ) exp ( j β q z ) e q ( r , φ ) = q A q ( z ) e q ( r , φ )
(4)

where the subscript q stands for the mode index of the LP modes and β q , e q ( r , φ ) are the propagation constants and the field patterns of the corresponding LP modes. A q ( z ) are the mode complex amplitude of LP modes. The envelopes of the mode amplitudes a q are z dependent as a result of the coupling among the modes. Note that the slowly varying in z expansion coefficients a q ( z ) are related to the rapidly varying expansion coefficients A q ( z ) by

A q ( z ) = a q ( z ) exp ( j β q z )
(5)

The coupled-mode equations for a q are derived by using (4) as a trial solution to the vector wave equation for the transverse electric fields of the perturbed fiber

{ 2 + n 2 ( r , φ , z ) k 2 } E t = t ( E t t ln n 2 )
(6)

and by making use of the scalar wave equations for the LP modes of the unperturbed fiber

{ t 2 + n ~ 2 ( r ) k 2 β q 2 } e q = 0
(7)

where n ~ is the refractive index of the unperturbed fiber.

In the two-mode regime, considering only the first six linear modes, Eq. (4) reduces to:

E t = l = [ 0 , 1 ] , μ = [ x , y ] , ν = [ e , o ] A l 1 μν ( z ) e l 1 μν ( r , φ )
(8)

where:

e l 1 μν ( r , φ ) = F l 1 ( r ) { cos l φ μ ^ ν = even sin l φ μ ^ ν = odd } (9)

Due to periodic perturbation (1) applied along the fiber, the LP 01 x mode may couple to the LP 11 xe and LP 11 xo while the coupling to LP 11 ye and LP 11 yo modes which have different polarization will not occur because the index perturbation is isotropic. In the same manner the LP 01 y mode may couple to the LP 11 ye and LP 11 yo . Therefore the pair of LP 01 modes couple with both the two pairs of even and odd modes and a separate treatment of coupled equations for even and odd modes is valid because there are no couplings between the even and the odd modes. According to conventional coupled mode theory, the coupling between the LP 01 modes and the even LP 11 modes can be described by the following coupled-mode equations:

d dz [ A 01 x A 01 y A 11 xe A 11 ye ] = [ j β 01 0 j C 1 0 0 j β 01 0 j C 2 j C 1 0 j β 11 0 0 j C 2 0 j β 11 ] [ A 01 x A 01 y A 11 xe A 11 ye ]
(10)

The coupling coefficients C 1 and C 2 can be expressed as:

C 1 = ω 𝜖 0 Δ 𝜀 ( r , φ ) e 01 x e 11 xe dS = C 2 = ω 𝜖 0 Δ 𝜀 ( r , φ ) e 01 y e 11 ye dS
(11)

Substituting Eq. (1) to Eq. (11) , we have

C 1 = C 2 = C cos ( τ z )
(12)

where

C = πω 𝜖 0 ( n co 2 n cl 2 ) r 0 d F 10 ( r 0 ) F 11 ( r 0 ) 4
(13)

Then, the coupled-mode equations for the pair of LP 01 modes and the pair of the even LP 11 modes is rewritten as

d dz [ A 01 x A 01 y A 11 xe A 11 ye ] = j [ β 01 0 C cos ( τ z ) 0 0 β 01 0 C cos ( τ z ) C cos ( τ z ) 0 β 11 0 0 C cos ( τ z ) 0 β 11 ] [ A 01 x A 01 y A 11 xe A 11 ye ]
(14)

The coupled-mode equations for the pair of LP 01 modes and the pair of the odd LP 11 have the same form as Eq. (8), except that

C 1 = ω 𝜖 0 Δ 𝜀 ( r , φ ) e 01 x e 11 xo dS = C 2 = ω 𝜖 0 Δ 𝜀 ( r , φ ) e 01 y e 11 yo dS = C sin ( τ z )
(15)

Therefore for odd modes we have

d dz [ A 01 x A 01 y A 11 xo A 11 yo ] = j [ β 01 0 C sin ( τ z ) 0 0 β 01 0 C sin ( τ z ) C sin ( τ z ) 0 β 11 0 0 C sin ( τ z ) 0 β 11 ] [ A 01 x A 01 y A 11 xe A 11 ye ]
(16)

From these two sets of coupled-mode equations, i.e, Eq. (14) and Eq. (16), x- and y-polarized modes are not coupled with each other. Thus, for both even and odd modes, we have two independent equation groups for the x- and y-polarized modes, respectively. The two equations groups for different polarizations also have the same forms. This means that light passing through the helical core fiber is polarization-independent. Then for an arbitrary polarization we have

d dz [ A 01 A 11 e ] = j [ β 01 C cos ( τ z ) C cos ( τ z ) β 11 ] [ A 01 A 11 e ]
(17)

for the even LP 11 mode, and

d dz [ A 01 A 11 o ] = j [ β 01 C sin ( τ z ) C sin ( τ z ) β 11 ] [ A 01 A 11 e ]
(18)

for the odd LP 11 mode.

Combining Eqs. (17) and (18) for an arbitrary polarization, we obtained the coupled-mode equation group, describing the coupling between the LP 01 and LP 11 modes with the same polarization state in a single-helix structure as

d dz [ A 01 A 11 e A 11 o ] = j [ β 01 C 2 cos ( τ z ) C 2 sin ( τ z ) C 2 cos ( τ z ) β 11 0 C 2 sin ( τ z ) 0 β 11 ] [ A 01 A 11 e A 11 o ]
(19)

Using a transformation of

A 11 + = A 11 e + j A 11 o 2
(20)

and

A 11 = A 11 e j A 11 o 2
(21)

Eq. (19) becomes

d dz [ A 01 A 11 + A 11 ] = j [ β 01 C 2 exp ( τ z ) C 2 exp ( jτ z ) C 2 exp ( j τ z ) β 11 0 C 2 exp ( j τ z ) 0 β 11 ] [ A 01 A 11 + A 11 ]
(22)

Pointing out that in the expression of the coefficients A q ( z ) given by (5), appears the exponential term exp ( j β q z ) , it follows that in the coupled-mode equation (22) will attend terms with exponential dependence of the type exp ( j ( β 01 β 11 + τ ) z ) (which multiplies A 11 + ) or exp ( j ( β 01 β 11 τ ) z ) (which multiplies A 11 ) in correspondence of the matrix elements containing exp ( jτ z ) or exp ( jτ z ) respectively.

For right-handed structure ( τ > 0 ) the phase matching condition is written as

β 01 β 11 τ = 0
(23)

and, therefore, the exp ( j ( β 01 β 11 τ ) z ) results in a synchronous driving term (i.e., one with a zero exponent) while the contribution of exp ( j ( β 01 β 11 + τ ) z ) is negligible.

Conversely, for left-handed structure ( τ < 0 ) the phase matching condition is written as

β 01 β 11 + τ = 0
(24)

and, therefore, only the exp ( j ( β 01 β 11 + τ ) z ) is synchronous while exp ( j ( β 01 β 11 τ ) z ) is negligible.

Hence under phase matching condition, keeping only the synchronous term, the Eq. (22) can be further reduced to a 2 × 2 matrix equation expressed as

d dz [ A 01 A 11 ] = j [ β 01 C 2 exp ( jτ z ) C 2 exp ( jτ z ) β 11 ] [ A 01 A 11 ]
(25)

for a right-handed structure, and as

d dz [ A 01 A 11 + ] = j [ β 01 C 2 exp ( jτ z ) C 2 exp ( jτ z ) β 11 ] [ A 01 A 11 + ]
(26)

for left-handed structure. This implies that different forms of LP 11 modes are coupled out for different handed structure.

When the initial conditions are A 01 = 1 and A 11 + = A 11 = 0 at the input end ( z = 0 ), Eq. (25) and (26) can be solved when the phase matching condition (23) and (24) are satisfied, and since τ is equal in absolute value in the two systems of differential equations (25) and (26) but has opposite sign, the two systems are formally identical, and then

A 01 ( z ) = cos ( C 2 z ) exp ( j β 01 z )
(27)

A 11 + ( z ) = A 11 ( z ) = j sin ( C 2 z ) exp ( j β 11 z )
(28)

recalling the transformations (20) and (21), we obtain

for right handed helix : { A 11 e ( z ) = j 2 2 sin ( C 2 z ) exp ( j β 11 z ) A 11 o ( z ) = 2 2 sin ( C 2 z ) exp ( j β 11 z )
(29)

for left handed helix : { A 11 e ( z ) = j 2 2 sin ( C 2 z ) exp ( j β 11 z ) A 11 o ( z ) = 2 2 sin ( C 2 z ) exp ( j β 11 z )
(30)

It follows

{ A 11 o ( z ) = j A 11 e ( z ) for right handed helix A 11 o ( z ) = j A 11 e ( z ) for left handed helix
(31)

The fixed phase relationship in (31) imply that the superpositions of LP 11 o and LP 11 e modes are eigenmodes of the perturbed fiber.

Defining

A 11 ( z ) : = j sin ( C 2 z ) exp ( j β 11 z )
(32)

we can rewritten Eq. (29) and (30) as

{ A 11 e ( z ) = A 11 ( z ) , A 11 o ( z ) = j A 11 ( z ) for right handed helix A 11 e ( z ) = A 11 ( z ) , A 11 o ( z ) = j A 11 ( z ) for left handed helix
(33)

By considering the interaction of a right (left) circularly polarizes LP P 01 mode field e 01 r , l and similarly polarized LP 11 mode fields e 11 er , l and e 11 or , l , we can rewrite (8) obtaining the transverse electric field

E t r , l = A 01 ( z ) e 01 r , l ( r , φ ) + A 11 e r , l ( z ) e 11 e r , l ( r , φ ) + A 11 o r , l ( z ) e 11 o r , l ( r , φ )
(34)

for the polarization independence of the single helix chiral fiber we have A 11 e r , l = A 11 e and A 11 o r , l = A 11 o

Substituting (33) in (34) we obtain

E t r , l = A 01 ( z ) e 01 r , l ( r , φ ) + A 11 ( z ) e 11 e r , l ( r , φ ) j A 11 ( z ) e 11 o r , l ( r , φ )
(35)

where the and + in Eq. (35) correspond to right- and left-handed structure respectively.

Observing that A 01 ( z ) and A 11 ( z ) vary as a function respectively of the sine and cosine of z , a total power transfer periodically occurs between the fundamental mode LP 01 = A 01 ( z ) e 01 r , l ( r , φ ) and the LP 11 = A 11 ( z ) e 11 e r , l ( r , φ ) j A 11 ( z ) e 11 o r , l ( r , φ ) mode. The optical power in the modes is, indeed, given by

| A 01 | 2 = cos 2 ( C 2 z ) (36) | A 11 e | 2 = | A 11 o | 2 = | A 11 | 2 = sin 2 ( C 2 z ) (37)

For complete transfer of energy from the LP 01 mode to the LP 11 mode, the interaction length, i.e. the length of the twisted core, has to be an odd multiple of the coupling length

L c = π 2 1 C .
(38)

We derive, now, the modes coupled out from the chiral fiber. From (9) we have

e 11 o r , l ( r , φ ) = F 11 ( r ) cos φ ( x ^ j y ^ ) (39) e 11 e r , l ( r , φ ) = F 11 ( r ) sin φ ( x ^ j y ^ ) (40)

where the and + in Eq. (39) and (40) correspond to right- and left-polarization, respectively. Combining Eq.(35),( 39 ) and (40), we obtain that the following different forms of LP 11 modes are coupled out from right - or left-handed structures when right- or left-circularly polarized light beam illuminates the chiral fiber

for right handed helix : { A 11 ( z ) F 11 ( r ) ( cos φ j sin φ ) ( x ^ j y ^ ) right circularly polarized light A 11 ( z ) F 11 ( r ) ( cos φ j sin φ ) ( x ^ + j y ^ ) left circularly polarized light
(41)

for left handed helix : { A 11 ( z ) F 11 ( r ) ( cos φ + j sin φ ) ( x ^ j y ^ ) right circularly polarized light A 11 ( z ) F 11 ( r ) ( cos φ + j sin φ ) ( x ^ + j y ^ ) left circularly polarized light
(42)

To analyze the type of modes coupled out from the chiral fiber, it is more convenient to introduce a so-called vortex basis set

V 11 + ( r , φ ) = def ( HE 11 x + j HE 11 y ) 2 = ( x ^ + j y ^ ) F 01 2 (43) V 11 ( r , φ ) = def ( HE 11 x j HE 11 y ) 2 = ( x ^ j y ^ ) F 01 2 (44) V 21 + ( r , φ ) = def ( HE 21 e + j HE 21 o ) 2 = exp ( j φ ) ( x ^ + j y ^ ) F 11 2 (45) V 21 ( r , φ ) = def ( HE 21 e j HE 21 o ) 2 = exp ( j φ ) ( x ^ j y ^ ) F 11 2 (46) V T + ( r , φ ) = def ( TM 01 j TE 01 ) 2 = exp ( j φ ) ( x ^ + j y ^ ) F 11 2 (47) V T ( r , φ ) = def ( TM 01 + j TE 01 ) 2 = exp ( j φ ) ( x ^ j y ^ ) F 11 2 (48)

where we have used the fact that the vector modes may be accurately expressed as linear combinations of LP modes through the weak guidance approximation. Neglecting the proportional factors, the results can be summarized in the table below

right-handed helix left-handed helix
right cp light beam: V 11 V 21 V T
left cp light beam: V 11 + V T + V 21 +

Conclusions

Therefore a single device, i.e. a chiral fiber with a pitch chosen in order to satisfy the phase matching condition and a length of the twisted core designed to be an odd multiple of the coupling length (38), illuminated to one or the other end (left or right handed helix) by circularly polarized light (left or right), is able to produce in output all the elements of the vortex basis. Indeed we obtain pairs of first higher order modes, with a π 2 phase difference between them, that carry both spin angular momentum (SAM) and orbital angular momentum (OAM). The SAM arises due to the orthogonality of the electric fields of these paired modes, while the OAM arises from the azimuthal phase dependence of the beam. It can be shown that a combination of HE 21 e and HE 21 o modes with ± π 2 phase shift between them carries one of SAM and one of OAM per photon so that the total angular momentum per photon in these modes is 2 . A pair of TE 01 and TM 01 modes with ± π 2 phase shift between them carries the same magnitude of SAM and OAM as the HE 21 , but with the SAM and OAM having opposing signs, making the total angular momentum equal to zero.

Furthermore we observe that when a circularly polarized light beam with polarization opposite to the helix handedness illuminates the input end of the chiral fiber, the fundamental HE 11 fiber mode is converted into an in-phase combination of TE 01 and TM 01 modes ( V T + or V T ) , i.e. a set of a azimuthal and radial cylindrical vector beams.

Un Metodo di Fattorizzazione per il Polinomio Quadratico: (ax + t_1)(x + \frac{t_2}{a})

Introduzione

Nel cam­po del­l’al­ge­bra, uno degli stru­men­ti più uti­li è la fat­to­riz­za­zio­ne dei poli­no­mi. In par­ti­co­la­re, la fat­to­riz­za­zio­ne di un poli­no­mio qua­dra­ti­co ax^2+bx+c è un pro­ces­so che con­sen­te di espri­me­re il poli­no­mio come pro­dot­to di due bino­mi linea­ri. Tra­di­zio­nal­men­te, que­sto avvie­ne tra­mi­te le for­mu­le di Viè­te, che col­le­ga­no i coef­fi­cien­ti del poli­no­mio alle radi­ci del­la sua equa­zio­ne associata.

Tut­ta­via, esi­ste una for­ma meno comu­ne di fat­to­riz­za­zio­ne, che può esse­re uti­le in con­te­sti spe­ci­fi­ci, ed è la fat­to­riz­za­zio­ne nel­la for­ma: (ax + t_1)(x + \frac{t_2}{a})

Dove t_1 e t_2 sod­di­sfa­no le con­di­zio­ni seguenti:

  • t_1 + t_2 = b
  • t_1 \cdot t_2 = a \cdot c

Que­sta for­ma di fat­to­riz­za­zio­ne non è ampia­men­te trat­ta­ta nei testi di alge­bra stan­dard. Esa­mi­nia­mo come e per­ché que­sta for­ma è valida.

La Fattorizzazione di un Polinomio Quadratico: Rivediamo le Basi

Par­tia­mo da un poli­no­mio qua­dra­ti­co stan­dard:  P(x) = ax^2+bx+c .

Secon­do il teo­re­ma di Viè­te, sap­pia­mo che per un poli­no­mio del­la for­ma P(x)=ax^2+bx+c, le radi­ci (det­te anche zeri del poli­no­mio) z_1 e z_2 sono lega­te ai coef­fi­cien­ti dal seguen­te sistema:

  • z_1 + z_2 = -\frac{b}{a}
  • z_1 \cdot z_2 = \frac{c}{a}

Que­ste equa­zio­ni col­le­ga­no le radi­ci z_1 e z_2 ai coef­fi­cien­ti del poli­no­mio e il poli­no­mio è fat­to­riz­za­bi­le in P(x) = a (x‑z_1)(x‑z_2)

La Fattorizzazione Alternativa: (ax + t_1)(x + \frac{t_2}{a})

Sup­po­nia­mo ora di ave­re un poli­no­mio qua­dra­ti­co P(x)=ax^2+bx+c, e voglia­mo pro­va­re a scom­por­lo in una for­ma che coin­vol­ga i ter­mi­ni ax + t_1 e ax + \frac{t_2}{a}. La for­ma pro­po­sta è: (ax + t_1)(x + \frac{t_2}{a})

Espan­den­do que­sta espres­sio­ne: (ax+t_1)(x+\frac{t_2}{a}) = ax^2 + t_2x + t_1x + \frac{t_1 t_2}{a}

Rag­grup­pan­do i ter­mi­ni: ax^2 + (t_1 + t_2) x + \frac{t_1 t_2}{a}.

Condizioni da soddisfare

Per­ché que­sta fat­to­riz­za­zio­ne sia vali­da, dob­bia­mo far cor­ri­spon­de­re i ter­mi­ni con quel­li del poli­no­mio ori­gi­na­le ax^2+bx+c . In particolare:

  • il ter­mi­ne qua­dra­ti­co ax^2 è già corretto;
  • il ter­mi­ne linea­re deve sod­di­sfa­re la con­di­zio­ne t_1+t_2=b ;
  • il ter­mi­ne costan­te deve esse­re ugua­le a c, cioè \frac{t_1 t_2}{a}=c che impli­ca  t_1 \cdot t_2 = a \cdot c 

Quin­di, devo­no esse­re sod­di­sfat­te le seguen­ti condizioni:

  • t_1 + t_2 = b
  • t_1 \cdot t_2 = a \cdot c

Applicazione Pratica

Que­sto meto­do di fat­to­riz­za­zio­ne potreb­be esse­re uti­le in con­te­sti in cui t_1 e t_2 sono facil­men­te cal­co­la­bi­li risol­ven­do il siste­ma di con­di­zio­ni visto o quan­do si desi­de­ra uti­liz­za­re una for­ma alter­na­ti­va per faci­li­ta­re cal­co­li suc­ces­si­vi. Seb­be­ne que­sta for­ma non sia la più comu­ne nel­le trat­ta­zio­ni teo­ri­che gene­ra­li, può risul­ta­re par­ti­co­lar­men­te uti­le in spe­ci­fi­che applicazioni.

Conclusione

La fat­to­riz­za­zio­ne nel­la for­ma (ax + t_1)(x + \frac{t_2}{a}) è un meto­do vali­do per scri­ve­re il poli­no­mio qua­dra­ti­co ax^2 + bx + c in ter­mi­ni di pro­dot­to di bino­mi linea­ri, sot­to le con­di­zio­ni par­ti­co­la­ri che t_1 + t_2 = b e t_1⋅t_2 = a \cdot c . Seb­be­ne non sia una for­ma cano­ni­ca di fat­to­riz­za­zio­ne, rap­pre­sen­ta una varian­te inte­res­san­te che può esse­re uti­liz­za­ta in situa­zio­ni specifiche.

Generare una sequenza di numeri a partire dalla loro media

immagine_numeri

Introduzione

Il problema che voglio affrontare è generare una sequenza di k numeri, (x_1,x_2, ... x_k), nota che sia la loro media aritmetica {M}. Ciò può tornare utile, ad esempio, nel caso in cui si abbia la necessità di effettuare simulazioni di votazioni, graduatorie etc. L'obiettivo è, quindi, trovare un metodo, che non richieda necessariamente l'uso di un calcolatore, per generare k voti o punteggi  che abbiano come media un valore M pre-assegnato.
Matematicamente si tratta di risolvere l'equazione lineare: \begin{aligned} x_1+x_2+...+ x_k&=k\cdot M=n \end{aligned} \tag{1} 

Senza perdita di generalità possiamo pensare alle sole soluzioni intere non negative dell'equazione. I voti, infatti, sono espressi, con numeri naturali o al più con numeri decimali con parte decimale in centesimi o millesimi e quindi l'equazione (1) è o, nel caso si ricorra a numeri decimali, può essere ricondotta (moltiplicando ambo i membri per 100 o per 1000) a un'equazione a variabili naturali.

 

Prima digressione matematica

L'equazione lineare a variabili naturali (1) è un'equazione lineare diofantea: le variabili x_1, x_2, ..., x_k e il termine noto n sono numeri naturali. Una soluzione dell’equazione è una k−upla di numeri naturali (p_1, p_2, ..., p_k) ∈ N^k che sostituiti ordinatamente alle variabili x_1, x_2, ..., x_k rendono l’equazione identicamente vera, ossia:
p_1 + p_2 + ... + p_k=n

e ciascuna componente p_i della quaterna soddisfa la condizione p_i ∈ \{0, 1, 2, 3, ..., n\}.

Il numero delle k-uple di interi non negativi che sono soluzioni dell’equazione diofantea (1) è dato da: \begin{align}\binom{n+k-1}{k-1}&=\binom{n+k-1}{n}\\&=\frac{(n+k-1)!}{n!\cdot(k-1)!} \end{align} \tag{2}

Più avanti sarà fornita una semplice spiegazione della formula (2).

Simulazione di un concorso

Supponiamo di voler simulare la graduatoria di un concorso. Sia P_M il punteggio finale in base al quale sarà stilata la graduatoria. Immaginiamo che nel concorso reale il punteggio finale P_M sia calcolato come media dei punteggi ottenuti in quattro distinte prove (A, B, C e D) per ciascuna delle quali è attribuito al concorrente un punteggio parziale (P_A, P_B, P_C, P_D ) compreso fra 0 e 30 (ammettiamo che i punteggi siano espressi con numeri decimali con parte decimale in centesimi, es. 28,70).

La nostra simulazione consiste in un'inversione del procedimento concorsuale e cioè, stabilito a priori il punteggio finale P_M da assegnare al concorrente, vogliamo generare delle quaterne (P_A, P_B, P_C, P_D), costituite dai punteggi parziali di ciascuna prova, la cui media esatta (cioè senza troncamenti o arrotondamenti) sia pari al punteggio finale P_M.

Esempio pratico

Ad esempio scegliamo come punteggio finale 28{,}86.

L'equazione (1) in questo caso diventa:

\begin{aligned}P_A+P_B+ P_C+P_D&=4 \cdot P_M \\ &=4\cdot28{,}86 \\ &=115{,}44 \end{aligned} \tag{3}

L'equazione (3) ci dice che qualunque quaterna di punteggi parziali tali che la loro somma sia pari a 115{,}44 soddisfa il requisito della media.

Per ricondurci a un'equazione a variabili naturali moltiplichiamo ambo i lati dell'equazione per 100:
\begin{aligned} P'_A+P'_B+P'_C+P'_D=11544 \end{aligned} \tag{3} dove P'_i=100\cdot P_i  per i=A,B,C,D sono numeri naturali che possono assumere un valore compreso fra 0 e 3000.

L'equazione lineare a variabili naturali (3) può essere vista come un problema di partizione di un intero (trovare cioè 4 numeri interi non negativi la cui somma sia pari a 11544, soggetti al vincolo P'_i \le 3000 ) o in termini di ripartire 11544 biglie in 4 contenitori o ancora come i possibili lanci di 4 dadi (con 3001 facce, da zero a 3000) la cui somma sia pari a 11544. Il numero delle soluzioni può essere calcolato ricorrendo al calcolo combinatorio e le soluzioni possono essere determinate ricorrendo ad algoritmi combinatori e ricorsivi. Ciò tuttavia non è lo scopo di questo articolo. A noi serve un metodo pratico da poter gestire anche manualmente.

Osserviamo, dunque, che una soluzione "banale" del problema è scegliere come punteggi parziali proprio la media voluta, cioè porre P_A=P_B=P_C=P_D=P_M=28{,}86

Possiamo rappresentare questa situazione pensando alle prove come a dei contenitori e ai punteggi di ciascuna prova come a delle biglie contenute nei contenitori (v. fig.1).

figura 1

Per comodità è utile ragionare con numeri interi (moltiplichiamo cioè per cento): 28{,}86 punti per noi corrispondono a 2886 biglie (in altre parole ciascun centesimo di punto corrisponde a una biglia).

Con in riferimento alla figura 1 è chiaro che possiamo spostare le biglie da un contenitore all'altro e cambiare, così, il punteggio parziale attribuito alle prove A, B, C e D  senza che ciò modifichi il numero totale di biglie, cioè mantenendo invariata la media delle biglie nei quattro contenitori. Spostando le biglie posso pertanto abbassare o incrementare il punteggio di una prova rispetto alla media.

Possiamo procedere in questo modo: estraiamo dai contenitori un certo numero di biglie e per semplicità estraiamo da ogni contenitore lo stesso numero di biglie. Se ad esempio togliamo da ciascun contenitore 2 biglie si presenterà la situazione raffigurata in figura 2.

figura 2
figura 2

Così facendo avrò tolto dai contenitori 8 biglie (v. fig.3) e quindi avrò a disposizione 8 punti da distribuire a piacimento nei quattro contenitori.

figura 3
figura 3

Se ad es. ridistribuiamo le otto biglie mettendone una nel contenitore A, una nel contenitore B, due nel contenitore C e quattro nel contenitore D, la situazione sarà quella raffigurata in figura 4.

In questo modo avremo una nuova quaterna di punteggi parziali P_A=28{,}85, P_B=28{,}85, P_C=28{,}86 e P_D=28{,}88 mentre il punteggio finale, cioè la media dei punteggi, legata alla somma delle biglie che rimane invariata, si manterrà uguale a P_M=(28{,}85+28{,}85+28{,}86+28{,}88):4=11544:4=28{,}86.

figura 4
figura 4

Considerazioni

Facciamo alcune riflessioni:

  1. dall'esempio è chiaro che posso generare quaterne diverse dei punteggi parziali semplicemente distribuendo in modo diverso le 8 biglie fra i 4 contenitori;
  2. il numero di biglie che all'inizio del procedimento estraggo da ciascun contenitore fissa il punteggio parziale minimo, P_{min}. Prima ho estratto 2 biglie da ciascun contenitore, per cui se successivamente nel ridistribuire le 8 biglie non mettessi in uno dei contenitori, ad es. A, nessuna delle 8 biglie, il punteggio P_A sarebbe il più basso dei punteggi e sarebbe pari a 28{,}84. Ribaltando il ragionamento si evince che il numero delle biglie da togliere da ciascun contenitore lo posso scegliere in funzione del punteggio parziale minimo che voglio avere;
  3. più biglie tolgo e maggiore sarà la possibilità di aumentare la variabilità della quaterna dei punteggi parziali, nel senso che potrò ottenere scarti maggiori fra i punteggi parziali e la media;
  4. per calcolare le varie quaterne dei punteggi parziali basta porre l'attenzione sulle biglie estratte da ridistribuire: tutti i modi diversi in cui riesco a distribuire le 8 biglie nei quattro contenitori, daranno vita a quaterne di punteggi parziali la cui media sarà sempre la stessa. Matematicamente i possibili modi in cui posso ridistribuire le 8 biglie saranno la soluzione dell'equazione:  \begin{aligned} x_1+x_2+x_3+x_4=8 \end{aligned} \tag{4} con x_i per i=1,2,3,4 interi non negativi, cioè x_i \in [0..8] ; l'equazione (4) è un caso particolare dell'equazione generale (1) con k=4 e n=8;  
  5. i punteggi parziali (P_A, P_B, P_C, P_D) si ottengono sommando al punteggio minimo P_{min} le soluzioni dell'equazione (4), cioè: \begin{aligned} P_j=P_{min}+x_i \end{aligned} per i=1,2,3,4 e j=A,B,C,D. Possiamo rappresentare il nostro esempio in forma tabellare (si potrà ricorrere per praticità anche ad un foglio di calcolo).
P_AP_BP_CP_D
P_{min}28,8428,8428,8428,84
QUATERNA1224
P_{min} + QUATERNA28,8528,8628,8628,88

Al cuore del problema

Il nocciolo del problema è, pertanto, determinare le soluzioni dell'equazione (4) ovverosia trovare i modi in cui possiamo ottenere il numero 8 sommando quattro numeri interi non negativi o, in latri termini, determinare i modi in cui posso distribuire le 8 biglie nei 4 contenitori. Per fare ciò possiamo ricorrere a un ausilio grafico conosciuto in matematica combinatoria come metodo "palline e barre" (chiamato anche "bastoni e pietre", "stelle e barre"  e "punti e divisori").

Mettiamo in fila le nostre otto biglie e per rappresentare la ripartizione "iniziale" nei quattro contenitori, utilizziamo 3 barre interposte alle biglie come in figura 5. Si noti che il numero di biglie da utilizzare è pari al numero di biglie estratte dai contenitori (nel nostro esempio n=8) mentre il numero di barre necessarie è pari al numero dei contenitori meno uno, (k-1=4-1=3).

La figura 5 mostra la rappresentazione tramite biglie e barre  della quaterna (2, 2, 2, 2) che sommata a P_{min} porta, come detto in precedenza, alla soluzione "banale" in cui i punteggi parziali sono pari al punteggio finale.

 

figura 5

Con in mente la fig. 5 è facile comprendere che i possibili modi di ripartire le otto biglie nei quattro contenitori, si possono facilmente ottenere spostando la posizione delle barre. Spostiamo ad esempio l'ultima barra fra le prime due biglie (v. fig. 6). 

figura 6

Il risultato sarà quello mostrato in fig. 7 che corrisponde alla quaterna (1, 1, 2, 4) ovverosia alla ridistribuzione delle biglie che realizza la configurazione finale già vista in fig. 4. 

figura 7

Abbiamo, così, a disposizione un metodo facile, grafico e pratico per ottenere tutte le possibili quaterne. In altre parole le soluzioni dell'equazione (4) si ottengono spostando le barre e ponendo x_1 uguale al numero di palline prima della prima barra, x_2  uguale al numero di palline fra la prima e la seconda barra, x_3 uguale al numero di palline fra la seconda e la terza barra e infine x_4 uguale al numero di palline dopo l'ultima barra.

Con questo metodo spostando opportunamente le barre è possibile generare anche quaterne contenenti lo zero. Per comodità sostituiamo le biglie con delle stelle. Possiamo ad esempio generare le seguenti quaterne:

\begin{aligned}|★★|★★★★|★★ \iff (0, 2, 4, 2) \end{aligned}

\begin{aligned} |★★||★★★★★★ \iff (0, 2, 0, 6) \end{aligned}    

Seconda digressione matematica

Il numero di possibili quaterne è dato dalla formula (2) sostituendo  n=8 e k=4:

 

\binom{8+4-1}{4-1}=\binom{11}{3}=\frac{11!}{8!\cdot3!}=\frac{9\cdot10\cdot11}{6}=165

 

Il metodo delle stelle e delle barre ci fornisce anche una facile spiegazione della formula (2). Se infatti pensiamo all'insieme delle otto stelle e delle tre sbarre come a undici possibili differenti posizioni (v. fig. 8)  occupabili da tre indistinguibili barre (o da otto indistinguibili stelle) si comprende che il numero delle quaterne è pari ai modi in cui posso combinare le tre barre negli undici posti (o le otto stelle negli undici posti), cioè al numero delle combinazioni semplici di 11 elementi di classe 3 (o di 11 elementi di classe 8) che è pari a \binom{11}{3}=165 (o \binom{11}{8}=165). Generalizzando, poiché il numero di posizioni è pari a n+k-1 (come detto in precedenza le stelle sono n e le barre sono k-1) e il numero di barre è k-1 (o il numero di stelle è pari a n) si ottiene la formula (2). 

figura 8

Allarghiamo  l'orizzonte

E se nel nostro ipotetico concorso reale anche i punteggi parziali P_A, P_B, P_C, P_D fossero delle medie, ottenute ad es. dalla media dei voti attribuiti per ciascuna delle quattro prove da un numero l di commissari? Come facciamo a simulare i voti di ciascun commissario? 
Con lo stesso ragionamento portato avanti per la simulazione dei punteggi parziali, basta partire dal valore del punteggio parziale, es. P_A, prendere in considerazione tanti contenitori quanti sono i commissari, estrarre da ciascun contenitore un prefissato numero di biglie e ridistribuire le biglie estratte col metodo delle stelle e delle barre.
Per chiarire riprendiamo l'esempio di prima. Supponiamo che i commissari siano sette (cioè l=7 ) e che si voglia simulare il loro voto: vogliamo cioè ottenere una sequenza di 7 voti, una settina,  la cui media sia pari a P_A=28{,}85. In analogia a quanto detto prima, possiamo immaginare di avere 7 contenitori in ognuno dei quali ci sono 2885 biglie (moltiplichiamo per cento per poter lavorare con interi). Scegliamo di estrarre da ciascun contenitore tre biglie. Ciò, se ricordate, equivale a fissare un voto minimo pari a 28{,}82 (poiché 2885-3=2882). Avremo così a disposizione 7 \times 3=21 biglie da ripartire col metodo delle stelle (che ricordiamo saranno pari al numero delle biglie) e delle barre (che saranno pari a sei, cioè al numero dei commissari meno uno).  Qualunque disposizione delle barre darà vita ad una settina valida. Una settina interessante è quella che si ottiene incrementando di una biglia alla volta il numero di biglie da rimettere nei contenitori: partendo ad es. da sinistra e muovendosi verso destra, immaginiamo di mettere zero biglie nel primo contenitore, una nel secondo, due nel terzo, ... sei nel settimo contenitore. Col metodo delle stelle e delle barre si ottiene la seguente configurazione:

\begin{aligned}|★|★★|★★★|★★★★|★★★★★|★★★★★★  \end{aligned}

che equivale alla settina (0, 1, 2, 3, 4, 5, 6).

Ma perché è interessante? Per capirlo simuliamo i punteggi attribuiti dai sette commissari sommando al punteggio P_{A_{min}}=28{,}82 la settina. Ci serviamo, come prima, di una tabella. 

\bm{P_1}\bm {P_2} \bm{P_3} \bm{P_4} \bm{P_5} \bm{P_6} \bm {P_7}
P_{A_{min}}28,8228,8228,8228,8228,8228,8228,82
SETTINA0123456
Punteggi28,8228,8328,8428,8528,8628,8728,88
Scarti-3-2-10+1+2+3

L'ultima riga della tabella mostra gli scarti, ossia la differenza fra i punteggi di ciascun commissario e la media. Si può vedere che ad ogni punteggio superiore alla media (es. P_5) corrisponde un punteggio sotto la media (es. P_3) di scarto uguale in valore assoluto ma di segno opposto. In altri termini ridistribuire le biglie aggiungendo via via a ciascun contenitore una biglia in più, significa generare una sequenza di punteggi perfettamente simmetrica rispetto al punteggio centrale P_4=28{,}85 (che è pari alla media) dove ogni punteggio a sinistra è bilanciato da un corrispondente punteggio a destra.

Codice python

Ed ecco un programma in linguaggio python che simula la generazione di una graduatoria secondo l'algoritmo illustrato in precedenza.

				
					import random
# Funzione per generare una quaterna di punteggi
def genera_quaterna(punteggio_finale, punteggio_minimo):
    # Calcola il totale delle "biglie" (unità discrete) in base al punteggio finale
    totale_biglie = int(punteggio_finale * 400)
    # Calcola il valore minimo (base_min) in biglie per ogni elemento della quaterna
    base_min = int(punteggio_minimo * 100)
    # Determina quante biglie sono da redistribuire dopo aver assegnato il minimo a ciascun elemento
    biglie_da_redistribuire = totale_biglie - base_min * 4
    # Se il punteggio minimo richiede più biglie di quante disponibili, solleva un'eccezione
    if biglie_da_redistribuire < 0:
        raise ValueError("Il punteggio minimo è troppo alto rispetto al punteggio finale.")
    # Inizializza i punteggi con il valore minimo
    punteggi = [base_min] * 4
    # Redistribuisci le biglie rimanenti in modo casuale, rispettando il limite massimo di 30.00 punti
    while biglie_da_redistribuire > 0:
        indice = random.randint(0, 3)
        if punteggi[indice] + 1 <= 3000:  # Limite massimo in biglie (30 punti)
            punteggi[indice] += 1
            biglie_da_redistribuire -= 1

    # Converti i punteggi da biglie a valori decimali
    punteggi_decimali = [p / 100 for p in punteggi]
    # Calcola la media intera dei punteggi
    media_intera = sum(punteggi) / 4 / 100
    return punteggi_decimali, media_intera
# Funzione per generare una distribuzione casuale dei punteggi per un numero arbitrario di votanti
def genera_distribuzione_per_punteggio(punteggio, punteggio_minimo, num_votanti):
    # Calcola il totale delle biglie in base al punteggio e al numero di votanti
    totale_biglie = int(punteggio * 100 * num_votanti)
    base_min = int(punteggio_minimo * 100)
    biglie_da_redistribuire = totale_biglie - base_min * num_votanti
    # Controllo di validità: il punteggio minimo non deve superare il totale disponibile
    if biglie_da_redistribuire < 0:
        raise ValueError("Il punteggio minimo è troppo alto rispetto al punteggio finale.")
    # Inizializza la distribuzione con il valore minimo per ciascun votante
    distribuzione = [base_min] * num_votanti
    # Redistribuisci le biglie rimanenti in modo casuale
    while biglie_da_redistribuire > 0:
        indice = random.randint(0, num_votanti - 1)
        if distribuzione[indice] + 1 <= 3000:  # Limite massimo in biglie (30 punti)
            distribuzione[indice] += 1
            biglie_da_redistribuire -= 1
    # Restituisci la distribuzione come valori decimali
    return [d / 100 for d in distribuzione]
# Funzione per stampare una linea orizzontale di lunghezza specificata
def stampa_linea(lunghezza):
    print("-" * lunghezza)
# Inizio del programma: input da tastiera
try:
    # Input del numero di candidati
    n = int(input("Inserisci il numero di candidati da valutare: "))
    assert n > 0, "Il numero di candidati deve essere maggiore di 0."
    # Input del punteggio finale desiderato
    punteggio_finale = float(input("Inserisci il punteggio finale desiderato (P_M) compreso tra 0 e 30: "))
    assert 0 <= punteggio_finale <= 30, "Il punteggio finale deve essere compreso tra 0 e 30."
    # Input del punteggio minimo
    punteggio_minimo = float(input("Inserisci il punteggio minimo per ogni prova (compreso tra 0 e P_M): "))
    assert 0 <= punteggio_minimo <= punteggio_finale, "Il punteggio minimo deve essere compreso tra 0 e P_M."
    # Input del numero di votanti
    num_votanti = int(input("Inserisci il numero di votanti: "))
except ValueError:
    print("Errore: Inserisci numeri validi con un punto per i decimali (es. 28.86).")
    exit()
# Genera e stampa la distribuzione per ciascun candidato
try:
    # Determina la lunghezza della linea separatrice
    lunghezza_linea = 53 + 7 * num_votanti
    riga_index = 0
    # Stampa l'intestazione della tabella
    header = ["N.O.", "CANDIDATO         "] + [f" M{i+1:3} " for i in range(num_votanti)] + ["Somma  ", "Media ", "Punti |"]
    riga_intestazione = "| ".join(header)
    lunghezza_linea = max(lunghezza_linea, len(riga_intestazione))
    stampa_linea(lunghezza_linea)
    print(riga_intestazione)
    stampa_linea(lunghezza_linea)
    # Generazione della distribuzione per ciascun candidato
    for candidato in range(n):
        if candidato == 0:
            punteggio_corrente = punteggio_finale
            punteggio_minimo_corrente = punteggio_minimo
        else:
            # Calcola dinamicamente nuovi valori per il punteggio corrente e il minimo
            differenza = punteggio_finale - punteggio_minimo_corrente
            nuovo_punteggio_minimo = max(18, punteggio_finale - random.uniform(0.01, 0.05) - differenza)
            punteggio_corrente = max(18, punteggio_corrente - random.uniform(0.01, 0.05))
            punteggio_minimo_corrente = nuovo_punteggio_minimo
        # Genera la quaterna e la distribuzione
        quaterna, media_calcolata = genera_quaterna(punteggio_corrente, punteggio_minimo_corrente)

        for i, punteggio in enumerate(quaterna):
            riga_index += 1
            distribuzione = genera_distribuzione_per_punteggio(punteggio, punteggio_minimo_corrente, num_votanti)
            media_della_distribuzione = sum(distribuzione) / len(distribuzione)
            # Stampa una linea di separazione tra blocchi
            if riga_index == 1 or (riga_index - 1) % 4 == 0:
                stampa_linea(lunghezza_linea)
            # Stampa le righe dei punteggi
            if i == 0:
                riga = f"{candidato + 1:3} | Candidato {candidato + 1:3}   a)| {' | '.join([f'{d:.2f}' for d in distribuzione])} | {(int(sum(distribuzione) * 100) / 100):.2f} | {media_della_distribuzione:.2f} | {punteggio_corrente:.2f} |"
            else:
                riga = f"    |                 {chr(97 + i)})| {' | '.join([f'{d:.2f}' for d in distribuzione])} | {(int(sum(distribuzione) * 100) / 100):.2f} | {media_della_distribuzione:.2f} |       |"

            lunghezza_linea = max(lunghezza_linea, len(riga))
            print(riga)
    # Stampa l'ultima linea di separazione
    stampa_linea(lunghezza_linea)
except ValueError as e:
    print(f"Errore: {e}")
				
			

I titoli di Ingegnere e di Ingegnera

Introduzione

Con il ter­mi­ne inge­gne­re nell’uso cor­ren­te, è appel­la­to chiun­que sia lau­rea­to in inge­gne­ria. Come tito­lo e appel­la­ti­vo è usa­to di nor­ma nel­la for­ma maschi­le anche se rife­ri­to a don­na. Il fem­mi­ni­le rego­la­re di inge­gne­re, tut­ta­via, è inge­gne­ra, e così si può chia­ma­re una don­na che eser­ci­ti il mestie­re di inge­gne­re. Mol­ti pre­fe­ri­sco­no però chia­ma­re una don­na inge­gne­re, al maschi­le. Si trat­ta di una scel­ta che non ha basi lin­gui­sti­che ma sociologiche.

Nel­l’u­so cor­ren­te, quin­di, inge­gne­re è sino­ni­mo di lau­rea­to in inge­gne­ria ma si sa che soven­te ciò che è con­sue­tu­di­ne non è det­to sia cor­ret­to e se pro­via­mo a effet­tua­re una ricer­ca nei prin­ci­pa­li voca­bo­la­ri di lin­gua ita­lia­na tro­via­mo che inge­gne­re, dal pun­to di vista les­si­ca­le, è un nome deri­va­to da ‘inge­gno’ nel signi­fi­ca­to di ‘con­ge­gno, mec­ca­ni­smo’ e che la defi­ni­zio­ne più ricor­ren­te, è in sen­so stret­to: “chi, for­ni­to di lau­rea in inge­gne­ria e di abi­li­ta­zio­ne all’esercizio di tale pro­fes­sio­ne, pro­get­ta, orga­niz­za e diri­ge le costru­zio­ni .….”.
Sem­bre­reb­be, quin­di, che la lau­rea da sola non basti e che occor­ra anche l’a­bi­li­ta­zio­ne all’e­ser­ci­zio del­la professione.

Se, poi, appro­fon­dia­mo la ricer­ca e dia­mo uno sguar­do a Inter­net, si sco­pre che il tema è ogget­to di ampie e a vol­te acca­lo­ra­te discus­sio­ni e ci si imbat­te in chi sostie­ne che può dir­si inge­gne­re solo chi è iscrit­to ad uno degli Ordi­ni pro­vin­cia­li degli Ingegneri.

Chi può fre­giar­si, dun­que, del tito­lo di inge­gne­re o inge­gne­ra, chi è lau­rea­to, chi è abi­li­ta­to all’e­ser­ci­zio del­la pro­fes­sio­ne o chi è iscrit­to all’albo?”

Il concetto di titolo

Cos’è un tito­lo? In gene­ra­le un tito­lo o qua­li­fi­ca è l’ap­pel­la­ti­vo che spet­ta a una per­so­na per il suo gra­do, per gli stu­di com­piu­ti, per l’attività che eser­ci­ta, per meri­ti par­ti­co­la­ri: tito­lo mili­ta­re (gene­ra­le, colon­nel­lo, capi­ta­no), tito­lo acca­de­mi­co (dot­to­re in, pro­fes­so­re), caval­le­re­sco (cava­lie­re del­la Repub­bli­ca, cava­lie­re del lavo­ro, cava­lie­re del sacro ordi­ne…), tito­lo pro­fes­sio­na­le (medi­co, avvo­ca­to, inge­gne­re), tito­lo nobi­lia­re (mar­che­se, prin­ci­pe, re);  e per esten­sio­ne, con tito­lo si inten­de anche ogni docu­men­to che com­pro­vi il dirit­to a rice­ve­re un deter­mi­na­to appellativo.

Il rila­scio e l’u­so di tito­li è rego­la­to dal­la L. 13 mar­zo 1958, n. 262 rubri­ca­ta “Con­fe­ri­men­to ed uso di tito­li acca­de­mi­ci, pro­fes­sio­na­li e simi­li”. L’ar­ti­co­lo 1 reci­ta: «Le qua­li­fi­che acca­de­mi­che di dot­to­re, com­pre­sa quel­la hono­ris cau­sa, le qua­li­fi­che di carat­te­re pro­fes­sio­na­le, la qua­li­fi­ca di libe­ro docen­te pos­so­no esse­re con­fe­ri­te sol­tan­to con le moda­li­tà e nei casi indi­ca­ti dal­la leg­ge». E l’art.2: “Chiun­que fa uso, in qual­sia­si for­ma e moda­li­tà, del­la qua­li­fi­ca acca­de­mi­ca di dot­to­re com­pre­sa quel­la hono­ris cau­sa, di qua­li­fi­che di carat­te­re pro­fes­sio­na­le e del­la qua­li­fi­ca di libe­ro docen­te, otte­nu­te in con­tra­sto con quan­to sta­bi­li­to nel­l’ar­ti­co­lo 1, è puni­to con .…”.

Per­tan­to per rispon­de­re alla doman­da su chi pos­sa uti­liz­za­re il tito­lo pro­fes­sio­na­le di inge­gne­re occor­re veri­fi­ca­re a chi la leg­ge con­fe­ri­sce il tito­lo in argo­men­to. Segui­re­mo un ordi­ne cronologico.

Disciplina della professione di ingegnere

Inquadramento storico legislativo

La leg­ge isti­tu­ti­va del­la pro­fes­sio­ne di inge­gne­re (e di archi­tet­to) e del­l’Or­di­ne degli inge­gne­ri è la leg­ge 24 giu­gno 1923, n. 1395, “Tute­la del tito­lo e del­l’e­ser­ci­zio pro­fes­sio­na­le degli inge­gne­ri e degli archi­tet­ti” (tut­to­ra vigen­te). L’art.1 reci­ta: “Il tito­lo di inge­gne­re e quel­lo di archi­tet­to spet­ta­no esclu­si­va­men­te a colo­ro che han­no con­se­gui­to i rela­ti­vi diplo­mi degli isti­tu­ti di istru­zio­ne supe­rio­re auto­riz­za­ti per leg­ge a conferirli”.

Con l’en­tra­ta in vigo­re del prov­ve­di­men­to, per­tan­to, per poter uti­liz­za­re il tito­lo di Inge­gne­re era richie­sto il solo pos­ses­so del diplo­ma di inge­gne­re con­se­gui­to pres­so un isti­tu­to di istru­zio­ne supe­rio­re auto­riz­za­to per leg­ge a rila­sciar­lo. Con l’art.2 del­la cita­ta nor­ma inol­tre era isti­tui­to l’Or­di­ne degli inge­gne­ri costi­tui­to dagli iscrit­ti all’al­bo di ogni pro­vin­cia e con l’art. 3 veni­va sta­bi­li­to che “sono iscrit­ti nel­l’al­bo colo­ro ai qua­li spet­ta il tito­lo di cui all’art. 1, che godo­no del dirit­ti civi­li e non sono incor­si in alcu­na del­le con­dan­ne di cui…”. In altri ter­mi­ni non era richie­sta l’a­bi­li­ta­zio­ne per poter­si iscri­ve­re all’al­bo e l’u­ni­co requi­si­to per la “spen­di­ta” del tito­lo di inge­gne­re era il pos­ses­so del diplo­ma a pre­scin­de­re dal­l’i­scri­zio­ne o meno all’albo.

Si noti altre­sì che ini­zial­men­te (art.4) l’i­scri­zio­ne all’al­bo era pre­scrit­ta al solo effet­to del con­fe­ri­men­to di inca­ri­chi da par­te del­l’au­to­ri­tà giu­di­zia­ria e del­le pub­bli­che ammi­ni­stra­zio­ni e che solo con i prov­ve­di­men­ti legi­sla­ti­vi suc­ces­si­vi, l’i­scri­zio­ne all’al­bo diven­ta uno degli stru­men­ti attra­ver­so i qua­li si rea­liz­za la tute­la del­la pro­fes­sio­ne e si ren­de indi­spen­sa­bi­le in con­si­de­ra­zio­ne del pre­mi­nen­te inte­res­se che rive­ste per la col­let­ti­vi­tà l’ac­cer­ta­men­to dei requi­si­ti di capa­ci­tà e pre­pa­ra­zio­ne tec­ni­ca del professionista.

Nel set­tem­bre del 1923, a tre mesi cir­ca dal­la pub­bli­ca­zio­ne del­la leg­ge isti­tu­ti­va del­la pro­fes­sio­ne di inge­gne­re, veni­va ema­na­to il regio decre­to 30 set­tem­bre 1923, n. 2102, che mar­ca il con­fi­ne tra i tito­li acca­de­mi­ci e quel­li pro­fes­sio­na­li, intro­du­cen­do l’abi­li­ta­zio­ne all’e­ser­ci­zio del­la pro­fes­sio­ne. Il “Capo II — Dei tito­li acca­de­mi­ci e degli esa­mi di Sta­to” sta­bi­li­sce che “Le lau­ree e i diplo­mi con­fe­ri­ti dal­le uni­ver­si­tà e dagli isti­tu­ti han­no esclu­si­va­men­te valo­re di qua­li­fi­che acca­de­mi­che” (art. 4) e che “L’a­bi­li­ta­zio­ne all’e­ser­ci­zio pro­fes­sio­na­le e’ con­fe­ri­ta in segui­to ad esa­mi di Sta­to, cui sono ammes­si sol­tan­to colo­ro che abbia­no con­se­gui­to pres­so uni­ver­si­tà o isti­tu­ti … la lau­rea o il diplo­ma corrispondente.”.

Cir­ca tre mesi dopo, con il regio decre­to 31 dicem­bre 1923, n. 2909, “Dispo­si­zio­ni con­cer­nen­ti gli esa­mi di Sta­to” si sta­bi­li­va (art. 1) che per eser­ci­ta­re la pro­fes­sio­ne di inge­gne­re è neces­sa­rio supe­ra­re l’e­sa­me di Sta­to. E con il testo uni­co del­le leg­gi sul­l’i­stru­zio­ne supe­rio­re, regio decre­to 31 ago­sto 1933, n. 1592, si riba­di­va (art.172) che: “Le lau­ree e i diplo­mi con­fe­ri­ti dal­le Uni­ver­si­tà e dagli Isti­tu­ti supe­rio­ri han­no esclu­si­va­men­te valo­re di qua­li­fi­che acca­de­mi­che. L’a­bi­li­ta­zio­ne all’e­ser­ci­zio pro­fes­sio­na­le e’ con­fe­ri­ta in segui­to ad esa­mi di Stato…”.

Ne con­se­gue che da allo­ra in avan­ti il pos­ses­so del­la lau­rea (o diplo­ma) non è più suf­fi­cien­te per poter­si appel­la­re “inge­gne­re” poi­ché alla lau­rea è rico­no­sciu­to il valo­re di mero tito­lo acca­de­mi­co. Il tito­lo, inte­so come docu­men­to, che com­pro­va il dirit­to a rice­ve­re l’ap­pel­la­ti­vo di inge­gne­re, è l’abi­li­ta­zio­ne all’e­ser­ci­zio del­la pro­fes­sio­ne di inge­gne­re con­fe­ri­ta in segui­to ad esa­mi di stato. 

Per com­ple­tez­za dire­mo che alla leg­ge isti­tu­ti­va del­la pro­fes­sio­ne di inge­gne­re, seguì il rego­la­men­to appli­ca­ti­vo, appro­va­to con r.d. 23 otto­bre 1925, n. 2537, “Rego­la­men­to per le pro­fes­sio­ni di inge­gne­re e di archi­tet­to” che all’art. 4, richia­man­do la nor­ma­ti­va su cita­ta, pre­vi­de che “Per esse­re iscrit­to nel­l’al­bo occor­re aver supe­ra­to l’e­sa­me di Sta­to per l’e­ser­ci­zio del­la pro­fes­sio­ne di inge­gne­re e di archi­tet­to”. Suc­ces­si­va­men­te veni­va ema­na­ta la leg­ge 25 apri­le 1938, n. 897 che allo sco­po di con­se­gui­re una mag­gio­re tute­la del tito­lo e del­l’e­ser­ci­zio del­la pro­fes­sio­ne stes­sa, det­tò l’ob­bli­go del­l’i­scri­zio­ne agli albi per le pro­fes­sio­ni rego­la­men­ta­te. L’art.1 reci­ta cheGli inge­gne­ri, gli archi­tet­ti, i chi­mi­ci, i pro­fes­sio­ni­sti in mate­ria di eco­no­mia e com­mer­cio, gli agro­no­mi, i ragio­nie­ri, i geo­me­tri, i peri­ti agra­ri ed i peri­ti indu­stria­li, non pos­so­no eser­ci­ta­re la pro­fes­sio­ne se non sono iscrit­ti negli albi pro­fes­sio­na­li del­le rispet­ti­ve cate­go­rie a ter­mi­ni del­le dispo­si­zio­ni vigen­ti”.
Gli esa­mi di sta­to sospe­si nel 1944, furo­no riat­ti­va­ti con la leg­ge 8 dicem­bre 1956, n. 1378. 

Tor­nan­do alla que­stio­ne del tito­lo, pos­sia­mo rias­su­me­re affer­man­do che il tito­lo di inge­gne­re com­pe­te­va a colo­ro che supe­ra­to l’e­sa­me di Sta­to pre­vi­sto dal r.d. 31–8‑1933, n. 1592 e dal­la leg­ge 8-12-1956, n. 1378, con­se­gui­va­no l’a­bi­li­ta­zio­ne all’e­ser­ci­zio del­la pro­fes­sio­ne (cfr De San­tis, «Inge­gne­re e archi­tet­to» in “Novis­si­mo Dige­sto ita­lia­no”, diret­to da A. AZARA e E. EULA, vol. VIII, Tori­no, UTET, 1962, pp. 660–662).

L’e­sa­me di Sta­to è san­ci­to anche dal­l’art. 33 del­la Costi­tu­zio­ne del­la Repub­bli­ca italiana:“E’ pre­scrit­to un esa­me di Sta­to per … l’a­bi­li­ta­zio­ne all’e­ser­ci­zio professionale.

Si noti che, così come pri­ma del­l’in­tro­du­zio­ne del­l’e­sa­me di sta­to, era richie­sto il solo diplo­ma per poter uti­liz­za­re il tito­lo e non anche l’i­scri­zio­ne all’al­bo, neces­sa­ria inve­ce per poter eser­ci­ta­re la pro­fes­sio­ne, alla stes­sa stre­gua il solo pos­ses­so del­l’a­bi­li­ta­zio­ne con­sen­ti­va di ado­pe­ra­re il tito­lo di inge­gne­re anche sen­za l’i­scri­zio­ne all’al­bo che con­ti­nua­va però, e con­ti­nua anche oggi, ad esse­re neces­sa­ria per poter eser­ci­ta­re la professione. 

A que­sto pun­to è d’ob­bli­go una rifles­sio­ne. E’ oppor­tu­no nota­re che il codi­ce pena­le all’art. 498 descri­ve il delit­to di usur­pa­zio­ne di tito­lo come l’u­so abu­si­vo del tito­lo di una pro­fes­sio­ne per la qua­le è richie­sta una spe­cia­le abi­li­ta­zio­ne del­lo Sta­to. Que­sto con­fer­me­reb­be anco­ra una vol­ta la neces­si­tà del­la sola abi­li­ta­zio­ne per l’u­so del tito­lo e non anche del­l’i­scri­zio­ne all’al­bo. La ratio, tut­ta­via, del­l’art. 498 è che il legi­sla­to­re abbia volu­to tute­la­re la fede pub­bli­ca con­tro quei com­por­ta­men­ti che alte­ra­no gli ele­men­ti iden­ti­fi­ca­ti­vi di una per­so­na o le sue qua­li­tà per­so­na­li. Tizio potreb­be affi­da­re un inca­ri­co pro­fes­sio­na­le a Caio ingan­na­to dal fat­to che que­st’ul­ti­mo usa il tito­lo di inge­gne­re pur non aven­do­ne i requi­si­ti. Il codi­ce pena­le pro­teg­ge cioè il tito­lo (di inge­gne­re nel caso spe­ci­fi­co) solo in quan­to attra­ver­so esso è con­sen­ti­to eser­ci­ta­re una pro­fes­sio­ne. Ma ciò è pos­si­bi­le per un inge­gne­re solo se è iscrit­to all’al­bo. Da que­ste con­si­de­ra­zio­ni discen­de­va la con­clu­sio­ne, a cui mol­ti giun­ge­va­no, secon­do la qua­le il tito­lo di inge­gne­re potes­se esse­re usa­to solo da chi fos­se iscrit­to all’al­bo. Con­se­guen­te­men­te il lau­rea­to in inge­gne­ria che non era iscrit­to all’al­bo ave­va dirit­to solo al tito­lo acca­de­mi­co di dot­to­re in inge­gne­ria anche se in pos­ses­so di abilitazione. 

Le novità introdotte dal DPR 5 giugno 2001, n.328 

Abbia­mo sin qui usa­to l’im­per­fet­to, (il tito­lo com­pe­te­va, basta­va l’a­bi­li­ta­zio­ne etc.) per­ché il d.P.R. 5 giu­gno 2001, n. 328, aven­te ad epi­gra­fe “Modi­fi­che ed inte­gra­zio­ni del­la disci­pli­na dei requi­si­ti per l’am­mis­sio­ne all’e­sa­me di Sta­to e del­le rela­ti­ve pro­ve per l’e­ser­ci­zio di talu­ne pro­fes­sio­ni, non­ché del­la disci­pli­na dei rela­ti­vi ordi­na­men­ti” ha pro­fon­da­men­te inno­va­to la pre­vi­gen­te nor­ma­ti­va spaz­zan­do via ogni dub­bio inter­pre­ta­ti­vo cir­ca l’at­tri­bu­zio­ne del tito­lo. In par­ti­co­la­re il Capo IXPro­fes­sio­ne di Inge­gne­re - art. 45 (Sezio­ni e tito­li pro­fes­sio­na­li) ha pre­vi­sto al secon­do e ter­zo comma:

2. Agli iscrit­ti nel­la sezio­ne A (n.d.r del­l’Al­bo) spet­ta­no i seguen­ti tito­li professionali:

a) agli iscrit­ti al set­to­re civi­le e ambien­ta­le, spet­ta il tito­lo di inge­gne­re civi­le e ambien­ta­le;
b) agli iscrit­ti al set­to­re indu­stria­le, spet­ta il tito­lo di inge­gne­re indu­stria­le;
c) agli iscrit­ti al set­to­re del­l’in­for­ma­zio­ne, spet­ta il tito­lo di inge­gne­re del­l’in­for­ma­zio­ne.

3. Agli iscrit­ti nel­la sezio­ne B spet­ta­no i seguen­ti tito­li professionali:

a) agli iscrit­ti al set­to­re civi­le e ambien­ta­le, spet­ta il tito­lo di inge­gne­re civi­le e ambien­ta­le iunior;
b) agli iscrit­ti al set­to­re indu­stria­le, spet­ta il tito­lo di inge­gne­re indu­stria­le iunior;
c) agli iscrit­ti al set­to­re del­l’in­for­ma­zio­ne, spet­ta il tito­lo di inge­gne­re del­l’in­for­ma­zio­ne iunior.

Ne risul­ta che il tito­lo di “inge­gne­re” che sino a quel momen­to, a nor­ma del­l’al­lo­ra vigen­te disci­pli­na del­la pro­fes­sio­ne, non era accom­pa­gna­to da alcun attri­bu­to che spe­ci­fi­cas­se una par­ti­co­la­re e spe­ci­fi­ca­ta com­pe­ten­za lega­ta alla for­ma­zio­ne acca­de­mi­ca, è sosti­tui­to dai tito­li di inge­gne­re civi­le e ambien­ta­le, inge­gne­re indu­stria­le, inge­gne­re del­l’in­for­ma­zio­ne. Pos­so­no fre­giar­si di tali tito­li solo gli iscrit­ti all’al­bo che per iscri­ver­si devo­no aver supe­ra­to i rispet­ti­vi esa­mi di sta­to, distin­ti per cia­scu­no dei tre set­to­ri. Ai pre­ce­den­ti inge­gne­ri, agli abi­li­ta­ti cioè secon­do la pre­ce­den­te nor­ma­ti­va, la leg­ge ha dato facol­tà di iscri­ver­si a tut­ti e tre i set­to­ri e quin­di pos­so­no fre­giar­si di tut­ti e tre i tito­li anzidetti.

Al riguar­do il Con­si­glio Nazio­na­le degli Inge­gne­ri con la cir­co­la­re 383/XVII del 26 gen­na­io 2011, aven­te ad ogget­to: “Tito­lo acca­de­mi­co e tito­lo pro­fes­sio­na­le — infor­ma­zio­ni da ripor­ta­re sul tim­bro — indi­ca­zio­ni cir­ca la distin­zio­ne e la cor­ret­ta dizio­ne con cui chia­ma­re gli iscrit­ti alle Sezio­ni A e B del­l’al­bo — rie­pi­lo­go del­la disci­pli­na” è inter­ve­nu­to per fare chia­rez­za, spe­ci­fi­can­do che “il tito­lo pro­fes­sio­na­le di inge­gne­re si con­se­gue uni­ca­men­te con l’i­scri­zio­ne all’al­bo pro­fes­sio­na­leper­ché così dispo­ne la leg­ge.

Si vuo­le infi­ne pre­ci­sa­re che l’in­ter­ven­to del Con­si­glio Nazio­na­le degli Inge­gne­ri non può esse­re let­to, come alcu­ni fan­no, come un’a­zio­ne di par­te inte­sa a favo­ri­re l’i­scri­zio­ne all’al­bo ma è un prov­ve­di­men­to ema­na­to nel­la com­pe­ten­za. Gio­va, infat­ti, ricor­da­re che L’Ordine è un ente pub­bli­co non eco­no­mi­co, sot­to­po­sto alla vigi­lan­za del Mini­ste­ro del­la Giu­sti­zia e posto a tute­la del­la col­let­ti­vi­tà e di ter­zi, facen­te capo al Con­si­glio Nazio­na­le degli Inge­gne­ri e aven­te la fina­li­tà pub­bli­ci­sti­ca di garan­ti­re la qua­li­tà del­le atti­vi­tà svol­te dai pro­fes­sio­ni­sti. Fra i com­pi­ti isti­tu­zio­na­le che la leg­ge attri­bui­sce all’Or­di­ne vi è pro­prio “La tute­la del tito­lo e dell’esercizio pro­fes­sio­na­le”.

Conclusioni

Dal­l’e­sa­me svol­to si evin­ce come il dif­fon­der­si di tre pos­si­bi­li rispo­ste alla doman­da “a chi spet­ta il tito­lo di inge­gne­re?” (al lau­rea­to in inge­gne­ria, all’a­bi­li­ta­to all’e­ser­ci­zio del­la pro­fes­sio­ne, all’i­scrit­to all’al­bo) tro­va giu­sti­fi­ca­zio­ne nel­l’e­vo­lu­zio­ne sto­ri­ca del­la disci­pli­na che rego­la la mate­ria; ci sono sta­ti, infat­ti, perio­di tem­po­ra­li in cui cia­scu­na del­le tre rispo­ste è sta­ta esatta.

In con­clu­sio­ne, secon­do il vigen­te qua­dro nor­ma­ti­vo (d.P.R. 5 giu­gno 2001, n. 328), il tito­lo di Inge­gne­re spet­ta, oggi, a chi è iscrit­to all’Or­di­ne degli Inge­gne­ri nel­la sezio­ne A del­l’Al­bo uni­co nazio­na­le men­tre il tito­lo di Inge­gne­re iunior appar­tie­ne a chi è iscrit­to all’Or­di­ne degli Inge­gne­ri nel­la sezio­ne B. Si trat­ta di un tito­lo pro­fes­sio­na­le, lega­to cioè all’e­ser­ci­zio del­la pro­fes­sio­ne, da non con­fon­de­re con i tito­li acca­de­mi­ci. Rela­ti­va­men­te a que­st’ul­ti­mi, ai sen­si dell’art. 13, com­ma 7 del D.M. n. 270/2004, a chi con­se­gue la lau­rea trien­na­le, la lau­rea magi­stra­le (oppu­re la lau­rea vec­chio ordi­na­men­to) o il dot­to­ra­to di ricer­ca, com­pe­te, rispet­ti­va­men­te, il tito­lo di Dot­to­re, Dot­to­re Magi­stra­le o Dot­to­re di Ricer­ca.
Il requi­si­to pri­ma­rio per l’i­scri­zio­ne all’Al­bo è aver con­se­gui­to l’a­bi­li­ta­zio­ne all’e­ser­ci­zio del­la pro­fes­sio­ne di inge­gne­re a segui­to del supe­ra­men­to del rela­ti­vo esa­me di Sta­to, esa­me a cui si può esse­re ammes­si solo dopo aver con­se­gui­to il tito­lo di Dot­to­re Magi­stra­le per la sezio­ne A e di Dot­to­re per la sezio­ne B in una del­le pre­vi­ste clas­si di lau­rea. Oltre al supe­ra­men­to del­l’e­sa­me di Sta­to, per l’i­scri­zio­ne nel­l’al­bo degli inge­gne­ri occor­re la cit­ta­di­nan­za ita­lia­na (o di uno Sta­to aven­te trat­ta­men­to di reci­pro­ci­tà con l’I­ta­lia), una spec­chia­ta con­dot­ta mora­le (art. 2, l. n. 897 del 1938) , il godi­men­to dei dirit­ti civi­li, non aver ripor­ta­to alcu­na del­le con­dan­ne di cui all’art. 28, pri­ma par­te, del­la leg­ge 8–6‑1874, n. 1938, sal­vo riabilitazione. 

Quan­to al tito­lo com­pro­van­te il dirit­to a rice­ve­re l’ap­pel­la­ti­vo di Inge­gne­re, inte­so come docu­men­to che atte­sta la capa­ci­tà di eser­ci­ta­re una pro­fes­sio­ne, que­sto con­ti­nua ad esse­re indi­vi­dua­to nel­l’abi­li­ta­zio­ne all’e­ser­ci­zio del­la pro­fes­sio­ne (cfr http://www.quadrodeititoli.it) per il fat­to che il tito­lo pro­fes­sio­na­le di inge­gne­re (civi­le e ambien­ta­le, indu­stria­le o del­l’in­for­ma­zio­ne) si con­se­gue median­te il supe­ra­men­to di appo­si­to esa­me di Sta­to e si per­fe­zio­na con l’i­scri­zio­ne all’al­bo professionale.