• Aucun résultat trouvé

On the optimization of recursive relational queries.

N/A
N/A
Protected

Academic year: 2022

Partager "On the optimization of recursive relational queries."

Copied!
98
0
0

Texte intégral

(1)

On the optimization of recursive relational queries.

DIG Seminar

Louis Jachiet

Centre de Recherche en Informatique, Signal et Automatique de Lille

1

(2)

The relational algebra

(3)

Generalities

The relational algebra [Cod70]

• a set of base relations

the tables in SQL

• combined through operators

union, projection, filter, join, etc.

• operates on named tuples

2

(4)

Syntax

ϕ ::= term

| X relation variable

| |c →v| constant

| ∅ empty set

| ϕ1∪ϕ2 union

| ϕ1./ ϕ2 join

| ϕ1. ϕ2 antijoin

| σfilter (ϕ) filter

| ρba(ϕ) rename

| πP(ϕ) projection Figure 1: Syntax of the relational algebra

(5)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

πto(T) to Paris Saclay Grenoble

4

(6)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

ρstepto (T) from step Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

(7)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

ρstepto (T)./ ρstepfrom(T) from step to

Lille Paris Saclay Lille Paris Grenoble Lille Saclay Grenoble Paris Saclay Grenoble

4

(8)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

σfrom=Lille(T) from to

Lille Paris Lille Saclay

(9)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

σfrom=Paris(T)∪σfrom=Lille(T) from to

Lille Paris Lille Saclay Paris Saclay Paris Grenoble

4

(10)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

πto(T). σfrom=Lille(T) to

Grenoble

(11)

Recursive relational algebra

(12)

Syntax

ϕ ::= term

| X relation variable

| |c →v| constant

| ∅ empty set

| ϕ1∪ϕ2 union

| ϕ1./ ϕ2 join

| ϕ1. ϕ2 antijoin

| σfilter(ϕ) filtering

| ρba(ϕ) rename

| πc1,...,cn(ϕ) projection

(13)

Syntax

ϕ ::= term

| X relation variable

| |c →v| constant

| ∅ empty set

| ϕ1∪ϕ2 union

| ϕ1./ ϕ2 join

| ϕ1. ϕ2 antijoin

| σfilter (ϕ) filtering

| ρba(ϕ) rename

| π˜c(ϕ) anti-projection

Figure 2: Syntax of our relational algebra

5

(14)

Syntax

ϕ ::= term

| X relation variable

| |c →v| constant

| ∅ empty set

| ϕ1∪ϕ2 union

| ϕ1./ ϕ2 join

| ϕ1. ϕ2 antijoin

| σfilter (ϕ) filtering

| ρba(ϕ) rename

| π˜c(ϕ) anti-projection

| βab(ϕ) duplication

(15)

Syntax

ϕ ::= term

| X relation variable

| |c →v| constant

| ∅ empty set

| ϕ1∪ϕ2 union

| ϕ1./ ϕ2 join

| ϕ1. ϕ2 antijoin

| σfilter (ϕ) filtering

| ρba(ϕ) rename

| π˜c(ϕ) anti-projection

| βab(ϕ) duplication

| µ(X =ϕ) fixpoint Figure 2: Syntax of our relational algebra

5

(16)

Differences

Anti-projection Remove a column

˜

πd1(. . .˜πdk(ϕ). . .) =πc1...cn(ϕ)

Duplication Copy a column

βab(ϕ) =σa=b ϕ ./ ρba(ϕ) Fixpoints

Compute the least fixpoint of a functionS →ϕ[X/S]

Jµ(X =ϕ)KV =limn→∞Un U0=∅ Un+1=Un∪JϕKV[X/Un]

(17)

Differences

Anti-projection Remove a column

˜

πd1(. . .˜πdk(ϕ). . .) =πc1...cn(ϕ) Duplication

Copy a column

βab(ϕ) =σa=b ϕ ./ ρba(ϕ)

Fixpoints

Compute the least fixpoint of a functionS →ϕ[X/S]

Jµ(X =ϕ)KV =limn→∞Un U0=∅ Un+1=Un∪JϕKV[X/Un]

6

(18)

Differences

Anti-projection Remove a column

˜

πd1(. . .˜πdk(ϕ). . .) =πc1...cn(ϕ) Duplication

Copy a column

βab(ϕ) =σa=b ϕ ./ ρba(ϕ) Fixpoints

Compute the least fixpoint of a functionS →ϕ[X/S]

Jµ(X =ϕ)KV =limn→∞Un U0=∅

(19)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

˜

πfrom(T) to Paris Saclay Grenoble

7

(20)

Examples

T from to

Lille Paris Lille Saclay Paris Grenoble Paris Saclay Saclay Grenoble

βfromto (˜πto(T))

from to

Lille Lille Saclay Saclay Paris Paris

(21)

Examples

T+=µ(X =T ∪T/X)

T from to

Lille Paris Paris Saclay Saclay Lyon

Lyon Grenoble

from to

Lille Paris

Paris Saclay

Saclay Lyon

Lyon Grenoble Lille Saclay

Paris Lyon

Saclay Grenoble

Lille Lyon

Paris Grenoble Lille Grenoble

8

(22)

Examples

T+=µ(X =T ∪π˜ssto(X)./ ρsfrom(T)))

T from to

Lille Paris Paris Saclay Saclay Lyon

Lyon Grenoble

from to

Lille Paris

Paris Saclay

Saclay Lyon

Lyon Grenoble

Lille Saclay

Paris Lyon

Saclay Grenoble

Lille Lyon

Paris Grenoble Lille Grenoble

(23)

Examples

T+=µ(X =T ∪π˜ssto(X)./ ρsfrom(T)))

T from to

Lille Paris Paris Saclay Saclay Lyon

Lyon Grenoble

from to

Lille Paris

Paris Saclay

Saclay Lyon

Lyon Grenoble Lille Saclay

Paris Lyon

Saclay Grenoble

Lille Lyon

Paris Grenoble Lille Grenoble

8

(24)

Examples

T+=µ(X =T ∪π˜ssto(X)./ ρsfrom(T)))

T from to

Lille Paris Paris Saclay Saclay Lyon

Lyon Grenoble

from to

Lille Paris

Paris Saclay

Saclay Lyon

Lyon Grenoble Lille Saclay

Paris Lyon

Saclay Grenoble

Lille Lyon

Paris Grenoble

Lille Grenoble

(25)

Examples

T+=µ(X =T ∪π˜ssto(X)./ ρsfrom(T)))

T from to

Lille Paris Paris Saclay Saclay Lyon

Lyon Grenoble

from to

Lille Paris

Paris Saclay

Saclay Lyon

Lyon Grenoble Lille Saclay

Paris Lyon

Saclay Grenoble

Lille Lyon

Paris Grenoble Lille Grenoble

8

(26)

Limitations

Limitations on fixpoints

• recursive variables must appear positively

Noµ(X =R.X)

• no join between recursive terms

Noµ(X =X onX)

• no mutually recursive fixpoints

Noµ(X =µ(Y =X ∪Y))

→ corresponds to linear datalog!

→ superset ofWITH RECURSIVE in SQL!

(27)

Limitations

Limitations on fixpoints

• recursive variables must appear positively

Noµ(X =R.X)

• no join between recursive terms

Noµ(X =X onX)

• no mutually recursive fixpoints

Noµ(X =µ(Y =X ∪Y))

→ corresponds to linear datalog!

→ superset ofWITH RECURSIVE in SQL!

9

(28)

Limitations

Limitations on fixpoints

• recursive variables must appear positively

Noµ(X =R.X)

• no join between recursive terms

Noµ(X =X onX)

• no mutually recursive fixpoints

Noµ(X =µ(Y =X ∪Y))

→ corresponds to linear datalog!

→ superset ofWITH RECURSIVE in SQL!

(29)

Limitations

Limitations on fixpoints

• recursive variables must appear positively

Noµ(X =R.X)

• no join between recursive terms

Noµ(X =X onX)

• no mutually recursive fixpoints

Noµ(X =µ(Y =X ∪Y))

→ corresponds to linear datalog!

→ superset ofWITH RECURSIVE in SQL!

9

(30)

Performance of recursive queries

(31)

An example

:Lille:TGV/:Bus ?o

10

(32)

An example

:Lille:TGV/:Bus ?o

L

(33)

An example

:Lille:TGV/:Bus ?o

L

10

(34)

An example

:Lille:TGV/:Bus ?o

L

(35)

An example

:Lille:TGV/:Bus ?o

L

10

(36)

An example

:Lille:TGV/:Bus ?o

L

(37)

An example

:Lille:TGV/:Bus ?o

L

10

(38)

An example

:Lille:TGV/:Bus ?o

L

(39)

An example

:Lille:TGV/:Bus ?o

L

10

(40)

An example

:Lille:TGV/:Bus ?o

L

(41)

An example

:Lille:TGV/:Bus ?o

L

10

(42)

An example

:Lille:TGV/:Bus ?o

L

(43)

An example

:Lille:TGV/:Bus ?o

L

10

(44)

An example

:Lille:TGV/:Bus ?o

L

(45)

An example

:Lille:TGV/:Bus ?o

L

10

(46)

An example

:Lille:TGV/:Bus ?o

L

(47)

An example

:L :TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪:Bus/X)))

11

(48)

An example

:L :TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪:Bus/X)))

(49)

An example

:L :TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪:Bus/X)))

11

(50)

Benchmarking

102 103 104 105 106

10−2 10−1 100 101

number of nodes n

Time(s)

Postgres SQLite Virtuoso

ARQ1

ARQ2

DLV1 DLV2 Ramsdell2 Ramsdell1

Vlog1

Vlog2

12

(51)

Benchmarking

Logicblox

• Materialization of all intermediate predicate

• ... except for “on demand” predicate

• therefore manual optimization

13

(52)

Rewrite rules

Rewrite rules for fixpoints

• pushing filters?

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins?

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins?

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections?

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

• combine fixpoints?

µ(X =ψ∪κ)./ µ(X =ϕ∪ξ)=? µ(X =ψ ./ ϕ∪ξ∪κ)

(53)

Rewrite rules

Rewrite rules for fixpoints

• pushing filters?

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins?

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins?

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections?

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

• combine fixpoints?

µ(X =ψ∪κ)./ µ(X =ϕ∪ξ)=? µ(X =ψ ./ ϕ∪ξ∪κ)

14

(54)

Rewrite rules

Rewrite rules for fixpoints

• pushing filters?

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins?

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins?

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections?

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

• combine fixpoints?

µ(X =ψ∪κ)./ µ(X =ϕ∪ξ)=? µ(X =ψ ./ ϕ∪ξ∪κ)

(55)

Rewrite rules

Rewrite rules for fixpoints

• pushing filters?

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins?

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins?

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections?

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

• combine fixpoints?

µ(X =ψ∪κ)./ µ(X =ϕ∪ξ)=? µ(X =ψ ./ ϕ∪ξ∪κ)

14

(56)

Rewrite rules

Rewrite rules for fixpoints

• pushing filters?

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins?

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins?

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections?

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

• combine fixpoints?

µ(X =ψ∪κ)./ µ(X =ϕ∪ξ)=? µ(X =ψ ./ ϕ∪ξ∪κ)

(57)

Rewrite rules

Rewrite rules for fixpoints

• Reverse fixpoints?

• pushing filters?

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins?

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins?

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections?

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

14

(58)

An example

:L:TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV/βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV∪X/:Bus)))

˜

π?s(µ(X =σ?s=:L(:TGV)∪X/:Bus))

µ(X = ˜π?s?s=:L(:TGV))∪X/:Bus)

(59)

An example

:L:TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV/βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV∪X/:Bus)))

˜

π?s(µ(X =σ?s=:L(:TGV)∪X/:Bus))

µ(X = ˜π?s?s=:L(:TGV))∪X/:Bus)

15

(60)

An example

:L:TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV/βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV∪X/:Bus)))

˜

π?s(µ(X =σ?s=:L(:TGV)∪X/:Bus))

µ(X = ˜π?s?s=:L(:TGV))∪X/:Bus)

(61)

An example

:L:TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV/βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV∪X/:Bus)))

˜

π?s(µ(X =σ?s=:L(:TGV)∪X/:Bus))

µ(X = ˜π?s?s=:L(:TGV))∪X/:Bus)

15

(62)

An example

:L:TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV/βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV∪X/:Bus)))

˜

π?s(µ(X =σ?s=:L(:TGV)∪X/:Bus))

µ(X = ˜π?s?s=:L(:TGV))∪X/:Bus)

(63)

An example

:L:TGV/:Bus ?o

˜

π?s?s=:L(:TGV/µ(X =βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV/βso(AllNodes)∪X/:Bus)))

˜

π?s?s=:L(µ(X =:TGV∪X/:Bus)))

˜

π?s(µ(X =σ?s=:L(:TGV)∪X/:Bus))

µ(X = ˜π?s?s=:L(:TGV))∪X/:Bus)

15

(64)

Other methods of optimization

Datalog?

No combination of fixpoints Automata based techniques?

Step by Stepand no conjunction

(a/b/c)+ vs ((a/b)/c)+ vs ((a/b/c))+ Special joins (RDF-3X ferari)?

Compute efficientlyA./(B)∗but same problem...

Waveguide

Efficient on a single RPQ but cannot optimize across RPQ.

(65)

Theoretical framework

(66)

Decomposition

Decomposed fixpoints

Given a fixpointµ(X =ϕ) it can be rewritten to µ(X =ϕcon∪ϕrec) with:

• ϕcon constant,i.e. JϕconKV[X/∅]=JϕconKV[X/S]

• ϕrec recursive,i.e. JϕconKV[X/∅]=∅

(67)

Lineage

Linearity of fixpoints Given a fixpointµ(X =ϕ):

JϕKV[X/S]=JϕKV[X/∅]

[

w∈S

JϕKV[X/{w}]

Lineage

For eachm∈Ui+1\Ui we can find w ∈Ui such thatm∈f(w) withf(w) =JϕKV[X/{w}]\JϕKV[X/∅].

u f u1

w w1

w2

f

w3 f w4 f f

18

(68)

Lineage

Linearity of fixpoints Given a fixpointµ(X =ϕ):

JϕKV[X/S]=JϕKV[X/∅]

[

w∈S

JϕKV[X/{w}]

Lineage

For eachm∈Ui+1\Ui we can find w ∈Ui such thatm∈f(w) withf(w) =JϕKV[X/{w}]\JϕKV[X/∅].

u f u

w w1

w2

f

w3 f w4 f f

(69)

Examples

LYS/GRE

SAC/LYS SAC/GRE

PAR/SAC PAR/LYS PAR/GRE

LIL/PAR LIL/SAC LIL/LYO LIL/GRE

T+ =µ(X =T ∪X/T) T

from to Lille Paris Paris Saclay Saclay Lyon

Lyon Grenoble 19

(70)

Invariant

How the elements off(w) depend onw?

Stabilizers

For eachw,m∈f(w) andc ∈stab(ϕ): m(c) =w(c).

u f u1

w w1

w2

f

w3 f w4

f f

σfilter(µ(X =ϕ)) =µ(X =σfilter(ϕ)) whenfilter operates on stab(ϕ)

(71)

Invariant

How the elements off(w) depend onw? Stabilizers

For eachw,m∈f(w) andc ∈stab(ϕ): m(c) =w(c).

u f u1

w w1

w2

f

w3 f w4

f f

σfilter(µ(X =ϕ)) =µ(X =σfilter(ϕ)) whenfilter operates on stab(ϕ)

20

(72)

Invariant

How the elements off(w) depend onw? Stabilizers

For eachw,m∈f(w) andc ∈stab(ϕ): m(c) =w(c).

u f u1

w w1

w2

f

w3 f w4

f f

σfilter(µ(X =ϕ)) =µ(X =σfilter(ϕ)) when filter operates on stab(ϕ)

(73)

Examples

LYS/GRE

SAC/LYS SAC/GRE

PAR/SAC PAR/LYS PAR/GRE

LIL/PAR LIL/SAC LIL/LYO LIL/GRE

σfrom=Lille T+

=µ(X =σfrom=Lille(T)∪X/T) σto=Lille T+

6=µ(X =σfrom=Lille(T)∪X/T)

21

(74)

Invariant

How the elements off(w) depend onw? Added columns

For eachc ∈add(ϕ): f(w)./|c →v|=f(w ./|c →v|)

u f u1

w w1

w2

f

w3 f w4 f f

ψ ./ µ(X =ϕ) =µ(X =ψ ./ ϕ) when sort(ψ)⊆stab(ϕ)

andsort(ψ)⊆add(ϕ)∪sort(µ(X =ϕ))

(75)

Rewrite rules

Rewrite rules for fixpoints

• pushing filters

σfilter (µ(X =ϕ))=? µ(X =σfilter(ϕ))

• pushing joins

ψ ./ µ(X =ϕ)=? µ(X =ψ ./ ϕ)

• pushing antijoins

µ(X =ϕ). ψ =? µ(X =ϕ . ψ)

• pushing anti-projections

˜

πp(µ(X =ϕ))=? µ(X = ˜πp(ϕ))

• combine fixpoints

µ(X =ψ∪κ)./ µ(X =ϕ∪ξ)=? µ(X =ψ ./ ϕ∪ξ∪κ)

23

(76)

Streams

(77)

Streams

Streams are one-way communication channels

R S

end

24

(78)

Streams

Streams are one-way communication channels

R S

end

(79)

Streams

Streams are one-way communication channels

R S

end

24

(80)

Streams

Streams are one-way communication channels

R S

end

(81)

Streams

Streams are one-way communication channels

R S

end

24

(82)

Streams: a a good abstraction for iterative distributed execu- tion

• no order of messages

• not necessarily a DAG

• fast single machine communication and slow inter-machine communication

• partial typing of message content (for fast serialization)

(83)

Streams: a a good abstraction for iterative distributed execu- tion

• no order of messages

• not necessarily a DAG

• fast single machine communication and slow inter-machine communication

• partial typing of message content (for fast serialization)

25

(84)

Streams: a a good abstraction for iterative distributed execu- tion

• no order of messages

• not necessarily a DAG

• fast single machine communication and slow inter-machine communication

• partial typing of message content (for fast serialization)

(85)

Streams: a a good abstraction for iterative distributed execu- tion

• no order of messages

• not necessarily a DAG

• fast single machine communication and slow inter-machine communication

• partial typing of message content (for fast serialization)

25

(86)

Execution of µ-algebra terms with streams

start

Xn

. . . X1 I2 I1

ϕ

out

(87)

Streams

Streams forµ(X =X/T ∪T)

X /T T

X

out

27

(88)

Benchmarking

(89)

Q2

102 103 104 105 106 107 108

10−2 10−1 100 101 102

Number of nodes

Time(s) Prototype

Ramsdell DLV Vlog Postgres MariaDB

Figure 4: ?a (P1+)/(P5+) ?b.

28

(90)

Q3

102 103 104 105 106 107 108

10−2 10−1 100 101 102

Number of nodes

Time(s) Prototype

Ramsdell DLV Vlog Postgres MariaDB

(91)

Q7

102 103 104 105 106 107 108

10−2 10−1 100 101 102

Number of nodes

Time(s) Prototype

Ramsdell DLV Vlog Postgres MariaDB

Figure 6: N0P1/(P2+) ?a

30

(92)

Q10

102 103 104 105 106 107 108

10−2 10−1 100 101 102

Number of nodes

Time(s) Prototype

Ramsdell DLV Vlog Postgres MariaDB

(93)

Why recursive queries?

• Evaluate property paths

• Evaluate general recursive queries

• OBDA without rewriting nor materialization

32

(94)

What am I doing now?

(95)

Questions?

34

(96)

Edgar F Codd.

A relational model of data for large shared data banks.

Communications of the ACM, 13(6):377–387, 1970.

(97)

Semantics

(98)

Semantics

1./ ϕ2KV = {m1+m2 |m1 ∈Jϕ1KV ∧m2∈Jϕ2KV ∧m1 ∼m2} Jϕ1∪ϕ2KV = Jϕ1KV ∪Jϕ2KV

1. ϕ2KV = {m∈Jϕ1KV | ∀m0 ∈Jϕ2KV ¬(m0 ∼m)}

Jπ˜a(ϕ)KV = n

{c →v ∈m|c 6=a}

m∈JϕKV

o

JXKV = V(X) Jβab(ϕ)KV = n

{c →v ∈m|c 6=b} ∪ {b→v |a→v ∈m}

m∈JϕKV

o

filter(ϕ)KV = {m|m∈JϕKV ∧filter(m) =>}

Jµ(X =ϕ)KV = JXKV[X/U], U0=∅, Ui+1 =Ui ∪JϕKV[X/Ui]

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

L’accès à ce site Web et l’utilisation de son contenu sont assujettis aux conditions présentées dans le site LISEZ CES CONDITIONS ATTENTIVEMENT AVANT D’UTILISER CE SITE

ةرضاحلما ةقيرط ذيفنت ءانثأ اهلامعتساب ى صوي يتلا تاينقتلا نم ضعبل ضرع يلي اميفو :ةيلعافتلا 3 - 1 - :ينهذلا فصعلا ةينقت Brainstorming ىلع ةلئسلأا حرط ىلع

D'une manière générale, le modèle proposé retranscrit correctement les résultats expérimentaux. Contrairement à beaucoup de modèles de lois de comportement, il

Ce chef incontesté n'est pas venu au monde que pour faire de la musique, c'est vrai, mais celle-ci s'est emparée de lui et l'a entraîné vers des horizons qui font que ce

In Section 8.3, we present how we designed our system around a scalable infrastructure for supporting the mass of worldwide gtfs information, how we leverage various data sources

Pour Lavoisier, qui semble alors reprendre une hypothèse émise par Boerhaave (1668-1738), la planète que nous habitons est environnée de toutes parts d’un fluide très-subtil

The goal of this doctoral thesis is the research on a Micromix combustor with increased power densities fueled with hydrogen-rich syngas with about 90% by volume