Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Automat & NN hình thức] Đếm số trạng thái DFA sau khi khử không xác định

    Cho NFA không epsilon N=(Q,Σ,δ,q0,F)N=(Q,\Sigma,\delta,q_0,F)N=(Q,Σ,δ,q0​,F). Áp dụng xây dựng tập con (subset construction) để chuyển NFA thành DFA tương đương. Hãy đếm số trạng thái tới được (reachable) của DFA kết quả.

    Mỗi trạng thái DFA là một tập con của QQQ. Bắt đầu từ {q0}\{q_0\}{q0​}; với mỗi ký tự aaa, chuyển tới ⋃s∈Sδ(s,a)\bigcup_{s\in S}\delta(s,a)⋃s∈S​δ(s,a) (bao gồm cả tập rỗng nếu có). Đếm số tập con khác nhau sinh ra.

    Lưu ý: tập rỗng (trạng thái bẫy) nếu xuất hiện cũng được tính là một trạng thái.

    Ví dụ: NFA nhận chuỗi kết thúc 1 có DFA tương đương 222 trạng thái.

    • Định dạng đầu vào:

      Dòng 1: số trạng thái QQQ (đánh số 0..Q−10..Q-10..Q−1). Dòng 2: bảng chữ cái Σ\SigmaΣ (cách nhau dấu cách). Dòng 3: trạng thái bắt đầu q0q_0q0​. Dòng 4: số trạng thái chấp nhận rồi danh sách trạng thái chấp nhận. Dòng 5: số bước chuyển TTT. Tiếp theo TTT dòng, mỗi dòng p a q nghĩa là q∈δ(p,a)q\in\delta(p,a)q∈δ(p,a) (NFA, có thể nhiều đích cho cùng (p,a)(p,a)(p,a)).

    • Ràng buộc đầu vào:

      1≤Q≤161 \le Q \le 161≤Q≤16, 1≤∣Σ∣≤51 \le |\Sigma| \le 51≤∣Σ∣≤5. (Số tập con có thể lớn nên hạn chế QQQ.)

    • Định dạng đầu ra:

      In một số nguyên: số trạng thái tới được của DFA sau xây dựng tập con.

    Ví dụ:

    Đầu vào:

    2
    0 1
    0
    1 1
    3
    0 0 0
    0 1 0
    0 1 1
    

    Đầu ra:

    2

    Giải thích:

    Từ {0}: trên 0 -> {0}, trên 1 -> {0,1}. Từ {0,1}: trên 0 -> {0}, trên 1 -> {0,1}. Có 2 trạng thái reachable.

    Đang tải editor...