Monday, 30 January 2017

[Python] Tuổi gì làm quan?

Mê tín dị đoan đã ăn sâu vào từng nếp nghĩ, từng hoạt động của người Việt Nam. Cứ dịp tết, người ta đốt hàng tấn tấn vàng mã và vẫn tiếp tục cầu mong cho môi trường được trong sạch, thế giới khỏi nóng lên hay không khí đỡ ô nhiễm.


Bản thân tôi là một người được ăn học, cũng đạt đến trình độ đại học cấp nhà nước, cũng là người hành theo Phật dạy tu nhân tích đức, làm điều lành. Nhưng việc để những thứ không rõ ràng, không có cơ sở khoa học ảnh hưởng đến cuộc đời mình là điều không chấp nhận được với một người làm khoa học. Mục tiêu năm nay sẽ là sử dụng tri thức, toán học, lập trình để tạo ra những công cụ chính xác luận đoán theo bộ môn khoa học Tử Vi của Trung Quốc, một mặt để loại trừ những mê tín không có cơ sở.

Vậy tuổi gì thì làm quan?

Xưa nay dân gian hay suy luận theo trực giác như: con hổ hay con rồng to, mạnh, đẹp, sẽ làm quan, con chó, con lợn, con ngựa, con gà thì chỉ làm dân thôi, liệu điều này có đúng?
Và tất nhiên nếu chỉ dựa vào Chi (tuổi con gì) để phán làm quan thì thật là thiếu cơ sở, ở đây ta bỏ qua vấn đề này và coi như một bài tập thống kê.

Chi là gì?

Chi hay đầy đủ là "địa chi", trong tiếng Tàu đọc là zhi, tiếng Tây gọi là "earthly branch"
còn hiểu ra thì là 12 con giáp trong văn hoá Việt/Tàu.

Thế nào là "làm quan"?

Dân gian xưa coi người làm quan là bậc đỗ tú tài, vào triều làm quan trong triều, hay làm quan huyện...
Ngày nay thì định nghĩa làm quan thật mênh mông quá: cứ giám đốc hay founder được coi là làm quan rồi, rồi thì quan to hơn thì làm trên sở, trên cục, tổng giám đốc, giám đốc tập đoàn, hay làm tận tới chính phủ ...
Nhưng số liệu về tuổi tác, ngày sinh của các vị này tại Việt Nam thật khó tìm, mới thấy làm thông kê hay xử lý dữ liệu tại nước ta sẽ khóc thét đầu tiên vì việc "tiền đâu" mà có dữ liệu.
Thôi thì lấy tạm mấy ông tổng thống xứ tây về làm chuột bạch cho thí nghiệm này.



Các tổng thống Hoa Kỳ rõ ràng là "quan"


45 đời tổng thống Hoa Kỳ đều có ngày sinh tháng đẻ, quê quán tại link Wikipedia
Ta copy dữ liệu về, làm sạch 1 chút để có dạng sau:

...
Richard M. Nixon | January 9, 1913
Gerald R. Ford | July 14, 1913
John F. Kennedy | May 29, 1917
George H. W. Bush | June 12, 1924
Jimmy Carter | October 1, 1924
Donald Trump | June 14, 1946
George W. Bush | July 6, 1946
Bill Clinton | August 19, 1946
Barack Obama | August 4, 1961
Donald Trump | June 14, 1946

Xem file dữ liệu tại đây.
Có thể thấy ngay có tới 4 ông tổng thống sinh năm 1946: năm Tuất.
Để đảm bảo ta tính trên lịch âm chứ không dùng lịch dương, trong bài này sử dụng thư viện "lunardate"cài từ ``pip``.
Một bất ngờ khi thực hiện bài viết này là các function format / convert năm đều chỉ thực hiện được với các năm từ 1900 trở đi. Do không thể viết ngay chương trình chuyển đổi chính xác, kết quả của ta có thể bị sai 1,2 số. Ta dùng phỏng đoán tương đối rằng nếu một người sinh tháng 1 thì ông ta có vẻ như là sinh vào năm âm lịch trước đó.

Thuật toán thực hiện rất đơn giản, lấy từng vị vào, đổi năm sinh ra âm lịch rồi lấy "Chi" tương ứng và đếm kết quả, ở đây dùng Pandas để thực hành sức mạnh của thư viện này.

 Code trên GitHub

Kết quả:
$ python quan.py
Dậu
Tuất    6
Tỵ      6
Hợi     5
Tí      5
Sửu     4
Dần     4
Thìn    3
Mão     3
Thân    3
Ngọ     3
Mùi     2
Dậu     1
dtype: int64

Kết luận

Kết quả thống kê cho thấy, trong 45 vị tổng thống hợp chủng quốc Hoa Kỳ, các tuổi "Tuất", "Tỵ", "Hợi", "Tý" là chiếm nhiều nhất. Ba tuổi Ngọ, Mùi, Dậu là ít nhất NHƯNG không phải là không có. Vậy lý do nào khiến 1 con gà trở thành tổng thống? Hãy tìm một lý do khác thay vì nói chuyện năm sinh.
Mọi đóng góp code để làm chính xác phần chuyển đổi năm sinh đều được hoan nghênh và cảm ơn sâu sắc 😘

Chúc mừng năm mới Đinh Dậu 2017.

Hết.
HVN at http://www.familug.org/ and http://pymi.vn