Các Phương Pháp Sáng Tạo : Tương Tự Hóa
Hãy nghĩ vấn đề như là một đối tượng. Và bây giờ xem xét một đối tượng khác. Đối tượng có thể là bất kì nhưng những cơ phận cuả thiên nhiên thường sẽ thích hợp nhất.
BAI X : TUONG TU HOA VA CUONG BUC TUONG TU HOA
Các bạn thân mến,
Trong các lớp bậc trung học chúng ta cũng đã biết chút ít thế nào là tương tự. Hai
bài toán có thể dùng cùng một phương cách để giải thì ta gọi đó là "quá trình tương
tự hoá". Với lối suy nghĩ này nhiều bạn cũng đã mang theo lên các lớp bậc đại học
cũng như khi đi làm và rồi cho rằng chẳng cần gì để hiểu hay biết nhiều hơn trong
phương cách này. Thực ra, nếu sử dụng các phương pháp tương tự một cách thấu
đáo thì cùng có thể bạn sẽ tìm thấy "những cá tính mới cuả một người bạn cũ". (Đồ
"cổ" thì lúc nào cũng có giá mờ!) Trong bài này thay vì đưa vào những định nghiã cổ
điển chúng tôi sẽ cố gắng trình bày nhiều tình huống giải quyết vấn đề đã hay đang
đươc tiến hành trong thực tế
Các Bước Cho Tương tự Hoá
Hãy nghĩ vấn đề như là một đối tượng. Và bây giờ xem xét một đối tượng khác. Đối
tượng có thể là bất kì nhưng những cơ phận cuả thiên nhiên thường sẽ thích hợp
nhất. Viết xuống tất cả những sự tương đồng cuả hai đối tượng các tính chất về vật
lý, hoá học, hình dạng, màu sắc... cũng như là chức năng và hoạt động
Bây gìờ xem xét sâu hơn sự tương đồng cuả cả hai xem có gì khác nhau và qua đó
tìm thấy được những ý mới cho vấn đề.
Ví Dụ 1 Cải tiến máy thu hình (camcorder) khi mơí phát minh so sánh với đôi mắt
người
• Sự tương đồng rất lớn: Thu nhận ảnh chuyển động màu sắc ..(bạn có thể liệt
kê một danh sách khá dài về sự giống nhau)
• Bây giờ phân tích chi tiết hơn:
Con mắt người thu hình chuyển động nhanh tốt hơn máy
Con mắt người có khả năng tự điều chỉnh độ tương phản khi đối tương có
một phong nền thật sáng (chẳng hạn như khi thu 1 người bạn đứng trước
ngọn đèn sáng thì ảnh thu vào có thể gặp hiện tương ..."đen mặt"
Mắt người biết tự điều tiết để nhìn vật gần hay xa
Mắt người có thể cho phép phán đoán khoảng cách và nhận diện hình khối
3 chiều
...
• Qua đó thấy ra những gì cần cải thiện cho máy thu hình
Ví Dụ 2: Quá trình tương tự hoá còn gặp rất nhiều trong khoa Phỏng Sinh Học.
Ngành này thường nghiên cứu các quá trình, các hiên tượng sinh học trong thiên
nhiên để chế tạo ra các thiết bi mới: máy bay trực thăng, quân phục tự đổi màu với
môi trường là hai ví dụ rất điển hình về sự "bắt chước" hay tương tự hoá
Cưỡng Bức Tương Tự Hoá:
Đây chỉ là một cách mở rộng tầm nhìn hay bóp méo những hiểu biết hiện có để tìm
ra những phát kiến mới. Có rất nhiều cách thức áp dụng sau đây là hai cách:
Cách thứ 1: Gán thêm cho đối tượng sẵn có những đặc tính mới đã có cuả một đối
tượng khác:
Lưu ý: Trái với phương cách tương tự thông thường, đối tượng được chọn để thi
hành tương tự hoá sẽ không nhất thiết có nhiều hay không những đặc điểm giống
nhau với đối tượng muốn giải quyết vấn đề.
Ví dụ: Khi so sánh phương pháp thảo chương phần mềm khi xử lí thông tin Input
Output kiểu module. Tức chia chương trình ra thanh nhiều bộ phận nhỏ (mỗi phần
như vậy thường được gọi là function có chức năng xử lí một phần thông tin) và các
đặc tính xử lí thông tin cuả con nguời
Ta sẽ thấy những phần "kiểu con người" đã có như:
Có thể gìn giữ va di truyền các thông tin (inheritance)
Có khả năng ẩn dấu quá trình xử lý thông tin và chỉ cho biết kết quả sau khi xử lý
(encapsulation)
Có thể dùng cùng 1 tên gọi nhưng các loại thông tin nhập vào khác nhau có thể
được xử lý khác nhau (override operation)
Có thể tạo ra 1 khuôn mẫu để xử lý các thông tin có kiểu cách xử lý giống nhau
(template)
...
Qua những đặc điểm thúc ép sự tương tự người ta có thể phát triển loại phần mềm
mới (như C++) chẳng hạn có đủ những yếu tố mới hay hơn và lạ hơn
Cách thứ 2: Trong cách này thì sự cưỡng bức sẽ áp dụng lên mỗi đặc tính cuả đối
tượng một cách có hệ thống
Lưu ý: Phương pháp này thường áp dụng cho các ngành thiết kế (design)
Các bước như sau:
1 Liệt kê các đặc tính cuả đối tượng
2 Dưới mỗi đặc tính viết ra thêm nhiều tính chất khác thuộc cùng kiểu (hình dạng,
chất liệu, kiểu cấu trúc,...
3 Sau khi hoàn tất, tạo nên một thay đổi ngẫu nhiên cuả các đặc tính để "biến" đối
tượng thành đối tượng mới
Ví dụ: quá trình thiết kế các kiểu "bút bi" mới tóm lược trong bảng cưỡng bức như sau
Bảng thay đổi thiết kế cho "bút bi":
Hình dạng Chất liệu Kiểu đậy Màu sắc Nguồn mực
Hình Trụ Plastic Nắp Một màu Ống cố định
Khối vuông Kim loại Không nắp Nhiều màu Ống mực thay được
Hình điêu khắc Thủy tinh Bấm Màu néon Ống mực bơm được
Chuỗi hạt Gỗ Có đầu chùi Đổi màu Không có ống mực
Bầu dục Giấy Không màu Ống mực chấm tự hút
Sau khi có bảng rồi thì tạo nên một "phát minh" mới bằng cách gán ghép ngẫu
nhiên: Một cây viết bi hình người đánh golf, bằng thuỷ tinh màu xanh lá cây có nắp
đậy là cái nón đội và ống mực thay được
Thay cho kết luận:
Để thấy được toàn bộ bức tranh cuả các bước sử dụng khả năng cuả các phương
cách tương tự hoá. Ví dụ sau đây sẽ phân tích chi tiết hơn về một quá trình phát
minh được tìm ra bằng phương pháp cưỡng bức tương tự hoá do chính tác giả đã đề
xuất (trong năm 2000) tạo ra nhằm chống lại nạn "ăn cắp mật khẩu":
1 . Tìm hiểu vấn đề:
Trong những năm cuối cuả thập niên 90, khi Internet trở nên phổ biến thì các hiện
tượng tiêu cực lợi dụng chỗ hở cuả Internet và các Hê Điều hành cũng đã xãy ra: Đó
là việc ăn cắp tên và mật khẩu cuả các thành viên trong một hệ thống mạng hay e
mail. Ngoài ra, hiện tượng ăn cắp mật khẩu giữa những người làm chung một công
sở cũng có thể xãy ra (nhìm trộm nguời ta login và nhớ mật khẩu để ăn cắp các
nghiên cứu chẳng hạn)
Nghiên cứu đối tượng: Hệ thống Login (còn gọi là hệ thống đăng nhập:
Đọc user account (tên đăng nhập)
Đọc password (mật khẩu) và mã hoá password
So sánh password đã mã hoá với mã sẵn có cuả người login nếu đúng thì cho
phép xử dụng các dịch vụ Sai thì loại bỏ
2. Xác định vấn đề:
Hackers có thể dùng một hệ thống bao gồm nhiều computer làm việc chung với
nhau tấn công vaò một hệ thống password bằng cách ... "mò mẫm" (bạn đọc có thể
tìm hiểu thêm các tài liệu viết về phương cách "ăn cắp" password trên mạng ) Tức
là, các computer sẽ kiến tạo vô cùng nhanh một các mật khẩu bằng cách tăng tiệm
biến các giá trị cuả mật khẩu rồi thử đăng nhập vào cho tới khi "mò ra" được cái mật
khẩu đúng ... (Qúa trình này sẽ không bao giờ làm nổi ... nếu bạn làm bằng tay; tiếc
thay với vận tốc nhiều tỉ phép tính trong 1 giây thì một hệ thống máy (còn gọi là
supper computer system) sẽ bẽ gãy hầu như bất kì một mật khẩu thông thường nào
nếu được chạy và thử liên tục trong 710 ngày)
Mật khẩu cũng có thể bị "đọc" và đem đi chỗ khác đăng nhập.
3. Phân tích cội rễ cuả vấn đề:
• Trong thời gian mà người thành viên cuả một hệ thống password không đổi
giá trị cuả mật khẩu thì "Mật khẩu là một giá trị hằng số tạm thời". Và cũng vì
nó là hằng số trong 1 thời gian đủ rộng nên nó mới bị "mò" ra
• Lực lượng tập họp cuả các giá trị mật khẩu có thể dùng thì tối đa chỉ tương
đương với lực lượng tập họp cuả các số tự nhiên (nếu bạn đọc không hiểu
khái niệm lực lượng thì cũng có thể bỏ qua nhận xét này.
• Trong thực tế thì các hằng số mật khẩu tạm thời thường không có giá trị qúa
đặc biệt hay quá khó mò (đa số chỉ bao gồm các kí tự trong bảng kí tự La
tin ... một số có thể có thêm vài chữ số nhưng cùng không giúp gì nhiều trong
việc chống hacker) Do đặc điểm này mà các mật khẩu có thể bị mò ra càng
nhanh hơn
• Truờng hợp xấu hơn là mật khẩu bị ăn cắp bởi người làm chung (công nhân
quét dọn hay cộng sự viên chẳng hạn) Đặc điểm phân tích được là: mật
khẩu bị ăn cắp sẽ được dùng đăng trên 1 máy khác với máy cuả người chủ
hợp pháp trong 1 thời gian sau khi đã bị "nhìn lén" lúc đăng nhập
Trên đây chỉ là 4 điểm yếu quan trọng
4. Áp dụng tương tự hoá:
A. So sánh với hai câu trong kinh điển phật giáo: "vạn vật là vô thường" (Dịch nghiã
nôm na: Tất cả mọi vật đều không giữ nguyên trạng thái cuả nó ) và câu "bất ưng
trụ pháp sinh tâm" (đại ý là đừng cố bám vào phật pháp như là chỗ "trụ" cố định) Có
lẽ bạn sẽ ngạc nhiên về cách "tương tự cưỡng bức kì quái này" nhưng nó là phát khởi
cuả phát minh. So với đối tượng là sự cố định tạm thời cuả mật khẩu Ta đi đến 1 ý
mới đó là mật khẩu biết tự thay đổi và không là hằng số nưã". Như vậy rõ ràng là
vấn đề sẽ hầu như được giải quyết vì ... máy có thể mò kiếm ra 1 hằng số dễ dàng
chớ khó có thể kiếm ra mật khẩu mà giá trị cuả nó bị thay đổi liên tục theo thời
gian...Nghiã là, nếu giá trị gõ vào cuả mật khẩu là giá trị cuả 1 hàm số F(t) cuả thời
gian thì mọi việc sẽ êm đẹp hơn nhiều (Hãy "so sánh việc này với việc trò chơi trốn
tìm ... và người trốn liên tục thay đổi chỗ núp !!!). Hơn nưã một khi mật khẩu thay đổi
theo thời gian thì dẫu người xấu có đọc lóm được giá trị tạm thời cuả đó thì nó cũng
sẽ không thể dùng được trong 1 khoảng thời điểm khác
B. Vấn đề ở chỗ làm sao người chủ cuả mật khẩu biết được giá trị thay đổi này để
có thể login? Câu trả lơì cũng không quá khó là người chủ sẽ định nghiã qui luật
thay đổi cuả mật khẩu (tức là người chủ sẽ tự định nghiã hàm số cuả mật khẩu theo
thời gian mỗi lần thay đổi mật khẩu thì người chủ cũng có thể đổi luôn cái hàm này)
C. Tuy nhiên như vậy bắt buộc người chủ mật khẩu phải biết ...TOÁN. Và hơn nưã
người đó không được tiết lộ hay để hở cái hàm số mật khẩu mỗi khi cài đặt mới.
Trên đây chỉ là những ý sơ khởi cho một hệ thống mật khẩu mới có khả năng chống
lại ...việc chôm mật khẩu có thể được dùng trong các hệ thống chuyên nghiệp.