nncuong đã viết:Nói tóm lại là quá nhức đầu, khi lập trình nncuong cũng chỉ mang tính liệt kê chứ không tham vọng tìm hiểu rõ quy luật mang tính công thức. Sự sa đà này rất dễ đi vào ngõ cụt, và làm cho một tiến sĩ toán học hay một kỹ sư lập trình siêu hạng cũng trở nên lẩm cẩm và luận giải không thể bằng mấy ông già mù ngồi gốc đa.
Hoàng ko rõ là lúc lập trình ra bộ an sao sử dụng hiện nay ở dichvu.lyso.vn, lão nncuong đã mô phỏng lại bằng ngôn ngữ lập trình theo cách nào, đặc biệt là vòng chính tinh. Đa số các sách hiện nay có ghi lại việc an sao qua 1 cái bảng sẵn có. Bởi thế nên lão nncuong nói rất đúng là khiến cho công việc rất dễ đi vào ngõ cụt. Bởi vì, nếu trong bộ an sao hiện nay, lão sử dụng lập theo kiểu:
if (sinh vào mùng 1, cục mộc) { an Tử Vi ở Tý ... } // ví dụ có tính chất minh họa,
Thì việc làm này tuy dễ trên phương diện kỹ thuật viết mã lệnh hệ an sao, nhưng nó khiến cho hệ an sao bị nhiều lệnh rẽ nhánh, giảm đi hiệu năng hệ thống. Và điều tồi tệ hơn một chút là cách làm này khá máy móc, rất khó để có thể xây dựng nên các hệ giải đoán tự động vì rằng cách lập kiểu đó rất khó để mô phỏng các mối quan hệ. Nếu áp dụng cách lập đó cho việc nghiên cứu tử vi dựa vào máy tính, giả sử chỉ cần trả lời cho câu hỏi có bao nhiêu người có cách cục Tử-Phủ-Vũ-Tướng ở cung mệnh?, thì đó là điều nghe chừng nặng nhọc và tốn kém tài nguyên hệ thống!
Suy cho lại, vấn đề của người lập trình an sao tử vi, cũng chỉ giải quyết một số câu hỏi: cho một input là năm, tháng, ngày, giờ, hỏi sao Tử Vi và các sao khác ở đâu.
Đợt trước, Hoàng cũng đã tìm hiểu các quy tắc an sao sao cho sát với Toán học hơn, dễ mô phỏng bằng lập trình, cũng note lại những ghi nhận đó, nhưng ko may ko backup lúc cài lại nên xóa mất


Chỉ ví dụ đơn giản: Việc tính ra Can của tháng 1 trong 1 năm thế nào nếu lập rẽ nhánh thông thường thì cứ:
if (Can_Năm == Giáp) { Can Tháng 1 = Bính; } else if ( == Ất) { = Mậu } ...
Nhưng nếu lập theo cách khoa học hơn thì chỉ đơn giản lấy Can Năm * 2 + 1 rồi lấy module của nó với 10 là ra đc can Tháng.
Xác định đc tháng 1 => xác định đc tháng Mệnh rồi mới xác định Cục ...
Kính.