«L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi.» EDSGER WYBE DIJKSTRA
AA 2011-2012 Prof. Giorgio Poletti giorgio.poletti@unife.it
ROAD MAP DEL CORSO 1. Introduzione al concetto di Informatica alle origini dei termini dal dato all’informazione dalla struttura logica alla struttura topologica Eulero, Petri, rappresentazione dei problemi e strutturazione della conoscenza 2. Internet e WEB 2.0
evoluzione del WEB WEB 2.0 semantica e condivisione dei contenuti, dalla tassonomia alla folksonomia strumenti on-line per la condivisione e co-editazione dell’informazione 3. Human and Machine Cognition (HMC) interfacce e comunicazione cognitività, cognetica, stile ed erogonomia accessibilità e usabilità per progettare artefatti efficienti
«LA DISUMANITÀ DEL COMPUTER S TA N E L FAT TO C H E , U N A V O LTA P R O G R A M M ATO E M E S S O I N F U N Z I O N E , S I C O M P O R TA I N M A N I E R A P E R F E T TA M E N T E O N E STA . » ISAAC ASIMOV
INTRODUZIONE AL CONCETTO DI INFORMATICA TECNOLOGIA
TECHNOLOGIA dal greco
Diviene
LOGÒS (trattato)
TÈCHNÈ (arte)
dal tema Elettronica
Tecnicismo
Strumento ostico LÈGÔ parlo, dico, descrivo
INTRODUZIONE AL CONCETTO DI INFORMATICA Dato Relazione INFORmazione
CONOSCENZA
Dato Informazione
INFORMATICA
Relazione autoMATICA Struttura
Informazione
«Gli uomini con talento trovano delle soluzioni, i geni scoprono dei problemi.»
Hans Krailsheimer
INTRODUZIONE AL CONCETTO DI INFORMATICA INFORMAZIONI
Problema
+
+
WEB
RELAZIONI
Web e problemi un unico paradigma: da risolutori a solutori
INTRODUZIONE AL CONCETTO DI INFORMATICA IL COMPUTER DI APOLLO 11 (20 luglio 1969) • ROM di 74 Bb • RAM di 4 Kb
L’hardware non è un limite, bisogna formalizzare di dati e relazioni; Più le cose sono chiare a noi meno servono tempo e parole per spiegarlo agli altri.
«La mente umana deve prima costruire delle forme in maniera indipendente, prima di ritrovarle nelle cose.» Albert Einstein
INTRODUZIONE AL CONCETTO DI INFORMATICA Nodo
1
B 4
A
2 3
D
C 5
Arco
GRAFO: struttura relazionale composta da un insieme finito di oggetti (un insieme finito di punti) detti nodi (o vertici) e da un insieme di relazioni (geometricamente segmenti di retta o di curva) tra coppie di oggetti detti archi (o spigoli).
�(�,�)
INTRODUZIONE AL CONCETTO DI INFORMATICA Problema dei ponti di Königsberg
Teorema di Eulero Mappa di Königsberg ai tempi di Eulero, e la disposizione dei ponti sul fiume Pregel (immagine tratta da Wikipedia)
TEOREMA DI EULERO «Condizione necessaria e sufficiente affinché un grafo sia percorribile completamente partendo da un nodo e ritornandovi passando una volta solamente per ciascun arco è che esista un percorso fra ogni coppia di nodi e che ogni nodo sia toccato da un numero pari di archi.»
INTRODUZIONE AL CONCETTO DI INFORMATICA Analisi e studio TOPOLOGICO del grafo costruito
A C
A
D
B
D
C
D
Processo LOGICO della soluzione del problema
«L’errore nasce sempre dalla tendenza dell’uomo a dedurre la causa della conseguenza.»
Arthur Schopenhauer
INTRODUZIONE AL CONCETTO DI INFORMATICA PRINCIPIO DI NON CONTRADDIZIONE
INFERENZA Se … allora
Falso
Vero
Generale
INDUZIONE
DEDUZIONE
Particolare
Rappresentazione, attraverso i grafi, di costrutti logici
INTRODUZIONE AL CONCETTO DI INFORMATICA Esempio di rappresentazione di un problema IL PROBLEMA «SALVARE CAPRA E CAVOLI» Tartaglia (libro 16, N. 141) dove scrive anche «e da questo è nasciuto un certo proverbio fra gli huomini, dicendo in qualche proposito, egli ha salvato la capra e i verzi».
T LC
TC
TC T LVC
TC
TL T
TC
T CV
V LV
VL
L
TV
T LV C
T
T LVC
C
TV
TL L
T VC
TC
T CL
TC
T VL
V
«Un uomo (T) vuole traghettare da una sponda all'altra di un fiume un lupo (L), una capra (C) un cavolo (V) su di una barca capace solo di ospitare l'uomo e il cavolo ed una sola delle due bestie”.
INTRODUZIONE AL CONCETTO DI INFORMATICA I QUATTRO PROBLEMI FONDAMENTALE DISTRIBUZIONE, CONTROLLO E MANUTENZIONI DI RETI
I PONTI DI KÖNIGSBERG
elettriche, idriche o stradali
OTTIMIZZAZIONE DI PERCORSI distribuzione della posta (Chinese Postman's Problem)
FLUSSI DI MERCI
IL COMMESSO VIAGGIATORE
distribuzione merci tra magazzini, clienti e fornitori
MINIMIZZAZIONE DI PERCORSI percorso più breve tra due città
LAYOUT DI RETI
LE TRE CASE E LE TRE FORNITURE
idriche, stradali, elettriche e circuiti stampati
LAYOUT RETI TELEMATICHE connessione e collegamento tra computer
TEST DI CONTROLLO
I QUATTRO COLORI
circuiti stampati
ALLOCAZIONE E ASSEGNAZIONE registri CPU e frequenze radiotelevisive
INTRODUZIONE AL CONCETTO DI INFORMATICA Grafi e Mappe Cognitive
Psicologo
Cognitivismo
TONY BUZAN
Mappe mentali
Riflessioni sulle tecniche per prendere appunti
MAPPA COGNITIVA O MAPPA MENTALE (MIND MAP) Modalità di rappresentazione grafica del pensiero, «grafi della mente», dal LOGICO al TOPOLOGICO.
INTRODUZIONE AL CONCETTO DI INFORMATICA Esempi di Mappe Cognitive
http://inmaps.linkedinlabs.com/ Generatore di mappe concettuali dei contatti di linkedin
INTRODUZIONE AL CONCETTO DI INFORMATICA La Mappa Cognitiva Connessioni gerarchiche (rami)
Argomento predecessore
STRUTTURA GERARCHICA- ASSOCIATIVA Connessioni associative (associazioni)
XMind FreeMind
Programmi on-line per generare mappe cognitive
INTRODUZIONE AL CONCETTO DI INFORMATICA MAPPA CONCETTUALE Mappa concettuale
principio
teorie di tipo
Intendono favorire
Apprendimento significativo
Costruttivista
teorizza
Josef Novak
Teorie collegate alle teorie di
David Ausubel
contrapposto a
Apprendimento meccanico
MAPPA CONCETTUALE:
Mappa concettuale della MAPPA CONCETTUALE
Strumento grafico per rappresentare informazioni e conoscenza (anni ‘70)
INTRODUZIONE AL CONCETTO DI INFORMATICA MAPPA CONCETTUALE NODI Concettuali (concetti elementari racchiusi in forme geometriche)
Mappa Concettuale
La struttura è RETICOLARE (non presenta un preciso punto di partenza)
RELAZIONI di tipo connessionista (uniscono i nodi concettuali con archi con un verso e etichette)
Grafo Orientato «Pesato»
INTRODUZIONE AL CONCETTO DI INFORMATICA IL WEB COME MAPPA CONCETTUALE
http://www.cybergeography.org/atlas/conceptual.html
A concept map from Tim Berners-Lee's original WorldWide Web proposal, a hypertext system called the "Mesh", presented in 1989.
INTRODUZIONE AL CONCETTO DI INFORMATICA SOLUTORI NON RISOLUTORI
Informazioni Modalità Procedurale
Problema
Modalità Dichiarativa
+
Dati
Regole
Scopo
Algoritmo Relazioni
Motore Inferenziale
Web e problemi un unico paradigma: da risolutori a solutori Modalità Dichiarativa Vs Modalità Procedurale
INTRODUZIONE AL CONCETTO DI INFORMATICA PROBLEM SOLVING (attività di soluzione di un problema)
CONDIZIONE
CONDIZIONE
DATA
DESIDERATA
PROBLEM FINDING
PROBLEM SHAPING.
Insiemi di procedimenti in grado di «scoprire» l’esistenza di un problema
Insiemi di procedimenti in grado di meglio definire un problema complesso
PROBLEM SETTING
PROBLEM TALKING
Insiemi di procedimenti in grado di configurare in maniera cognitiva il problema riconosciuto
Insiemi di procedimenti in grado di descrivere spiegare e comunicare il problema
PRINCIPI DI PROBLEM SOLVING
INTRODUZIONE AL CONCETTO DI INFORMATICA ottenere un risultato atteso eseguendo un insieme ordinato di passi semplici
procedimento per
ALGORITMO caratteristiche
FINITEZZA
approccio matematico SINTESI: dato un problema f costruire un algoritmo A che lo risolva
EFFETTIVITÀ ESEGUIBILITÀ
DISAMBIGUO
spiega
ANALISI: dato algoritmo A e un problema f dimostrare che A risolve f
CLASSIFICAZIONE (COMPLESSITÀ STRUTTURALE): data T, quantità di risorse, individuare la classe di problemi solubili da algoritmi che usano al massimo quelle risorse concetto di semplice
PRINCIPI DI ALGORITMICA ALGORITMO : procedimento che consente di ottenere un risultato atteso eseguendo, in un
determinato predeterminato, un insieme finito di passi semplici; il termine deriva dal nome del matematico e filosofo arabo MUHAMMAD ALGRTIMO 'L-KHWĀRIZMĪ considerato uno dei primi autori ad aver teorizzati esplicitamente questo procedimento.
INTRODUZIONE AL CONCETTO DI INFORMATICA definizione
EURISTICA
dal greco εὑρίσκω: scoprire trovare(scovare) inventare conoscere
Nuova Conoscenza
approccio
intuito Non lineare
si affida
per generare
circostanze PRINCIPI DI EURISTICA EURISTICA: parte della ricerca il cui compito è quello di favorire l'accesso a nuovi sviluppi teorici o a scoperte empiriche (parte dell’epistemologia) EPISTEMOLOGIA (episteme , «conoscenza certa» «scienza») filosofia della scienza, studia i fondamenti delle diverse discipline scientifiche.
INTRODUZIONE AL CONCETTO DI INFORMATICA postulato da Principio MDL (Minimum Description Length)
Teoria dell’informazione
William of Ockham – XIV sec (Guglielmo di Occam) formulato «A parità di fattori la spiegazione più semplice è da preferire» (Guglielmo di Occam)
RASOIO DI OCCAM identifica
Principio metodologico afferma
in termini di «risoluzione dei problemi»
Non moltiplicare gli elementi più del necessario.
inutilità di aggiungere ipotesi a quelle giudicate sufficienti
È inutile fare con più ciò che si può fare con meno.
Non considerare la pluralità se non è necessario.
RASOIO DI OCCAM
«Io esorto a studiare matematica pur chi si accinga a divenire avvocato o economista, filosofo o letterato; perché io credo e spero che non gli sarà inutile saper bene ragionare e chiaramente esporre.»
Alessandro Padoa
INTRODUZIONE AL CONCETTO DI INFORMATICA LINGUAGGI DICHIARATIVI (O LOGICI)
Sistema formale
Logica di Primo Livello
Esprimono enunciati
Conseguenze logiche
modalità
Meccanico
Formale
PROGRAMMAZIONE LOGICA E LOGICA DI I LIVELLO
INTRODUZIONE AL CONCETTO DI INFORMATICA Dati
LINGUAGGI DICHIARATIVI (O LOGICI)
Istruzione
diventa
Descrivono Insieme di relazioni Risultato desiderato
Clausola Descrive relazioni tra dati
Non c’è un ordine prestabilito per l’esecuzione delle clausole
PROGRAMMAZIONE LOGICA E LOGICA DI I LIVELLO
Parole Discorso Verbi
INTRODUZIONE AL CONCETTO DI INFORMATICA SISTEMA DISTRIBUITO
sistema in cui l’elaborazione delle informazioni è distribuita su più entità (ad esempio computer)
WEB
SISTEMA DISCRETO
sistema il cui stato cambia ad intervalli di tempo discreti (per DISCRETO si intende un insieme composto di elementi distinti, separati tra di loro) RETI DI PETRI (P-RETI)
descrive la struttura
Modellazione di processi Modellazione di comunicazioni e interazioni tra processi paralleli e interconnessi
SISTEMA DISTRIBUITO DISCRETO Grafo, orientato e bipartito
LE RETI DI PETRI (P-RETI) E I SISTEMI DISTRIBUITI DISCRETI
INTRODUZIONE AL CONCETTO DI INFORMATICA di tipo
ORIENTATO è
descrive
RETI DI PETRI (P-RETI)
PROCESSI in termini di
COMPONENTI
BIPARTITO
GRAFO composto da
INTERAZIONI
NODI
LE RETI DI PETRI (P-RETI): MAPPA CONCETTUALE ESSENZIALE
ARCHI
INTRODUZIONE AL CONCETTO DI INFORMATICA è
RETI DI PETRI (P-RETI)
GRAFO
ARCHI
sono
ORIENTATI
collegano composto da con
NODI
POSTO
a
TRANSIZIONE
di tipo
rappresentato
MARCHE (TOKEN)
STATO (N≥0)
LE RETI DI PETRI (P-RETI) E I COMPONENTI Una P-Rete è una tripla N = (P, T, F) P è un insieme dei posti, T è un insieme di transizioni F è una relazione di flusso P e T sono due insiemi finiti
INTRODUZIONE AL CONCETTO DI INFORMATICA arco
STATO
POSTO
arco Marca o Token POSTO
arco
TRANSIZIONE
POSTO
LE RETI DI PETRI (P-RETI): STATO-TRANSIZIONE
INTRODUZIONE AL CONCETTO DI INFORMATICA OUTPUT PER LA TRANSIZIONE
arco INPUT PER LA TRANSIZIONE POSTO
arco
POSTO
OUTPUT PER LA TRANSIZIONE
arco
TRANSIZIONE
POSTO
LE RETI DI PETRI (P-RETI): STATO-TRANSIZIONE
INTRODUZIONE AL CONCETTO DI INFORMATICA OUTPUT PER LA TRANSIZIONE
arco INPUT PER LA TRANSIZIONE POSTO
arco
POSTO
OUTPUT PER LA TRANSIZIONE
arco
TRANSIZIONE
POSTO
LE RETI DI PETRI (P-RETI): MECCANISMO DI TRANSIZIONE
INTRODUZIONE AL CONCETTO DI INFORMATICA se può
Le TRANSIZIONI agiscono sui TOKEN secondo
TRANSIZIONE
REGOLA
se
Scattare
è
tutti i TOKEN necessari
detta
REGOLA di SCATTO (firing)
ABILITATA
sono
nei POSTI di INPUT
LE RETI DI PETRI (P-RETI): CONCETTO DI TRANSIZIONE
INTRODUZIONE AL CONCETTO DI INFORMATICA
POSTO DI INPUT PER T
POSTO DI INPUT PER T
TRANSIZIONE T
POSTO DI INPUT PER T
LE RETI DI PETRI (P-RETI): CONCORRENZA
CONCORRENZA: una transizione T ha pi첫 posti di input
INTRODUZIONE AL CONCETTO DI INFORMATICA
POSTO DI INPUT PER T1, T2,…TN
TRANSIZIONE T1
TRANSIZIONE T2
TRANSIZIONE TN
LE RETI DI PETRI (P-RETI): CONFLITTO
CONFLITTO: un posto è INPUT per più di una transizione T
INTRODUZIONE AL CONCETTO DI INFORMATICA
POSTO DI INPUT TRANSIZIONE T1 TRANSIZIONE T2
POSTO DI INPUT
TRANSIZIONE T3
LE RETI DI PETRI (P-RETI): CONFUSIONE
CONFLITTO: un posto è INPUT per più di una transizione T e una transizione ha più posti di INPT; CONFLITTO = CONCORRENZA+CONFLITTO
INTRODUZIONE AL CONCETTO DI INFORMATICA RETE DI PETRI
• RAGGIUNGIBILITÀ (REACHABILITY) • LIMITATEZZA (BOUNDEDNESS) • SICUREZZA (P-NET SAFE) • VITALITÀ (LIVENESS) LE RETI DI PETRI (P-RETI): CARATTERISTICE
INTRODUZIONE AL CONCETTO DI INFORMATICA Data una MARCATURA INIZIALE M0 in una rete di Petri G si indica con R(G,M0) l’insieme delle MARCATURE RAGGIUNGIBILI a partire da M0. si pone il ne deriva che
Una MARCATURA Mq è RAGGIUNGIBILE se esistono scatti che la rendono una marcatura possibile a partire da M0.
PROBLEMA DELLA RAGGIUNGIBILITÀ Mq R(G,M0)?
SOTTO QUALI CONDIZIONI Mq è uno stato sbagliato? Non può e non deve essere raggiungibile?
ESEMPIO porte aperte e ascensore non presente
LE RETI DI PETRI (P-RETI): RAGGIUNGIBILITÀ
INTRODUZIONE AL CONCETTO DI INFORMATICA 0,0
GRAFO DI RAGGIUNGIBILITÀ: grafo in cui i nodi sono le possibili marcature e gli archi le transizioni che modificano una marcatura
T3
T1 1,0
T2
0,1 T3
T1 T2
T2
T1
T3 2,1
T3
T2
0,2
T1 1,2
T1
T3
T1
1,1
2,0
T2
2,2
LE RETI DI PETRI (P-RETI): RAGGIUNGIBILITÀ
GRAFO DI RAGGIUNGIBILITÀ è un buon metodo per trovare gli stati "sbagliati” ovvero che non devono essere raggiunti (ad esempio barriere alzate e treno in passaggio)
GRAFO DI RAGGIUNGIBILITÀ nella maggior parte dei casi sostituito da algoritmi per l’individuazione di stati «sbagliati»
INTRODUZIONE AL CONCETTO DI INFORMATICA
Mq M0
ESEMPIO DI P-RETE 2-LIMITATA
LE RETI DI PETRI (P-RETI): LIMITATEZZA POSTO LIMITATO (K-LIMITATO): k è il numero massimo di token nel posto per una qualsiasi marcatura possibile della rete P-RETE LIMITATA SE OGNI POSTO È LIMITATO
INTRODUZIONE AL CONCETTO DI INFORMATICA
M2
ESEMPIO DI P-RETE 1-LIMITATA M0
LE RETI DI PETRI (P-RETI): LIMITATEZZA SICUREZZA
UNA RETE 1-LIMITATA (K-LIMITATA CON K=1) SI DICE SICURA
M3
INTRODUZIONE AL CONCETTO DI INFORMATICA Gradi di vitalità di una transizione T in una P-Rete
0 – L0 Live
T non può scattare in nessuna marcatura raggiungibile
1 – L1 Live
esiste almeno una marcatura raggiungibile in cui T può scattare
2 – L2 Live
per ogni numero intero K Esiste almeno una marcatura raggiungibile in cui T può scattare K volte
3 – L3 Live
esiste almeno una marcatura raggiungibile in cui T può scattare infinite volte
4 – L4 Live
T può scattare in ogni marcatura raggiungibile
TRANSIZIONE MORTA
TRANSIZIONE VIVA
LE RETI DI PETRI (P-RETI): VITALITÀ RETE VIVA P-RETE È K-LIVE
se
Mq marcatura qualsiasi raggiungibile da M0
è sempre possibile
ogni transizione T è k-Live
fare scattare una transizione T qualsiasi a seguito di una qualsiasi sequenza di scatti
INTRODUZIONE AL CONCETTO DI INFORMATICA quando ci sono più transizioni abilitate, allo stesso tempo, qualsiasi può scattare
RETE NON-DETERMINISTICA
se non è garantito che una transizione abilitata scatti significa
UNA TRANSIZIONE ABILITATA PUÒ SCATTARE
immediatamente
dopo un periodo di attesa indefinito (purché permanga abilitata)
LE RETI DI PETRI (P-RETI): RETI NON DETERMINISTICHE
mai
INTRODUZIONE AL CONCETTO DI INFORMATICA • MACCHINE A STATI FINITI (SM: State Machine) • GRAFO MARCATO (MG: Marked Graph) • SCELTA LIBERA (FC: Free Choice)
• SCELTA ASIMMETRICA (ASYMMETRIC CHOICE - AC)
LE RETI DI PETRI (P-RETI): TIPOLOGIE PRINCIPALI
INTRODUZIONE AL CONCETTO DI INFORMATICA
ESEMPI DI POSSIBILI CONFIGURAZIONI
• Nessuna CONCORRENZA • Nessun CONFLITTO
LE RETI DI PETRI (P-RETI): MACCHINA A STATI FINITI (SM: STATE MACHINE)
MACCHINA A STATI FINITI, rete in cui ogni TRANSIZIONE ha un solo arco in entrata e un solo arco in uscita
INTRODUZIONE AL CONCETTO DI INFORMATICA
ESEMPIO DI POSSIBILE CONFIGURAZIONE
• Possibile CONCORRENZA • Nessun CONFLITTO
LE RETI DI PETRI (P-RETI): GRAFO MARCATO (MG: MARKED GRAPH)
GRAFO MARCATO (è la rete duale della Macchina a Stati Finiti) rete in cui ogni TRANSIZIONE ha un solo arco in entrata e un solo arco in uscita
INTRODUZIONE AL CONCETTO DI INFORMATICA 1:3
1:1
1:1
1:3
2:1
1:1
2:1
2:1 1:3 2:1
ESEMPIO DI POSSIBILE CONFIGURAZIONE
• Possibile CONCORRENZA • Possibile CONFLITTO • CONFLITTO E CONCORRENZA MAI CONTEMPORANEAMENTE
LE RETI DI PETRI (P-RETI): SCELTA LIBERA (FC: FREE CHOICE)
SCELTA LIBERA, rete in cui ogni arco è o l’unico che esce da un Posto o l’unico che entra in una Transizione
INTRODUZIONE AL CONCETTO DI INFORMATICA
Conflitto
Concorrenza
A
B
ESEMPIO DI POSSIBILE CONFIGURAZIONE • Possibile CONCORRENZA • Possibile CONFLITTO • CONFLITTO + CONCORRENZA (CONFUSIONE) MAI SIMMETRICAMENTE
LE RETI DI PETRI (P-RETI): SCELTA ASIMMETRICA (AC: ASYMMETRIC CHOICE) SCELTA ASIMMETRICA, rete in cui se 2 Posti (A e B) sono Posti di Input per una stessa Transizione, l’insieme delle transizioni per A è Posto di Input contiene le transizioni per cui B è Posto di Input
INTRODUZIONE AL CONCETTO DI INFORMATICA Struttura logica di un sistema
descrivono RETI DI PETRI (classiche)
Evoluzione temporale di un sistema
non descrivono Non includono Il concetto di tempo
si estendono attraverso
RETI DI PETRI TEMPORIZZATE
Transizione = Evento
Transizione = Attività del Sistema
Istantaneo
Tempo non nullo (attività durata)
Posto = Attività del Sistema Posto Durata (Tempo necessario per l’attività)
LE RETI DI PETRI (P-RETI): RETI TEMPORIZZATE •
Tmin –Tmax (Tempo di scatto se non si disabilita)
Tutti i gettoni vengono rimossi dai posti di Input •
Transizione in scatto per tutta la durata
SCATTO •
Fine in scatto, gettoni nei posti di Output
INTRODUZIONE AL CONCETTO DI INFORMATICA
Sierpinski Triangle (Frattale)
«Il caso è la somma delle nostre ignoranze.»
Pierre Laplace
INTRODUZIONE AL CONCETTO DI INFORMATICA PROBLEMA DEI 5 FILOSOFI AFFAMATI (dining philosophers problem, Dijkstra)
Schematizza problemi di concorrenza e condivisione di risorse
PROBLEMA DEL BARBIERE CHE DORME Schematizza problemi analoghi a quelli di un help desk informatizzato
LE RETI DI PETRI (P-RETI) - 2 PROBLEMI CLASSICI
INTRODUZIONE AL CONCETTO DI INFORMATICA PROBLEMA DEL BARBIERE CHE DORME Schematizza problemi analoghi a quelli di un help desk informatizzato
Un barbiere possiede un negozio con una sola sedia da lavoro e un certo numero limitato di posti per attendere. Se non ci sono clienti il barbiere dorme altrimenti, all'arrivo del primo cliente il barbiere si sveglia ed inizia a servirlo. Se dovessero sopraggiungere clienti durante il periodo di attivitĂ del barbiere, essi si mettono in attesa sui posti disponibili. Al termine dei posti di attesa, un ulteriore cliente viene scartato. Una corretta programmazione concorrente deve far "dormire" il barbiere in assenza di clienti, attivare il barbiere sul primo cliente al suo arrivo e mettere in coda tutti i successivi clienti tenendoli inattivi.
LE RETI DI PETRI (P-RETI) - PROBLEMA DEL BARBIERE CHE DORME
INTRODUZIONE AL CONCETTO DI INFORMATICA PROBLEMA DEI 5 FILOSOFI AFFAMATI (dining philosophers problem, Dijkstra)
Schematizza problemi di concorrenza e condivisione di risorse Cinque filosofi (nella versione più nota) sono stabilmente seduti a tavola di fronte ad un piatto ed a due bacchette, condivise con i loro vicini. In pratica sul tavolo ci sono 5 piatti (pieni di riso e che si suppongono contenere una quantità infinita di cibo) e 5 bacchette; i filosofi alternano momenti in cui pensano e momenti in cui mangiano. Per mangiare devono prendere le due bacchette accanto al loro piatto e mangiare mentre durante la meditazione devono riporre le bacchette sul tavolo. Il numero di bacchette impedisce a tutti i filosofi di mangiare contemporaneamente. • Un filosofo può prendere solo le due bacchette che stanno alla sua destra e alla sua sinistra, una per volta, e solo se sono libere, non può sottrarre la risorsa bacchetta ad un altro filosofo che l'ha già acquisita e sta mangiando (no preemption, non c’è predominanza). • Finché non riesce a prendere le bacchette, il filosofo deve aspettare affamato. Quando invece è sazio posa le bacchette al loro posto e si mette a pensare per un certo tempo. Una corretta programmazione concorrente deve essere in grado di far mangiare alternativamente tutti i filosofi evitando che qualcuno in particolare soffra di starvation1 ed evitando che si verifichino stalli in fase di "acquisizione delle bacchette".
LE RETI DI PETRI (P-RETI) - PROBLEMA DEL BARBIERE CHE DORME (1) STARTVATION, letteralmente “inedia”, ma in informatica lo stato di un processo pronto per essere eseguito ma che non riesce ad ottenere le risorse di cui necessita.
INTRODUZIONE AL CONCETTO DI INFORMATICA PROBLEMA DEI 2 FILOSOFI AFFAMATI (dining philosophers problem, Dijkstra)
Schematizza problemi di concorrenza e condivisione di risorse 1.
Nietzsche ed Eraclito mangiano spesso assieme
2.
Siedono attorno ad un tavolo rotondo e hanno, ognuno, a disposizione un piatto di cibo e due singole bacchette sono collocate ai lati dei loro piatti
3.
Sempre, o pensano o mangiano
4.
Quando uno dei due comincia ad avere fame cerca di prendere possesso delle bacchette alla sua destra e alla sua sinistra, in ordine arbitrario
5.
Qualora riesca a prenderle entrambe, mangia per un po'. Successivamente depone le bacchette e si rimette a pensare
6.
Nessuno dei due è in grado di mangiare con una singola bacchetta o con le mani
7.
Il problema consiste nel far in modo che entrambi i filosofi riescano a cibarsi e pensare periodicamente
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA Posto del filosofo che pensa
Acquisisce le bacchette
PENSA
Acquisisce le bacchette
MANGIA
Posto del filosofo che mangia
Rilascia le bacchette
Rilascia le bacchette
Stati del Filosofo
Marcatura Iniziale
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA Posto della bacchetta 1 sul tavolo
Acquisire le bacchetta 1 Posto della bacchetta 1 in mano al filosofo
Posto del filosofo che pensa
Posto della bacchetta 2 in mano al filosofo
Posto della bacchetta 2 sul tavolo
Acquisire le bacchetta 1
Posto del filosofo che mangia
Acquisire le 2 bacchette
Marcatura Iniziale
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA b1
t1
t2
t3
f1
b2
t4
b1 f1
t5
b1 f1 b2
t6
b1 f1 b2
f2
b2 f2
b2 f2 b1
b2 f2 b1
P-rete 3-limitata
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA b1
t1
f1
b1 f1
b2 t1 e t4 : transizione attiva con 1 TOKEN per ogni POSTO DI INPUT
t4
f2
b2 f2
(il filosofo acquisisce la bacchetta alla sua sinistra)
t2
b1 f1 b2
t2 e t5 : transizione attiva con 3 TOKEN nel POSTO DI INPUT
t5
b2 f2 b1
(il filosofo acquisisce la bacchetta alla sua destra)
t3
b1 f1 b2
t3 e t6 : transizione attiva con 3 t6 TOKEN nel POSTO DI INPUT
b2 f2 $ b1
(il filosofo le smette di magiare e rilascia le bacchette)
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA b1
t1
Posti delle Risorse
f1
b2
(i filosofi pensa e le bacchetta sono sul tavolo)
t4
b1 f1
f2
b2 f2
Posti dell’Acquisizione (i filosofi acquisiscono una bacchetta)
t2
t5
b1 f1 b2
b2 f2 b1
Posti della utilizzo delle Risorse (i filosofi mangiano)
t3
t6
b1 f1 b2
b2 f2 b1
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA b1
t1
t2
t3
f1
b2
t4
b1 f1
t5
b1 f1 b2
t6
b1 f1 b2
f2
b2 f2
b2 f2 b1
b2 f2 b1
P-rete 3-limitata
LE RETI DI PETRI (P-RETI) - PROBLEMA DEI DUE FILOSOFI AFFAMATI b1
f1
f2 b2
INTRODUZIONE AL CONCETTO DI INFORMATICA t1
1
[1,1,1,1,0,0,0,0]
[0,0,1,1,1,0,0,0] t2
t1
t3
f1
2
3 t4
b1 f1
5
t4 t2
b2
f2
b2 f2
6 t5
b1 f1 b2
7
[1,1,0,0,0,1,0,0] t3
[0,0,0,1,0,0,1,0]
b1
b2 f2 b1
8 t6
b1 f1 b2
b2 f2 b1
t5
[0,1,0,0,0,0,0,1]
b1
f1
b2
f2
t1
b1 f1
t4
b2 f2
t2
b1 f1 b2
t5
b2 f2 b1
t3
b1 f1 b2
t6
b2 f2 b1
t6
LE RETI DI PETRI (P-RETI) PROBLEMA DEI DUE FILOSOFI AFFAMATI
MARCATURA, un insieme di 8 valori, in ordine, 1 se ci sono TOKEN 0 se non ci sono nello stato i. Ci sono in questo caso 6 marcature possibili.
Configurazione M0
4
INTRODUZIONE AL CONCETTO DI INFORMATICA Cappuccetto Rosso
Mamma
Cappuccetto Rosso casa della Nonna con le focacce
Nonna malata
Lupo a casa della Nonna
T1: Raccomandazione
Cacciatore Lupo che russa
T5: Mangia Cappuccetto Rosso nel bosco con le focacce
T6: Accorrere
Lupo
Lupo travestito A casa della nonna
Lupo che dorme
Cacciatore a casa della nonna
T2: Incontro T5: Dialogo Cappuccetto Rosso a frutti di bosco
Lupo morto
Lupo informato
Cacciatore con coltello
Cappuccetto Rosso terrorizzato T4: Corre T3: Raccolta
Cappuccetto Rosso con cestino di frutti di bosco e le focacce a casa della nonna
Lupo smascherato
T7: Squartamento
T6: Mangia
LE RETI DI PETRI (P-RETI) PROBLEMA DEI DUE FILOSOFI AFFAMATI
«Ci sono soltanto due possibili conclusioni: se il risultato conferma le ipotesi, allora hai appena fatto una misura. Se il risultato è contrario alle ipotesi, allora hai fatto una scoperta.» ENRICO FERMI AA 2011-2012 Prof. Giorgio Poletti giorgio.poletti@unife.it