Mô hình toán học

Một **mô hình toán học** là một mô hình trừu tượng sử dụng ngôn ngữ toán để mô tả về một hệ thống. Mô hình toán được sử dụng nhiều trong các ngành khoa học tự nhiên và chuyên ngành kĩ thuật (ví dụ: vật lý, sinh học, và kĩ thuật điện tử) đồng thời trong cả khoa học xã hội (như kinh tế, xã hội học và khoa học chính trị).

Eykhoff (1974) định nghĩa một **mô hình toán học** là 'một biểu diễn cho các phần quan trọng của một hệ thống có sẵn (hoặc sắp được xây dựng) với mục đích biểu diễn tri thức về hệ thống đó dưới một dạng có thể dùng được' (nguyên văn tiếng Anh: *a representation of the essential aspects of an existing system (or a system to be constructed) which presents knowledge of that system in usable form*.)

Mô hình toán học có thể có nhiều dạng, bao gồm nhưng không hạn chế với hệ thống động, mô hình thống kê, phương trình sai phân, hay mô hình lý thuyết trò chơi. 
## Ví dụ về mô hình toán học
* **Trong sinh học**: Mô hình về *sự phát triển của [[dân số]]*. Một mô hình đơn giản cho bài toán này là mô hình phát triển Malthus. Tuy nhiên, mô hình được ưa thích sử dụng lại là dùng hàm logit (*logistic function*).
* **Trong vật lý**: *Mô hình biểu diễn cho một hạt (phần tử) trong trường-điện thế (*potential-field*)*. Trong mô hình này, một phần tử được xem là một khối điểm *m* với quỹ đạo của nó được mô hình bởi hàm *x*: **R** → **R**3, với tọa độ của nó trong không gian là một hàm theo thời gian. Trường-điện thế được cho bởi hàm *V*:**R**3 → **R** và quỹ đạo là nghiệm của phương trình sai phân
:: m \frac{d^2}{dt^2} x(t)  = - \operatorname{grad} \left(V(x(t) \right). 
:Chú ý mô hình này lấy giả thiết phần tử là một khối điểm, điều mà không đúng trong nhiều trường hợp, ví dụ: mô hình cho chuyển động của hành tinh.

* **Trong kinh tế**: *Mô hình mô tả hành vi (có lý trí) của một khách hàng*. Khách hàng mong muốn mua nhiều nhất các mặt hàng trong số tiền hiện có. Trong mô hình này, ta xem xét trường hợp một khách hàng phải lựa chọn để mua trong số *n* mặt hàng được đánh nhãn 1,2,...,*n*, mỗi thứ có giá là *p*1, *p*2,..., *p**n*. Giả thiết rằng khách hàng có một hàm tiện ích *U* với mục đích là gán một giá trị (tương ứng cho số lượng) với mỗi mặt hàng mà khách hàng định mua *x*1, *x*2,..., *x**n*. Mô hình còn giả thiết là khách hàng sở hữu số tiền giá trị *M* dùng để mua các mặt hàng và mục đích là cực đại *U*(*x*1, *x*2,..., *x**n*). Bài toán cần giải quyết về mô hình hành vi của khách hàng trở thành bài toán tối ưu hóa, nghĩa là:
::  \max U(x_1,x_2,\ldots, x_n) 
:: thỏa mãn:
::  \sum_{i=1}^n p_i x_i \leq M.
::  x_{i} \geq 0   \; \; \; \forall i \in \{1, 2, \ldots, n \} 
: Mô hình này được sử dụng trong lý thuyết cân bằng chung, đặc biệt dùng để chứng minh sự tồn tại và tối ưu hóa Pareto của cân bằng kinh tế. Tuy nhiên, việc sử dụng mô hình này gán *giá trị số* để phân mức thỏa mãn của khách hàng vẫn là vấn đề tranh cãi. 
* **Trong khoa học máy tính**: các mô hình kiến trúc mạng, mô hình dữ liệu, mô hình toán trong đồ họa máy tính....
* **Trong điện tử**: mô hình quang phổ, mô hình năng lượng,...
* **Trong cơ học cổ điển**: mô hình dao động của dây, của màng; mô hình chuyển động của tên lửa; mô hình chuyển động của tàu ngầm...

## Nền tảng
Để so sánh các hệ thống thực cùng chức năng, người ta thường dựa vào các tiêu chuẩn như chi phí tạo ra, hiệu quả hoạt động, độ ổn định. Vấn đề là với một yêu cầu, có thể có nhiều thiết kế được đưa ra. Nếu tạo ra từng sản phẩm rồi mới kiểm chứng thì sẽ tốn kém chi phí. Một giải pháp hiệu quả là mô hình các hệ thống đó bằng mô hình toán học. Vì mô hình toán học đưa ra chưa chắc là miêu tả đúng hoàn toàn chức năng của một hệ thống mong muốn, ban đầu nó chỉ có thể được xem là một giả thiết (*hypothesis*) về cách hoạt động của hệ thống, hoặc ước lượng một sự kiện có thể dự đoán là ảnh hưởng đến hệ thống. Một vấn đề nảy sinh, là chưa nếu chưa tồn tại hệ thống thực, thì làm sao kiểm chứng độ chính xác của mô hình toán học. Để giải quyết vấn đề này, các kĩ sư có thể dùng cách thức mô phỏng lại hệ thống thực dùng các phần mềm mô phỏng.

Một mô hình toán học thông thường mô tả một hệ thống bằng cách sử dụng một tập các biến và các hàm nhằm thiết lập mối quan hệ giữa các biến đó.
Giá trị của các biến là tùy vào ứng dụng mà có thể là giá trị thực hay số nguyên, giá trị kiểu bool hay kiểu chuỗi.
Các biến này sẽ đại diện cho một vài thuộc tính nào đó của hệ thống, ví dụ: đầu ra của hệ thống có thể là ở dưới dạng tín hiệu, dữ liệu thời gian, biến đếm (tăng/giảm dần), sự xảy ra của một sự kiện (có/không).

## Các khối cơ bản trong mô hình toán học
Có tất cả sáu nhóm biến cơ bản: *biến quyết định*, *biến đầu vào*, *biến trạng thái*, *biến ngoại sinh*, *biến ngẫu nhiên*, và *biến đầu ra*. Mỗi loại lại có thể có nhiều biến, nên mỗi loại biến thường được đại diện bằng các vector.

Các biến quyết định thường được gọi là *biến độc lập*. Biến ngoại sinh còn gọi là *tham số* hay có thể là hằng số.
Các biến không độc lập nhau gọi là *biến trạng thái* và phụ thuộc vào các biến quyết định, đầu vào, ngẫu nhiên, và ngoại sinh. Hơn nữa, các biến đầu ra là phụ thuộc vào trạng thái của hệ thống (được biểu diễn bởi các biến trạng thái).

Mục tiêu và các ràng buộc giữa hệ thống và người dùng nó có thể được biểu diễn dưới dạng các hàm của các biến đầu ra và các biến trạng thái, gọi là **hàm mục tiêu** hay **hàm ràng buộc**.

## Phân loại các mô hình toán học
Nhiều mô hình toán học có thể được phân loại theo các cách sau:

# Tuyến tính vs. Phi tuyến tính: 
# Xác định vs. Xác suất (ngẫu nhiên): 
# Tĩnh vs. Động: Mô hình tĩnh không xét đến yếu tố thời gian, trong khi mô hình động có xét đến. Vì thế, mô hình động thường dùng phương trình sai phân để biểu diễn.
# Các tham số tập trung vs. Các tham số phân bố: Nếu mô hình mà đồng nhất (trạng thái ổn định trên toàn hệ thống) thì các tham số là tập trung. Nếu mô hình là không đồng nhất (trạng thái thay đổi bên trong hệ thống) thì nó là tham số phân bố. Các tham số phân bố thường được biểu diễn bởi phương trình sai phân riêng phần.

## Phân loại mang tính trực quan
Các vấn đề dùng mô hình toán học thường được phân loại thành mô hình **[[hộp đen (hệ thống)|black box]]** và **[[hộp trắng|white box]]**, tùy vào lượng thông tin có sẵn/cho trước (*a priori information*) về hệ thống. Mô hình hộp đen mà một hệ thống mà thông tin có sẵn về hệ thống là không có. Mô hình hộp trắng (hay còn gọi là hộp gương (*glass box*, *clear box*)) là một hệ thống mà mọi thông tin cần thiết đều có sẵn. Mọi hệ thống thực tế thì nằm dao động ở giữa cả hai loại trên, nó không hoàn toàn là hộp đen mà cũng không hoàn toàn là hộp trắng. Vì thế, 2 khái niệm này chỉ dùng để giới thiệu một cách trực quan về hướng tiếp cận.

### Thông tin có sẵn (a priori information)
Thông thường, ta sử dụng tối đa thông tin có sẵn để giúp cho mô hình càng chính xác. Vì thế, mô hình hộp trắng thường được ưa thích. Và thông tin có sẵn thường ở dạng là cho biết dạng hàm liên kết quan hệ giữa các biến khác nhau.

Ví dụ: nếu ta muốn mô hình hóa cách thuốc tác động lên hệ thống cơ thể của con người, ta biết rằng thông thường lượng thuốc trong máu là một hàm phân rã theo hàm mũ theo thời gian. Đó là thông tin có sẵn, ta vẫn còn thiếu nhiều biến chưa được biết, ví dụ tốc độ phân rã, và lượng thuốc đầu tiên trong máu là bao nhiêu? Ví dụ này hiển nhiên không phải là hộp trắng hoàn toàn. Và việc ước lượng các thông số (biến) chưa biết cần sử dụng các phương tiện/phương pháp phù hợp trước khi đưa mô hình vào sử dụng.

Như vậy, với mô hình hộp đen, ta vừa phải cố gắng ước đoán dạng hàm phù hợp, đồng thời tìm ra các giá trị tham số cho dạng hàm đó. Dùng thông tin có sẵn, ta có thể giảm đi một phần công việc, ví dụ: dạng hàm là cho sẵn. Nếu thông tin có sẵn không có, thì ta nên lựa chọn các hàm đủ tổng quát để có thể bao quát được mọi mô hình khác nhau. Và cách hay dùng cho trường hợp này là mạng nơron, cái này thường không cần giả thiết nào về dữ liệu vào.

Điều cần chú ý nữa là khi mà số lượng biến lớn và quá nhiều hàm khác nhau tham gia vào trong mô hình đề xuất, bài toán sẽ trở nên khó giải quyết.

### Thông tin chủ quan
Đôi lúc, việc đưa thông tin mang tính chủ quan vào trong mô hình toán học là hữu ích. Điều này dựa vào *trực quan*, *kinh nghiệm*, hay *ý kiến của các chuyên gia*, hoặc dựa vào *sự thuận lợi của dạng toán*. Thống kê Bayes cung cấp một bộ khung lý thuyết (*theoretical framework*) để đưa loại thông tin này vào quá trình xây dựng mô hình: bằng cách đưa ra phân bố xác suất cho trước (*a prior probability distribution*) và sau đó cập nhật phân bố này dựa trên dữ liệu mang tính kinh nghiệm (*empirical data*).

## Độ phức tạp
Độ phức tạp của một mô hình toán học luôn bao gồm sự đánh đổi giữa sự đơn giản và độ hiệu quả. Occam's Razor là một nguyên lý đặc biệt liên quan đến vấn đề mô hình hóa; ý tưởng cơ bản là *giữa các mô hình mà có khả năng phán đoán tương đối như nhau, thì mô hình đơn giản nhất được lựa chọn*. Trong khi việc tăng độ phức tạp thì thường tăng độ phù hợp của mô hình, nó lại làm cho mô hình khó hiểu và khó để làm việc với nó, đồng thời có thể làm xuất hiện các vấn đề về tính toán, bao gồm sự ổn định của số được tính. Thomas Kuhn cho rằng khi mà khoa học phát triển, việc giải thích thường trở nên càng phức tạp trước khi có một Paradigm shift tạo ra một sự đơn giản hóa căn bản.

Ví dụ: khi mô hình một chuyến bay của một chiếc máy bay, ta có thể tạo ra một mô hình lớn từ các mô hình nhỏ riêng biệt của từng bộ phận. Như vậy ta có một **mô hình-hộp trắng** của chiếc máy bay. Tuy nhiên, chi phí tính toán khi mà thêm vào một lượng lớn các mô hình thành phần làm cho mô hình mẹ khó được quản lý. Mỗi mô hình con đều có độ lệch của nó, điều đó làm cho khó ước đoán hoạt động của mô hình lớn.

## Huấn luyện

## Đánh giá một mô hình

Phần sống còn của quá trình mô hình hóa là đánh giá mô hình toán học đề xuất có mô tả chính xác hệ thống hay không. Điều này tùy vào cách đánh giá.

### Phù hợp với dữ liệu theo kinh nghiệm

Thông thường, cách đơn giản nhất để kiểm tra sự phù hợp của mô hình đề xuất là dựa vào các số liệu đã đo đạc thực nghiệm hay các dữ liệu mang tính kinh nghiệm khác. 
Với mô hình có tham số, theo hướng trên, cách chung để kiểm tra sự phù hợp là chia dữ liệu thanh 2 tập riêng biệt: dự liệu tập huấn (*training data*) và dữ liệu kiểm chứng (*verification data*). Dữ liệu tập huấn được dùng để ước lượng các tham số. Và mô hình tham số đưa ra cùng với các giá trị tham số được tìm ra, nếu chính xác, khi được chạy thử với dữ liệu kiểm chứng sẽ cho kết quả theo mong đợi. Cách này còn có tên gọi là cross-validation trong thống kê.
Dữ liệu tập huấn là tập gồm các {đầu vào, đầu ra mong đợi}. Áp dụng mô hình toán học đề xuất, với đầu vào cung cấp ta sẽ có đầu ra quan sát (tức là đầu ra dựa trên đầu vào và các thông số ban đầu của mô hình có tham số). Ta sẽ so sánh đầu ra quan sát này với đầu ra mong đợi (đã có sẵn từ tập dữ liệu tập huấn). Mục tiêu là đề xuất một phép đo với mục tiêu tối thiểu hóa sự khác biệt giữa đầu ra quan sát và đầu ra mong đợi. Thông thường người ta sử dụng hàm phương sai tối thiểu (*least mean squared function*). Trong thống kê, lý thuyết quyết định, và một số mô hình kinh tế, vai trò này do hàm thất thoát (*loss function*) đảm nhiệm.

Như vậy, có thể nói rằng để kiểm chứng tính phù hợp của giá trị các tham số (đối với một mô hình tham số cho sẵn) thì không phức tạp, nhưng việc kiểm chứng sự đúng đắn trong việc lựa chọn đúng mô hình tham số phù hợp, hay dạng toán tổng quát cho một mô hình lại trở nên rất khó khăn. Nói chung, cần dùng nhiều công cụ toán để kiểm chứng sự phù hợp của một mô hình thống kê hơn là mô hình sử dụng phương trình sai phân. Các công cụ trong thống kê phi tham số (*nonparametric statistics*) có thể được dùng để đánh giá độ phù hợp của dữ liệu với một phân bố cho sẵn hoặc đi đến một mô hình tổng quát mà chỉ sử dụng giả thiết tối thiểu về dạng toán của mô hình.

### Quy mô của mô hình

Việc ước định quy mô của một mô hình, nghĩa là xác định tình huống mà mô hình có thể áp dụng hiệu quả, là không phức tạp. Nếu mô hình được xây dựng nên từ một tập dữ liệu nào đó, thì tình huống chính là loại dữ liệu mà đã dùng.

Nội suy chính là xem xét hệ thống có mô tả tốt các tính chất của dữ liệu được dùng hay không, và ngoại suy là xác định hệ thống có mô tả tốt tính chất của dữ liệu chưa được quan sát (chưa được dùng) hay không.

Một ví dụ về giới hạn của việc áp dụng mô hình của tình huống này cho một tình huống khác: trong cơ học cổ điển Newton đã mô hình chuyển động của các phân tử (hạt) rất nhỏ (với tốc độ gần bằng tốc độ ánh sáng và thời đó chưa đủ thiết bị để đo đạc) dùng mô hình chuyển động của các phần tử vĩ mô. Và thực tế cho thấy là mô hình này không có ngoại suy tốt cho trường hợp hạt vi mô.

## Xem thêm
* Mô hình
* Mô phỏng
* Mô phỏng bằng máy tính
* Mô hình thống kê
* Phương trình sai phân
* Hệ thống động
* Tính toán xuất phát từ sinh học (*Biologically-inspired computing*)
* Mô hình (kinh tế)
* Mô hình toán học trong vật lý
* Triết lý toán học
* Xã hội toán học

## Tham khảo

### Tham khảo chung
;Books
* Aris, Rutherford [ 1978 ] (1994). *Mathematical Modelling Techniques*, New York: Dover. ISBN 0-486-68131-9
* Lin, C.C. & Segel, L.A. (1988). *Mathematics Applied to Deterministic Problems in the Natural Sciences*, Philadelphia: SIAM. ISBN 0-89871-229-7

;Specific applications
* Korotayev A., Malkov A., Khaltourina D. (2006). *Introduction to Social Macrodynamics: Compact Macromodels of the World System Growth.*, Moscow: Editorial URSS. ISBN 5-484-00414-4

## Liên kết ngoài
;Tài liệu tham khảo chung
* McLaughlin, Michael P. (1999)
* Patrone, F. Introduction to modeling via differential equations , with critical remarks.