Raport z projektu: Metody i algorytmy sztucznej inteligencji.

System ekspercki wspomagający
układanie diety dla osób trenujących.

24 czerwca 2008r.

Autor: Tomasz Koralewski
Prowadzący: dr inż. Witold Paluszyński





Opis zadania.

Zadanie polegało na stworzeniu systemu doradczego pomagającego przy układaniu diety dla osób trenujących bądź aktywnych fizycznie. Układanie diety jest sporym wyzwaniem dla osób które rozpoczęły treningi fizyczne. Na prawidłowe układanie diety wpływa nie tylko skład posiłków ale ich ilość oraz godziny przyjmowania i proporcje poszczególnych składników przypadających na dany posiłek. Podstawowym problemem popełnianym przez początkujących jest zwracanie zbyt dużej uwagi na treningi a pomijanie aspektów związanych z prawidłowym odżywianiem. A to właśnie odpowiednio ułożona dieta jest głównym czynnikiem wpływającym na osiągnięcie sukcesu. Zadanie zostało zrealizowane w programie CLIPS. System zadaje użytkownikowi pytania dotyczące jego budowy oraz preferencji treningowych, a następnie oblicza dzienne zapotrzebowanie na kalorie oraz sugerowane wartości dziennego spożycia białka, tłuszczy oraz węglowodanów. Dzięki uzyskanym danym program proponuje ilość posiłków oraz ich rozkład w ciągu dnia i ilość składników odżywczych przypadających na dany posiłek.

Metoda rozwiązania.

Zadanie zostało zrealizowane za pomocą programu CLIPS (C Language Integrated Production System). CLIPS jest programem służącym do budowy systemów ekspertowych. Jest on udostępniany na zasadach Open Source. Program pozwala na budowanie oraz programowanie systemów ekspertowych. Program ma możliwość reprezentowania wiedzy na podstawie bazy wiedzy za pomocą faktów i reguł. Oprócz programowania regułowego program oferuje również programowanie obiektowe oraz proceduralne.

Opis implementacji programowej.

W początkowej fazie działania program zadaje pytania dotyczące użytkownika. Program pyta kolejno o:
Na podstawie tych danych obliczany jest współczynnik BMR czyli podstawowa przemiana materii:

Kolejnymi pytaniami zadawanymi przez program są dane dotyczące aktywności fizycznej czyli:
  • typ budowy
  • ilość treningu siłowego w przeciągu tygodnia
  • ilość treningu aerobowego w przeciągu tygodnia
  • cel jaki chcemy osiągnąć
Na tej podstawie obliczany jest TEA czyli współczynnik dziennej aktywności fizycznej.

Wcześniej wprowadzone dane pozwalają na obliczenie przybliżonego zapotrzebowania energetycznego.
Następnie proponowane są produkty z bazy danych które mogą być pomocne przy pokryciu zapotrzebowania na białko. Wyświetlane są produkty posiadające więcej niż 20 gram białka i mające poniżej 10 gram tłuszczu na każde 100 gram. Wat rości te ustawione są na sztywno czyli dla każdego użytkownika są takie sam.

Przykłady działania programu.

Podaj swoja plec (k m)? m
Podaj swoj wiek 20
Podaj swoj wzrost (w cm) 180
Podaj swoją wagę 70
Podaj typ swojej budowy (endomorfik, ektomorfik, mezomorfik )  :ektomorfik
Podaj ilość treningu siłowego (w minutach tygodniowo) 180
Podaj ilość treningu aerobowego (w minutach tygodniowo) 30
Jaki jest twoj cel (masa, rzezba, nic):masa
Zapotrzebowanie calkowite: 3740.00428571429
Powinieneś spożyć:
Bialko: 154.0 gram
Tluszcz: 103.889007936508 gram
Weglowodany: 547.250803571429 gram
 Polecane chude wysokobialkowe produkty to:
Tunczyk_w_wodzie,
Tunczyk_w_oleju,
losos_wedzony,
Dorsz_wedzony,
Sardynka_swieza,
Szynka_z_piersi_kurczaka,
Kielbasa_podsuszana_z_kurczaka,
Szynka_wolowa_gotowana,
Mieso_z_piersi_kurczaka_bez_skory,
Wolowina_poledwica,
Wolowina_pieczen,
Wolowina_klasa_II,
Wolowina_klasa_I_sciegnista,
Wolowina_klasa_I_niesciegnista,
Cielecina_sznyclowka,
Podaj swoja plec (k m)? k
Podaj swoj wiek 24
Podaj swoj wzrost (w cm) 165
Podaj swoją wagę 62
Podaj typ swojej budowy (endomorfik, ektomorfik, mezomorfik )  :endomorfik
Podaj ilość treningu siłowego (w minutach tygodniowo) 0
Podaj ilość treningu aerobowego (w minutach tygodniowo) 135
Jaki jest twoj cel (masa, rzezba, nic):rzezba
Zapotrzebowanie calkowite: 1780.62385714286
Powinieneś spożyć:
Bialko: 136.4 gram
Tluszcz: 49.4617738095238 gram
Weglowodany: 197.466973214286 gram
 Polecane chude wysokobialkowe produkty to:
Tunczyk_w_wodzie,
Tunczyk_w_oleju,
losos_wedzony,
Dorsz_wedzony,
Sardynka_swieza,
Szynka_z_piersi_kurczaka,
Kielbasa_podsuszana_z_kurczaka,
Szynka_wolowa_gotowana,
Mieso_z_piersi_kurczaka_bez_skory,
Wolowina_poledwica,
Wolowina_pieczen,
Wolowina_klasa_II,
Wolowina_klasa_I_sciegnista,
Wolowina_klasa_I_niesciegnista,
Cielecina_sznyclowka,
Podaj swoja plec (k m)? m
Podaj swoj wiek 30
Podaj swoj wzrost (w cm) 185
Podaj swoją wagę 80
Podaj typ swojej budowy (endomorfik, ektomorfik, mezomorfik )  :mezomorfik
Podaj ilość treningu siłowego (w minutach tygodniowo) 0
Podaj ilość treningu aerobowego (w minutach tygodniowo) 0
Jaki jest twoj cel (masa, rzezba, nic):nic
Zapotrzebowanie calkowite: 2768.855
Powinieneś spożyć:
Bialko: 176.0 gram
Tluszcz: 76.9126388888889 gram
Weglowodany: 343.1603125 gram
 Polecane chude wysokobialkowe produkty to:
Tunczyk_w_wodzie,
Tunczyk_w_oleju,
losos_wedzony,
Dorsz_wedzony,
Sardynka_swieza,
Szynka_z_piersi_kurczaka,
Kielbasa_podsuszana_z_kurczaka,
Szynka_wolowa_gotowana,
Mieso_z_piersi_kurczaka_bez_skory,
Wolowina_poledwica,
Wolowina_pieczen,
Wolowina_klasa_II,
Wolowina_klasa_I_sciegnista,
Wolowina_klasa_I_niesciegnista,
Cielecina_sznyclowka,

Omówienie wyników.

Program miał być systemem eksperckim układającym dietę. Zadania tego nie udało się zrealizować do końca. Jak widać program w prawidłowy sposób oblicza zapotrzebowanie kaloryczne w zależności od podanych czynników i jako taki system działa prawidłowo. Nie spełnia on jednak wszystkich stawianych założeń. Proponowane przez program składniki nie są uzależnione w żaden sposób od wprowadzanych danych. Produkty są wyświetlone na podstawie sztywno zdefiniowanych zawartości białek i tłuszczów i są identyczne dla każdego z użytkowników i mogą być traktowane jedynie jako propozycja wysokobiałkowych posiłków.

Bibliografia: