Élelmiszer adatbázis szűrése mennyiségi megszorítások alapján logaritmikus indexeléssel - Kusper, Gábor; Márien, Szabolcs (Acta Agraria Kaposváriensis, 2011)
Ebben a cikkben az IMEE (Index Maszkos Ehetem-E) algoritmust ismertetjük. Az algoritmust az eFilter projekt keretében fejlesztettük ki. A projekt célkitűzése egy olyan informatikai rendszer felállítása, amely egészségügyi adatok alapján szűri az élelmiszerek listáját. Az új algoritmus feladata eldönteni, hogy a felhasználó egy adott élelmiszert megehet-e, vagy sem. Ehhez ismerni kell a felhasználó étkezésre vonatkozó egészségügyi profilját. A profil megszorításokat tartalmaz, ezek alapján kell egy potenciálisan nagy élelmiszer adatbázisból szűrni a megehető tételeket. A cikkben közölt első algoritmus a természetes megközelítésből adódik. Ennek gyorsítására egy indexelési módszert írtunk le, amely a bitmap indexelési technika használatát teszi lehetővé. Bitmap indexet akkor érdemes használni, ha sok rekord van és az indexelt tulajdonság csak kevés értéket vehet fel. A javasolt módszer a megszorításokat alakítja át indexé, úgy, hogy csak minden a logaritmikus skálán lévő értéknél kisebb vagy egyenlő összetevő tartalmú étel lesz indexelve. Sajnos így egy megszorításnál csak megengedőbb vagy szigorúbb feltétel vizsgálható. Az általános alakú N < összetevő tartalom ≤ M megszorításhoz tartozó szigorúbb megszorítás 2^padlás(log2(N)) < összetevő tartalom ≤ 2^padló(log2(M)) tartozik, amit a legnagyobb tartalmazott megszorításnak nevezünk. Az IMEE algoritmusminden ugyanarra az összetevőre vonatkozó megszorítást összevon egy megszorítássá, majd ezekhez kiszámítja a legnagyobb tartalmazott megszorítást. Végül visszaadja azokat az élelmiszereket, amelyek minden megszorításnak eleget tesznek.
Keywords: bitmap; indexelés; egészségügyi profil; IMEE algoritmus