CreatZy IT Notes
Just some CreatZy notes about Information Technology
Thursday, December 22, 2011
DIKW
We store data, process information, learn knowledge, and apply wisdom to produce more data, more information, more knowledge, and more wisdom.
Wednesday, November 23, 2011
Friday, November 04, 2011
Structured Programming
- Control: No goto, let's drive the machine using control structures.
- Data: No pointer, let's handle data by encapsulating them into managed objects.
- Architecture: No loop (circular connection), let's arrange components into tunnelable layers encapsulated by refinable (abstract) interfaces .
- Concurrency: No sharing, let's communicate by passing messages between managed agents.
Tuesday, September 27, 2011
Unïnfo/Knowledge Theory
Uni-info --> Uniinfo --> Unïnfo (ï, 1 but 2, separated but united)
And add new slogans for the extreme boudaries of the theory:
Make invisible things visible
Make immeasurable things measurable
Make clear the unclearness, and
Prove the unprovability
And add new slogans for the extreme boudaries of the theory:
Make invisible things visible
Make immeasurable things measurable
Make clear the unclearness, and
Prove the unprovability
Wednesday, May 04, 2011
Don't test, don't try!
Don't test, don't try,
let's make sure we're doing right!!!
Condition testing --> state separation & state sync between components
Exception handling --> static constraints (pre/post condition)
let's make sure we're doing right!!!
Condition testing --> state separation & state sync between components
Exception handling --> static constraints (pre/post condition)
Friday, February 11, 2011
Xác suất - Lý thuyết của sự Không Chắc chắn!
Trong lý thuyết xác suất, "xác suất = 100%" được gọi là "HẦU chắc chắn", tức có vẻ chắc chắn chứ cũng chưa chắc chắn, cho nên không có một khẳng định nào trong lý thuyết xác suất tương đương với các khẳng định bên logic học (cổ điển, chỉ có đúng/sai) cả.
- Xác suất ~ thiếu thông tin
- Có điều kiện ~ có thông tin -> có thể làm ảnh hưởng xác suất TƯƠNG ĐỐI -> với bài toán quyết định thì nên tận dụng điều kiện mọi lúc, vì chỉ dựa trên xs tương đối. Còn với bài toán đo đạc (tổng xs) thì tùy trường hợp, nếu ĐK có XS thì chỉ ảnh hưởng khi XS đó đủ cao (ko phải 1 lần và mãi mãi), còn nếu không có XS thì phải dựa vào số lần hữu hạn (có thể) xảy ra ĐK đó đối với chủ thể. Cơ sơ ủng hộ niềm tin "tận dụng điều kiện mọi lúc" là xs toàn phần của mọi sự kiện trong điều kiện đều được nhân cho xs của đk (nếu có), nên xs tương đối cao hơn thì vẫn "tốt hơn".
- Định lý Bayes: đưa các nút điều kiện lên gần gốc của cây trường hợp (phân hoạch kgian xs) như tái sắp xếp của OBDD
- nếu đã theo 1 ĐK, vd "nghe thầy bói" hoặc "ở VN", thì (thường là) đã bị ảnh hưởng bởi ĐK đó, nên các quyết định khác cũng nên theo ĐK đó.
- ĐK thường khó / không thể lập mô hình xác suất --> cần kiến giải uniinfo cho xs để liên kết tốt hơn giữa đk và xs.
- Khi thông tin có, nhưng thiếu, và không thể lập mô hình XS, thì có 2 trường hợp:
+ Mô hình xs đều (ko ảnh hưởng qđịnh) + logic tương đối (trên các số đo khác xs) --> quyết định dựa trên logic đó
+ Mô hình xs KHÔNG ĐỀU + logic tương đối --> cần phải có ngôn ngữ chung (uniinfo) để đưa ra quyết định từ 2 nguồn info đó (có thể trái ngược, như Prisoner Dilemma).
- Luật số lớn & nguyên lý giới hạn trung tâm
- Bất chấp phân bố nguồn, phân bố nhận là random (đều & độc lập với nguồn) thì kết quả là random!
- Kiểm định là không thể; Kiểm định giả thiết, nhiều giả thiết ngầm
- Ngẫu nhiên, điều không thể kiểm định.
- Phân bố gì cũng đều hiểu được theo phân bố đều; Nhưng cái quan trọng hơn của "ngẫu nhiên xác suất" là ĐỘC LẬP, và cái khó nhất, lại thường dùng nhất là TỰ ĐỘC LẬP! TỰ ĐL là không thể kiểm định ngay cả trên lý thuyết --> buộc phải dùng semantics "thế giới song song"
+ Quan điểm frequentist: Khi đo Pr(E(X)) bằng thống kê trung bình của các X liên tiếp, thì khi áp dụng cho chuỗi không liên tiếp có thể hoàn toàn thay đổi, nhứt là với những X "hiếm". VD: với 50:50 đỏ:đen thì Pr(10 đen)=1/1000, nên khi 1 người trong 1 chuỗi không liên tục nhận được toàn 10 đen thì chẳng ảnh hưởng gì đến người khác (mỗi người chỉ trích 1 tí xs cho anh ta). VD chuỗi: 01234567890123456..., 5938264017(my rand)98607(x2)3619205847(x3)...
- Thực nghiệm của XS là ThKê, nhưng phải có "số lớn", nên các trường hợp SỐ NHỎ đều chỉ là "niềm tin":
+ Thuần niềm tin: Tần suất vẫn tính được trong trường hợp số nhỏ / số nhỏ
+ Không chắc chắn, nhưng trong "các thế giới song song" thì xác suất cao --> vẫn là xác suất, vẫn không chắc chắn, nhưng ở các siêu thế giới thì xác suất lại cao nữa, v.v.
- Thứ tự bốc thăm (trong n người)
- Bốc thăm cùng lúc / tuần tự
- Bài toán đặt cọc & xác suất thắng của cái.
- Monty Hall paradox: các xác suất của host
+ chọn mở thêm cửa hay ko
+ chọn mở cửa có / ko có xe --> cửa chọn đầu có xs toàn phần 1 -> 1/3
+ chọn mở cửa 2 / 3 --> cửa đổi (2) có xs đk 1 -> 1/2
+ chọn cho đổi cửa hay ko
* Nếu host không làm theo xác suất (ngẫu nhiên) mà theo chiến lược (xác định nhưng không cố định, như đếm từ 1 đến vô cùng) thì không thể tính được xs.
+ Dụ: Thứ tự chọn có ảnh hưởng?
- Frequentist(objective) v. Bayesian(subjective): Setting prob v. guessing prob.
+ Frequentist: must make sure the objective setting is random with testing. keep from completely depends on the (SELF) INDEPENDENCY.
+ Bayesian: "random" = "no info" --> subjective, can make real random by subjectively randomly guess.
- Bên đặt và bên nhận, chỉ cần 1 bên random thì kết quả trở thành random --> hỗ trợ quan điểm chủ quan của Bayes.
- Prob, Value, or Logic? Bài toán "Đánh bạc có bảo hiểm"
+ Khi có nhiều lần, E(X) có hiệu quả
+ Khi có 1 lần, Pr(X) có hiệu quả
+ Khi có ít lần, dùng logic để xét các ràng buộc (decision problem).
- Bài toán "Đánh bạc có bảo hiểm": Xs thắng:thua là 1:2 (1 red 2 black), đặt cược 1 thì thắng:thua 2:1 (zero-sum, E(X)=0). Bảo hiểm đóng mỗi lượt 1 thì trả cho thua:thắng được 2:0.
+ 2 lượt chơi:
* XS át giá trị: 1rr:2rb:2br:4bb --> 44:44 (như 50:50) là thua2:thắng1 chứ không phải "không thua không thắng"
* Logic: BH 1; Cược 1 - ( thua được 0 - cược 1 - thắng được 1 | thua được 0 ) | ( thắng được 1 - cược 2 - thắng được 4 | thua được 0)
+ chơi thoải mái:
* Cố định giá trị thì "huề"
* Chiến lược luôn thắng (chu kì trung bình 3): cược 2, thua cược 3, thua cược 5, thua cược 8, ... (Fibonacci), thắng được gấp đôi, tức lời đúng phần đặt, cược lại 2, thắng cược 4, thắng cược 8 (đã được tổng 12 từ khi cược lại), ... (2exp), thua chỉ mất lần cuối!, cược lại 2, ... Tuy nhiên không thể tránh nguy cơ phá sản: n:Fib:Prob = 1:2:67%, 2:3:44%, 4:8:20%, 9:89:3%
Lý thuyết v. Thực tế
- Lý thuyết XS: Biến ngẫu nhiên (phần output), phân bố ngẫu nhiên. Hoàn toàn toán học, không liên quan gì đến khái niệm "ngẫu nhiên", mà chỉ là trường hợp đặc biệt của lý thuyết độ đo! Kết quả "định lý số lớn", "định lý giới hạn trung tâm"
- XS-TK: Biến cố ngẫu nhiên, thử nghiệm / phép thử ngẫu nhiên, quá trình ngẫu nhiên, không gian mẫu (input của biến ngẫu nhiên), sự ngẫu nhiên! Các quan điểm frequentist và Bayes.
- Penney's game: xs có điều kiện giấu trong Thứ Tự!
+ Dụ: 3 sự kiện cùng xảy ra hay trước sau? 000 (toàn 0) khó xảy ra hơn 100? So sánh bắc cầu (a>b>c)
- Cẩn thận với xs liên tục, vì "mọi card.omega đều có thể map cho nhau", nghịch lý Bertrand.
- Lão Andrey Kolmogorov thật ghê gớm: xác suất, hỗn loạn, thông tin thuật toán!
- Xác suất ~ thiếu thông tin
- Có điều kiện ~ có thông tin -> có thể làm ảnh hưởng xác suất TƯƠNG ĐỐI -> với bài toán quyết định thì nên tận dụng điều kiện mọi lúc, vì chỉ dựa trên xs tương đối. Còn với bài toán đo đạc (tổng xs) thì tùy trường hợp, nếu ĐK có XS thì chỉ ảnh hưởng khi XS đó đủ cao (ko phải 1 lần và mãi mãi), còn nếu không có XS thì phải dựa vào số lần hữu hạn (có thể) xảy ra ĐK đó đối với chủ thể. Cơ sơ ủng hộ niềm tin "tận dụng điều kiện mọi lúc" là xs toàn phần của mọi sự kiện trong điều kiện đều được nhân cho xs của đk (nếu có), nên xs tương đối cao hơn thì vẫn "tốt hơn".
- Định lý Bayes: đưa các nút điều kiện lên gần gốc của cây trường hợp (phân hoạch kgian xs) như tái sắp xếp của OBDD
- nếu đã theo 1 ĐK, vd "nghe thầy bói" hoặc "ở VN", thì (thường là) đã bị ảnh hưởng bởi ĐK đó, nên các quyết định khác cũng nên theo ĐK đó.
- ĐK thường khó / không thể lập mô hình xác suất --> cần kiến giải uniinfo cho xs để liên kết tốt hơn giữa đk và xs.
- Khi thông tin có, nhưng thiếu, và không thể lập mô hình XS, thì có 2 trường hợp:
+ Mô hình xs đều (ko ảnh hưởng qđịnh) + logic tương đối (trên các số đo khác xs) --> quyết định dựa trên logic đó
+ Mô hình xs KHÔNG ĐỀU + logic tương đối --> cần phải có ngôn ngữ chung (uniinfo) để đưa ra quyết định từ 2 nguồn info đó (có thể trái ngược, như Prisoner Dilemma).
- Luật số lớn & nguyên lý giới hạn trung tâm
- Bất chấp phân bố nguồn, phân bố nhận là random (đều & độc lập với nguồn) thì kết quả là random!
- Kiểm định là không thể; Kiểm định giả thiết, nhiều giả thiết ngầm
- Ngẫu nhiên, điều không thể kiểm định.
- Phân bố gì cũng đều hiểu được theo phân bố đều; Nhưng cái quan trọng hơn của "ngẫu nhiên xác suất" là ĐỘC LẬP, và cái khó nhất, lại thường dùng nhất là TỰ ĐỘC LẬP! TỰ ĐL là không thể kiểm định ngay cả trên lý thuyết --> buộc phải dùng semantics "thế giới song song"
+ Quan điểm frequentist: Khi đo Pr(E(X)) bằng thống kê trung bình của các X liên tiếp, thì khi áp dụng cho chuỗi không liên tiếp có thể hoàn toàn thay đổi, nhứt là với những X "hiếm". VD: với 50:50 đỏ:đen thì Pr(10 đen)=1/1000, nên khi 1 người trong 1 chuỗi không liên tục nhận được toàn 10 đen thì chẳng ảnh hưởng gì đến người khác (mỗi người chỉ trích 1 tí xs cho anh ta). VD chuỗi: 01234567890123456..., 5938264017(my rand)98607(x2)3619205847(x3)...
- Thực nghiệm của XS là ThKê, nhưng phải có "số lớn", nên các trường hợp SỐ NHỎ đều chỉ là "niềm tin":
+ Thuần niềm tin: Tần suất vẫn tính được trong trường hợp số nhỏ / số nhỏ
+ Không chắc chắn, nhưng trong "các thế giới song song" thì xác suất cao --> vẫn là xác suất, vẫn không chắc chắn, nhưng ở các siêu thế giới thì xác suất lại cao nữa, v.v.
- Thứ tự bốc thăm (trong n người)
- Bốc thăm cùng lúc / tuần tự
- Bài toán đặt cọc & xác suất thắng của cái.
- Monty Hall paradox: các xác suất của host
+ chọn mở thêm cửa hay ko
+ chọn mở cửa có / ko có xe --> cửa chọn đầu có xs toàn phần 1 -> 1/3
+ chọn mở cửa 2 / 3 --> cửa đổi (2) có xs đk 1 -> 1/2
+ chọn cho đổi cửa hay ko
* Nếu host không làm theo xác suất (ngẫu nhiên) mà theo chiến lược (xác định nhưng không cố định, như đếm từ 1 đến vô cùng) thì không thể tính được xs.
+ Dụ: Thứ tự chọn có ảnh hưởng?
- Frequentist(objective) v. Bayesian(subjective): Setting prob v. guessing prob.
+ Frequentist: must make sure the objective setting is random with testing. keep from completely depends on the (SELF) INDEPENDENCY.
+ Bayesian: "random" = "no info" --> subjective, can make real random by subjectively randomly guess.
- Bên đặt và bên nhận, chỉ cần 1 bên random thì kết quả trở thành random --> hỗ trợ quan điểm chủ quan của Bayes.
- Prob, Value, or Logic? Bài toán "Đánh bạc có bảo hiểm"
+ Khi có nhiều lần, E(X) có hiệu quả
+ Khi có 1 lần, Pr(X) có hiệu quả
+ Khi có ít lần, dùng logic để xét các ràng buộc (decision problem).
- Bài toán "Đánh bạc có bảo hiểm": Xs thắng:thua là 1:2 (1 red 2 black), đặt cược 1 thì thắng:thua 2:1 (zero-sum, E(X)=0). Bảo hiểm đóng mỗi lượt 1 thì trả cho thua:thắng được 2:0.
+ 2 lượt chơi:
* XS át giá trị: 1rr:2rb:2br:4bb --> 44:44 (như 50:50) là thua2:thắng1 chứ không phải "không thua không thắng"
* Logic: BH 1; Cược 1 - ( thua được 0 - cược 1 - thắng được 1 | thua được 0 ) | ( thắng được 1 - cược 2 - thắng được 4 | thua được 0)
+ chơi thoải mái:
* Cố định giá trị thì "huề"
* Chiến lược luôn thắng (chu kì trung bình 3): cược 2, thua cược 3, thua cược 5, thua cược 8, ... (Fibonacci), thắng được gấp đôi, tức lời đúng phần đặt, cược lại 2, thắng cược 4, thắng cược 8 (đã được tổng 12 từ khi cược lại), ... (2exp), thua chỉ mất lần cuối!, cược lại 2, ... Tuy nhiên không thể tránh nguy cơ phá sản: n:Fib:Prob = 1:2:67%, 2:3:44%, 4:8:20%, 9:89:3%
Lý thuyết v. Thực tế
- Lý thuyết XS: Biến ngẫu nhiên (phần output), phân bố ngẫu nhiên. Hoàn toàn toán học, không liên quan gì đến khái niệm "ngẫu nhiên", mà chỉ là trường hợp đặc biệt của lý thuyết độ đo! Kết quả "định lý số lớn", "định lý giới hạn trung tâm"
- XS-TK: Biến cố ngẫu nhiên, thử nghiệm / phép thử ngẫu nhiên, quá trình ngẫu nhiên, không gian mẫu (input của biến ngẫu nhiên), sự ngẫu nhiên! Các quan điểm frequentist và Bayes.
- Penney's game: xs có điều kiện giấu trong Thứ Tự!
+ Dụ: 3 sự kiện cùng xảy ra hay trước sau? 000 (toàn 0) khó xảy ra hơn 100? So sánh bắc cầu (a>b>c)
- Cẩn thận với xs liên tục, vì "mọi card.omega đều có thể map cho nhau", nghịch lý Bertrand.
- Lão Andrey Kolmogorov thật ghê gớm: xác suất, hỗn loạn, thông tin thuật toán!
Monday, January 31, 2011
Emoticons have entered the Unicode! ;-)
In October 2010, the Unicode Standard version 6.0 standardized emoticons in the range [1F600, 1F64F]. From now on, the Unicode may include everything visualizable on the computer screen (^!^).
Saturday, January 15, 2011
Wednesday, June 09, 2010
Sans-serif
"Sans-serif" tức "không-chân", là họ các phông chữ có nét suôn như Arial, Tahoma, đối lập với các phông chữ có chân như Times (đang dùng trong blog này). Ý nghĩa thì đơn giản như vậy, nhưng nếu phân tích ra thì có nhiều điều quái lạ lắm ;)
- Pháp-Anh: Sans là từ tiếng Pháp nghĩa "không", còn serif lại là từ tiếng Anh nghĩa là "chân chữ".
- Phát âm? Nếu đọc theo tiếng Anh thì là "san se-rif", theo tiếng Pháp thì là "son sơ-rif". Còn mình hồi đó giờ thì đọc lai thành "san sơ-rif". Tuy nhiên mình thấy serif đọc là "sơ-rif" thì đúng hơn là "se-rif" vì có vẻ như chữ đó bắt nguồn từ tiếng Đức schreef!
Saturday, November 07, 2009
Chuyện Búi Chỉ
- Phần 1, Câu chuyện về những Sợi chỉ Cuộn tròn (The Story of Folding Threads): Tự thuở sơ khai, những con chữ, các ký tự nằm rời rạc nhau, chưa có ý nghĩa. Sau đó, chúng được ghép lại với nhau tạo thành từ, rồi nhiều từ nối tiếp nhau tạo thành câu, câu nối câu tạo nên đoạn văn, v.v. Từ khi được "xỏ xâu", những con chữ mới bắt đầu mang theo ý nghĩa. Nhưng những xâu ký tự đó cứ được sinh ra nhiều vô số, và cứ dài ra đến vô tận, không thể nào cất giữ được. Thế là người ta nghĩ cách "buộc túm" chúng tại với nhau thành 1 bó cho các phần giống nhau của các xâu chụm lại thành 1, và thế là ta có "cây". Như vậy là có thể "xách cả bó đi 1 lượt" được rồi. Nhưng chúng vẫn còn lòng thòng, và có những xâu dài đến gần như vô tận. Thế nên người ta lại nghĩ cách cuộn chúng lại cho gọn hơn, các bó (cây) con đồng dạng với nhau được ghép chung lại thành 1 cục, tạo nên trạng thái. Vậy là bó chỉ đó đã co lại thành một búi, gồm một mớ các trạng thái (nút) liên kết chằng chịt với nhau, gọi là máy trạng thái. Búi chỉ này đủ gọn để bỏ vào túi được rồi!
Tương tự như vậy, thưở sơ khai bên thế giới vật lý cũng có các điện tử lạc lõng rời rạc chưa làm nên tích sự gì. Từ khi con người biết "thổi" chúng vào thành một luồng (dòng điện) thì chúng mới phát huy tác dụng. Những dòng điện này được "cuộn tròn" lại tạo nên các trạng thái, những trạng thái độc lập khi đòng điện của chúng được khép kín. Người ta ghép rất nhiều trạng thái lại với nhau tạo thành máy tính, và cho nó một dòng điện để hoạt động. Dòng điện này đi tới đâu thì nối với dòng dòng điện khép kín của trạng thái tới đó, tương tác với nó, mở nó ra, và làm cho trạng thái thay đổi, tức chuyển trạng thái. Và dòng điện nuôi sống cỗ máy ấy cũng chính là luồng của sự sống! - Phần 2, Sự Tiến hoá của những Búi Chỉ (The Evolution of Thread Folds): Những búi chỉ ban đầu còn nhỏ gọn (bỏ túi được), nhưng càng ngày càng nở ra, càng trở nên hỗn độn bùi nhùi... Thế là người ta phải tách những phần đồng dạng đơn giản nhưng xuất hiện phổ biến ra thành các búi nhỏ, được gọi là dữ liệu (biến, bộ nhớ), và phần phức tạp còn lại được gọi là chương trình. Việc phân tách này đã làm giảm kích thước búi chỉ một cách đáng kể (theo cấp số nhân). Chương trình là búi chỉ bùi nhùi phức tạp nhất và giữ vai trò "đầu não" điều khiển những búi dữ liệu đơn giản hơn giữ vai trò "cơ bắp". Đến lượt mình, chương trình cũng phình to ra và đến khi có những phần lặp lại, nó lại bị tách ra thành các module, gọi là thủ tục / hàm.
Khi hệ thống phát triển thì không những chương trình mà dữ liệu cũng phải được module hoá, một mớ dữ liệu với một mớ hàm được đóng gói lại thành một module gọi là đối tượng. Và khi có nhiều luồng sống cùng tồn tại trên một tập hợp các đối tượng thì chúng lại bị phân hoá ra làm 2 loại: các sinh thể (đối tượng hữu tri, hay "chúng sanh" theo ngôn ngữ Phật) và các đối tượng vô tri (hay "vật thể"). - Bonus, Luồng (của sự) Sống (The Threads of Life): Luồng sống, luồng vận động, hay dòng thời gian là một khái niệm diễn tả sự sống. Ở mức trừu tượng nhất, nó là sự chuyển trạng thái. Nếu trạng thái là khái niệm tĩnh thì luồng sống là khái niệm động: Nó bắt đầu từ trạng khái khởi đầu và đi xuyên qua các trạng thái, đi tới đâu thì tạo nên sự chuyển trạng thái tới đó. Nhưng ranh giới động/tĩnh này chỉ có nghĩa khi ta xét phạm vi ngoài trạng thái. Chứ thực ra trong mỗi trạng thái đều có 1 luồng sống đang khép kín nằm ngủ, gọi là luồng sống nội tại. Khi cái luồng sống bên ngoài đến với mỗi trạng thái thì nó không làm gì khác ngoài việc mở vòng kín của luồng sống nội tại (đánh thức nó) và nối tiếp vào một đầu của nó. Khi đó, trạng thái "thức dậy" và hoà luồng sống của mình với luồng sống chung. Khi đầu kia của luồng sống thoát ra khỏi trạng thái và chuyển sang trạng thái khác thì ta có sự chuyển trạng thái, và trạng thái cũ "ngủ" trở lại với luồng sống nội tại khép kín của mình.
[from EducationalTrainingVideos]
--------------
Tham khảo:
- Các hình búi chỉ lấy từ 3-Dimensional Fiber Work by Tina Koyama
- Về protein: Protein Structure @ The Biotechnology Project, TANPAKU Project
Sunday, October 18, 2009
D* Framework & Knowledge Theory
Let's...
draw up your dreams, (D* Framework)
make invisible things visible,
and immeasurable things measurable! (Knowledge Theory)
"Distributed", another "D" for the D* to append to the list of Ds: Dynamic, Developed, Descriptive, Designable, Distributed, Determined, Direct, Durable, Definite,...
A specific theory for Software Development is no more needed! The Knowledge Theory will do the trick, in steads! ;) Knowledge Theory will enlighten every aspect, every corner of Software Development Processes: How much you lose and how much you gain when you throw
draw up your dreams, (D* Framework)
make invisible things visible,
and immeasurable things measurable! (Knowledge Theory)
"Distributed", another "D" for the D* to append to the list of Ds: Dynamic, Developed, Descriptive, Designable, Distributed, Determined, Direct, Durable, Definite,...
A specific theory for Software Development is no more needed! The Knowledge Theory will do the trick, in steads! ;) Knowledge Theory will enlighten every aspect, every corner of Software Development Processes: How much you lose and how much you gain when you throw
goto
away to shift to Procedural Programming, how much you lose/gain when you throw pointer away to shift to Object Oriented Programming, and how much you lose/gain when you throw shared memory away to shift to Thread Oriented Programming.
The Reduced Halting Problem
The original Halting Problem: There exists a decider H(,) such that for all program p and input x, H(p,x) decides whether p halts on x.
The reduced Halting Problem: For all program p and input x, there exists a decider H(,) such that H(p,x) decides whether p halts on x.
Is the reduced problem decidable?
The reduced Halting Problem: For all program p and input x, there exists a decider H(,) such that H(p,x) decides whether p halts on x.
Is the reduced problem decidable?
Thursday, June 18, 2009
EXP(), The Limit of Our Mind!?!
EXP(), ExplosiveXtremePower(), or usually named in the world of mathematics as exponent() is actually an interesting function:
Saturday, October 11, 2008
Mutex & Sync, A note for myself
- Mutex(actually, atomicity) & Sync complement each other (within the same boundary: either global or local)
- All mutex/sync tools (mutex, atomic claim, lock, semaphore, fence, barrier) have the same (simulation) power, and thus, CANNOT be built(simulated) without the hardware intrinsic atomicity.
- All sync can be simulated by async software model, but NO sync can be done(simulated) without the hardware intrinsic sync. Eg: the read, write ops; the "2-state lovers" problem.
* At the deepest meaning leavel, mutex/sync is only needed for INFORMATION RESERVATION!
- All mutex/sync tools (mutex, atomic claim, lock, semaphore, fence, barrier) have the same (simulation) power, and thus, CANNOT be built(simulated) without the hardware intrinsic atomicity.
- All sync can be simulated by async software model, but NO sync can be done(simulated) without the hardware intrinsic sync. Eg: the read, write ops; the "2-state lovers" problem.
* At the deepest meaning leavel, mutex/sync is only needed for INFORMATION RESERVATION!
Saturday, January 12, 2008
Petri Nets, an Interesting Discovery
The term "Petri Net" has come to my mind someday while I'm taking the course "Theory of Discrete-State Systems", but it had been so dim because I didn't attend the class the day Petri Net introduced. Later, when dealing with parallelism, I found that it will be much easier to represent "action activation", "event synchronization", and so on with the concept "transition" in Petri Net. And some other day, when I myself read the slides about introduction to Petri Net, I was strongly impressed by the thought that "Only equipped with an N (tokens), Petri Net has turned Finite Automaton to a universal machine, i.e. Turing-equivalent machine!" That idea came to me very naturally, since Turing Machine is different from Finite Automaton only in term "Finite", i.e. TM has infinite memory (equivalent to a natural number). But yesterday, in an attempt to simulate the "N-memory" using Petri Net, I faced a serious problem that Petri Net is incapable of expressing an important class of relations/operations: equivalence (x=y), negation (¬p). After struggling with the problem, I have found that Petri Net is "only one step next to heaven", and that "step" is to add the concept of "null token" or "transition priority". Before celebrating my "stunning result", I have done a search with Mr.Google and got some interesting things!
- Name of the game: The "Petri Net" I referred above is in fact, P/T Net, which stands for Place/Transition Net, but also Pe-Tri Net (to my mind)! In general, "Petri Nets" is a family of modeling frameworks including P/T Net's subtypes and P/T Net's extensions.
- More than making explicit: With explicit transitions, Petri Nets revive the notation of action in traditional flowchart, and make the interactions between concurrent processes much easier. With tokens, Petri Nets do not only make the instruction pointer(or instruction pointers in non-deterministic/parallel models) explicit, but also give means to represent resources as well as memories.
- The lack in expresiveness: P/T Net can simulate an N-memory NM, with inc(NM), dec(NM), NZero(NM), but Zero(NM). Using enabling property of transitions, we can define a Boolean logic with p⋀q, p⋁q, but ¬p. I have tried to combine parallel P/T Net components using "connectors"(extra nets) and preserve the pre-built structure of those components, i.e. without "splitting stransitions"(or transitions). But I failed because without not, or cannot be converted to and.
- One step to heaven: To be Turing-equivalent, P/T Net needs only one of these extensions:
- Zero-testing/Inhibitory arcs, i.e. "not" arcs: Those arcs with a circular mark (inhibitor) at the transition end will enable the connected transitions only if the source place is empty. Normal arc: ○→☐, Inhibitory arc: ○―◦☐.
- Transition priority: If both enabled, the transition with higher priority will be fired. This will solve the "conflict" in firing, and makes the choice between transitions more deterministic (it is still non-deterministic between transitions with equal priority).
- Batch processing arcs: These arcs will process all token(s) in source places at once! This is proposed by some Japaneses in Modeling power of Petri nets with batch processing arcs, IEIC Technical Report.
- Anti-places: If a place P is bounded m(P) ≼ M(P), we can construct an anti-place P- of P such that m(P-) = M(P) - m(p).
Wednesday, January 09, 2008
Một chứng minh xây dựng tuyệt vời cho Bài toán Dừng
Chẹp chẹp chẹp! Hay thiệt là hay!
Mới có hơn một tháng mà khi mình quay lại thì thấy Wikipedia đã chuyển cách chứng minh bài toán dừng từ Phản chứng sang Lập luận Đường chéo! Chứng minh bằng phản chứng vốn không được "xây dựng" cho lắm, trong khi lập luận đường chéo (chính thống) thì "có vẻ" xây dựng hơn nhiều. "Có vẻ" ở đây là nhiều khi những điều kiện tiền đề của lập luận có ẩn chứa việc "phán" một cách không xây dựng, ví dụ "tiên đề lựa chọn".
Tìm kiếm trên mạng, mình toàn thấy những "chứng minh đường chéo... giả" mà thôi. Chẳng qua chỉ là những chứng minh bằng phản chứng rồi tưởng tượng ra một đường chéo nào đó chứ chẳng liên quan gì đến lập luận đường chéo gốc của Cantor (hoàn toàn không dùng phản chứng). Còn chứng minh trên Wikipedia, vốn được lấy từ chứng minh của peter_douglass trên sci.logic, thì chính xác là lập luận đường chéo theo kiểu của Cantor. Và hơn thế nữa, nó hoàn toàn xây dựng chứ không ẩn giấu những tiền đề không xây dựng như tiên đề lựa chọn. Nó tránh được tiên đề lựa chọn là vì tập hợp các chương trình dừng (tương ứng với hàm tính được) là một tập hợp liệt kê được, nên mỗi một phần tử trong bảng giá trị đều có thể được chỉ ra (xây dựng) bởi một chương trình (thuật toán) cụ thể.
Mới có hơn một tháng mà khi mình quay lại thì thấy Wikipedia đã chuyển cách chứng minh bài toán dừng từ Phản chứng sang Lập luận Đường chéo! Chứng minh bằng phản chứng vốn không được "xây dựng" cho lắm, trong khi lập luận đường chéo (chính thống) thì "có vẻ" xây dựng hơn nhiều. "Có vẻ" ở đây là nhiều khi những điều kiện tiền đề của lập luận có ẩn chứa việc "phán" một cách không xây dựng, ví dụ "tiên đề lựa chọn".
Tìm kiếm trên mạng, mình toàn thấy những "chứng minh đường chéo... giả" mà thôi. Chẳng qua chỉ là những chứng minh bằng phản chứng rồi tưởng tượng ra một đường chéo nào đó chứ chẳng liên quan gì đến lập luận đường chéo gốc của Cantor (hoàn toàn không dùng phản chứng). Còn chứng minh trên Wikipedia, vốn được lấy từ chứng minh của peter_douglass trên sci.logic, thì chính xác là lập luận đường chéo theo kiểu của Cantor. Và hơn thế nữa, nó hoàn toàn xây dựng chứ không ẩn giấu những tiền đề không xây dựng như tiên đề lựa chọn. Nó tránh được tiên đề lựa chọn là vì tập hợp các chương trình dừng (tương ứng với hàm tính được) là một tập hợp liệt kê được, nên mỗi một phần tử trong bảng giá trị đều có thể được chỉ ra (xây dựng) bởi một chương trình (thuật toán) cụ thể.
Monday, December 17, 2007
Lý thuyết của các Lý thuyết!
Ê hê, mình thích khoa học từ bé, nên đã sớm đụng đến cái "khoa học của các khoa học" là Triết học. Ấy vậy, tuy nghiên cứu lý thuyết cũng khá lâu rồi mà mình không biết đến cái gọi là "lý thuyết của các hệ thống lý thuyết"!
Chẹp chẹp... dạo này nghiên cứu lý thuyết "nặng" quá (formal methods), nên mặc dù không muốn cũng vẫn phải rờ tới cái tên Lô-gíc! Hôm trước vừa mới nêu ra "Tiên đề Phân biệt", thế mà không ngờ ngay hôm sau đã bắt gặp cái món "Lô-gíc Trực giác"(Intuitionistic logic) không chấp nhận "luật phủ định giá trị thứ ba". Tuy nhiên, mình thấy đây cũng không hẳn là cái mình muốn. Eo ơi, đụng đến lô-gíc thì có đủ loại lô-gíc, thiệt là kham hỏng nổi!
Hờ, dẫu sao thì mình cũng có vẻ là người của chủ nghĩa xây dựng (Constructivism)...
Chẹp chẹp... dạo này nghiên cứu lý thuyết "nặng" quá (formal methods), nên mặc dù không muốn cũng vẫn phải rờ tới cái tên Lô-gíc! Hôm trước vừa mới nêu ra "Tiên đề Phân biệt", thế mà không ngờ ngay hôm sau đã bắt gặp cái món "Lô-gíc Trực giác"(Intuitionistic logic) không chấp nhận "luật phủ định giá trị thứ ba". Tuy nhiên, mình thấy đây cũng không hẳn là cái mình muốn. Eo ơi, đụng đến lô-gíc thì có đủ loại lô-gíc, thiệt là kham hỏng nổi!
Hờ, dẫu sao thì mình cũng có vẻ là người của chủ nghĩa xây dựng (Constructivism)...
Friday, November 30, 2007
The Implied Axioms of Science
When a child and first time heard of "logic", I was so amazed, and somehow amused, by the way they use only 2 values TRUE/FALSE; and later by the 2 values ZERO/ONE in computing, too. "How can it be?", I wondered. Why is any thing must either true or false? Why can't they be somehow-true-somehow-false, like "30% true"? Why don't we do computation with real numbers like 1.2315, but only with 0 and 1?
When studied about the Theory of Computation and first met the Diangonal Argument, I was surprised about its strength, but soon get more surprised with the way Cantor choosed an element out of an arbitrary set! I thought that if we donot know the underlying structure, or if we cannot assign any structure to a set, how can we "pick something up" from that set, while a set is simply a "bag" and no more.
- ➠ Axiom of Choice
- Cannot be satisfied with the simple explaination "Because we defined it, we can choose something from it!", I've searched for the definition of set. The rationale of my dissatisfaction is that if we can choose, then other actions like sorting must be able, but no one allows that, they just give a special allowance to the "choosing" action! Then, at last I've found that the "right to choose" is no more than an axiom! People accept it just because they feel it axiomatic!
- ➟ Axiom of Separation
- Even though there is no axiomatic system for the whole science, but for science to be "clear" and "precise", all scientists presume that "A" and "not A" are always distinct, i.e. we can always separate things into one side and the other side. It sounds self-evident, but if we kick the word "of course" out of our mind, we can see that this separation is no more than an axiom.
Saturday, July 14, 2007
Simple Vs Complex
There are some things look simple but actually very complex, some problems can be simply stated but so complicated to be solved, some games have simple rules and equipment but no simple way to win ;)
Long time ago, when first meeting Chaos, I have had a great impression on the "Fishes in pond" problem; Now, more admiration has been rised in me when I met the Conway's Game of Life and the Go game!
Long time ago, when first meeting Chaos, I have had a great impression on the "Fishes in pond" problem; Now, more admiration has been rised in me when I met the Conway's Game of Life and the Go game!
- Simple forumlae Vs Chaotic results: Logistic map is a very simple model of "Population of fishes in a pond" which is based on only 2 factors
(1) Reproduction:next year's population ~ this year's population
, and
(2) Starvation:next year's population ~ (pond's limit - this year's population)
but results in a fantastic chaos! - Simple rule set Vs Universal behavior: Conway's Game of Life is a very simple model of "Living population" which is defined by only 4 trivial rules
(1) Survival:One cell will continue to live if there are 2 or 3 living neighbour cells
,
(2,3) Death:One cell will die if there is less than 2 or more than 3 living neighbour cells (because of isolation/overpopulation)
, and
(4) Birth:One cell will be born in an empty square if that square is surrounded by exactly 3 living cells
.
However, with appropriate initial seeds, this population can grow and form various types of "living body". Moreover, this "cellular automaton" is equally powerful as a (2D-tape) Turing machine, thus universal! - Simple games Vs Intractable solutions: Go, 圍棋/囲碁, literally "encirclement chess", is one of the oldest board game on earth which is equipped with only a board with many stones of black and white. The play rules are simply about how to "
surround the opponent's stones to capture them
", which you can learn in minutes, but knowing the rules is nothing about knowing how to play! After a few trials, you will soon discover that there are countless patterns and strategies for players to learn, that the shape of stones on the board is so chaotic and ever-changing, 千変万化, "thiên biến vạn hoá"!!! Moreover, the philosophy of Go is about the whole universe, about the life and death, is about the endless force of the empty, is that "everything is generated from the nothing!" This game, Go, is far more difficult than the common Chess as well as other similar chesses(Xiangqi/象棋, Shogi/将棋):
- "While the strongest computer chess software has defeated top players (Deep Blue beat the world champion in 1997), the best Go programs routinely lose to talented children." - Wikipedia
- "While the Baroque rules of Chess could only have been created by humans, the rules of Go are so elegant, organic, and rigorously logical that if intelligent life forms exist elsewhere in the universe, they almost certainly play Go." - Edward Lasker
This game is actually "A few moments to learn, a lifetime to master!" (Chinese proverb)
Tuesday, April 24, 2007
Led or El-ee-dee? Star or Asterisk?
GUI / G-U-I
LED / L-E-D
char / kar
SeQueL / S-Q-L
.PiNG / .-p-n-g
.wav / (.-w-a-v)
... / ...?
Which spellings are correct? It depends on your society: While Americans spell GUI /gui/, Japaneses spell /dʒi-ju-ai/; While Vietnameses spell LED /led/, Americans spell /el-i-di/; While Vietnameses in general and I in particular and also some Americans spell Char(type) /tʃar/, some others spell /kar/; And so on...
Not only abbreviations, but the symbols(marks) under your fingertips (on your keyboard) are also spelled in many different ways:
Table of Spellings of Symbols on Computer Keyboard
Notes:
LED / L-E-D
char / kar
SeQueL / S-Q-L
.PiNG / .-p-n-g
.wav / (.-w-a-v)
... / ...?
Which spellings are correct? It depends on your society: While Americans spell GUI /gui/, Japaneses spell /dʒi-ju-ai/; While Vietnameses spell LED /led/, Americans spell /el-i-di/; While Vietnameses in general and I in particular and also some Americans spell Char(type) /tʃar/, some others spell /kar/; And so on...
Not only abbreviations, but the symbols(marks) under your fingertips (on your keyboard) are also spelled in many different ways:
Table of Spellings of Symbols on Computer Keyboard
Notes:
- CAPITALIZED: The prefered pronunciation of Unicode Consortium and/or the Pronunciation Guide for ASCII Characters
- Plus(+) endded: "new" to me!
- Italic: Somehow interesting, like pictographic
SPACE, blank, ghost+ | (Khoảng) cách, khoảng trống, khoảng trắng | |
! | EXCLAMATION MARK, wow+, hey+, bang+, boing+ | Chấm than, chấm cảm, chấm nhểu |
" | double quote, QUOTATION MARK, dirk+, literal mark+, rabbit ears+ | Nháy kép, nháy nháy, ngoặc kép |
# | NUMBER SIGN, sharp, (garden) fence, hash+, mesh+, CROSSHATCH, mask, pig-pen, pound sign | Thăng, rào |
$ | DOLLAR SIGN, buck, milreis+, escudo+ | Đô-la |
% | PERCENT SIGN, mod+ | Phần trăm |
& | and, AMPERSAND, andpersand, snowman+ | Và |
' | QUOTE, single quote, APOSTROPHE, tick, prime, irk+, pop+, spark, glitch+ | Nháy (đơn), ngoặc đơn |
() | PARENTHESES, parens, round brackets, bananas+, ears+, bowlegs+ | Ngoặc (tròn) |
( | open paren, LEFT PARENTHESIS, parenthesee+, sad+ | Mở ngoặc (tròn) |
) | close paren, RIGHT PARENTHESIS, unparenthesee+, already+, wax+, happy+ | Đóng ngoặc (tròn) |
* | star, ASTERISK, splat+, spider+ | Sao, hoa thị |
+ | PLUS SIGN, plus, add, cross+ | Cộng |
, | COMMA, tail+ | Phẩy, phết |
- | MINUS (sign), HYPHEN, dash, negative (sign), worm+ | Trừ, gạch ngang, gạch nối |
. | dot, PERIOD, spot, full stop | Chấm |
/ | SLASH, stroke, over, slant+, SOLIDUS+, diagonal+, slat+, slak+ | Xuyệc, xược, Xẹt, (gạch) chéo |
: | COLON, two-spot, double dot | Hai chấm |
; | SEMICOLON, semi, hybrid+ | Chấm phẩy, chấm phết |
<> | ANGLE BRACKETS, pointy brackets, angles, widgets+, funnels+, brokets+ | Ngoặc nhọn |
< | LESS-THAN SIGN, open angle (bracket), open tag | Nhỏ (hơn), Mở ngoặc nhọn |
> | GREATER-THAN SIGN, close angle (bracket), close tag | Lớn (hơn), Đóng ngoặc nhọn |
= | EQUAL SIGN, equal(s) | Bằng |
? | QUESTION MARK, whatmark, hook, query+, huh+ | (Chấm) hỏi |
@ | AT SIGN, at, COMMERCIAL AT, whirl, whirlpool, vortex+, cyclone+, snail+, cat+, monkey (tail)+, each+ | A vòng, a còng, a móc, a thương mại |
[] | BRACKETS, SQUARE BRACKETS, U-turns+, edged parentheses+ | Ngoặc vuông |
[ | LEFT BRACKET, LEFT SQUARE (BRACKET), bracket, bra+ | Mở (ngoặc) vuông |
] | RIGHT BRACKET, RIGHT SQUARE (BRACKET), unbracket, ket+ | Đóng (ngoặc) vuông |
\ | BACKSLASH, backslant, backwhack+, backslat+, REVERSE SOLIDUS+, reversed virgule+, bash+ | Xuyệc ngược, xược ngược, xẹt ngược, sổ ngược, chéo ngược |
^ | (top)hat, cap, uphat, CIRCUMFLEX (ACCENT), party hat, housetop+, caret, carrot+, hiccup+ | Mũ, Ô |
_ | underline, underbar, UNDERSCORE, LOW LINE, flatworm+ | Gạch dưới |
` | backquote, backprime, GRAVE (ACCENT), unapostrophe, backspark+, birk+, blugle+, backtick, push+, backglitch+, backping+ | Huyền, nháy ngược |
{} | BRACES, curly braces, squiggly braces+, CURLY BRACKETS, squiggle brackets+ | Ngoặc móc |
{ | LEFT BRACE, LEFT/OPEN CURLY BRACKET, leftit+, embrace+, openbrace | Mở (ngoặc) móc |
} | RIGHT BRACE, RIGHT/CLOSE CURLY BRACKET, rytit+, unbrace+, uncurly+, bracelet+ | Đóng (ngoặc) móc |
| | VERTICAL BAR/LINE, tube, whack+, gutter+, wall+ | Gạch đứng |
~ | TILDE, wave, twiddle, tilda+, tildee+, squiggle+, swung dash+ | Ngã, sóng |
Subscribe to:
Posts (Atom)