Skip to content

A Python implementation of bayesian safety validation with gaussian process

License

Notifications You must be signed in to change notification settings

loriskong/BayesianSafetyValidation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

16b1708 · Apr 15, 2024

History

2 Commits
Apr 15, 2024
Apr 15, 2024
Apr 15, 2024
Apr 15, 2024
Apr 15, 2024
Apr 15, 2024
Apr 15, 2024

Repository files navigation

Bayesian Safety Validation

A Python implementation of bayesian safety validation.

Usage

from bayesian_safety_validation import BayesianSafetyValidation

# Define a black box function
def black_box_func(params) -> float:
    return float(
        (
            (params["x1"] + 2 * params["x2"] - 7) ** 2
            + (2 * params["x1"] + params["x2"] - 5) ** 2
        )
        <= 200
    )

# Create BSV with a parameter space
bsv = BayesianSafetyValidation(param_space={"x1": (-10, 5), "x2": (-10, 5)})

# Run BSV loop.
for i in range(10):
    suggestions = bsv.suggest()
    evaluations = [black_box_func(suggestion) for suggestion in suggestions]
    print(f"suggestions: {suggestions}, evaluations: {evaluations}")
    bsv.refit(suggestions, evaluations)

# Display results
bsv.falsification()

You will get this graph after running forementioned code

About

A Python implementation of bayesian safety validation with gaussian process

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages