Informatica, WEB 2.0 e interfacce cognitive - Parte 1

Page 1

«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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.