Xxx IL SOFTWARE Marco Maiocchi. xxx Problemi e Soluzioni Problema: ho fame. Soluzione: mangio un...
-
Upload
arianna-bertolini -
Category
Documents
-
view
229 -
download
0
Transcript of Xxx IL SOFTWARE Marco Maiocchi. xxx Problemi e Soluzioni Problema: ho fame. Soluzione: mangio un...
xxx
IL SOFTWAREIL SOFTWARE
Marco Maiocchi
xxx
Problemi e SoluzioniProblemi e Soluzioni
•Problema: ho fame.
•Soluzione: mangio un panino
o Problema: come ottengo un panino ?
o Soluzione1: preparo un panino;
o Soluzione2: lo compro al bar sotto casa;
xxx
La ProgrammazioneLa Programmazione
La programmazione è l’attività di:
1 Analizzare un dato problema, completamente e correttamente;
2 Scomporlo in sottoproblemi;
2 Individuare, per ogni sottoproblema, le possibili soluzioni;
3 Individuare, per ogni sottoproblema, il metodo per arrivare alle soluzioni (algoritmo);
4 Scegliere il metodo che arriva alla soluzione con la maggior efficienza;
5 Descrivere il metodo scelto in uno specifico linguaggio;
xxx
L’hardware serve per far funzionare il software
Il software serve per far fare all’hardware
tutto quello che vogliamo
Il software è organizzato in programmi
Una definizione empirica
quello che si tocca è hardware, il resto è software
xxx
ISTRUZIONI, OPERAZIONI, ESECUTORIISTRUZIONI, OPERAZIONI, ESECUTORI
UOVA AL BURROUOVA AL BURRO
Far sciogliere 20 g di Far sciogliere 20 g di burroburro in un in un tegaminotegamino..Quando il Quando il burroburro è ben è ben dorato, rompere il dorato, rompere il guscioguscio dell’uovo e far scivolare dell’uovo e far scivolare tuorlotuorlo e e albumealbume delicatamente nel delicatamente nel tegaminotegamino. . Cuocere fino a che Cuocere fino a che l’l’albumealbume non si sarà non si sarà completamente rappreso.completamente rappreso.Salare.Salare.Servire nel Servire nel tegaminotegamino..
PROCEDIMENTOPROCEDIMENTOInput Output
Esecutore
Le istruzioni, comprensibili all’esecutore, permettono l’effettuazione delle operazioni per passare dalle condizioni d’entrata a quelle d’uscita.
xxx
L’ESECUZIONE DA PARTE DI UN COMPUTERL’ESECUZIONE DA PARTE DI UN COMPUTER
Seleziona la cella indicata dal ContatoreEsegui l’istruzione Se 00 preleva il contenuto della cella indicata e mettilo in A Se 01 memorizza il contenuto di A
nella cella indicata Se 10 somma ad A il contenuto della
cella indicata Se 11 fermatiIncrementa il ContatoreTorna da capo.
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
ME
MO
RIA
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
CONTATORE
A
0 0 0 0 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 0 1 1 0 0
1 0 0 0 1 1 0 1
0 1 0 0 1 1 1 1
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
xxx
LA FORMA MNEMONICALA FORMA MNEMONICA
0 0 0 0 1 0 1 0 LOAD VAL1
1 0 0 0 1 0 1 1 ADD VAL2
1 0 0 0 1 1 0 0 ADD VAL3
1 0 0 0 1 1 0 1 ADD VAL4
0 1 0 0 1 1 1 1 STORE TOT
1 1 0 0 0 0 0 0 STOP
0 0 0 0 0 0 0 0 -
0 0 0 0 0 0 0 0 -
0 0 0 0 0 0 0 0 -
0 0 0 0 0 0 0 0 -
0 0 0 0 0 0 0 1 VAL1 1
0 0 0 0 0 0 1 1 VAL2 3
0 0 0 0 0 0 1 0 VAL3 2
0 0 0 0 0 1 0 1 VAL4 5
0 0 0 0 0 0 0 0 -
0 0 0 0 0 0 0 0 TOT -
xxx
PROGRAMMI E LINGUAGGIPROGRAMMI E LINGUAGGI
LA CPU riconosce ed esegue delle istruzioni elementari
• somme, moltiplicazioni, lettura e scrittura da uno o più byte della memoria, etc
• si chiama: linguaggio macchina, LM, (o assembler)
È troppo complicato scrivere un programma così
Sono stati inventati dei nuovilinguaggi
• un’istruzione del linguaggio = tante istruzioni di LM
Serve un programma che faccia la traduzione
• tradurre una volta, eseguire tante volte: compilatore
• tradurre durante l’esecuzione: interprete
xxx
IL TRADUTTORE (COMPILATORE)IL TRADUTTORE (COMPILATORE)
LOAD VAL1
ADD VAL2
ADD VAL3
ADD VAL4
STORE TOT
STOP
-
-
-
-
VAL1 1
VAL2 3
VAL3 2
VAL4 5
-
TOT -
0 0 0 0 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 0 1 1 0 0
1 0 0 0 1 1 0 1
0 1 0 0 1 1 1 1
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Conta le istruz. e assegna una posizioneTraduci comando: Se LOAD 00 Se ADD 10 Se STORE 01 Se STOP 11 Se numero, valoreInserisci la posizione che corrisponde al nome
xxx
I LINGUAGGI EVOLUTII LINGUAGGI EVOLUTI
0 0 0 0 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 0 1 1 0 0
1 0 0 0 1 1 0 1
0 1 0 0 1 1 1 1
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
TRADUTTORE
VAL1 = 1VAL2 = 3VAL3 = 2VAL4 = 5TOT = VAL1+VAL2+VAL3+VAL4STOP
xxx
INTERPRETIINTERPRETI
LOAD VAL1
ADD VAL2
ADD VAL3
ADD VAL4
STORE TOT
STOP
-
-
-
-
VAL1 1
VAL2 3
VAL3 2
VAL4 5
-
TOT -
Seleziona la prima istruzione Se LOAD, cerca l’operando e caricane il valore in A Se STORE, cerca l’operando e caricacene il valore di A Se ADD, cerca loperando e sommane il valore ad A Se STOP fermatiPassa alla prossima istruzioneRipeti
xxx
COMPILATORI E INTERPRETICOMPILATORI E INTERPRETI
COMPILATORECOMPILATORE
Programma che traduce da un linguaggio a un altro; in genere da un Programma che traduce da un linguaggio a un altro; in genere da un linguaggio di “alto livello” a uno eseguibile dall’hardwarelinguaggio di “alto livello” a uno eseguibile dall’hardware
INTERPRETEINTERPRETE
Programma che, simulando il comportamento di un hardware, esegue un Programma che, simulando il comportamento di un hardware, esegue un programmaprogramma
L’hardware è l’interprete fisico del suo linguaggio nativoL’hardware è l’interprete fisico del suo linguaggio nativo
Ogni programma può essere pensato come un “traduttore” dai dati di Ogni programma può essere pensato come un “traduttore” dai dati di entrata ai risultati di uscitaentrata ai risultati di uscita
xxx
I DIAGRAMMI A TI DIAGRAMMI A T
L
L1
L
L
L1 L2TRADUTTORE DA TRADUTTORE DA L1 L1 A A L2 L2 SCRITTO IN SCRITTO IN LL
INTERPRETE DI INTERPRETE DI L1L1 SCRITTO IN SCRITTO IN LL
MACCHINA IN GRADO DI ESEGUIRE MACCHINA IN GRADO DI ESEGUIRE L L
xxx
Proviamo a programmare: Istruzioni e ParametriProviamo a programmare: Istruzioni e Parametri
10 PROGRAMMA :CUCINA_TOAST
20 PRENDI(PANCARRÉ)
30 FETTAPANE1 = TAGLIA(PANCARRÈ, 1)
40 FETTAPANE2 = TAGLIA PANCARRÉ,1)
50 PRENDI(FORMAGGIO)
60 FETTAFORM1 = TAGLIA(FORMAGGIO, 0.3)
70 FETTAFORM2 = TAGLIA(FORMAGGIO, 0.3)
80 PRENDI(PROSCIUTTOCOTTO)
90 FETTAPROSC1 = TAGLIA(PROSCIUTTOCOTTO, 0.3)
100 FETTAPROSC2 = TAGLIA(PROSCIUTTOCOTTO, 0.3)
110 TOAST = SOVRAPPONI(FETTAFORM1, FETTAPANE1)
120 TOAST = SOVRAPPONI(FETTAPROSC1, FETTAFORM1)
120 TOAST = SOVRAPPONI(FETTAPROSC2, FETTAPROSC1)
120 TOAST = SOVRAPPONI(FETTAFORM2, FETTAPROSC2)
120 TOAST = SOVRAPPONI(FETTAPANE2, FETTAFORM2)
130 SCALDA(TOAST, 3)
140 FINEPROGRAMMA
xxx
Proviamo a programmare: Loop (1)Proviamo a programmare: Loop (1)
10 PROGRAMMA :CUCINA_TOAST
20 PRENDI(PANCARRÉ)
30 FETTAPANE1 = TAGLIA(PANCARRÈ, 1)
40 FETTAPANE2 = TAGLIA PANCARRÉ,1)
50 FETTAPANE3 = TAGLIA PANCARRÉ,1)
60 FETTAPANE4 = TAGLIA PANCARRÉ,1)
70 FETTAPANE5 = TAGLIA PANCARRÉ,1)
etc...
xxx
Proviamo a programmare: Loop (2)Proviamo a programmare: Loop (2)
10 PROGRAMMA :CUCINA_TOAST
20 PRENDI(PANCARRÉ)
30 NUMEROFETTA = 1
40 RIPETI
50 FETTAPANE(NUMEROFETTA) = TAGLIA(PANCARRÈ, 1)
60 NUMEROFETTA = NUMEROFETTA +1
70 FINCHÈ NUMEROFETTA=100
...
xxx
Proviamo a programmare: Subroutine (1)Proviamo a programmare: Subroutine (1)
10 PROGRAMMA :CUCINA_TOAST30 NUMEROTOAST = 140 RIPETI50 TOAST(NUMEROTOAST) = PREPARATOAST60 NUMEROTOAST = NUMEROTOAST +170 FINCHÈ NUMEROTOAST =5080 FINEPRORAMMA100 SUBROUTINE: PREPARATOAST110 PRENDI(PANCARRÉ)120 FETTAPANE1 = TAGLIA(PANCARRÈ, 1)140 FETTAPANE2 = TAGLIA PANCARRÉ,1)150 PRENDI(FORMAGGIO)160 FETTAFORM1 = TAGLIA(FORMAGGIO, 0.3)170 FETTAFORM2 = TAGLIA(FORMAGGIO, 0.3)180 PRENDI(PROSCIUTTOCOTTO)190 FETTAPROSC1 = TAGLIA(PROSCIUTTOCOTTO, 0.3)200 FETTAPROSC2 = TAGLIA(PROSCIUTTOCOTTO, 0.3)210 TOAST = SOVRAPPONI(FETTAFORM1, FETTAPANE1)220 TOAST = SOVRAPPONI(FETTAPROSC1, FETTAFORM1)220 TOAST = SOVRAPPONI(FETTAPROSC2, FETTAPROSC1)220 TOAST = SOVRAPPONI(FETTAFORM2, FETTAPROSC2)220 TOAST = SOVRAPPONI(FETTAPANE2, FETTAFORM2)230 SCALDA(TOAST, 3)240 FINESUBROUTINE
xxx
Proviamo a programmare: CondizioniProviamo a programmare: Condizioni
10 PROGRAMMA :CUCINA_TOAST
30 NUMEROTOAST = 1
35 DORATURA = MEDIA
40 RIPETI
50 TOAST(NUMEROTOAST) = PREPARATOAST
60 NUMEROTOAST = NUMEROTOAST +1
70 FINCHÈ NUMEROTOAST =50
80 FINEPRORAMMA
100 SUBROUTINE: PREPARATOAST
…
230 SE DORATURA = LEGGERA
240 ALLORA SCALDA(TOAST, 3)
250 ALTRIMENTI SE DORATURA = MEDIA
260 ALLORA SCALDA(TOAST, 4)
270 ALTRIMENTI SE DORATURA = ROBUSTA
280 ALLORA SCALDA(TOAST, 5)
290 FINESUBROUTINE
xxx
L’EVOLUZIONE DEI LINGUAGGI DI PROGRAMMAZIONEL’EVOLUZIONE DEI LINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI NON LINGUAGGI NON PROCEDURALIPROCEDURALI
CODICE MACCHINACODICE MACCHINA
LINGUAGGI A OGGETTILINGUAGGI A OGGETTI
LINGUAGGI LOGICILINGUAGGI LOGICI
LINGUAGGI PROCEDURALILINGUAGGI PROCEDURALICOBOL, FORTRAN. BASIC, ...COBOL, FORTRAN. BASIC, ...
LINGUAGGI ASSEMBLERLINGUAGGI ASSEMBLER
APPLICAZIONI APPLICAZIONI PARAMETRICHEPARAMETRICHE
xxx
QUANTO COSTA SVILUPPARE SOFTWARE?QUANTO COSTA SVILUPPARE SOFTWARE?
200 istruzioni per mese persona
2200 istruzioni per anno persona
60 milioni retribuzione annue
100 milioni di costo annuo
180 milioni di costo complessivoannuo
180.000.000
2.200= 82.000
xxx
I SISTEMII SISTEMIOPERATIVIOPERATIVI
xxx
I SISTEMI OPERATIVII SISTEMI OPERATIVI
……
Leggi A
Leggi B
C = A+B
Stampa C
…...
È arrivato il dato?Se no, ripetiSe sì, usa il dato
Se è un tasto,0,1 secondi
1 milionesimo disecondo o meno
LA CPU E’ IN ATTESALA CPU E’ IN ATTESAPER IL 99,999 % !PER IL 99,999 % !
xxx
I SISTEMI BATCHI SISTEMI BATCH
GRANDE GRANDE COMPUTERCOMPUTER
Scrittura di nastri magnetici
StampaVelocità ditrasferimento:300 K crt/sec
Velocità ditrasferimento:300 K crt/sec
Rispetto all’esempio precedente, non 1 milionesimo /1 decimo di secondo, ma1 milionesimo/ 3 milionesimi di secondo: CPU in attesa per il 67% del tempo
xxx
COSA E’ CAMBIATOCOSA E’ CAMBIATO
Lavori di X
Cosa fare
Cosa fare
Fine XLavori di Y
Cosa fare
……...
Poiché c’è un’unica esecuzione, è necessario sapere quali sono i consumi edi chi, per addebitare i costi
xxx
COSA E’ CAMBIATO ALL’INTERNO:COSA E’ CAMBIATO ALL’INTERNO:
PROGRAMMA DA ESEGUIREPROGRAMMA DA ESEGUIRE
MEMORIA
SUPERVISORESUPERVISORE
Do leggi chi è il richiedente prendi il tempo leggi cosa vuole fare ripeti
esegui quanto richiestoleggi cosa vuole fare
fino a che non trovi “fine” prendi il tempo attribuisci il tempo intercorso all’utenteRipeti
Cedi la CPU al programma richiestoe attendi che questo finisca
xxx
QUINDIQUINDI
All’interno del computer ci sono sempre due programmi contemporaneamente:
1. Il supervisore
2. Il programma dell’utente.
I due programmi sono in esecuzione uno per volta, e, mentre il primo è sempre presente, il secondo è presente solo per quanto è necessario.
xxx
LA MULTIPROGRAMMAZIONELA MULTIPROGRAMMAZIONE
MEMORIA
SUPERVISORESUPERVISORE
Can. INCan. INCan. OUTCan. OUT
Progr. Progr. AA
Progr. Progr. BB
Progr. Progr. CC
UNA POSSIBILE STORIAUNA POSSIBILE STORIA
SPVSPV AA BB CC ININ OUTOUTSPV in esecuz.SPV in esecuz.SPV cede ad ASPV cede ad AA in esecuz.A in esecuz.A chiede INA chiede INSPV invoca IN SPV invoca IN SPV valutaSPV valutaSPV cede a CSPV cede a CC in esecuzC in esecuzC chiede OUTC chiede OUTSPV invoca OUTSPV invoca OUTSPV valutaSPV valutaSPC cede a BSPC cede a BIN finisceIN finisceSPV valutaSPV valutaSPV cede ad ASPV cede ad A……....
xxx
GLI EFFETTI DELLA MULTIPROGRAMMAZIONEGLI EFFETTI DELLA MULTIPROGRAMMAZIONE
CI SONO SEMPRE MOLTI PROGRAMMI CONTEMPORANEAMENTE ATTIVI, E UNO SOLO IN ESECUZIONE:
• i tempi di processing e di I/O sono sovrapposti
• nessun programma gestisce direttamente l’I/O
• il supervisore introduce una “overhead” di consumi
• la CPU è sfruttata “al meglio”
• si possono introdurre criteri di priorità nella selezione del prossimo programma da mandare in esecuzione
Se un programma non in esecuzione occupa memoria centrale inutilmente, viene temporaneamente “scaricato” su disco, per fare spazio ad altri; la sua immagine verrà ricaricata al momento della sua esecuzione. Si parla di SWAPPING su disco.
xxx
LE REGOLE DELLA MULTIPROGRAMMAZIONELE REGOLE DELLA MULTIPROGRAMMAZIONE
Il SPV prende il controllo quando:
• un programma chiede I/O
• un programma è in errore
• un programma termina
• arriva un segnale di Interrupt
Un programma può essere in stato di:
• “run” se è in esecuzione
• “wait” se deve attendere dati dall’esterno
• “idle” se, pur potendo essere eseguito, non è in esecuzione
Il SPV cede il controllo
• a quel programma, tra tutti quelli “idle”, che ha maggior priorità
xxx
COSA E’ UN PROGRAMMA ATTIVOCOSA E’ UN PROGRAMMA ATTIVO
Un programma IDLE o RUNNING è caratterizzato da:
• il programma stesso
• il puntatore all’istruzione in esecuzione nel momento
• lo stato della memoria (variabili, dati, ecc.)
• lo stato di registri interni che indicano il risultato di confronti, eventuali condizioni d’errore, ecc.
TUTTO CIO’ DEVE VENIRE SALVATO NELLE OPERAZIONI DI SWAPPING
xxx
MISURE DI SERVIZIO DI SISTEMI OPERATIVIMISURE DI SERVIZIO DI SISTEMI OPERATIVI
Throughput:Throughput:• misura la quantità di lavoro fatta nell’unità di tempo, ovvero il tempo di misura la quantità di lavoro fatta nell’unità di tempo, ovvero il tempo di
impegno della CPUimpegno della CPU
Turn-around-timeTurn-around-time• misura il tempo di risposta per l’utente dal momento di richiesta delle misura il tempo di risposta per l’utente dal momento di richiesta delle
informazioni a quello di ottenimento dei risultatiinformazioni a quello di ottenimento dei risultati
Obiettivo di un Sistema Operativo è di massimizzare il primo e minimizzare Obiettivo di un Sistema Operativo è di massimizzare il primo e minimizzare il secondo.il secondo.
La multiprogrammazione è un buon passo avanti, ma che succede se un La multiprogrammazione è un buon passo avanti, ma che succede se un programma che deve fare solo calcolo interno prende il controllo? Nessuno programma che deve fare solo calcolo interno prende il controllo? Nessuno degli altri programmi potrà accedere alla CPU, peggiorando il secondo degli altri programmi potrà accedere alla CPU, peggiorando il secondo parametro.parametro.
QUINDI...QUINDI...
xxx
TIME SHARINGTIME SHARING
A ogni programma è assegnata una “TIME SLICE”
Il SPV prende il controllo quando:
• un programma chiede I/O
• un programma è in errore
• un programma termina
• arriva un segnale di Interrupt
• è finita la time slice del programma in esecuzione
Il SPV cede il controllo
• a quel programma, tra tutti quelli “idle”, che ha maggior priorità, rispettando l’ordine di coda rispetto al consumo delle time slice
xxx
MULTIPROCESSINGMULTIPROCESSING
VALE TUTTO QUANTO DETTO, MA TRA LE RISORSE DISPONIBILI NON CI SONO SOLO
•I/O
•MEMORIA
•…..
MA ANCHE PIU’ CPU
PIU’ PROGRAMMI CONTEMPORANEAMENTE, INCLUSO IL SPV, POSSONO ESSERE ESEGUITI
xxx
MULTITASKINGMULTITASKING
UN SISTEMA OPERATIVO, PUR CON UN UNICO UTENTE, PUO’ AVERE SITUAZIONI COME QUELLE DESCRITTE:
Nell’uso di un comune PC col Sistema Operativo Windows molti “TASK” sono attivi contemporaneamente:
• un processo che “ascolta” tastiera e mouse
• un processo che si occupa della visualizzazione sullo schermo
•un antivirus che controlla tutti i file che entrano in esecuzione
• più programmi, visualizzati su più finestre, che vengono eseguiti, uno alla volta pur essendo attivi, controllati dall’utente
• il supervisore che provvede all’armonizzazione di tutte le esecuzioni.
xxx
MEMORY MANAGEMENTMEMORY MANAGEMENT
La memoria centrale è una risorsa limitata.
Il numero di applicazioni in funzione nello stesso istante all’interno di un computer è molto alto.
Il Sistema di Memory Management provvede a virtualizzare la memoria centrale con immagini sui dischi, in modo da far apparire all’utente una memoria molto più ampia, potenzialmente illimitata.
Parte di queste attività sono già state indicate con il termine SWAPPING.
xxx
FILE MANAGEMENTFILE MANAGEMENT
Sistema che si occupa di:
• creazione, copia, eliminazione, sostituzione di file
• allocazione dei file sui supporti fisici
• gestione degli spazi su supporto fisico rispetto alla struttura logica dei file
Criteri di indirizzamento:
alfa.doc file reperibile sullo stesso disco del SO
c:alfa.doc file reperibile sul disco C
c:dir1/alfa.doc file reperibile su C, ma all’interno della directory dir1
d:dir1/dir2/…./alfa.doc file reperibile su D, all’interno di dir1, e poi di dir2, ecc.
xxx
CARATTERISTICHE DEI FILECARATTERISTICHE DEI FILE
I file sono tipizzati rispetto alle possibilità di accesso:
SEQUENZIALE
• accesso dalla prima all’ultima unità di registrazione (record), nell’ordine, come su un registratore a nastro
RANDOM
• accesso in qualunque punto del fiel, specificando la posizione fisica, come la selezione del brano di un CD per numero
INDEXED
• accesso in un punto del file, sulla base di un indice, come ad esempio, a partire dalla lettera D di un elenco telefonico
INDEXED SEQUENTIAL
• come il precedente, ma con la possibilità di proseguire poi sequenzialmente
xxx
DBMS - Data Base Management SystemDBMS - Data Base Management System
Sistema che si occupa di organizzare informazioni su file che contengono, oltre che i dati, le relazioni tra gli stessi: si tratta di un’evoluzione del file system.
Nell’esempio riportato, è pensabile di chiedere operazioni come:
• Selezionare tutti i record che hanno come sede “Milano” e come fatturato un valore >”10.000.000.000”, e che non hanno emesso ordini dopo l’1.1.2000
Rag.SocialeRag.Sociale IndirizzoIndirizzo CittàCittà FatturatoFatturato SettoreSettore …….…….…………………………....Rossi&RossiRossi&Rossi via … via … RomaRoma 100.000.000100.000.000 MetallurgiaMetallurgiaRossiniRossini via …via … MilanoMilano 10.000.000.000 Moda10.000.000.000 Moda………………………………......
Rag.SocialeRag.Sociale IndirizzoIndirizzo CittàCittà FatturatoFatturato SettoreSettore …….…….…………………………....Rossi&RossiRossi&Rossi via … via … RomaRoma 100.000.000100.000.000 MetallurgiaMetallurgiaRossiniRossini via …via … MilanoMilano 10.000.000.000 Moda10.000.000.000 Moda………………………………......
Fatt.nFatt.n DataData ImportoImporto StatoStato……1717 18.12.99 18.12.99 100.000100.000 PagatoPagato134134 6.3.006.3.00 1.234.0001.234.000 PendentePendente..
Fatt.nFatt.n DataData ImportoImporto StatoStato……1717 18.12.99 18.12.99 100.000100.000 PagatoPagato134134 6.3.006.3.00 1.234.0001.234.000 PendentePendente..
xxx
QUANTO E’ QUANTO E’ ““PERICOLOSO” PERICOLOSO” IL SOFTWAREIL SOFTWARE
xxx
LE CATASTROFILE CATASTROFI
•"La Società è sempre piu dipendente dal software e ne diviene vulnerabile per MALFUNZlONI e per USO ERRATO"
•"Il SOFTWARE manipola dati: sempre più importanti e critici; ma può diventare INSICURO"
•"II SOFTWARE pervade la nostra vita: sempre di più e in ogni settore; ma può diventare INAFFIDABILE"
•"II SOFTWARE una creazione dell'uomo: sempre più complessa; ma può diventare INGESTIBILE"
xxx
CATASTROFICATASTROFI
"Se per 24 ore tutto il SOFTWARE (i calcolatori) del mondo si fermasse, riprendendo il suo corretto funzionamento nell'istante successivo, questo causerebbe diversi milioni di morti1 e miliardi di dollari di perdite economiche2"
1 stima: tra 1 e 5 milioni di morti2 stima: tra 1 miliardo e 5000 miliardi di $
(Fonte: Forester, Computer Ethics)
xxx
CATASTROFI: ESEMPICATASTROFI: ESEMPI
1984 - American Arbitration - Dispute su progetti per 31 M$1986 - Allstate Insurance - Prev.: 8M$ Consunt.: 100M1988 - Bank of America - Prev.: 20M$ Consunt.: 60M$ NON funziona1988 - American Arbitration - Dispute su progetti 200M$ -190 per difetti
Centrale Nucleare di Three Miles IslandChernobylChallenger Space ShuttleCaduta inaugurale Airbus 320 (scala altimetro)Caduti altri 2 Airbus 320 (idem)Affondamento della HMS Sheffield nella guerra delle FaulklandAbbattimento Airbus iraniano da parte USS Vincennes -guerra GolfoDue Tornado cadono per passaggio vicino antenna TV Europa 2)Lauda Air alle Filippine - 1991
xxx
CATASTROFI (cont.)CATASTROFI (cont.)
Caduta 5 elicotteri UH-Blackhawk (immunità elettromagnetica)F/A 18: lancia missile e chiude sportello prima della sua partenzaMariner 18: fatto esplodere in volo per rischio caduta (DO 10 I=1.5)AUDI 5000: 250 incidenti per gest. iniezione in frenata -danni 150 M$Terapia a microonde uccide portatore pace-maker per staratura - 1980Un robot prende alle spalle un operaio e lo uccide (Kawasaki- 1981)Pompa a insulina sbaglia il destrosio a un diabeticoTerapia raggi X: 17000 e 25000 rad invece di 5000 - 1985 e l986Sistema esperto: intervento ambulat., somministr.-coma e morte 1986Heathrow bloccato - 1988Borsa di Milano bloccata - 1990Borsa di Londra bloccata - 1993 Fuoco (Tokio - 1984) persi 23 mld di yenAcqua (Borsa di Milano - 1990) Alimentazione (Borsa di Milano - 1990)
xxx
CATASTROFI (cont.)CATASTROFI (cont.)
impiegato scontento cambia voci della Enciclopedia Britannica - 1986
cavi tagliati: 35000 telefoni, centinaia di FAX, ATM, calcolatori, POS, ... sabotatore collaborò alla soluz. a pagamento (Sydney -1987)
milioni di azioni non trattate per 82’ (Nat’l Assoc. Sec. Dealers - 1987)
studenti inglesi cambiano la quotazione della sterlina '1988)
studenti inglesi leggono la posta elettronica della Casa Reale ( 1988)
1979 - EFT da NY in Svizzera - 10.2 M$
1984 - EFT dalla VolksWagen - 260 M$
1986 - EFT da UK in Svizzera - 8.5 M$
1987 - ATM a NY - 86000 $
1987 - EFT USA - 70 M$
xxx
CATASTROFI (cont.)CATASTROFI (cont.)
1987 - SWIFT da NY a Zurigo - 8.4 M$
1987 - SWIFT da NYa Zurigo - 6.7 M$ il secondo trasferimento fallisce; F. Noe (impieg.Lloyds Bank - NL) torna a controllare: scoperto
1987 - 18 arresti a NY modifica mem. tel. cellulari - 40 M$/mese danno
1987 - USA; hackers usano codici rubati per telefonate - 20 M$ danno
1987 - Ernst & Whinney dichiara danni di 4mld/anno ad Aziende USA da Comp. Crime (>40M£ in UIC; >500 MFF in F)
1988 - EFT da UK in Svizzera - 54 M$
1988 - ATM a NewYork - 237000 $
1988 - ATM in USA -14 M$1988 - ATM in Nuova Zelanda - 1M$1990 - Bancomat a Milano (Di Pietro)1990 - Trasfer. Roma/UK/Tokio Dov’è commesso crimine ? (Di Pietro)
xxx
CATASTROFI (ultimo)CATASTROFI (ultimo)
89% dei casi NON perseguitati
82% dei casi perseguitati NON condannati
Il COMPUTER CRIME paga:
meno del 2% di condanne
600000 $ di resa media
(3000 $ per rapina a mano armata)
xxx
LE TIPOLOGIE LE TIPOLOGIE DI APPLICAZIONIDI APPLICAZIONI
xxx
TIPOLOGIE DI APPLICAZIONI PER SETTORE D’IMPIEGOTIPOLOGIE DI APPLICAZIONI PER SETTORE D’IMPIEGO
• GESTIONALE• Amministrazione• Contabilità• Contabilità industriale• Controllo produzione• Sistemi integrati• ERP• ……..
• SCIENTIFICO/TECNICO• Ricerca Scientifica• Ingegneria• Strutture• CAD/CAM• Controllo di processo• …………..
• TELECOMUNICAZIONI• Telefonia fissa• Telefonia mobile• Trasmissione dati• ………..
• MEDICINA• Gestione pazienti• Controllo e monitoraggio• Diagnostica• ……………..
• GRAFICA E IMMAGINE• Grafica 2D• Grafica 3d• Animazioni• …………..
xxx
SETTORISETTORI
E’ inutile cercare di classificare i settori di applicazione: conviene indicare
TUTTI
Forse è possibile indicare le tipologie di impiego o di interazione, o di vendita, indipendenti dal settore.
xxx
INTERAZIONE CON L’UOMOINTERAZIONE CON L’UOMO
PROGRAMMI PER GLI UTENTI vs EMBEDDED
Un programma orientato all’utente deve essere usato da un essere umano, con tutte le conseguenze di localizzazione linguistica, culturale, ecc, di supporti di addestramento e di integrazione con le altre attività; es. contabilità, prenotazioni, applicazioni di sportello, ecc.
Un programma “embedded” è nascosto all’interno di un altro sistema, non necessariamente con consapevolezza dell’utente, che non può interagire direttamente col software; es. il controllo dell’ABS, l’iniezione delle automobili, i controlli di volo di un aereo, le regolazioni di un frigorifero, ecc.
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Commercio elettronico B2BCommercio elettronico B2CContabilità analiticaGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Sistemi Sistemi espertiespertiIntelligenza Intelligenza artificialeartificialeSistemi educazionaliGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicaliComputer artAlgoritmi geneticiTrasmissioni datiReti di computerEdutainmentWordprocessingCalcolo matematico
White goodsReti neuronaliRiconoscimento vocaleApplicazioni musicaliSistemi OCRInterpretazione del linguaggio naturaleRoboticaDomoticaIntelligent buildingCritica letterariaGenerazione artisticaCinemaScenografiaCalcolo simbolicoTraduzione automaticaApplicazioni d’ufficio……………………...
Test di TuringDOMANDA: Mi scriva, per favore, un sonetto sul tema "Forth Bridge"RISPOSTA: Non faccia affidamento su di me per questo. Non ho mai saputo scrivere poesie.DOMANDA: Sommi 34957 a 70764
Si noti che la risposta è sbagliata (34957 sommato a 70764 dà come risultato 105721).
RISPOSTA: (pausa di circa 30 secondi e poi la risposta) 1056214DOMANDA: Gioca a scacchi?RISPOSTA: SìDOMANDA: Ho il Re in e1 e nessun altro pezzo. Lei ha solo il Re in c3 e una Torre in h8. Tocca a lei. Che mossa giuoca?RISPOSTA: (dopo una pausa di quindici secondi) Torre in h1 matto.
Imitazione del dialogoPARRY: Non capisco le sue ragioniDOTTORE: Perché non capisce le mie ragioni ?PARRY: Non dovrei esserlo?DOTTORE: Perché dice questo proprio ora ?PARRY: Le cose stanno cosìDOTTORE: Supponga che stiano nel modo esattamente oppostoPARRY: E allora?DOTTORE: Non sono sicuro di capirla del tuttoPARRY: Insiste troppo sullo stesse domandeDOTTORE: Cosa le suggerisce questa somiglianza?PARRY: Non la capiscoDOTTORE: Lei desidera capire?PARRY: Finalmente comincia a mostrare interesse per i miei sentimenti!DOTTORE: Oh! Ho mostrato interesse per i suoi sentimenti?
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
ContabilitàFinanzaTradingCommercio elettronico B2BCommercio elettronico B2CContabilità analiticaControllo della produzioneMagazzinoGestione venditeMarketingGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Controllo impiantiControllo numericoControllo di processoSistemi espertiSistemi educazionaliGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicaliComputer artAlgoritmi geneticiTrasmissioni datiReti di computerEdutainmentWordprocessingCalcolo matematico
White goodsReti neuronaliRiconoscimento vocale
Applicazioni Applicazioni musicalimusicaliSistemi OCRInterpretazione del linguaggio naturaleRoboticaDomoticaIntelligent buildingCritica letterariaGenerazione artisticaCinemaScenografiaCalcolo simbolicoTraduzione automaticaApplicazioni d’ufficio……………………...
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
ContabilitàFinanzaTradingCommercio elettronico B2BCommercio elettronico B2CContabilità analiticaControllo della produzioneMagazzinoGestione venditeMarketingGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Controllo impiantiControllo numericoControllo di processoSistemi espertiSistemi educazionaliGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicaliComputer artAlgoritmi geneticiTrasmissioni datiReti di computerEdutainmentWordprocessingCalcolo matematico
White goodsReti neuronaliRiconoscimento vocaleApplicazioni musicaliSistemi OCRInterpretazione del linguaggio naturaleRoboticaDomoticaIntelligent buildingCritica letterariaGenerazione artistica
CinemaCinemaScenografiaCalcolo simbolicoTraduzione automaticaApplicazioni d’ufficio……………………...
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Commercio elettronico B2BCommercio elettronico B2CGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Sistemi educazionaliGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicaliAlgoritmi geneticiTrasmissioni datiReti di computerEdutainmentWordprocessingCalcolo matematico
White goodsReti neuronaliRiconoscimento vocaleSistemi OCR
Computer artComputer artCritica letterariaCritica letterariaGenerazione Generazione artisticaartisticaScenografiaCalcolo simbolicoTraduzione automaticaApplicazioni d’ufficio……………………...
Generazione automatica di fiabe popolari russeGenerazione automatica di fiabe popolari russe
Dopo avere attaccato e ingannato il mago del regno, il ciclope Cecyl rubò la pozione magica. Subito dopo la disgrazia, furono inviati degli araldi per informare i regni vicini del fatto, chiamando a raccolta valenti cavalieri.Il palafreniere Huliev, dopo aver udito le lamentele della corte, decise autonomamente di partire per porre rimedio alla disgrazia.Il mago Basil chiese a Huliev di spartire tutte le riserve di farina con i poveri del regno, per combattere la fame, promettendo il suo aiuto.Basil e Huliev, insieme, decisero di spartire gli oggetti secondo le loro necessità, e il mago preparò una pozione magica per Huliev, cuocendo cortecce di alberi vecchi di secoli.Vicino al fiume Huliev trovò una piccola barca, vi salì sopra e, molto rapidamente, arrivò alla sua destinazione.
Huliev, confidente nelle sue capacità e possibilità, invitò il ciclope nell'arena, dove avrebbero dovuto correre tra i leoni, affrettandosi senza essere mangiati. Chi fosse sopravvissuto più a lungo sarebbe stato il vincitore.
La corsa fu difficile e pericolosa, e alcuni tronchi sul percorso aggiungevano difficoltà, ma Huliev arrivò alla meta per primo.Mentre il ciclope andò a nascondersi nelle segrete del castello, Huliev lo seguì e lo imprigionò fino alla fine dei suoi giorni.Dopo aver camminato per giorni e giorni, la strega Daphne arrivò finalmente al ………..GrammelotGrammelotue fellegno, e vai,e cora, iasciolle, io adde la belletto, stelli haiforca marti schi menti sermutamentra eracominanzi mala a me sommo lo sgridache tir che l’altro o la e rendo rauna mor discerne tanto bene è leggiaché mali, duolo lordar lor sì così che lodo com’olte fioco strati.infiati,che,sì contro:”tostese,di questrocar, come la mi via e piena;e piancorse
La Decima sinfonia di La Decima sinfonia di BeethovenBeethoven
Analisi della Divina Analisi della Divina Commedia (Padre Commedia (Padre Busa)Busa)
……………………....
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
ContabilitàFinanzaTradingCommercio elettronico B2BCommercio elettronico B2CContabilità analiticaControllo della produzioneMagazzinoGestione venditeMarketingGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Controllo impiantiControllo numericoControllo di processoSistemi espertiSistemi educazionaliGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicaliComputer artAlgoritmi geneticiTrasmissioni datiReti di computerEdutainmentWordprocessingCalcolo matematico
White goodsReti neuronaliRiconoscimento vocaleApplicazioni musicaliSistemi OCRInterpretazione del linguaggio naturaleRoboticaDomoticaIntelligent buildingCritica letterariaGenerazione artisticaCinemaScenografiaCalcolo simbolicoTraduzione automatica
Applicazioni Applicazioni d’ufficiod’ufficio……………………...
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Commercio elettronico B2BCommercio elettronico B2CGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Sistemi educazionaliGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicali
Algoritmi geneticiTrasmissioni datiReti di computerEdutainment
Calcolo matematico
White goodsReti neuronaliRiconoscimento vocale
Sistemi OCR
Interpretazione del Interpretazione del linguaggio linguaggio naturalenaturaleRoboticaDomoticaIntelligent building
ScenografiaCalcolo simbolico
Traduzione Traduzione automaticaautomatica
Da AltavistaDa Altavista
President Clinton says the emergency Mideast President Clinton says the emergency Mideast summit "cannot afford to fail" as Prime summit "cannot afford to fail" as Prime Minister Ehud Barak and Yasser Arafat meet Minister Ehud Barak and Yasser Arafat meet for talks amid fresh violence.for talks amid fresh violence.
Il presidente Clinton dichiara che la sommità Il presidente Clinton dichiara che la sommità di Mideast di emergenza " non può permettersi di Mideast di emergenza " non può permettersi di venire a mancare " come raduno del primo di venire a mancare " come raduno del primo ministro Ehud Barak e di Yasser Arafat per i ministro Ehud Barak e di Yasser Arafat per i colloqui in mezzo della violenza fresca.colloqui in mezzo della violenza fresca.
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
ContabilitàFinanzaTradingCommercio elettronico B2BCommercio elettronico B2CContabilità analiticaControllo della produzioneMagazzinoGestione venditeMarketingGrafica 2DGrafica 3DCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Controllo impiantiControllo WordprocessingCalcolo matematico
Applicazioni musicaliSistemi OCR
Sistemi espertiSistemi educazionali
GiochiGiochiSoftware automotiveTelecomunicazioni fisseTelecomunicazioni Algoritmi geneticiTrasmissioni datiReti di computerEdutainment
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
TradingCommercio elettronico B2BCommercio elettronico B2C
Grafica, 2D,3DGrafica, 2D,3DMultimediaMultimediaScenografiaScenografiaAnimazioneAnimazioneCalcolo strutturaleCalcolo scientificoCAD/CAMAnimazioneSimulazione
Controllo impiantiControllo numericoControllo di processoSistemi espertiSistemi educazionali
Software automotiveTelecomunicazioni fisseTelecomunicazioni mobiliApplicazioni medicaliComputer artAlgoritmi geneticiTrasmissioni datiReti di computerEdutainment
Calcolo matematico
White goodsReti neuronaliRiconoscimento vocaleApplicazioni musicaliSistemi OCRInterpretazione del linguaggio naturaleRoboticaDomoticaIntelligent buildingCritica letterariaGenerazione artisticaCinemaScenografiaCalcolo simbolicoTraduzione automaticaApplicazioni d’ufficio……………………...
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Calcolo strutturaleCalcolo scientificoCAD/CAM
Simulazione
Sistemi educazionali
Software automotive
Telecomunicazioni Telecomunicazioni fissefisseTelecomunicazioni Telecomunicazioni mobilimobiliApplicazioni medicali
Algoritmi genetici
Trasmissioni datiTrasmissioni datiReti di computerReti di computerEdutainment
Calcolo matematico
White goodsReti neuronaliRiconoscimento vocale
Sistemi OCR
RoboticaDomoticaIntelligent building
Calcolo simbolico
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Calcolo strutturaleCalcolo scientificoCAD/CAM
Simulazione
Sistemi educazionali
Software Software automotiveautomotive
Applicazioni medicali
Algoritmi genetici
Edutainment
Calcolo matematico
White goodsWhite goodsReti neuronaliRiconoscimento vocale
Sistemi OCR
RoboticaDomoticaIntelligent building
Calcolo simbolico
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Calcolo strutturaleCalcolo scientificoCAD/CAM
Simulazione
Sistemi Sistemi educazionalieducazionali
Applicazioni medicali
Algoritmi genetici
EdutainmentEdutainment
Calcolo matematico
Reti neuronaliRiconoscimento vocale
Sistemi OCR
RoboticaDomoticaIntelligent building
Calcolo simbolico
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Calcolo strutturaleCalcolo scientificoCAD/CAM
Simulazione
Applicazioni medicali
Algoritmi genetici
Calcolo matematico
Reti neuronaliReti neuronaliRiconoscimento Riconoscimento vocalevocale
Sistemi OCRSistemi OCR
RoboticaDomoticaIntelligent building
Calcolo simbolico
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Calcolo strutturaleCalcolo strutturaleCalcolo scientificoCalcolo scientificoCAD/CAMCAD/CAM
SimulazioneSimulazione
Applicazioni medicali
Algoritmi genetici
Calcolo Calcolo matematicomatematico
RoboticaDomoticaIntelligent building
Calcolo simbolicoCalcolo simbolico
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Applicazioni medicali
Algoritmi genetici
Robotica
DomoticaDomoticaIntelligent buildingIntelligent building
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Applicazioni Applicazioni medicalimedicali
Algoritmi genetici
Robotica
xxx
UN ELENCO NON ESAbUSTIVO E NON ORDINATO UN ELENCO NON ESAbUSTIVO E NON ORDINATO
Algoritmi genetici
RoboticaRobotica
Naïve physicsNaïve physics, la , la fisica ingenuafisica ingenua: un ramo dell’: un ramo dell’intelligenzaintelligenza artificialeartificiale, che è a sua volta una , che è a sua volta una particolare tecnica della particolare tecnica della computer sciencecomputer science. Ad esempio, la fisica (classica, relativistica, . Ad esempio, la fisica (classica, relativistica, quantistica, …) non è in grado di descrivere fenomeni come la persona che scivola sulle scale, quantistica, …) non è in grado di descrivere fenomeni come la persona che scivola sulle scale, l’acqua che bolle o il bicchiere d’acqua che si rovescia; in particolare riferendoci a l’acqua che bolle o il bicchiere d’acqua che si rovescia; in particolare riferendoci a quest’ultimo esempio, è possibile descrivere con la fisica ingenua il seguente fenomeno, non quest’ultimo esempio, è possibile descrivere con la fisica ingenua il seguente fenomeno, non descrivibile dalla fisica in termini predittivi quantitativi:descrivibile dalla fisica in termini predittivi quantitativi:
dato un bicchiere vuoto, versando in esso da una bottiglia un liquido, tale liquido dato un bicchiere vuoto, versando in esso da una bottiglia un liquido, tale liquido riempie progressivamente il bicchiere fino all’orlo, dopodiché si rovescia.riempie progressivamente il bicchiere fino all’orlo, dopodiché si rovescia.
La fisica ingenua è in grado di simulare il fenomeno costruendo programmi che descrivono il La fisica ingenua è in grado di simulare il fenomeno costruendo programmi che descrivono il comportamento delle gocce d’acqua, facendole poi agire e interagire con il bicchiere; una comportamento delle gocce d’acqua, facendole poi agire e interagire con il bicchiere; una descrizione (estremamente grossolana) di una tale descrizione può essere:descrizione (estremamente grossolana) di una tale descrizione può essere:
una goccia d’acqua “ama” stare in contatto con altre gocce d’acquauna goccia d’acqua “ama” stare in contatto con altre gocce d’acquauna goccia d’acqua vende a stare in una posizione che è la più “bassa” possibileuna goccia d’acqua vende a stare in una posizione che è la più “bassa” possibileuna goccia d’acqua non penetra barriere di vetro.una goccia d’acqua non penetra barriere di vetro.
Sulla base di queste caratteristiche, si costruiscono programmi che presentano Sulla base di queste caratteristiche, si costruiscono programmi che presentano progressivamente schermate del riempimento e del rovesciamento del bicchiere come quelle progressivamente schermate del riempimento e del rovesciamento del bicchiere come quelle (puramente esemplificative) che seguono:(puramente esemplificative) che seguono:
Tali tecniche hanno applicazioni, ad esempio, nella progettazione di robot che, dovendosi Tali tecniche hanno applicazioni, ad esempio, nella progettazione di robot che, dovendosi muovere in ambienti “ostili”, devono essere capaci di predire l’effetto delle loro interazioni muovere in ambienti “ostili”, devono essere capaci di predire l’effetto delle loro interazioni con l’ambiente.con l’ambiente. La legge La legge FF=m=maa esprime le modalità di comportamento di un corpo soggetto a una forza, ove esprime le modalità di comportamento di un corpo soggetto a una forza, ove FF è la forza, m è la massa e è la forza, m è la massa e aa è l’accelerazione; la sottolineatura fa riferimento al fatto che le è l’accelerazione; la sottolineatura fa riferimento al fatto che le grandezze in questione sono grandezze in questione sono vettorialivettoriali, ovvero devono essere considerate in una dimensione , ovvero devono essere considerate in una dimensione spaziale, tipicamente caratterizzata da tre componenti altezza, larghezza, profondità.spaziale, tipicamente caratterizzata da tre componenti altezza, larghezza, profondità.
xxx
UN ELENCO NON ESAUSTIVO E NON ORDINATO UN ELENCO NON ESAUSTIVO E NON ORDINATO
Algoritmi geneticiAlgoritmi genetici