Gỡ rối tơ lòng

Các thắc mắc về KHMT, về toán học máy tính, về cách ghi bình luận trên blog, … xin post ở đây. Chúng tôi sẽ cố gắng trả lời nếu khả năng và thời gian cho phép. Các bạn đọc cũng có thể trả lời và thảo luận các câu hỏi. Nếu câu hỏi có liên hệ sâu hơn thì ta chuyển thành một bài mới.

555 Comments

  1. luckyboss
    Posted 21/09/2010 at 10:13 pm | Permalink

    Xin chào các anh chị . Em hiện đang học CNTT , chuyên ngành khoa học máy tính . Hiện em đang rất hoang mang về việc làm của mình khi ra trường . Em khộng hình dung được công việc cụ thể sau này mình làm là gì khi được học những môn như CTDL , TTNT , XLNNTN … Em xin hỏi các anh chị là nếu học những kiến thức này thì mình sẽ làm gì sau này và ở VN thì làm ở chỗ nào . Rất mong nhận được những lời giải đáp của các anh chị .
    Em xin cám ơn!!

  2. Nguyễn Văn Huân
    Posted 22/09/2010 at 4:59 am | Permalink

    Ở Việt Nam thì khỏe! Mình thấy một số người học thêm .Net hoặc Java rồi sau này đi làm cho vài công ty phần mềm, ở Đà Nẵng, Sài Gòn hoặc nơi nào đó. Một số khá lớn học thêm nghiệp vụ sư phạm rồi đi dạy! Một số thì học tiếp cao học rồi cũng đi dạy luôn. Một phần rất nhỏ thì mở công ty riêng( rất nhỏ). Một vài người xuất sắc và có đam mê thực sự, được trường giữ lại, tiếp tục sự nghiệp nghiên cứu khoa học….

  3. TxyzG
    Posted 22/09/2010 at 2:53 pm | Permalink

    Chào anh Hưng,
    Em đang xem bài toán tháp Hà Nội trong cuốn Concrete Math của Knuth thấy tác giả chứng minh rằng 2^n-1 là số tối thiểu bước chuyển đĩa để giải bài toán.
    Em đoán ra rằng bài toán tháp Hà Nội chỉ có duy nhất một lời giải tối ưu (lời giải có số bước chuyển đĩa là ít nhất) nhưng tra trên Internet mãi không ra chỗ nào chứng minh tính duy nhất này.
    Anh có thể chỉ cho em xem chứng minh sự duy nhất này được không ?

    • Posted 22/09/2010 at 4:04 pm | Permalink

      Chào TxyzG, bạn chứng minh nó bằng qui nạp.

      Tuy nhiên, phải cẩn thận khi định nghĩa bài toán và định nghĩa thế nào là lời giải duy nhất. Ví dụ: nếu đặt bài toán là “chuyển hết đĩa từ cột 1 sang một trong 2 cột còn lại” thì phải định nghĩa tính duy nhất bằng một dạng isomorphism giữa các chiến lược. Còn nếu bài toán là “chuyển hết đĩa từ cột 1 sang cột 2″ thì bạn quy nạp thẳng luôn được.

      • TxyzG
        Posted 23/09/2010 at 4:29 pm | Permalink

        Anh Hưng và các anh chị khác ơi,
        Em thấy có nhiều thứ rối rắm, mơ hồ quá nên cứ viết hết ra cả như dưới đây. Anh/chị xem thấy có chỗ nào hiểu sai thì chỉ ra giúp em hoặc nếu thấy những suy nghĩ này “lẩm cẩm” thì cũng bảo để em dừng lại, không khéo phí công sức thời gian mà chả tiến bộ lên được.
        1. Em hiểu “lời giải bài toán thì khác với thuật toán giải bài toán”, điều này có đúng không ? Nghe hơi khùng khùng, nhưng nó như thế này:
        Lời giải bài toán tháp Hà Nội là dãy các bước chuyển đĩa
        Thuật toán giải bài toán tháp Hà Nội (như thuật toán đệ quy dưới đây) là dãy các bước giao cho máy tính thực hiện để tìm và in ra màn hình lời giải bài toán tháp Hà Nội.
        void Hanoi (int n, char A, char B, char C)
        if (n == 1) … else
        Hanoi(n-1, A, C, B);
        in ra màn hình: chuyển đĩa thứ n từ A – C;
        Hanoi(n-1, B, A, C);
        Thuật toán này để in ra danh sách các bước chuyển đĩa, nhìn vào thuật toán ta sẽ không thể có ngay được danh sách các bước chuyển đĩa, phải đợi đến chạy xong chương trình thì mới có được. Như vậy thuật toán giải bài toán tháp Hà Nội là khác với lời giải bài toán tháp Hà Nội.
        2. Khi định nghĩa “thuật toán là dãy các bước giải bài toán” em lật lại vấn đề và đặt ra một câu hỏi lẩm cẩm: “bài toán là gì ?”. Ở đây xét bài toán giao cho máy tính (chứ không phải con người) giải. Có những bài toán mà con người dễ dàng giải như bài toán “Chứng minh định lý: dãy Cauchy thì hội tụ” nhưng khi lập trình cho máy giải bài toán này thì rất khó lập trình (em cũng không thể tưởng tượng nổi sẽ lập trình như thế nào để in ra màn hình được chứng minh định lý). Em đoán là những bài toán kiểu như “In ra màn hình chứng minh định lý: dãy Cauchy thì hội tụ” là khó mà giao cho máy tính giải được. Vậy những bài toán nào mà dễ giao cho máy tính giải ? Liệu đó có phải là những bài toán mà máy tính có thể vét cạn hết tất cả các khả năng có thể có của lời giải để tìm và in ra được lời giải đúng ?
        Ví dụ 1: bài toán tháp Hà Nội có một cách (dù không thực tế) là xét tất cả các dãy các bước chuyển đĩa có thể có (cái này là hữu hạn) thử sai và tìm ra được dãy bước chuyển đúng. Bài toán này theo cách nói ở trên là bài toán dễ giao cho máy tính giải được.
        Vi dụ 2: bài toán phân tích số ra thừa số nguyên tố. Bài toán này cũng dễ giao cho máy tính giải vì cách trâu bò nhất là thử sai đem chia số đó cho các số từ 1 đến chính nó.
        Ví dụ 3: em có nghe nói đến Halting problem, tuy em chưa biết kĩ nó là cái gì nhưng chắc chắn người ta vẫn lập trình được nó cho dù khi chạy chương trình thì bị rơi vào vòng lặp vô hạn. Em xếp bài toán này vẫn là bài toán giao cho máy tính giải được. Ít nhất thì máy tính nó cũng hiểu nó phải làm gì còn không xét đến việc nó có hoàn thành được không.
        3. Optimal algorithms versus Optimized algorithms
        Em nghĩ: thuật toán X cho bài toán A nếu được chứng minh là thuật toán nhanh nhất ( không thuật toán nào có thể nhanh hơn) thì nên được gọi là “thuật toán tối ưu”, tiếng Anh sẽ là “optimal algorithms”.
        Em cũng thấy cả từ “optimized algorithms” nữa. Vậy từ này để chỉ cái gì, khác gì với “optimal algorithms” ?

  4. HungAnh
    Posted 24/09/2010 at 3:20 pm | Permalink

    Các prof ơi. Prof của tôi đang ở xa, hứa sửa bài cho tôi lần cuối để tôi đăng báo. Vậy mà tôi e-mail 10 ngày rồi mất tăm, chẳng trả lời gì là nghĩa làm sao? Hay ông ấy lại thấy chuối quá rồi nên không muốn tôi đăng nữa? Trước đây chính ông ấy xui tôi đăng báo ấy???

    • Posted 24/09/2010 at 3:24 pm | Permalink

      Có thể bài báo không chuối mà ông ấy … chuối :-) Hoặc là ông ấy bận việc gì đó gấp.

  5. T
    Posted 27/09/2010 at 2:17 pm | Permalink

    Chào anh Hưng
    Em tra trên Internet mãi mà không rõ “device file” của keyboard trong /dev/ của các Unix-like OS là gì. Ví dụ: ổ đĩa cứng IDE master sẽ có “device file” là /dev/hda, thế của bàn phím là gì ? Em tìm được mấy đáp án sau nhưng chả thuyết phục tẹo nào:
    - /dev/input
    - /dev/stdin
    - /dev/kbd (nhưng khi em ls /dev/ | grep kbd ở máy em cài Redhat ra thì không thấy có file này)
    Tóm lại nó device file của keyboard là cái gì, hay nó không tồn tại nếu vậy lời giải thích là gì ?

    • T
      Posted 28/09/2010 at 7:25 am | Permalink

      Chào anh Hưng
      Em hỏi tiếp về Unix-like OS.
      Các sách nhập môn viết về redirection trong câu lệnh, như là ls / >list.txt thường chỉ nói chung chung thay vì dữ liệu được xuất ra màn hình thì nó được redirect ra file list.txt. Sau đó là mấy bài luyện tập về cách viết mấy cái dấu , 2> tức là chỉ luyện về mặt hình thức không quan tâm đến nội dung.
      Vấn đề em hỏi là stdin thì có liên quan gì đến /dev/stdin.
      Theo như http://www.kernel.org/pub/linux/docs/device-list/devices.txt
      thì /dev/stdin là link đến /dev/fd0. Em thấy đúng là mình bị “rối” về:
      - luồng dữ liệu in, out, err gắn với một process được miêu tả là gì trong /dev/
      - cái luồng dữ liệu này liên quan gì đến shell và virtual console hoặc terminal.

      Nhân đây em cũng vừa nghĩ ra: trước đây em nghĩ shell, virtual console, terminal của Linux là một (thì tất cả là cái chỗ để gõ lệnh). Nhưng không phải, 3 cái này là khác nhau: virtual console hoặc terminal trong Linux chỉ là giao diện front-end để người dùng tương tác với shell; shell là interpreter. Tại sao lại phải cần đến cả 2: virtual console và terminal (trong chế độ đồ họa) mà không chỉ cần có 1 hoặc virtual console hoặc terminal là đủ.

      • Posted 29/09/2010 at 2:23 pm | Permalink

        Chào T, các câu hỏi đều rất thú vị. Tôi không biết câu trả lời. Cuối tuần sẽ đọc (lại) sách xem, hy vọng tìm được câu trả lời cho bạn. Bây giờ đang bận.

      • T
        Posted 30/09/2010 at 9:44 am | Permalink

        ở trên có lỗi typo do WordPress nhận “” là mã HTML,
        “mấy bài luyện tập về cách viết mấy cái dấu , 2> tức là chỉ luyện về mặt hình thức không quan tâm đến nội dung.”
        –> sửa lại: “mấy bài luyện tập về cách viết mấy cái dấu “>” (1>), “<" (0″ tức là chỉ luyện về mặt hình thức không quan tâm đến nội dung.”

  6. zeroman89
    Posted 06/10/2010 at 10:06 am | Permalink

    Anh Hưng cho em hỏi bài toán sau với:
    You are given a collection of n integer-valued vectors v1, v2, …, vn (i.e. integer arrays) of some fixed dimension. An integer combination of these vectors is a vector of the form v = c1v1 + … + cnvn where each ci is an integer. Here, the j’th component v[j] is precisely c[1]v1[j] + … + c[n]vn[j].
    Define the length of a vector x = (x[1], x[2], …, x[n]) to be the square root of x[1]*x[1] + x[2]*x[2] + … + x[n]*x[n]. Your task is to find a short integer combination of vectors v1, …, vn whose length is non-zero.

    Anh cho em hỏi là bài toán này có phương pháp giải tối ưu không ? hay là chỉ tối ưu hóa dần dần được thôi, mong anh chỉ giúp em phương pháp giải.
    Em cám ơn anh!

    • Posted 06/10/2010 at 10:18 am | Permalink

      Zeroman, “short integer combination” nghĩa là sao?

    • Nghị
      Posted 12/10/2010 at 12:03 pm | Permalink

      Câu hỏi của bạn là tìm shortest vectors trong một lattice. Bạn có thể tham khảo trang wiki: http://en.wikipedia.org/wiki/Lattice_problem. Bài toán này là NP-hard, nhưng có một số ông rất thông minh nghĩ ra thuật toán LLL rất được ưa thích trong ứng dụng.

      • Phan Dương Hiệu
        Posted 13/10/2010 at 6:21 pm | Permalink

        Bổ sung một chút xíu phần bạn Nghị nói:
        Xét trường hợp ta không bị bắt tìm shortest vector nữa mà chỉ cần tìm một short vector với approximation factor $e$ (tức tìm 1 vector với độ dài nhỏ hơn hay bằng $e$ lần của shortest vector) thì người ta có thể phân loại bài toán theo $e$:

        - $e=1$ (tương ứng với bài toán gốc: tìm shortest vector), thuật toán tốt nhất hiện nay cho độ phức tạp $2^d$. Chú ý rằng độ phức tạp tính trên số chiều $d$ chứ không phải số vector đầu vào $n$ (dù $n>>d$ vectors thì ta cũng chỉ cần giữ lại các vectors độc lập tuyến tính)
        - $e=1$ cho tới $e = d^(1/loglog d)$ thì bài toán vẫn là NP-hard.
        - $e > subexponential (d) $, tức khi $e$ là lớn hẳn, thì có thuật toán giải trong thời gian đa thức (thuật toán LLL nổi tiếng)
        - $e>(d/logd)^(1/2)$, tức khi $e$ lớn nhưng khong lớn lắm, thì bài toán thuộc cả NP và co-NP và do vậy có thể coi không thuộc NP-hard

        Bài toán này được dùng khá nhiều trong mật mã, cả trong phá mã và xây mã. Việc phá nhiều hệ mã (như hệ mã dựa trên bài toán cái túi – knapsack) có thể đưa về bào toán tìm short vector và do vậy có thể áp dụng thuật toán LLL để phá. Ngược lại cũng có khá nhiều hệ mã được xây dựng dựa trên độ khó của bài toán này (nôm na, chọn hệ cơ sở chứa short vector làm khóa bí mật, và chọn hệ cơ sở tương đương không chứa short vectors làm khóa công khai). Tuy vậy, do yêu cầu giải mã được thì các hệ mật mã phải sử dụng lớp bài toán thứ 4 phía trên (thuộc cả NP và co-NP). Như vậy dù bài toán nguyên thủy thuộc NPC thì bài toán cụ thể sử dụng trong mật mã lại không phải là NPC nữa (cho đến nay, chưa có hệ mã nào mà độ an toàn tương ứng với độ khó giải một bài toán NPC, và người ta tin là không có hệ mã nào như vậy ). Ngoài ra có điểm hay là Ajtai đã chỉ ra, đối với một lớp rộng các bài toán con, sự tương đương giữa độ phức tạp trung bình (average case complexity) và độ phức tạp trường hợp xấu nhất (worst case complexity). Và do vậy, độ an toàn các hệ mã dựa trên các bài toán này qui về được độ phức tạp trường hợp xấu nhất và do vậy rất được yêu mến. (trong mật mã, ta phải đảm bảo là 1 bản mã bất kỳ khó bị phá chứ không phải đảm bảo là có tồn tại 1 bản mã khó bị phá, do vậy thường phải dựa trên độ phức tạp trung bình. Ajtai như vậy chỉ ra hệ mã đầu tiên mà độ an toàn dựa trên worst case complexity).

  7. Thang
    Posted 06/10/2010 at 12:25 pm | Permalink

    Chào anh Hưng
    Em đang gửi “paper” cho một số journal. Em thấy lạ là có một số journal đòi fee cho việc handling rất cao – đến 550 USD, dĩ nhiên họ cũng nói rõ chỉ tính fee sau khi accept bài báo. Đây có phải là những tổ chức “lừa” chuyên kinh doanh publication phục vụ những người “hám” record dài không. Hay đây là chuyện bình thường tạp chí nổi tiếng nào cũng đòi tác giả fee sau khi bài báo được nhận đăng. Nếu như thế thì chứng tỏ tiền bán journal không đủ chi cho reviewer nên author phải đóng bù vào ? À mà em hỏi tò mò chút, anh làm review nhiều, vậy mỗi paper anh review được trả bao nhiêu.
    Em thử submit manuscript với IEEE thì họ chưa process, không thấy thông báo fee gì cả. Những journal khủng như Nature, Physic review … có đòi fee kiểu này không anh.
    Lúc em gửi bài, em gửi cho nhiều journal cùng lúc cho dù ở journal nào cũng yêu cầu là bài không được gửi cho journal hoặc đang trong quá trình process của journal khác. Điều này thì có lợi cho author nhưng không có lợi cho journal. Em hỏi khí không phải khi bài báo của anh mà anh chưa chắc chắn lắm liệu anh và các prof của Mỹ có làm thế không, em nghĩ chắc vẫn làm nhưng mà chỉ gửi đồng thời 1, 2 journal thôi anh nhỉ, không gửi liền lúc 5, 7 cái.

    Lần đầu submit manuscript nên mới hỏi anh như vậy.
    Chúc anh mạnh khỏe.

    • Posted 06/10/2010 at 1:21 pm | Permalink

      Chào Thắng,

      Trong ngành KHMT mà journal nào đòi bất kỳ đồng nào thì tôi chắc chắn là journal dỏm. (Trừ phi journal có page-limit, đăng hơn một số trang nhất định thì trả tiền, nhưng mà điều này khác với cái processing fee.) Tôi không dám nói về các ngành khác, dù tôi cũng tin 99.99999% là không có chuyện phải nộp phí up-front như vậy.

      Tôi không làm, và cũng không quen ai nộp > 1 bản cùng một lúc. Đạo đức chuyên môn không cho phép mình làm thế. Một khi đã “bị bắt” thì có thể bị black-list. (Các editor in chief có chia sẻ thông tin với nhau, trong một chừng mực nhất định, nhất là đối với các trường hợp đáng chú ý.)

    • cresmoon
      Posted 06/10/2010 at 2:27 pm | Permalink

      Em xin phép bổ sung thêm câu trả lời của anh Hưng là reviewer hoàn toàn làm không công, tự nguyện chứ không được trả đồng nào hết.

  8. Duy
    Posted 07/10/2010 at 3:18 pm | Permalink

    “Đạo đức nghề nghiệp” mà Hưng nói thật ra không mơ hồ như một số người vẫn tưởng.

    Trong xã hội tư bản hầu hết các công ty, hiệp hội đàng hoàng, từ nhà nước đến tư nhân, điều tự đặc ra cho mình các tiêu chí “đạo đức nghề nghiệp” rất rõ ràng trên giấy tờ (in print). Một là để các thành viên, nhân viên của họ biết; hai là để cho các đối tác của họ biết để tuân thủ theo.

    Bạn có thể dễ dàng tìm thấy thông tin này trên các website của nhà xúât bản mà bạn đang, hoặc chủân bị gởi bài.

    Bạn có thể google hoặc tham khảo một số ví dụ sau:

    http://www.ams.org/about-us/governance/policy-statements/sec-ethics

    http://www.aip.org/pubservs/ethics.html

    http://www.ieee.org/membership_services/membership/ethics_code.html

    http://www.acm.org/about/se-code

  9. hoc_dot
    Posted 12/10/2010 at 2:52 am | Permalink

    Hu hu Giáo Sư ơi, em hiện rất thích lập trình trên hệ thống Linux, nhưng mà học hoài mà khó hiểu quá, mỗi khi lập trình thì cứ nhìn y nguyên cái code của người ta rồi chép lại :( ,

    • zyx
      Posted 14/10/2010 at 2:36 am | Permalink

      @hoc_dot: :D chỉ có một câu trả lời cho loại câu hỏi này. Practice, practice and practice! Mà bạn vào đây than thở với “Giáo Sư” làm gì? Vào i-pro.vn hay zing.vn than thở với các em gái may ra bọn nó thương :P

      • hoc_dot
        Posted 14/10/2010 at 4:30 am | Permalink

        Thanks nha, buồn quá chứ gì, hi hì, cố gắng luyện tập thử xem :)

      • hoc_dot
        Posted 14/10/2010 at 12:47 pm | Permalink

        E dag chan uot chan rao tim hiu ve evolutionary compute, a Hung co tai lieu gi hay mach em voi…

  10. Posted 25/10/2010 at 11:45 am | Permalink

    Bác Hưng ơi,
    Tôi xin có yêu cầu nho nhỏ. Nếu tiện, bác có thể nào đổi chế độ RSS Feed của Blog KHMT từ “Summary only” qua thành “Full post” không? Như thế sẽ “thân thiện” với các “off-line rss readers” như MobileRSS cho iPhone/iPod mà tôi đang dùng.
    Cám ơn bác, và xin cáo lỗi nếu ở đây không đúng chỗ để đăng lời thỉnh cầu.

    • Posted 25/10/2010 at 1:14 pm | Permalink

      Tôi đã sửa rồi, nếu có vấn đề gì bác cứ cho biết nhé.

  11. Le van Cu
    Posted 28/10/2010 at 9:46 am | Permalink

    Làm ơn diễn giải thành tựu mới dưới đây theo cách mà người không chuyên có thể hiểu và sử dụng vào công việc lập trình trên máy tính:
    Approaching Optimality For Solving SDD Linear Systems (2010) of Ioannis Koutis, Gary L. Miller, Richard Peng

  12. shin
    Posted 15/11/2010 at 8:45 am | Permalink

    Chào anh Hưng.
    Em có một đam mê với design patterns và system architecture, em đang học cao học và em muốn đi theo hướng này làm luận văn. Nhưng em cảm thấy hầu như rất ít người nghiên cứu về nó, cũng ít hội nghị chuyên về vấn đề này, số lượng paper cũng rất ít.
    Và hình như hướng này chỉ phục vụ cho đi làm chứ không theo academic đúng không anh? Và nếu theo hướng này, thì cần nghiên cứu và đọc những sách gì ah?
    Cảm ơn anh rất nhiều.

    • Posted 17/11/2010 at 9:51 am | Permalink

      Chào Shin,

      Mình cũng không biết gì mấy về design patterns. Hội nghị OOPSLA (http://en.wikipedia.org/wiki/OOPSLA) có vẻ như là hội nghị chính đăng các bài về design patterns. Nhưng mình không chắc lắm. Bạn có thể email hỏi anh Nguyễn Nhựt Tiến http://home.eng.iastate.edu/~tien/ để biết thêm chi tiết.

      Nghiên cứu về design patterns thì tôi chịu, không biết sách gì.

    • Posted 17/11/2010 at 12:59 pm | Permalink

      Không biết bạn Shin đã đọc qua quyển Design Patterns: Elements of Reusable Object-Oriented Software của GoF chưa. Quyển này được coi là Kinh Thánh của design patterns. :-)

      • Shin
        Posted 24/11/2010 at 10:28 pm | Permalink

        @ anh Hưng: Cảm ơn rất nhiều.
        @ Thanh Hai: Mình có đọc quyển đó rồi và một số sách khác, và mình muốn đi sâu thêm nên cần những người đi trước hướng dẫn các hướng đi thực tế hiện nay. :D . Cám ơn bạn.

  13. Posted 17/11/2010 at 12:51 am | Permalink

    mình thì muốn theo web, mình đang muốn học php bạn nào có chỗ nào chất lượng nói hộ mình với nha

  14. Posted 02/12/2010 at 12:06 am | Permalink

    Chào anh Hưng,

    Em đang ôn lại kiến thức networking và muốn xin anh bộ slides của môn học “CSE 489/589: Modern Networking Concepts (Fall 2010)”. Nhưng khi download về thì bị request phải có account. Lúc trước em cũng ôn kiến thức về giải thuật bằng bộ slides của môn học 532, 694 của anh và không bị request account gì hết (trừ phần assignment solution). Em muốn hỏi xin anh cho download bộ slides này.

    Xin cảm ơn anh trước.

    • Posted 02/12/2010 at 12:52 pm | Permalink

      Luân dùng khmt/khmt123 để truy cập bộ slides nhé. (Giữ bí mật đừng cho ai biết username/password :-) )

  15. Huân
    Posted 02/12/2010 at 4:50 am | Permalink

    Các thầy ở trường bảo rằng xử lý âm thanh(vd: nhận dạng giọng nói ) đang là vấn đề rất khó! Ở trường em chỉ nghe có một thầy đang làm về cái này và cũng không biết thầy làm được cái gì rồi! Anh Hưng và mọi người có thể giúp em biết cái phức tạp là ở đâu không, và nếu một ai muốn làm về lĩnh vực này thì cần chuẩn bị những gì!

    Window Seven và một số ROM OS của BlackBerry hay Nokia … có chương trình điểu khiển bằng khẩu lệnh, tuy nhiên hiệu quả không cao, em thấy đúng là không đơn giản thật!

    • Posted 02/12/2010 at 12:55 pm | Permalink

      Hi Huân, tôi chịu không biết nhận dạng tiếng nói đang phát triển đến đâu. Nhiều dịch vụ ở Mỹ có thể ra lệnh đơn giản (yes/no, hoặc là đếm) bằng tiếng nói qua điện thoại, tôi thấy làm việc cũng tốt. Phức tạp hơn thì chắc chưa được.

      • Posted 02/12/2010 at 6:00 pm | Permalink

        Có này khá hay về sự phát triển của nhận dạng giọng nói:
        http://mpt.net.nz/archive/2005/12/30/gates
        :D

      • Huân
        Posted 05/12/2010 at 10:20 pm | Permalink

        hihi, xem ra cái này chắc để thế hệ tương lại giải quyết! Cảm ơn anh!

  16. Posted 07/12/2010 at 2:18 am | Permalink

    @NQH (which replied NMLuan): The thi ai chang biet roi user/pass cua anh rui
    —-
    nhin nhung mua thu di…

  17. politeness
    Posted 09/12/2010 at 12:59 pm | Permalink

    ong Hung co bit site nao down film ngon lanh khong?
    cac parameter lien quan den topo mang quan trong lem nhe.

    Politeness

  18. Nam
    Posted 10/12/2010 at 3:29 pm | Permalink

    Anh Hưng hoặc anh Long có thể giúp em vấn đề này được không? Em cần kiểm tra tính hiệu quả của 1 số thuật toán phân lớp (classification) thông dụng. Hiện em có 1 số tập mẫu (training datasets) kèm theo tập kiểm thử (test datasets), gồm khoảng 4-6 thuộc tính (atributes) và khoảng 250-300 bản ghi (records). Anh có thể chỉ cho em 1 số công cụ (phần mềm và kỹ thuật (technique) của nó) cho việc này được không? Trong số đó theo anh thì cái nào hiệu quả nhất cho đầu vào (input) trên? Câu hỏi này có lẽ mang tính lý thuyết nói chung thôi, còn về mặt thực tế thì có thể kiểm tra lại nó bằng kết quả trên test dataset?
    Anh có thể giới thiệu cho em độ 3-4 công cụ được không, cũng như theo đánh giá của anh thì trong số đó cái nào là tốt nhất.
    Cám ơn anh nhiều.

    P/S: mấy thuật ngữ tiếng Việt mà em dùng ở trên có đúng ko nhỉ? :)

    • Nguyễn Xuân Long
      Posted 10/12/2010 at 9:56 pm | Permalink

      Bạn vào xem thử các website các lớp dạy về machine learning để xem nên dùng các công cụ gì: Công cụ thì rất nhiều nhưng hiệu quả còn phụ thuộc vào dữ liệu, không thể nói cái nào là tốt nhất được. Vài ví du: linear discriminant analysis, logistic regression, k-nearest neighbors, neural networks, support vector machines.

      • Nam
        Posted 10/12/2010 at 10:34 pm | Permalink

        Cám ơn anh. Vậy phiền anh có thể chỉ giùm em 1 số trang web hoặc phần mềm (online hoặc download về chạy) được không?
        Vì có rất nhiều nguồn như vậy nên sự lựa chọn rất khó. Em nghĩ nếu có dc 1 chỉ dẫn từ các anh thì sẽ tốt hơn. Ví dụ anh thường dùng 1 số trang web hoặc phần mềm nào để phân tích dữ liệu?

        • Nguyen Xuan Long
          Posted 10/12/2010 at 10:50 pm | Permalink

          Check, for example ml courses at Stanford (Andrew Ng), CS294 (practical machine learning) at berkeley (M. Jordan), or courses from Andrew Moore’s website at Cmu.

        • Nam
          Posted 11/12/2010 at 12:08 am | Permalink

          Cảm ơn anh rất nhiều.

  19. Nam
    Posted 10/12/2010 at 3:31 pm | Permalink

    Ở trên em viết thiếu. 250-300 bản ghi là 1 số bộ đầu vào, còn 1 số bộ đầu vào khác khoảng 750-1000 bản ghi.

  20. Thang
    Posted 10/12/2010 at 6:05 pm | Permalink

    Chào anh Hưng,
    1. Em đang apply CS PhD ở một số trường ở US, ngành Quantum Computing (QC). Em định viết trong SoP là mình muốn theo ngành QC đó, đặc biệt là nhánh hẹp TQC. Nhưng dở một nỗi là ông prof của trường không theo cái hướng hẹp TQC đó mà theo cái hướng hẹp khác. Liệu các prof có quan tâm đến mức hướng hẹp của ngành hay là chỉ cần thấy nó cũng QC như mình là được, còn sau khi vào trường đào tạo, uốn nắn thằng sinh viên đó sau. Trên thực tế thì em cũng chưa biết gì về TQC cả, chỉ thấy có vẻ thích thôi và thêm nữa em cũng chỉ mong được admission đã, còn sau này thay đổi sau cũng được. (Những ông prof theo hướng hẹp TQC vừa ít lại vừa ở trường rank quá cao, rủi ro cho việc apply là rất lớn nên em phải tìm các prof theo các hướng khác TQC nhưng vẫn thuộc QC)
    Liệu em có nên vẫn viết rõ là muốn theo TQC hay chỉ dừng ở mức QC là đủ. Nhưng sợ dừng ở QC thế này không rõ ràng, người ta lại đánh giá thấp mình. Tóm lại phải nắn SoP theo prof ?
    2. Em viết mail cho một ông prof bảo muốn là QC với ông. Ông hỏi CV, rồi hỏi transcript. Sau khi xem xong transcript ông ấy bảo em là:
    “I’ve examined your transcript. You are obviously a serious student.
    Unfortuately you’ve not studied the advanced continuous mathematics necessary for research with our group.”
    Thế em viết lại cho ông là: từ giờ đến tháng 6, tôi sẽ học những cái advanced continuous math course đấy. Hơn nữa tôi có VEF fund để cover 2 năm đầu nhưng thấy ông trả lời vẫn cương quyết không nhận em. Em không hiểu nổi nữa. Em nghĩ CV mình không tệ, transcript em được 8.24/10 chắc cũng không tệ và em làm giảng viên. Vậy làm sao mà ông ấy lại reject em chả nhẽ vì thiếu mấy course về toán (thì vào trường rồi em học bù, ông ấy huấn luyện thêm) hay là vì đọc SoP của em thấy hơi khác ý mình thì không nhận. Mà em nghĩ ông ấy cũng chưa đọc SoP của em vì em chưa đưa thư riêng cho ông ấy nhưng cũng mới submit application từ hôm 1st Dec vừa rồi, chắc cả department chưa ngồi review.
    Em mong anh cho vài lời khuyên từ cương vị của prof.

    • Nguyễn Xuân Long
      Posted 10/12/2010 at 10:00 pm | Permalink

      Các GS không trả lời thì thôi, không nên take personal. Có thể do họ bận và cũng không thấy bạn đủ mạnh, vì còn nhiều thí sinh khác tốt hơn. Nên kiên trì đợi và nộp hồ sơ đến các trường khác nữa. QC là một ngành rất hẹp, ít người làm, bạn nên mở rộng các lĩnh vực quan tâm ra, nếu không khả năng được nhận sẽ rất thấp.

      • Thang
        Posted 10/12/2010 at 11:53 pm | Permalink

        Cám ơn anh Long rất nhiều
        Tiện có anh ở đây. Em cũng đang apply U Mich và muốn làm việc với giáo sư Yaoyun Shi, John Hayes, Igor Markov. Em đã liên lạc với Yaoyun Shi, giáo sư nói rất thích, và cũng có ý như của anh: ít sinh viên theo ngành này.
        Em nhờ anh tí chút, khi cả department ngồi review các application, nếu application của em có đến tay anh thì nhờ anh chuyển giúp đến 3 giáo sư trên.
        À em đã liên lạc với Yaoyun Shi vậy em có nên liên lạc tiếp với John Hayes và Igor markov không anh, liệu có bị cho là “bắt cá hai tay” ?
        Em cám ơn anh nhiều.
        Em cám ơn anh rất nhiều.

  21. Thang
    Posted 10/12/2010 at 11:56 pm | Permalink

    (hix, em viết câu cuối bị lặp 2 lần, nhờ anh Hưng xóa đi một vậy.)

  22. Nguyen
    Posted 11/12/2010 at 9:55 am | Permalink

    Chào anh Hưng, anh Long,
    Em đang vướng ở bài toán sau: Giả sử n biến ngẫu nhiên X1, X2, … Xn (iid) có hàm phân phối uniform U (a, b). Cần tìm posterior distribution và Bayes estimator cho (a, b) với giả thiết natural conjugate prior và loss function là squared loss function.
    Em nghĩ bài toán này rất cơ bản, nhưng không hiểu sao cứ loay hoay mãi. Đầu tiên là với 2 tham số (a, b) thì natural conjugate prior của nó là gì?
    Anh Hưng hoặc anh Long có thể gỡ rối giúp em được không?

  23. HaThuyAnh
    Posted 12/12/2010 at 10:47 am | Permalink

    Anh Hưng à, khi tôi vào đây http://www.uri.edu/ thì nhìn thấy đoạn video về BioMedical Engineering, trong đó có 1 nữ Engineering Professor trông rất xinh. Lòng dạ rối bời, muốn biết thêm thông tin về sự khác biệt giữa engineering professor với Acsociate Prof, full prof.

  24. My
    Posted 03/01/2011 at 12:45 am | Permalink

    Tôi cần gõ công thức toán vào văn bản Docx để gửi bài cho Elsevier. Elsevier sẽ tự động chuyển sang PDF.

    Tôi gõ bằng Scientific Word (LaTeX) rồi convert sang RTF rồi copy vào Docx. Nhưng khi nó tự chuyển sang PDF thì phần công thức bị loạn font. Có cách nào để sửa không hả các bác, chẳng lẽ lại phải gõ lại. Mà tôi cũng chẳng biết dùng cái gì gõ lại để đảm bảo khi Elsevier convert thì ra đúng font nữa. Tôi không được can thiệp vào install phần mềm vì dùng máy tính ở trường.

    Mong các giáo sư giúp đỡ.

    • Posted 03/01/2011 at 8:50 am | Permalink

      Nếu cuối cùng là pdf thì bác nên dùng pdflatex dịch thẳng từ latex. Còn mấy cái chuyển 2, 3 lần thì tôi chịu thôi.

  25. Nguyen
    Posted 06/01/2011 at 8:09 pm | Permalink

    Em xin loi vi khong go duoc tieng Viet.

    Anh Hung cho em hoi, em dang dung Windows gio cai them openSUSE nua de lam viec tren Linux. Tuy nhien thinh thoang em van phai dung cac ung dung tren Windows (vi du chat, go van ban, dung power point…). Mot so phan mem cung ko co cho openSUSE hoac neu co thi khong tot. Thay vi cai 2 OS rieng biet em dinh cai Windows tren openSUSE, vay nen dung phan mem nao cho may ao (virtual machine)? Laptop cua em co Windows 7 cai san co ban quyen, vay neu cai Windows tren open SUSE thi co cach nao de cai lai ban Windows co ban quyen do khong?

    Mot van de nua la doi khi em muon vua chat vua lam viec, ma muon dung tinh nang Video Call cua YM. Hoac doi khi em muon vua dung Word hoac PP hoac 1 so phan mem tren Windows khac vua lam viec tren openSUSE (vi du de chuyen doi du lieu qua lai hoac de xem ket qua gi do). Co cach nao de thuc hien duoc viec do khong?

    Xin loi anh vi may cau hoi hoi ngo ngan.

    • Posted 14/01/2011 at 11:31 pm | Permalink

      @Nguyen, các câu hỏi không ngớ ngẩn đâu. Nhưng dạo này tôi chỉ dùng Mac, lâu lắm rồi không nghịch Windows hay Linux nữa. Hồi xưa thì hay re-patition ổ cứng để cài Win+Linux, dùng ParitionMagic.

    • chauluong
      Posted 16/01/2011 at 2:01 am | Permalink

      @Nguyen :
      Bạn có thể dùng VMware để setup OpenSuse.

  26. ThanhNT
    Posted 14/01/2011 at 9:45 pm | Permalink

    Xin chào cả nhà!
    Hiện em có bài toán dưới đây mà không biết cách giải hay thuật toán như thế nào cả. Rất mong được mọi người chỉ giúp ạ

    Cho 1 mảng A[i] gồm i=1,…,n, A[i] có giá trị nguyên >=0.
    giả sử ta muốn chia mảng trên thành m nhóm, mỗi nhóm có số phần tử là bằng nhau hoặc khác nhau.
    gọi giá trị của nhóm là tổng giá trị các phần tử trong nhóm.

    Hãy tìm ra m nhóm trên sao cho giá trị các nhóm là sát nhau nhất (trường hợp lí tưởng là giá trị m nhóm bằng nhau hết),
    và phần tử trong các nhóm phải ko được trùng nhau, toàn bộ số phần tử A[i] phải được phân bổ hết vào các nhóm ko được thiếu.

    Yêu cầu: cho nhập vào n,m và giá trị cụ thể từng A[i], mẫu sau:

    file input:
    n,m, A[1], A[2],…,A[n]

    file output: (có thể print ra màn hình)
    M1: A(1)x,A(5)y, K
    M2: A(2)x1,A(3)y1,A(4)z, K1

    Trong đó M là nhóm, A() là phần tử cụ thể, x,x1,y,y1,z là các giá trị của từng phần tử tương ứng ghi cạnh nó,
    K, K1 là giá trị nhóm (K=x+y, K1 = x1+y1+z, trường hợp lí tưởng K=K1)

    Vậy kính mong nhận được sự giúp đỡ của cả nhà.
    Chúc sức khỏe!

    Cảm ơn nhà mình……….

    ThanhNT

    • Posted 14/01/2011 at 11:29 pm | Permalink

      @ThanhNT, xem bài này.

      • ThanhNT
        Posted 14/01/2011 at 11:42 pm | Permalink

        @Anh Hưng:
        Cảm ơn anh về tài liệu đó, nhưng mà vẫn khó khó với em :(

  27. Posted 21/01/2011 at 9:40 am | Permalink

    Cho em hỏi cái này với, có vẻ thuộc vật lý nhiều hơn là tin:
    Em có một cái laptop(với 1 chương trình x ở trong đó) và một vài cái mô tơ, bây giờ em muốn dùng cái laptop để điều khiển tốc độ mô tơ thì phải cần thêm những linh kiện gì ?
    Chỗ em mới phát động cuộc thi kết làm robot dò đường, (luật chơi: http://www.mediafire.com/?6029vobadhp175n). Tương tự như làm chiếc xe hơi tự lái vậy! Em thấy về vấn đề lập trình thì có thể làm được, thiết kế cũng có thể làm được, chỉ còn vấn đề liên kết giữa máy tính và động cơ! Không biết thầy Hưng đã làm cái này bao giờ chưa!

  28. Lê Anh Tuấn
    Posted 07/02/2011 at 3:41 am | Permalink

    Kính gửi các anh/chị tiền bối!

    Em muốn học lại toàn bộ hệ thống kiến thức toán của bản thân cho nó qui củ hơn. Chả là ở đại học
    do quá lười nên kiến thức toán không đến đầu đến đuôi. Nhưng hiện tại em gặp
    vấn đề với môn analysis mong các anh chị cho em lời khuyên. Em định học
    giải tích theo các notebook của nhóm Bourbaki viết và series Pure and Applied Mathematics của J.DIEDONNE, nhưng qua tìm hiểu em thấy có
    nhiều chỉ trích trường phái formalism mathematic nên em lại thấy băn khoăn quá.

    Vì vậy em xin các anh/chị cho em lời khuyên là nên học giải tích theo notebook nào(em muốn theo hướng pure về toán và từ element trờ lên)?

    Em xin được chân thành cảm ơn trước!

    • Posted 07/02/2011 at 4:43 pm | Permalink

      Chào Tuấn, bạn có thể thử quyển này. Tôi thì rất thích một quyển sách cũ của Hardy. Tôi không có chuyên môn về đề tài này. Bạn hỏi các forum Toán xem.

  29. Posted 26/02/2011 at 9:15 pm | Permalink

    Anh Hưng ơi, ở bài “Chung qui chỉ tại Cantor (3)” em có hỏi 2 câu về bài toán dừng đó anh. Hi vọng được anh Hưng hoặc ai đó trả lời giùm!

  30. Thong
    Posted 17/03/2011 at 6:53 am | Permalink

    Chào anh Long,
    Clustering bằng Dirichlet Process so với bằng Reversible jump MCMC thì khác nhau như thế nào ạ? Mong được anh chỉ dẫn. Cảm ơn anh rất nhiều ạ.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>