• Nenhum resultado encontrado

(Sequência) Dentro do contexto da aplicação de futebol descrita anteri-

Processamento de consultas contínuas contendo preferências condicionais

Exemplo 15 (Sequência) Dentro do contexto da aplicação de futebol descrita anteri-

ormente nos Capítulo 1 e 2. Considere o esquema relacional posicionamento(local, jbola) tal que local é a posição do jogador em campo e jbola indica se o jogador tem a posse de bola. O domínio do atributo local é composto pelos valores descritos na Figura 1 do Capítulo 1. Já o atributo jbola tem o valor 1 quando o jogador possui posse de bola e 0 quando o jogador não tem a posse de bola. O comportamento dos jogadores em relação ao posicionamento e posse de bola podem ser armazenados através de sequências. Como exemplo, considere os quatro posicionamentos do jogador 1 mostrado na Figura 18(a). Estes posicionamentos são representados, instante por instante, pelas sequências da Figura 18(b).

5.2. Teorias de preferências condicionais temporais 97

ad id mc io ao

(a) Posicionamentos do jogador 1

Instante 0: s1= ⟨(id, 0)⟩

Instante 1: s1= ⟨(id, 0), (mc, 0)⟩

Instante 2: s1= ⟨(id, 0), (mc, 0), (mc, 1)⟩

Instante 3: s1= ⟨(id, 0), (mc, 0), (mc, 1), (io, 1)⟩

(b) Sequências

Figura 18 Ű Posicionamentos de um jogador e as sequências que os representam No que diz respeito ao modelo de preferência, na linguagem StreamPref as prefe- rências do usuário são expressas por meio de regras, seguindo as linhas do formalismo lógico TPref proposto por Amo e Giacometti (2007). Basicamente, as regras de preferência possuem o formato Şse determinada condição for verdadeira então tenho esta preferênciaŤ. Como exemplo, um treinador de futebol pode ter a seguinte preferência: Şse a jogada anterior foi uma recepção então preĄro que o jogador passe a bola a driblarŤ. Observe que a preferência do treinador apresenta características temporais pois os valores desejados em um dado momento são afetadas por acontecimentos passados. Estas características possibilitam aplicar as preferências temporais na comparação de sequências de forma que os valores desejados são considerados em uma posição i e os acontecimentos passados são as posições anteriores a i.

5.2 Teorias de preferências condicionais temporais

A especiĄcação das preferências temporais usadas na linguagem StreamPref utilizam fórmulas baseadas na Lógica Temporal Proposicional (LTP) (PRIOR, 1967). Na LTP as fórmulas básicas são variáveis proposicionais. No caso da StreamPref, as fórmulas básicas ou proposições são predicados obedecendo a um dos seguintes formatos:

1) Aθa, onde a ∈ Dom(A) e θ ∈ ¶<, ≤, =, ̸=, ≥, >♢; 2) aθAθa, onde a, aDom(A), a < ae θ ∈ ¶<, ≤♢.

Dada uma proposição Q(A), a notação SQ(A) = ¶a ∈ Dom(A) ♣ a ♣= Q(A)♢ denota o conjunto de valores do atributo A representado por Q(A). Os novos formatos de predicados são interessantes para expressar preferências contendo faixas de valores como por exemplo ŞpreĄro contratar jogadores com 11 a 20 gols a jogadores com 5 a 10 golsŤ. A lógica usada pela linguagem StreamPref mantém as mesmas propriedades da LTP, mas usam o novo formato de proposição. A DeĄnição 19 formaliza o conceito de fórmula StreamPref.

1) true e false são fórmulas StreamPref;

2) Se Q(A) é uma proposição sobre o atributo A, então Q(A) é uma fórmula StreamPref; 3) Se F e G são fórmulas StreamPref, então F ∧ G, F ∨ G, ¬G e ¬F são fórmulas

StreamPref.

4) Se F e G são fórmulas StreamPref, então F since G é uma fórmula StreamPref (RIBEIRO et al., 2017a).

Quanto à semântica, as fórmulas StreamPref são avaliadas de acordo com uma posição de uma sequência. Mais precisamente, uma fórmula StreamPref F é satisfeita por uma sequência s = ⟨t1, ..., tzem uma posição i ∈ ¶1, ..., z♢, denotado por (s, i) ♣= F , quando:

1) (s, i) ♣= Q(A) se e somente se existe s[i].A ♣= Q(A); 2) (s, i) ♣= F ∧ G se e somente se (s, i) ♣= F e (s, i) ♣= G; 3) (s, i) ♣= F ∨ G se e somente se (s, i) ♣= F ou (s, i) ♣= G; 4) (s, i) ♣= ¬F se e somente se s[i] ̸♣= F ;

5) (s, i) ♣= F since G se e somente se existe j onde 1 ≤ j < i e (s, j) ♣= G e (s, z) ♣= F para todo z tal que j < z ≤ i.

A fórmula true sempre é satisfeita e a fórmula false nunca é satisfeita.

Para facilitar a especiĄcação de preferências condicionais temporais por parte do usuário, a linguagem StreamPref também possui fórmulas derivadas. Dada uma proposição Q(A), as fórmulas StreamPref derivadas são as seguintes:

Prev Q(A): Equivalente a (false since Q(A)). Esta fórmula é satisfeita em uma posição

i, se Q(A) for satisfeita na posição imediatamente anterior a i, ou seja, (s, i) ♣=

Prev Q(A) se e somente se i > 1 e (s, i − 1) ♣= Q(A);

SomePrev Q(A): Equivalente a (true since Q(A)). Esta fórmula é satisfeita em uma

posição i, se Q(A) for satisfeita em qualquer posição anterior a i, ou seja, (s, i) ♣=

Prev Q(A) se e somente se existe j tal que 1 ≤ j < i e (s, j) ♣= Q(A);

AllPrev Q(A): Equivalente a (¬ SomePrev(¬Q(A))). Esta fórmula é satisfeita em

uma posição i, se Q(A) for satisfeita em todas as posições anteriores a i, ou seja, (s, i) ♣= AllPrev Q(A) se e somente se i > 1 e (s, j) ♣= Q(A) para todo 1 ≤ j < i;

First: Equivalente a (¬ Prev true). Esta fórmula é satisfeita somente na primeira posição

de uma sequência, ou seja, (s, i) ♣= First se e somente se i = 1.

Na linguagem StreamPref as proposições são chamadas de fórmulas de presente e as fórmulas derivadas são chamadas de fórmulas de passado. Além disto, tanto as fórmulas de passado quanto as fórmulas de presente (chamadas de fórmulas átomo) são usadas para compor uma condição temporal (DeĄnição 20).

DeĄnição 20 (Condição temporal). Uma condição temporal é uma fórmula StreamPref

5.2. Teorias de preferências condicionais temporais 99 conjunção das fórmulas de passado que aparecem em C. Já a notação Cé a conjunção das fórmulas de presente que aparecem em C (RIBEIRO et al., 2017a).

Exemplo 16 (Condições temporais). Considere o esquema relacional

posicionamento(local, bola, direcao) tal que Dom(bola) = ¶0, 1♢ e

Dom(direcao) = ¶frente, tras, lateral♢. O domínio do atributo local é composto

pelos valores descritos na Figura 1 do Capítulo 1. Os atributos bola e direcao indicam a posse de bola do time e a direção de movimento do jogador, respectivamente. O valor 1 indica que o time ou jogador tem a posse de bola e o valor 0 indica o contrário. Suponha que um treinador de futebol tenha as seguintes preferências:

[P1] Se, em um dado momento, o time tem a posse de bola e, imediatamente antes deste

momento, o jogador estava na intermediária defensiva, então eu preĄro que este joga- dor vá para o meio de campo e não permaneça na mesma posição, independentemente da direção de movimento do jogador;

[P2] Se, em um dado momento, o time não tem a posse de bola e, imediatamente antes

deste momento, o jogador estava na ofensiva intermediária e, em todos os momentos anteriores o time tinha a posse de bola, então eu preĄro que o jogador volte para o meio de campo e não Ąque na intermediária ofensiva;

[P3] Movimentos laterais são melhores do que movimentos para frente.

A condição da preferência P1 é expressa pela condição temporal C1 : (bola = 1) ∧

Prev(local = id), já a condição da preferência P2 é expressa pela condição temporal

C2 : (bola = 0) ∧ Prev(local = io) ∧ AllPrev(bola = 1). A preferência P3 é uma preferência sem condição ou com condição vazia. Analisando os componentes de C2, é possível observar que C

2 : Prev(local = io) ∧ AllPrev(bola = 1) e C2• : (bola = 0). Na linguagem StreamPref as preferências são representadas através de regras de preferências condicionais temporais (DeĄnição 21) que por sua vez são combinadas para formar teorias de preferências condicionais temporais (DeĄnição 22). O Exemplo 17 mostra como as preferências de um usuário são representadas por meio de uma teoria de preferências condicionais temporais.