Esempio n. 1
0
def test_2sat_400_clauses():
    clauses = []
    with open("tests/week4_2sat_400.txt") as handle:
        handle.readline()
        for line in handle:
            x, y = line.split()
            clauses.append((int(x), int(y)))

    assert papadimitriou(clauses) == True

    reduced_clauses = reduce_clauses(clauses)
    assert len(reduced_clauses) == 5
    assert papadimitriou(reduced_clauses) == True
Esempio n. 2
0
def test_2sat_800_clauses_unsatisfiable():
    clauses = []
    with open("tests/week4_2sat_800_2.txt") as handle:
        handle.readline()
        for line in handle:
            x, y = line.split()
            clauses.append((int(x), int(y)))

    reduced_clauses = reduce_clauses(clauses)
    assert papadimitriou(reduced_clauses) == False
Esempio n. 3
0
def main():
    results = []
    for i in range(1, 7):
        file = f"tests/week4_2sat{i}.txt"
        clauses = set()
        with open(file) as handle:
            handle.readline()
            for line in handle:
                x, y = line.split()
                clauses.add((int(x), int(y)))

        reduced_clauses = reduce_clauses(clauses)
        results.append(int(papadimitriou(reduced_clauses)))

    return "".join(map(str, results))
Esempio n. 4
0
def test_2sat_3clauses_with_reduce():
    clauses = [(1, -2), (-1, -2), (2, -3)]
    reduced_clauses = reduce_clauses(clauses)
    assert len(reduced_clauses) == 0
    assert papadimitriou(reduced_clauses) == True
Esempio n. 5
0
def test_2sat_3clauses():
    clauses = [(1, -2), (-1, -2), (2, -3)]
    assert papadimitriou(clauses) == True
Esempio n. 6
0
def test_2sat_4clauses_with_reduce_unsatisfiable():
    clauses = [(1, -2), (-1, 2), (-2, 4), (-2, -4), (2, 4), (2, -4)]
    reduced_clauses = reduce_clauses(clauses)
    assert len(reduced_clauses) == 6
    assert papadimitriou(reduced_clauses) == False
Esempio n. 7
0
def test_2sat_4clauses_unsatisfiable():
    clauses = [(1, -2), (-1, 2), (-2, 4), (-2, -4), (2, 4), (2, -4)]
    assert papadimitriou(clauses) == False
Esempio n. 8
0
def test_2sat_4clauses_with_reduce():
    clauses = [(1, 2), (-1, 3), (3, 4), (-2, -4)]
    reduced_clauses = reduce_clauses(clauses)
    assert len(reduced_clauses) == 0
    assert papadimitriou(reduced_clauses) == True
Esempio n. 9
0
def test_2sat_4clauses():
    clauses = [(1, 2), (-1, 3), (3, 4), (-2, -4)]
    assert papadimitriou(clauses) == True