Skip to content

alpha-beta-crown behavior #48

Description

@mhmd97z

Hi,

I tried the following simple network to make sure I correctly understood alpha-beta-CROWN behavior.
Untitled Diagram drawio

Case 1:
(assert (or
(and (>= X_0 -1.0) (<= X_0 1.0) (>= X_1 0.5) (<= X_1 0.5) (<= Y_0 -0.6))
))
The true interval of y_0 is [-0.5, 0.5]. alpha-beta-CROWN returned safe.

Case 2:
(assert (or
(and (>= X_0 -1.0) (<= X_0 1.0) (>= X_1 0.5) (<= X_1 0.5) (>= Y_0 0.0))
))
The true interval of y_0 is [-0.5, 0.5]. alpha-beta-CROWN returned unknown.

The result of case 1 is as I expected, but I expected the result of case 2 to be unsafe as alpha-beta-crown is sound and complete. Please correct me if I am wrong but when two possible cases of the only Relu node are investigated and the corresponding bounds are calculated, I think we can give a definite response with regard to the violation or satisfaction of the defined property.

Here are the yaml config yaml.txt and the model model.txt in case you need them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions