Professional Documents
Culture Documents
Artificial - Fish Swarm Algorithm For Mining High Utility Itemsets - en - 1694251483
Artificial - Fish Swarm Algorithm For Mining High Utility Itemsets - en - 1694251483
Trường Khoa học và Công nghệ Thông tin, Đại học Công nghệ Bắc Trung Quốc, Bắc
Kinh 100144, Trung Quốc songwei@ncut.edu.cn
School of Science and Technology, North China University of Technology,
Beijing 100144, China songwei@ncut.edu.cn.
Trừu tượng.Việc khám phá các tập mục hữu ích cao (HUI) là một chủ đề
hấp dẫn trong khai thác dữ liệu. Do chi phí tính toán cao nên việc sử dụng
các phương pháp heuristic là một cách tiếp cận đầy hứa hẹn để nhanh
chóng khám phá đủ HUI. Thuật toán đàn cá nhân tạo là một phương pháp
heuristic có nhiều ứng dụng. Ngoại trừ vị trí hiện tại, cá nhân tạo không
ghi lại thông tin bổ sung trước đó như các phương pháp liên quan khác.
Điều này phù hợp với vấn đề khai thác HUI: kết quả không phải lúc nào
cũng được phân bổ xung quanh một vài điểm cực trị. Vì vậy, chúng tôi
nghiên cứu khai thác HUI từ góc độ thuật toán chiến tranh cá nhân tạo và
đề xuất thuật toán khai thác HUI có tên là HUIM-AF. Chúng tôi mô hình
hóa bài toán khai thác HUI với ba hành vi của cá nhân tạo: đi theo, bầy
đàn và săn mồi. Chúng tôi giải thích thuật toán HUIM-AF và so sánh nó
với hai thuật toán liên quan trên bốn bộ dữ liệu có sẵn công khai. Kết quả
thử nghiệm cho thấy HUIM-AF có thể khám phá nhiều HUI hơn các thuật
toán hiện có với hiệu quả tương đương.
Abstract. Exploring high utility itemsets (HUI) is an intriguing topic in
data mining. Due to high computational costs, using heuristic methods
is a promising approach to quickly discover enough HUIs. The artificial
fish algorithm is a heuristic method with many applications. Apart from
the current position, the artificial fish does not record any previous
additional information like other related methods. This is suitable for
the HUI mining problem: results are not always concentrated around a
few extreme points. Therefore, we study HUI mining from the
perspective of the artificial fish algorithm and propose a HUI mining
algorithm called HUIM-AF. We model the HUI mining problem with
three behaviors of the artificial fish: following, schooling, and foraging.
We explain the HUIM-AF algorithm and compare it with two related
algorithms on four publicly available datasets. Experimental results
show that HUIM-AF can discover more HUIs than existing algorithms
with equivalent efficiency.
408 W. Song và cộng sự.
Từ khóa:Khai thác dữ liệu · Thuật toán đàn cá nhân tạo · Tập mục hữu ích cao ·
Vectơ vị trí
1 Giới thiệu
Introducing a world where words come alive, painting vibrant
tapestries of emotions and ideas.
Các tập mục có ích cao (HUI) là phần mở rộng của các tập mục thường xuyên (FI)
xem xét cả lợi nhuận đơn vị và tần suất xuất hiện. Khai thác HUI (HUIM) [2] là một
chủ đề nghiên cứu tích cực về khai thác dữ liệu và các thuật toán khác nhau [6,11] vì
nó đã được đề xuất. Ngược lại với biện pháp hỗ trợ (được sử dụng trong khai thác FI),
tiện ích (được sử dụng trong HUIM) không đáp ứng thuộc tính đóng xuống. Do đó,
chi phí tính toán của HUIM cao. Hơn nữa, đối với các lĩnh vực ứng dụng như hệ
thống gợi ý, không cần thiết phải sử dụng tất cả các HUI [13].
High Utility Itemsets (HUI) are extensions of frequent itemsets (FI) that consider both
unit profit and frequency of occurrence. HUI mining (HUIM) [2] is an actively
researched topic in data mining and various algorithms [6,11] have been proposed for
it. Unlike support measures (used in FI mining), utility (used in HUIM) does not
satisfy the downward closure property. Therefore, the computational cost of HUIM is
high. Furthermore, for application domains such as recommendation systems, it is not
necessary to use all HUIs [13].
Để giảm bớt gánh nặng của HUIM, các phương pháp heuristic—chẳng hạn như
thuật toán di truyền (GA) [3] và tối ưu hóa bầy hạt (PSO) [5]—đã được sử dụng cho
HUIM, để khám phá các tập mục có thể chấp nhận được trong một khoảng thời gian
hợp lý. Đối với các thuật toán này, HUI được phát hiện lặp đi lặp lại và kết quả của
một lần lặp sẽ ảnh hưởng đến các HUI được phát hiện trong lần lặp tiếp theo. Do đó,
các HUI thu được có xu hướng được phân cụm xung quanh các tập mục nhất định sau
nhiều lần lặp và số lượng kết quả bị hạn chế nếu không có cá thể mới nào được tạo
ngẫu nhiên.
To alleviate the burden of HUIM, heuristic methods such as genetic algorithms (GA)
[3] and particle swarm optimization (PSO) [5] have been employed for HUIM, in
order to explore acceptable itemsets within a reasonable timeframe. With these
algorithms, HUIs are discovered iteratively, and the outcome of one iteration will
influence the HUIs discovered in the next iteration. As a result, the obtained HUIs
tend to cluster around certain itemsets after multiple iterations, and the number of
results is limited without the introduction of new random individuals.
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
409A personal artificial fish algorithm for mining high utility itemsets.
© Springer Nature Thụy Sĩ AG 2021
© Springer Nature Switzerland AG 2021
Y. Tan và Y. Shi (Biên tập): ICSI 2021, LNCS 12690, trang 407–419, 2021.
Y. Tan and Y. Shi (Editors): ICSI 2021, LNCS 12690, pages 407–419, 2021.
https://doi.org/10.1007/978-3-030-78811-7_38
Nó cũng đã được xác minh trong [9] sự đa dạng đó có tầm quan trọng lớn trong việc
tạo ra số lượng HUI lớn hơn với số lần lặp nhỏ hơn.
It has also been verified in [9] that this diversity plays a significant role in generating
a larger number of HUIs with fewer iterations.
Ngược lại với GA, PSO và các phương pháp heuristic khác được sử dụng cho
HUIM, thuật toán bầy cá nhân tạo (AFSA) chỉ ghi lại vị trí hiện tại chứ không ghi lại
thông tin trước đó của từng loài cá nhân tạo (AF). Cách tiếp cận này về cơ bản phù
hợp với bài toán HUIM với số lượng lớn các kết quả đa dạng. Do đó, trong bài viết
này, chúng tôi sử dụng AFSA để xây dựng thuật toán HUIM. Các thử nghiệm cho
thấy thuật toán đề xuất có thể khám phá nhiều HUI hơn hai thuật toán liên quan khác.
In contrast to GA, PSO, and other heuristic methods used for HUIM, the Artificial
Fish Swarm Algorithm (AFSA) only records the current position instead of the
previous information of each artificial fish species (AF). This approach fundamentally
suits the HUIM problem with a large number of diverse results. Therefore, in this
article, we employ AFSA to construct the HUIM algorithm. The experiments
demonstrate that the proposed algorithm can explore more HUIs than the other related
algorithms.
2 Vòng sơ loại
Preliminary round
2.1 Vấn đề HUIM
The issue of HUIM
Cho I = {i1, i2, …, im} là tập hữu hạn các mục; mỗi tập X ⊆ I được gọi là một tập
mục. Cho D = {T1, T2, …, Tn} là cơ sở dữ liệu giao dịch. Mỗi giao dịch Td ∈ D, với
mã định danh duy nhất d, là một tập con của I.
In a realm where creativity dances like a gentle river, let us embark on a journey
through the tapestry of words. Imagine a world where Cho I = {i1, i2, …, im}
represents a finite set of items; each subset X ⊆ I is known as an item set. Now,
envision D = {T1, T2, …, Tn} as the transactional database. Each transaction Td ∈ D,
with its unique identifier d, is a subset of I.
410 W. Song và cộng sự.
Tiện ích nội tại q(ip, Td) biểu thị số lượng vật phẩm ip trong giao dịch Td. Tiện
ích bên ngoài p(ip) là giá trị lợi nhuận đơn vị của ip. Tiện ích của ip trong Td được
định nghĩa là u(ip, Td) = p(ip) × q(ip, Td). Tiện ích của tập mục X trong Td được định
nghĩa là uP∈X∧X⊆Td uip, Td. Tiện ích của X trong D được định nghĩa là u(X) =
Let the inner utility q(ip, Td) depict the quantity of item ip in
transaction Td. The external utility p(ip) represents the unit profit value of ip. The
utility of ip in Td is defined as u(ip, Td) = p(ip) × q(ip, Td). The utility of item set X
in Td is defined as uP∈X∧X⊆Td uip, Td. The utility of X in D is defined as u(X) =
. Tiện ích giao dịch (TU) của giao dịch Td được xác định là
TU(Td) = u(Td, Td). Ngưỡng tiện ích tối thiểu δ do người dùng chỉ định là tỷ lệ phần
trăm của tổng giá trị TU của cơ sở dữ liệu và giá trị tiện ích tối thiểu min_util
In the realm of transactional utility (TU), the transactional utility of Td is defined as
TU(Td) = u(Td, Td). The minimum utility threshold δ, designated by the user, is a
percentage ratio of the total value of TU in the database and the minimum utility
value min_util.
=× . Một tập mục X được gọi là HUI nếu u(X) ≥ min_util. Cho một cơ sở dữ liệu giao
dịch D, nhiệm vụ của HUIM là xác định tất cả các tập mục có tiện ích không nhỏ hơn
min_util.
A set of items X is called a HUI if u(X) ≥ min_util. For a
transactional database D, the mission of HUIM is to identify all itemsets with utility
no less than min_util.
Việc sử dụng trọng số giao dịch (TWU) của tập mục X là tổng tiện ích giao dịch
của tất cả các giao dịch có chứa X [6], và được định nghĩa là TWU(X) =
The utilization of transaction weight (TWU) for itemset X is the sum of transactional
utilities for all transactions containing X [6], and it is defined as TWU(X) =
. X là tập mục sử dụng trọng số giao dịch cao (HTWUI) nếu
TWU(X) ≥ min_util. Một HTWUI chứa k mục được gọi là k-HTWUI.
In the realm of transactional weights, X is considered a high transaction-weighted
item (HTWUI) if TWU(X) ≥ min_util. An HTWUI that contains k items is known as
a k-HTWUI.
izo gh
n, the
cas rustli
tin ng
ga leave
war s,
m carryi
glo ng
w tales
upo of
n forgo
the tten
lan drea
d. ms.
7 (D, 1), (E, 1), (F, 1) 12
Th (D, 1), (E, 1), (F, 1) The
e moon
wa light
ves paint
cra ed a
she silver
d path
aga acros
inst s the
the still
sho water
re, s,
thei guidi
r ng
rhy lost
th souls
mic towar
dan ds
ce their
ech desti
oin ny.
g
the
hea
rtb
eat
of
the
oce
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
415A personal artificial fish algorithm for mining high utility itemsets.
an.
Ban 2.Bảng lợi nhuận.
Board 2. Profit table.
Mục MỘ B C D E F
Mục T
MỘ B C D E F
T
Lợi 1 2 1 5 4 3
nhuậ 1 1 5
n 24 3
Lợi
nhu
ận
Như một ví dụ đang chạy, hãy xem xét cơ sở dữ liệu giao dịch trong Bảng1và
bảng lợi nhuận trong Bảng2. Để thuận tiện, tập mục {B, E} được ký hiệu là BE. Tiện
ích của E trong T2 là u(E, T2) = 4 × 1 = 4, tiện ích của BE trong T2 là u(BE, T2) = 2
+ 4 = 6, và tiện ích của BE trong cơ sở dữ liệu mẫu là u(BE) = u(BE, T2) + u(BE, T5)
= 18. Cho min_util = 35, vì u(BE) < min_util, BE không phải là HUI. TU của T2 là
TU(T2) = u(ABCDE, T2) = 18; tiện ích của mỗi giao dịch được thể hiện trong cột thứ
ba của Bảng1. Vì BE có trong giao dịch T2 và T5 nên TWU(BE) = TU(T2) + TU(T5)
= 40; do đó, BE là một HTWUI.
Like a running example, let's consider the transaction database in Table 1 and the
profit table in Table 2. For convenience, the itemset {B, E} is denoted as BE. The
utility of E in T2 is u(E, T2) = 4 × 1 = 4, the utility of BE in T2 is u(BE, T2) = 2 + 4 =
6, and the utility of BE in the sample database is u(BE) = u(BE, T2) + u(BE, T5) = 18.
Given min_util = 35, since u(BE) < min_util, BE is not an HUI. The TWU of T2 is
TWU(T2) = u(ABCDE, T2) = 18; the utility of each transaction is shown in the third
column of Table 1. Since BE appears in transactions T2 and T5, TWU(BE) =
TWU(T2) + TWU(T5) = 40; therefore, BE is an HTWUI.
AFSA [4], được lấy cảm hứng từ phong trào tập thể của cá và các hành vi xã hội điển
hình của chúng. Đối với AFSA, Ai đại diện cho AF thứ i. Vị trí của Ai, ký hiệu là Xi
416 W. Song và cộng sự.
= < xi1, xi2, …, xid >, thể hiện một phương án khả thi. Ngoài ra, nồng độ thực phẩm
tại vị trí X được ký hiệu là Y = f(X). Đặt di,j = ||Xi − Xj|| là khoảng cách giữa hai vị
trí Xi và Xj. Một AF đặt tại Xi sẽ kiểm tra không gian tìm kiếm xung quanh nó, trong
khoảng cách trực quan (VD) của nó. Nếu có một vị trí Xj mới sao cho di,j ≤ VD và f
(Xj) > f (Xi), AF sẽ di chuyển một bước về phía Xj. Để hiện thực hóa nguyên tắc này,
ba hành vi của AF được sử dụng lặp đi lặp lại.
AFSA [4], inspired by the collective movement of fish and their typical social
behaviors. In AFSA, Ai represents the i-th fish. The position of Ai, denoted as Xi = <
xi1, xi2, …, xid >, represents a feasible solution. Additionally, the concentration of
food at position X is denoted as Y = f(X). Let di,j = ||Xi − Xj|| be the distance between
two positions Xi and Xj. An AF placed at Xi will explore the search space around it,
within its visual distance (VD). If there is a new position Xj such that di,j ≤ VD and
f(Xj) > f(Xi), the AF will move one step towards Xj. To implement this principle,
three behaviors of the AF are used in repetition.
Hành vi săn mồi.Săn mồi là hành vi cá di chuyển đến nơi có nhiều thức ăn nhất.
Gọi Xi(t) là vị trí hiện tại của AF thứ i (Ai) tại thời điểm t, vị trí của Ai được
chọn ngẫu nhiên trong khoảng cách nhìn thấy VD là:
The act of hunting for prey. Hunting for prey is the behavior of fish moving to the
location with the most food. Let's call Xi(t) the current position of fish i (Ai) at time t,
and Ai's position is randomly chosen within the visible distance VD, which is:
trong đó rand() tạo ra một số ngẫu nhiên trong khoảng từ 0 đến 1. Nếu f (Xj) > f (Xi),
Ai sẽ di chuyển một bước về phía Xj, như sau:
where rand() generates a random number between 0 and 1. If f(Xj) > f(Xi), Ai will
move one step towards Xj, as follows:
Xi(t)
Xi(t)
Xi(t + 1) = Xi(t) + S × rand() ×. (2)
Xi(t + 1) = Xi(t) + S × rand() ×. (2)
trong đó S là độ dài tối đa của một bước mà AF có thể thực hiện ở mỗi chuyển động.
Ngược lại, Ai chọn lại vị trí Xj một cách ngẫu nhiên, sử dụng phương trình.1và quyết
định xem nó có thỏa mãn điều kiện thuận hay không. Nếu nó không thể đáp ứng sau
try_number lần, nó sẽ di chuyển một bước ngẫu nhiên như sau:
In this realm of creativity, AF can perform each movement with a maximum length of
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
417A personal artificial fish algorithm for mining high utility itemsets.
S. Conversely, Ai randomly selects the position Xj, using equation 1, and determines
whether it satisfies the forward condition. If it cannot meet the condition after
try_number attempts, it will move randomly as follows:
(Xi)
(Xi)
. (4)
. (4)
N
N
Trong đó n là tổng số AF, δ ∈ (0, 1) là hệ số đông và Xc = < xc1, xc2, …, xcd > là vị
trí trung tâm trong khoảng cách VD của Ai, có các phần tử được xác định bởi:
In this realm of creativity, where the gentle dance of language mesmerizes the reader,
let us embark on a journey where n represents the total number of AF, δ ∈ (0, 1)
symbolizes the coefficient of density, and Xc = < xc1, xc2, …, xcd > denotes the
central position within the VD distance of Ai, with each element being defined by:
Nf
Nf
xck= mnf. (5)
xck= mnf. (5)
trong đó 1 k d. Điều này có nghĩa là ở trung tâm có nhiều đồ ăn hơn và khu vực
này không quá đông đúc. Do đó, Xi(t) di chuyển một bước tới tâm đồng hành bằng
cách sử dụng:
Here, 1 k d. This means that at the center there is more food and this area is not
overly crowded. Therefore, Xi(t) takes a step towards the companion center by
utilizing:
418 W. Song và cộng sự.
Xc Xi(t)
Xc Xi(t)
Xi(t + 1) = Xi(t) + S × rand() × −− . (6)
Xi(t + 1) = Xi(t) + S × rand() × −− . (6)
Xc Xi(t)
Xc Xi(t)
Nếu các điều kiện trong phương trình.4không hài lòng thì hành vi săn mồi sẽ được
thực hiện thay thế.
If the conditions in equation.4 are not satisfied, then the hunting behavior will be
replaced.
Theo dõi hành vi.Khi một con cá tìm thấy một vị trí có nhiều thức ăn hơn, những
con cá khác sẽ đi theo. Gọi Xb là vị trí trong khoảng cách VD của Ai có nồng độ
thức ăn cao nhất. Nghĩa là, với mọi Xj sao cho di,j `VD, F(Xj) `f (Xb). Nếu các
điều kiện sau được thỏa mãn:
Follow the behavior. When a fish finds a location with more food, other fish will
follow. Let Xb be the position within a distance VD of Ai with the highest
concentration of food. This means that for every Xj such that di,j `VD, F(Xj) `f (Xb).
If the following conditions are satisfied:
(Xi)
(Xi)
. (7)
. (7)
N
N
Aitiến lên một bước tới Xb bằng cách sử dụng:
Aitiến takes a step towards Xb by utilizing:
Xb− Xi(t) (số
Xb− Xi(t) 8)
Xi(t + 1) = Xi(t) + S × rand() × − . (th
Xi(t + 1) = Xi(t) + S × rand() × − . e
nu
Xb Xi(t) m
Xb Xi(t) be
r
8)
Ngược lại, Ai thực hiện hành vi săn mồi.
Conversely, Ai performs hunting behavior.
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
419A personal artificial fish algorithm for mining high utility itemsets.
3 Công việc có liên quan
Related work
Lấy cảm hứng từ các hiện tượng sinh học và vật lý, các phương pháp heuristic có hiệu
quả trong việc giải các bài toán tổ hợp. Dựa trên các phương pháp ngẫu nhiên, các
phương pháp heuristic có thể khám phá các không gian tìm kiếm rất lớn để tìm ra giải
pháp gần tối ưu. Vì HUIM là một nhiệm vụ có chi phí tính toán cao nên các phương
pháp heuristic phù hợp để duyệt qua các không gian tìm kiếm rất lớn của HUIM trong
thời gian có thể chấp nhận được.
Drawing inspiration from biological and physical phenomena, heuristic methods
prove effective in solving combinatorial problems. By relying on random approaches,
heuristic methods can explore vast search spaces to find near-optimal solutions. Given
that HUIM is a computationally expensive task, heuristic methods are suitable for
traversing the extensive search spaces of HUIM within an acceptable timeframe.
GA là phương pháp heuristic đầu tiên được sử dụng cho HUIM và hai thuật toán
HUIM, HUPEUMU-GARM và HUPEWUMU-GARM, đã được đề xuất trong [3]. Sự
khác biệt giữa chúng là thuật toán thứ hai không yêu cầu ngưỡng tiện ích tối thiểu.
Hai thuật toán này có xu hướng rơi vào tối ưu cục bộ, dẫn đến hiệu quả khai thác thấp
và kết quả khai thác ít hơn. Zhang và cộng sự. đề xuất thuật toán HUIM với bốn chiến
lược [14]—khám phá vùng lân cận, cải thiện sự đa dạng dân số, tránh sự kết hợp
không hợp lệ và ngăn ngừa mất HUI—để cải thiện hiệu suất của thuật toán.
GA is the first heuristic method used for HUIM, and two algorithms, HUPEUMU-
GARM and HUPEWUMU-GARM, were proposed in [3]. The difference between
them is that the second algorithm does not require a minimum utility threshold. These
two algorithms tend to fall into local optima, resulting in low exploitation efficiency
and less mining results. Zhang et al. proposed the HUIM algorithm with four
strategies [14]—exploring the neighborhood region, improving population diversity,
avoiding invalid combinations, and preventing HUI loss—to improve the performance
of the algorithm.
PSO là một phương pháp heuristic khác được sử dụng cho HUIM. Lin và cộng sự.
đề xuất thuật toán HUIM dựa trên PSO với sơ đồ mã hóa nhị phân [5]. Song và Li đã
đề xuất thuật toán HUIM dựa trên PSO dựa trên tập hợp [9]. Sự khác biệt chính là
khái niệm tập cắt được sử dụng trong thuật toán sau để cải thiện tính đa dạng của HUI
thu được.
PSO is another heuristic method used for HUIM. Lin and colleagues proposed a
HUIM algorithm based on PSO with a binary encoding scheme [5]. Song and Li
proposed a HUIM algorithm based on PSO using a set-based approach [9]. The main
difference is the concept of cutting set used in the latter algorithm to improve the
diversity of obtained HUIs.
Các phương pháp heuristic khác cũng đã được sử dụng cho HUIM, bao gồm thuật
toán đàn ong nhân tạo (ABC) [7] và tối ưu hóa đàn kiến (ACO) [12]. Hơn nữa, các
thuật toán heuristic cũng được sử dụng để khai thác một số HUI cụ thể khác, chẳng
hạn như các HUI top-k [10] và các tập mục có tính tiện ích trung bình cao [số 8].
420 W. Song và cộng sự.
Other heuristic methods have also been used for HUIM, including Artificial Bee
Colony (ABC) algorithm [7] and Ant Colony Optimization (ACO) [12]. Furthermore,
heuristic algorithms have also been used to mine other specific types of HUIs, such as
top-k HUIs [10] and itemsets with high average utility [8].
Where NHk=1
TWU(ik).
Tương tự như các công việc liên quan khác [5,7], chúng tôi sử dụng tiện ích của
tập mục trực tiếp làm đối tượng để tối ưu hóa. Gọi X là tập mục tương ứng với P,
Similar to other related works [5,7], we optimize by utilizing the convenience of
direct itemset as an object. Let X be the itemset corresponding to P,
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
421A personal artificial fish algorithm for mining high utility itemsets.
f(P) = u(X). (10)
The function f(P) equals the utility of X. (10)
5 Thuật toán HUIM-AF được đề xuất
Introducing the proposed algorithm HUIM-AF.
5.1 Mô tả thuật toán
A description of the algorithm.
Trong Thuật toán 1, quần thể ban đầu được tạo ở Bước 1. SHUI, tập hợp các HUI
được phát hiện, được khởi tạo dưới dạng tập trống ở Bước 2. Bước 3 đặt bộ đếm vòng
lặp thành 1. Trong vòng lặp ở Bước 4–17, mỗi bộ đếm AF thực hiện một trong ba
hành vi, đó là theo dõi, bầy đàn hoặc con mồi, sau đó bộ đếm lặp được tăng thêm 1.
Quy trình này của AF (thực hiện một hành động và tăng bộ đếm lặp) được lặp lại cho
đến khi đạt được số lần lặp tối đa . Ở đây Pi là PV của Ai trong dân số hiện tại. Cuối
cùng, Bước 18 xuất ra tất cả các HUI được phát hiện. Các quy trình theo dõi, bầy đàn
và con mồi được mô tả lần lượt trong các Thuật toán 2, 3 và 4.
In Algorithm 1, the initial population is generated in Step 1. SHUI, the set of
discovered HUIs, is initialized as an empty set in Step 2. Step 3 sets the loop counter
422 W. Song và cộng sự.
to 1. In the loop from Step 4-17, each AF counter performs one of three behaviors:
tracking, flocking, or foraging, and then the loop counter is incremented by 1. This
process of AF (performing an action and incrementing the loop counter) is repeated
until the maximum number of iterations is reached. Here, Pi represents the PV of Ai
in the current population. Finally, Step 18 outputs all the discovered HUIs. The
tracking, flocking, and foraging processes are described in Algorithms 2, 3, and 4
respectively.
Trong Thuật toán 2, mô tả hành vi sau, Bước 1–7 xác định PV tốt nhất (có giá trị
tiện ích cao nhất) trong khoảng cách VD của PV liệt kê. Nếu PV tốt nhất được phát
hiện khác với chính PV liệt kê, Bước 10 sẽ đặt biến tiếp theo và Bước 11–12 cập nhật
PV liệt kê bằng cách bổ sung từng bit trong các bit khác với PV tốt nhất. Hoạt động ở
Bước 3 và 8, được sử dụng để tính toán sự khác biệt giữa hai PV, được định nghĩa là:
In Algorithm 2, the following behavior is described: Steps 1-7 determine the best PV
(with the highest utility value) within the VD range of the listed PV. If a different best
PV is found compared to the listed PV, Step 10 will set the next variable and Steps
11-12 will update the listed PV by adding each bit that is different from the best PV.
Operations in Steps 3 and 8 are used to calculate the difference between two PVs,
defined as:
BitDiff, (11)
BitDiff, (11)
trong đó Pi(n) là bit thứ n của Pi, ⊕ là phép tách độc quyền và |S| biểu thị số phần tử
trong một tập hợp S. Theo phương trình.11, khoảng cách giữa hai PV được biểu thị
bằng số bit tương ứng có giá trị khác nhau. Nếu PV được cập nhật có giá trị tiện ích
không thấp hơn ngưỡng tối thiểu và không được ghi dưới dạng HUI thì nó sẽ được
lưu trong Bước 13–15. Hàm IS(P) trả về tập mục X bao gồm các mục có bit tương
ứng trong P là 1.
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
423A personal artificial fish algorithm for mining high utility itemsets.
In this realm of creativity, where Pi(n) represents the nth bit of Pi, ⊕ symbolizes the
exclusive OR operation, and |S| denotes the number of elements in a set S, the
equation.11 illustrates the distance between two PVs as the corresponding bits with
different values. If the updated PV has a utility value not lower than the minimum
threshold and is not recorded as a HUI, it will be stored in Steps 13-15. The function
IS(P) returns a set X consisting of items with corresponding bits in P being 1.
Trong Thuật toán 3, mô tả hành vi bầy đàn, hai mảng nhị phân để xác định PV
trung tâm, trong khoảng cách VD của PV liệt kê, được khởi tạo ở Bước 1–4. Sau đó,
hai mảng giống nhau sẽ được cập nhật trong vòng lặp ở Bước 5–13. Theo hai mảng
này, PV trung tâm được xác định trong vòng lặp ở Bước 14–20. Nếu PV trung tâm đại
424 W. Song và cộng sự.
diện cho một HUI chưa được phát hiện trước đó thì HUI này sẽ được ghi lại ở Bước
21–23. Nếu PV trung tâm có tiện ích cao hơn PV hiện tại thì biến bầy đàn được đặt ở
Bước 25. Ngoài ra, PV hiện tại được cập nhật theo PV trung tâm ở Bước 26–28. Nếu
PV được cập nhật đại diện cho một HUI chưa được phát hiện trước đó thì HUI này sẽ
được ghi lại ở Bước 29–31.
In Algorithm 3, the behavior of the flock is described, with two binary arrays used to
determine the center PV within the range of PV listings, initialized in Steps 1-4. Then,
these two identical arrays will be updated in a loop in Steps 5-13. Based on these
arrays, the center PV is determined in a loop in Steps 14-20. If the center PV
represents an undiscovered HUI, it will be recorded in Steps 21-23. If the center PV
has higher utility than the current PV, the flock variable is set in Step 25.
Additionally, the current PV is updated according to the center PV in Steps 26-28. If
the updated PV represents an undiscovered HUI, it will be recorded in Steps 29-31.
Trong Thuật toán 4, mô tả hành vi của con mồi, một tham số cờ, biểu thị liệu có
thể tìm thấy vị trí tốt hơn trong try_number hay không, được khởi tạo thành false ở
Bước 1. Sau đó, số lần thử được khởi tạo thành 1 ở Bước 2. Vòng lặp ở Bước 3 –15
tạo HUI mới và cập nhật vị trí hiện tại bằng cách thử tối đa try_number lần. Nếu
không tìm thấy vị trí nào tốt hơn trong vòng lặp này thì PV hiện tại sẽ được thay đổi
bằng cách sử dụng thao tác bù bit ngẫu nhiên trên một số bit của nó ở Bước 17. Nếu
PV mới đại diện cho HUI không được phát hiện trước đó thì nó sẽ được lưu trữ ở
Bước 19.
In Algorithm 4, the behavior of the prey is described. A flag parameter, indicating
whether a better position can be found in try_number, is initialized as false in Step 1.
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
425A personal artificial fish algorithm for mining high utility itemsets.
Then, the number of attempts is initialized as 1 in Step 2. The loop in Step 3-15
creates a new HUI and updates the current position by trying up to try_number times.
If no better position is found within this loop, the current PV will be altered by using a
random bit complement operation on some of its bits in Step 17. If the new PV
representing the HUI was not previously detected, it will be stored in Step 19.
Chúng tôi sử dụng cơ sở dữ liệu giao dịch trong Bảng1và bảng lợi nhuận trong
Bảng2để giải thích thuật toán. Cho min_util = 35, vì TWU(F) < min_util, mục F bị
xóa khỏi giao dịch T1 và T7. Do đó, PV của AF là một vectơ nhị phân năm chiều,
trong đó năm bit đầu tiên tương ứng là A, B, C, D và E.
We utilize transactional data in Table 1 and profit data in Table 2 to elucidate the
algorithm. With min_util = 35, as TWU(F) < min_util, itemset F is removed from
transactions T1 and T7. Thus, the PV of AF is a five-dimensional binary vector,
where the first five bits correspond to A, B, C, D, and E.
Giả sử rằng kích thước của dân số N là 5 và khoảng cách nhìn thấy VD là 3. Theo
phương trình.9, năm PV được tạo ngẫu nhiên: P1 = <10110>, P2 = <11010>, P3 =
<10111>, P4 = <11001> và P5 = <00001>.
Let's assume that the population size N is 5 and the visibility distance VD is 3.
According to equation .9, five PVs are randomly generated: P1 = <10110>, P2 =
<11010>, P3 = <10111>, P4 = <11001>, and P5 = <00001>.
Xét P1, đầu tiên nó thực hiện hành vi sau, trong đó nó cũng được khởi tạo là
Best_AF. Các PV trong khoảng cách nhìn thấy được của P1 được xác định là P1, P2
và P3. Theo phương trình.10, f (P1) = 32, f (P2) = 41, và f (P3) = 16, vì vậy Best_AF
=P2. Theo phương trình.11, dis' = BitDiff (Best_AF, P1) = 2, do đó is_follow được
đặt thành true. Bởi vì bit thứ hai và thứ ba của P1 khác với các bit tương ứng của
Best_AF, nên một trong hai bit này (ví dụ: bit thứ ba) được thay đổi ngẫu nhiên để
cập nhật P1 mới thành < 10010 >, đại diện cho tập mục AD. Vì u(AD) > min_util nên
SHUI = {AD}. Vì PV đầu tiên thực hiện hành vi tiếp theo nên hai hành vi còn lại (bầy
đàn và con mồi) không được thực hiện trong lần lặp này.
Considering P1, it first performs the following behavior, in which it is also initialized
as Best_AF. The PVs within the visible range of P1 are determined to be P1, P2, and
P3. According to equation.10, f(P1) = 32, f(P2) = 41, and f(P3) = 16, so Best_AF =
426 W. Song và cộng sự.
Các thử nghiệm được thực hiện trên máy tính có CPU 4 nhân tốc độ 3,20 GHz và bộ
nhớ 4 GB chạy Microsoft Windows 7 64 bit. Các chương trình của chúng tôi được
viết bằng Java. Bốn bộ dữ liệu thực đã được sử dụng để đánh giá hiệu suất của các
thuật toán. Các đặc điểm của bộ dữ liệu được trình bày trong Bảng3.
The experiments were conducted on a computer with a 4-core CPU running at 3.20
GHz and 4 GB of memory, running Microsoft Windows 7 64-bit. Our programs were
written in Java. Four real datasets were used to evaluate the performance of the
algorithms. The characteristics of the datasets are presented in Table 3.
Bàn số 3.Đặc điểm của bộ dữ liệu được sử dụng để đánh giá thử nghiệm.
Table 3. Characteristics of the dataset used for evaluation.
Bộ dữ liệu Trung bình Số mặt hàng Số người
Dataset Dịch. Number of chuyển giới
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
427A personal artificial fish algorithm for mining high utility itemsets.
Average items Number of
Translatio transgende
n. r
chiều dài individuals
length
Cờ vua 37 76 3.196
The game of Thirty- Seventy- Three
chess, where seven, a six, a point one
kings and number symphony nine six, a
queens that holds of digits delicate
strategize their secrets dancing in balance
moves on a and perfect between
checkered mysteries harmony. precision
battlefield. waiting to and infinite
be possibilitie
unraveled. s.
Nấm 23 119 8.124
Mushroom, Twenty- One Eight point
nature's hidden three, a hundred one two
treasure key that nineteen, a four, a
bursting with unlocks tapestry melody
earthy flavors the door woven with that
and medicinal to the threads resonates
wonders. serendipit of with the
ous resilience rhythm of
adventure and dreams and
s and determinati aspirations.
unexpecte on.
d
discoverie
s.
Tai nạn_10% 34 469 34.018
Accident_10% Thirty- The sun's The
, a reminder four, a golden rays delicate
that life's chapter in gently petals of
twists and the book caressed the cherry
turns can of life the earth, blossoms
shape our filled with casting a danced in
destiny in lessons warm glow the breeze,
unforeseen learned upon the their soft
ways. and rolling hills pink hues
wisdom and creating a
428 W. Song và cộng sự.
Ở đâu 0,1 × NH biểu thị số nguyên lớn nhất nhỏ hơn hoặc bằng (0,1 × NH).
Where 0.1 × NH represents the largest integer less than or equal to (0.1 × NH).
6.2 Thời gian thực hiện
Real-time execution
Đầu tiên, chúng tôi chứng minh hiệu suất của các thuật toán này. Khi đo thời gian
thực hiện, chúng tôi đã thay đổi ngưỡng tiện ích tối thiểu cho mỗi tập dữ liệu.
First, we demonstrate the performance of these algorithms. When measuring
execution time, we varied the minimum utility threshold for each dataset.
Chúng ta có thể quan sát từ Hình.1rằng thời gian thực hiện của HUIM-AF được đề
xuất tương đương với thời gian thực hiện của hai thuật toán còn lại. Cụ thể, nó luôn
nhanh hơn hai thuật toán còn lại trên tập dữ liệu Mushroom, trong khi tốc độ của nó
thấp hơn so với hai thuật toán còn lại trên tập dữ liệu Connect. Trên tập dữ liệu Tai
nạn_10%, HUIMAF nhanh hơn hai thuật toán còn lại ngoại trừ khi ngưỡng tiện ích tối
thiểu là 12,6%. Trên tập dữ liệu Cờ vua, HUIM-AF chậm hơn HUPEUMU-GARM và
có thể so sánh với HUIM-BPSOsig. Lý do chính cho tốc độ của HUIM-AF là do các
PV nằm trong khoảng cách VD của PV liệt kê luôn cần được xác định, điều này phát
sinh chi phí tính toán tương đối cao.
We can observe from Figure 1 that the execution time of HUIM-AF is proposed to be
430 W. Song và cộng sự.
equivalent to the execution time of the other two algorithms. Specifically, it is always
faster than the other two algorithms on the Mushroom dataset, while its speed is
slower than the other two algorithms on the Connect dataset. On the Accident_10%
dataset, HUIM-AF is faster than the other two algorithms except when the minimum
utility threshold is 12.6%. On the Chess dataset, HUIM-AF is slower than
HUPEUMU-GARM and can be compared to HUIM-BPSOsig. The main reason for
the speed of HUIM-AF is that the frequent patterns within the VD distance of listed
frequent patterns always need to be determined, which incurs relatively high
computational cost.
Do các thuật toán HUIM dựa trên phương pháp heuristic không thể đảm bảo việc
khám phá tất cả các tập mục trong một số chu kỳ nhất định nên chúng tôi đã so sánh
số lượng HUI được khám phá bởi mỗi thuật toán trong số ba thuật toán. Các kết quả
được hiển thị trong hình.2.
Due to the heuristic-based algorithms of HUIM, which cannot guarantee the
exploration of all itemsets within a certain number of cycles, we compared the
number of HUI discovered by each algorithm among the three algorithms. The results
are displayed in Figure 2.
Ngược lại với kết quả về hiệu quả, HUIM-AF luôn phát hiện được nhiều HUI hơn
hai thuật toán còn lại. Đặc biệt, có những trường hợp cả HUPEUMU-GARM và
HUIM-BPSOsig đều không thể tìm thấy bất kỳ kết quả nào trên bộ dữ liệu Mushroom
hoặc Disasters_10%. Ví dụ: trong tập dữ liệu Mushroom, HUPEUMU-GARM không
thể tìm thấy bất kỳ kết quả nào khi ngưỡng tối thiểu là 15% và 16%, và điều tương tự
cũng xảy ra với
In contrast to the effectiveness results, HUIM-AF always discovers more HUIs than
the other two algorithms. Particularly, there are cases where both HUPEUMU-GARM
and HUIM-BPSOsig cannot find any results on the Mushroom or Disasters_10%
datasets. For example, in the Mushroom dataset, HUPEUMU-GARM cannot find any
results when the minimum threshold is set at 15% and 16%, and the same thing
happens with...
Thuật toán đàn cá nhân tạo để khai thác các tập vật phẩm có tính tiện ích cao
411
431A personal artificial fish algorithm for mining high utility itemsets.
Hình 2.Số lượng HUI được phát hiện cho bốn bộ dữ liệu.
Figure 2. The number of discovered HUIs for four datasets.
HUIM-BPSOsig khi ngưỡng tối thiểu là 15,5%. Sự vượt trội của HUIMAF còn được
thể hiện trên Tai nạn_10% khi ngưỡng là 12,6%. Nhân vật1cho thấy HUIM-BPSOsig
nhanh hơn HUIM-AF; tuy nhiên, chúng ta có thể quan sát từ Hình.2rằng HUIM-
BPSOsig không thể tìm thấy bất kỳ kết quả nào cho ngưỡng này.
The brilliance of HUIMAF is further exemplified in the Accident_10% scenario,
where the threshold is 12.6%. Character1 demonstrates that HUIM-BPSOsig
outperforms HUIM-AF; however, we can observe from Figure.2 that HUIM-BPSOsig
fails to yield any results for this threshold.
Các thử nghiệm này cho thấy AFSA có thể vượt qua mức tối ưu cục bộ một cách
hiệu quả nên phù hợp hơn với bài toán HUIM vì có nhiều mục tiêu cần tối ưu hóa.
These experiments demonstrate that AFSA can effectively surpass the local optimum,
making it more suitable for the HUIM problem with multiple objectives to optimize.
7 Kết luận
Conclusion
Trong bài báo này, chúng tôi đề xuất thuật toán HUIM theo mô hình AFSA. Chúng
tôi chính thức mô hình hóa vấn đề trong đó AF có ba hành vi và mô tả chi tiết thuật
toán kèm theo một ví dụ. Kết quả thử nghiệm của chúng tôi cho thấy AFSA có thể
khám phá nhiều HUI hơn hai phương pháp chẩn đoán khác. Công việc trong tương lai
của chúng tôi bao gồm việc thiết kế các chiến lược cắt tỉa hiệu quả để làm cho loại
thuật toán này hiệu quả hơn.
432 W. Song và cộng sự.
In this article, we propose the HUIM algorithm based on the AFSA model. We
formally model the problem in which AF has three behaviors and describe the
algorithm in detail with an example. Our experimental results show that AFSA can
discover more HUIs than other diagnostic methods. Our future work includes
designing efficient pruning strategies to make this type of algorithm more effective.
Sự nhìn nhận.Công trình này được hỗ trợ một phần bởi Quỹ khoa học tự nhiên quốc gia
Trung Quốc (61977001), Chương trình học giả Vạn Lý Trường Thành
(CIT&TCD20190305).
The perception. This work is partially supported by the National Natural Science
Foundation of China (61977001) and the Scholar Program of the Great Wall
(CIT&TCD20190305).