Đây là một lĩnh vực rất khó. Tôi
tò mò nên đọc qua cho biết. Bên công nghệ thông tin thì tôi không biết sao, chứ
bên lĩnh vực thông tin địa lý thì tôi chưa thấy có nghiên cứu nào về lĩnh vực
này ở Việt Nam
(ở trường tôi học cũng không thấy và các bài báo trong hội nghị GIS toàn quốc năm
rồi (2011) tôi cũng không thấy). Tình cờ trong lúc tìm kiếm tài liệu làm luận
văn tôi phát hiện lĩnh vực này. Bây giờ rãnh rỗi tìm hiểu cho vui. Phần này chủ
yếu là tổng hợp những gì tôi đọc được (thường tôi đọc tài liệu, sau đó tôi sẽ tóm
lược lại để dễ nhớ). Paul M. Torrens là cái tên tôi thấy xuất hiện nhiều trong
lĩnh vực này.
Nhìn vào thuật ngữ chúng ta cũng
có thể thấy đó là sự kết hợp của 2 lĩnh vực khoa học thông tin địa lý (geo) và
khoa học máy tính (simulation). Geosimulation nhìn các vấn đề như là kết quả
của một tập hợp các sự vận động của những đối tượng tương tác nhau, trong vấn
đề về đô thị thì các đối tượng này thường là cá nhân hộ gia đình, con người, và
đơn vị bất động sản hay theo thời gian bằng cách tiếp cận thời gian thực. Geosimulation
giống với phương pháp truyền thống là microsimulation, nhưng có một vài điểm
giúp chúng ta phân biệt hai loại này :
+ Thứ nhất là đơn vị không gian
+ Thứ hai là liên quan đến những
mối quan hệ không gian.
+ Thứ ba là thời gian
+ Thứ tư là mục tiêu của sự mô
phỏng.
Nghiên cứu trong geosimulation hầu
hết tập trung vào những kỹ thuật cải tiến công nghệ mô phỏng không gian : nguồn
gốc của những thuật toán mới phục vụ việc xử lý không gian, phương pháp luận
mới về khái niệm những thực thể không gian và những mối quan hệ giữa những thực
thể đó, ứng dụng những mô hình mô phỏng trong những vấn đề của thế giới thực,
và tạo phần mềm mới cho những thí nghiệm của hệ thống địa lý. Nhiều ý tưởng
trong geosimuation được lấy từ các lĩnh vực khác như : khoa học máy tính, vật
lý, hóa học, toán học, kinh tế, sinh thái học và sinh học. Trong đó, khoa học
máy tính liên quan gần gũi nhất, đặc biệt là trí thông minh nhân tạo
(artificial intelligence), cuộc sống nhân tạo (artificial life), và lập trình
hướng đối tượng.
Các vấn đề liên quan đến đô thị
thường hấp dẫn những người làm mô phỏng đặc biệt là những người làm về
geosimulation. Hai dạng mô hình thường được sử dụng trong geosimulation là
cellular automata và multi-agent system.
Vài nét về cellular automata
trước, còn multi-agent system để sau.
Cellular automata (hay dạng số ít
là cellular automaton, viết tắt CA) là một mô hình rời rạc được nghiên cứu
trong lý thuyết khả năng tính toán (computability theory hay recursion theory),
toán học, vật lý, khoa học phức hợp (complexity science), sinh học lý thuyết
(theoretical biology), mô hình vi cấu trúc (microstructure modelling). Trong
đó, chúng ta thấy có khoa học phức hợp, đây là lĩnh vực đáng chú ý, chắc phải
dành thời gian đọc qua cho vui. CA bao gồm lưới những cell đều nhau, mỗi cell
có một số trạng thái xác định, như “on” hay “off”. Lưới có thể có nhiều chiều .
Đối với mỗi cell, một tập các cell lân cận, gọi là hàng xóm (thường bao gồm
luôn cả bản thân cell đó) được định nghĩa tương đối theo cell đó. Trạng thái
của các cell được xác định trong từng vòng lặp dựa trên trạng thái các cell
hàng xóm và bảng quy luật. Để hiểu rõ hơn, chúng ta có thể xem xét một dạng
cellular automaton đơn giản nhất là elemantary cellular automata (ECA). ECA có
lưới dạng 1 chiều (dạng đường) các cell, mỗi cell có giá trị là 0 hoặc 1, và
những quy luật chỉ dựa trên giá trị các hàng xóm (cell bên trái, cell bên phải
và chính cell đó) để xác định trạng thái cell đó trong vòng lặp tiếp theo. Sự
phát triển của ECA có thể được mô tả bởi 1 bảng trạng thái của 1 cell được chọn
sẽ có trong vòng lặp kế tiếp dựa trên giá trị của chính nó, những cell bên trái
và bên phải của nó. Từ đó sẽ có 2x2x2 = 8 trạng thái có thể có của 3 cell (2
cell lân cận và bản thân cell đó) , có tổng cộng 28 = 256 ECA. Hình
bên dưới thể hiện bảng luật 30 của ECA.

Vậy thì từ đâu có luật đó ? Dựa vào các số nhị
phân. Cụ thể, như chúng ta thấy ở trên, số 30 biểu diễn ở dạng nhị phân là
0001110. Như vậy, trong automaton thứ nhất tính từ trái sang, nếu hai cell hàng
xóm là đen, bản thân cell đó là đen, thì ứng với số 0 đầu tiên bên trái trong
số 30 ở dạng nhị phân. Nghĩa là cell đó ở vòng lặp tiếp theo sẽ là trắng (giá
trị là 0). Từ đó, chúng ta có thể dễ dàng hiểu các luật còn lại (các luật từ 0
đến 255). Trên cơ sở luật 30, giả sử chúng ta có 1 cell có trạng thái là 1 (màu
đen) ban đầu, trong 20 vòng lặp, chúng ta sẽ có kết quả sau :

Trong ví dụ trên, 2 vấn đề cần làm
rõ hơn là loại lưới và hàng xóm. Loại lưới là một trong số những thuộc tính cơ
bản của cellular automata. Đơn giản nhất là lưới 1 chiều như ví dụ trên. Bên
cạnh đó, còn có các lưới 2 chiều có các dạng như : tam giác, hình vuông và lục
giác. Đối với các lưới nhiều chiều hơn thí chúng ta chưa đề cập đến. Hình bên
dưới thể hiện các dạng lưới :

Vấn đề thứ 2 là hàng xóm. 2 loại
hàng xóm thường gặp là hàng xóm Moore
(hàng xóm dạng vuông) và hàng xóm von Neumann (hàng xóm dạng kim cương). Hàng
xóm Moore là
loại hàng xóm có dạng hình vuông bao quanh cell cho sẵn. Hàng xóm Moore trong phạm vi r có
thể được định nghĩa như sau :

Số cell trong hàng xóm Moore là (2r+1)2.

Hàng xóm von Neumann tập hợp những
cell các cạnh tiếp xúc với cell cho sẵn. Hàng xóm von Neumann được định nghĩa
như sau :

Số cell trong hàng xóm von Neumann
là 2r(r+1)+1

Một dạng CA 2 chiều rất nổi tiếng
là Game of Life của Convay. Một ví dụ của Game of Life được thể hiện bên dưới.

Chúng ta thấy Game of Life rất đơn
giản trong hình bên trên, nhưng thực tế nó ứng dụng rất lớn trong nhiều lĩnh
vực. Có thể download phần mềm golly về để xem cho vui. Download tại đây : http://golly.sourceforge.net/
Về Cellular Automata nên biết qua
một nhân vật là Stephen Wolfram.
NNS
Hình cuối cùng là ảnh gif thể hiện sự biến đổi các cell qua các vòng lặp, nhưng upload lên đây nó ko chạy ^_^
Trả lờiXóa