Skip to content

JoenHo/grocery-bagging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Knowledge-Based Grocery Bagging System

Instruction

Navigate into src folder directory

Install Rich library via pip install Rich
This program uses Rich libray (https://rich.readthedocs.io/en/stable/)

Type python3 main.py to start the program


Grocery Bagging

1) Grouping Items:
Separate items based on their food type. There are four types of separation: Meat & Seafood, Frozen, Food, Non-food

2) Estimating the Number of Bags
Calculate the estimated bags for items based on the following calculation:
Number of Bags = Max(⌈ Total Volume / Bag Volume Capacity ⌉, ⌈ Total Weight / Bag Weight Capacity ⌉)

3) Sorting Items:
Sort items according to the item points to heuristicly approximate the order in which humans would have used. Item points are calculated by taking the weighted sum of item properties:

Item point = 𝑝1𝑤1 + 𝑝2𝑤2 + 𝑝3𝑤3
where 𝑝1, 𝑝2, 𝑝3 are the value of item property and 𝑤1, 𝑤2, 𝑤3 are the weight of property respectively
Typically items are ordered from larger, heavier, and more rigid to smaller, lighter, and less rigid.

4) Districute weight evenly among bags
The idea of distribute weight evenly among bags is to avoid some bags are way heavier than the others.


Reasoning - Closed Domain QA System

Program has stored pair of questions and answers in QA bank. When user asks question, the program will do a mattern maching to find the most appropriate answer from QA bank as response.


Sample Output

1) Selecting Items

select-items

2) Bagging Items

bagging

3) Asking questions

ask-questions

Releases

No releases published

Packages

No packages published

Languages