VALÓS IDŐBEN VÁLASZT ADÓ EGÉSZSÉGÜGYI PROFIL, MINT TÖBBDIMENZIÓS MEGSZORÍTÁS MÁTRIX, ALAPJÁN ÉLELMISZERT SZŰRŐ DOMAIN SPECIFIKUS ALGORITMUS



Hasonló dokumentumok
Valós időben választ adó egészségügyi profil, mint többdimenziós megszorítás mátrix, alapján élelmiszert szűrő domain specifikus algoritmus

Fruits Amount Minerals Contained Vitamins Contained. Calcium -9.5 mg Phosphorus - 95mg 9.5 Magnesium -7 mg

FOODLAWMENT NOVEMBER 26.

EgerFood. Az EGERFOOD élelmiszerbiztonsági nyomkövető rendszer Hogyan modellezzük a cégek munkafolyamatait. Kusper Gábor, RadványiTibor

Adatbázismodellek. 1. ábra Hierarchikus modell

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Az EGERFOOD élelmiszerbiztonsági nyomkövető rendszer Hogyan modellezzük a cégek munkafolyamatait

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Informatikai alapismeretek Földtudományi BSC számára

Network front-end. Horváth Gábor. Kovács Róbert. ELTE Informatikai Igazgatóság


2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Rőczei Gábor Szeged, Networkshop

Programozási nyelvek II. JAVA

Tápérték jelölés Dull Péter Földművelésügyi Minisztérium Élelmiszer-feldolgozási Főosztály november 8.

Adatszerkezetek 2. Dr. Iványi Péter

Bevezetés A harmadik szoftverkrízis korát éljük! Szoftverkrízisek: 1. nincs elég olcsó: hardver, szoftver, programozó 2. nincs elég olcsó: szoftver, p

KOMMUNIKÁCIÓ AZ EGERFOOD ÉLELMISZERBIZTONSÁGI PROJEKT INFORMÁCIÓS RENDSZERÉBEN

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Elektronikus Információs és Nyilvántartási Rendszer a Doktori Iskolák fiatal kutatói részére

VBKTO logisztikai modell bemutatása

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Adatszerkezetek 7a. Dr. IványiPéter

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Tápérték jelölés KUTI BEATRIX. Földművelésügyi Minisztérium Élelmiszer-feldolgozási Főosztály november 15.

A WEBOPAC (online elektronikus katalógus) használata. 1. Keresés az adatbázisban (összetett):

KÖNYVTÁRI KATALÓGUS HASZNÁLATI ÚTMUTATÓ

Tápérték jelölés SZEGEDYNÉ FRICZ ÁGNES. Földművelésügyi Minisztérium Élelmiszer-feldolgozási Főosztály november 29.

Étrend-kiegészítık és evidenciák mégis mit szedjek?

ADATBÁZISKEZELÉS ADATBÁZIS

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Gazdasági informatika vizsga kérdések

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Sergyán Szabolcs szeptember 21.

Adatszerkezetek 2. Dr. Iványi Péter

Prof. Dr. Péter Ákos Biacs:

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Informatika tanterv nyelvi előkészítő osztály heti 2 óra

Adatbázis-kezelés. alapfogalmak

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Az Európai Unió Tanácsa Brüsszel, május 3. (OR. en)

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

HACCP KCAL PRO. Online adminisztrációs szolgáltatás. Szolgáltatási Specifikáció v 1.0

Szövegbányászat és dokumentum kezelés

22. GRÁFOK ÁBRÁZOLÁSA

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

Adatbázis, adatbázis-kezelő

Informatika 1 2. el adás: Absztrakt számítógépek

Relációs modell és relációs algebra. ER konvertáása reációs modellre,példák relációs algebrára Személetes ismertetés

Fejlesztési specifikációk

Társadalmi kohéziós szerep elemzése

WEBOPAC felhasználói leírás. 1. Keresés az adatbázisban. 2. A találatok megjelenítése

Diszkrét matematika 2.C szakirány

5. INDEXELÉS. Összeáll. dr. Pálvölgyi Mihály. BDF KIT, tanév, 1. félév

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Adatbázis alapú rendszerek

WEBPAC e-corvina. Egyszerő keresés:

Számítási intelligencia

Adatszerkezetek I. 1. előadás

Gráfelméleti feladatok. c f

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

INFORMATIKA ÉRETTSÉGI VIZSGAKÖVETELMÉNYEK AZ ÉRETTSÉGI VIZSGA RÉSZLETES TEMATIKÁJA

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Eduroam változások - fejlesztések, fejlődések. Mohácsi János NIIF Intézet HBONE Workshop 2015

Access gyakorlati feladatok lépésről lépésre

ÁLLAPOTFÜGGŐ KARBANTARTÁST SEGÍTŐ INTEGRÁLT DIAGNOSZTIKAI RENDSZER. Dr. Nagy István, Kungl István. OKAMBIK Pécs, április

Oktatói weboldalak vizsgálata hallgatói szemszögből

2. ALPROJEKT FELHASZNÁLÓI KÉZIKÖNYV

Ahol a kvantum mechanika és az Internet találkozik

(EGT-vonatkozású szöveg)

Alkoholos italok jelölése

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar május 27.

ETELKA Szolgáltatói Dokumentáció v1.0 RITEK ZRt. 2009

Kriptográfiai alapfogalmak

Algoritmuselmélet 1. előadás

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

MERT-CERT Tanúsító Kft.

Publikációk és idéző közlemények duplum vizsgálata és kezelése

Searching in an Unsorted Database

ADATBÁZIS-KEZELÉS ALAPOK I.

Számítástudományi Tanszék Eszterházy Károly Főiskola.

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

IV/1. sz. melléklet: Vállalati CRM, értékesítési terület funkcionális specifikáció

ÖSSZEFOGLALÓ JELENTÉS


VÁLLALATI INFORMÁCIÓS RENDSZEREK. Debrenti Attila Sándor

Érdekes informatika feladatok

Az étrend-kiegészítőkkel kapcsolatos fogyasztóvédelmi ellenőrzések tapasztalatai

Menedzsment paradigmák és a virtuális vállalat. Virtuális vállalat 2012/13 1. félév 6. Előadás Dr. Kulcsár Gyula

ADATBÁZIS-KEZELÉS. Relációs modell

RÉSZ IPARI TERMELÕ-SZOLGÁLTATÓ TEVÉKENYSÉG ELLENÕRZÉSE A

Adatbányászati technikák (VISZM185) 2015 tavasz

CancerGrid - Grid alkalmazása rákellenes hatóanyagok keresésének felgyorsítására

Információk rendszerezése a könyvtárban

ONLINE SZAKÉRTŐI RENDSZER KIÉPÍTÉSE ÉS MARKETING TERVE

Átírás:

VALÓS IDŐBEN VÁLASZT ADÓ EGÉSZSÉGÜGYI PROFIL, MINT TÖBBDIMENZIÓS MEGSZORÍTÁS MÁTRIX, ALAPJÁN ÉLELMISZERT SZŰRŐ DOMAIN SPECIFIKUS ALGORITMUS Kusper Gábor (EKF), Márien Szabolcs (Wit-Sys Zrt.), Kovács Emőd (EKF), Kovács László (ME) Előadja: Kusper Gábor gkusper@aries.ektf.hu Networkshop 2011, Kaposvár

Tartalom Az EgerFood projekt Az efilter projekt Egészségügyi megszorítások Megszorítás -> Bitmap Index Az IMEE algoritmus Adatforrásunk bemutatása Teszt eredmények Összefoglaló

Az EgerFood információs rendszere Munkafolyamat gráf Az egyedülálló képességek kulcsa a munkafolyamat-gráf. A gráf segítségével minden cég egyedi módon modellezheti a gyártási folyamatait. Ez a modell vezérli a kliens program és az adatbázis mőködését. A modell szinte végtelen lehetőségeket nyújt és nem mellékesen összetett képet ad a cég működéséről is. Megtervezéséhez ezért a cég képviselőjének és a beüzemelést végző szakemberek közös munkájára van szükség.

EgerFood cikkek: T. Radványi, G. Kusper: Requirement Analysis and a Database Model for the Project EgerFood Food Safety Knowledge Center, ICAI-2007, p. 15-23, 2007. K. Liptai, G. Kusper, T. Radványi: Cryptographycal protocols in the Egerfood Information System, Annales Mathematicae et Informaticae 34., p. 61-70, 2007. K. Gábor, R. Tibor: Az EgerFood élelmiszerbiztonsági nyomkövető rendszer Hogyan modellezzük a cégek munkafolyamatait, Networkshop 2008, Dunaújváros, 8 oldal, 2008.

Az efilter projekt KMOP-1.1.1-09/1-2009-0053 számú pályázat Egészségügyi profil alapján szűrt fogyasztói adatbázisokból nyert információkat kezelő rendszer - efilter WIT-SYS Consulting ZRt. Eszterházy Károly Főiskola

Az efilter projekt Bő élelmiszer lista Egészségügyi profil Szűk élelmiszer lista Menük listája Fogyasztható menük listája Boltban kapható élelmiszerek listája Étel rendelésnél étlap Boltban kapható fogyasztható élelmiszerek listája Fogyasztható ételek listája Boltok listája kapható Fogyasztható terméket áruló SZŰRÉS élelmiszerekkel boltok listája Kérdés Egészségügyi profil Válasz Megvásárolt élelmiszer fogyasztható e? Igen / Nem + Megvásárolt élelmiszerről bő információ Vásárlásnál megerősítés, hogy az adott termék fogyasztható e? ELLENŐRZÉS Igen/Nem + Megvásárolt élelmiszerről bő információ

Egészségügyi profil Ételallergiák Ételérzékenységek Diéták Egyéb étkezésnél figyelembe veendő betegségek, pl.: cukorbetegség

Megszorítások efilter szabályok típusai: 0 Tiltás 1 Nem javasolt 2 Erősen javasolt 3 Javasolt Étel 100 grammjára vonatkozik. Példa: Tiltások: dió > 0g. Nem javasolt: energiatartalom > 500 kcal, zsír > 20g.

Megszorítások Ugyanarra az összetevőre vonatkozó megszorítások összevonhatóak. Tiltások: zsír > 30g, zsír > 20g fehérje > 15g, fehérje > 80g Tiltások összevonva: zsír > 20g fehérje > 15g

Többdimenziós megszorítás mátrix fehérje TÜKÖRTOJÁS MÜZLI zsír CSÁSZÁRSZALONNA só GULYÁSLEVES 0 g < fehérje tartalom <= 2 g 0 g < zsír tartalom <= 1.5 g 0 g < só tartalom <= 2.2 g

Megszorítás -> Bitmap Index Megszorítás általános alakja: N egység < összetevő tartalom <= M egység. Ötlet: A megszorítás ellenőrzése gyorsítható, ha az összetevőre indexet helyezünk. Mivel nagy adatmennyiség esetén sokkal gyorsabb a BITMAP index, ezért használjuk azt. Erre akkor van lehetőség, ha az indexelt oszlop a lehetséges értékkészletéből csak néhány értéket használ.

Megszorítás -> Bitmap Index Megszorítás általános alakja: N egység < összetevő tartalom <= M egység. Határértékek diszkrét értékké tétele: f : R -> B, ahol B << R Jelen előadásban az f függvény a kerekít( log2( x ) ) Tehát az indexelt értékek 2 hatványai.

Megszorítás -> Bitmap Index 0. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 0 egység. 1. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 1 egység. 2. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 2 egység. n. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 2^(n-1) egység.

Megszorítás -> Bitmap Index 0. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 0 egység. n. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 2^(n-1) egység. Nézzük néhány szám bitmap indexét: 0 bitmap indexe: (>,0,0,0,0); 1 bitmap indexe: (>,1,0,0,0); 2 bitmap indexe: (>,1,1,0,0); 3 bitmap indexe: (>,1,1,1,0); 4 bitmap indexe: (>,1,1,1,0); 5 bitmap indexe: (>,1,1,1,1); 6 bitmap indexe: (>,1,1,1,1);

Megszorítás -> Bitmap Index Hogyan tudjuk kifejezni a bitmap index segítségével a tiltást, hogy nem szabad diót ennem? Tiltás: dió > 0g. Emlékezzünk vissza az előző diára: 0. index: Az élelmiszer indexelt, ha az összetevő tartalma nagyobb, mint 0 egység. 0 bitmap indexe: (>,0,0,0,0); 1 bitmap indexe: (>,1,0,0,0); 2 bitmap indexe: (>,1,1,0,0); Azok a ételek nem ehetők, ahol a 0. index 1-es. Azaz dió > 0g == (>,1,x,x,x).

Bitmap Index Maszkok 0 bitmap indexe: (>,0,0,0,0); 1 bitmap indexe: (>,1,0,0,0); 2 bitmap indexe: (>,1,1,0,0); 3 bitmap indexe: (>,1,1,1,0); 4 bitmap indexe: (>,1,1,1,0); 5 bitmap indexe: (>,1,1,1,1); 6 bitmap indexe: (>,1,1,1,1); (>,0,x,x,x) összetevő tartalom = 0 egység. (>,x,0,x,x) összetevő tartalom <= 1 egység. (>,x,x,0,x) összetevő tartalom <= 2 egység. (>,x,x,x,0) összetevő tartalom <= 4 egység. (>,1,x,x,x) összetevő tartalom > 0 egység. (>,x,1,x,x) összetevő tartalom > 1 egység. (>,x,x,1,x) összetevő tartalom > 2 egység. (>,x,x,x,1) összetevő tartalom > 4 egység. (>,1,0,x,x) 0 egység < összetevő tartalom <= 1 egység. (>,1,x,0,x) 0 egység < összetevő tartalom <= 2 egység. (>,1,x,x,0) 0 egység < összetevő tartalom <= 4 egység. (>,x,1,0,x) 1 egység < összetevő tartalom <= 2 egység. (>,x,1,x,0) 1 egység < összetevő tartalom <= 4 egység. (>,x,x,1,0) 2 egység < összetevő tartalom <= 4 egység.

Kérdés! Mi a fehérje bitmap indexe annak a az élelmiszernek, ami 2g fehérjét tartalmaz? Tehát mi a 2-nek a bitmap indexe? Mit kódol a (>,1,x,x,x) bitmap index maszk?

LNTM és LKTM LNTM: LegNagyobb Tartalmazott Maszk. LKTM: LegKisebb Tartalmazó Maszk. Megszorítás LNTM LKTM 0,5 g < fehérje <= 3,5 g 1,5 g < fehérje <= 3,5 g 1 g < fehérje <= 2 g (>,x,1,0,x) 2 g < fehérje <= 2 g Nem létezik LNTM 0 g < fehérje <= 4 g (>,1,x,x,0) 1 g < fehérje <= 4 g (>,x,1,x,0) N g < fehérje <= M g N-nél nagyobb következő indexelt érték < fehérje <= M-nél kisebb indexelt érték N g < fehérje <= M g 2^padlás(log 2 (N)) < fehérje <= 2^ dló(l (M)) N-nél nagyobb következő indexelt érték < fehérje <= M-nél kisebb indexelt érték 2^padló(log 2 (N)) < fehérje <= 2^ dlá (l (M))

Az IMEE algoritmus Vonjuk össze az egy összetevőre vonatkozó megszorításokat egy következő alakúra: N egység < összetevő tartalom <= M egység Minden összevont megszorításhoz határozzuk meg a LNTM. Ezen maszkok alapján szűkítsük az adatbázist.

Az IMEE algoritmus Input: Egészségügyi profil, Élelmiszerek adatbázisa minden összetevő kettő hatványára indexelve. Output: Tiltott élelmiszerek listája. 1. lépés: Az egészségügyi profil tiltó megszorításait összetevőnként összevonom egy N egység < összetevő tartalom <= M egység alakú megszorítássá. 2. lépés: Minden összetevőre kiszámolom L és H értéket az összevont feltétel alapján: Ha N = 0, akkor L = 0, egyébként L = padlás(log 2 (N))+1. Ha N nem létezik, akkor L sem létezik. Ha M = 0, akkor H = 0, egyébként H = padló(log 2 (M))+1. Ha M nem létezik, akkor H sem létezik. 3. lépés: Szűkítem az adatbázist a (>,x,,x,1,x, x,0,x,,x) a bitmap index maszkkal, ahol a 1 az L-dik indexen áll, illetve nincs 1 a maszkban, ha L nem létezik. az 0 a H-dik indexen áll, illetve nincs 0 a maszkban, ha H nem létezik. 4. lépés: Ha L = H, akkor visszaadjuk az üres élelmiszer listát. 5. lépés: A szűkítések után megmaradt élelmiszereket visszaadom.

Adatforrás, 7637 rekord United States Department Of Agriculture: http://www.ars.usda.gov/services/docs.htm?docid=20959 NDB_NO SHRT_DESC WATER ENERG_KCAL PROTEIN LIPID_TOT ASH CARBOHYDRT FIBER_TD SUGAR_TOT 1004 CHEESE,BLUE 42,41 353 21,4 28,74 5,11 2,34 0 0,5 1009 CHEESE,CHEDDAR 36,75 403 24,9 33,14 3,93 1,28 0 0,52 CHEESE,COTTAGE,LOWFAT,2 1015 % MILKFAT 80,69 86 11,83 2,45 1,36 3,66 0 3,67 1020 CHEESE,FONTINA 37,92 389 25,6 31,14 3,79 1,55 0 1,55 1025 CHEESE,MONTEREY 41,01 373 24,48 30,28 3,55 0,68 0 0,5 1030 CHEESE,MUENSTER 41,77 368 23,41 30,04 3,66 1,12 0 1,12 CHEESE,RICOTTA,PART SKIM 1037 MILK 74,41 138 11,39 7,91 1,15 5,14 0 0,31 CHEESE,PAST 1043 PROCESS,PIMENTO 39,08 375 22,13 31,2 5,84 1,73 0,1 0,62 CHEESE FD,PAST 1047 PROCESS,SWISS 43,67 323 21,92 24,14 5,77 4,5 0 1001 BUTTER,WITH SALT 15,87 717 0,85 81,11 2,11 0,06 0 0,06 1002 BUTTER,WHIPPED,WITH SALT 15,87 717 0,85 81,11 2,11 0,06 0 0,06

Adatforrás, 46 féle összetevő http://www.ars.usda.gov/services/docs.htm?docid=20959 WATER ENERG_KCAL PROTEIN LIPID_TOT ASH CARBOHYDRT FIBER_TD SUGAR_TOT CALCIUM IRON MAGNESIUM PHOSPHOROUS POTASSIUM SODIUM ZINC COPPER MANGANESE SELENIUM VIT_C THIAMIN RIBOFLAVIN NIACIN PANTO_ACID VIT_B6 FOLATE_TOT FOLIC_ACID FOOD_FOLATE FOLATE_DFE CHOLINE_TOT VIT_B12 VIT_A_IU VIT_A_RAE RETINOL ALPHA_CAROT BETA_CAROT BETA_CRYPT LYCOPENE LUT_ZEA VIT_E VIT_D_MCG VIVIT_D_IU VIT_K FA_SAT FA_MONO FA_POLY CHOLESTRL

Az indexes keresés előnye az egyes méréseknél 100% 90% 80% 70% 60% 50% 40% Egy megszorítás Két megszorítás Három megszorítás Egy megszorítás, két irányból 30% 20% 10% 0% -10% 1 2 3 4 5 6 7 8 9 10 11 12 Index

IMEE további alkalmazása LegKisebb Tartalmazó Maszk (LKTM) Feltételnek megfelelő élelmiszerek LegNagyobb Tartalmazott Maszk (LNTM)

IMEE további alkalmazása Egy szűk halmazt gyorsan lekérdezni (LNTM). Ezt a szűk halmazt gyorsan eljuttatni a felhasználóhoz. Ha a felhasználó elidőzik a listán, akkor a lista finomítása: LKTM LNTM halmaz meghatározása. Ezen halmazból leválogatni az eredeti feltételeknek megfelelő elemeket. Leválogatás közben az új elemek folyamatos eljuttatása a felhasználóhoz.

KÖSZÖNÖM A FIGYELMET!