PHÂN TÍCH MẠNG XÃ HỘI DÙNG CÔNG NGHỆ WAVE VÀ ỨNG DỤNG TÌM KEY PLAYER - Pdf 26

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH
MÔN CƠ SỞ DỮ LIỆU NÂNG CAO
Đề tài:
PHÂN TÍCH MẠNG XÃ HỘI DÙNG CÔNG NGHỆ WAVE
VÀ ỨNG DỤNG TÌM KEY PLAYER
Giảng viên hướng dẫn: PGS. TS. Đỗ Phúc
Học viên thực hiện: Phạm Ngọc Giàu
Mã số học viên: CH1101080
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
TP. Hồ Chí Minh - 2012
Mục lục
Mục lục 3
MỞ ĐẦU 4
CHƯƠNG 1: MẠNG XÃ HỘI VÀ CÁC BÀI TOÁN LIÊN QUAN 6
1.1 Lịch sử mạng xã hội 7
1.2 Đặc điểm mạng xã hội ảo 8
1.3 Một số bài toán đối với mạng xã hội 10
CHƯƠNG 2: NGÔN NGỮ WAVE 14
2.1 Giới thiệu về ngôn ngữ Wave 14
2.2 Node, Link và Không gian phân tán : Knowledge Network 14
2.3 Cấu trúc của ngôn ngữ Wave 16
2.4 Cấu trúc dữ liệu cơ bản của Wave 17
Biến Spatial và kiểu 17
Task variables 18
Environment variables 18
2.6 Các hành động 18
2.6.1 Control acts 18
2.6.2 Fusion acts: Các phép toán hợp nhất 20
2.7 Rules – Các luật trong Wave 21

Tính closeness centrality (A* search algorithm ) 58
Tính Clustering Coefficient (Hệ số cụm) 59
Tìm key player: 60
4.4 Chương trình 61
Một số giao diện chính chương trình: 61
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
MỞ ĐẦU
Ngày nay, sự phát triển của công nghệ thông tin nói chung và kiến trúc mạng nói riêng
đã và đang đạt được những bước tiến nhất định. Công nghệ thông tin đang dần được
đưa vào ứng dụng trong mọi lĩnh vực của cuộc sống, từ việc điều khiển các thiết bị
một cách tự động, hỗ trợ hoạt động kinh doanh, sản xuất của con người, cho đến việc
giả lập chính xã hội loài người – mạng xã hội.
Mạng xã hội ra đời đã trở thành một trào lưu mới trong mọi tầng lớp sử dụng máy tính
và Internet làm công cụ giao lưu, tìm kiếm tri thức. Mạng xã hội giúp thu hẹp khoảng
cách giữa người với người, góp phần biến thế giới mà chúng ta đang sinh sống trở
thành một “thế giới phẳng”. Với khả năng kết nối, chia sẻ thông tin một cách dễ
dàng, mạng xã hội dần trở thành một kho kiến thức khổng lồ. Và từ đây, nhu cầu tìm
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 4
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
kiếm, phân tích lượng thông tin khổng lồ trong rất nhiều mạng xã hội đang tồn tại và
phát triển trở nên cần thiết hơn bao giờ hết.
Tuy thế, các công nghệ tìm kiếm hiện tại đứng đầu là Google đều chưa thể tận dụng
hết khả năng của mạng xã hội. Bởi lẽ mạng xã hội có cấu trúc rất mở, các thành phần
được gắn kết với nhau theo dạng quan hệ (một chiều, hai chiều) nên việc tìm kiếm
thông tin trên mạng xã hội phải làm việc ở mức phân tích quan hệ, tìm kiếm các đặc
điểm. Trong khi các cỗ máy tìm kiếm hiện thời vẫn chỉ tập trung vào tìm kiếm nội
dung thì có một công nghệ mới đang có những bước phát triển rất lớn lại có khả năng
phân tích, tìm kiếm dựa trên quan hệ, đó là công nghệ WAVE.
Công nghệ WAVE bao gồm bộ ngôn ngữ WAVE và bộ thông dịch chính ngôn ngữ đó.

cảm ơn các bạn bè học viên cùng lớp đã cùng thảo luận, nghiên cứu vấn đề này.
Học viên thực hiện
Phạm Ngọc Giàu
CHƯƠNG 1: MẠNG XÃ HỘI VÀ CÁC BÀI TOÁN LIÊN QUAN
Mạng xã hội, hay còn gọi là mạng xã hội ảo (social network) là một cấu trúc mang tính
xã hội tạo thành từ các nút (node), mỗi nút đó có thể là một cá nhân hay một tổ chức.
Mạng xã hội làm nhiệm vụ kết nối các thành viên, người dùng trên Internet lại với
nhau dựa theo những tiêu chí nào đó, với nhiều mục đích khác nhau, không phân biệt
thời gian và không gian. Với một cấu trúc đơn giản nhất như thế, một mạng xã hội có
thể được biểu diễn như một “đồ thị” như Hình 1.1
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 6
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Hình 1.1: Đồ thị biểu diễn cấu trúc mạng xã hội
1.1 Lịch sử mạng xã hội
Mạng máy tính (computer network) ra đời làm nền tảng cho sự xuất hiện của
mạng xã hội. Có một vài cách tiếp cận khác nhau về mạng xã hội. Cách tiếp cận đầu
tiên cho rằng mạng xã hội là một nơi để mọi người có thể tương tác với nhau thông
qua các phòng trò chuyện (chat room), chia sẻ thông tin cá nhân, ý tưởng qua các chủ
đề được tạo lập trên những trang cá nhân, mà về sau này được gọi là “blogging”.
Những mạng xã hội dạng này thì đã xuất hiện từ năm 1985 với THE WELL,
Theglobe.com (1994), Geocities (1995) và Tripod (1995).
Còn một cách tiếp cận khác, đơn giản hơn thì mạng xã hội là nơi mà mọi người
có thể kết nối với nhau thông qua địa chỉ thư điện tử của họ. Mạng xã hội đầu tiên của
dạng này – Classmates – ra đời vào năm 1995 với mục đích kết nối bạn học, tiếp đó
SixDegrees được tạo ra vào năm 1997 là với mục đích giao lưu kết bạn dựa theo sở
thích.
Năm 2002, Friendster ra đời và mau chóng trở thành trào lưu tại Mỹ. Tuy vậy do phát
triển quá nhanh mà thiếu đi sự tính toán đối với phân tải đã khiến các server của dịch
vụ này hay bị xảy ra hiện tượng quá tải. Công ty này sau đó có được Google đề nghị
mua lại với trị giá khoảng 30 triệu đô la Mỹ tuy nhiên thương vụ không thành công.

những sở thích đó. Qua đó, công ty có thể phát hiện ra được những khách hàng tiềm
năng, vạch ra một chiến lược kinh doanh mới cho thời kỳ khó khăn … Những việc làm
này có thể giúp ích rất nhiều cho hoạt động kinh doanh hiện tại của công ty đó.
Hai là khả năng xây dựng các mối quan hệ tin cậy. Nhờ vào việc quan sát được
các bài viết, đánh giá của các thành viên trong mạng xã hội, một tổ chức có thể nắm
bắt được nhu cầu và đánh giá của khách hàng về các sản phẩm hay dịch vụ mà họ cung
cấp. Hơn thế là khi họ có những phản hồi tích cực đối với khách hàng, từ đó xây dựng
một mối quan hệ “ảo” với khách hàng trong khi có thể mang lại một niềm tin “thực”.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 8
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Không quá tốn kém như những hệ thống chăm sóc khách hàng lớn mà mang lại hiệu
quả cũng không hề nhỏ, đó chính là lợi thế của mạng xã hội.
Hay đối với những cá nhân, nhờ việc đọc được những bài viết phần nào mang tính chất
riêng tư, tâm sự của bạn bè, hay con cái, họ có thể có được những hiểu biết rõ ràng
hơn về bạn bè, con cái của mình, thấy được vấn đề mà người kia đang gặp phải, từ đó
giúp họ giải quyết vấn đề dễ dàng hơn. Bởi nghiên cứu cho thấy, giới trẻ đang có xu
hướng kể ra những phức tạp cá nhân trên blog, mạng xã hội dễ dàng hơn là nói chuyện
trực tiếp với các bậc phụ huynh, hay cả với bạn bè. Khi ấy niềm tin trong mối quan hệ
cũng được nâng lên đáng kể.
Ba là việc tạo lập các mối quan hệ trong mạng xã hội trở nên dễ dàng hơn bao
giờ hết. Thử tưởng tượng trong mạng xã hội nào đó, người dùng có một vài người bạn,
những người ấy lại có nhiều bạn bè khác, cứ như vậy. Nhờ vào mạng xã hội, người
dùng ban đầu có thể thiết lập một mối quan hệ với bất cứ ai, đơn giản chỉ khởi đầu
bằng việc gửi đi một lời nhắn đề nghị được kết bạn. Sau khi được chấp nhận bởi phía
bên kia, việc cần làm để gìn giữ mối quan hệ đó đó là cố gắng cân bằng giữa việc cho
đi và nhận lại. Việc này ở trên một mạng xã hội tỏ ra đơn giản hơn so với việc duy trì
mối quan hệ trong xã hội bình thường, bởi cho đi và nhận về trong mạng xã hội nhiều
khi chỉ nằm ở mức có những bình luận trong những bài viết của bạn bè.
Những ưu điểm mà mạng xã hội mang lại như đã kể trên là rất to lớn, tuy vậy cũng
cần phải chỉ ra một số mặt hạn chế của mạng xã hội:

được mô tả với thuật ngữ “groundswell”, tạm hiểu là: “một bước tiến tự nhiên của loài
người khi sử dụng các công cụ trên mạng để kết nối, tích lũy kiến thức, lấy những gì
họ cần – thông tin, hỗ trợ, các ý tưởng, các sản phẩm hay khả năng thương lượng với
cộng đồng” .Và với những tiềm năng hiện tại mà mạng xã hội mang lại (xem Bảng 1 1),
việc tham gia, phân tích và tận dụng những điểm mạnh mà mạng xã hội mang lại là
cần thiết.
Bảng 1 1: Tiềm năng đối với mạng xã hội thông qua vài con số
Thống kê nhỏ về mạng xã hội
- Theo nhận định của đại diện IBM Việt Nam, với hơn 2 tỷ người kết nối mạng
Internet, hơn 600 triệu người dùng Facebook mỗi ngày.
- Hiện tồn tại khoảng hơn 500 mạng xã hội trên thế giới và hàng nghìn trang
web có chức năng như một mạng xã hội
- Trung bình, trong 1 phút, có hơn 695 ngàn trạng thái được cập nhật, 79364
thông tin được đăng tải lên tường và 510.040 bình luận được đăng tải. Cũng
trong 1 phút, có hơn 6.600 bức ảnh đăng tải lên Flickr, hơn 320 tài khoản mới
trên và hơn 98000 thông điệp được đẳng tải lên Twitter.
- Dự kiến đến năm 2013, game thủ trên các mạng xã hội sẽ bỏ ra đến 6 tỉ USD
để mua các vật dụng ảo trong game.
1.3 Một số bài toán đối với mạng xã hội
Hiện tại cũng có một số phần mềm cho phép phân tích, xử lý các thông tin dựa
trên quan hệ kiểu như trên. Tuy nhiên có thể nhận thấy rằng, hầu hết những công cụ đó
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 10
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
cần phải có một cơ sở dữ liệu đầu vào để tạo ra đồ thị quan hệ, thông thường là từ một
kiểu file cơ sở dữ liệu như CSV, XML … từ đó mới bắt đầu thực thi các phân tích liên
quan tới đồ thị quan hệ đó. Việc thu thập các nút, quan hệ giữa các nút hay các thuộc
tính khác thường không được định nghĩa mà có thể nhờ một phần mềm khác, hay cũng
có thể do người dùng trực tiếp đưa vào. Cách thức này hạn chế ở điểm sẽ khó nắm bắt
được các thay đổi trên mạng xã hội mang tính chất “thời gian thực” (tiếng Anh:
realtime). Công nghệ WAVE mà các bài toán trong bài thu hoạch này khai thác sẽ có

Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
hai người bất kỳ trên toàn nước Mỹ, và kết quả khá bất ngờ rằng khoảng cách trung
bình nằm trong khoảng 5.5-6, tức là khá nhỏ so với người ta tưởng tượng.
Có một bài toán tìm đặc điểm khác trong quan hệ là tìm tâm của một tập hợp
các cá thể (các nút). Kết quả của bài toán này sẽ cho thấy nút trong đồ thị mà khoảng
cách từ nút đó tới mọi nút khác trong đồ thị của tập hợp các cá thể đó là ngắn nhất.
Các bài toán trên đơn thuần là những bài toán dựa trên đồ thị, và nếu chỉ như
vậy thì có lẽ rằng với một ma trận kề dạng như Hình 1. 3 dưới, các bài toán trên cũng
có thể được giải quyết tương đối dễ dàng với một số thao tác tính toán không phức tạp.
(bởi lẽ một đồ thị có thể được biểu diễn dưới dạng ma trận)
Hình 1.3: Ma trận kề biểu diễn đồ thị gồm 4 đối tượng
Tuy nhiên ma trận không thể giải quyết được tình huống mở rộng đồ thị sẵn có
với những nút mới, những thuộc tính mới. Và WAVE có thể giải quyết trọn vẹn điều
này, bởi WAVE xử lý trên một đồ thị thuần túy.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 12
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Có thể lấy ví dụ về việc thêm một thuộc tính mở rộng cho quy trình phân tích
trong đồ thị. Đó là khi muốn mở rộng thêm cho quá trình phân tích quan hệ đơn thuần
một thuộc tính chỉ nghề nghiệp của người tham gia mạng xã hội. Giả sử xét nghề
nghiệp SINH VIÊN, đối với việc tính toán dựa trên ma trận, việc này là hết sức khó
khăn, có thể phải xây dựng lại toàn bộ ma trận. Nhưng với WAVE, việc cần làm chỉ là
tạo ra một nút với tên gọi “SINH VIÊN”, và những nút có sẵn nếu có thuộc tính nghề
nghiệp tương ứng thì sẽ có một liên kết với tên gọi dạng “LÀ” đến nút “SINH VIÊN”
này. Rất dễ ràng, và lúc này việc tìm kiếm một cá nhân với thuộc tính nghề nghiệp là
sinh viên lại trở lại với một bài toán đồ thị đơn giản: tìm kiếm các nút có liên kết “LÀ”
đến nút “SINH VIÊN”. Ví dụ này cho thấy khả năng mở rộng rất lớn của đồ thị, mạng
tri thức trong WAVE. Khi các cơ sở, thuộc tính tăng lên, WAVE chỉ cần thay đổi một
phần nhỏ của đồ thị trong khi những truy vấn trước đó sẽ không bị ảnh hưởng.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 13
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc

Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Wave tạo và xử lý KN – là tập hợp các node và các link có hướng hoặc vô
hướng. Cả node và link đều có nội dung riêng của mình (kiểu giá trị là string). KN có
thể được phân tán trong không gian mạng, tồn tại trên nhiều máy tính khác nhau. Mỗi
máy tính có thể không chứa hoặc chứa nhiều node của KN và các link có thể kết nối
tới các node trong cùng máy tính hoặc với các máy tính khác.
Tất cả các node đều có địa chỉ duy nhất trong không gian phân tán bao gồm 2
thành phần: thành phần thứ nhất để phân biệt các node trong cùng một máy, và thứ hai
là để phân biệt các node giữa các máy khác nhau trong không gian mạng. Node có thể
được truy cập qua các node khác một cách trực tiếp bằng Content hay bằng Address
của chúng hoặc qua quá trình mở rộng qua các link của KN, việc đặt tên cho link và
node nhằm phục vụ điều này. Có 2 kiểu nhảy qua lại giữa các node đó là direct hop và
surface hop để thực hiện việc nhảy tới 1 node hay có thể nhảy đến tất cả các node
khác – được dùng cho việc gửi quảng bá.
Không giống với node, link của KN không thể truy xuất trực tiếp qua tên. Dữ
liệu lưu trữ trong link chỉ có thể nhận được hoặc thay đổi một cách cục bộ, trong quá
trình di chuyển qua link hay khi đứng trực tiếp tại một node cụ thể nào đó. Từ một
node, cả nội dung và hướng của link có thể truy xuất trực tiếp.
Ví dụ:
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 15
wave

{{move , } . }
move

{ data_unit act } | [rule] (Wave) }
rule

SQ | OS | AS | AP | RP | WT | ID | CR
unit

Tail) tới 0 hay nhiều các Node khác– chúng ta sẽ gọi chúng là tập các Node tới được
(SNR).
Ví dụ:
• w1.w2.w3.w4 : cấu trúc của một chương trình Wave - sự nối tiếp của các
zones
• w1,w2,w3: zone đơn lẻ với tập các move độc lập, tất cả đều được thực thi
tại cùng một Node bắt đầu
• w1,w2.w3,w4: sự kết hợp của 2 kiểu trên.
2.4 Cấu trúc dữ liệu cơ bản của Wave
Wave là ngôn ngữ được dùng cho quá trình xử lý trên mạng, nhưng không giống các
ngôn ngữ khác, kiểu dữ liệu cơ sở không phản ánh việc đó. Wave sử dụng kiểu dữ liệu
cơ sở là Vector: là tập các string được phân tách nhau bới dấu chấm phẩy (;). Tất cả
các hoạt động của ngôn ngữ đều thực thi trên Vector. Truy cập tới thành phần của
Vector có thể thông qua chỉ số hay chính nội dung của các thành phần trong Vector –
indexing và contenting. Dữ liệu lưu trữ trong Vector là động, tức có thể thay đổi khi có
sự thêm bớt dữ liệu một cách tự động.
Ví dụ:
• Vector chứa 1 phần tử: 3
• Chứa 6 phần tử: 1;2;3;4;5;6
• Chứa nhiều kiểu dữ liệu khác nhau: 34;NONE;25;;a;;;b
Biến Spatial và kiểu
Wave thao tác trên kiểu biến được gọi là spatial variable, chúng nằm phân tán và
thường liên quan tới dữ liệu cục bộ tại các Node của KN hay có thể thuộc về một
chuỗi Wave nào đó. Biến kiểu này được chia làm 2 loại: task variable và
environment variable
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 17
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Task variables
Task variable bao gồm: node variable và frontal variable. Các biến kiểu nodal được
lưu cục bộ tại node của KN, các biến kiểu frontal có thể đi cùng Wave qua các node

injection.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 18
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Hop. Được thực thi bằng toán hạng #. Ta sẽ hiểu rõ hơn cách thực thi của Hop qua các
Ví dụ sau:
• DIRECT # ALL, cách viết khác @#: nhảy tới tất cả các node khác trong KN
trên cùng máy tính từ một node nào đó
• -p#b: nhảy từ node hiện thời theo cung đi ra (-)p tới node b
• ANY#ALL hay #: nhảy qua tất cả các link tới tất cả hàng xóm của một node
• Và một số kiểu nhảy khác: x#ALL, ANY#x
• Để nhảy sang 1 node ở máy khác ta có cấu trúc: a#b$$`IP, trong đó IP là địa
chỉ IP của máy đích
Filter. Các filter gồm các phép toán sau đây: ~ (thuộc về), /~ (không thuộc về), == (so
sánh bằng), /= (so sánh không bằng), < (so sánh nhỏ hơn), <= (so sánh nhỏ hơn hoặc
bằng), > (so sánh lớn hơn), >= (so sánh lớn hơn hoặc bằng). Giá trị trả về sẽ là TRUE
hoặc FALSE. Nếu giá trị trả về là TRUE, node hiện thời sẽ trở thành một SNR và
Wave tail sẽ tiếp tục phát triển từ node này.
• Filter ~:
o Cú pháp: vector1 ~ vector2
o Chức năng: kiểm tra các phần tử của vector 1 có nằm trong vector 2
hay không
• Ví dụ: a;b ~ p;q;b;a sẽ trả về TRUE
• Filter /~: ngược lại toán tử ~
• Filter ==:
o Cú pháp: v1 == v2
o Chức năng: kiểm tra 2 vector có bằng nhau hay không
o Ví dụ: 2;3 == 2;3 sẽ trả lại TRUE
• Filter /=: ngược lại với ==
• Các filter còn lại: >,>=,<,<= có ý nghĩa toán học thông thường nhưng được
thực hiện trên vector

Các phép toán trên Vector đặc biệt. Gồm 1 số phép toán sau:
• &: append, nối 1 Vector vào sau 1 Vector khác
o Ví dụ: v1 & v2 – v1, v2 là 2 Vector
• Toán tử hai chấm (:) : lấy giá trị tại 1 vị trí của Vector
o Ví dụ: Fa=3;2;3. Fa:1 sẽ trả lại 3
• Toán tử (::):
o Ví dụ: Fa=3;2;3. Fa::3 = 10. Kết quả Fa = 10;2;10
• |: splits, chia string ở toán hạng bên trái thành 1 Vector các string con bởi
dấu phân cách ở toán hạng bên phải
o Ví dụ: `a+b+c’ | `+’ sẽ trả lại a;b;c
• %: join, ngược lại với | tức nó sẽ hợp các Vector con lại thành 1 string với
phân cách là toán hạng bên phải
o Ví dụ: a;b;c % `+’ sẽ trả lại a+b+c
Gọi hàm bên ngoài (External calls). Thực hiện qua toán tử ?, gọi một hàm nào đó
của hệ thống với đầu vào là các tham số từ Wave truyền vào
Ví dụ: 50?`sleep’ sẽ dừng chương trình 50 giây
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 20
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
2.7 Rules – Các luật trong Wave
Wave có thể phát triển độc lập, dị bộ và được xử lý song song trong không gian phân
tán. Tuy nhiên điểm mạnh của Wave là nó có hệ thống các RULE để quản lý và đồng
bộ các các hành động. RULE thiết lập các ràng buộc trong việc lan tỏa chuỗi Wave.
Thông qua RULE, hệ thống có thể thực thi nhiều lần một Wave, hay tiếp tục lan tỏa
Wave nếu thỏa mãn một điều kiện nào đó, hoặc có thể chấm dứt toàn bộ wave. RULE
thường “treo” phần còn lại của chuỗi Wave (remainder) và lan tỏa nó ra chỉ khi chuỗi
Wave nằm trong luật thực thi xong và trả lại trạng thái TRUE.
2.7.1 Các Luật Rẽ Nhánh
• SEQUENCE(SQ): kích hoạt tất cả các nhánh một cách tuần tự mà không
cần quan tâm tới trạng thái kết quả trả về. SNR trên SQ là tập các SNR từ
các nhánh con.

2.7.3 Create
Luật CREATE(CR) cho phép Wave có khả năng mở rộng chính mạng KN
trong khi lan tỏa trong không gian. Chuỗi Wave chứa luật này vẫn phát triển như
thông thường, chỉ có các bước nhảy là bị ảnh hưởng - có thể thay đổi chế độ của chúng
từ chế độ lan tỏa (navigation) sang chế độ tạo mới (creation). Khi đó các node và link
nếu chưa có sẽ được tạo ra.
Có rất nhiều chi tiết quan trọng trong ngữ nghĩa của luật CR. Nếu node của 1
bước nhảy tương ứng bằng địa chỉ của nó – điều này có nghĩa node đó đã tồn tại, tức
các thành phần trong luật CR nếu chưa có sẽ được tạo ra, còn nếu đã tồn tại thì quá
trình CR sẽ không tạo ra node hoặc link mới.
Ví dụ: CR(@#a.+p#b.+q$$c`192.168.1.10’)
Ý nghĩa: nhảy trực tiếp tới node a mặc dù node a chưa có nhưng do nằm trong luật
CR nên node a sẽ được tạo ra, sau đó tạo ra link có hướng +p tới node b, tạo node c
và link +q nối từ a đến c trên máy 192.168.1.10
2.7.4 Release
Luật RL sẽ khởi tạo một Wave mới độc lập với chuỗi Wave ban đầu, mã của
Wave mới này là phần nằm trong dấu ngoặc của RL, WE của Wave mới chính là WE
của Wave ban đầu. Wave mới được tạo ra được đưa vào Wave Queue để chờ xử lý.
Phần remainder của Wave ban đầu sẽ tiếp tục được thực hiện như bình thường.
Ví dụ: w1.RL(w2).w3
Ý nghĩa: sau khi thực thi xong w1, gặp RL chương trình Wave sẽ tách w2 cùng với
biến môi trường thành Wave mới cho vào hàng đợi xử lý, chuỗi Wave tiếp tục thực thi
là w3 cùng với biến môi trường của nó.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 22
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
2.8 Wave và mô hình lập trình truyền thống
Sơ đồ luồng:
Wave là ngôn ngữ có khả năng xử lý cấu trúc dữ liệu không gian phân tán lớn. Một
thuộc tính quan trọng của Wave là các chương trình điều khiển luôn được liên kết với
vị trí nào đó trong không gian dữ liệu (trong khi dữ liệu giữa các Node lan tỏa, hay

Hình 2 4: Một số trường hợp xử lý song song
Ở một ví dụ khác ta thấy rõ hơn Rule điều khiển chuỗi Wave như nào (Hình 2 5).
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 24
Cơ sở dữ liệu nâng cao GVHD: PGS. TS Đỗ Phúc
Hình 2 5: Wave xử lý song song có kèm theo Rule
m1. OR_PARALLEL (m2, m3. m4). m5

m1. OR_PARALLEL((m2, m4), (m3. m4)) .m5

m1. OR_PARALLEL((m2. m4, m4, m4), ( m3. m4, m4, m4) ). m5
Wave và mô hình lập trình tuần tự
Việc cho phép phát triển không gian, xử lý song song và tự động trong môi trường
phân tán, Wave có thể dễ dàng mô hình hóa một số chương trình xử lý tuần tự. Giống
các chương trình bình thương, truyền thống ở cùng một máy tính, Wave phải ở cùng
một điểm trong không gian và chỉ có duy nhất một luồng được xử lý. Chúng ta sẽ bàn
về vấn đề này thông qua các ví dụ ở dưới đây.
Ví dụ 1 s1. s2. s3. s4
Ví dụ 2 SEQUENCE (s1, s2, s3, s4)
Hai ví dụ trên được thể hiện ở Hình 2 6
Hình 2 6: Xử lý tuần tự không Rule và có Rule
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 25

Trích đoạn Bài toán tìm Tâm và Bán kính Giải quyết vấn đề
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status