scieee Science in your language
[es] (orig)

Anonimización de bases de datos médicas

Abstract

La publicación de los resultados de programas de screening (exámenes médicos orientados a un grupo genérico de la población) es de sumo interés para la comunidad científica. A pesar de eliminar datos personales como DNI, nombre, etc. el resto de la información, los llamados cuasiidentificadores (código postal, género, edad, profesión, o información de la cita médica incluyendo el centro y la hora) pueden ser utilizados para desvelar la identidad de los participantes en el programa. En particular, la información de la cita médica puede resultar comprometedora si, ya sea intencionadamente o por casualidad, se descubre que una persona determinada ha acudido a un determinado centro en una fecha concreta. Bastaría entonces con consultar los resultados del test para saber si el individuo cuyos cuasi-identificadores conocemos padece la enfermedad. El objetivo de este trabajo es programar la asignación de citas, de manera que se aumente el nivel de anonimato de las bases de datos finales. Para ello, se pretende que personas con características comunes (edad, etc.) acudan a la misma cita (hora y centro), dificultando la identificación de los resultados médicos de un individuo aunque se conozcan sus datos personales, ya que se encontrarán con varias personas con los que comparte los mismos cuasi-identificadores.

Read accessible full text

Anonimización de bases de datos médicas

Author: Naji Jaffar, Shahad; Manjón Corrales, Beatriz
Year: 2016
Source: https://docta.ucm.es/bitstreams/26d82d59-7bc4-450a-b2ef-04b169347d18/download
Anonimización de Bases de Da os Médicas
Shahad Naji Ja a y Bea iz Manjón Co ales
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
TRABAJO FIN DE GRADO EN INGENIERÍA INFORMÁTICA
Mad id, 6 de junio del 2016
Di ec o : Ra ael Caballe o Roldán
2
AUTORIZACIÓN PARA LA DIFUSIÓN DEL TRABAJO FIN DE GRADO Y SU DEPÓSITO EN
EL REPOSITORIO INSTITUCIONAL E-PRINTS COMPLUTENSE
Los abajo i man es, alumno/s y u o /es del T abajo Fin de G ado (TFG) en el G ado
en INGENIERÍA INFORMÁTICA de la Facul ad de INFORMÁTICA, au o izan a la Uni e sidad
Complu ense de Mad id (UCM) a di undi y u iliza con ines académicos, no come ciales y
mencionando exp esamen e a su au o el T abajo Fin de G ado (TF) cuyos da os se de allan a
con inuación. Así mismo au o izan a la Uni e sidad Complu ense de Mad id a que sea
deposi ado en acceso abie o en el eposi o io ins i ucional con el obje o de inc emen a la
di usión, uso e impac o del TFG en In e ne y ga an iza su p ese ación y acceso a la go plazo.
Pe iodo de emba go (opcional):
 6 meses
 12meses
TÍTULO del TFG: ANONIMIZACIÓN DE BASES DE DATOS MÉDICAS
Cu so académico: 2015 / 2016
Nomb e del Alumno/s:
SHAHAD NAJI JAFFAR
BEATRIZ MANJÓN CORRALES
Tu o /es del TFG y depa amen o al que pe enece:
RAFAEL CABALLERO ROLDÁN
Depa amen o: SISTEMAS INFORMÁTICOS Y COMPUTACIÓN
Fi ma del alumno/s Fi ma del u o /es
3
Índice
Índice de igu as ............................................................................................................................ IV
Índice de ablas .............................................................................................................................. V
Resumen ...................................................................................................................................... VI
Abs ac ..................................................................................................................................... VII
Con ibuciones de Shahad Naji Ja a ......................................................................................... VIII
Con ibuciones de Bea iz Manjón Co ales ................................................................................... X
1 | In oducción ................................................................................................................. 12
1.1 An eceden es 12
1.2 Nociones de anonima o 12
1.3 Nues o Obje i o 13
2 | Simulación de Da os ...................................................................................................... 15
2.1 Población y ecu sos 16
2.2 Gene ación alea o ia de ci as 18
3 | Vec o es de Anonima o ................................................................................................. 19
3.1 Insu iciencia del k-anonima o 19
3.2 De inición de ec o de anonima o 21
4 | Anonima o como P oblema de op imización en P og amación con Res icciones .......... 23
4.1 P og amación con Res icciones 23
4.2 El modelo 25
4.3 Posibles mejo as 29
5 | Expe imen os ................................................................................................................ 30
5.1 Mejo a de anonima o 30
5.2 Desc ipción de los expe imen os 31
6 | Implemen ación ............................................................................................................ 36
7 | Conclusiones y abajo u u o ....................................................................................... 40
8 | Conclusions and u u e wo k ........................................................................................ 42
9 | Bibliog a ía ................................................................................................................... 44
4
Índice de igu as
Imagen 1: Ejemplo de con enido del iche o .dzn 25
Imagen 2: P ime le el 27
Imagen 3: Segundo le el 27
Imagen 4: Te ce le el 27
Imagen 5: Cua o le el 28
Imagen 6: Resul ado inal del p og ama 38
5
Índice de ablas
Tabla 1: Tabla de población 15
Tabla 2: Tabla de ecu sos 15
Tabla 3: Tabla de población con asignación de ecu sos alea o ios 16
Tabla 4: Tabla de población sin asignación de ci as alea o ias y mejo adas 17
Tabla 5: Tabla de población con asignación de ci as alea o ias 18
Tabla 6: P ime ejemplo de abla de población con asignación de ecu sos alea o ios 19
Tabla 7: Segundo ejemplo de abla de población con asignación de ecu sos alea o io 20
Tabla 8: Te ce ejemplo de abla de población con asignación de ecu sos alea o ios 20
Tabla 9: Tabla de cuasi-iden i icado es de los es ejemplos 21
Tabla 10: Tabla de ec o es de anonima o 21
Tabla 11: P ime expe imen o con población amaño 10 32
Tabla 12: Segundo expe imen o con población amaño 20 33
Tabla 13: Te ce expe imen o con población amaño 30 34

6
Resumen
La publicación de los esul ados de p og amas de sc eening (exámenes médicos o ien ados a un
g upo gené ico de la población) es de sumo in e és pa a la comunidad cien í ica. A pesa de
elimina da os pe sonales como DNI, nomb e, e c. el es o de la in o mación, los llamados cuasi-
iden i icado es (código pos al, géne o, edad, p o esión, o in o mación de la ci a médica
incluyendo el cen o y la ho a) pueden se u ilizados pa a des ela la iden idad de los pa icipan es
en el p og ama. En pa icula , la in o mación de la ci a médica puede esul a comp ome edo a
si, ya sea in encionadamen e o po casualidad, se descub e que una pe sona de e minada ha
acudido a un de e minado cen o en una echa conc e a. Bas a ía en onces con consul a los
esul ados del es pa a sabe si el indi iduo cuyos cuasi-iden i icado es conocemos padece la
en e medad. El obje i o de es e abajo es p og ama la asignación de ci as, de mane a que se
aumen e el ni el de anonima o de las bases de da os inales. Pa a ello, se p e ende que pe sonas
con ca ac e ís icas comunes (edad, e c.) acudan a la misma ci a (ho a y cen o), di icul ando la
iden i icación de los esul ados médicos de un indi iduo aunque se conozcan sus da os pe sonales,
ya que se encon a án con a ias pe sonas con los que compa e los mismos cuasi-iden i icado es.
Palab as Cla e: Bases de da os, Cuasi-iden i icado es, Da os pe sonales, Gene ación de
ci as, Ni el de anonima o, Sc eening
7
Abs ac
The publica ion o sc eening p og ammes’ esul s (examina ion o es ing o a g oup o
indi iduals o sepa a e hose who a e well om hose who ha e an undiagnosed disease o de ec
o who a e a high isk [11]) is an impo an ac o o he scien i ic communi y. In spi e o dele ing
pe sonal da a such as ID, name, e c. he es o he in o ma ion, which is called quasi-iden i ie s
(P.O. Box, gende , age, p o ession o he in o ma ion o he appoin men including he medical
cen e and he ime) could be used o e eal he iden i y o he pa icipan s o he sc eening
p og amme. Pa icula ly, he in o ma ion o he medical appoin men may be inc imina ing, ei he
in en ionally o by acciden , ha disclose a speci ic pe son a ends a pa icula cen e a a known
da e. Then, i will be enough wi h consul ing he es s esul s o know i he indi idual wi h he
quasi-iden i ie s, which we know, su e s om illness. The objec i e o his p ojec is o
p og amme he assignmen o he appoin men s, in o de o inc ease he anonymi y le el o he
inal da abase. Then, he plan is ha people wi h he same cha ac e is ics (age, e c) a end he
same appoin men ( ime and cen e), hinde he iden i ica ion o he medical esul s o a speci ic
indi idual e en i his o he pe sonal da a a e known, because, he in o ma ion o he same quasi-
iden i ie s o mo e han one pe son will be ound.
Keywo ds: Anonymi y le el, Assignmen o he appoin men s, Da abase, Pe sonal da a,
Quasi-iden i ie , Sc eening
8
Con ibuciones de Shahad Naji Ja a
Como Bea iz y yo no solamen e somos compañe as que se eunie on pa a lle a a cabo el abajo
in de g ado, sino ambién amigas, ambas nos coo dinamos de al mane a que podemos deci que
el abajo ue ealizado o almen e en conjun o median e la compa ición, el usionamien o de
nues as ideas y es ue zo.
Después de cada eunión con el u o del p oyec o cada una p epa aba un posible a ance sob e lo
discu ido en dicha eunión, pa a pos e io men e escoge la mejo idea, o elegi la mejo pa e de
la misma, e ec uando un usionamien o de ideas, po lo que se log aba una mejo con la ayuda
de nues o u o .
En un p ime momen o, ambas leímos a ios a ículos sob e cómo mejo a el anonima o de una
abla, haciendo un g an hincapié sob e el k-anonima o.
La implemen ación de es e p oyec o se ha di idido en e cinco p og amas, cuyo lenguaje de
p og amación es Ja a, que son in ocados median e un p og ama en Bash.
Pa a la ins alación de la base de da os elacional que con iene los da os de pe sonas y ecu sos.
En pa icula hemos elegido Pos g eSQL en su e sión 1.22.0 Be a 1.
En el p ime p og ama mi labo des aca en la c eación de una unción esc i a Pos g eSQL que
asegu a que los ecu sos pueden a ende a oda la población po lo que se aumen a la capacidad
de cada ecu so has a la máxima capacidad es ablecida po el usua io inal. Si no se consigue que
los ecu sos cub an a oda la población, el p og ama se de end á in ocando a una excepción.
Pa a asigna las ci as a la población an o mi compañe a Bea iz como yo nos eunimos pa a
p og ama el segundo p og ama, usando la unción Random del paque e ja a.u il.Random.
Du an e el desa ollo del p oyec o se ha que ido sabe cuál es el alo del k-anonima o de las
ablas eligiendo cie os a ibu os que ep esen an a los cuasi-iden i icado es. Pa a ello, Bea iz y
yo; y bajo la supe isión de nues o u o c eamos el e ce p og ama.
Cabe des aca que es e e ce p og ama nos apo ó an o a mi compañe a como a mí un mejo
en endimien o de es e T abajo Fin de G ado e inando los concep os.
Ambas implemen amos unciones necesa ias del cua o p og ama pa a calcula : Q, , R y c.
Pa a ob ene los alo es de los da os an e io es, c eamos a ias unciones que acceden a las ablas
de la base de da os Pos g eSQL as comp oba la exis encia de las mismas.
En es e p og ama, des aca la labo de mi compañe a Bea iz po la co ec a colocación de los
pa áme os Q, , R y c; y sus espec i os alo es en el iche o con ex ensión .dzn pa a que es os
sean co ec amen e leídos po el p og ama de MiniZinc, de aquí en adelan e appoin men .mzn.
Pa a la ob ención del ec o anonima o, es deci pa a consegui una mejo a de anonima o se ha
p ocedido a p og ama el quin o p og ama.
9
Debemos des aca la labo de nues o u o con espec o a la implemen ación de appoin men .mzn
y además del cálculo de dis ancia en e los dis in os ec o es gene ados, es deci , la medida de
mejo a de anonima o ob enida.
An es de p ocede a ejecu a appoin men .mzn se debe ealiza una lec u a del iche o con
ex ensión .dzn gua dando los alo es Q, , R y c de en a iables según su ipo ap opiado pa a su
pos e io uso en es e mismo p og ama. Aquí des aca mi labo jun o con la supe isión de mi
compañe a Bea iz que an es de la ejecución de appoin men .mzn ealizó a ias unciones que
calculan el ec o de anonima o base y el ec o de anonima o alea o io esc ibiéndolos en el
iche o .dzn pa a su pos e io compa ación con el ec o que se gene a á a con inuación po
MiniZinc.
Después de es a lec u a, además mi labo se ha cen ado en la llamada a MiniZinc a pa i de Ja a,
y ac ualiza los alo es del iche o .dzn con los alo es de uel os po appoin men .mzn.
Debemos menciona que g acias a es e T abajo Fin de G ado hemos expandido nues os
conocimien os u ilizando Pos g eSQL po p ime a ez, así como la p og amación con
es icciones (MiniZinc) y la implemen ación de un p og ama en Bash Shell.
Pa a la elabo ación del p og ama Bash Shell, nos eunimos pa a ealiza dos e siones, una en
español y o a en inglés, e inándolos du an e el desa ollo de los expe imen os.
Cabe des aca , la g an labo de mi compañe a Bea iz en la ealización de los expe imen os a
pa i de los pa áme os es ablecidos po odo el equipo de es e T abajo Fin de G ado (el u o y
noso as dos).
Pa a el pos e io análisis de los expe imen os, elabo amos a ias ablas pa a compa a los dis in os
alo es que se gene a on a pa i de oda la implemen ación an e io y pode llega a cie as
conclusiones.
Finalmen e, la esc i u a de es a memo ia se ha ealizado o almen e en conjun o en e los
componen es del equipo que ha desa ollado es e T abajo Fin de G ado.
16
Edad
CP
Géne o
Núme o de
P o esiones
Recu so
Alea o io
16
2
0
1
3
17
1
0
1
3
16
1
1
1
1
16
2
1
1
5
17
2
0
1
1
16
2
1
1
4
17
2
1
1
3
16
1
1
1
4
16
2
0
1
5
16
2
0
1
2
18
1
1
1
4
16
2
1
1
2
16
1
0
1
2
18
2
0
1
2
18
1
1
1
5
Tabla 3
Como se puede obse a en la abla 1, los campos que son: ID, que ep esen a el nomb e y
apellidos del indi iduo; su edad; su Código Pos al (CP) y su p o esión.
La abla 2 se compone de dos campos; ecu so, que es una ep esen ación del hospi al y la ho a
de la ci a, y la capacidad de cada ecu so, es deci , cuan os indi iduos pueden acudi a un ecu so
conc e o.
En la abla 3, se elimina el campo ID, que iden i ica el nomb e y apellidos del indi iduo pa a
ga an iza cie o anonima o. Es os son los da os iniciales de los que se pa e. Se puede comp oba
que el anonima o base es: (5, 2, 2).
Así mismo se añade un nue o campo, Recu so Alea o io, que hace e e encia a uno de los ecu sos
de la abla 2. Pa a el in e és de la comunidad cien í ica, se p e ende publica no sólo los da os de
la población, sino ambién las ci as gene adas expues as en la abla 3, conse ando cie o
anonima o.
El siguien e apa ado explica el mecanismo que pe mi e gene a de o ma alea o ia an o la
población como sus ecu sos. Pos e io men e, se explica á de qué mane a se asignan los ecu sos
a cada indi iduo de la población, simulando así una gene ación alea o ia de ci as.
2.1 Población y ecu sos
Pa a la ep esen ación de un segmen o de población especí ico, se es ablecen los siguien es
campos:
En p ime luga , se indica la po ción de población que se quie e es udia , así como el ango de
edades, es deci , edad mínima y máxima de los pacien es que se an a examina ; ambién se
incluye la can idad de códigos pos ales pa a de e mina la zona en la que i e la población, el
géne o de la población, ep esen ados po : 0 pa a muje , 1 pa a homb e y 2 e i iéndose a ambos

17
géne os. Finalmen e, ambién pa ame izamos la población con el núme o de p o esiones, que
ep esen a la ac i idad que desempeña cada indi iduo.
Así mismo, se debe de alla la can idad de ecu sos disponibles, indicando la capacidad mínima
y máxima que puede ene cada ecu so, asegu ando que es os ecu sos pueden cub i a oda la
población c eada.
Todos es os da os, an o los de la población como los de los ecu sos, son indicados po el usua io
de nues a aplicación, lo que nos pe mi e ealiza simulaciones de di e sas si uaciones.
Edad
CP
Géne o
Recu so
No mal
Recu so
Alea o io
16
2
0
17
1
0
16
1
1
16
2
1
17
2
0
16
2
1
17
2
1
16
1
1
16
2
0
16
2
0
18
1
1
16
2
1
16
1
0
18
2
0
18
1
1
Tabla 4*
Pa a almacena la población gene ada a pa i de los pa áme os desc i os an e io men e, se hace
uso de Pos g eSQL, un sis ema de ges ión de bases de da os elacional. Un ejemplo de abla de
población gene ada puede e se en la abla 4. Nó ese la exis encia de dos columnas acías,
ecu so alea o io y ecu so no mal. El p ime o simula á la asignación de ci as alea o ia, como
e emos en es e mismo capí ulo. El segundo se gene a á u ilizando p og amación con
es icciones, de es a o ma pod emos es ablece una compa a i a en e ambos mé odos.
Igualmen e, se gene a á una abla de allando la in o mación de los ecu sos, como se puede
obse a en la abla 2. Todos es os da os se ob ienen gene ando núme os alea o ios a pa i de los
pa áme os iniciales ijados po el usua io, siemp e asegu ando a que los ecu sos gene ados
cub en a odos los indi iduos maximizando la capacidad de cada ecu so has a que se asegu e que
se a ende á a odo el segmen o de población.
*Se ha eliminado el campo “Núme o de p o esiones” ya que iene el mismo alo pa a odos los indi iduos.
18
2.2 Gene ación alea o ia de ci as
T as gene a la in o mación del segmen o de población a examina , y de alla los ecu sos de los
que se dispone, se p ocede a asigna un ecu so a cada indi iduo de la población de o ma
alea o ia; además de que no se supe e la capacidad máxima de cada ecu so y que se asegu e una
ci a pa a cada indi iduo.
ID
Edad
CP
Géne o
Núme o de
P o esiones
Recu so
No mal
Recu so
Alea o io
1
16
2
0
1
3
2
17
1
0
1
3
3
16
1
1
1
1
4
16
2
1
1
5
5
17
2
0
1
1
6
16
2
1
1
4
7
17
2
1
1
3
8
16
1
1
1
4
9
16
2
0
1
5
10
16
2
0
1
2
11
18
1
1
1
4
12
16
2
1
1
2
13
16
1
0
1
2
14
18
2
0
1
2
15
18
1
1
1
5
Tabla 5
En la abla 5 se mues a la asignación de los ecu sos de o ma alea o ia a cada uno de los
indi iduos. Obsé ese que se espe an los lími es de las capacidades máximas de los ecu sos
iniciales.
19
3 | Vec o es de Anonima o
3.1 Insu iciencia del k-anonima o
Como se ha explicado en el capí ulo 1, en pa icula den o del apa ado Nociones de Anonima o,
exis en a ibu os a los que denominamos cuasi-iden i icado es; median e los cuales se puede
llega a e ela la iden idad de un indi iduo, o incluso su diagnós ico.
Po ejemplo, en las ablas del capí ulo an e io se han conside ado como cuasi-iden i icado es a
los a ibu os edad, código pos al y géne o. En es e capí ulo de momen o no conside amos como
cuasi-iden i icado la ci a (la asignación de un indi iduo a un ecu so).
El obje i o de es e capí ulo es mos a que el concep o de k-anonima o no e leja de o ma
su icien emen e p ecisa el anonima o de una población.
Pa a ejempli ica es o, se exponen a con inuación es ejemplos de poblaciones ob enidos a pa i
de los mismos pa áme os iniciales:
Edad
CP
Géne o
Núme o de
P o esiones
Recu so
Alea o io
16
2
0
1
3
17
1
0
1
3
16
1
1
1
1
16
2
1
1
5
17
2
0
1
1
16
2
1
1
4
17
2
1
1
3
16
1
1
1
4
16
2
0
1
5
16
2
0
1
2
18
1
1
1
4
16
2
1
1
2
16
1
0
1
2
18
2
0
1
2
18
1
1
1
5
Tabla 6
20
Edad
CP
Géne o
Núme o de
P o esiones
Recu so
Alea o io
17
2
1
1
5
18
2
1
1
3
16
2
1
1
1
18
2
0
1
3
17
1
1
1
3
17
1
0
1
2
18
1
1
1
4
17
2
1
1
4
17
1
1
1
2
18
2
0
1
5
17
2
1
1
5
18
1
0
1
5
17
1
0
1
1
18
2
1
1
1
18
1
0
1
1
Tabla 7
Edad
CP
Géne o
Núme o de
P o esiones
Recu so
Alea o io
18
2
1
1
2
16
2
0
1
2
17
1
0
1
5
16
1
0
1
5
18
2
1
1
3
18
1
1
1
4
16
1
0
1
5
17
2
0
1
2
16
1
0
1
3
16
2
0
1
1
18
2
1
1
1
18
2
1
1
1
17
2
0
1
4
18
1
0
1
4
18
2
1
1
4
Tabla 8
Analizando las ablas se comp ueba que:
 En la abla 6 se e i ica que el cuasi-iden i icado (edad=17, código pos al=2,
géne o=1) (que a pa i de aho a se esc ibe de o ma ab e iada con la upla (17, 2, 1)),
solo apa ece una ez.
 En la abla 7 el cuasi-iden i icado (18, 1, 1) apa ece igualmen e una sola ez.
 Análogamen e, en la abla 8 el cuasi-iden i icado (18, 1, 1) apa ece una sola ez.
De aquí se deduce que, en las es p uebas ealizadas, se e i ica un ni el de 1-anonima o. Sin
emba go, no se puede asumi que las es ablas ienen el mismo ni el de anonima o. Es e dad
que en las es hay al menos un indi iduo cuyo cuasi-iden i icado se epi e solo una ez, pe o en
la abla 6 se pueden iden i ica o as a cinco pe sonas en la misma si uación, mien as que en las
ablas 7 y 8 se pueden iden i ica a dos y es pe sonas espec i amen e.
21
Po consiguien e, pa ece lógico conclui que la abla 7 iene mayo ni el de anonima o, po que
iene “solo” a dos pe sonas en iesgo, en e a las es o cinco pe sonas cuya iden idad pod ía se
des elada en los o os casos.
Se necesi a po an o una mejo de inición, que enga en cuen a no solo el ni el de k-anonima o
sino cuán as pe sonas es án en ese ni el. Es a idea nos lle a á al concep o de ec o de anonima o.
3.2 De inición de ec o de anonima o
El ec o de anonima o cuen a el núme o eces que se epi e cada alo que oma el cuasi-
iden i icado en la abla. Es a in o mación se ep esen a en o ma de ec o , de al mane a que po
ejemplo la posición 1 del ec o con iene el núme o de cuasi-iden i icado es que se epi en una
sola ez. Análogamen e, la posición 2 cuen a el núme o de cuasi-iden i icado es con dos
epe iciones, y así sucesi amen e.
En la siguien e abla se lis an los dis in os alo es de cuasi-iden i icado es que apa ecen en las
es ablas del ejemplo, además de las eces que apa ecen epe ido cada cuasi-iden i icado en
cada abla:
Q
Tabla 6 (=9)
Tabla 7(=8)
Tabla 8(=7)
q1 = (16,2,0)
3
0
2
q2 = (17,1,0)
1
2
1
q3 = (16,1,1)
2
0
0
q4 = (16,2,1)
3
1
0
q5 = (17,2,0)
1
0
2
q6 = (17,2,1)
1
3
0
q7 = (18,1,1)
2
1
1
q8 = (16,1,0)
1
0
3
q9 = (18,2,0)
1
2
0
q10 = (18,2,1)
0
2
5
q11= (17,1,1)
0
2
0
q12 = (18,1,0)
0
2
1
Tabla 9
Po ejemplo, nó ese que en la abla 6 iene, como se ha dicho an e io men e, 5 cuasi-
iden i icado es con una sola epe ición, conc e amen e q2, q5, q6, q8 y q9. A pa i de es a idea,
la abla 9 se puede ep esen a de o ma ab e iada mos ando cuán as eces apa ece cada
epe ición del cuasi-iden i icado en cada p ueba:
Tabla k
1
2
3
4
5
Tabla 6
5
2
2
0
0
Tabla 7
2
5
1
0
0
Tabla 8
3
2
1
0
1
Tabla 10

22
La ilas de la abla co esponden di ec amen e con los ec o es de anonima o: (5,2,2,0,0) pa a la
Tabla 6, (2,5,1,0,0) pa a la Tabla 7, y (3,2,1,0,1) pa a la Tabla 8.
Algunas p opiedades de es os ec o es:
P1. El k-anonima o co esponde a la posición del p ime alo dis in o de 0 empezando po la
izquie da. En el ejemplo las es ablas e i ican k=1.
P2. Los ce os a la de echa no cuen an, es deci se puede conside a (5, 2, 2, 0, 0) y (5, 2, 2) el
mismo ec o de anonima o. En gene al llamamos longi ud l de un ec o de anonima o a la
posición más a la de echa que enga un alo dis in o de 0. En el ejemplo = (5, 2, 2, 0, 0)
habla íamos de una longi ud l = 3.
P3. Dada una población de amaño n, con un ec o de longi ud l, se cumple que:
 sum (i = 1, i = l) [i] * i = n.
Po ejemplo, el ec o = (5, 2, 2, 0, 0) co esponde a una población de 5*1+2*2+2*3 = 15 (en
o as palab as 5 alo es del cuasi-iden i icado se epi en una ez, dos alo es se epi en dos eces,
y o os dos alo es del cuasi-iden i icado apa ecen es eces).
Aho a esul a ácil compa a ec o es de anonima o, siguiendo el o den lexicog á ico que se
ep esen a po < . En es e caso se iene:
(2,5,1,0,0) < (3,2,1,0,1) < (5,2,2,0,0)
P4. Un ec o meno signi ica más anonima o y po an o aho a podemos deci que la abla 7
ep esen a un mejo (mayo ) anonima o. La cua a p opiedad indica que nues os ec o es son un
e inamien o del concep o de k-anonima o.
P5. Sean 1, 2 dos ec o es de anonima o pa a dos ablas T1, T2 de amaño n, ales que T1
e i ica k1-anonima o y T2 k2-anonima o. En onces, si 1< 2, se cumple k1 >= k2.
Así mismo, median e la columna de ecu sos alea o ios, se gene an nue os ec o es de anonima o
que in o man del epa o alea o io de las ci as, de aquí en adelan e llamados “ ec o alea o io”.
Los ec o es alea o ios de las ablas 6, 7 y 8 son espec i amen e (15), (13,1) y (11,2).
A pa i de dichos ec o es, los ec o es iniciales de la abla 10 y eniendo en cuen a lo expues o
en la p opiedad 3 (P3), se obse a que el anonima o empeo a signi ica i amen e.
Nó ese, po ejemplo, que en el ec o inicial co espondien e a la abla 6 (5, 2, 2) se pasa de
iden i ica 5 pe sonas a pode iden i ica has a 15 pe sonas lo que conlle a a una g an pé dida de
anonima o.
También se gene a una pé dida de anonima o a la ho a de inclui nue os a ibu os que iden i ican
a los cuasi-iden i icado es, ya que aumen a á su a iación, es deci que se e ía la abla 9 más
ex endida.
23
4 | Anonima o como P oblema de op imización en
P og amación con Res icciones
4.1 P og amación con Res icciones
Pa a ob ene el mejo ec o de anonima o posible se u iliza el pa adigma de p og amación
conocido como p og amación con es icciones.
La p og amación con es icciones es un es ilo de p og amación que ag upa a muchos lenguajes.
Se puede encuad a den o del pa adigma de la p og amación decla a i a, donde el p og amado
indica qué quie e consegui sin de alla los pasos que hay que segui pa a log a lo pues o que el
sis ema es el que dispone de o ma in e na de los mé odos que u iliza án pa a log a el obje i o
p opues o po el p og amado . Además, la p og amación con es icciones y la p og amación
lógica se combinan de o ma na u al en la llamada p og amación lógica con es icciones
(Cons ain Logic P og amming o pa adigma CLP) [3].
En p og amación con es icciones se de inen a iables sob e un cie o dominio (po ejemplo,
en e os, booleanos, eales, e c.), y se indican las elaciones que deben cumpli las a iables en e
sí. El esul ado es un p og ama al que se le suele llama modelo.
Po ejemplo, usando no ación del lenguaje de es icciones MiniZinc [9] podemos de ini modelos
como el siguien e:
El p og ama, en es e caso MiniZinc, usa esolu o es adecuados pa a encon a alo es de las
a iables que sa is agan el modelo. En es e caso encuen a la solución:
x = 10;
y = 2;
24
En p og amación con es icciones no solo se plan ean p oblemas de sa is acción como el an e io ;
ambién se pueden de ini p oblemas de op imización:
En es e caso buscamos el mayo alo de x que sa is ace el modelo, y el esolu o nos de uel e
las siguien es posibles soluciones:
x = 10;
y = 1;
----------
Se a a modela el p oblema de anonima o como un p oblema de op imización en el lenguaje
MiniZinc.
25
4.2 El modelo
Vamos a ob ene el ec o de anonima o de o ma i e a i a; cada ez que se aplique el modelo se
ob end án un nue o componen e del ec o . Pa a ello de inimos un modelo que cons a de dos
pa es:
 El modelo en sí, que busca minimiza la posición l del ec o .
 Un iche o de pa áme os con ex ensión .dzn que a a iando, indicando el alo
de l, y los alo es an e io es ya encon ados.
Las i e aciones son con oladas desde un p og ama Ja a, que a modi icando el iche o de
pa áme os has a comple a un ec o de anonima o óp imo que cub a oda la población.
Pa a explica el modelo el p ime paso es de ini los pa áme os que se an a usa :
 Q: núme o de cuasi-iden i icado es di e en es.
 : ec o que ep esen a la ecuencia de cada cuasi-iden i icado , es deci , el
núme o de eces que se epi e cada cuasi-iden i icado .
 R: su alo ep esen a el núme o de ecu sos de los que se dispone.
 c: ec o de capacidades de cada ecu so.
Un ejemplo de dzn inicial al que se i án añadiendo alo es cada ez que se ob enga un esul ado
del p og ama MiniZinc, de aquí en adelan e appoin men .mzn, se mues a en la siguien e imagen:
Imagen 1
32
A con inuación se mos a án los de alles de 5 p uebas de las 20 gene adas pa a cada uno de los
casos an e io es, habiendo sido elegidas po su dispa idad en e sus da os.
Población
N = 10
Caso
Vec o
alea o io
Vec o
anonima o
Mejo a de
anonima o
Tiempo de
ejecución
P ueba 1
P ime caso
(8, 1)
(5,1,1)
0,7999
2´35
segundos
Segundo caso
(6,2)
(2,2,0,1)
0,8125
2´35
segundos
P ueba 2
P ime caso
(8,1)
(2,1,2)
0,9411
2´35
segundos
Segundo caso
(8,1)
(1,3,1)
0,9545
2´35
segundos
P ueba 3
P ime caso
(10)
(3,2,1)
0,9999
2´35
segundos
Segundo caso
(4,3)
(2,2,0,1)
0,5625
2´35
segundos
P ueba 4
P ime caso
(6,2)
(3,2,1)
0,7272
2´35
segundos
Segundo caso
(5,1,1)
(3,2,1)
0,5
2´35
segundos
P ueba 5
P ime caso
(10)
(4,3)
1
2´35
segundos
Segundo caso
(2,4)
(0,0,2,1)
0,5946
2´35
segundos
Tabla 11
Al se una población an pequeña no hay di e encia en el iempo de ejecución en ambos casos, en
cambio sí que se puede ap ecia la mejo a de anonima o al ealiza la compa ación en e los
ec o es alea o io y anonima o.
Como se ha explicado en el apa ado 3.2 y omando en cuen a los da os de las columnas ec o
alea o io y ec o anonima o, se concluye que el ec o anonima o gene ado g acias a MiniZinc
es mejo que el ec o alea o io debido a que, cogiendo po ejemplo el segundo caso de la p ime a
p ueba, se iden i ican a 4 pe sonas menos que si se oma a en cuen a el ec o alea o io.
Así mismo, u ilizando o a ez el ejemplo an e io , se obse a una mejo a del anonima o de
0,8125 (81’25%) con espec o al ec o alea o io.
Nó ese que en el p ime caso de la quin a p ueba, compa ando el ec o alea o io con el ec o
anonima o se ha conseguido una mejo a del 100% (1), es deci , se pasa de des ela la iden idad

33
de oda la población, a des ela solo al 40% de la población, eniendo en cuen a que el ec o
alea o io es el peo ec o posible que se puede consegui .
34
Población
N = 20
Caso
Vec o
alea o io
Vec o de
anonima o
Mejo a de
anonima o
Tiempo de
ejecución
P ueba 1
P ime caso
(14,3)
(3,4,3)
0,7331
80 segundos
Segundo
caso
(14,3)
(0,2,1,2,1)
0,9868
3 segundos
P ueba 2
P ime caso
(12,4)
(4,5,2)
0,5208
62 segundos
Segundo
caso
(5,3,3)
(0,3,2,2)
0,7051
2’85
segundos
P ueba 3
P ime caso
(16,2)
(4,5,2)
0,9210
224
segundos
Segundo
caso
(4,8)
(0,3,3,0,1)
0,6505
2’85
segundos
P ueba 4
P ime caso
(20)
(4,5,2)
0,9999
300
segundos
Segundo
caso
(4,8)
(1,2,2,1,1)
0,5465
3 segundos
P ueba 5
P ime caso
(15,1,1)
(5,6,1)
0,9489
247
segundos
Segundo
caso
(13,2,1)
(1,0,2,2,1)
0,9759
2’85
segundos
Tabla 12
Al aumen a la población, se inc emen a el iempo de ejecución, y así mismo se obse a una g an
di e encia en e los iempos del p ime caso y del segundo caso, mos ados en la Tabla 12, debido
a, no sólo que el p ime caso iene o o a ibu o más como ep esen an e del cuasi-iden i icado ,
sino ambién se disponen de más ecu sos, pe o con menos capacidades que en el segundo caso.
Todo es o conlle a a que las poblaciones de los p ime os casos de las p uebas es én más
dispe sadas con espec o a las poblaciones de los segundos casos en cuan o a la asignación de
ci as.
Tomando como ejemplo la p ueba 4, debido a la g an di e encia en e los da os de sus casos, se
obse a una di e encia de mejo a espec o a los ec o es de alea o io y anonima o; en el p ime
caso del 0,9999 (99,99%) y en el segundo caso del 0,5465 (54,65%) además de un iempo de
ejecución muy dispa , que pasa de los 5 minu os que a dó el p ime caso, a los escasos 3 segundos
que a dó el segundo.
35
Población
N = 30
Caso
Vec o
alea o io
Vec o de
anonima o
Mejo a de
anonima o
Tiempo de
ejecución
P ueba 1
P ime caso
(28,1)
(3,1,3,4)
0,9996
360
segundos
Segundo
caso
(10,7,2)
(1,0,1,1,3,0,1)
0,8714
3,95
segundos
P ueba 2
P ime caso
(26,2)
(0,7,4,1)
0,9862
120
segundos
Segundo
caso
(10,10)
(0,0,2,2,2,1)
0,8992
3,95
segundos
P ueba 3
P ime caso
(24,3)
(3,5,3,2)
0,9963
148
segundos
Segundo
caso
(12,9)
(0,0,4,2,2)
0,9383
4 segundos
P ueba 4
P ime caso
(20,5)
(0,5,4,2)
0,9935
324
segundos
Segundo
caso
(18,3,2)
(0,1,1,0,1,1,2)
0,9887
3,86
segundos
P ueba 5
P ime caso
(22,4)
(2,4,4,2)
0,9784
227
segundos
Segundo
caso
(14,8)
(0,1,0,2,0,1,2)
0,9661
4 segundos
Tabla 13
En el caso de la población de amaño 30 se consigue una g an mejo a de anonima o, pues o que
en casi odas las p uebas se ha mejo ado an o el k-anonima o como el ec o de anonima o, pe o
el iempo de ejecución se ha inc emen ado de una mane a d ás ica con espec o a las o as
poblaciones.
A pa i de los da os del p ime caso de la p ueba 1, se puede conclui que, a pesa de que el ec o
anonima o sigue eniendo un 1-anonima o, igual al k-anonima o del ec o alea o io, la mejo a es
del 0,9996 (99,96%) debido a la g an di e encia en e ambos ec o es de anonima o, pasando de
des ela la iden idad de has a 28 pe sonas, a iden i ica solo 3.
En el p ime caso de la p ueba 4, no solo se mejo a el ec o de anonima o un 0,9935 (99,35%)
sino que ambién se mejo a el k-anonima o, pasando de 1-anonima o a 3-anonima o.
36
6 | Implemen ación
Pa a almacena la in o mación gene ada sob e la población, se hace uso de una base de da os
elacional Pos g eSQL [8].
Pos g eSQL es g a ui o y lib e que pe mi e desa olla bases de da os elacionales obus as y
e icien es, además de que o ece una g an can idad de opciones a anzadas. De hecho, es
conside ado el mo o de base de da os más a anzado en la ac ualidad, además de apo a mucha
lexibilidad a di e en es p oyec os. Po ejemplo, pe mi e de ini unciones pe sonalizadas po
medio de a ios lenguajes, en es e caso u ilizando PL/Ja a.
O a en aja de Pos g eSQL es que es á disponible pa a muchas pla a o mas y o ece el código
uen e desde el si io o icial como Mac OS X. Windows y Ubun u.
Así mismo, Pos g eSQL o ece la he amien a o icial pgAdmin pa a adminis a sus bases de
da os, dando la opción ambién de adminis a las bases de da os median e línea de comandos.
Pa a el desa ollo so wa e de es e p oyec o se ha empleado Ja a como lenguaje de p og amación
p incipal u ilizando el en o no de p og amación Eclipse.
Se ha op ado po Eclipse po se uno de los p incipales en o nos de p og amación que se ha
u ilizado du an e la ca e a, debido a se código abie o y mul ipla a o ma además de su in e az
in ui i a y sencilla.
Así mismo, se ha empleado ambién MiniZinc, explicado en el ema 4, y se ha hecho uso de Bash
Shell pa a uni ica odos los p og amas que o man es e p oyec o y calcula cuán o iempo a da
en ejecu a se el p oyec o comple o.
La implemen ación de es e p oyec o se di idido en dis in os p oyec os de Ja a, cada uno con una
o a ias unciones asignadas.
Pa a la co ec a ejecución del p ime p og ama, se debe asigna un alo a odos los campos
eque idos. Sin emba go, si no se han ellenado co ec amen e los campos, se in e umpi á el
p og ama mos ando un mensaje de e o in o mando sob e la causa del p oblema.
Pa a la conexión con la base de da os Pos g eSQL del usua io median e el conec o JDBC, los
p ime os campos que se solici an son la u l de la base de da os, el usua io y la con aseña de la
misma.
Pa a la c eación de los da os ic icios, se debe especi ica p ime o el nomb e de la abla en la que
se gua da á la in o mación, el núme o de pe sonas que se quie e es udia , así como el ango de
edades, es deci , edad mínima y máxima de los pacien es que se an a examina ; ambién se
incluye la can idad de códigos pos ales pa a de e mina la zona en la que i e la población el
géne o de la población, ep esen ados po : 0 es muje , 1 es homb e y 2 se e ie e a ambos; y el
núme o de p o esiones, que ep esen a la ac i idad que desempeña cada indi iduo. Además, el
usua io debe indica la can idad de ecu so, que ep esen a la ho a, día y hospi al de la ci a s de
los que dispone y especi ica el ango de capacidad de cada uno, pa a que se asigne alea o iamen e
una capacidad pa a cada ecu so, es ando den o de los lími es del ango in oducido.
37
Así mismo el p og ama au omá icamen e gene a á o a abla en la que se e lejan el núme o de
ecu sos y la capacidad de cada uno, a pa i del nomb e de la abla indicado.
Si la capacidad máxima o al de odos los ecu sos es meno que el núme o de pacien es
in oducidos, se ajus a án las capacidades de los ecu sos necesa ios pa a cub i a odos los
pacien es has a el máximo indicado.
Cabe des aca , que, si el nomb e de las ablas a c ea ya exis ía con an e io idad, se elimina án de
la base de da os pa a e i a la sob e esc i u a.
En el segundo p og ama se ealiza un nue o acceso a la base de da os del usua io comp obando
que las ablas ya se han c eado y que con ienen in o mación. El obje i o de es e p oyec o es
ealiza una asignación alea o ia de los ecu sos eniendo en cuen a sus capacidades, ac ualizando
el campo ecu so alea o io de la abla de la población.
Du an e el lujo de abajo de es e p oyec o se ha que ido sabe el alo de k-anonima o de la
población c eada, que depende á de los a ibu os indicados po el usua io que ep esen an los
cuasi-iden i icado es. Pa a ello se ha lle ado a cabo la c eación del e ce p og ama que mues a
po pan alla dicho ni el de anonima o.
En el cua o p og ama, se p ocede a c ea el iche o con ex ensión dzn pa a la pos e io ejecución
del código MiniZinc.
Pa a ello se eu iliza á los a ibu os asignados po el usua io en el p og ama es. Además, se
econec a á a la base de da os de Pos g eSQL pa a ealiza los cálculos necesa ios pa a esc ibi
los siguien es da os en el iche o:
 Q: núme o de cuasi-iden i icado es di e en es.
 : ec o que ep esen a la ecuencia de cada cuasi-iden i icado , es deci , el
núme o de eces que se epi e cada cuasi-iden i icado .
 R: su alo ep esen a el núme o de ecu sos de los que se dispone.
 c: ec o de capacidades de cada ecu so.
A con inuación, se p ocede a la ejecución del quin o p og ama que incluye las siguien es
unciones:
o Accede a MiniZinc median e una llamada a la línea de comandos (cmd),
u ilizando el iche o con ex ensión mzn, explicado en el ema 4 y el iche o .dzn
gene ado an e io men e. Pa a gene a una nue a asignación de ci as.
Un ejemplo de iche o .dzn se puede obse a en la imagen 1 en el apa ado 4.2
El Modelado.

38
El p og ama accede á a MiniZinc has a que se hayan asignado ci as a oda la
población. Es o se consigue median e la decla ación de las siguien es a iables:
 p = ∑ [i]
𝑄
𝑖=1 Es la población o al a examina .
 l = 1 El siguien e ni el del ec o de anonima o a
esol e .
 = [] Vec o de anonima o, inicialmen e con 0
componen es.
o Lee los esul ados gene ados po MiniZinc y esc ibi los en el iche o dzn de al
mane a que se pueden e los dis in os ec o es de anonima o gene ados.
Imagen 2
La asignación de ci as se da po inalizada una ez que la suma de los alo es del
ec o mul iplicados po su índice es igual a la población o al ( ∑ [n]
𝑙−1
𝑛=1 ∗
𝑛 < 𝑃 ), mien as que no se cumpla es a condición, el p og ama aumen a á el
ec o además de inse a en la úl ima posición de ( [l]), el anonima o
gene ado po appoin men .mzn. Así mismo, se inc emen a á el siguien e alo de
l a esol e .
o U ilizando los da os gene ados po el p og ama MiniZinc, se calcula la dis ancia
en e los ec o es pa a demos a si se ha p ocedido a mejo a o empeo a el ni el
de anonima o.
39
Imagen 6
Como se ha mencionado al p incipio de es e ema, se ha implemen ado un pequeño p og ama en
Shell pa a ejecu a los p og amas an e io es en se ie. De es a mane a, se pueden c ea a ios
modelos de población con los mismos da os in oducidos po el usua io inal, ob eniendo
di e en es esul ados.
Pa a la c eación de los modelos de población se pide al usua io in oduci el núme o de p uebas
que desea ealiza además de odos los pa áme os eque idos pa a la co ec a ejecución de los
p og amas explicados an e io men e.
Si se quie e calcula el iempo que se a da en gene a cada expe imen o, se puede u iliza a la
ez el comando ime [10], que mos a á al inaliza la ejecución los siguien es iempos:
 el iempo eal anscu ido en e la llamada y la inalización de o den.
 el iempo de usua io del p ocesado ( ms_u ime + ms_cu ime).
 el iempo de sis ema del p ocesado ( ms_s ime + ms_cs ime.)
40
7 | Conclusiones y abajo u u o
Hemos ealizado un sis ema de ci as que ga an iza el mejo anonima o posible u ilizando el
concep o de k-anonima o.
Du an e el p oyec o hemos comp obado que el concep o de k-anonima o no es su icien e y po
eso u ilizamos un concep o ampliado, el ec o de anonima o.
Como se ha mencionado an e io men e, pa a consegui el k-anonima o u ilizamos en un p ime
momen o el esolu o base minizinc, pe o como el iempo de ejecución e a demasiado al o,
op amos po el esolu o mzn-gecode, que disminuyó no ablemen e dicho iempo. Aun así, al
aumen a el amaño de la población, el iempo de ejecución ambién se inc emen a de o ma
signi ica i a.
Po el mo i o an e io , podemos conclui que el cuello de bo ella de nues o p oyec o es MiniZinc.
Dicha he amien a es el cuello de bo ella de nues o p oyec o, es deci , cada ez que la población
es mayo , el esolu o inc emen a á el iempo de ejecución, po lo que, como se obse a en el
apa ado 5.2, el iempo aumen a de o ma signi ica i a.
La p og amación con es icciones solo es álida pa a poblaciones pequeñas, sin emba go, da una
medida del meno ec o de anonima o que se puede emplea pa a comp oba la bondad de o os
mé odos de asignación aplicables a poblaciones de amaño eal.
Du an e los expe imen os ealizados, hemos llegado a las siguien es conclusiones:
 Ve i icamos que al compa a el ec o de anonima o alea o io y el gene ado po
P og amación con Res icciones, no siemp e se ob iene una mejo a desde el pun o de
is a del k-anonima o, ya que es o depende no solo del núme o de alo es de cuasi-
iden i icado es, sino ambién del núme o de ecu sos de los que se dispone.
 Aunque el k-anonima o no a íe, eso no signi ica que el ec o alea o io y el ec o
anonima o sean iguales, es deci , se puedan iden i ica menos pe sonas en el ec o
anonima o en e al ec o alea o io.
 Se puede consegui casi el 100% de mejo a compa ando los ec o es alea o io y
anonima o sin que a íe el k-anonima o, en el caso de que ambos ec o es co espondan
con el mismo k.
 Una mane a de aumen a la dis ancia en e el ec o alea o io y el ec o anonima o, es
aumen ando la longi ud del ec o de anonima o, es deci , dispe sa más la población a la
ho a de asigna las ci as.
41
Hay que no a que o os concep os de anonima o como l-Di e si y [5] y -Closeness [6] no son
aplicables en el momen o de la asignación de ci as po que dependen del alo inal de los
esul ados del es de sc eening, mien as que noso os es amos en el con ex o de las ci as, cuando
aún no es isible el esul ado inal. Sin emba go, es os concep os sí se án aplicables una ez
acabado el es , y se bene icia án de la asignación de ci as inicial.
Como abajo u u o es a ía desa olla una nue a écnica de asignación de ci as que sopo e
poblaciones más g andes, y que, sin alcanza el mejo anonima o sí que mejo e la asignación
alea o ia ealizada en la ac ualidad.