M C I O BAZE DE CUNOŞTINŢE A H E O L N -...

32
M C SISTEME DE RA Ț IONAMENT CU REGULI DE PRODUC Ț IE BAZE DE CUNOŞTINŢE I H A E L A O L H O N

Transcript of M C I O BAZE DE CUNOŞTINŢE A H E O L N -...

Page 1: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

M C

S I S T E M E D E R A Ț I O N A M E N T C U R E G U L I D E P R O D U C Ț I E

BAZE DE CUNOŞTINŢE

MI

HAELA

COLHON

Page 2: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ISTORIC

Deși din punct de vedere formal, regulile de producție provin din modelul computațional propus de Post (în 1943), forma de exprimare a cunoștințelor utilizând reguli precede cu mult apariția calculatoarelor. Jaynes (în 1976) descria o colecție de 20 00030 000 de tăblițe babiloniene, dintre care aproximativ 20% conțin o mulțime de reguli de productie, numite omenuri, pentru îndrumarea activității de zi cu zi. Aceste reguli au numite omenuri, pentru îndrumarea activității de zi cu zi. Aceste reguli au fost catalogate încă din anul 650 I.C. și aveau o formă asemănătoare celei din sistemele bazate pe reguli din IA, de exemplu:

"Dacă un cal intră în casa unui om și mușcă acel om, atunci proprietarul casei va muri și casa lui se va prăbuși."

"Dacă un om calcă, din neatenție, o șopîrlă și o omoară, atunci el va triumfa asupra unui adversar al său."

Page 3: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

SISTEME BAZATE PE CUNOȘTINȚE

Caracteristici:

• sunt definite pentru un

domeniul precis de

cunoaștere/cunoștințecunoaștere/cunoștințe

• sunt proiectate pentru

rezolvarea problemelor ce

necesită un volum mare de

cunoștințe

• sunt înzestrate cu toate cunoștințe pe care le are un expert uman în domeniul sistemului

Page 4: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STRUCTURA UNUI S.B.C.

Metoda de reprezentare a cunoștințelor

Page 5: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STRUCTURA DE BAZĂ A UNUI SBC

Principalele trei module ale unui SBC sunt:

• o bază de cunoștințe

• un motor de inferență

• o interfață cu utilizatorul• o interfață cu utilizatorul

Baza de cunoștințe: cuprinde toate cunoștințele sistemului ce pot avea diverse reprezentări: fapte, reguli,metode, euristici sau diverse informații pentru rezolvarea problemei

Motorul de inferență: utilizează în mod activ cunoștințele din baza de cunoștințe

Interfața cu utilizatorul: împreuna cu motorul de inferență formează shell-ul SBCurilor

Page 6: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

REPREZENTAREA CUNOȘTINȚELOR CU REGULI IF-THEN

Regulile de tip if-then numite și reguli de producție constituie o formă naturală de exprimare a cunoștințelor:

• modularitate: fiecare regulă definește o cantitate relativ mică și independentă de cunoștințerelativ mică și independentă de cunoștințe

• icrementabilitate: noi reguli pot fi adăugate relativ independent de celelalte reguli din bază

• modificabilitate: rezultă din modularitate

• susțin transparența sistemului (transparența = abilitatea sistemului de a genera explicații la soluțiile găsite)

Page 7: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

TIPURI DE REGULI.REGULI DE PRODUCTIE

Caracteristici:

• construite manual de catre experti

• sunt executate de motoare de inferenta specifice (ex. Jess, CLIPS, etc.)

Exemple:

IF temperatura=„foarte_mare” THEN risc_cardiac=„mare”

Page 8: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

TIPURI DE REGULI.REGULI DE PRODUCTIE CU EXCEPTII

Caracteristici:

• construite manual de catre experti

• exista motoare de inferenta care le suporta

Exemple:Exemple:

IF Forma_angajare=„salariat” THEN Nivel Risc=„mic” UNLESS Nivel debit=„mare”

Page 9: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

TIPURI DE REGULI.REGULA DE PRODUCTIE FUZZY

Caracteristici:

• construite manual de catre experti

• exista motoare de inferenta (fuzzy) care le suporta

Exemple:Exemple:

IF temperatura=„mare” AND nas_infundat=„yes” THEN diagnostic=„gripa” CF 80%

Page 10: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

GENERAREA EXPLICAȚIILOR FOLOSIND REGULI DE PRODUCȚIE

Regulile de producție facilitează generarea răspunsului pentru următoarele doua tipuri de întrebări:

• întrebări de tipul cum: Cum s-a ajuns la acest răspuns/această soluție?

intrebări de tipul de ce: De ce s-a folosit această • intrebări de tipul de ce: De ce s-a folosit această informație?

Generarea explicațiilor este o trasătură importantă a SBC pentru că în felul acesta se pot verifica raționamentele și astfel se pot depista ușor posibilele erori.

Page 11: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STUDIU DE CAZ

bucatarie_uscat

hol_ud

scurgere_baie

fereastra

bucatarie

baie

baie_uscat

fereastra_inchisa

fara_ploaie

problema la bucatarie

fara_apa_din_afara

scurgere_in_bucatarie

baie hol

Page 12: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

SBC CU REGULI DE PRODUCȚIE

Mecanismul de inferenţă poate folosi trei moduri de raţionament:

• forward, dirijat de fapte (inferenţă cu înlănţuire înainte)

• backward, dirijat de scop (inferenţă cu înlănţuire înapoi)

• mixt

Page 13: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

INFERENȚA IN SBC CU REGULI DE PRODUCȚIE

Page 14: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIRE ÎNAINTE VS ÎNLĂNȚUIRE ÎNAPOI

Regulile if-then formează lanțuri de forma:

informatie_input →→→→ ... →→→→ informatie_dedusă

Informația de intrare = datele sistemului

Informația dedusă = ipotezele sistemuluiInformația dedusă = ipotezele sistemului

Atât înlănțuirea înapoi cât și înlănțuirea înainte presupun căutare, însă direcția de căutare este diferită.

• înlănțuirea înapoi este orientată către scop

• înlănțuirea înainte este orientată către date

Page 15: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

SBC CU REGULI DE PRODUCȚIE. FORMALISM

Un SBC cu reguli de producție este un tuplu (CP, CD, CF, R, M) , în care:

• CP = {s1,……,sk} este o mulţime finită de simboluri care reprezintăcunoştinţele primare.

• CD = {q1,……,qr} este o mulţime finită, ale cărei elemente• CD = {q1,……,qr} este o mulţime finită, ale cărei elementereprezintă cunoştinţele intermediare deduse.

• CF = {p1,……,pn} este o mulţime finită de simboluri astfel încât fiecare simbol pi reprezintă o concluzie finală sau o cunoştinţă finală.

• R este o mulţime finită de reguli de forma

• IF premiză THEN concluzie

• M este motorul de inferenţe. Sarcina principală a acestuia estede a combina regulile din R pentru a obţine ca rezultat unul saumai multe elemente din CF.

Page 16: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

SBC CU REGULI DE PRODUCȚIE

Este necesar să facem următoarele precizări:

• Un sistem de deducţie este capabil să efectueze un raţionament într-un anumit domeniu precizat foarte exact încă de la proiectarea lui. De aceea, mulţimea CF este mulţimea tuturor concluziilor pe care le poate CF este mulţimea tuturor concluziilor pe care le poate deduce.

• Mulţimea CP reprezintă mulţimea tuturor cunoştinţelorprimare pe care le poate utiliza sistemul. Astfel spus, elementele lui CP reprezintă toate situaţiile iniţiale posibile.

Page 17: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLANȚUIRE ÎNAINTE

Pentru realizarea unei deducţii particulare folosind înlănțuirea înainte motorul de inferenţe utilizează o submulţime CP0 ⊆ CP şi pe baza regulilor din R obţine, dacă este posibil, o submulţime CF0 ⊆ CF. Avem următoarele două cazuri:următoarele două cazuri:

• CF0 = ∅; în acest caz motorul de inferenţe nu poaterealiza deducţia pe baza cunoştinţelor din CP0.

• CF0 ≠ ∅; în acest caz rezultatul deducţiei esteconjunţia logică a elementelor din CF0.

Page 18: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIREA ÎNAINTE

Considerăm secvenţa {Xi}i de mulţimi definite recursivastfel:

X0 = CP0

Xn+1 = Xn ∪ {d| ∃ Ri : Ri (c1 , ……, ck ; d), c1 , ……, ck ∈ Xn}n+1 n i i 1 k 1 k n

Relativ la secvenţa de mulţimi {Xn}n definită mai sus, putem demonstra urmatoarele proprietăţi:

Propoziţie:

• Există n0 astfel încât X0 ⊂ X1 ⊂ … ⊂ Xn0 = Xn+1 şi Xn0 = Xn0+t

pentru orice t ≥ 0

• d ∈ Xn0 dacă şi numai dacă d este deductibil din CP0

Page 19: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIREA ÎNAINTE

Un element d ∈ CD ∪ CF este deductibil din CP0

dacă există o secvență (y1, ..., yr) a.î.

1) d= yr

2) pt. ∀ i ∈ {1,...,r} avem yi ∈ CP0 sau există o regulă R ∈ R i există (y , ..., y ) cu m , ..., m < i a.î.

i 0

Rj ∈ R și există (ym1, ..., ymk) cu m1, ..., mk < i a.î. Rj(ym1, ..., ymk; yi)

Page 20: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIREA ÎNAINTE

Propoziție.

1) Există n0 a.î. X0 ⊂ X1 ⊂ ... Xn0 = Xn0+1 și Xn0 = Xn0+t, ∀t ≥1.

2) d ∈ Xn0 dacă și numai dacă d este deductibil din CP .

n0

CP0.

Page 21: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIREA ÎNAPOI

Pentru o submulțime D ⊆ CP ∪ CD ∪ CF vom nota cu Subst(D) mulţimea submulţimilor A ⊆ CP ∪ CD ∪ CF obţinute din D astfel:

• D ∩ CP ⊆ A

pentru fiecare element y ∈ D\CP se alege o regulă IF • pentru fiecare element y ∈ D\CP se alege o regulă IF x1 ∧ ... xr THEN y din R și se înlocuiește y din A cu elementele x1,..., xr.

Fie X = {D1,..., Dm}. Definim:

Subst(X) = {Subst(D1), ..., Subst(Dm)}

Page 22: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIREA ÎNAPOI

Metoda backward se realizează astfel:

• Se consideră un element p ∈ CF.

• Se calculează secvenţa

X0 = {p}X0 = {p}

Xn+1 = Subst(Xn) , n≥0

Calculul secvenţei X0, X1, ……se opreşte la acel indice n pentru care Xn ⊆ 2CP deoarece în acest caz

Xn+1 = Subst(Xn) = Xn .

Page 23: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIRE ÎNAINTE VS ÎNLĂNȚUIRE ÎNAPOI

Care tip de raționament este preferabil?

date →→→→ scop

scop →→→→ date

Page 24: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ÎNLĂNȚUIRE ÎNAINTE VS ÎNLĂNȚUIRE ÎNAPOI

Dacă se dorește verificarea unei anumite ipoteze –raționament înapoi.

Dacă există o multitudine de ipoteze și nicio motivație cu privire la testarea cu prioritate a unei ipoteze particulare – raționament înainte.particulare – raționament înainte.

Sistemele care presupun achiziția constantă de date de intrare de asemenea se pretează raționamentelor înainte.

În general:

număr mic de date de intrare și unul ridicat de scopuri ⇒ raționament înainte

număr mic de scopuri și unul ridicat de date de intrare ⇒ raționament înapoi

Page 25: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STRATEGII DE CONTROL IN MECANISME INFERENTIALE

STATEGIA DE CONTROL ÎNAINTEStare Iniţială

Regula 1

Stare Succesivă

Regula 2Regula 2

Stare succesivă 2

Regula 3(operatorul 3)

.

.

.

Regula n (operatorul n)

<Stare finală> = <obiectivul problemă>

Page 26: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STRATEGII DE CONTROL IN MECANISME INFERENTIALE

STRATEGIA DE CONTROL INAINTE

Aplicarea acestor reguli determină date sau chiar fapte noi. Astfel se poate obţine un set de derivări valabile prinaplicarea mai multor reguli, dar numai un element din acest aplicarea mai multor reguli, dar numai un element din acest set face parte din pasul ce conduce la soluţia problemei. A-priori nu se cunoaşte care regulă duce la rezolvarea problemei astfel incat trebuie să se parcurgă toate regulile ce sunt posibile de aplicat, obţinându-se la fiecare pas al problemei o mulţime de stări numite fapte. Procesul continuă până când mulţimea regulilor care urmeaza se se aplicedevine null.

Page 27: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STRATEGII DE CONTROL IN MECANISME INFERENTIALE

STRATEGIA DE CONTROL ÎNAPOI

Obiectiv problemă = Stare finală

Regula 1Regula 1

Stare precedenta 1

Regula 2

Stare precedenta 2

……………………………..

Regula n

Stare precedenta n = Stare iniţială

Page 28: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

STRATEGII DE CONTROL IN MECANISME INFERENTIALE

STRATEGIA DE CONTROL ÎNAPOI

Acest control mai poartă numele şi de control orientat de obiectivul problemei sau de căutare de sus în jos. sus în jos.

Condiţiile necunoscute devin în acest mod subscopuri ce se vor putea demonstra. Procesul se continua până când toate subscopurile se rezolvă.

Page 29: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ARBORI DE DECIZIE

Formal, un arbore de decizie este o pereche (N,A) cu urmatoarele proprietati:

• N={n1,..., nk} este multimea de noduri ale arborelui

• A={(n1, n2)| n1, n2 ∈ N} este multimea de arce ale arborelui

1 2 1 2

arborelui

• ∃!R∈N, a.î. Card{(m,R)∈A|m∈N}=0, iar R este radacina arborelui

• ∀n∈N, n≠R, Card{(m,n)∈A|m∈N}=1

Page 30: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

ARBORI DE DECIZIE

O secventa de arce: C=(n1, n2), (n2, n3), ..., (nk-1, nk) se numeste cale intre nodurile n1 si nk. Daca nodul nk

este frunza atunci C se numeste cale de demonstrare.

Propozitie. Daca exista o cale intre nodurile n si n in Propozitie. Daca exista o cale intre nodurile n1 si nk in arborele de decizie, atunci aceasta cale este unica.

Demonstratie

Presupunem ca C1=(n1, n21 ..., nk-1

1, nk) si

C2 = (n1, n22, ..., nk-1

2, nk) doua cai distincte in arbore. Rezulta ca ∃ nj a.î. Card{(m,nj)∈A}=2. imposibil

Page 31: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

GENERAREA EXPLICAȚIILOR

Explicațiile sistemului la întrebări de tipul cum implică construirea arborelui de demonstrație pentru modul în care a fost dedusă concluzia finală din regulile și faptele aflate în baza de cunoștințe.

Astfel, dacă propoziția rezultată este P atunci:Astfel, dacă propoziția rezultată este P atunci:

• dacă P este un fapt atunci arborele de demonstrație este P

• dacă P a fost dedus folosind o regulă de forma

If Cond Then P

atunci arborele de demosntrație este P ⇐⇐⇐⇐ DemCond

unde DemCond este arborele de demonstrație a lui

Cond.

Page 32: M C I O BAZE DE CUNOŞTINŢE A H E O L N - id.inf.ucv.roid.inf.ucv.ro/~ghindeanu/courses/bc/Curs7.pdf · ARBORI DE DECIZIE O secventa de arce: C=(n 1, n 2), (n 2, n 3), ..., (n k-1,

Vă mulţumesc!