• Thứ Ba, 16/12/2003 15:15 (GMT+7)

    Thuật toán xây dựng ma trận kỳ ảo

        PC World VN A 5/2003 có đăng bài “Thuật toán xây dựng ma trận kỳ ảo” của tác giả Trịnh Quang Đào, tôi xin góp thêm một số ý sau: 
        Ma trận kỳ ảo, theo tên gọi của tác giả, trong toán học còn có tên khác là ma phương. Ma phương bậc n thông thường được điền các số từ 1 đến n2. Tuy nhiên, khái niệm này có thể mở rộng với số bắt đầu không nhất thiết từ 1 hoặc các số không nhất thiết liên tục... 
        Ta có thể thành lập một ma phương “tích” bậc mxn từ ma phương M bậc m và ma phương N bậc n đã biết. Thuật toán như sau:
        • Thành lập ma phương Ni (theo nghĩa rộng) từ ma phương N bằng cách cộng mỗi số của N với cùng một số (i-1)n2 (i: từ 1 đến m2).
        • Quay một góc 900 quanh tâm hoặc cho đối xứng qua trục ngang hoặc cho đối xứng qua trục dọc.
        • Thay mỗi ô vuông chứa số i của ma phương M bởi ma phương Ni.

    Chi tiết cách thức thực hiện như sau:
        1. Thành lập hình vuông P có kích thước (mxn)x(mxn ). Ta có (mxn)x(mxn) ô.
        2. Û́ng với mỗi số a ở ô dòng i, cột j của ma phương M ta chọn một ô ở dòng ixn, cột jxn của hình vuông P. Trong đó i, j = 0, 1,. .., m-1.
        3. Thành lập hình vuông con của P kích thước nxn (cùng kích thước với ma phương N) mà ô đầu tiên (dòng 0, cột 0) chính là ô đã chọn trên (ô ở dòng ixn, cột jxn của hình vuông P). Có tất cả mxm hình vuông con này ứng với mxm số của ma phương M.
        4. Điền các số vào hình vuông con này, mỗi ô một số, theo quy luật:
        • Số trong ô ở dòng k, cột l của hình vuông con là số ở ô dòng k, cột l của ma phương N sau khi cộng với số  (a-1)xnxn.
    Trong đó k, l = 0, 1, ... ,n-1
    (Thực chất là thay hình vuông con này bằng ma phương N sau khi cộng các số của nó cùng với một số là (a-1)xnxn )
        • Quay quanh tâm một góc 90 độ, cho đối xứng qua trục ngang, trục dọc của ma phương N trước hoặc sau khi cộng vào cùng một số và thay vào hình vuông con của P.
        Thuật toán trên xây dựng được rất nhiều ma phương mà bậc phân tích được thành ít nhất hai thừa số mà mỗi thừa số ít nhất bằng 3, và làm phong phú cho việc thành lập một ma phương. Thuật toán có thể xây dựng một cách “thủ công” trong Excel hoặc dùng một ngôn ngữ lập trình thông dụng nào đó như VB chẳng hạn.
        Bạn đọc quan tâm có thể liên hệ để chép 2 chương trình đã được biên dịch thành lập ma phương và ma phương tích.

    Trần Việt Hùng – Sóc Trăng
    viethungtran@pmail.vnn.vn

    ID: A0306_103