Thư viện bài, chủ đề ‘Thuật ngữ chuyên ngành’

machine learning hay statistics (2)

Nguyễn Xuân Long | 19 tháng 03, 2007 | Bản để in Bản để in

Machine learning hay statistics?
Quá nhiều terminologies làm cho tôi headache
Tôi khoái learning machines, bạn lại thích models
Bạn hỏi tôi về covariates, tôi nói chuyện features

Machine learning hay statistics?
Thứ nào nghe sexy hơn thứ nào boring sh*t?
Một câu hỏi nhỏ, nếu bạn vẫn gà mờ …
Xin chịu khó đọc thêm blog Ka Hờ Mờ Tờ :-)

Tiếp theo bài blog hôm trước, tôi xin nói thêm về sự hỗn độn về thuật ngữ trong machine learning. Dân làm machine learning nói riêng và KHMT nói chung rất sáng tạo trong việc đặt tên cho sản phẩm thuật toán của mình. Mỗi một tít bài báo ở hội nghị thường có kèm tên một thuật toán (hay system, hay architecture mới), cho dù ý tưởng của bài báo chỉ là một thay đổi epsilon của một bài báo trước đó.

Trong machine learning, mỗi một thuật toán máy học mới thường có cái tên là một machine gì đấy, làm ta liên tưởng đến một cậu HAL đang được thai nghén. Vậy nên có cả một vườn thú các learning machines, ví dụ có thể tìm thấy ở Journal of Machine Learning Gossip (một website hóm hỉnh của dân làm ML). Điều này làm cho những người bắt đầu bước vào vườn thú rất choáng. Mặc dù xuất phát điểm mang tính lịch sử của machine learning là từ trí tuệ nhân tạo, nhưng nhìn lại, rất nhiều ý tưởng trong ML đã được khơi nguồn từ statistics, và trong một thời gian khá dài (từ những năm 1950 đến những năm đầu 1990) đáng tiếc là không có sự liên hệ đầy đủ giữa hai ngành. Dưới đây tôi thử liệt kê vài khái niệm trong machine learning và dịch sang ngành thống kê. Đây là open list, ai có thêm thì xin mời bổ sung vào. Để tiện tôi chia ra làm một vài mục:

Mô hình:

  • machines, learning machines (e.g., support vector machines): models
  • networks (e.g., neural networks, Bayesian networks, Markov networks): models
  • concepts: models
  • multilayer networks: hierachical models
  • Bayes nets, Bayesian networks: (probabilistic) graphical models
  • instance-based learning methods: nonparametric models
  • input features: covariates
  • output: response variable
  • model selection: model choice

Thuật toán:

  • learning algorithms, training algorithms: (frequentist) estimation procedures

  • Bayesian learning: Bayesian inference
  • probabilistic reasoning: probabilistic inference
  • unsupervised learning, clustering algorithms: use of latent (hidden) variable models, generative models
  • supervised learning, classification algorithms: classification, regression, discriminative models
  • empirical risk minimization principle: M-estimation methods (M stands for maximization)
  • cost function: loss function

Một số linh tinh khác:

  • PAC (probabilistically approximately correct) learning: đảm bảo đúng với xác suất cao
  • convergence: trong ML thì đây thường chỉ sự hội tụ của thuật toán, nhưng trong statistics thì đây thường nói về tốc độ hội tụ của estimation error của một estimation procedure nào đó
  • sample: trong ML thì chỉ một data point, trong statistics thì chỉ một tập các data points.

Một số lớn các khái niệm căn bản của ML (thường là bắt đầu một cách ad hoc) đã được giới thiệu và nghiên cứu một cách có hệ thống và chặt chẽ ở ngành thống kê. Ngược lại, còn rất nhiều khái niệm hay và sâu sắc trong thống kê vẫn chưa được áp dụng trong các vấn đề machine learning. Tuy vậy machine learning ngày càng đóng góp cho statistics những khái niệm mới mẻ, đặc biệt liên quan đến khía cạnh computation complexity và hiệu quả thuật toán, và ML cũng góp phần phát triển nhiều mô hình (learning machines) rất thích hợp cho large scale và dynamically processed data mà ngành statistics đã từng thờ ơ. Ví dụ một số thuật ngữ sau ở machine learning nhưng không có mặt ở mainstream statistics cho đến thời gian gần đây:

  • computational complexity của một vấn đề learning
  • computational efficiency một learning machines
  • message-passing type algorithms
  • các mô hình về on-line learning
  • reinforcement learning
  • graphical models
  • v.v.

Nhìn lại, không khó mà nhận thấy rằng intellectual root của machine learning là statistics và computer science. Điều này không nằm ngoài quy luật của phát triển khoa học. Những hướng/ngành nghiên cứu mới có triển vọng thường phát triển từ sự giao thoa của nhiều ngành khoa học lớn đi trước nó. Trong lịch sử phát triển của trí tuệ nhân tạo nói chung và machine learning nói riêng, nhiều vị tiền bối trong ngành đã không có sự nhìn nhận xác đáng về cái gốc rễ ấy (statistics và continuous mathematics). Họ đã kỳ vọng là có thể phát triển công nghệ mới mà không cần đến những công cụ toán học đương đại (kể cả xác suất thống kê). Điều này làm cho trí tuệ nhân tạo và machine learning đi chậm lại hoặc lạc hướng vì đã bị cô lập với statistics cũng như các ngành liên quan như signal processing, information theory, operations research,… trong suốt mấy thập niên liền.

Tôi không nói điều gì thực sự mới mẻ ở đây đối với những người nghiên cứu ở cutting-edge của machine learning ngày nay, nhưng có thể là mới mẻ và hy vọng là hữu ích cho những bạn đang dự định nghiên cứu về machine learning, trí tuệ nhân tạo trong KHMT, cũng như nhiều ngành liên quan đến xử lý dữ liệu khác.

Chủ đề: Nghiên cứu nghiên kiếc & Thuật ngữ chuyên ngành & Trí tuệ nhân tạo & Xác suất & thống kê | Bình luận (14) »

machine learning hay statistics? (1)

Nguyễn Xuân Long | 16 tháng 03, 2007 | Bản để in Bản để in

Khi tôi đang học đại học ở Postech và tìm một đề tài nghiên cứu tốt nghiệp, tôi làm quen với machine learning một cách tự nhiên. Mặc dù thích cả về lý thuyết thuật toán, nhưng ngày đó machine learning nghe sexy hơn nhiều. Tưởng tượng xem, tôi học ngành máy học (hay học máy nhỉ). Những năm 90 vẫn còn đọng lại dư âm cái hype của những neural networks và genetic algorithms bắt đầu từ thập niên 80. Ôi chà, những thuật toán có cảm hứng từ sinh học. Những lãng mạn từ “2001: A space odyssey” và MIT Robotics lab của Rodney Brook… Ông thầy vung vẩy tờ bìa Tạp chí Nature với cái tít “thế kỷ của brain science“, và tất nhiên tin học sẽ luôn là xe đò trong các khoa học tự nhiên và ứng dụng. This is it! Neural networks và genetic algorithms. Có rất nhiều tạp chí và conference, thậm chí cả PhD program được tập trung vào những lĩnh vực này. Thậm chí có rất nhiều người đã cao giọng khái quát hóa NNs và GAs thành các “paradigm”, “architecture” của trí tuệ nhân tạo trong tương lai. Rất nhiều chương trình nghiên cứu, như của thầy hướng dẫn thời undergraduate của tôi, chỉ xoay vần khá chật vật quanh mô hình này.

Ngày nay, NNs và GAs không còn nằm ở trung tâm của nghiên cứu machine learning hay artificial intelligence nữa. Một cách công bằng, NNs và GAs có thể coi là những dạng mô hình học hữu ích trong nhiều áp dụng thực tế. Nhưng chúng không phải là paradigm tổng quát gì cả, mà cũng có những hạn chế như rất nhiều mô hình thống kê khác. Không có gì bí ẩn tại sao các thuật toán NNs hay GAs lại work và không work. Thế mạnh và yếu đều được hiểu một cách khá cặn kẽ từ nền tảng thống kê cổ điển và hiện đại (classical và modern statistics), lý thuyết xác suất, lý thuyết xấp xỉ, v.v.

Có lẽ đóng góp lịch sử lớn nhất của NNs và GAs là sự hấp dẫn, mới lạ và sự hiệu quả của những phương pháp này. Chúng thu hút một số lượng lớn rất nhiều các kỹ sư, các nhà khoa học thực nghiệm và tính toán, vật lý lý thuyết, … tất cả những ai phải xử lý số lượng dữ liệu lớn và nhiều chiều. Những người này đã quan tâm đến và góp phần phát triển tiếp machine learning. Họ thường không ngại ngần gì với những data sets khổng lồ. Họ cần những giải pháp computation hữu hiệu, nhưng không thích quá nhiều assumption cứng nhắc về dữ liệu. Họ thực dụng, và không bị lệ thuộc vào các mô hình thống kê cổ điển giáo điều. Họ quả cảm và năng động chứ không máy móc như các nhà thống kê cổ điển. Và cũng giống như fashion, machine learning vẫn tiếp tục sexy, nhưng cái hype không còn là NNs hay GAs mà chuyển sang các mô hình thống kê khác, như graphical models (Bayes nets), support vector machines, các mô hình nonparametric Bayes, v.v.

Đó là một câu chuyện sơ lược về machine learning. Các ứng dụng của machine learning thường thú vị và bất ngờ, hương pháp áp dụng thường là những heuristic thông minh, nhưng lại ad hoc. Để phân tích và phát triển tiếp thì machine learning phải dựa vào nền tảng vững chắc của thống kê. Nếu bạn là một sinh viên đại học hoặc bắt đầu học cao học và muốn nghiên cứu về machine learning, thì phải học xác suất thống kê cho vững. Nếu không có thể bị chóng mặt bởi một đống fashionable algorithms của nó.

Vậy về mặt tri thức, machine learning và thống kê khác nhau ở điểm gì?

Đối với tôi, không hề có sự khác biệt mà chúng là một. Có thể nói đây là vision mà tôi chia sẻ với không ít người khác. Theo tôi, cả hai ngành đều cùng phát triển và sẽ hội tụ về thành một điểm trong tương lai. Gọi nó là statistical machine learning, hoặc computational statistics gì đều được. Đóng góp của statistics có tính chất nền tảng trong việc xử lý uncertainty, xử lý noise trong dữ liệu. Đóng góp của machine learning nói riêng và KHMT nói chung là sự chú trọng đến khía cạnh thuật toán và hiệu quả tính toán.

Trước đây thống kê cổ điển không chú trọng nhiều đến khía cạnh computation này, nên các sản phẩm của họ (dưới dạng statistical tests hoặc linear estimation procedures) thường có tính chất về computation rất đơn giản. Do đó chúng chỉ áp dụng được cho các data set rất nhỏ, mặc dù chúng có hiệu quả thống kê rất tốt về mặt lý thuyết; hoặc nếu data set lớn thì chỉ hữu ích khi chúng tuân thủ theo các assumption rất khắc nghiệt. Nhưng sự phát triển không ngừng của KHMT và những thành công của machine learning là cho các nhà thống kê học giật mình, và họ bắt đầu giang rộng vòng tay đón nhận machine learning như một lĩnh vực tiên phong trong statistics, sẵn sàng đón nhận những thách thức về computation bên cạnh độ hiệu quả về thống kê.

Quả thực sự phát triển của machine learning như thổi một luồng gió mới vào chính ngành statistics, làm cho nó sexy hơn. Một mặt khác, nhưng người làm về machine learning cũng cảm thấy cần thiết phải quay lại với những nền tảng của statistics để hiểu và gọt rũa các phương pháp heuristic của họ một cách hoàn chỉnh, và bớt đi phần ad hoc hơn.

Rồi bạn sẽ thấy ngày càng ít những phát biểu kiểu như: “My approach is neural network based, not a statistical one“. Trái lại bạn sẽ nghe thấy các nhà thống kê học nói nhiều hơn đến “algorithms” và “data structure”, còn dân KHMT sẽ nói nhiều đến “statistical analysis”. Bạn nào học machine learning khi trả lời phỏng vấn visa ở lãnh sự quán Mỹ, muốn tránh phiền phức với các chuyên ngành nhạy cảm (như AI, machine learning, vision, robotics,…) có thể thật thà theo giải pháp của tôi: nghiên cứu về statistical computer science Nói với tay lãnh sự rằng, it’s fun, it’s sexy, but not at all sensitive :-)

Chủ đề: Nghiên cứu nghiên kiếc & Thuật ngữ chuyên ngành & Trí tuệ nhân tạo & Xác suất & thống kê | Bình luận (13) »

Nguồn gốc cụm từ dynamic programming

Ngô Quang Hưng | 14 tháng 02, 2007 | Bản để in Bản để in

Cha đẻ của kỹ thuật dynamic prorgramming (quy hoạch động) là Richard Bellman. Hồi đầu những năm 50, Bellman làm tư vấn cho RAND Corp, một trong những think tank có ảnh hưởng cực lớn của quân đội Mỹ. (Lý thuyết game, quy hoạch tuyến tính, và nhiều nhánh khác của toán học, kinh tế học hiện đại có phần gốc gác từ RAND.) Hồi đó Bellman đang nghiên cứu về planning, multistage decision process, … và ông khám ra kỹ thuật quy hoạch động. Tuy nhiên, hồi đó bộ trưởng bộ quốc phòng Mỹ là Charles Wilson rất ghét cụm từ “nghiên cứu”, đặc biệt là “nghiên cứu toán học”. Wilson vốn là một kỹ sư giỏi, nhưng sau đó đi làm business (salesman), lên đến tổng giám đốc của General Motors. Trong quyển tiểu sử tự thuật của mình, Bellman giải thích tại sao ông chọn tên “dynamic programming” như sau:

I spent the Fall quarter (of 1950) at RAND. My first task was to find a name for multistage decision processes. “An interesting question is, ‘Where did the name, dynamic programming, came from?’ The 1950s were not good years for mathematical research. We had a very interesting gentlemen in Washington named Wilson. He was Secretary of Defense, and he actually had a pathological fear and hatred of the word, research. I’m not using the term lightly; I’m using it precisely. His face would suffuse, he would turn red, and he would get violent if people used the term, research, in his presence. You can imagine how he felt, about the term, mathematical. The RAND Corporation was employed by the Air Force, and the Air Force had Wilson as its boss, essentially. Hence, I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation. What title, what name, could I choose? In the first place I was interested in planning, in decision making, in thinking. But planning, is not a good word for various reasons. I decided therefore to use the word, ‘programming.’ I wanted to get across the idea that this was dynamic, this was multistage, this was time-varying–I thought, let’s kill two birds with one stone. Let’s take a word that has an absolutely precise meaning, namely dynamic, in the classical physical sense. It also has a very interesting property as an adjective, and that is it’s impossible to use the word, dynamic, in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It’s impossible. Thus, I thought dynamic programming was a good name. It was something not even a Congressmann could object to. So I used it as an umbrella for my activities

(Xem thêm bài viết này có nhiều trích đoạn hay từ hồi ký của Bellman.) Đọc đoạn này tôi chợt nhớ đến vụ toán học vô dụng vì nếu Bellman không che giấu cái “nghiên cứu toán học” của ông bằng cái tên khó hiểu, thì đã không có tiền để phát triển một ý tưởng mà ngày nay được dùng rộng rãi trong computational biology, operation research, control theory, … chưa kể ít nhất một nửa cái Internet ta dùng hàng ngày đang chạy Distance Vector protocol theo thuật toán Bellman-Ford, một thuật toán quy hoạch động.

Chủ đề: Nhân vật và sự kiện & Thuật Toán & Thuật ngữ chuyên ngành | Bình luận (4) »

Nói chuyện với dân ngoại đạo

Ngô Quang Hưng | 30 tháng 09, 2005 | Bản để in Bản để in

Giáo sư Lance Fortnow có một post về việc giải thích cho dân ngoại đạo biết mình làm gì. Các thảo luận ở đó rất thú vị.

Quả đúng vậy. Nói chuyện với dân ngoại đạo dễ gây hiểu lầm, hoặc không truyền tải được thông tin gì cả. “Thuật toán xấp xỉ” và “độ phức tạp của các thuật toán xấp xỉ” là các khái niệm rất khó giải thích cho người không chuyên. Đó là chưa kể khoảng cách về thuật ngữ khi giải thích cho người Việt. Có nhiều thứ tôi không biết dịch tiếng Việt là gì, mà dịch xong rồi thì có khi nói tiếng Anh còn dễ hiểu hơn. “Expanding graphs” dịch thế nào?

Về VN, câu chuyện có thể diễn biến thế này (đây là tôi chắp vá và thêm thắt từ các đối thoại có thật):

  • Người thân/bạn bè (NTBB): “anh đang làm gì bên đó?”
  • Tôi: “tôi giảng dạy và làm nghiên cứu trong trường đại học”.
  • NTBB: “thế là giảng viên à?”
  • Tôi: “tôi làm assistant professor, khác với lecturer”.
  • NTBB: “Trẻ thế đã làm trợ giảng rồi à”, “có được nhiều tiền không?”
  • Tôi (cười méo mó): “tôi không còn trẻ lắm nữa, mà assistant professor không có nghĩa là assistant cho một professor, cho nên không phải trợ giảng, …, nhưng mà thôi, …”
  • NTBB: “thế anh làm nghiên cứu về cái gì?”
  • Tôi [rút kinh nghiệm, lần này chỉ nói vắn tắt]: “mạng máy tính và thuật toán”
  • NTBB: “thuật toán là gì?”
  • Tôi: “một thuật toán là một phương pháp chi tiết cho máy tính thực hiện một tác vụ nào đó, ví dụ như thuật toán chỉnh sửa ảnh trong PhotoShop, …”
  • NTBB: “cái PhotoShop tôi đang dùng bị lỗi thế này, anh có thể nào giúp được không?”

Đến đây thì tôi chịu bí.

Chủ đề: Thuật ngữ chuyên ngành & Vui - Giải Trí | Bình luận (3) »

Khoa học, báo chí, và dân ngoại đạo

Ngô Quang Hưng | 23 tháng 09, 2005 | Bản để in Bản để in

Một bài báo của tờ Guardian viết về các tin tức khoa học viết trên báo chí phổ thông. Rất thú vị!

Tuần trước, tờ NY Times có bài op-ed của giáo sư Vật Lý Lisa Randall của Harvard về các từ chuyên môn của khoa học hay bị hiểu sai theo nghĩa phổ thông, và có thể bị lạm dụng cho các mục tiêu phi khoa học khác. Các từ hay bị hiểu sai bao gồm: tính tương đối (trong lý thuyết tương đối), nguyên lý bất định (của Heisenberg), lý thuyết (khoa học), quan sát (khoa học), global warming, vân vân.

KHMT có những từ chuyên môn nào mà dân ngoại đạo hay hiểu sai nhỉ? Lần trước tôi có một ví dụ về hiểu sai chữ thuật toán.

Bài học của chúng ta: các nhà khoa học cần chủ động hơn trong việc quảng bá các kết quả khoa học chân chính cho dân ngoại đạo.

Chủ đề: Giáo dục & Thuật ngữ chuyên ngành | Bình luận »

Tin tặc, hackers, và hồ sơ biệt ngữ

Ngô Quang Hưng | 24 tháng 08, 2005 | Bản để in Bản để in

Luôn dịch hacker thành tin tặc hoặc các từ mang nghĩa xấu khác là sai nghiêm trọng.

Chữ hack trong tiếng Anh có nhiều nghĩa. Dò tự điển Webster thì các nghĩa phổ thông “to manage successfully”, hoặc “to clear or make by or as if by cutting away vegetation” là gần nghĩa kỹ thuật nhất. Hai nghĩa gần đúng và thông dụng là “to write computer program for enjoyment” và “to gain access to computers illegally”. Hack có thể được dịch là “chọc ngoáy”, “mày mò”. Khi ngồi nghịch mã nguồn các device drivers của Linux, ta có thể nói: “I am hacking around with Linux drivers”.

Thế dân kỹ thuật nói gì về hack? Hack/hacker là các biệt ngữ của dân máy tính. Muốn hiểu thật kỹ thì ta phải đọc hồ sơ biệt ngữ hay còn gọi là The Jargon File. Dân máy tính và … hackers nói riêng phải biết các biệt ngữ này.

Giáo sư Raphael Finkel (lúc đó là sinh viên ở Stanford) viết phiên bản đầu tiên của hồ sơ biệt ngữ năm 1975. Đây là bộ sưu tập các biệt ngữ của văn hóa kỹ thuật ở các trường đại học, phòng nghiên cứu nối với nhau ở thời kỳ sơ khai của Internet (mạng ARPANET).

Ý nghĩa chính của hack là “áp dụng sự khéo léo một cách thích đáng”. Kết quả có thể là một đoạn mã chương trình thông minh, hay cả một hệ điều hành. Một nghĩa phụ của hack là trò đùa thực tế (practical joke). Bạn tham khảo phần bàn về định nghĩa hack của hồ sơ biệt ngữ để biết thêm các ví dụ về hack.

Một trong những hacker nổi tiếng nhất thế giới là tiến sĩ Richard M. Stallman, người khởi xướng GNU. Ông viết về ý nghĩa của hacking, rất đáng đọc.

Một trong những ví dụ tếu về hack mà tôi thích là vụ hiện thực hóa RFC 1149. Các RFC (request for comments) là các tài liệu đề cử các chuẩn mới cho Internet. Ví dụ: RFC 793 cho TCP, RFC 791 cho IP. TCP và IP là các protocols thông dụng nhất của Internet.

Ngày cá tháng tư nămg 1990, RFC 1149 đề nghị chuyển dữ liệu qua … lưng chim. Tựa đề của RFC này là “một chuẩn cho việc truyền các gói IP qua vận tải không gian”. Dĩ nhiên đây là một trò đùa cá tháng tư. Thế nhưng đến 28 tháng 4 năm 2001, nhóm người dùng Linux Bergen đã thực hiện thành công vụ chuyển dữ liệu qua lưng chim này. Họ in dữ liệu của các gói IP theo dạng Hex ra giấy, bắt bồ câu kẹp giấy bay qua một hòn núi nhỏ ở Bergen, Na Uy, sau đó dùng một phần mềm nhận dạng chữ in (ORC) để quét dữ liệu từ giấy vào máy bên kia, thiết lập lại gói IP.

Chủ đề: Bảo mật và mật mã học & Thuật ngữ chuyên ngành | Bình luận »

Báo chí viết về thuật toán

Ngô Quang Hưng | 11 tháng 06, 2005 | Bản để in Bản để in

Một bài báo của tờ Financial Times nói về việc dân buôn bán stock chuyên nghiệp hiện nay, ngoài trực quan/kinh nghiệm của trader, còn dùng thêm các thuật toán để giúp (quyết định) mua bán stock. Nếu thật sự hiểu nghĩa của hai chữ thuật toán, chuyện này không có gì mới. Có mới chăng là các máy tính ngày nay chạy các thuật toán này thay vì phải tính toán bằng tay trên giấy hay (kể cả là) bằng trực giác.

Bài báo hiểu sai khái niệm thuật toán, cho rằng thuật toán được sáng tạo bởi al-Khwarizmi, một nhà toán học Ba Tư hồi thế kỷ thứ chín. Xem đoạn cuối bài là rõ nhất.

Phương pháp Euclid để tìm ước số chung lớn nhất hoặc phương pháp sàng Eratosthene để liệt kê các số nguyên tố đều là các thuật toán có từ hơn hai nghìn năm trước. Chữ thuật toán, hay giải thuật (algorithm) là chuyển dịch của cái tên al-Khawarizmi. Đây là nguồn gốc sự nhầm lẫn đáng tiếc của bài báo, vì những bài báo như vậy góp phần phổ cập hóa các khái niệm trong KHMT.

Chủ đề: Thuật ngữ chuyên ngành | Bình luận »

Khoa học máy tính hay công nghệ thông tin?

Ngô Quang Hưng | 05 tháng 02, 2005 | Bản để in Bản để in

Cụm từ “công nghệ thông tin” (information technology - IT) có khi được dùng đồng nghĩa với “khoa học máy tính” (computer science - CS). Không nên đánh đồng IT và CS.

Theo tự điển Wikipedia thì IT là công nghệ dùng để xử lý thông tin, thường dùng theo nghĩa là công nghệ ứng dụng máy điện toán và phần mềm để chuyển đổi, bảo vệ, xử lý, truyền, lưu giữ và truy cập thông tin. Nhưng rõ ràng là các phương tiện thông tin đại chúng như báo chí, đài phát thanh, đài truyền hình, đã dùng các công nghệ khác (trước cả khi có máy tính) để xử lý, phân phối, truyền, lưu trữ và truy cập thông tin! Như vậy, bản thân chữ IT theo định nghĩa này đã có lấn cấn.

CS mang nghĩa rộng hơn IT rất nhiều. Theo tự điển thì CS bao gồm IT cộng thêm một khái niệm rất sâu sắc gọi là sự tính toán (computation). Giáo sư Don Knuth (giải Turing năm 1974) trong bài “Khoa học máy tính và quan hệ của nó với toán học” (xem một tuyển tập có bài này) viết: “có lẽ hai khoa học gia máy tính sẽ cho bạn hai định nghĩa khác nhau về CS … Định nghĩa của tôi là: CS là sự nghiên cứu khái niệm giải thuật“.

Ta thử lấy ví dụ một đối tượng nghiên cứu của CS không nằm trong IT: lý thuyết tính toán (theory of computation). Đây là một ngành của CS nhằm vào câu hỏi: “cái gì có thể tính được?” Câu hỏi này ngoài ý nghĩa thực tiễn còn mang đậm tính triết học và liên quan mật thiết đến logic. Máy tính đã làm được nhiều việc tuyệt vời, từ đánh cờ thắng Kasparov, mô phỏng Big Bang, đến hiện thực mạng thông tin toàn cầu. Vậy khả năng giới hạn của máy tính là gì? Nó có giới hạn không, hay là vài chục năm nữa sẽ có máy tính thông minh hơn người? Biên giới của các giới hạn, nếu có, là ra sao về mặt thời gian (time) và bộ nhớ (space)? Để trả lời các câu hỏi loại này, ta cần nhiều hơn cái gọi là công nghệ thông tin.

Khi khác ta sẽ trở lại với các vấn đề mà máy tính không giải quyết được. (Không nhất thiết phải là các vấn đề tình cảm đâu nhé.)

Chủ đề: Thuật ngữ chuyên ngành | Bình luận »