Aproksymacyjne wyszukiwanie informacji w bazach danych

Slides:



Advertisements
Podobne prezentacje
Teoria układów logicznych
Advertisements

Podział i zastosowanie
Analiza współzależności zjawisk
Rafał Hryniów Tomasz Pieciukiewicz
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
INDEKSY I SORTOWANIE ZEWNĘTRZNE
Bazy danych i inżynieria oprogramowania
Inteligencja Obliczeniowa Zbiory rozmyte, modelowanie wiedzy.
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Badania operacyjne. Wykład 2
KNW- Wykład 8 Wnioskowanie rozmyte.
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
CLUSTERING Metody grupowania danych Plan wykładu Wprowadzenie Dziedziny zastosowania Co to jest problem klastrowania? Problem wyszukiwania optymalnych.
ZŁOŻONOŚĆ OBLICZENIOWA
Język SQL – zapytania zagnieżdżone (podzapytania)
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 3: Język bazy danych - SQL Funkcje grupowe.
Co to jest studium przypadku?
Algorytm Rochio’a.
Sztuczna Inteligencja Reprezentacja wiedzy I Logika rozmyta
Wprowadzenie do budowy usług informacyjnych
SQL-owskie szlaki górskie
Zapytania SQL: wydajność i optymalizacja
Wykład 7 Wojciech Pieprzyca
Wykład 8 Wojciech Pieprzyca
BD-LAB6 Wojciech Pieprzyca
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Język SQL – ciąg dalszy DML (Data Manipulation Language)
Multimedialne bazy danych
Structured Query Language
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
OPERACJA DZIELENIA W SQL
SQL – zapytania posumowanie
SQL – Structured Query Language (3)
O relacjach i algorytmach
Wykład 25 Regulatory dyskretne
Bazy danych podstawowe pojęcia
Word Tabela.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
Statystyka ©M.
Wyprowadzanie informacji z bazy danych - kwerendy wybierające Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
Autor: Joanna Barańska Promotor: dr inż. Paweł Figat Konsultant:
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Bazy danych Microsoft access 2007.
MS Excel - wspomaganie decyzji
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Projektowanie relacyjnych baz danych – postacie normalne
Co to jest dystrybuanta?
Model obiektowy bazy danych
Zagadnienia AI wykład 2.
Zagadnienia AI wykład 6.
Projektowanie relacyjnych baz danych – diagramy związków encji
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Komendy SQL do pracy z danymi
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Język SQL – polecenie Select
Metody Sztucznej Inteligencji – technologie rozmyte i neuronowe Wnioskowanie Mamdani’ego - rozwinięcia  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modelowanie rozmyte – podstawy,
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Statystyczna analiza danych
Przeprowadzenie badań niewyczerpujących, (częściowych – prowadzonych na podstawie próby losowej), nie daje podstaw do formułowania stanowczych stwierdzeń.
Temat: Tworzenie bazy danych
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
STATYSTYKA – kurs podstawowy wykład 8 dr Dorota Węziak-Białowolska Instytut Statystyki i Demografii.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie formalne © Kazimierz Duzinkiewicz, dr hab. inż.
Podstawowe rodzaje modeli rozmytych
Systemy neuronowo – rozmyte
Co do tej pory robiliśmy:
WARSAW DATA SCIENCE MEETUP
Metody sztucznej inteligencji
Zapis prezentacji:

Aproksymacyjne wyszukiwanie informacji w bazach danych Politechnika Śląska Politechnika Śląska Instytut Informatyki Aproksymacyjne wyszukiwanie informacji w bazach danych Wykład - Bazy danych 3 – kierunek Informatyka sem. VII Gliwice 2005

Rodzaje zapytań precyzyjne zakresowe aproksymacyjne Gliwice 2005

Rodzaje zapytań aproksymacyjnych Wektorowe – wyszukiwanie na podstawie podobieństwa dwóch wektorów, z których jeden reprezentuje wyszukiwany obiekt, a drugi kryteria pytania Oparte na prawdopodobieństwie – wyszukiwanie na podstawie prawdopodobieństwa spełnienia przez obiekt warunków pytania, Rozmyte – wyszukiwanie na podstawie stopnia zgodności obiektu z kryteriami pytania W języku naturalnym – semantyka języka określa sposób interpretacji pytania Gliwice 2005

Rys historyczny Twórca teorii zbiorów rozmytych: Lotfi Zadeh (1965r.) Praca inicjująca stosowanie zbiorów rozmytych w bazach danych: opracowanie V. Tahaniego o wyszukiwaniu informacji rozmytej (1976r.) Gliwice 2005

Badania nad zastosowaniem teorii zbiorów rozmytych w bazach danych (1) Zadawanie rozmytych pytań do bazy danych: Translator języka naturalnego wykorzystujący teorię zbiorów rozmytych PRUF - (Zadeh - 1978) Pierwszy rozmyty języka zapytań (Takahashi - 1991) (X jest bardzo niski) Fuzzy Query – tworzony od połowy 1997r. Przez Sonalysts Fquery – IBS PAN Warszawa (J. Kacprzyk, S. Zadrożny) dla MS Access SQLf – P. Bosc, O. Pivert itd. Gliwice 2005

Badania nad zastosowaniem teorii zbiorów rozmytych w bazach danych (2) Zapamiętywanie rozmytych informacji w bazie danych: rozmyte modele danych (B. P. Buckles, F. E. Petry) Rozmyty relacyjny model GEFRED – Uniwersytet w Granadzie (J. Cubero, M. Vila, K. Pons, J. Medina) Rozmyte modele obiektowych baz danych – Belgia (R. De Caluwe itd.) Zbiory rozmyte w bazach danych systemów geograficznych (M. Cobb, A. Yazici, K. Akkaya, V. Robinson) Gliwice 2005

Rodzaje pytań oraz przechowywanych danych Politechnika Śląska Rodzaje pytań oraz przechowywanych danych Precyzyjne pytania - dokładne dane w BD Rozmyte pytania - dokładne dane w BD Precyzyjne pytania - rozmyte dane w BD Rozmyte pytania - rozmyte dane w BD Z takiej klasyfikacji pojawiają się dwa problemy: - jak zawrzeć w składni SQL rozmyte sformułowania - jak przechowywać informacje rozmyte w bazie danych. Stopniowo problemy te będą poruszane w kolejnych częściach prezentacji. Gliwice 2005

Problemy Jak przedstawić w składni języka SQL rozmyte sformułowania i jak ma przebiegać proces interpretacji takich zapytań? W jaki sposób przechowywać w bazie rozmyte dane? Gliwice 2005

Teoria zbiorów rozmytych -podstawowe pojęcia Zbiór rozmyty – zbiór par, w pewnej numerycznej przestrzeni rozważań X A = {(µA(x), x)}, dla każdego x  X, gdzie: µA – funkcja przynależności zbioru rozmytego A – każdemu elementowi zbioru x  X przypisuje stopień przynależności µA(x) do zbioru A, przy czym µA(x)  [0, 1] Gliwice 2005

Przykładowa funkcja przynależności Liczba rozmyta Przedział rozmyty Przedział dokładny Wartość dokładna  D 0 l m n o a dm b Gliwice 2005

Reprezentacja liczb rozmytych Liczba rozmyta typu LR: A1 = (m, a, b) Przedział rozmyty typu LR: A2 = (m, n, a, b) Gliwice 2005

Postać zapytania w języku SQL Select <lista atrybutów> From <lista tabel> Where <warunki> Group by <lista atrybutów> Having <warunki filtrujące> Order by <lista atrybutów> Gliwice 2005

Miejsca występowania wartości rozmytych w pytaniach niezagnieżdżonych Warunki filtrujące we frazie WHERE Warunki filtrujące we frazie HAVING Grupowanie wg wyrażeń zawierających wartości rozmyte – GROUP BY Porządkowanie wg kolumn zawierających wartości rozmyte – ORDER BY Wartości rozmyte we frazie SELECT Gliwice 2005

Diagram bazy danych Gliwice 2005

Interpretacja rozmytych warunków filtrujących w pytaniach SQL Przykład Wyszukaj pracowników w wieku około 50 lat. Gliwice 2005

Wartość rozmyta około 50  1 ... 0 40 45 55 60 X Gliwice 2005

Zapis w notacji języka SQL SELECT imie, nazwisko FROM pracownicy WHERE wiek JEST okolo 50 T(x) 1 (48) = 0.8 0 40 48 50 60 wiek Gliwice 2005

Uzupełnienie tabeli o tymczasową kolumnę zawierającą stopień zgodności Gliwice 2005

Warunki złożone Where W Where W1 AND W2 ... OR Wk Wi AND Wj  min ((wi), (wj)) t-norma Wi OR Wj  max((wi), (wj)) s-norma Gliwice 2005

Wyszukaj pracowników w wieku około 50 lat, mających staż pracy około 20 lat. SELECT imie, nazwisko FROM pracownicy WHERE wiek JEST okolo 50 AND staz_pracy JEST okolo 20 Uzupełniona tabela o tymczasowe kolumny zawierające wartości stopni zgodności Gliwice 2005

Podstawa wyboru wierszy Maksymalny stopień zgodności z warunkami pytania Przekroczenie średniego stopnia zgodności Przekroczenie pewnej zadanej wartości progowej Gliwice 2005

Wprowadzenie do zapisu pytań SQL warunku na stopień zgodności Przykład Wyszukaj pracowników, którzy mają około 50 lat, w odpowiedzi należy uwzględnić wiersze ze stopniem zgodności z kryterium pytania większym niż 0.7. Dotychczasowy zapis pytania: SELECT imie, nazwisko FROM pracownicy WHERE wiek JEST okolo 50 Gliwice 2005

Trzy formy zapisu warunku na stopień zgodności forma dołączana do warunku rozmytego WHERE wiek jest okolo 50 AND DG > 0.7; forma funkcyjna WHERE DG(p.wiek, okolo 50) > 0.7; forma operatorowa WHERE (wiek jest okolo 50) > 0.7; Gliwice 2005

Wartości rozmyte w kolumnach tabeli tabela: zapotrzebowanie (nr_zakl, rok, zapotrzebowanie_na _papier) Przykład Wyszukać zakłady, które złożyły zapotrzebowanie na niewielką ilość papieru. SELECT nr_zakl FROM zapotrzebowanie WHERE zapotrzebowanie_na_papier jest niewielkie; T(x) 1 0 8 10 20 x Gliwice 2005

Agregacja w pytaniach rozmytych (1) Funkcje agregujące na danych rozmytych (we frazie SELECT) „Wyznacz wartość średniego zapotrzebowania na tonery.” SELECT AVG(toner) FROM zapotrzebowanie WHERE rok = ‘2003’; Gliwice 2005

Agregacja w pytaniach rozmytych (2) Nakładanie warunków na funkcje agregujące w pytaniach rozmytych (fraza HAVING): Agregacja wartości ostrych – nakładany warunek rozmyty Agregacja wartości rozmytych – nakładany warunek ostry Agregacja wartości rozmytych – nakładany warunek rozmyty Rozmyte kwantyfikatory operujące na grupie wierszy Gliwice 2005

Agregacja w pytaniach rozmytych (3) Agregacja wartości ostrych – nakładany warunek rozmyty Wyszukać te zakłady, w których jest zatrudnionych około 10 kobiet, przy czym stopień zgodności z tym warunkiem powinien być większy od 0.65. SELECT nr_zakl FROM pracownicy WHERE plec = ‘K’ GROUP BY nr_zakl HAVING (count(nr_prac) jest okolo 10) > 0.65 Gliwice 2005

Agregacja w pytaniach rozmytych (4) Przykład Wyznacz dla każdego zakładu wartość średniego zapotrzebowania na papier. Wyszukaj te zakłady, w których wartość ta przekracza 30 ryz. SELECT nr_zakl, AVG(zapotrzebowanie_na_papier) FROM zapotrzebowanie GROUP BY nr_zakl HAVING AVG(zapotrzebowanie_na_papier) > 30; Gliwice 2005

Agregacja w pytaniach rozmytych (5) Agregacja wartości rozmytych Wyszukać te instytuty, których sumaryczne zapotrzebowanie na papier w danym roku wynosiło około 1000 ryz. W odpowiedzi powinny znaleźć się wiersze o stopniu zgodności co najmniej 0.7. SELECT nr_inst, rok FROM zapotrzebowanie z JOIN instytuty i ON z.nr_inst = i.nr_inst GROUP BY i.nr_inst, rok HAVING (sum(papier) jest okolo 1000) >= 0.7; Gliwice 2005

Rozmyte kwantyfikatory (prawie wszystkie, prawie żaden, około połowa...) Wyszukaj te zakłady, w których prawie wszyscy pracownicy to mężczyźni. W odpowiedzi powinny znaleźć się wiersze o stopniu zgodności co najmniej 0.7. SELECT nr_zakl, prawie_wszystkie(plec = ‘M’) FROM pracownicy GROUP BY nr_zakl HAVING prawie_wszystkie(plec = ‘M’) >= 0.7;   1 1 0.5 ... ... 0 0.9 0.95 1 X 0 0.9 0.925 1 X Funkcja przynależności dla wartości lingwistycznej prawie_wszystkie Gliwice 2005 Stopień zgodności obliczonego odsetka (0.925) z wartością lingwistyczną prawie_wszystkie

Grupowanie danych grupowanie rozmyte dokładnych danych grupowanie rozmytych danych Gliwice 2005

Grupowanie rozmyte dokładnych danych grupowanie względem wartości lingwistycznych Dane: pomiary temperatury w kolejnych dniach Wartości lingwistyczne: bardzo zimno, zimno, ciepło, bardzo ciepło itd. grupowanie według arbitralnego podziału dziedziny atrybutu Dane: staż pracy poszczególnych pracowników Podział dziedziny: około 5 lat, około 10 lat, około 15 lat itd. grupowanie rozmyte z zastosowaniem metody hierarchicznej Początkowo każda dana tworzy grupę Iteracyjne łączenie dwóch najbliższych grup grupowanie rozmyte według autorskiego algorytmu Połączenie idei metody hierarchicznej z klasycznym grupowaniem bazującym na uporządkowaniu danych Gliwice 2005

Metody wyznaczania odległości między grupami najmniejsza odległość pomiędzy dowolną daną grupy A i daną grupy B: największa odległość pomiędzy dowolną daną grupy A i daną grupy B: średnia arytmetyczna wszystkich odległości pomiędzy wszystkimi danymi grup A i B: odległość pomiędzy punktem centralnym (wartością średnią) grupy A i punktem centralnym (wartością średnią) grupy B: gdzie mA, mB są wektorami: mA, mB.       Gliwice 2005

Grupowanie rozmytych danych Uwzględnienie w grupowaniu wszystkich parametrów opisujących wartości rozmyte Grupowanie według wartości modalnych Uwzględnienie wymienionych algorytmów grupowania rozmytego Gliwice 2005

Pytania zagnieżdżone Przykład pytania zagnieżdżonego: Wyszukaj zakłady, które w roku 2002 złożyły zapotrzebowanie na liczbę ryz papieru mniej więcej równą średniemu zużyciu we wszystkich zakładach. Dostępne tabele: Zapotrzebowanie (nr_zakl, rok, zapotrzebowanie_na_papier) Zuzycie (nr_zakl, rok, zuzycie_papieru) SELECT nr_zakl FROM zapotrzebowanie WHERE rok = ‘2002’ AND zapotrzebowanie_na_papier mniej wiecej (SELECT AVG(zuzycie_papieru) FROM zuzycie WHERE rok = ‘2002’); Gliwice 2005

Wartości rozmyte w pytaniach zagnieżdżonych w podzapytaniu wewnętrznym w podzapytaniu zewnętrznym w warunku wiążącym oba podzapytania Problem zapisu warunku na wartość stopnia zgodności forma dołączana do warunku rozmytego forma funkcyjna forma operatorowa Gliwice 2005

Pytanie zagnieżdżone w formie operatorowej W odpowiedzi powinny znaleźć się wiersze ze stopniem zgodności co najmniej 0.7. SELECT nr_zakl FROM zapotrzebowanie WHERE rok = ‘2002’ AND (zapotrzebowanie_na_papier mniej wiecej (SELECT AVG(zuzycie_papieru) FROM zuzycie WHERE rok = ‘2002’))>= 0.7; Gliwice 2005

Warunki wiążące w pytaniach zagnieżdżonych Porównanie wartości podzapytania zewnętrznego z wartością wyznaczaną w pytaniu wewnętrznym: Dokładna - rozmyta Rozmyta - dokładna Rozmyta -rozmyta Wartości rozmyte w warunku korelacji wiążącym pytania zagnieżdżone Gliwice 2005

Zależne kontekstowo interpretacje wartości rozmytych Przykład: Wyszukać w bazie danych uczelni wysokich studentów. Uwzględnić wiersze ze stopniem zgodności przekraczającym 0.8. Dana tabela: Studenci (nr_stud, nr_kier, nazwisko, plec, wzrost) Tradycyjne podejście SELECT nazwisko FROM studenci WHERE (s.wzrost jest wysoki_wzrost) > 0.8 Gliwice 2005

Podejście kontekstowe Dane są następujące tabele: Studenci (nr_stud, nr_kier, nazwisko, plec, wzrost), Wzrost (plec, wysoki_wzrost), SELECT nazwisko FROM Studenci s JOIN Wzrost w ON s.plec = w.plec WHERE (s.wzrost jest w.wysoki_wzrost) > 0.8 Gliwice 2005

Implementacja w SZBD PostgreSQL Dlaczego SZBD PostgreSQL? dostępny kod możliwość tworzenia własnych typów, funkcji i operatorów Gliwice 2005

Implementacja typu rozmytego Reprezentacja wewnętrzna: a, m, dm, b Reprezentacja zewnętrzna: ‘l/m~n\o’ Przy wprowadzaniu danych: okolo(l, m, n, o) Funkcje konwersji wartości rozmytych do wartości lingwistycznych  X 0 l m n o a dm b 1 Gliwice 2005

Zaimplementowane funkcje i operatory Rodzaj nazwa Funkcje i operatory arytmetyczne +, -, *, / Funkcje i operatory porównania >=, >, <=, <, <>, = Funkcje i operatory wyznaczające wartość stopnia zgodności ~= Funktory iloczynu, sumy i negacji rozmytych &&&, |||, ~ Wartości predefiniowane dla typu rozmytego okolo_kilka, okolo_godzina itp. Funkcje konwersji typu rozmytego do postaci alfanumerycznej sekundy_to_lingw, dni_to_lingw Funkcje agregujące na wartościach typu rozmytego avg, sum, min, max Funkcje realizujące rozmyte kwantyfikatory prawie_zaden, prawie_wszystkie, okolo_polowa itd. Funkcje i operatory realizujące rozmyte grupowanie danych <, =, <<< Funkcje i operatory realizujące rozmyty warunek wiążący podzapytania *=, *>=, *>, *<=, *<, *<> Gliwice 2005

Testowa baza Zawodnicy 6 tabel 10 000 rekordów 12 złożonych testowych zapytań Gliwice 2005

Baza danych zawodnicy Struktura bazy danych zawodnicy Osoby (id_oso, imie, nazwisko, plec, data_ur, wzrost, waga, data_przyjecia, funkcja), Obecności (id_obe, id_tre, id_oso, sennosc, zmeczenie, stres, zlosc); Serie (id_ser, id_obe, nr, suma), Strzaly (id_strz, id_ser, nr, wynik), Treningi (id_tre, data, godz_od, godz_do, id_oso, id_war) Warunki (id_war, data, temperatura, wiatr, widocznosc)   Id_oso – w tabeli treningi oznacza id. trenera Gliwice 2005

Diagram bazy danych Zawodnicy Gliwice 2005

Przykłady definicji zmiennych lingwistycznych (1) Gliwice 2005

Przykłady definicji zmiennych lingwistycznych (2) Gliwice 2005

Przykładowe pytania rozmyte (1) wartości rozmyte we frazie where „Wyszukaj nazwiska wysokich zawodników średniej wagi, którzy przy słabej widoczności choć raz trafili w dziesiątkę. W odpowiedzi powinny znaleźć się wszystkie wiersze spełniające ze stopniem zgodności większym niż 0 kryteria pytania.” SELECT DISTINCT os.id_oso, os.imie, os.nazwisko FROM osoby os JOIN obecnosci ob ON os.id_oso = ob.id_oso JOIN treningi t ON ob.id_tre = t.id_tre JOIN warunki w ON t.id_war = w.id_war JOIN serie s ON s.id_obe = ob.id_obe JOIN strzaly st ON s.id_ser = st.id_ser WHERE ((os.wzrost ~= wysoki_wzrost_mezczyzny()) &&& (os.waga ~= srednia_waga_mezczyzny()) &&& (w.widocznosc ~= slaba_widocznosc())) > 0.0 AND st.wynik = 10; Gliwice 2005

Przykładowe pytania rozmyte (2) wartości rozmyte we frazie where „Wyszukaj daty treningów wraz z liczbą zawodników, którzy przystępując do treningu byli wyspani lub wypoczęci, zaś w czasie treningów nie denerwowali się (nie odczuwali stresu). W odpowiedzi powinny znaleźć się wszystkie wiersze spełniające ze stopniem zgodności większym niż 0,5 kryteria pytania.” Gliwice 2005

Przykładowe pytania rozmyte (3a) wartości rozmyte we frazie WHERE i HAVING „Wyszukaj zawodników, którzy odbywali dwa pierwsze treningi z małym stresem i mieli na nich chociaż jedną bardzo dobrą serię. W odpowiedzi powinny się znaleźć wiersze spełniające kryteria pytania ze stopniem większym niż 0.” „Wyszukaj warunki pogodowe panujące w czasie tych treningów, w trakcie których prawie wszyscy zawodnicy byli wyspani (stopień zgodności z warunkiem rozmytym wyspany powinien być nie mniejszy niż 0,8, a własność prawie wszystkie winna być spełniona ze stopniem zgodności nie mniejszym niż 0,7)”. Gliwice 2005

Przykładowe pytania rozmyte (4) grupowanie względem wartości rozmytych „Wyszukaj średnią liczbę punktów uzyskanych we wszystkich seriach dla poszczególnych zdefiniowanych przedziałów wartości siły wiatru.” „Określ wpływ zmęczenia zawodników na celność ich strzałów. (Wyznacz średnią liczbę punktów uzyskaną dla poszczególnych stanów zmęczenia).” Gliwice 2005

Przykładowe pytania rozmyte (5) wartości rozmyte w pytaniach zagnieżdżonych w podzapytaniach wewnętrznym i zewnętrznym „Wyszukaj nazwiska zawodników, którzy w poszczególnych treningach mieli najwięcej dobrych serii. W odpowiedzi powinny znaleźć się wiersze ze stopniem zgodności przekraczającym 0.” „Wyszukaj treningi, w których liczba bardzo_dobrych serii była większa niż dobrych. W rozwiązaniu należy uwzględnić wiersze ze stopniem zgodności przekraczającym 0.8.” Gliwice 2005

Przykładowe pytania rozmyte (6) wartości rozmyte w pytaniach zagnieżdżonych wartości rozmyte w warunku łączącym „Wyszukaj treningi przeprowadzone w najsłabszej widoczności, na których choć jeden zawodnik trafił dziesiątkę.” „Wyszukaj wyniki i cechy psychomotoryczne (senność, zmęczenie, stres) uczestników treningów, w czasie których wiatr był taki jak wiatr na najmniej udanym treningu. W odpowiedzi powinny się znaleźć wiersze spełniające kryteria pytania ze stopniem zgodności przekraczającym 0.5. ” „Wyszukaj daty tych treningów, na których odsetek wyspanych zawodników jest największy.” Gliwice 2005

Serwisy wspomagające nawiązywanie kontaktów międzyludzkich Poznawanie ciekawych osób o podobnych zainteresowaniach cechach charakteru czy odpowiadającym wyglądzie Gliwice 2005

Problemy: Sprecyzowanie wymagań, jakie powinna spełniać najbardziej odpowiadająca osoba Otrzymanie w odpowiedzi danych co najmniej kilku osób, spełniających w określonym stopniu podane kryteria Gliwice 2005

Wprowadzenie do języka zapytań elementów teorii zbiorów rozmytych pozwala na: Formułowanie rozmytych, nieprecyzyjnych warunków wyszukiwania (np. średni wzrost, szczupła sylwetka itd.) Określenie w odpowiedzi częściowej przynależności elementu do zdefiniowanego zbioru Gliwice 2005

Warstwy logiki rozmytej w prezentowanym serwisie Gliwice 2005

Warstwa najniższa: funkcje podstawowe + operatory Zaimplementowano: Funkcje charakterystyczne: liniową, trójkątną, trapezową, wykładniczą oraz połączenie trapezowej i wykładniczej Operatory rozmyte: operator sumy OR (max spośród dwóch parametrów – s-norma Zadeh’a) operator iloczynu AND (min spośród dwóch parametrów - t-norma Zadeh’a) operator negacji NOT – różnica wartości 1 i parametru operator koncentracji CON – druga potęga wartości parametru operator rozproszenia DIL – pierwiastek z wartości parametru Gliwice 2005

Warstwa definicji cech, należących do kryterium wyszukiwarki Przykładowe cechy, jakie zdefiniowano w systemie: dotyczące wzrostu: is_very_short, is_short, is_medium, is_high, is_very_high dotyczące wieku: is_teenage, is_young, is_mature, is_senior dotyczące sylwetki: is_thin, is_normal, is_fluffy Do każdej cechy przyporządkowana jest dowolna funkcja charakterystyczna, którą można odpowiednio kształtować z poziomu interfejsu użytkownika Personalizacja zapytań (w zależności od cech osoby korzystającej z przeglądarki) Gliwice 2005

Aplikacja do zarządzania zapytaniami rozmytymi Gliwice 2005

Zapytanie SQL Przykład: zapytanie wybiera osoby wysokie, młode lub średnie wiekiem, o szczupłej sylwetce, przy następujących danych osoby pytającej: wzrost 176cm, waga 65 kg: SELECT * FROM persons WHERE activity = true AND sex = ‘F’ AND (is_high(176,height) OP_AND is_thin(65,weight) op_and is_young(20,age) OP_OR is_medium(20,age))>0; Gliwice 2005

Wyszukiwarka rozmyta Gliwice 2005