---
title: 'PEUCS: Utility Co-occurrence Structure'
url: https://www.emergentmind.com/topics/period-estimated-utility-co-occurrence-structure-peucs
type: topic
---

# PEUCS: Utility Co-occurrence Structure

Searching arXiv for the specified paper and closely related periodic high-utility pattern mining work.
Period-estimated Utility Co-occurrence Structure (PEUCS) is a pairwise aggregation structure introduced in "Discovering Top-k Periodic and High-Utility Patterns" for top-$k$ periodic high-utility pattern mining under positive and negative utilities [2509.15732]. In that setting, PEUCS is used alongside positive and negative utility lists (PNUL) to store 2-item co-occurrence information needed for threshold raising and pruning. For each ordered pair $x \prec y$, it records redefined transaction-weighted utility, pairwise utility, periodicity bounds, and support in a compact 5-tuple. Within the TPU algorithm, PEUCS serves as the basis for the periodic co-occurrence utility descending (PCUD) threshold-raising strategy, and more broadly supports efficient discovery of the most significant top-$k$ periodic and high-utility patterns, including cases with negative utility values [2509.15732].

## 1. Formal definition

Let $I$ be the set of all items, and let $D$ be a transaction database in which each transaction $T_k$ has identifier $\mathrm{tid}_k$ and contains a subset of $I$. Each item $x \in T_k$ carries an internal utility $\mathrm{iu}(x,T_k)$ and an external utility $\mathrm{eu}(x)$. The utility of an item in a transaction is defined as
$$
U(x,T_k)=\mathrm{iu}(x,T_k)\cdot \mathrm{eu}(x),
$$
and for an item pair $\{x,y\}$ appearing in $T_k$,
$$
U(\{x,y\},T_k)=U(x,T_k)+U(y,T_k).
$$

The redefined transaction utility for a transaction is
$$
RTU(T_k)=\sum_{i\in T_k,\;\mathrm{eu}(i)>0} U(i,T_k),
$$
and the redefined transaction-weighted utility for a pair is
$$
RTWU(x,y)=\sum_{\{x,y\}\subseteq T_k\subseteq D} RTU(T_k).
$$
If $\mathrm{Per}(\{x,y\})$ denotes the multiset of adjacent-tid differences between consecutive transactions containing both $x$ and $y$, with $\mathrm{tid}_0=0$ and $\mathrm{tid}_{last+1}=|D|$, then the associated periodic statistics are:
$$
\min Per(x,y)=\min\{\mathrm{Per}(\{x,y\})\setminus\{first,last\},
$$
$$
\max Per(x,y)=\max \mathrm{Per}(\{x,y\}),
$$
$$
sup(x,y)=|\{T_k:\{x,y\}\subseteq T_k\}|.
$$
Over all transactions, the global pair utility is
$$
U(x,y)=\sum_{\{x,y\}\subseteq T_k\subseteq D} U(\{x,y\},T_k).
$$

PEUCS is then defined as follows: for each ordered pair $x \prec y$, the entry $\mathrm{PEUCS}[x,y]$ is the 5-tuple
$$
\big(RTWU(x,y),\; U(x,y),\; \min Per(x,y),\; \max Per(x,y),\; sup(x,y)\big)
$$
[2509.15732].

This definition situates PEUCS as a pair-level summary structure rather than a list-based vertical representation. It is designed to capture utility and periodicity simultaneously, allowing subsequent threshold raising to be performed directly from precomputed pair statistics.

## 2. Internal layout and stored quantities

PEUCS is described as a global, in-memory, symmetric matrix in which only entries with $x \prec y$ are stored [2509.15732]. Each such entry aggregates, over all transactions in one pass, the following quantities:

| Component | Meaning |
|---|---|
| $RTWU(x,y)$ | Sum of $RTU(T_k)$ over all transactions containing $x,y$ |
| $U(x,y)$ | Sum of $U(x,T_k)+U(y,T_k)$ over all transactions containing the pair |
| $sup(x,y)$ | Support count of the pair |
| $\min Per(x,y)$ | Minimum periodic gap, computed on-the-fly |
| $\max Per(x,y)$ | Maximum periodic gap, computed on-the-fly |

The structure is paired with PNUL, the Positive/Negative Utility List. For any itemset $X$, PNUL stores tuples of the form $[\mathrm{tid}, pu, nu, ru]$, where $pu$ is the positive utility of $X$ in the transaction, $nu$ is the negative utility of $X$ in the transaction, and $ru$ is the remaining positive utility of items $\succ X$ in that transaction [2509.15732]. PNUL is used to build higher-order utility lists, whereas PEUCS stores 2-item aggregate information.

A notable design choice is that positive and negative utilities are folded into $U(x,y)=PU(x,y)+NU(x,y)$, while $RTWU$ always uses only positive-part sums [2509.15732]. This division allows PEUCS to accommodate negative utility values without altering the upper-bound behavior of $RTWU$.

This layout suggests that PEUCS is intended not as a general-purpose itemset repository, but as a specialized pairwise synopsis optimized for rapid threshold adjustment before or during deeper search.

## 3. Construction from the transaction database

PEUCS is built by a single scan of the database [2509.15732]. In a transaction $T_k$ with identifier $\mathrm{tid}_k$, let
$$
L=(i_1 \prec i_2 \prec \dots \prec i_\ell)
$$
be the items of $T_k$ sorted by the chosen total order. For every pair of positions $1 \le p < q \le \ell$, the algorithm considers $(x,y)=(i_p,i_q)$ and updates the corresponding entry.

If no entry exists, it is initialized with:
- $z.RTWU := 0$
- $z.U := 0$
- $z.sup := 0$
- $z.lastTid := 0$
- $z.minPer := +\infty$
- $z.maxPer := 0$

The updates are then:
- $z.RTWU \mathrel{+}= RTU(T_k)$
- $z.U \mathrel{+}= U(x,T_k)+U(y,T_k)$
- $\Delta := \mathrm{tid}_k - z.lastTid$

If $z.sup > 0$, then:
- if $z.lastTid \ne 0$, set $z.minPer := \min(z.minPer,\Delta)$
- set $z.maxPer := \max(z.maxPer,\Delta)$

Otherwise, for the first occurrence:
- set $z.maxPer := \Delta$

Finally:
- $z.sup \mathrel{+}=1$
- $z.lastTid := \mathrm{tid}_k$

The paper provides the following pseudocode for `buildPEUCS` [2509.15732]:

```text
for each transaction Tₖ∈D do
    compute RTU(Tₖ)=∑_{i∈Tₖ,eu(i)>0}U(i,Tₖ)
    let L be the items of Tₖ sorted by the ≺ order
    for p=1 to |L|−1 do
      for q=p+1 to |L| do
        (x,y)←(L[p],L[q]);  z←PEUCS[x,y] or init z
        z.RTWU += RTU(Tₖ)
        z.U    += U(x,Tₖ)+U(y,Tₖ)
        Δ = tidₖ−z.lastTid
        if z.sup>0 then
          if z.lastTid>0 then z.minPer ← min(z.minPer,Δ)
          z.maxPer ← max(z.maxPer,Δ)
        else
          z.maxPer ← Δ
        z.sup+=1;  z.lastTid=tidₖ
        PEUCS[x,y]=z
```

Because construction is pairwise within each transaction, the structure is sensitive to transaction length rather than only database size. That property is reflected directly in the complexity bounds reported for PEUCS.

## 4. Function within threshold-raising strategies

PEUCS is integrated into the TPU algorithm through three threshold-raising strategies: periodic real item utility (PIU), periodic co-occurrence utility descending (PCUD), and periodic real utility (PRU) [2509.15732]. Of these, PEUCS is directly central to PCUD.

PIU operates after the first scan, when for each single item $i$ one knows its total utility $U(i)$ and its periodic measures $(\min Per(i), \max Per(i), avgPer(i))$. The set
$$
P=\{U(i): i \text{ satisfies periodic constraints}\}
$$
is sorted descending, and if $|P|\ge k$, with $k$ the desired number of patterns, then $\minutil$ is set to the $k$-th largest value:
$$
\minutil \leftarrow \pi_k.
$$
This strategy does not require PEUCS, but establishes an initial threshold that conditions later pair filtering.

PCUD is the PEUCS-driven stage. Once PEUCS is built, all pairs $(x,y)$ are collected for which $RTWU(x,y)\ge \minutil$ and the pair satisfies periodic constraints jointly. For each such pair, its utility $U(x,y)$ is recorded. If
$$
Q=\{U(x,y)\}
$$
is sorted descending and $|Q|\ge k$, with $\theta_k$ the $k$-th largest value, then
$$
\minutil \leftarrow \theta_k.
$$
Because PEUCS already provides $(RTWU,U,\min Per,\max Per)$ for every pair, this lookup is reported as $O(b^2)$ where $b=|I|$ after single-item pruning [2509.15732]. The paper explicitly notes that, in practice, PEUCS allows PCUD to be computed in one pass over $O(b^2)$ entries instead of repeatedly joining utility lists.

PRU is used during the depth-first search. A min-heap of size at most $k$ stores discovered periodic high-utility itemsets by true utility $U(\cdot)$. Once $k$ patterns are in the heap, letting $\mu$ be the smallest utility currently present, the threshold is raised dynamically by
$$
\minutil \leftarrow \mu.
$$

The significance of PEUCS lies in its role as the bridge between single-item prefiltering and deeper itemset search. It provides sufficient 2-item utility and periodicity information to make a substantial threshold adjustment before more expensive utility-list joins dominate execution.

## 5. Complexity and empirical effects

The analytical cost of building PEUCS is
$$
\sum_{T_k\in D} O(|T_k|^2),
$$
which is $O(m\cdot a^2)$ when $m=|D|$ and the average transaction length is $a$ [2509.15732]. Its space complexity is $O(b^2)$ for storing pair entries, where $b$ is the number of items after single-item pruning. Computing PCUD from PEUCS is $O(b^2)$ time with $O(1)$ extra space, while PIU is $O(b\log b)$ [2509.15732].

During the depth-first search, the usual utility-list joins remain dominant. The paper states that pruning by RTWU, RU, and maxPer/avgPer reduces the number of constructed lists; in the worst case the search can still be exponential in $b$, but raised $\minutil$ and periodicity pruning reduce the search dramatically in practice [2509.15732].

The experimental results reported for the threshold-raising strategies associated with PEUCS are specific. On six real datasets with negative profits, introducing PCUD and PRU on top of PIU reduced overall runtime by about 5% on average [2509.15732]. On dense datasets with many positive co-occurrences, namely `mushroom_negative` and `kosarak_negative`, runtime fell by up to 50%, and for `chess_negative` by about 10% [2509.15732]. Memory usage fell by about 2% overall, with a peak gain of 30% on `mushroom_negative`, which the paper attributes to fewer candidate utility lists being kept in memory [2509.15732].

These results indicate that the principal value of PEUCS is not asymptotic improvement of the full search problem, but earlier and more aggressive threshold raising that lowers the practical cost of subsequent exploration.

## 6. Running example and interpretive significance

The paper presents a toy database of ten transactions with transaction identifiers $1$ through $10$ over items $\{a,b,c,d,e,f,g\}$, with external utilities given in the paper and periodicity thresholds
$$
\min Per=1,\quad \max Per=5,\quad minAvg=1,\quad maxAvg=5,\quad k=3
$$
[2509.15732].

In the first scan, single-item utilities are computed and PIU is applied. The retained positive-utility items are:
- $U(a)=20$
- $U(d)=54$
- $U(b)=35$
- $U(f)=132$

Items $c,e,g$ are negative and discarded at that stage. Sorting $\{132,54,35,20\}$ gives a 3rd largest value of $35$, so the first threshold becomes
$$
\minutil_1=35
$$
[2509.15732].

In the rescan, PEUCS is built. For transaction $1$ with $\mathrm{tid}=1$, items $(g,e,c,a,d)$ produce pairs such as:
- $(g,e)$: $RTU_1=11 \rightarrow RTWU=11$, $U(g,e)=-1+(-4)=-5$, $sup=1$, $maxPer=1$
- $(g,c)$: $RTWU=11$, $U=-1+(-1)=-2$

After all ten transactions, the paper reports example PEUCS entries from Table 7:
- $\mathrm{PEUCS}[g,d]=(RTWU=88,\; U=20,\; \min Per=1,\; \max Per=2,\; sup=5)$
- $\mathrm{PEUCS}[b,f]=(RTWU=143,\; U=120,\; \min Per=1,\; \max Per=3,\; sup=4)$
- $\mathrm{PEUCS}[c,f]=(RTWU=147,\; U=77,\; \min Per=1,\; \max Per=3,\; sup=5)$
[2509.15732]

PCUD then keeps pairs with $RTWU \ge 35$ and satisfying $1 \le \min Per \le \max Per \le 5$. Their utility values, sorted, include:
- $143 \rightarrow U(b,f)=120$
- $107 \rightarrow U(d,f)=90$
- $147 \rightarrow U(c,f)=77$

The 3rd largest is $77$, yielding
$$
\minutil_2=77
$$
[2509.15732].

During the subsequent depth-first search, the first periodic high-utility itemsets found include $\{f:132\}$, $\{b,f:120\}$, and $\{d,f:90\}$. Once these three fill the top-$k$ heap, the smallest utility among them is $90$, so
$$
\minutil_3=90
$$
and any partial candidate whose $PU+RU<90$, or $RTWU<90$, or $\max Per>5$ is pruned immediately [2509.15732]. The final top-3 patterns are $\{f:132\}$, $\{b,f:120\}$, and $\{d,f:90\}$.

A plausible implication is that the example is structured to show PEUCS as an intermediate representation that materially sharpens the threshold before recursive search begins in earnest. The paper’s summary makes this interpretation explicit: PEUCS provides a compact, one-pass aggregation of all 2-item co-occurrences’ positive and negative utilities together with full periodicity statistics, and this precomputed structure underlies PCUD while reducing the number of utility-list joins in the subsequent search [2509.15732].

Source: https://www.emergentmind.com/topics/period-estimated-utility-co-occurrence-structure-peucs