You are on page 1of 20

12a Conferenza Nazionale ASITA, L’Aquila 21- 24 ottobre 2008

Applicazione dei rough sets ai sistemi informativi


geografici. Realizzazione di un nuovo modulo in GRASS

Antonio Boggia (*), Gianluca Massei(*)

(*) Dipartimento di Scienze Economico-Estimative e degli Alimenti dell'Università degli Studi di Perugia. Borgo XX Giugno, 74 Perugia
06121. Tel.: 075 5857136; fax: 075 5857146; e-mail: boggia@unipg.it, g_massa@libero.it
Obiettivi del lavoro

1. Implementazione di tecniche di supporto alle decisioni e discovery knowledge in


ambiente GIS attraverso la realizzazione di tools dedicati

2. Sperimentazione dei rough set applicati ai database geografici

3. Aggiornamento delle Rough Set Library in linguaggio C e rilascio con licenza GPL

4. Predisposizione e verifica di un'interfaccia delle Rough Set Library per python 2.5
attraverso il modulo ctypes.

5. Predisposizione di una base di lavoro per il successivo arricchimento delle Rough Set
Library con gli algoritmi della teoria dei rough set basati sulla dominanza (analisi multi
criterio)
Strumenti e metodologie

Python 2.5 Linguaggio C

Rough Set Library ver. 2

QGIS 0.10 Grass 6.3


La teoria dei rough set

Nozioni di base - 1
Introdotta da Pawlak (1982, 1991), si è dimostrata spesso un eccellente strumento matematico per

analizzare dati caratterizzati da imprecisione e vaghezza nella loro descrizione.

Fondata sull'assunzione che ad ogni oggetto dell'universo è associata qualche informazione che lo

descrive.

Oggetti caratterizzati dalla stessa descrizione sono indiscernibili (similari) con riferimento alle

informazioni disponibili.

La relazione di indiscernibilità così generata costituisce il fondamento matematico della teoria dei

rough sets.

Ogni insieme di oggetti indiscernibili si chiama insieme elementare e costituisce un granulo


elementare (atomo) della conoscenza dell'universo.


La teoria dei rough set

Nozioni di base - 2

Un sottoinsieme Y della conoscenza dell'universo può essere caratterizzato da due insiemi ordinari,
chiamati approssimazione inferiore e superiore.


L'approssimazione inferiore di Y è formata da tutti gli insiemi elementari inclusi in Y (i cui
elementi, quindi, appartengono sicuramente a Y).


L'approssimazione superiore di Y è costituita da tutti gli insiemi elementari che hanno
un’intersezione non vuota con Y (i cui elementi, quindi, possono appartenere a Y).


La differenza tra l'approssimazione superiore e quella inferiore costituisce la frontiera (boundary
region) del rough set, i cui elementi non possono essere, di conseguenza, caratterizzati con certezza
circa l'appartenenza a Y, usando le informazioni disponibili.
La teoria dei rough set

Sistema informativo a٠ a١ a٢ a٣ a٤
x٠ ١ A ٢ ٣٤ black
U – un insieme finito di oggetti chiamato universo x١ ٢ A ٣ ٢٣ blue
A – un insieme finito di attributi x٢ ٤ B ٣ ٣٢ white
x٣ ١ B ٢ ١٢ black
V – un insieme di valori degli attributi, dove:
x٤ ٣ B ١ ٣٢ blue
x٥ ١ B ٤ ١٢ black

V=U Va , dove Va è chiamato dominio di a


a A

U = { x0, x1, x2, x3, x4, x5 } ,


⨍ - una funzione informazione ⨍ : U x A → V
A = { a0, a1, a2, a3, a4 } ,
Va0 = Va2 = { 1, ..., 5} ,
Va1 = { A, B } ,
dove per ogni x ∈ U e a ∈ A f(x,a) ∈ Va . Va3 = { 1, ..., 50 } ,
Il sistema informativo viene così definito come: Va4 = { black, blue, white } ,
f(x0,a0) = 1 ,
S = < U, A, V , f > . f(x0,a1) = A .
La teoria dei rough set

Discernibilità

S = < U, A, V, f > un sistema informativo,


P⊆A,
X⊆U.

La relazione di indiscernibilità è una relazione


IND(P) = {(x,y) ∈ U2: per ogni a ∈ P, f(x,a)=f(y,a)} di equivalenza e divide l'universo U (sistema
è definita relazione di indiscernibilità e può essere informativo) in una famiglia di classi di
rappresentata come una matrice di discernibilità. equivalenza. Tale famiglia sarà indicata come
U/IND(P)

Esempio
x0 x1 x2 ...
x0 P = {a0, a2} ,
x1 {a0,a2,a3,a4} IND({a1})= { (x0,x1), (x2,x3), (x2,x4), (x2,x5),
(x3,x4), (x3,x5), (x4,x5) } ,
x2 {a0,a1,a2,a3,a4} {a0,a1,a3,a4}
IND(P) = { (x0,x3) } ,
x3 {a1,a3} {a0,a1,a2,a3,a4} {a0,a1,a3,a4} U/IND({a1}) = {{x0,x1},{x2,x3,x4,x5}} ,
... U/IND(P) = {{x0,x3},{x1},{x2},{x4},{x5}} .
La teoria dei rough set

Approssimazione
Sia
X ⊆ U – un insieme di oggetti e P ⊆ A – un insieme di attributi

P-lower approximation o approssimazione inferiore ( P X ) di X e P-upper approximation o approssimazione


superiore di X ( P X ) sono definiti come segue:

PX = ∪{Y ∈ U/IND(P) : Y ⊆ X }, PX =∪{Y ∈ U/IND(P) : Y ∪ X ≠ ∅ } .

La differenza tra lower e upper approximation è chiamata P-boundary di X ed è definita:


BNP(X)= P X - P X

Esempio
X = { x٠, x١, x٢ } ,
P = { a٠, a٢ } ,
P X = { x١, x٢ } ,
P X = { x٠, x١, x٢, x٣ } ,

BNP(X) = { x٠, x٣ } ,
α P(X) = ٠.٥ .
La teoria dei rough set

Riduzione degli attributi (core e ridotto)


Sia Un attributo a chiamato superfluo in P se IND(P) = IND(P-{a}). In caso contrario a è
P,Q ⊂ A , indispensabile.
a∈P.
Gli attributi superflui non incrementano le capacità di classificazione o, piuttosto, la la
loro assenza non la riduce

Il più piccolo sottoinsieme che assicura la stessa qualità della classificaizone in tutti gli attributi è una
riduzione in S. E' in alcuni casi chiamato “insieme minimale degli attributi”.

Notiamo che un sistema informativo può avere più di un insieme minimale/ridotto, l'intersezione di tutti
questi insiemi in P è chiamata core è indicata CORE(P)..
Il core è una raccolta dei più significativi attributi per la classificazione del sistema.

Esempio
CORE(A) = { a ٢ } ,
RED(A) = { {a١,a ٢}, {a ٢,a ٣} } .
La teoria dei rough set

Estrazione delle regole

Sia
P,Q ⊂ A , La regoladerivata dall'oggetto oassume la forma di una “implicazione” del tipo:

o∈U,

. if (a1=f(a1)) and ... and (an=f(an))

then (b1=f(b1)) and ... and (bk=f(bk)),


dove:
a1,...,an - attributi P,
b1,...,bk - attributi Q,
f - information function.

Le regole possono essere generate secondo numerosi algoritmi che si differenziano per
“robustezza” dei risultati ed efficienza di calcolo.
Le RSL utilizzano la matrice di discernibilità ridotta; le singole regole vengono estratte per ogni riga
della matrcie operando l'intersezione delle unioni dei singolo insiemi tra loro discernibili.
La teoria dei rough set e le informazioni geografiche

Sistema informativo:
U = { px1,px2,px3,...,pxn }
S = < U, A, V , f > A = { grid1,grid2,...,gridn }

U – un insieme finito di oggetti chiamato universo


A – un insieme finito di attributi
V – un insieme di valori degli attributi, dove:
gisbase

grid١ grid٢ ... gridn


px١
region px٢
px٣
...
pxn
Il modulo r.roughset

Description:
Rough set based geographics knowledge
Keywords:
raster,geographics knowledge discovery
Usage:
r.roughset attributes=string[,string,...] decision=string
strategy=string InfoSys=string [--verbose] [--quiet]
Flags:
--v Verbose module output
--q Quiet module output
Parameters:
attributes Input geographics attributes in information system
decision Input geographics decision in information system
strategy Choose strategy for generating rules
options: Very fast,Fast,Medium,Best,All,Low,Upp,Normal
InfoSys Output information system file
default: InfoSys
Esempio: rough set teory applicata agli incendi boschivi
Dati di input:

Tipologia forestale Buffer centri abitati

Buffer di viabilità Aree decisionali


Output alfanumerico

Infosys.out
Mean number of attributes in rule = 1.7
Condition attributes are { 0,1,2,3,4,5 }
Decision attributes are { 6 }
CORE = { 0,2,4,5 }
RedOptim = { 0,2,4,5 }
5 strategy of generating rules
Time of generating rules = 1234s
Rules ( 6 )
Forestale_Fision@IncendiFoligno=6 => incendi_frq_mod@IncendiFoligno=2 ( 65 objects )
Forestale_Fision@IncendiFoligno=10 => incendi_frq_mod@IncendiFoligno=4 ( 43 objects )
Forestale_Fision@IncendiFoligno=9 => incendi_frq_mod@IncendiFoligno=4 ( 70 objects )
Forestale_Fision@IncendiFoligno=5 buff_elettrodotti@IncendiFoligno=4 => incendi_frq_mod@IncendiFoligno=3 ( 62
objects )
buff_elettrodotti@IncendiFoligno=3 centri_buffer@IncendiFoligno=5 => incendi_frq_mod@IncendiFoligno=3 ( 20
objects )
UsoSuolo@IncendiFoligno=2 buff_strade@IncendiFoligno=3 => incendi_frq_mod@IncendiFoligno=3 ( 61 objects )
Output alfanumerico

Infosys.out.sh
#!/bin/bash
RASTERrule=${1}
if [ $# -ne 1 ]; then
echo 'Output file named roughmap, Consider renaming'
RASTERrule=roughmap
fi
r.mapcalc 'maprule0=if(Forestale_Fision@IncendiFoligno==6,2,null())'
r.mapcalc 'maprule1=if(Forestale_Fision@IncendiFoligno==10,4,null())'
r.mapcalc 'maprule2=if(Forestale_Fision@IncendiFoligno==9,4,null())'
r.mapcalc 'maprule3=if(Forestale_Fision@IncendiFoligno==5 &&
buff_elettrodotti@IncendiFoligno==4,3,null())'
r.mapcalc 'maprule4=if(buff_elettrodotti@IncendiFoligno==3 && centri_buffer@IncendiFoligno==5,3,null())'
r.mapcalc 'maprule5=if(UsoSuolo@IncendiFoligno==2 && buff_strade@IncendiFoligno==3,3,null())'

r.patch --overwrite input=maprule0,maprule1,maprule2,maprule3,maprule4,maprule5 output=$RASTERrule


g.remove rast=maprule0,maprule1,maprule2,maprule3,maprule4,maprule5
r.colors map=$RASTERrule color=ryg
Output grafico

Le aree in rosso sono quelle


per le quali si verifica la
coincidenza di tutti i fattori che
determinano la massima
frequenza di innesco di
incendio

Le aree in verde sono quelle


caratterizzate da frequenze
minime

Le aree in giallo sono quelle


con condizioni intermedie
Interfaccia in python 2.5 delle RSL

Le “python RSL” sono state completamente


testate dagli autori in ambiente non GIS

Si sta lavorando per verificarne i risultati


all'interno di GRASS/QGIS, utilizzando
le potenzialità di scripting in python

L'obiettivo è quello di disporre di un ambiente


interattivo di analisi geografica basata sui
rough set in associazione al modulo r.roughset
Sviluppi futuri

a. Le rough set library sono ora disponibili con licenza GPL; si intende, perciò, contribuire
al loro mantenimento implementando il supporto per i rough set basati sulla dominanza
ed inserendo nuovi algoritmi di estrazione delle regole decisionali.

b. Approfondimento delle verifiche di attendibilità e di performance del supporto


python delle future versioni delle RSL in ambiente GRASS/QGIS

c. Realizzazione di un modulo GRASS dedicato (r.mcda.rsdb ?) che esegua analisi


multicriteri in ambiente GIS secondo la teoria dei rough set basati sulla dominanza

d. Integrazione del futuro modulo r.mcda.rsdb nella suite di moduli GRASS finalizzati
all'analisi multicriterio in ambiente geografico (mcda), disponibili nel repository degli
addons di GRASS (http://trac.osgeo.org/grass/browser/grass-addons/raster/mcda)
T h is d o c u m e n t is lic e n s e d u n d e r th e A ttr ib u tio n ٢ .٥ I ta ly lic e n s e ,
a v a ila b le a t h ttp ://c r e a tiv e c o m m o n s .o r g /lic e n s e s /b y / ٢ .٥ /it/.

You might also like