c0d05cce43
program sie wywala jesli traktor chce zasadzic cebule. czemu? nie wiem.
871 lines
28 KiB
Python
871 lines
28 KiB
Python
import pytholog as pl
|
|
|
|
tractor_kb = pl.KnowledgeBase("tractor")
|
|
tractor_kb([
|
|
|
|
# DEFINIOWANIE FAKTÓW
|
|
|
|
# Zasoby traktora
|
|
"traktor(traktor)",
|
|
"pojemnosc_silnika(traktor, 5.65)", # l
|
|
"srednie_spalanie(traktor, 0.27)", # l/km
|
|
"ładowność_przyczepy(traktor, 2.75)", # ton
|
|
"cena_paliwa(traktor, 6.48)", # zł/l
|
|
"pojemność_podlewanie(traktor, 2000)",
|
|
|
|
# Środowisko
|
|
"pole(pole)",
|
|
"wilgotnosc(pole, 10)",
|
|
"pH_gleby(pole, 6,5)",
|
|
|
|
# Warzywa
|
|
"warzywo(bób)",
|
|
"warzywo(brokuł)",
|
|
"warzywo(brukselka)",
|
|
"warzywo(burak)",
|
|
"warzywo(cebula)",
|
|
"warzywo(cukinia)",
|
|
"warzywo(dynia)",
|
|
"warzywo(fasola)",
|
|
"warzywo(groch)",
|
|
"warzywo(jarmuż)",
|
|
"warzywo(kalafior)",
|
|
"warzywo(kalarepa)",
|
|
"warzywo(kapusta)",
|
|
"warzywo(marchew)",
|
|
"warzywo(ogórek)",
|
|
"warzywo(papryka)",
|
|
"warzywo(pietruszka)",
|
|
"warzywo(pomidor)",
|
|
"warzywo(por)",
|
|
"warzywo(rzepa)",
|
|
"warzywo(rzodkiewka)",
|
|
"warzywo(sałata)",
|
|
"warzywo(seler)",
|
|
"warzywo(szpinak)",
|
|
"warzywo(ziemniak)",
|
|
|
|
# Średnia masa zebranych warzyw z jednego kwadratu przy standardowym obfitowaniu
|
|
"masa(bób, 24.33)",
|
|
"masa(brokuł, 30.02)",
|
|
"masa(brukselka, 15.32)",
|
|
"masa(burak, 30.46)",
|
|
"masa(cebula, 14.67)",
|
|
"masa(cukinia, 40.1)",
|
|
"masa(dynia, 68.01)",
|
|
"masa(fasola, 15.39)",
|
|
"masa(groch, 29.92)",
|
|
"masa(jarmuż, 14.51)",
|
|
"masa(kalafior, 65.82)",
|
|
"masa(kalarepa, 40.91)",
|
|
"masa(kapusta, 64.69)",
|
|
"masa(marchew, 13.73)",
|
|
"masa(ogórek, 27.89)",
|
|
"masa(papryka, 30.13)",
|
|
"masa(pietruszka, 14.75)",
|
|
"masa(pomidor, 16.89)",
|
|
"masa(por, 15.23)",
|
|
"masa(rukola, 13.28)",
|
|
"masa(rzepa, 30.93)",
|
|
"masa(rzodkiewka, 17.27)",
|
|
"masa(sałata, 25.92)",
|
|
"masa(seler, 24.45)",
|
|
"masa(szpinak, 15.29)",
|
|
"masa(ziemniak, 63.83)",
|
|
|
|
# Ilość wody potrzebna w fazie wzrostu
|
|
"woda(bób, 30)",
|
|
"woda(brokuł, 40)",
|
|
"woda(brukselka, 50)",
|
|
"woda(burak, 25)",
|
|
"woda(cebula, 35)",
|
|
"woda(cukinia, 45)",
|
|
"woda(dynia, 55)",
|
|
"woda(fasola, 30)",
|
|
"woda(groch, 25)",
|
|
"woda(jarmuż, 35)",
|
|
"woda(kalafior, 40)",
|
|
"woda(kalarepa, 30)",
|
|
"woda(kapusta, 40)",
|
|
"woda(marchew, 35)",
|
|
"woda(ogórek, 45)",
|
|
"woda(papryka, 40)",
|
|
"woda(pietruszka, 35)",
|
|
"woda(pomidor, 50)",
|
|
"woda(por, 35)",
|
|
"woda(rukola, 45)",
|
|
"woda(rzepa, 30)",
|
|
"woda(rzodkiewka, 30)",
|
|
"woda(sałata, 40)",
|
|
"woda(seler, 35)",
|
|
"woda(szpinak, 35)",
|
|
"woda(ziemniak, 30)",
|
|
|
|
# Fazy życia wraz z procentem potrzebnej wody (w stosunku do fazy wzrostu)
|
|
"faza(posadzono, 0.75)",
|
|
"faza(rośnie, 1)",
|
|
"faza(dojrzało, 0.5)",
|
|
"faza(zgniło, 0)",
|
|
|
|
# Czas wysiewu - liczba oznacza dany tydzień roku
|
|
"wysiew(bób, 13)",
|
|
"wysiew(brokuł, 13)",
|
|
"wysiew(brukselka, 13)",
|
|
"wysiew(burak, 16)",
|
|
"wysiew(cebula, 13)",
|
|
"wysiew(cukinia, 19)",
|
|
"wysiew(dynia, 19)",
|
|
"wysiew(fasola, 17)",
|
|
"wysiew(groch, 13)",
|
|
"wysiew(jarmuż, 13)",
|
|
"wysiew(kalafior, 13)",
|
|
"wysiew(kalarepa, 13)",
|
|
"wysiew(kapusta, 13)",
|
|
"wysiew(marchew, 13)",
|
|
"wysiew(ogórek, 18)",
|
|
"wysiew(papryka, 14)",
|
|
"wysiew(pietruszka, 13)",
|
|
"wysiew(pomidor, 17)",
|
|
"wysiew(por, 13)",
|
|
"wysiew(rukola, 13)",
|
|
"wysiew(rzepa, 13)",
|
|
"wysiew(rzodkiewka, 13)",
|
|
"wysiew(sałata, 13)",
|
|
"wysiew(seler, 13)",
|
|
"wysiew(szpinak, 13)",
|
|
"wysiew(ziemniak, 15)",
|
|
|
|
# Czas kiełkowania - dni
|
|
"czas(bób, posadzono, 7)",
|
|
"czas(brokuł, posadzono, 6)",
|
|
"czas(brukselka, posadzono, 4)",
|
|
"czas(burak, posadzono, 7)",
|
|
"czas(cebula, posadzono, 8)",
|
|
"czas(cukinia, posadzono, 5)",
|
|
"czas(dynia, posadzono, 8)",
|
|
"czas(fasola, posadzono, 6)",
|
|
"czas(groch, posadzono, 4)",
|
|
"czas(jarmuż, posadzono, 5)",
|
|
"czas(kalafior, posadzono, 4)",
|
|
"czas(kalarepa, posadzono, 7)",
|
|
"czas(kapusta, posadzono, 7)",
|
|
"czas(marchew, posadzono, 6)",
|
|
"czas(ogórek, posadzono, 6)",
|
|
"czas(papryka, posadzono, 4)",
|
|
"czas(pietruszka, posadzono, 7)",
|
|
"czas(pomidor, posadzono, 5)",
|
|
"czas(por, posadzono, 5)",
|
|
"czas(rukola, posadzono, 8)",
|
|
"czas(rzepa, posadzono, 8)",
|
|
"czas(rzodkiewka, posadzono, 4)",
|
|
"czas(sałata, posadzono, 6)",
|
|
"czas(seler, posadzono, 5)",
|
|
"czas(szpinak, posadzono, 5)",
|
|
"czas(ziemniak, posadzono, 6)",
|
|
|
|
# Czas dojrzewania - dni
|
|
"czas(bób, rośnie, 69)",
|
|
"czas(brokuł, rośnie, 74)",
|
|
"czas(brukselka, rośnie, 84)",
|
|
"czas(burak, rośnie, 62)",
|
|
"czas(cebula, rośnie, 97)",
|
|
"czas(cukinia, rośnie, 47)",
|
|
"czas(dynia, rośnie, 92)",
|
|
"czas(fasola, rośnie, 54)",
|
|
"czas(groch, rośnie, 69)",
|
|
"czas(jarmuż, rośnie, 59)",
|
|
"czas(kalafior, rośnie, 65)",
|
|
"czas(kalarepa, rośnie, 54)",
|
|
"czas(kapusta, rośnie, 85)",
|
|
"czas(marchew, rośnie, 71)",
|
|
"czas(ogórek, rośnie, 53)",
|
|
"czas(papryka, rośnie, 78)",
|
|
"czas(pietruszka, rośnie, 62)",
|
|
"czas(pomidor, rośnie, 75)",
|
|
"czas(por, rośnie, 65)",
|
|
"czas(rukola, rośnie, 55)",
|
|
"czas(rzepa, rośnie, 65)",
|
|
"czas(rzodkiewka, rośnie, 53)",
|
|
"czas(sałata, rośnie, 57)",
|
|
"czas(seler, rośnie, 59)",
|
|
"czas(szpinak, rośnie, 62)",
|
|
"czas(ziemniak, rośnie, 67)",
|
|
|
|
# Czas dojrzałosci - dni
|
|
"czas(bób, dojrzało, 7)",
|
|
"czas(brokuł, dojrzało, 6)",
|
|
"czas(brukselka, dojrzało, 8)",
|
|
"czas(burak, dojrzało, 5)",
|
|
"czas(cebula, dojrzało, 9)",
|
|
"czas(cukinia, dojrzało, 7)",
|
|
"czas(dynia, dojrzało, 5)",
|
|
"czas(fasola, dojrzało, 4)",
|
|
"czas(groch, dojrzało, 8)",
|
|
"czas(jarmuż, dojrzało, 7)",
|
|
"czas(kalafior, dojrzało, 6)",
|
|
"czas(kalarepa, dojrzało, 8)",
|
|
"czas(kapusta, dojrzało, 7)",
|
|
"czas(marchew, dojrzało, 9)",
|
|
"czas(ogórek, dojrzało, 6)",
|
|
"czas(papryka, dojrzało, 5)",
|
|
"czas(pietruszka, dojrzało, 7)",
|
|
"czas(pomidor, dojrzało, 4)",
|
|
"czas(por, dojrzało, 8)",
|
|
"czas(rukola, dojrzało, 4)",
|
|
"czas(rzepa, dojrzało, 5)",
|
|
"czas(rzodkiewka, dojrzało, 6)",
|
|
"czas(sałata, dojrzało, 7)",
|
|
"czas(seler, dojrzało, 8)",
|
|
"czas(szpinak, dojrzało, 4)",
|
|
"czas(ziemniak, dojrzało, 6)",
|
|
|
|
# Ceny obsadzenia kwadratu
|
|
"cena(bób, 1.24)",
|
|
"cena(brokuł, 1.69)",
|
|
"cena(brukselka, 2.37)",
|
|
"cena(burak, 0.91)",
|
|
"cena(cebula, 1.53)",
|
|
"cena(cukinia, 1.48)",
|
|
"cena(dynia, 2.14)",
|
|
"cena(fasola, 1.07)",
|
|
"cena(groch, 0.87)",
|
|
"cena(jarmuż, 1.62)",
|
|
"cena(kalafior, 1.73)",
|
|
"cena(kalarepa, 1.39)",
|
|
"cena(kapusta, 1.91)",
|
|
"cena(marchew, 1.26)",
|
|
"cena(ogórek, 1.88)",
|
|
"cena(papryka, 1.96)",
|
|
"cena(pietruszka, 1.35)",
|
|
"cena(pomidor, 1.75)",
|
|
"cena(por, 1.14)",
|
|
"cena(rukola, 1.44)",
|
|
"cena(rzepa, 1.17)",
|
|
"cena(rzodkiewka, 1.08)",
|
|
"cena(sałata, 1.68)",
|
|
"cena(seler, 1.29)",
|
|
"cena(szpinak, 1.62)",
|
|
"cena(ziemniak, 1.97)",
|
|
|
|
# Ceny zysku za kg
|
|
"zysk(bób, 17.34)",
|
|
"zysk(brokuł, 13.72)",
|
|
"zysk(brukselka, 27.91)",
|
|
"zysk(burak, 10.56)",
|
|
"zysk(cebula, 10.22)",
|
|
"zysk(cukinia, 11.88)",
|
|
"zysk(dynia, 12.45)",
|
|
"zysk(fasola, 14.76)",
|
|
"zysk(groch, 13.09)",
|
|
"zysk(jarmuż, 14.28)",
|
|
"zysk(kalafior, 13.67)",
|
|
"zysk(kalarepa, 11.94)",
|
|
"zysk(kapusta, 10.83)",
|
|
"zysk(marchew, 10.14)",
|
|
"zysk(ogórek, 10.65)",
|
|
"zysk(papryka, 11.37)",
|
|
"zysk(pietruszka, 10.97)",
|
|
"zysk(pomidor, 11.23)",
|
|
"zysk(por, 10.78)",
|
|
"zysk(rukola, 11.56)",
|
|
"zysk(rzepa, 10.31)",
|
|
"zysk(rzodkiewka, 10.19)",
|
|
"zysk(sałata, 10.42)",
|
|
"zysk(seler, 10.81)",
|
|
"zysk(szpinak, 11.79)",
|
|
"zysk(ziemniak, 9.94)",
|
|
|
|
# Cena ekologicnzego warzywa (za kg)
|
|
"zysk_eko(bób, 19.34)",
|
|
"zysk_eko(brokuł, 15.72)",
|
|
"zysk_eko(brukselka, 29.91)",
|
|
"zysk_eko(burak, 12.56)",
|
|
"zysk_eko(cebula, 12.22)",
|
|
"zysk_eko(cukinia, 13.88)",
|
|
"zysk_eko(dynia, 14.45)",
|
|
"zysk_eko(fasola, 16.76)",
|
|
"zysk_eko(groch, 15.09)",
|
|
"zysk_eko(jarmuż, 16.28)",
|
|
"zysk_eko(kalafior, 15.67)",
|
|
"zysk_eko(kalarepa, 13.94)",
|
|
"zysk_eko(kapusta, 12.83)",
|
|
"zysk_eko(marchew, 12.14)",
|
|
"zysk_eko(ogórek, 12.65)",
|
|
"zysk_eko(papryka, 13.37)",
|
|
"zysk_eko(pietruszka, 13.97)",
|
|
"zysk_eko(pomidor, 13.23)",
|
|
"zysk_eko(por, 12.78)",
|
|
"zysk_eko(rukola, 13.56)",
|
|
"zysk_eko(rzepa, 12.31)",
|
|
"zysk_eko(rzodkiewka, 12.19)",
|
|
"zysk_eko(sałata, 12.42)",
|
|
"zysk_eko(seler, 12.81)",
|
|
"zysk_eko(szpinak, 13.79)",
|
|
"zysk_eko(ziemniak, 11.94)",
|
|
|
|
# pH wzrostu
|
|
"ph_wzrostu(bób, 6.0)",
|
|
"ph_wzrostu(brokuł, 6.5)",
|
|
"ph_wzrostu(brukselka, 6.0)",
|
|
"ph_wzrostu(burak, 6.5)",
|
|
"ph_wzrostu(cebula, 5.5)",
|
|
"ph_wzrostu(cukinia, 6.0)",
|
|
"ph_wzrostu(dynia, 6.5)",
|
|
"ph_wzrostu(fasola, 6.0)",
|
|
"ph_wzrostu(groch, 6.5)",
|
|
"ph_wzrostu(jarmuż, 6.5)",
|
|
"ph_wzrostu(kalafior, 6.0)",
|
|
"ph_wzrostu(kalarepa, 6.5)",
|
|
"ph_wzrostu(kapusta, 6.0)",
|
|
"ph_wzrostu(marchew, 6.5)",
|
|
"ph_wzrostu(ogórek, 6.0)",
|
|
"ph_wzrostu(papryka, 6.5)",
|
|
"ph_wzrostu(pietruszka, 6.0)",
|
|
"ph_wzrostu(pomidor, 6.5)",
|
|
"ph_wzrostu(por, 6.0)",
|
|
"ph_wzrostu(rukola, 6.5)",
|
|
"ph_wzrostu(rzepa, 6.0)",
|
|
"ph_wzrostu(rzodkiewka, 6.5)",
|
|
"ph_wzrostu(sałata, 6.0)",
|
|
"ph_wzrostu(seler, 6.5)",
|
|
"ph_wzrostu(szpinak, 6.0)",
|
|
"ph_wzrostu(ziemniak, 5.5)",
|
|
|
|
# Złe sąsiedztwo warzyw z procentem plonów, jaki otrzymujemy
|
|
"przeszkadza(bób, cebula, 0.90)",
|
|
"przeszkadza(bób, fasola, 0.80)",
|
|
"przeszkadza(bób, groch, 0.85)",
|
|
"przeszkadza(bób, papryka, 0.75)",
|
|
"przeszkadza(bób, pomidor, 0.70)",
|
|
"przeszkadza(bób, rukola, 0.90)",
|
|
"przeszkadza(bób, seler, 0.80)",
|
|
"przeszkadza(brokuł, brukselka, 0.85)",
|
|
"przeszkadza(brokuł, cebula, 0.90)",
|
|
"przeszkadza(brokuł, jarmuż, 0.80)",
|
|
"przeszkadza(brokuł, kalafior, 0.70)",
|
|
"przeszkadza(brokuł, kapusta, 0.75)",
|
|
"przeszkadza(brokuł, marchew, 0.85)",
|
|
"przeszkadza(brokuł, papryka, 0.65)",
|
|
"przeszkadza(brokuł, pietruszka, 0.80)",
|
|
"przeszkadza(brokuł, pomidor, 0.60)",
|
|
"przeszkadza(brokuł, rukola, 0.90)",
|
|
"przeszkadza(brokuł, rzodkiewka, 0.85)",
|
|
"przeszkadza(brukselka, cebula, 0.90)",
|
|
"przeszkadza(brukselka, kalafior, 0.70)",
|
|
"przeszkadza(brukselka, marchew, 0.85)",
|
|
"przeszkadza(brukselka, papryka, 0.75)",
|
|
"przeszkadza(brukselka, pietruszka, 0.80)",
|
|
"przeszkadza(brukselka, pomidor, 0.60)",
|
|
"przeszkadza(brukselka, por, 0.90)",
|
|
"przeszkadza(brukselka, rukola, 0.90)",
|
|
"przeszkadza(brukselka, rzodkiewka, 0.85)",
|
|
"przeszkadza(brukselka, ziemniak, 0.85)",
|
|
"przeszkadza(burak, cebula, 0.90)",
|
|
"przeszkadza(burak, fasola, 0.80)",
|
|
"przeszkadza(burak, marchew, 0.85)",
|
|
"przeszkadza(burak, papryka, 0.75)",
|
|
"przeszkadza(burak, pietruszka, 0.80)",
|
|
"przeszkadza(burak, por, 0.90)",
|
|
"przeszkadza(burak, rukola, 0.90)",
|
|
"przeszkadza(burak, szpinak, 0.85)",
|
|
"przeszkadza(burak, ziemniak, 0.85)",
|
|
"przeszkadza(cebula, fasola, 0.80)",
|
|
"przeszkadza(cebula, groch, 85)",
|
|
"przeszkadza(cebula, kalafior, 0.70)",
|
|
"przeszkadza(cebula, kapusta, 0.75)",
|
|
"przeszkadza(cebula, marchew, 0.85)",
|
|
"przeszkadza(cebula, papryka, 0.75)",
|
|
"przeszkadza(cebula, por, 0.90)",
|
|
"przeszkadza(cebula, rukola, 0.90)",
|
|
"przeszkadza(cebula, rzepa, 0.85)",
|
|
"przeszkadza(cebula, rzodkiewka, 0.85)",
|
|
"przeszkadza(cukinia, ogórek, 0.90)",
|
|
"przeszkadza(cukinia, papryka, 0.75)",
|
|
"przeszkadza(cukinia, pomidor, 0.60)",
|
|
"przeszkadza(cukinia, rukola, 0.90)",
|
|
"przeszkadza(cukinia, ziemniak, 0.85)",
|
|
"przeszkadza(dynia, ogórek, 0.90)",
|
|
"przeszkadza(dynia, papryka, 0.75)",
|
|
"przeszkadza(dynia, rukola, 0.90)",
|
|
"przeszkadza(dynia, ziemniak, 0.85)",
|
|
"przeszkadza(fasola, groch, 0.85)",
|
|
"przeszkadza(fasola, kalarepa, 0.80)",
|
|
"przeszkadza(fasola, kapusta, 0.75)",
|
|
"przeszkadza(fasola, papryka, 0.75)",
|
|
"przeszkadza(fasola, pomidor, 0.60)",
|
|
"przeszkadza(fasola, por, 0.90)",
|
|
"przeszkadza(fasola, rukola, 0.90)",
|
|
"przeszkadza(groch, papryka, 0.75)",
|
|
"przeszkadza(groch, pomidor, 0.60)",
|
|
"przeszkadza(groch, por, 0.90)",
|
|
"przeszkadza(groch, rukola, 0.90)",
|
|
"przeszkadza(groch, ziemniak, 0.85)",
|
|
"przeszkadza(jarmuż, kalafior, 0.70)",
|
|
"przeszkadza(jarmuż, marchew, 0.85)",
|
|
"przeszkadza(jarmuż, papryka, 0.75)",
|
|
"przeszkadza(jarmuż, pomidor, 0.60)",
|
|
"przeszkadza(jarmuż, por, 0.90)",
|
|
"przeszkadza(jarmuż, rukola, 0.90)",
|
|
"przeszkadza(jarmuż, ziemniak, 0.85)",
|
|
"przeszkadza(kalafior, kapusta, 0.75)",
|
|
"przeszkadza(kalafior, marchew, 0.85)",
|
|
"przeszkadza(kalafior, papryka, 0.75)",
|
|
"przeszkadza(kalafior, pietruszka, 0.80)",
|
|
"przeszkadza(kalafior, pomidor, 0.60)",
|
|
"przeszkadza(kalafior, por, 0.90)",
|
|
"przeszkadza(kalafior, rukola, 0.90)",
|
|
"przeszkadza(kalafior, rzodkiewka, 0.85)",
|
|
"przeszkadza(kalafior, ziemniak, 0.85)",
|
|
"przeszkadza(kalarepa, kapusta, 0.75)",
|
|
"przeszkadza(kalarepa, marchew, 0.85)",
|
|
"przeszkadza(kalarepa, papryka, 0.75)",
|
|
"przeszkadza(kalarepa, pietruszka, 0.80)",
|
|
"przeszkadza(kalarepa, pomidor, 0.60)",
|
|
"przeszkadza(kalarepa, rukola, 0.90)",
|
|
"przeszkadza(kalarepa, rzodkiewka, 0.85)",
|
|
"przeszkadza(kapusta, marchew, 0.85)",
|
|
"przeszkadza(kapusta, papryka, 0.75)",
|
|
"przeszkadza(kapusta, pietruszka, 0.80)",
|
|
"przeszkadza(kapusta, pomidor, 0.60)",
|
|
"przeszkadza(kapusta, rukola, 0.90)",
|
|
"przeszkadza(kapusta, rzodkiewka, 0.85)",
|
|
"przeszkadza(kapusta, ziemniak, 0.85)",
|
|
"przeszkadza(marchew, papryka, 0.75)",
|
|
"przeszkadza(marchew, pomidor, 0.60)",
|
|
"przeszkadza(marchew, pietruszka, 0.80)",
|
|
"przeszkadza(marchew, rukola, 0.90)",
|
|
"przeszkadza(marchew, por, 0.90)",
|
|
"przeszkadza(marchew, seler, 0.80)",
|
|
"przeszkadza(marchew, ziemniak, 0.85)",
|
|
"przeszkadza(ogórek, papryka, 0.75)",
|
|
"przeszkadza(ogórek, pomidor, 0.60)",
|
|
"przeszkadza(ogórek, rukola, 0.90)",
|
|
"przeszkadza(ogórek, rzepa, 0.85)",
|
|
"przeszkadza(ogórek, rzodkiewka, 0.85)",
|
|
"przeszkadza(ogórek, ziemniak, 0.85)",
|
|
"przeszkadza(papryka, pomidor, 0.60)",
|
|
"przeszkadza(papryka, por, 0.90)",
|
|
"przeszkadza(papryka, rukola, 0.90)",
|
|
"przeszkadza(papryka, rzepa, 0.85)",
|
|
"przeszkadza(papryka, rzodkiewka, 0.85)",
|
|
"przeszkadza(papryka, sałata, 0.80)",
|
|
"przeszkadza(papryka, seler, 0.80)",
|
|
"przeszkadza(papryka, szpinak, 0.85)",
|
|
"przeszkadza(papryka, zeimniak, 0.85)",
|
|
"przeszkadza(pietruszka, pomidor, 0.60)",
|
|
"przeszkadza(pietruszka, rukola, 0.90)",
|
|
"przeszkadza(pietruszka, sałata, 0.80)",
|
|
"przeszkadza(pomidor, rukola, 0.90)",
|
|
"przeszkadza(pomidor, rzodkiewka, 0.85)",
|
|
"przeszkadza(pomidor, ziemniak, 0.85)",
|
|
"przeszkadza(por, rukola, 0.90)",
|
|
"przeszkadza(por, seler, 0.80)",
|
|
"przeszkadza(rukola, rzepa, 0.85)",
|
|
"przeszkadza(rukola, rzodkiewka, 0.85)",
|
|
"przeszkadza(rukola, sałata, 0.80)",
|
|
"przeszkadza(rukola, seler, 0.80)",
|
|
"przeszkadza(rukola, szpinak, 0.85)",
|
|
"przeszkadza(rukola, ziemniak, 0.85)",
|
|
"przeszkadza(sałata, seler, 0.80)",
|
|
"przeszkadza(seler, ziemniak, 0.85)",
|
|
|
|
# Dobre sąsiedztwo warzyw z procentem plonow, jaki otrzymujemy
|
|
"pomaga(bób, kapusta, 1.31)",
|
|
"pomaga(bób, ziemniak, 1.05)",
|
|
"pomaga(brokuł, por, 1.52)",
|
|
"pomaga(brokuł, seler, 1.21)",
|
|
"pomaga(brokuł, ziemniak, 1.12)",
|
|
"pomaga(burak, groch, 1.42)",
|
|
"pomaga(burak, kalarepa, 1.15)",
|
|
"pomaga(burak, kapusta, 1.38)",
|
|
"pomaga(burak, ogórek, 1.11)",
|
|
"pomaga(burak, pomidor, 1.25)",
|
|
"pomaga(burak, rzodkiewka, 1.34)",
|
|
"pomaga(burak, sałata, 1.41)",
|
|
"pomaga(burak, seler, 1.59)",
|
|
"pomaga(cebula, cukinia, 1.06)",
|
|
"pomaga(cebula, kalarepa, 1.41)",
|
|
"pomaga(cebula, ogórek, 1.25)",
|
|
"pomaga(cebula, pomidor, 1.46)",
|
|
"pomaga(cebula, sałata, 1.51)",
|
|
"pomaga(cukinia, groch, 1.59)",
|
|
"pomaga(cukinia, szpinak, 1.43)",
|
|
"pomaga(dynia, fasola, 1.14)",
|
|
"pomaga(fasola, jarmuż, 1.52)",
|
|
"pomaga(fasola, ogórek, 1.19)",
|
|
"pomaga(fasola, rzepa, 1.46)",
|
|
"pomaga(fasola, seler, 1.23)",
|
|
"pomaga(fasola, szpinak, 1.36)",
|
|
"pomaga(fasola, ziemniak, 1.18)",
|
|
"pomaga(groch, kalarepa, 1.26)",
|
|
"pomaga(groch, kapusta, 1.39)",
|
|
"pomaga(groch, marchew, 1.33)",
|
|
"pomaga(groch, ogórek, 1.11)",
|
|
"pomaga(groch, rzepa, 1.41)",
|
|
"pomaga(groch, rzodkiewka, 1.53)",
|
|
"pomaga(groch, seler, 1.42)",
|
|
"pomaga(groch, szpinak, 1.17)",
|
|
"pomaga(jarmuż, kapusta, 1.54)",
|
|
"pomaga(kalarepa, ogórek, 1.28)",
|
|
"pomaga(kalarepa, por, 1.15)",
|
|
"pomaga(kalarepa, seler, 1.27)",
|
|
"pomaga(kalarepa, szpinak, 1.45)",
|
|
"pomaga(kalarepa, ziemniak, 1.32)",
|
|
"pomaga(kapusta, seler, 1.41)",
|
|
"pomaga(kapusta, szpinak, 1.53)",
|
|
"pomaga(marchew, ogórek, 1.19)",
|
|
"pomaga(ogórek, por, 1.23)",
|
|
"pomaga(ogórek, seler, 1.47)",
|
|
"pomaga(ogórek, szpinak, 1.28)",
|
|
"pomaga(pietruszka, por, 1.29)",
|
|
"pomaga(pietruszka, rzodkiewka, 1.39)",
|
|
"pomaga(pomidor, por, 1.48)",
|
|
"pomaga(pomidor, rzepa, 1.24)",
|
|
"pomaga(pomidor, seler, 1.22)",
|
|
"pomaga(pomidor, szpinak, 1.36)",
|
|
"pomaga(por, rzodkiewka, 1.24)",
|
|
"pomaga(por, sałata, 1.56)",
|
|
"pomaga(por, szpinak, 1.17)",
|
|
"pomaga(rzepa, seler, 1.53)",
|
|
"pomaga(rzepa, szpinak, 1.05)",
|
|
"pomaga(rzodkieka, szpinak, 1.48)",
|
|
"pomaga(seler, szpinak, 1.37)",
|
|
"pomaga(szpinak, ziemniak, 1.45)",
|
|
|
|
# Opryski
|
|
"oprysk(insektycyd)",
|
|
"oprysk(fungicyd)",
|
|
"oprysk(repelent)",
|
|
"oprysk(herbicyd)",
|
|
|
|
# Cena oprysku
|
|
"cena(insektycyd, 48.47)",
|
|
"cena(fungicyd, 51.99)",
|
|
"cena(repelent, 31.18)",
|
|
"cena(herbicyd, 76.49)",
|
|
|
|
# Wydajność oprysku - liczba kwadratów, na które wystarczy
|
|
"wydajność(insektycyd, 20.5)",
|
|
"wydajność(fungicyd, 8)",
|
|
"wydajność(repelent, 57)",
|
|
"wydajność(herbicyd, 12.25)",
|
|
|
|
# Czas (w dniach), jaki należy odczekać między opryskami lub jaki musi upłynąć od oprysku do zbiorów
|
|
"czas(insektycyd, 14)",
|
|
"czas(fungicyd, 21)",
|
|
"czas(repelent, 4)",
|
|
"czas(herbicyd, 21)",
|
|
|
|
# Nawozy
|
|
"nawóz(eco Growth)",
|
|
"nawóz(bioFertilizer Pro)",
|
|
"nawóz(greenNourish Boost)",
|
|
"nawóz(earthEssence Feed)",
|
|
"nawóz(ecoAcidicSoil)",
|
|
"nawóz(organicpHBalance Plus)",
|
|
"nawóz(bioAcidifier Pro)",
|
|
"nawóz(greenSoilGuardian pH-Down)",
|
|
"nawóz(naturalAcidicSoilMaster)",
|
|
|
|
# Nawozy ekologiczne
|
|
"eko(eco Growth)",
|
|
"eko(bioFertilizer Pro)",
|
|
"eko(ecoAcidicSoil)",
|
|
"eko(organicpHBalance Plus)",
|
|
|
|
|
|
# Cena nawozu
|
|
"cena(eco Growth, 39.99)",
|
|
"cena(bioFertilizer Pro, 49.99)",
|
|
"cena(greenNourish Boost, 29.99)",
|
|
"cena(earthEssence Feed, 59.99)",
|
|
"cena(ecoAcidicSoil, 25.99)",
|
|
"cena(bioAcidifier Pro, 34.99)",
|
|
"cena(greenSoilGuardian, 27.50)",
|
|
"cena(organicpHBalance Plus, 29.99)",
|
|
"cena(naturalAcidicSoilMaster, 31.75)",
|
|
|
|
# Wydajność nawozu w przeliczeniu na kwadrat
|
|
"wydajność(eco Growth, 23.5)",
|
|
"wydajność(bioFertilizer Pro, 15.25)",
|
|
"wydajność(greenNourish Boost, 15)",
|
|
"wydajność(earthEssence Feed, 35.5)",
|
|
"wydajność(ecoAcidicSoil, 18.75)",
|
|
"wydajność(organicpHBalancePlus, 12.5)",
|
|
"wydajność(bioAcidifierPro, 20)",
|
|
"wydajność(greenSoilGuardianpHDown, 30)",
|
|
"wydajność(naturalAcidicSoilMaster, 25)",
|
|
|
|
# Przeznaczenie
|
|
"pH(ecoAcidicSoil, 6.0)",
|
|
"pH(bioAcidifier Pro, 6.0)",
|
|
"pH(greenSoilGuardian, 6.0)",
|
|
"pH(organicpHBalance Plus, 5.5)",
|
|
"pH(naturalAcidicSoilMaster, 5.5)",
|
|
|
|
# Czas (w dniach), na jaki wystarczy jedno nawożenie
|
|
"czas(eco Growth, 24)",
|
|
"czas(bioFertilizer Pro, 29)",
|
|
"czas(greenNourish Boost, 37)",
|
|
"czas(earthEssence Feed, 21)",
|
|
"czas(ecoAcidicSoil, 18)",
|
|
"czas(bioAcidifier Pro, 21)",
|
|
"czas(greenSoilGuardian, 22)",
|
|
"czas(organicpHBalance Plus, 19)",
|
|
"czas(naturalAcidicSoilMaster, 23)",
|
|
|
|
# Wpływ nawozu na warzywo
|
|
"pomaga(burak, eco Growth, 1.07)",
|
|
"pomaga(brokuł, eco Growth, 1.05)",
|
|
"pomaga(fasola, eco Growth, 1.04)",
|
|
"pomaga(groch, eco Growth, 1.06)",
|
|
"pomaga(jarmuż, eco Growth, 1.05)",
|
|
"pomaga(kalarepa, eco Growth, 1.12)",
|
|
"pomaga(kapusta, eco Growth, 1.04)",
|
|
"pomaga(marchew, eco Growth, 1.03)",
|
|
"pomaga(ogórek, eco Growth, 1.08)",
|
|
"pomaga(papryka, eco Growth, 1.06)",
|
|
"pomaga(pietruszka, eco Growth, 1.05)",
|
|
"pomaga(rzepa, eco Growth, 1.05)",
|
|
"pomaga(szpinak, eco Growth, 1.06)",
|
|
"pomaga(ziemniak, eco Growth, 1.04)",
|
|
"pomaga(burak, bioFertilizer Pro, 1.08)",
|
|
"pomaga(brokuł, bioFertilizer Pro, 1.06)",
|
|
"pomaga(pomidor, bioFertilizer Pro, 1.07)",
|
|
"pomaga(sałata, bioFertilizer Pro, 1.06)",
|
|
"pomaga(seler, bioFertilizer Pro, 1.05)",
|
|
"pomaga(szpinak, bioFertilizer Pro, 1.06)",
|
|
"pomaga(cebula, bioFertilizer Pro, 1.04)",
|
|
"pomaga(cukinia, bioFertilizer Pro, 1.03)",
|
|
"pomaga(marchew, bioFertilizer Pro, 1.05)",
|
|
"pomaga(rzepa, bioFertilizer Pro, 1.05)",
|
|
"pomaga(bób, greenNourish Boost, 1.03)",
|
|
"pomaga(brokuł, greenNourish Boost, 1.06)",
|
|
"pomaga(cebula, greenNourish Boost, 1.04)",
|
|
"pomaga(cukinia, greenNourish Boost, 1.05)",
|
|
"pomaga(dynia, greenNourish Boost, 1.04)",
|
|
"pomaga(groch, greenNourish Boost, 1.03)",
|
|
"pomaga(jarmuż, greenNourish Boost, 1.07)",
|
|
"pomaga(kalafior, greenNourish Boost, 1.05)",
|
|
"pomaga(kapusta, greenNourish Boost, 1.04)",
|
|
"pomaga(marchew, greenNourish Boost, 1.06)",
|
|
"pomaga(ogórek, greenNourish Boost, 1.04)",
|
|
"pomaga(papryka, greenNourish Boost, 1.05)",
|
|
"pomaga(pietruszka, greenNourish Boost, 1.06)",
|
|
"pomaga(por, greenNourish Boost, 1.03)",
|
|
"pomaga(rzodkiewka, greenNourish Boost, 1.04)",
|
|
"pomaga(sałata, greenNourish Boost, 1.07)",
|
|
"pomaga(seler, greenNourish Boost, 1.05)",
|
|
"pomaga(szpinak, greenNourish Boost, 1.08)",
|
|
"pomaga(ziemniak, greenNourish Boost, 1.04)",
|
|
"pomaga(rukola, greenNourish Boost, 1.06)",
|
|
"pomaga(bób, earthEssence Feed, 1.02)",
|
|
"pomaga(brokuł, earthEssence Feed, 1.04)",
|
|
"pomaga(cebula, earthEssence Feed, 1.03)",
|
|
"pomaga(cukinia, earthEssence Feed, 1.05)",
|
|
"pomaga(dynia, earthEssence Feed, 1.03)",
|
|
"pomaga(groch, earthEssence Feed, 1.02)",
|
|
"pomaga(jarmuż, earthEssence Feed, 1.06)",
|
|
"pomaga(kalafior, earthEssence Feed, 1.04)",
|
|
"pomaga(kapusta, earthEssence Feed, 1.03)",
|
|
"pomaga(marchew, earthEssence Feed, 1.05)",
|
|
"pomaga(ogórek, earthEssence Feed, 1.03)",
|
|
"pomaga(papryka, earthEssence Feed, 1.04)",
|
|
"pomaga(pietruszka, earthEssence Feed, 1.05)",
|
|
"pomaga(por, earthEssence Feed, 1.12)",
|
|
"pomaga(rukola, earthEssence Feed, 1.05)",
|
|
"pomaga(rzodkiewka, earthEssence Feed, 1.03)",
|
|
"pomaga(sałata, earthEssence Feed, 1.06)",
|
|
"pomaga(seler, earthEssence Feed, 1.04)",
|
|
"pomaga(szpinak, earthEssence Feed, 1.07)",
|
|
"pomaga(ziemniak, earthEssence Feed, 1.03)",
|
|
|
|
# DEFINIOWANIE REGUŁ
|
|
|
|
"ile_podlać(X, B, Y):- warzywo(X), woda(X,Z), faza(B,C), wilgotnosc(pole,A), Y is C*Z-A",
|
|
|
|
"gnije(X, B, Y):- warzywo(X), woda(X,Z), faza(B,C), wilgotnosc(pole, A), Y is 1.3*C*Z-A",
|
|
|
|
"usycha(X, B, Y):- warzywo(X), woda(X,Z), faza(B,C), wilgotnosc(pole, A), Y is 0.7*C*Z-A",
|
|
|
|
"ile_rośnie(X,Y):- warzywo(X), czas(X, posadzono, A), czas(X, rośnie, B), Y is A+B",
|
|
|
|
"cena_zakupu(Y, A, B):- warzywo(B), cena(B, C), Y is A*C",
|
|
|
|
"koszt_nawozu(D, E, A, B, C):- warzywo(B), nawóz(D), pomaga(B,D,F),"
|
|
" czas(D, G), ile_rośnie(B,H), wydajność(D,I), cena(D,J), E is A*C/I*J",
|
|
|
|
"multi_nawóz(A,B,C,D):- warzywo(C), nawóz(D), pomaga(C,D,A)",
|
|
|
|
"nawóz_pH(D, B):- ph_wzrostu(D, A), pH(B, A)",
|
|
|
|
"nawóz_do(A,B):- warzywo(A), nawóz(B), pomaga(A,B,C)",
|
|
|
|
"zysk_warzywo(Y, A, B):- warzywo(B), zysk(B, C), Y is A*C",
|
|
|
|
"zysk_warzywo_eko(Y, A, B):- warzywo(B), zysk_eko(B, C), Y is A*C",
|
|
|
|
"czas_oprysk(A,B):- oprysk(B), czas(B,A)",
|
|
|
|
"czas_nawóz(A,B):- nawóz(B), czas(B,A)",
|
|
|
|
"koszt_oprysku(A,B,C):- oprysk(C), cena(C,D), wydajność(C,E), A is D*B/E",
|
|
|
|
"spalono(A,B):- srednie_spalanie(traktor, C), A is B*C",
|
|
|
|
"miejsce(A,B):- ładowność_przyczepy(traktor, C), A is C*1000-B",
|
|
|
|
"zostało_wody(A,B,C):- "
|
|
|
|
])
|
|
|
|
# Wygodniejsze w obsłudze metody
|
|
|
|
# Woda
|
|
|
|
|
|
def zostalo_wody(zatankowano, zuzyto):
|
|
return [{"Zostało": zatankowano-zuzyto}]
|
|
|
|
|
|
def max_wody():
|
|
wynik = float(tractor_kb.query(pl.Expr("pojemność_podlewanie(traktor, Max"))[0]["Max"])
|
|
return [{"Max": wynik}]
|
|
|
|
# Przyczepa
|
|
|
|
|
|
def miejsce(kg):
|
|
query = "miejsce(Miejsce, " + str(kg) + ")"
|
|
wynik = float(tractor_kb.query(pl.Expr(query))[0]["Miejsce"])
|
|
return [{"Miejsce": wynik}]
|
|
|
|
|
|
# Paliwo
|
|
|
|
|
|
def spalono(litry):
|
|
query = "spalono(Spalono, " + str(litry) + ")"
|
|
wynik = float(tractor_kb.query(pl.Expr(query))[0]["Spalono"])
|
|
return [{"Spalono": wynik}]
|
|
|
|
|
|
def koszt_paliwa(ile):
|
|
cena_paliwa = float(tractor_kb.query(pl.Expr("cena_paliwa(traktor, Cena)"))[0]["Cena"])
|
|
return [{"Koszt": cena_paliwa*ile}]
|
|
|
|
|
|
# Uprawa - podlewanie
|
|
|
|
|
|
def ile_podlac(warzywo, faza):
|
|
query = "ile_podlać(" + warzywo + ", " + faza + ", Woda)"
|
|
return [{"Woda": float(tractor_kb.query(pl.Expr(query))[0]["Woda"])}]
|
|
|
|
|
|
def gnije(warzywo, faza):
|
|
query = "gnije(" + warzywo + ", " + faza + ", Woda)"
|
|
return [{"Woda": float(tractor_kb.query(pl.Expr(query))[0]["Woda"])}]
|
|
|
|
|
|
def usycha(warzywo, faza):
|
|
query = "usycha(" + warzywo + ", " + faza + ", Woda)"
|
|
return [{"Woda": float(tractor_kb.query(pl.Expr(query))[0]["Woda"])}]
|
|
|
|
|
|
# Warzywa
|
|
|
|
|
|
def ile_rosnie(warzywo):
|
|
query = "ile_rośnie(" + warzywo + ", Dni)"
|
|
return [{"Dni": float(tractor_kb.query(pl.Expr(query))[0]["Dni"])}]
|
|
|
|
|
|
def koszt_zakupu(ile, warzywo):
|
|
query = "cena_zakupu( Koszt, " + str(ile) + ", " + warzywo + ")"
|
|
return [{"Koszt": float(tractor_kb.query(pl.Expr(query))[0]["Koszt"])}]
|
|
|
|
|
|
def zysk_warzywo(kg, warzywo):
|
|
query = "zysk_warzywo( Koszt, " + str(kg) + ", " + warzywo + ")"
|
|
wynik = float(tractor_kb.query(pl.Expr(query))[0]["Koszt"])
|
|
return [{"Koszt": wynik}]
|
|
|
|
|
|
def zysk_warzywo_eko(kg, warzywo):
|
|
query = "zysk_warzywo_eko( Koszt, " + str(kg) + ", " + warzywo + ")"
|
|
wynik = float(tractor_kb.query(pl.Expr(query))[0]["Koszt"])
|
|
return [{"Koszt": wynik}]
|
|
|
|
|
|
# Nawozy
|
|
|
|
|
|
def koszt_nawozu(kwadraty, warzywo, ile_razy):
|
|
query = "koszt_nawozu(Nawóz, Koszt," + str(kwadraty) + ", " + warzywo + ", " + str(ile_razy) + ")"
|
|
wynik = tractor_kb.query(pl.Expr(query))
|
|
for each in wynik:
|
|
each["Koszt"] = float(each["Koszt"])
|
|
return wynik
|
|
|
|
|
|
def nawoz_ph(warzywo):
|
|
query = "nawóz_pH(" + warzywo + ", Nawóz)"
|
|
return tractor_kb.query(pl.Expr(query))
|
|
|
|
|
|
def nawoz_do(warzywo):
|
|
query = "nawóz_do(" + warzywo + ", Nawóz)"
|
|
return tractor_kb.query(pl.Expr(query))
|
|
|
|
|
|
def czas_nawoz(nawoz):
|
|
query = "czas_nawóz(Czas, " + nawoz + ")"
|
|
wynik = int(tractor_kb.query(pl.Expr(query))[0]["Czas"])
|
|
return [{"Czas": wynik}]
|
|
|
|
|
|
# Opryski
|
|
|
|
|
|
def czas_oprysk(oprysk):
|
|
query = "czas_oprysk(Czas, " + oprysk + ")"
|
|
wynik = int(tractor_kb.query(pl.Expr(query))[0]["Czas"])
|
|
return [{"Czas": wynik}]
|
|
|
|
|
|
def koszt_oprysku(kwadraty, oprysk):
|
|
query = "koszt_oprysku(Koszt, " + str(kwadraty) + ", " + oprysk + ")"
|
|
wynik = float(tractor_kb.query(pl.Expr(query))[0]["Koszt"])
|
|
return [{"Koszt": wynik}]
|
|
|
|
|
|
# Mnożniki do zbiorów
|
|
|
|
|
|
def multi_sasiad(warzywo, sasiad):
|
|
proba = [
|
|
tractor_kb.query(pl.Expr("pomaga(" + warzywo + ", " + sasiad + ", Mul)")),
|
|
tractor_kb.query(pl.Expr("pomaga(" + sasiad + ", " + warzywo + ", Mul)")),
|
|
tractor_kb.query(pl.Expr("przeszkadza(" + warzywo + ", " + sasiad + ", Mul)")),
|
|
tractor_kb.query(pl.Expr("przeszkadza(" + sasiad + ", " + warzywo + ", Mul)"))
|
|
]
|
|
mnoznik = 1
|
|
for zal in proba:
|
|
if zal != ['No']:
|
|
mnoznik *= float(zal[0]["Mul"])
|
|
return [{"Mul": mnoznik}]
|
|
|
|
|
|
def multi_sasiedzi(warzywo, sasiedzi):
|
|
mnoznik = 1
|
|
for sasiad in sasiedzi:
|
|
mnoznik *= multi_sasiad(warzywo, sasiad)[0]["Mul"]
|
|
return [{"Mul": mnoznik}]
|
|
|
|
|
|
def multi_nawoz(ile_razy, warzywo, nawoz):
|
|
query = "multi_nawóz(Mul, " + str(ile_razy) + ", " + warzywo + ", " + nawoz + ")"
|
|
wyniki = float(tractor_kb.query(pl.Expr(query))[0]["Mul"])
|
|
return [{"Cena": pow(wyniki, ile_razy)}]
|