Chào thầy và các bạn!
Mình làm demo phân mảnh dọc thế này có ổn không. Các bạn kiểm tra giúp mình với nhé. Tiểu luận môn học chừng này đã đủ chưa vậy.
Các bạn thông tin gì mới thì share cho mình với nhé.
Chúc thầy cùng các bạn hạnh phúc thành công trong cuộc sống
<a href=‘http://www.mediafire.com/?cfowa19ge66w2ta’ target=‘_blank’>http://www.mediafire.com/?cfowa19ge66w2ta</a>
<a href=‘http://www.mediafire.com/?cfowa19ge66w2ta’ target=‘_blank’>Demo phan manh doc</a>
Trân trọng!
Chào các bạn. Hôm học về phân mảnh dọc mình không đến lớp được, nghe file ghi âm bài giảng của Thầy và đọc tài liệu nhưng vẫn chưa hiểu được cái Ma Trận Ái Lực. Mình đưa ví dụ trong tài liệu vào đây, nhờ các bạn chỉ giúp cách tính nhé!
Giả sử rằng refi(qk)=1 cho tất cả qk và Si và tần số ứng dụng là:
acc1(q1) = 15 acc2(q1) = 20 acc3(q1) = 10
acc1(q2) = 5 acc2(q2) = 0 acc3(q2) = 25
acc1(q3) = 25 acc2(q3) = 25 acc3(q3) = 25
acc1(q4) = 3 acc1(q4) = 0 acc3(q4) = 0
Tính được ma trận ái lực thuộc tính:
A1 A2 A3 A4
A1 45 0 45 0
A2 0 80 5 75
A3 45 5 53 3
A4 0 75 3 78
Đoạn sau thì hiểu, nhưng công thức tính Ma tran ai luc trong tài liệu photo mờ quá nên pó tay. Rất mong các bạn chỉ giúp.
Cám ơn rất nhiều!
Chúc lớp mình ôn tập tốt! <!–emo&:)–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/smile.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘smile.gif’ /><!–endemo–> !
Mình hiểu rồi! Cám ơn bạn Hòa nhiều nhé!
Chào bạn Kim Dung,
Công thức tính các phần tử của ma trận ái lực thuộc tính AA là tính độ đo ái lực
aff(Ai,Aj).
- Ma trận AA là ma trận đối xứng nên ta chỉ cần tính các phần tử của ma trận tam giác trên.
- Giả sử ref(qk) = (access / execution) = 1 với mọi sites Si và mọi truy vấn qk thì
aff(Ai,Aj) = Tổng các truy vấn qi cùng truy cập đến các thuộc tính Ai và Aj của Tổng các tần số truy cập của truy vấn đó tại tất cả các sites
ex: aff(A2,A3) = ?
theo ma trận use(qi,Aj) ta có q2 cùng truy cập đến A2 và A3 và theo ma trận tần số truy cập tại các site ta có Tồng các tần số truy cập của q2 tại tất cả các site là :
5 + 0 + 0 = 5. ( bạn nhập sai tài liệu ghi acc3(q2) = 0
Do đó aff(A2,A3) = 5.
ex: affA2,A2) = ?
theo ma trận use(qi,Aj) ta có 2 truy vấn truy cập đến A2 là q2 và q3 và theo ma trận tần số truy cập tại các site ta có Tồng các tần số truy cập của q2 tại tất cả các site là 5 + 0 + 0 = 5 và Tồng các tần số truy cập của q3 tại tất cả các site là 25 + 25 + 25 = 75 nên :
affA2,A2) = 5 + 75 = 80
Tuy nhiên, Thầy có hướng dẫn các dễ hơn là ta lập ma trận tam giác truy vấn liên kết thuộc tính có cột và hàng giống như ma trận AA nhưng các giá trị của ma trận này là các truy vấn qi ( có truy cập đến hai thuộc tính tương ứng )
//// A1 || A2 || A3 || A4
A1 q1 || 0 || q1 || 0
A2 //// || q2,q3 || q2 || q3
A3 //// || //// || q1,q2,q4 || q4
A4 //// || //// || /// || q3,q4
( căn cứ vào ma trận use ta lập được ma trận này )
Sau đó thay các qi bằng tổng các tần số truy cập của nó tại các sites là có được ma trận AA.
Cách của thầy là tách hai tổng trong công thức tính aff riêng ra giúp ta thực hiện bằng tay dễ dàng hơn.
Chào
Giao diện chương trình của Thắng đẹp đấy chứ!
Vậy là 4/5 lớp mình chọn phân mảnh dọc làm tiểu luận và mình nghĩ hầu hết mọi người đã hoàn thành bản Demo.
Có viết báo cáo nữa là ok rồi!
Chúc mừng nhé! <!–emo&:P–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/tongue.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘tongue.gif’ /><!–endemo–>
Chào Thắng! mình đã test thứ dữ liệu của thầy nhưng không ra kết quả cuối cùng, không biết mình nhầm lẫn hay do thuật toán của Thắng có gì mới mẻ và tiến bộ hơn, mình chưa nhìn ra điều đó. Giải thích được không?
Sorry hồi này nhập sai ma trân USE giờ kiểm tra lại thầy chạy ok rồi,
Chương trình cho nhập dữ liệu rất chặt chẽ==> Ok rồi đó, chúc mừng nha!
Nhất trí với ý kiến của các bạn góp ý. Hôm trước mình mới viết nên chưa hoàn chỉnh chương trình. Cho đến khi nộp đề tài mình nghĩ sẽ cài đặt thêm phân mãnh ngang với 2 thuật toán đã học nếu có đủ thời gian. Mình cũng rất bận nền không học được nhiều như các bạn.
Cảm ơn các bạn đã góp ý cho mình. Chúc thành công và hạnh phúc.
Trân trọng!
Chào Hùng!
Khi tìm đến CA thì mình chọn khóa là cột 1 làm khóa. Vẫn biết cách làm này chưa hay nhưng ai có cách khác không.
Khi tìm duoc CA mình làm như sau: A1,A3, A2, A4 mình lấy thứ tự xét A1 với các tập còn lại, A1,A3 với tập còn lại, A1,A3,A2 với tập còn lại. Sau đó cứ xét từ từ như thầy hướng dẫn.
Mà thấy chưa đúng lắm thì phải.
Dear các bạn!
Các bạn àh. Mình đang làm phân mảnh ngang. Cách tiếp cận như sau.
Từ ví dụ cụ thể nhỏ mình phân tích thành các vị từ đơn giản. Lưu file text sau đó load lên rồi chạy thử theo thuật toán. Như thế có ổn không. Vì nếu như thế tất cả các vị từ đơn giản mình đề phải làm bằng tay. Không tự động được công đoạn đó. Chủ yếu là kiểm tra thuật toán. Có ai có cao kiến gì không.
Trân trọng!
Hi Thắng,
Chúc mừng bạn đã có bản demo. Mình có góp ý nhỏ:
- Đối với tập TA, BA Thắng có thể bỏ tập thuộc tính khoá ra ngoài
- Nếu tập TA, BA cho kết quả tôi ưu
Thank
Vinh
Hi <!–emo&:D–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/biggrin.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘biggrin.gif’ /><!–endemo–> không biết lớp mình bao nhiêu người làm phân mảnh dọc đây ta, hình như những ngôn ngữ lập trình thông dụng nhất đều đã được đem ra sử dụng để xử lý bài toán này rồi.
Góp ý với bạn Thắng : về thuật toán thì chắc không vấn đề gì vì test theo dữ liệu của thầy thì chạy đúng, vấn đề nhìn thấy là chương trình chỉ chạy được 1 lần, sau khi phân mảnh thì các nút bấm đều bị mờ hết, muốn nhập lại dữ liệu khác để chạy thì không được <!–emo&:(–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/sad.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘sad.gif’ /><!–endemo–> còn menu phía trên nữa, hình như bạn Thắng viết chưa hoàn chỉnh thì phải <!–emo&:rolleyes:–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/rolleyes.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘rolleyes.gif’ /><!–endemo–>
<!–QuoteBegin-CH0901049+4 Aug 2010, 05:30 PM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (CH0901049 @ 4 Aug 2010, 05:30 PM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–> Dear các bạn!
Các bạn àh. Mình đang làm phân mảnh ngang. Cách tiếp cận như sau.
Từ ví dụ cụ thể nhỏ mình phân tích thành các vị từ đơn giản. Lưu file text sau đó load lên rồi chạy thử theo thuật toán. Như thế có ổn không. Vì nếu như thế tất cả các vị từ đơn giản mình đề phải làm bằng tay. Không tự động được công đoạn đó. Chủ yếu là kiểm tra thuật toán. Có ai có cao kiến gì không.
Trân trọng! <!–QuoteEnd–> </td></tr></table><div class=‘postcolor’> <!–QuoteEEnd–>
Thắng làm xong phân mảnh ngang chưa ? up lên cho bà con tham khảo với <!–emo&:D–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/biggrin.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘biggrin.gif’ /><!–endemo–>
Khiêm làm xong sơ bộ rồi, cũng đã up lên, nhưng chạy vài lần lại phát hiện ra một số trường hợp mới chưa bao quát hết, phải sửa đi sửa lại hoài mà vẫn chưa thấy vừa ý <!–emo&:(–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/sad.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘sad.gif’ /><!–endemo–> Thắng và mọi người xem bên chủ đề demo phân mảnh ngang rồi cho Khiêm ý kiến với, đến giờ Khiêm vẫn chưa cho nhập trực tiếp giá trị so sánh được vì code phức tạp quá <!–emo&:(–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/sad.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘sad.gif’ /><!–endemo–>
Chương trình chạy tốt đó anh Thắng ơi. Cách nhập dữ liệu rất dễ dàng khi sử dụng. Cố lên viết báo cáo nữa là ok .
Thân