Skip to content

LukasWestholt/SetSolver1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This script is solving set problems by brute-force. See HOWTO.

HOWTO

Use python3.10 or newer. Download it here.

"python.exe" -m pip install SetSolver1

First import the module:

import SetSolver1

Now you can use the method:

SetSolver1.search(const_dict: dict[str, set[frozenset | int | tuple] | MathSet] | ConstDictType,
           result: set[frozenset | int | tuple] | MathSet | ResultType,
           not_allowed: list[MODE] = None,
           identity: RelationMathSet | None = None,
           overflow: int = 30,
           range_int: int = 20,
           do_print: bool = True) -> ResultWay | None

Where const_dict is a dictionary for the predefined constants and result is the wanted solution. With the method search you can find probably the shortest way to this solution by the predefined constants and normal set operations. With this method you will get an ResultWay object back.

little example:

import SetSolver1

# Here you set your predefined constants.
# Please make sure that you do not assign a variable letter twice.
# Python dictionaries will otherwise only store the last value and overwrite the previous ones.
const_dict = SetSolver1.SimpleMathSetConstDictType(
    {
        "A": {frozenset({2, frozenset()}), frozenset({5})},  # string "[[2, []],[5]]" is allowed too
        "B": {frozenset(), frozenset({3}), frozenset({5})}
    }
)

# Here you set your wanted solution.
result = SetSolver1.SimpleMathSetResultType({frozenset(), frozenset({3}), frozenset({5}), frozenset({frozenset()})})

output = SetSolver1.search(const_dict, result)

More examples are here See German examples explanation here with outputs.

Requirements

  • python3.10 required

Credits