# Podprojekt Szi ### Opis Tematem podprojektu jest rozpoznawanie posiłków. Użyty jest algorytm genetyczny. ### Dane Posiłki, ich nazwa oraz rodzaj. ##### menu = Context.fromstring(''' |meat|salad|meal|drink|cold|hot | Pork | X | | X | | | X | Espresso | | | | X | | X | Green Tea | | | | X | X | | Greek Salad| | X | X | | X | | Pizza | | | X | | | X |''') Za pomocy graphviz możemy narysować grafy z poniższego kodu: ##### digraph Lattice { node [label="" shape=circle style=filled width=.25] edge [dir=none labeldistance=1.5 minlen=2] c0 c1 c1 -> c1 [color=transparent headlabel=Pork labelangle=270] c1 -> c1 [color=transparent labelangle=90 taillabel=meat] c1 -> c0 c2 c2 -> c2 [color=transparent headlabel="Green Tea" labelangle=270] c2 -> c2 [color=transparent labelangle=90 taillabel=cold] c2 -> c0 c3 c3 -> c3 [color=transparent headlabel="Greek Salad" labelangle=270] c3 -> c3 [color=transparent labelangle=90 taillabel=salad] c3 -> c0 c4 c4 -> c4 [color=transparent headlabel=Espresso labelangle=270] c4 -> c4 [color=transparent labelangle=90 taillabel=drink] c4 -> c2 c5 c5 -> c1 c5 -> c3 c5 -> c4 } Dane testowe: ## func_input = ['meal'] Dane wyjściowe: ## ['Pork', 'Greek Salad', 'Pizza'] ### Implementacja Główna część: ##### gen_num = 20 #generations gen_sol = 6 #solutions gen_par_mating = 2 #how many solutions we select mut_per_gen = 10 mut_num_gen = None crossover = "two_points" muta_type = "scramble" par_keep = 1 #keep only one parent init_range_l = -2 #low init_range_h = -5 #high ... ### Biblioteki * concepts * pygad (algorytm genetyczny) * random * numpy