Logică computațională O introducere practică pentru studenți la informatică Note de curs Adrian Crăciun 24 ianuarie

Mărimea: px
Porniți afișarea la pagina:

Download "Logică computațională O introducere practică pentru studenți la informatică Note de curs Adrian Crăciun 24 ianuarie"

Transcriere

1 Logică computațională O introducere practică pentru studenți la informatică Note de curs Adrian Crăciun adrian.craciun@e-uvt.ro 24 ianuarie

2 Cuprins I. Introducere 2 1. Rezolvare problemelor prin raționament Rezolvarea de probleme Rezolvarea problemelor prin raționament Limbajul ca suport al raționamentului Logica robleme abordate de logica matematică Limbaje: proprietăţi, clasificare Model: consistenţă Corectitudinea regulilor de raţionament Completitudinea regulilor de raţionament Limitele raţionamentului: incompletitudine, nedecidabilitate Compleitate Rolul logicii în informatică II. Logica predicatelor Sintaa logicii predicatelor de ordinul întâi Epresiile logicii predicatelor de ordinul întâi arcurgerea epresiilor logicii predicatelor de ordinul întâi Recunoaşterea epresiilor logicii predicatelor folosind definiţia sintaei Recunoaşterea şi parcurgerea sintaei logicii predicatelor: sintaa abstractă Relaarea sintaei (I) Substituţii Relaarea sintaei (II) Semantica logicii predicatelor Interpretare, asignare de valori variabilelor, valoarea epresiilor Semantica şi substituţiile Întrebări legate de înţelesul formulelor i

3 Definiţii 1.1. Definiţie (roblemă, soluție, contet) Definiţie (Raţionament, proprietăţile raţionamentului) Definiţie (Limbaj) Definiţie (Sistem de raţionament) Definiţie (Logica matematică) Definiţie ((O) Logică) Definiţie (Vocabularul logicii de ordinul întâi) Definiţie (Termenii logicii predicatelor de ordinul întâi) Definiţie (Simboluri dominante, subtermeni) Definiţie (Formulele logicii predicatelor de ordinul întâi) Definiţie (Simboluri dominante, subformule) Definiţie (Arbori (ordonaţi)) Definiţie (Sintaa abstractă a termenilor logicii predicatelor) Definiţie (Sintaa abstractă a formulelor logicii predicatelor) Definiţie (Substituţie) Definiţie (Substituţie aplicată unei epresii) Definiţie (Compunerea substituţiilor) Definiţie (Interpretare) Definiţie (Asignare de valori variabilelor) Definiţie (Valoarea termenilor) Definiţie (Domeniu de valori de adevăr) Definiţie (Funcţii de adevăr) Definiţie (Valoarea formulelor) Definiţie (Substituibilitate) Definiţie (Validitate în logica predicatelor) Definiţie (Satisfiabilitate în logica predicatelor) Definiţie (Echivalenţă logică în logica predicatelor) Definiţie (Consecinţă logică în logica predicatelor)

4 artea I. Introducere 2

5 1. Rezolvare problemelor prin raționament 1.1. Rezolvarea de probleme Definiţie 1.1 (roblemă, soluție, contet). O problemă este o situație în care un anume obiect sau stare sunt dorite, dar nu sunt disponibile. O soluție a unei probleme reprezintă un mod de a face disponibile obiectul sau starea care sunt dorite. roblemele nu apar izolate, ci mai degrabă într-un contet ( univers de discurs, lume de interes), care este necesar pentru ca problema să poată fi formulată şi înţeleasă. Rezolvarea problemelor este procesul prin care lumea care conţine problema se transformă în lumea cu soluţie, vezi Figura 1. Figura 1.: Rezolvarea de probleme: transformarea unei lumi (contet, univers de discurs) cu problemă într-o lume (contet, univers de discurs) cu soluție. Definiţia 1.1 se potriveşte cu intuiţia şi eperienţa noastră de zi cu zi. Suntem obișnuiți cu probleme, rezolvăm probleme în fiecare zi, folosind diferite metode care ne sunt la îndemână. Tentaţia este să rezolvăm problemele cât mai rapid, cât mai direct. Să considerăm niște eemple de probleme și soluții (directe) posibile. 3

6 Eemplul 1.1 (Trecerea unui râu). Să ne imaginăm un moment din zorile umanității, un (h)om(inid) (flămând) pe malul unui râu, observând pe cealaltă parte un pom plin cu fructe. roblema este cum să ajungă acolo (vezi Figura 2). Tentaţia soluţiei directe eistă, impulsul este acela de a ajunge cât mai rapid la pomul cu fructe. Însă eistă un râu de trecut. Dacă (h)om(inid)ul nu ştie să înoate, această încercare de a rezolva problema direct poate avea consecinţe dramatice, potenţial ireversibile. Figura 2.: O problemă din lumea reală: trecerea unui râu. Desigur, eistă multe soluții (evidente acum pentru noi) la problema din Eemplul 1.1. Este clar că primii oameni au ajuns la aceste soluții acumulând eperiență din încercări eșuate, observând mediul, învățând (de eemplu de la animale) cum să construiască baraje peste râu, cum să găsească porțiuni ce pot fi trecute cu piciorul, cum să înoate, cum să improvizeze poduri doborând copaci care sunt suficient de înalți pentru a trece peste râu. Apoi au învățat să îmbunătățească aceste soluții, dezvoltând unelte cu care să construiască de eemplu poduri, bărci, etc. Aceste soluții sunt parte a poveştii succesului rasei umane. Însă pentru individul din eemplul nostru, care încearcă să ajungă la fructele de pe malul opus, această informație s-ar putea să fie cumva nefolositoare, să vină prea târziu. Aceste soluţii menţionate mai sus au fost dezvoltate într-un interval de timp foarte lung (de generaţii). Acest mod de abordare a problemei, direct, în universul de discurs, în esență încercare și eșec, poate fi: 4

7 consumator de timp: găsirea soluțiilor ia mult timp (generații), consumator de resurse: fiecare încercare necesită comiterea unor resurse semnificative, potențial ireversibil: resursele comise pot fi irosite în caz de eşec (mai mult, uneori chiar cel care încearcă rezolvarea directă a problemelor poate suferi de eemplu, ce se poate întâmpla dacă (h)om(inid)ul din Eemplul 1.1 nu ştie să înoate?). Bineînțeles, metoda directă de rezolvare a problemelor nu trebuie ignorată. Este o abordare care are succes (este probabil ceea ce numim evoluție). Deși s-ar putea să nu-i servească celui din povestea noastră care încearcă să treacă râul, umanitatea a evoluat și acum este într-o poziție să rezolve (ușor) astfel de probleme, inclusiv datorită eperienței individului respectiv. Eistă însă un mod mai eficient de a rezolva probleme? Eemplul 1.2 (Rezolvarea de probleme prin cutii negre). În lumea modernă eistă o presiune masivă pentru a rezolva probleme rapid și cât mai direct posibil. entru a face asta, suntem obișnuiți să folosim diverse unelte și servicii, cutii negre: avem o aplicație pentru orice, alunecăm degetul pe ecranul unui dispozitiv mobil și ca prin minune, avem soluția (pizza online ar rezolva problema (h)om(inid)ului din Eemplul 1.1). Aproape nimeni nu mai are răbdare dacă soluția nu este disponibilă instant. Această metodă bazată pe tehnologie este: rapidă: în concordanță cu cerințele lumii moderne, (relativ) ieftină: din ce în ce mai mult ne așteptăm ca aceste cutii negre să fie disponibile (dar observați că acest tip de așteptări poate fi considerat o poziție de privilegiu, și în general cutiile negre nu sunt atât de răspândite precum ar părea), opacă: soluțiile sunt obținute într-un mod care pare aproape magic, fără să ne pese în ce mod și fără să înțelegem în ce mod, fără a avea control asupra procesului. Evident, în multe situaţii nu este necesar să se înţeleagă soluţia atât timp cât problema este rezolvată. Cu toate acestea, sunt numeroase probleme pentru care verificarea soluţiei este importantă, chiar esenţială. Eistă situaţii critice în care trebuie să ne asigurăm nu numai că găsim soluţia, dar şi că aceasta are anumite proprietăţi, care pot fi stabilite numai înţelegând modul în care această soluţie poate fi găsită/construită, etc. În plus, aceste cutii negre sunt construite de cineva. Aceştia, din ce în ce mai mult, sunt profesioniştii în informatică (din moment ce prin natura lor, aceste cutii magice conţin şi funcţionează pe baza sofware -ului). Întrebarea rămâne: avem un mod mai eficient de a rezolva probleme într-un mod care ne permite menținerea controlului asupra acestui proces? 5

8 1.2. Rezolvarea problemelor prin raționament Răspunsul este afirmativ. Eistă o metodă prin care se pot rezolva problemele întrun mod eficient, menținând controlul asupra procesului, în principiu disponibilă oricui. Aceasta este rezolvarea de probleme bazată pe raționament, și funcționează în modul următor, vezi Figura 3: 1. Observație: folosind simțurile, ajutate de instrumente (microscop, telescop, rigle, etc), se construiește un model intelectual al universului de discurs (o imagine intelectuală), ce conţine o imagine a problemei de rezolvat. 2. Raționament: modelul care conține o imagine a problemei de rezolvat este transformat prin raționament într-un model care conține soluția. Suportul acestui pas este mintea, ajutată de instrumente (hârtie și creion, calculatoare, etc). 3. Acțiune: odată soluția găsită în model, aceasta poate fi implementată în universul de discurs folosind membrele ajutate de instrumente (ciocan, roboți, buldozere, etc). Figura 3.: Rezolvarea de probleme prin raţionament: prin observaţie, se construieşte un model al universului de discurs care conţine problema, care este transformat prin raţionament într-un model cu soluţie, care apoi este implementată în universul de discurs. Aparent, tot ce aduce nou această schemă este faptul că înainte de a încerca o abordare directă pentru rezolvarea problemei, este bine să te gândeşti, oferind un filtru pentru eliminarea celor mai proaste abordări. În Eemplul 1.1, dacă nu ştie să înoate, (h)om(ninid)ul se poate gândi că această abordare directă este una proastă. Mai mult, într-un anumit sens, schema din Figura 3 se potriveşte unei game largi de abordări, care include printre altele: 6

9 Abordarea magică: (h)om(ninid)ul găseşte şamanul tribului, îi eplică situaţia, acesta îşi creează o imagine intelectuală a problemei, şi printr-un ritual care poate implica un zbor cosmic, întâlnirea cu şamanii care i-au precedat, etc, acesta vede soluţia. Cutii negre: aplicaţiile, cutiile negre bazate pe tehnologie, necesită în fapt un nivel de abstractizare, modelare a problemelor pe care le rezolvă. Interfeţele, reprezentarea problemelor la nivelul cutiilor negre (aplicaţii, dispozitive) presupun în fapt un proces de modelare. Ambele abordări funcţionează (mai mult sau mai puţin subiectiv), sunt abordări valide (din anumite puncte de vedere), utilizate pentru rezolvarea de probleme. Eistă, însă, în ambele cazuri un pas magic prin care se obţine soluţia, un pas ce nu poate fi eplicat sau controlat de către beneficiarul soluţiei sau chiar de către cei care generează/descoperă soluţia. În mod esenţial, abordarea bazată pe raţionament elimină necunoscutul şi oferă control celor care folosesc acest instrument pentru verificarea şi validarea soluţiei. În continuare vom descrie proprietăţile raţionamentului, ce diferenţiază această abordare de altele, de eemplu de cele magice. Definiţie 1.2 (Raţionament, proprietăţile raţionamentului). Raţionamentul este procesul prin care se transformă un model intelectual ce conţine o problemă într-un model intelectual, caracterizat de următoarele proprietăţi: 1. Abstract: Raționamentul operează într-un model intelectual. După ce modelul este construit, nu mai eistă legătură cu lumea (universul) pe care o descrie. Această proprietate asigură: puterea raționamentului: este reversibil, rapid, ieftin (totul se întâmplă în mintea noastră), limitările raționamentului: modelele construite pot fi inadecvate, concentrându-se pe anumite aspecte ale universului de discurs, dar ignorând altele (și se pierde legătura cu realitatea). Această situație a dus de fapt la seria de crize pe care le parcurge omenirea: ecologică, tehnologică, economică, socială. 2. Verificabil: Raționamentul se desfășoară în pași mici, pe care toată lumea îi poate efectua. Aceşti paşi au o natură deterministă, în sensul că n pas de raționament aplicat într-o anumită situație va produce întotdeauna aceleași modificări în model, indiferent cine aplică acel pas. Acești pași de raționament se vor numi reguli de raționament, și mulțimea de reguli de raționament va forma sistemul de raționament (împreună cu o descriere a modului în care se construiește o soluție și cum arată aceasta). 3. Corect: Raționamentul transportă adevărul. Modelul intelectual conţine imagini (intelectuale) ale unor obiecte şi situaţii din universul de discurs. În consecinţă, acestea sunt adevărate. rin aplicarea regulilor de raţionament, modelul iniţial se modifică, prin adăugarea de noi imagini (de obiecte sau situaţii din universul 7

10 de discurs). Aceste noi imagini trebuie să aibă un corespondent în universul de discurs, adică atunci când ne întoarcem, imaginile (noi) trebuie să corespundă unor obiecte sau situaţii care pot fi construite/au loc în universul de discurs. Altfel spus, când pornim de la ceva adevărat, prin aplicarea unui pas de raționament trebuie să obținem ceva ce este tot adevărat. rin raţionament nu putem construi obiecte sau situaţii care nu eistă în universul de discurs. 4. General: rin raţionament trebuie să putem rezolva clase întregi de probleme, un număr potenţial infinit. Metoda de rezolvare a problemelor bazată pe raţionament stă la baza dezvoltării tehnologice a societăţii occidentale în ultimile câteva sute de ani. Această dezvoltare a fost una etrem de rapidă, iar ritmul ei accelerează. În acest sens, rezolvarea bazată pe raţionament este o metodă etrem de eficientă, un instrument esenţial în abordarea problemelor în general, şi mai ales într-un domeniu atât de dinamic şi competitiv, cum este informatica. Observaţie (Raţionamentul în contetul domeniilor ştiinţifice). Schema din Figura 3 oferă şi un tablou al modului în care domeniile ştiinţifice corespund rezolvării problemelor prin raţionament: Faza de observație corespunde științelor naturale fizică, chimie, biologie, ştiinţelor pământului, astronomie, etc. ce au ca scop înţelegerea lumii, construirea de imagini (modele) adecvate, ce să eplice diferitele aspecte ale acesteia. Faza de raţionament corespunde matematicii ştiinţa care se ocupă cu rezolvarea de probleme în modele abstracte (inclusiv informatica automatizarea, pe cât posibil, a acestui proces de rezolvare de probleme). Faza de acţiune corespunde ştiinţelor inginereşti care se ocupă cu aplicarea şi implementarea cunoştinţelor şi soluţiilor dezvoltate în cadrul ştiinţelor naturale şi matematicii. În mod necesar, acest tablou este unul etrem de simplificat, domeniile menţionate sunt etrem de vaste şi complee, la fel şi modul în care acestea interacţionează. Însă poate reprezenta un punct de plecare în înţelegerea modului în care funcţionează raţionamentul şi rolul acestuia (şi al matematicii) în aceste domenii ştiinţifice Limbajul ca suport al raționamentului Să ne întoarcem la Eemplul 1.1. Ce se întâmplă dacă persoana care stă pe malul râului rezolvă problema traversării (prin raționament)? Dacă va dori să transmită celorlalți din trib care este soluția, astfel încât să o implementeze împreună? Soluția va trebui comunicată. 8

11 entru asta avem nevoie de un limbaj. Toate fazele rezolvării problemei trebuie să poată fi eprimate într-un limbaj, pentru a fi comunicate: modelul, problema, regulile de raţionament şi modul cum sunt aplicate pentru a găsi soluţia (şi cum arată aceasta). Drept consecință, limbajul este suportul raționamentului: modelele intelectuale sunt construite din epresii ale unui limbaj, regulile de raționament iau epresii din model și produc epresii noi (modificând modelul). Definiţie 1.3 (Limbaj). Un limbaj (care urmează să fie folosit pentru a construi modele și a rezolva probleme) este definit de: sintaa limbajului care cuprinde: vocabularul simbolurile folosite pentru a forma epresii, regulile după care sunt formate epresiile care aparțin limbajului, semantica limbajului înțelesul epresiilor, modul în care epresiile descriu obiecte și realități în universul de discurs. Observaţie (Limbajul descrie abordările directe). De notat că odată ce avem la dispoziţie sintaa şi semantica unui limbaj, putem descrie abordările directe, vezi Figura 1. De eemplu, putem descrie istoria abordărilor directe din Eemplul 1.1, adică putem descrie şi arhiva eperienţele, încercările, eşecurile. entru a rezolva probleme prin raţionament, limbajul singur nu este suficient. Definiţie 1.4 (Sistem de raţionament). Fiind dat un limbaj (sintaa, semantica), un sistem de raţionament constă în descrierea: problemei, paşilor de raţionament, modului în care paşii de raţionament sunt aplicaţi pentru a construi soluţia problemei Logica Limbajele, sintaa şi semantica lor, sistemele de raţionament asociate, sunt studiate în cadrul logicii. Definiţie 1.5 (Logica matematică). Logica (logica matematică, logica simbolică, metamatematica) este un domeniu științific care se ocupă cu studiul sistemelor de raţionament, prin aplicarea metodei matematice asupra problemei raţionamentului. 9

12 Observaţie. (Terminologie: logică, logică computaţională) Folosim în aceste pagini termenul logică pentru a desemna logica matematică, aşa cum este definită aceasta mai sus. e lângă domeniul matematic, logica este studiată în cadrul filozofiei, într-un sens mai larg (studiul modului în care funcţionează gândirea şi modul cum se aplică aceasta problemelor filozofice), care are părţi semnificative în comun cu logica matematică. Eistă, bineînţeles, şi logica din viaţa de zi cu zi termen care în principiu se referă la un anumit mod ( raţional ) de a face lucrurile. Nu în ultimul rând, logica computaţională reprezintă aspectul din logică ce se referă la automatizarea raţionamentului, sau raţionament despre calcul mecanic (automat). Vom atinge aceste aspecte într-o anumită măsură, dar vom urmări şi modul în care logica (matematică) poate fi folosită ca un instrument practic de înţelegere, eplorare, acumulare eficientă de cunoştinţe în informatică, pentru studenţi. În afară de logică drept domeniu de studiu, vom considera o logică în sensul următor: Definiţie 1.6 ((O) Logică). un limbaj (sintaă, semantică), un model, O logică este formată din: un sistem de raţionament, incluzând reguli şi modul de aranjare a acestora într-o soluţie, o mulţime de proprietăţi (demonstrate) legate de sistemul de raţionament robleme abordate de logica matematică Vom prezenta, în continuare, la un nivel informal, câteva dintre problemele abordate de logica matematică. Scopul acestei prezentări este să ofere o privire de ansamblu asupra tipului de rezultate, să prezinte câteva din implicaţiile acestora la nivel filozofic şi practic Limbaje: proprietăţi, clasificare Un prim pas pentru a putea descrie o problemă şi soluţia acesteia este alegerea unui limbaj potrivit. Suficient de epresiv pentru a putea descrie problema şi soluţia, dar nu ecesiv de complicat. Eistă mai multe criterii după care pot fi clasificate limbajele: Limbaje universale și limbaje speciale: Limbajele universale sunt limbaje care sunt suficient de puternice pentru a descrie orice univers de discurs, și pentru a eprima orice soluții la probleme (ce pot fi descrise și au soluții). Un astfel de limbaj este limbajul logicii predicatelor, 10

13 care este universal în sensul că toată matematica (adică tot ce se poate rezolva prin raţionament) poate fi eprimată în acest limbaj (inclusiv partea automată, algoritmică). În fapt, chiar şi o versiune restricţionată, logica predicatelor de ordinul întâi (împreună cu aşa numita teorie a mulţimilor) este suficientă pentru a eprima toată matematica. Limbajele speciale sunt limbaje relativ simple, și care pot descrie doar universuri limitate. Motivul pentru care aceste limbaje sunt de preferat (în cazul în care pot eprima problema de interes şi soluţia acesteia), este tocmai simplitatea, care oferă proprietăţi mai bune, care în general nu sunt disponibile pentru limbaje mai complicate, după cum vom discuta mai jos. Eemple de limbaje speciale sunt logica propozițională, limbajul circuitelor cu comutare, geometria solidă constructivă. Limbaje descriptive și limbaje algoritmice Limbajele descriptive sunt folosite pentru a descrie obiecte, situații, cunoștințe. Un eemplu îl reprezintă limbajul matematicii tradiționale sau pure. Un eemplu de folosire este efortul colectivului Bourbaki de a construi sistematic cunoştinţele matematice, cu accent pus pe rigoare şi formalism vezi [Bou04]. Limbajele algoritmice sunt folosite pentru a descrie acțiuni, pași pentru rezolvarea problemelor. Eemple sunt limbajele de programare. De notat însă că aceste aspecte nu ar trebui separate. Folosirea celor două aspecte, descriptiv și algoritmic, în același limbaj îi mărește puterea din punct de vedere practic. Cele două aspecte sunt fețe diferite ale aceleiași monede. Limbaje naturale și limbaje formale Limbajele naturale sunt limbaje învățate în contet (aflându-ne între cei care folosesc un limbaj, începem să recunoaștem și să învățăm sintaa, semantica, sistemul de raționament, într-o manieră evoluționară). entru limbaje formale, vocabularul, sintaa, semantica și sistemul de raționament sunt descrise și definite precis, și apoi pot fi folosite conform definiției. De eemplu, putem spune că în mare măsură oamenii învăță matematica în contet, și numai mai târziu aceasta devine un limbaj formal. Metalimbaj și limbaj obiect Un metalimbaj este un limbaj care se folosește pentru a defini un alt limbaj (numit limbajul obiect) și pentru a raționa despre proprietățile acestuia. Să observăm că aceștia nu sunt termeni absoluți, un limbaj poate juca rolul unui metalimbaj (vom folosi limbajul naiv al teoriei mulțimilor pentru a defini logicile pe care le studiem şi vom folosi raţionamentul pe care l-am învăţat ), iar mai târziu același limbaj poate fi definit formal (jucând rolul unui limbaj obiect). 11

14 Model: consistenţă Este modelul (descrierea universului de discurs) consistent, liber de contradicţii? Observaţie (Specificarea modelului). În matematică, forma în care se specifică modelul universului de discurs este luată de aiome. Rolul aiomelor este acela de a descrie comportamentul obiectelor de interes, noţiunile de bază. În particular, aiomele sunt afirmaţii considerate adevărate, dar justificarea acestui fapt vine tocmai din faptul că acestea descriu universul de discurs, comportamentul şi relaţiile dintre obiectele acestui univers. Eemplul 1.3 (aradoul lui Russell). Să considerăm o aiomă (afirmaţie, parte a modelului), care descrie o proprietate a mulţimilor. Intuitiv: entru orice proprietate, eistă mulţimea tuturor obiectelor care posedă proprietatea. Mai eact, pentru orice proprietate : eistă o mulţime M astfel încât pentru orice ( M dacă şi numai dacă ), unde M este o variabilă. Din moment ce funcţionează pentru orice proprietate, să considerăm proprietatea : eistă o mulţime M astfel încât pentru orice ( M dacă şi numai dacă ) Din moment ce eistă o mulţime, fie aceasta M 0 (M 0 nu mai este o variabilă, este o constantă): pentru orice ( M dacă şi numai dacă ) Din moment ce afirmaţia este adevărată pentru toţi, este adevărată şi pentru := M: (M M dacă şi numai dacă M M), ceea ce este o contradicţie. Acest eemplu (faimos), vezi [Rus03], ne arată cum o aiomă intuitiv rezonabilă poate duce la inconsistenţe în model. Aioma poate fi reparată pentru a evita paradoul: entru orice proprietate în care apare (liberă) variabila şi orice variabilă B care nu apare liberă în : pentru orice B eistă M astfel încât pentru orice ( M dacă şi numai dacă ( B şi )) Corectitudinea regulilor de raţionament Sunt regulile de raţionament corecte, transportă adevărul? Eistă două abordări posibile pentru stabilirea acestei proprietăţi: abordarea evoluţionară: anumite reguli de raţionament sunt corecte pentru că în decursul timpurilor acestea au fost observate şi verificate în numeroase instanţe de către numeroşi observatori şi au fost acceptate ca fiind corecte. abordarea formală: presupune folosirea unui metalimbaj şi a unui sistem de raţionament corespunzător acestuia pentru a stabili corectitudinea regulilor de inferenţă. 12

15 Completitudinea regulilor de raţionament Se pot rezolva într-un sistem de raţionament toate problemele care au o soluţie, este acel sistem de raţionament suficient de puternic? Gödel a demonstrat în [Göd30] că logica predicatelor are această proprietate: orice afirmaţie adevărată are o demonstraţie în sistemul de raţionament al logicii predicatelor (de ordinul întâi). entru limbaje (logici) mai simple (de eemplu, logica propoziţiilor), în general această proprietate este uşor de stabilit Limitele raţionamentului: incompletitudine, nedecidabilitate Eistă însă rezultate care arată că raţionamentul are limite. Gödel a arătat că pentru situaţia în care modelul este consistent şi conţine aritmetică (numere naturale), atunci eistă afirmaţii eprimate în limbajul respectiv (logica predicatelor de ordinul întâi) care nu pot fi nici demonstrate nici respinse, vezi [Göd31]. O altă întrebare importantă este decidabilitatea unei probleme: pentru o problemă dată, eistă o metodă mecanică (algoritm) prin care să se ajungă la un răspuns da sau nu, adică să se decidă dacă problema are soluţie, sau nu are soluţie. entru logica predicatelor, Church, vezi [Chu36], şi Turing, vezi [Tur37], au arătat că acest lucru nu este posibil. De eemplu, problema opririi unei maşini de calcul dacă pentru orice date de intrare o maşină de calcul se va opri şi va da un răspuns sau calculează la nesfârşit este în general nedecidabilă. Aceste rezultate aparent negatived ne spun că raţionamentul matematic are limite, şi că pentru a depăşi limitele este nevoie de ingeniozitatea umană. Totodată, în contetul acestor rezultate, efortul este de a identifica cazuri (limbaje, modele, sisteme de raţionament) pentru care aceste proprietăţi au loc. În general, limbajele speciale sunt atractive datorită faptului că au proprietăţi ca decidabilitate, adică pentru orice problemă fie se găseşte o soluţie, fie se determină că nu are soluţie. Acest lucru se poate face automat, printr-un algoritm (raţionamentul este automat) Compleitate Dacă o problemă se poate rezolva automat, o problemă importantă este compleitatea soluţiei. Eistă clase de probleme pentru care compleitatea este prea mare, adică timpul şi/sau spaţiul de memorie necesare sunt prea mari pentru a rezolva probleme în practică. Acest aspect este foarte important. Oricât de mare ar fi puterea de calcul, aceasta poate fi uşor depăşită de compleitatea unor probleme. Eistă o graniţă de la care calculul devine nepractic Rolul logicii în informatică [To do.] 13

16 Declaraţie Autorul acestor note de curs a învăţat despre logică, rolul acesteia în rezolvarea de probleme, mecanismele prin care funcţionează, etc., de la îndrumătorul său, Bruno Buchberger. Acest prim capitol urmează structura din notele de curs (nepublicate) ale lui Buchberger, vezi [Buc91]. 14

17 artea II. Logica predicatelor 15

18 Logica predicatelor de ordinul întâi: sintaă şi semantică Logica predicatelor este limbajul matematicii. Chiar şi o versiune restrânsă pe care o vom discuta aici logica predicatelor de ordinul întâi este suficientă (împreună cu teoria mulţimilor) pentru a eprima tot ce se poate eprima în matematică. Totodată, este într-un anumit sens cel mai bine înţeleasă munca de fundamentare a matematicii (punerea matematicii pe bază solide) în cea mai mare măsură a fost făcută în această logică. Mai mult, logica predicatelor de ordinul întâi poate servi ca un cadru general pentru informatică (matematică, raţionament automat). În ceea ce urmează, vom introduce limbajul logicii predicatelor de ordinul întâi. Vom prezenta sintaa şi semantica, vom vedea că a rezolva probleme direct folosind logica predicatelor este nepractic. 16

19 2. Sintaa logicii predicatelor de ordinul întâi Rolul unui limbaj (în particular al limbajului considerat aici) este să descrie un univers de interes. entru a forma epresii avem nevoie de simboluri, care vor juca diferite roluri în epresiile limbajului Epresiile logicii predicatelor de ordinul întâi Definiţie 2.1 (Vocabularul logicii de ordinul întâi). ordinul întâi sunt: Simbolurile limbajului logicii de V - mulţimea (numărabilă) de variabile obiect. Faptul că mulţimea este numărabilă ne asigură că putem lua o variabilă nouă de câte ori este nevoie. Notaţie: rin convenţie, variabilele vor fi notate cu litere mici, de la sfârşitul alfabetului, eventual folosind indecşi:, y, z, 1, 2, y 5, etc. L - mulţimea simbolurilor limbajului (signatura), care conţine: F - simbolurile funcţionale (nume de funcţii): nume pentru funcţii din universul de interes. entru fiecare astfel de nume, vom ataşa aritatea, numărul de argumente a funcţiei descrise de fiecare nume. - simbolurile predicative (predicate, nume de relaţii): nume pentru relaţii din universul de interes. entru fiecare astfel de predicat vom ataşa aritatea, numărul de argumente din relaţia descrisă de predicatul respectiv. C - simboluri constante (nume de constante): nume pentru obiecte din universul de discurs. Simboluri rezervate: (, ) paranteze şi delimitator (virgula) conectori logici: (negaţia), (conjuncţia), (disjuncţia), (implicaţia), (echivalenţa), cuantificatori: (cuantificatorul universal), (cuantificatorul eistenţial). Eemplul 2.1 (Simboluri ale unui limbaj). unui limbaj: Vom considera următoarea signatură L a 17

20 F = { f /2, g /1, h /3, + /2,! /1 }, unde h /3 indică faptul că funcţia pentru care am ales numele h are aritate 3 (3 argumente). = { /2, /2, prim /1, par /1 }, unde par /2 indică faptul că predicatul pentru care am ales numele par are aritate 2 (2 argumente). C = {a, b, 0, 12}. Observaţie (constantele sunt funcţii). Tehnic, simbolurile constante sunt la fel cu simbolurile funcţionale de aritate 0. Intuitiv, o funcţie returnează un obiect în funcţie de argumentele sale, adică modificând argumentele, se modifică rezultatul. Dacă funcţia nu are argumente, atunci rezultatul nu poate fi influenţat, aşadar este neschimbat. Atunci funcţia (cu 0 argumente) se poate identifica cu valoarea pe care o returnează. rimul tip de epresii în logica predicatelor de ordinul întâi sunt termenii, care descriu obiecte din universul de discurs. Definiţie 2.2 (Termenii logicii predicatelor de ordinul întâi). Fie V mulţimea de variabile, L mulţimea simbolurilor (signatura) unui limbaj al predicatelor de ordinul întâi. Mulţimea termenilor peste L şi mulţimea de variabile V, notată T(L, V) este definită după cum urmează: Dacă V, atunci T(L, V). (Variabilele sunt termeni.) Dacă c C, atunci c T(L, V). (Constantele sunt termeni.) Dacă f /n F şi t 1,..., t n T(L, V), atunci f(t 1,..., t n ) T(L, V). (Un simbol funcţional aplicat unui număr corespunzător cu aritatea sa de termeni este la rândul său un termen.) În primele două cazuri avem de-a face cu termeni simpli (variabilă, constantă), iar în ultimul avem termeni compuşi (din simbol funcţional aplicat altor termeni). Definiţie 2.3 (Simboluri dominante, subtermeni). Fie f(t 1,..., t n ) T(L, V) un termen compus. Spunem că f este simbol dominant al termenului compus şi t 1,..., t n sunt subtermeni. Al doilea tip de epresii în logica predicatelor de ordinul întâi sunt formulele, care intuitiv descriu relaţii, situaţii din universul de discurs. Definiţie 2.4 (Formulele logicii predicatelor de ordinul întâi). Fie V mulţimea de variabile, L mulţimea simbolurilor (signatura) unui limbaj al predicatelor de ordinul 18

21 întâi. Mulţimea formulelor peste L şi mulţimea de variabile V, notată F(L, V) este definită după cum urmează: Dacă /n şi t 1,..., t n T(L, V), atunci (t 1,..., t n ) F(L, V). (Un predicat aplicat unui număr corespunzător cu aritatea sa de termeni este o formulă, numită formulă atomică). Dacă F, G F(L, V), atunci: ( F ) F(L, V). Negaţia unei formule este o formulă, se citeşte negaţia lui F sau nu F. (F G) F(L, V). Conjuncţia a două formule este o formulă, se citeşte F şi G. (F G) F(L, V). Disjuncţia a două formule este o formulă, se citeşte F sau G. (F G) F(L, V). Implicaţia a două formule este o formulă, se citeşte F implică G sau dacă F atunci G. (F G) F(L, V). Echivalenţa a două formule este o formulă, se citeşte F echivalent cu G sau F dacă şi numai dacă G. Aceste formule, formate din alte formule legate prin conectori logici, se cheamă formule compuse. Dacă V şi F F(L, V), atunci F F(L, V), F F(L, V). Aceste formule formate dintr-un cuantificator, o variabilă şi o formulă se numesc formule cuantificate, respectiv formula cuantificată universal şi formula cuantificată eistenţial. În ambele cazuri, se zice că este variabilă legată de cuantificator (universal, respectiv eistenţial), în cadrul lui F. Aşadar, cadrul unei variabile legate este locul, formula în care aceasta apare legată. O variabilă care nu este legată se cheamă variabilă liberă. 19

22 Considerăm formulele logicii pre- Definiţie 2.5 (Simboluri dominante, subformule). dicatelor de ordinul întâi, F(L, V): entru formule atomice (t 1,..., t n ), este simbolul dominant şi t 1,..., t n sunt subtermeni. entru formulele compuse ( F ), (F G), (F G), (F G), (F G), simbolurile dominante sunt conectorii logici, respectiv,,,,, iar F, G sunt subformule arcurgerea epresiilor logicii predicatelor de ordinul întâi Definiţiile 2.2 şi 2.4 oferă instrumentele pentru a recunoaşte epresiile logicii de ordinul întâi. În continuare vom investiga cum se pot recunoaşte şi parcurge epresiile logicii predicatelor Recunoaşterea epresiilor logicii predicatelor folosind definiţia sintaei Eemplul 2.2 (Recunoaşterea epresiilor folosind definiţia). Considerăm epresia ( (, y) (f(a), )), unde, y V, /2, f /1 F, şi a C. Vom aplica definiţia într-o manieră top-down (de sus în jos), identificând simbolul dominant, şi verificând în ce măsură componentele se conformează definiţiei. entru ( (, y) (f(a), )), simbolul dominant este conjuncţia (, subliniată în epresia de mai sus), epresia începe şi se termină cu paranteze, deci conform Definiţiei 2.4, trebuie să verificăm că: (a) (, y) este formulă. Acest lucru se întâmplă, conform definiţiei este o formulă atomică, un predicat binar ( ) aplicat la doi termeni, respectiv y (care sunt variabile, deci termeni, conform Definiţiei 2.2). (b) (f(a), )) este formulă. Simbolul dominant este (subliniat în formulă), urmat de o variabilă (), deci conform definiţiei, trebuie să verificăm că (f(a), ) este formulă. Acest lucru se întâmplă, conform definiţiei este o formulă atomică, un preficat binar ( ) este aplicat la doi termeni, f(), un termen compus (simbolul funcţional f aplicat termenului constantă a, şi variabilei ). 20

23 Aşadar, conform definiţiei, epresia este o conjuncţie, formulă compusă în logica predicatelor de ordinul întâi. Observaţie (Subitare). De notat că în Eemplul 2.2 fiecare pas este justificat, aşadar avem o soluţie acceptabilă (în sensul discutat în Capitolul 1) pentru problema propusă. Cu toate acestea, metoda conţine ceea ce pare a fi un pas mare : identificarea simbolului dominant. În fiecare caz, acesta este identificat imediat, fără a indica eplicit cum am făcut asta. Deşi ar putea părea simplu, acest pas poate să nu fie verificabil pentru oricine (mai ales pentru un program). Oamenii au capacitatea de a identifica instant (fără a avea nevoie de a parcurge fiecare componentă) structuri simple. Acest fenomen se cheamă subitare (vezi [KLRV49]). Dar această metodă nu scalează. Dacă epresia este una mai complicată, atunci este posibil să nu putem identifica imediat simbolul dominant. Mai mult, chiar pentru structuri simple, simbolul dominant nu poate fi identificat de un program fără a parcurge simbolurile epresiei. Avem nevoie, aşadar, pentru aceste situaţii, de o metodă în care structura epresiei parcurse este identificată pas cu pas Recunoaşterea şi parcurgerea sintaei logicii predicatelor: sintaa abstractă În cele ce urmează vom prezenta o metodă prin care şirul de simboluri va fi parcurs de la stânga la dreapta şi pe măsură ce analizăm fiecare simbol, vom construi sintaa abstractă - o reprezentare internă, o structură de date care ne va permite să manipulăm mai eficient epresia, odată construită. entru reprezentarea internă a epresiilor logicii predicatelor vom folosi arbori, care vor fi definiţi informal. Definiţie 2.6 (Arbori (ordonaţi)). arborele vid, Un arbore ordonat este definit în modul următor: arborele nevid, format dintr-un nod rădăcină şi o listă (posibil vidă) de subarbori. Fiecare nod care nu este rădăcină un singur nod părinte. Nodurile (în afară de nodul răđacină) sunt conectate prin muchii la nodurile părinte corespunzătoare. Nodurile care nu sunt noduri părinte se cheamă noduri frunză. Fiecare nod al unui arbore conţine informaţii (de eemplu obiecte de anumit tip). Eemplul 2.3 (Arbori). numere naturale. arbore cu un singur nod (rădăcină): Mai jos, vom considera că nodurile arborilor ilustraţi conţin 21

24 1 arbore cu mai multe noduri: Vom folosi o reprezentare generică pentru un arbore cu n subarbori, vezi Figura 4. Fiecare subarbore este la rândul său un arbore. r subarbore 1 subarbore n Figura 4.: Un arbore cu rădăcina r şi n subarbori. În continuare, vom folosi arborii pentru a reprezenta epresiile logicii predicatelor. Vom numi aceşti arbori sintaa abstractă, sau arbori sintactici pentru logica predicatelor. Definiţie 2.7 (Sintaa abstractă a termenilor logicii predicatelor). Fie T(L, V) mulţimea termenilor peste un limbaj. Atunci sintaa abstractă a termenilor este reprezentată de următorii arbori: entru termenii simpli (variabile şi constante) şi c: 22

25 c entru termeni compuşi, dacă f n (t 1,..., t n ) T(L, V): f t 1 t n Definiţie 2.8 (Sintaa abstractă a formulelor logicii predicatelor). Fie F(L, V) mulţimea formulelor peste un limbaj. Atunci sintaa abstractă a formulelor este reprezentată de următorii arbori: entru formule atomice, dacă (t 1,..., t n ) F(L, V): t 1 t n entru formule compuse ( F ), (F G), unde {,,, }: F F G entru formule cuantificate F, F : F F 23

26 Vom descrie o metodă prin care se pot recunoaşte epresiile (şi în acelaşi timp construi arborele sintactic). Metoda de recunoaştere pe care o propunem aici va parcurge epresia simbol cu simbol. La fiecare pas, vom avea un arbore incomplet, poziţia în acel arbore, şi o regulă bazată pe simbolul considerat. Regula ne va spune ce adăugăm la arborele incomplet, şi la ce poziţie. Metoda se termină cu succes când am parcurs tot şirul de caractere din epresie, şi avem un arbore sintactic complet. În orice alt caz: şirul este parcurs în întregime, dar arborele corespunzător nu este complet, arborele este complet, dar şirul nu a fost parcurs în întregime, la pasul curent se adaugă un nod în arbore, care nu corespunde niciunui arbore acceptat (de Definiţiile 2.7, 2.8), avem eşec. Eemplul 2.4 (Recunoaşterea epresiilor logicii predicatelor şi construcţia arborelui sintactic). entru a ilustra această metodă, reluăm Eemplul 2.2: ( (, y) (f(a), )). Vom numerota fiecare simbol în epresia ce trebuie parcursă: ( 1 2 ( 3 4, 5 y 6 ) ( 12 f 13 ( 14 a 15 ) 16, ) 19 ) 20 aşii algoritmului (1): ( paranteza deschisă înseamnă că epresia vrea să fie o formulă compusă. Avem 2 variante: negaţie, sau formulă ce conţine un conector binar. Arborii incompleţi corespunzători celor 2 posibilităţi sunt: F F F În arborii de mai sus, folosim următoarele convenţii: 24

27 dacă într-un nod sau subarbore avem ghilimele ( ), acestea indică faptul că în acel loc avem se aşteaptă următoarele, după cum urmează: T, F : termen, respectiv formulă (în subarbori),, : negaţie, respectiv conector binar (unul din,,, ), Q : quantificator (unul din, ), v : variabilă. Un nod sau subarbore reprezentat cu linie întreruptă reprezintă poziţia în arborele incomplet, unde vom completa la pasul următor. (2): este un predicat binar. rima variantă (în care formula este o negaţie) cade, lucrăm pe varianta a doua. rezenţa lui indică faptul că avem nevoie de o formulă atomică, cu 2 subarbori: F F T T (3): ( paranteza deschisă după mută poziţia pe primul subarbore după al nodului ce conţine. F T T (4): este o variabilă, deci termen, eact ce se aştepta, subarborele este închis, se mută poziţia la părinte. 25

28 F T (5):, virgula indică faptul că ne mutăm pe următoarea ramură: F T (6): y este o variabilă, deci termen, eact ce se aştepta, subarborele este închis. F y (7): ) paranteza închisă, închide tot subarborele ce începe cu nodul, poziţia se mută la părintele acestui subarbore. 26

29 F y (8): este un conector propoziţional binar, ceea ce era aşteptat, se completează şi poziţia se muta pe al doilea subarbore: F y (9): cuantificatorul universal, vom avea nevoie de o variabilă şi de o formulă, poziţia se mută pe primul subarbore: y v F (10): este o variabilă, ceea ce era aşteptat, se închide subarborele, trecem la următorul: 27

30 y F (11): este predicat binar, vrem formulă atomică, cu două subramuri, fiecare corespunzând unui termen: y T T (12): ( paranteză deschisă, trecem la primul subarbore: y T T 28

31 (13): f este o funcţie unară (ok, aveam nevoie de un termen), construim o ramură nouă, unde avem nevoie de un termen: y f T T (14): ( paranteză deschisă, ne mutăm pe subarbore: y f T T (15): a este o constantă, deci termen, ok, asta aşteptam: 29

32 y f T a (16): ) paranteză închisă, am terminat cu subarborele ce începe cu f, ne mutăm deasupra: y f T a (17):, virgulă, coborâm pe următoarea ramură: 30

33 y f T a (18): o variabilă, deci termen, ceea ce aşteptam, se închide nodul: y f a (19): ) paranteză închisă, subarborele care începe la este închis, trecem la părinte: 31

34 y f a (20): ) paranteză închisă, subarborele care începe la este închis, trecem la părinte (dar este rădăcină, deci am terminat, avem arborele sintactic, avem o epresie în logica predicatelor): y f a Observaţie (Cazurile cu eşec). În cazul unui eşec, metoda descrisă mai sus oferă şi motivul pentru eşec. Acesta se găseşte la pasul la care se produce eşecul. De eemplu, dacă în epresia de mai sus, ar fi un simbol funcţional binar (şi nu un predicat), 32

35 la pasul 2 inserăm un simbol funcţional în nodul curent, ceea ce ar contrazice definiţia formulelor compuse Relaarea sintaei (I) Metodade parcurgere şi recunoaştere a epresiilor logicii predicatelor prezentată în secţiunea anterioară funcţionează pentru că simbolurile funcţionale şi predicative se pun înaintea argumentelor. În practică, vrem să scriem lucruri ca + y, y, unde +, sunt respectiv un simbol funcţional şi un predicat. Acest mod de a scrie lucrurile nu este acceptat conform Definiţiilor 2.2, 2.4. Ar trebui să avem +(, y), (, y), respectiv. Dar intenţia este să folosim logica predicatelor ca un limbaj practic. În acest sens, de acum înainte vom accepta o relaare a sintaei care să permită folosirea simbolurilor în modul indicat mai sus. Însă acest lucru trebuie făcut tinând cont de anumite aspecte ce vor fi menţionate în continuare, pentru a evita ambiguităţile. oziţia simbolurilor Simbolurile funcţionale sau predicative pot fi plasate în următoarele poziţii: refi: simbolurile funcţionale sau predicative sunt plasate înaintea argumentelor (aşa se folosesc simbolurile în Definiţiile 2.2, 2.4). Infi: simbolurile funcţionale sau predicative sunt plasate între argumente. De obicei acest mod de scriere este folosit pentru simboluri de funcţii şi predicate binare: + y, y. Un caz particular de simbol infi este cel din epresia y. Simbolul corespunzător este, unde reprezintă poziţiile argumentelor. ostfi: simbolurile funcţionale sau predicative sunt plasate după argumente. De obicei, acest mod de scriere este folosit pentru simboluri unare:! sau este prim, unde, tradiţional! este funcţia factorial, iar este prim este un predicat unar. Altele (notaţii 2D): argumentele sunt plasate în poziţii nestandard, bidimensională. De eemplu: y, n. De remarcat că în aceste cazuri, simbolurile funcţionale corespunzătoare sunt, (sau n, dacă considerăm funcţie unară). Asociativitatea Dacă scriem (3+4)+5 sau 3+(4+5), epresiile respective, în interpretarea tradiţională, denotă acelaşi lucru (adică + este o funcţie asociativă). Însă nu acelaşi lucru se întâmplă în cazul 8/2/2. Dacă funcţia este asociativă la stânga, (8/2)/2 înseamnă 2, pe când daca funcţia este asociativă la dreapta, 8/(2/2) înseamnă 8. În acest caz este esenţial să se precizeze asociativitatea. În general, pentru funcţii aritmetice, asociativitatea este la stânga (dar dacă nu este clar din contet, atunci aceasta trebuie specificată). 33

36 De remarcat că nu toate simbolurile au proprietatea de asociativitate. De eemplu, nu are sens nici cu asociativitate la stânga, nici la dreapta. De asemenea, conectorii logici, sunt asociativi (vom vedea mai târziu de ce), iar este asociativă la stânga, iar nu este asociativă. recedenţa Epresia + yz poate fi parcursă ca + (yz) sau ( + y)z. Care dintre cele două elemente sunt considerate, depinde de precedenţa simbolurilor. entru interpretarea clasică (dacă considerăm epresia ca fiind epresie aritmetică), trebuie ca simbolul să aibă precedenţă mai mică (să lege mai tare) decât +. În mod similar, pentru conectorii logici, precedenţa uzuală este următoarea:, {, },, (conjuncţia şi disjuncţia au aceeaşi precedenţă). Dacă vrem să folosim epresiile logicii predicatelor în forma relaată, trebuie specificate elementele relevante (poziţia, asociativitatea, precedenţa), pentru a evita ambiguităţile. sintaa relaată are avantajul că permite epresii mai compacte. În practică (de e în sursele matematice, etc) se foloseşte sintaa relaată (sintaa este definită implicit). Însă în cazul în care sunteţi nesiguri, folosiţi parantezele! Relativ la sinta abstractă (reprezentarea sub formă de arbori sintactici), aceasta este aceeaşi pentru sintaa relaată, însă modul în care se construieşte nu mai este la fel (de uşor) precum a fost în cazul sintaei stricte Substituţii Substituţia de termeni pentru variabile este un proces elementar prin care putem construi epresii noi din cele eistente. Vom defini conceptul de substituţie: Definiţie 2.9 (Substituţie). O substituţie de termeni pentru variabile este o mapare σ : V T(L, V) astfel încât pentru un număr finit de variabile V avem σ(). Mulţimea substituţiilor peste un limbaj va fi notată cu S(L, V) (sau S, dacă L, V sunt clare din contet). Fie σ S(L, V) o substituţie, n N, i {1,..., n}, şi i V, t i T(L, V) astfel încât σ( i ) = t i şi i t i. Vom reprezenta substituţia σ ca o mulţime în felul următor: σ = { 1 t 1,..., n t n }. În particular, dacă n = 0, avem substituţia vidă. 34

37 Vom nota substituţiile cu litere greceşti σ, θ, λ, etc. Substituţia vidă va fi notată cu ε. Substituţiile pot fi etinse pentru a fi aplicate la termeni. Această etindere corespunde aplicaţiei unei substituţii unei epresii. Intuitiv, se înlocuiesc variabilele cu termenii corespunzători specificaţi în substituţie. Această înlocuire are loc în paralel (toate variabilele se înlocuiesc în acelaşi timp cu termenii corespunzători). Totuşi, înlocuirea nu poate avea loc în orice condiţii. Următoarea definiţie specifică modul în care se face substituţia. Definiţie 2.10 (Substituţie aplicată unei epresii). Fie σ = { 1,..., n } o substituţie. Aplicarea substituţiei σ unei epresii E din logica predicatelor, notată cu E σ este definită în modul următor: entru termeni: dacă V, atunci σ = { dacă i, 1 i n, i dacă pentru un i, = i. dacă c C, atunci c σ = c. dacă f /m F şi t 1,..., t m T(L, V), atunci: f(t 1,..., t m ) σ = f(t 1σ,..., t mσ ). entru formule: Dacă /m şi t 1,..., t m T(L, V), atunci: (t 1,..., t m ) σ = (t 1σ,..., t mσ ). Dacă F, G F(L, V) atunci: ( F ) σ = ( F σ ), (F G) σ = (F σ G σ ), (F G) σ = (F σ G σ ), (F G) σ = (F σ G σ ), (F G) σ = (F σ G σ ). Dacă V şi F F(L, V), atunci: ( F ) σ = ( ) F σ { t}, unde { t} = ( F ) σ = ( F σ { t} ), { { i t i } dacă pentru uni, = i, {}, altfel. 35

38 Aşadar, pentru a sumariza, pentru variabila se schimbă dacă coincide cu o variabilă ce apare în substituţie, constanta rămâne neschimbată la substituţie. entru termenii compuşi, formulele atomice, formulele compuse, substituţia se face pe componente. entru formulele cuantificate, variabilele legate sunt protejate de la substituţie (substituţia merge pe componente, dar eliminând din substituţie variabilele care sunt legate). Eemplul 2.5 (Substituţii în logica predicatelor). Atunci: Fie σ = { f(y, z), y z, z a}. f( + y, z) σ = f(( + y) σ, z σ ) = f( σ + y σ, z σ ) = f(f(y, z) + z, a). ( (, y) ( (, y) Q(z))) σ = = ( (, y) σ ( ( (, y) Q(z))) σ ) = ( (, y) σ ( (, y) Q(z)) σ { f(y,z)} ) = ( (, y) σ ( (, y) σ { f(y,z)} Q(z) σ { f(y,z)} ) ) = ( (f(y, z), z) ( (, z) Q(a))). Fiind date substituţii, se pot obţine unele noi prin operaţia de compoziţie. Definiţie 2.11 (Compunerea substituţiilor). Fie θ = { 1 t 1,..., n t n } şi σ = {y 1 s 1,..., y n s k } substituţii, X, Y respectiv mulţimile de variabile ce apar în θ, σ. Atunci compoziţia substituţiilor θ şi σ, notată cu θσ este o substituţie definită astfel: θσ = { i t i σ i X, i t i σ} {y j s j y j Y, y j X}. Aşadar, se aplică a doua substituţie termenilor din prima substituţie, se elimină perechile pentru care termenul substituit este acelaşi cu variabila şi se adaugă elementele din a doua substituţie a căror variabilă nu apare în prima. Eemplul 2.6 (Compoziţia substituţiilor). Fie θ = { f(y), y f(a), z u}, σ = {y g(a), u z, v f(f(a))}, Atunci: θσ = { f(y) σ, y f(a) σ, z u σ } {u z, v f(f(a))} = { f(g(a)), y f(a), z z} {u z, v f(f(a))} = { f(g(a)), y f(a), z z} {u z, v f(f(a))} = { f(g(a)), y f(a), u z, v f(f(a))}. 36

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Logică și structuri discrete Limbaje regulate și automate Marius Minea   marius/curs/lsd/ 24 noiembrie 2014 Logică și structuri discrete Limbaje regulate și automate Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 24 noiembrie 2014 Un exemplu: automatul de cafea acțiuni (utilizator): introdu

Mai mult

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; paranteze: (, ); simbolul de egalitate =; cuantificatorul

Mai mult

Probleme date la examenul de logică matematică şi computaţională. Partea a II-a Claudia MUREŞAN Universitatea din Bucureşti Facultatea de Matematică ş

Probleme date la examenul de logică matematică şi computaţională. Partea a II-a Claudia MUREŞAN Universitatea din Bucureşti Facultatea de Matematică ş Probleme date la examenul de logică matematică şi computaţională. Partea a II-a Claudia MUREŞAN Universitatea din Bucureşti Facultatea de Matematică şi Informatică Academiei 4, RO 0004, Bucureşti, România

Mai mult

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Logică și structuri discrete Logică propozițională Marius Minea   marius/curs/lsd/ 3 noiembrie 2014 Logică și structuri discrete Logică propozițională Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 3 noiembrie 2014 Unde aplicăm verificarea realizabilității? probleme de căutare și

Mai mult

Microsoft Word - Curs_09.doc

Microsoft Word - Curs_09.doc Capitolul 7. Proiectarea conceptuală Scop: reprezentarea cerinţelor informale ale aplicaţiei în termenii descrierii complete şi formale dar independent de criteriul folosit pentru reprezentare în sistemul

Mai mult

E_d_Informatica_sp_SN_2014_bar_10_LRO

E_d_Informatica_sp_SN_2014_bar_10_LRO Examenul de bacalaureat naţional 2014 Proba E. d) Informatică Varianta 10 Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este de 3 ore. În rezolvările cerute,

Mai mult

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

LOGICA MATEMATICA SI COMPUTATIONALA  Sem. I, LOGICA MATEMATICĂ ŞI COMPUTAŢIONALĂ Sem. I, 2017-2018 Ioana Leustean FMI, UB Partea III Calculul propoziţional clasic Consistenţă şi satisfiabilitate Teorema de completitudine Algebra Lindenbaum-Tarski

Mai mult

I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere

I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere proprie sau o idee, când comunicăm anumite impresii

Mai mult

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.

Mai mult

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja far Mohammed ibn Musâ al- Khowârizmî în cartea sa intitulată

Mai mult

B

B F.I.A. Laboratorul numărul 3 Cătălin Stoean Unificarea şi recursivitatea Unificarea Unificarea reprezintă modul în care Prologul realizează potrivirile între termeni. La prima vedere, procesul de unificare

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Arbori B Sisteme de Gestiune a Bazelor de Date Relaţionale (SGBDR): operatie importanta regasirea rapida a datelor indecsi. Indexul: colecţie de perechi

Mai mult

ExamView Pro - Untitled.tst

ExamView Pro - Untitled.tst Class: Date: Subiecte logica computationala licenta matematica-informatica 4 ani Multiple Choice Identify the letter of the choice that best completes the statement or answers the question. 1. Fie formula

Mai mult

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 000 standard 3 10 PP Algebră Capitolul I. NUMERE REALE Competenţe specifice: Determinarea

Mai mult

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathematics Olympiad 2013. Data: 12 martie 2013. Autor: Dan

Mai mult

Paradigme de Programare

Paradigme de Programare Paradigme de Programare Conf. dr. ing. Andrei Olaru andrei.olaru@cs.pub.ro cs@andreiolaru.ro Departamentul de Calculatoare 2019 9 : 1 / 38 Cursul 9 Concluzie Paradigma Funcțională 9 : 2 / 38 Cursul 9:

Mai mult

Microsoft Word - Algoritmi genetici.docx

Microsoft Word - Algoritmi genetici.docx 1.1 Generalităţi Algoritmii genetici fac parte din categoria algoritmilor de calcul evoluționist și sunt inspirați de teoria lui Darwin asupra evoluției. Idea calculului evoluționist a fost introdusă în

Mai mult

Microsoft Word - Mihailesc Dan_Test logica (1).doc

Microsoft Word - Mihailesc Dan_Test logica (1).doc Variantă subiecte bacalaureat 2018 Proba E. d) Logică, argumentare şi comunicare Conform modelului publicat Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este

Mai mult

E_d_Informatica_sp_MI_2015_bar_02_LRO

E_d_Informatica_sp_MI_2015_bar_02_LRO Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Varianta 2 Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Toate subiectele

Mai mult

Communicate at your best - Manual - Cap 3 - RO

Communicate at your best - Manual - Cap 3 - RO 1. Principii de bază Ce trebuie să luăm în considerare atunci când comunicăm la birou? Comunicarea la birou nu este nici complicată, nici foarte simplă. Fiecare dintre noi are competențe de bază în interacțiunea

Mai mult

Analiză de flux de date 29 octombrie 2012

Analiză de flux de date 29 octombrie 2012 Analiză de flux de date 29 octombrie 2012 Analiză statică: definiţie O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăţi ale programului sursă. (in principal corectitudinea,

Mai mult

Microsoft Word - Mapa 0.doc

Microsoft Word - Mapa 0.doc ACADEMIA ROMÂNĂ INSTITUTUL DE FILOSOFIE ŞI PSIHOLOGIE CONSTANTIN RĂDULESCU-MOTRU PROBLEME DE LOGICĂ VOL. XIII Dragoş POPESCU Coordonatori: Ştefan-Dominic GEORGESCU EDITURA ACADEMIEI ROMÂNE Bucureşti, 2010

Mai mult

Subiectul 1

Subiectul 1 Subiectul 1 În fişierul Numere.txt pe prima linie este memorat un număr natural n (n

Mai mult

Analiză statică Analiza fluxului de date 23 octombrie 2014

Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică: definiție O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăți ale programului sursă. (in

Mai mult

Microsoft Word - Curs_08.doc

Microsoft Word - Curs_08.doc Partea a II-a. Proiectarea bazelor de date Capitolul 6. Tehnici de proiectare şi modele În capitolele precedente s-au analizat modele de baze de date şi limbaje, presupunând în cele mai multe cazuri că

Mai mult

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de clasă C 1. Vom considera sistemul diferenţial x = f(x),

Mai mult

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x. 1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x. Date de intrare: arr [] = {10, 2, 14, 4, 7, 6}, x =

Mai mult

{ 3x + 3, x < 1 Exemple. 1) Fie f : R R, f(x) = 2x + 4, x 1. Funcţia f este derivabilă pe R\{1} (compunere de funcţii elementare), deci rămâne să stud

{ 3x + 3, x < 1 Exemple. 1) Fie f : R R, f(x) = 2x + 4, x 1. Funcţia f este derivabilă pe R\{1} (compunere de funcţii elementare), deci rămâne să stud { 3 + 3, < Eemple. ) Fie f : R R, f() + 4,. Funcţia f este derivabilă pe R\{} (compunere de funcţii elementare), deci rămâne să studiem derivabilitatea în a. Atunci f s() 3+3 6,< 3, f d f() f() (),> funcţia

Mai mult

Diapositive 1

Diapositive 1 Tablouri Operatii pe tablouri bidimensionale Lectii de pregatire pentru Admitere 09 / 03 / 2019 1 Cuprins Operatii pe tablouri bidimensionale 0. Tablouri unidimensionale scurta recapitulare 1.Tablouri

Mai mult

Electricitate II

Electricitate II Electricitate II Circuitul electric. Legile circuitului electric. Sumar Circuitul electric simplu Legile lui Ohm Legile lui Kirchhoff Gruparea rezistorilor Transformarea stea-triunghi Gruparea generatoarelor

Mai mult

carteInvataturaEd_2.0_lectia5.pdf

carteInvataturaEd_2.0_lectia5.pdf Lect ia3 Diagrame Veitch-Karnaugh 5.1 Noţiuni teoretice Diagramele Veich-Karnaugh (V-K) sunt o modalitate de reprezentare grafică a funcţiilor logice. Pentru o funct ie de N variabile, diagrama corespunz

Mai mult

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor booleene Definiţia 4.1 Se numeşte algebră Boole (booleană)

Mai mult

Microsoft Word - cap1p4.doc

Microsoft Word - cap1p4.doc Algebră liniară, geometrie analitică şi diferenţială.6 Subspaţii vectoriale Fie V un spaţiu vectorial peste corpul K. În cele ce urmează vom introduce două definiţii echivalente pentru noţiunea de subspaţiu

Mai mult

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Logică și structuri discrete Relații. Funcții parțiale Marius Minea   marius/curs/lsd/ 20 octombrie 2014 Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 20 octombrie 2014 Relații în lumea reală și informatică Noțiunea matematică de

Mai mult

Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6

Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6 Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6 b. 12 c. 10 d. 15 2 Câte grafuri neorientate, distincte,

Mai mult

Microsoft Word - _arbori.docx

Microsoft Word - _arbori.docx ARBORI Să presupunem că o firmă doreşte să conecteze la TV, prin cablu, cele n case ale unui sat. Cum vor fi conectate casele la cablu? Logic, va trebui ca fiecare casă să fie conectată. Apoi, la o casă

Mai mult

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII- Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard 3 Algebră Capitolul I. MULŢIMEA NUMERELOR RAŢIONALE Identificarea caracteristicilor numerelor raţionale

Mai mult

Paradigme de programare

Paradigme de programare Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale

Mai mult

Cuantizare Vectoriala.doc

Cuantizare Vectoriala.doc 4. Metoda de quadro în compresie fractala optimizata rata-distorsiune În cele ce urmeaza descriem o metoda de quadro bazata pe optimizarea criteriului ratadistorsiune în compresia fractala a imaginilor.

Mai mult

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine numărul de operaţii efectuate de către un algoritm care determină

Mai mult

L4. TEOREMELE ALGEBREI BINARE. FUNCȚII LOGICE ELEMENTARE. OPERAȚII LOGICE PE BIT. SINTEZA FUNCȚIILOR LOGICE DIN TABELE DE ADEVĂR 1. Obiective Prin par

L4. TEOREMELE ALGEBREI BINARE. FUNCȚII LOGICE ELEMENTARE. OPERAȚII LOGICE PE BIT. SINTEZA FUNCȚIILOR LOGICE DIN TABELE DE ADEVĂR 1. Obiective Prin par L4. TEOREMELE LGEBREI BINRE. FUNCȚII LOGICE ELEMENTRE. OPERȚII LOGICE PE BIT. SINTEZ FUNCȚIILOR LOGICE DIN TBELE DE DEVĂR 1. Obiective Prin parcurgerea acestei ședințe de laborator studenții vor fi capabili:

Mai mult

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx SDA (PC2) Curs 10 Arbori Iulian Năstac Definiția 1: Arbori Recapitulare Arborele este un graf orientat, aciclic și simplu conex. Definiția 2: Un arbore este un ansamblu de structuri de date de natură recursivă

Mai mult

1

1 Contents 1 Automate finite... 2 1.1 Probleme cu AF... 2 1.2 Structuri de date pentru automate finite... 4 2 Gramatici si limbaje; gram. indep. de context... 5 2.1 Limbaje... 5 2.2 Gramatici si limbaje...

Mai mult

Microsoft Word - Lab1a.doc

Microsoft Word - Lab1a.doc Sisteme de numeraţie şi coduri numerice 1.1. Sisteme de numeraţie 1.2. Conversii generale între sisteme de numeraţie 1.3. Reprezentarea numerelor binare negative 1.4. Coduri numerice 1.5. Aplicaţii In

Mai mult

PROGRAMARE ORIENTATA PE OBIECTE

PROGRAMARE ORIENTATA PE OBIECTE Curs 2 Principiile Programării Orientate pe Obiecte Programare Orientată pe Obiecte Tehnici de programare Programarea procedurală Modul în care este abordată programarea, din punct de vedere al descompunerii

Mai mult

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29 Definiţie. Şiruri mărginite. Şiruri monotone. Subşiruri ale

Mai mult

Microsoft Word - Laborator 6 - Expresii Regulate IV.doc

Microsoft Word - Laborator 6 - Expresii Regulate IV.doc PERL Laborator 6 Adrian Iftene Martie 26, 2007 1 1 Greşeli Comune când lucrăm cu RegExp... 3 2 Câteva Subiecte mai Avansate... 3 2.1 Comentarii Inline... 4 2.2 Modificatori Inline... 4 2.3 Gruparea fără

Mai mult

Microsoft Word - 2 Filtre neliniare.doc

Microsoft Word - 2 Filtre neliniare.doc 20 Capitolul 2 - Filtre neliniare 21 CAPITOLUL 2 FILTRE NELINIARE 2-1. PRELIMINARII Răspunsul la impuls determină capacitatea filtrului de a elimina zgomotul de impulsuri. Un filtru cu răspunsul la impuls

Mai mult

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Testare automata: exista un mecanism pentru executia fara

Mai mult

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii) reţelelor de calculatoare După cum am precizat în capitolul anterior, din punct de vedere fizic

Mai mult

Notiuni de algebra booleana

Notiuni de algebra booleana Noţiuni de algebră booleană (în lucru) Definiţie Algebră booleană = o structură algebrică formată din: O mulţime B Două operaţii binare notate cu (+) şi (.) O operaţie unară notată cu ( ) pentru care sunt

Mai mult

Microsoft Word - Studiul 2_Analiza nevoilor la nivelul UVT.doc

Microsoft Word - Studiul 2_Analiza nevoilor la nivelul UVT.doc CENTRUL DE CONSILIERE PSIHOLOGICĂ ŞI ORIENTARE ÎN CARIERĂ (CCPOC) UNIVERSITATEA DE VEST DIN TIMIŞOARA DEPARTAMENTUL DE CERCETARE STUDIUL 2 ANALIZA NEVOILOR DE STRUCTURĂ, COMPETENŢĂ ŞI RELAŢIONARE ALE STUDENŢILOR

Mai mult

Microsoft Word - Matematika_kozep_irasbeli_javitasi_0911_roman.doc

Microsoft Word - Matematika_kozep_irasbeli_javitasi_0911_roman.doc Matematika román nyelven középszint 0911 ÉRETTSÉGI VIZSGA 011. május. MATEMATIKA ROMÁN NYELVEN KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM Indicaţii

Mai mult

INDICATORI AI REPARTIŢIEI DE FRECVENŢĂ

INDICATORI AI REPARTIŢIEI DE FRECVENŢĂ STATISTICA DESCRIPTIVĂ observarea Obiective: organizarea sintetizarea descrierea datelor Analiza descriptivă a datelor Analiza statistică descriptivă reperezintă un tip de analiză ce servește la descrierea,

Mai mult

15. Logică matematică cu aplicații în informatică - MI 3

15. Logică matematică cu aplicații în informatică - MI 3 FIȘA DISCIPLINEI 1. Date despre program 1.1. Instituția de învățământ superior Universitatea de Vest din Timișoara 1.2. Facultatea Matematică și Informatică 1.3. Departamentul Matematică 1.4. Domeniul

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 6 Instrucţiunile limbajului

Mai mult

Introducere în statistică

Introducere în statistică Tudor Călinici 2015 Diferenţierea dintre aplicaţiile descriptive şi aplicaţiile de tip inferenţial Familiarizarea cu terminologia specifică statisticii Variabila Populație statistică Eșantion Talie Bias

Mai mult

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a acestor funcţii: analiticitatea. Ştim deja că, spre deosebire

Mai mult

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G MAGDA COLEGIUL NAŢIONAL ROMAN-VODĂ ROMAN PROIECTUL UNITĂŢII DE ÎNVĂŢARE

Mai mult

Paradigme de programare

Paradigme de programare Curs 9 Logica propozițională. Logica cu predicate de ordinul întâi. Context Scop: modelarea raționamentelor logice ca procese de calcul efectuate pe mașini de calcul Abordare Descrierea proprietăților

Mai mult

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati de reprezentare

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati de reprezentare Concepte de bază. Tipuri de grafuri. Modalităţi de reprezentare Mircea Marin Departamentul of Informatică Universitatea de Vest din Timişoara mircea.marin@e-uvt.ro 9 noiembrie 2018 Introducere Ce este

Mai mult

Acest fișier conține rezumatul anumitor explicații prezente în Curs - privind Sintaxa GNY Totul este legat de Alf = alfabetul de neterminali/ unități

Acest fișier conține rezumatul anumitor explicații prezente în Curs - privind Sintaxa GNY Totul este legat de Alf = alfabetul de neterminali/ unități Acest fișier conține rezumatul anumitor explicații prezente în Curs - privind Sintaxa GNY Totul este legat de Alf = alfabetul de neterminali/ unități lexicale peste care se construiește sintaxa formală

Mai mult

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe bogdan.alexe@fmi.unibuc.ro Cuprinsul lecției de azi Enunțuri și rezolvări pentru

Mai mult

DETERMINAREA CONSTANTEI RYDBERG

DETERMINAREA CONSTANTEI RYDBERG UNIVERSITATEA "POLITEHNICA" BUCUREŞTI DEPARTAMENTUL DE FIZICĂ LABORATORUL DE FIZICA ATOMICA SI FIZICA NUCLEARA BN-03 B DETERMINAREA CONSTANTEI RYDBERG DETERMINAREA CONSTANTEI RYDBERG. Scopul lucrării Determinarea

Mai mult

Logică și structuri discrete Mulțimi Casandra Holotescu

Logică și structuri discrete Mulțimi Casandra Holotescu Logică și structuri discrete Mulțimi Casandra Holotescu casandra@cs.upt.ro https://tinyurl.com/lectureslsd Mulțimi aspecte teoretice Ce sunt mulțimile? Mulțimea e un concept matematic fundamental. Definiție

Mai mult

Microsoft Word - Curs_10.doc

Microsoft Word - Curs_10.doc Capitolul 8. Proiectarea logică Scop - construirea unei scheme logice ce reprezintă corect şi eficient toate informaţiile descrise într-o schemă entitate-relaţie Etape: Restructurarea schemei E-R fază

Mai mult

Document2

Document2 O NOUA TEORIE A STABILITATII ASCHIERII, CARE SE BAZEAZA PE DINAMICA HAOTICA A PROCESULUI, PRECUM SI APLICAREA ACESTEIA LA CONTROLUL INTELIGENT AL STABILITATII Obiectivele proiectului Ideile cheie care

Mai mult

Microsoft Word - Curs_07.doc

Microsoft Word - Curs_07.doc 5.3 Modificarea datelor în SQL Pentru modificarea conţinutului unei baze de date SQL pune la dispoziţie instrucţiunile insert, delete şi update. 5.3.1 Inserări în baza de date Sintaxa instrucţiunii insert

Mai mult

Microsoft Word - BAC sociologie

Microsoft Word - BAC sociologie Colecţia SUBIECTE POSIBILE Editura Paralela 45 Lucrarea este elaborată conform programei şcolare în vigoare pentru bacalaureat. Redactare: Daniel Mitran Tehnoredactare: Iuliana Ene Pregătire de tipar &

Mai mult

Microsoft Word - Curs1.docx

Microsoft Word - Curs1.docx 1. REPREZENTAREA INFORMAȚIILOR ÎN CALCULATOR 1.1. CONCEPTUL DE DATĂ ȘI INFORMAȚIE Datele desemnează elementele primare, provenind din diverse surse, fără o formă organizată care să permită luarea unor

Mai mult

Slide 1

Slide 1 Programare orientată pe obiecte 1. Dezvoltarea aplicațiilor OO 2. Diagrame UML de clase și obiecte Proiectarea orientată pe obiecte 1. Descoperim clasele 2. Determinăm responsabilităţile fiecărei clase

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Introducere în limbajul de programare C - C este un limbaj de programare ale cărui caracteristici sunt economia de expresie, structuri moderne de control al fluxului şi de date, precum şi un set bogat

Mai mult

REVISTA DE FILOSOFIE

REVISTA DE FILOSOFIE REVISTA DE FILOSOFIE 1-2/2008 DUPĂ GÖDEL MIRCEA MALIŢA Rezumat. Studiul investighează şi dezvoltă conceptul de complexitate. Această investigaţie aprofundată propune interesanta idee că stăpânirea complexității

Mai mult

Microsoft Word - Planuri_Mate_

Microsoft Word - Planuri_Mate_ ANUL I 2018-2019 (TRUNCHI COMUN pentru programele de studii universitare de licență: MATEMATICĂ, MATEMATICĂ- INFORMATICĂ, MATEMATICI APLICATE) I 1. Algebră 3 3 E 6 3 3 E 7 2. Analiză matematică 3 3 E 6

Mai mult

PowerPoint Presentation

PowerPoint Presentation Circuite Integrate Digitale Conf. Monica Dascălu Curs Seminar Laborator notă separată Notare: 40% seminar 20% teme // + TEMA SUPLIMENTARA 40% examen 2014 CID - curs 1 2 Bibliografie Note de curs Cursul

Mai mult

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursul precedent am prezentat modelul de spaţiu vectorial

Mai mult

Prietenul nostru, LABIRINTUL! resursă educaţională gratuită, pentru uz şcolar 1

Prietenul nostru, LABIRINTUL! resursă educaţională gratuită, pentru uz şcolar 1 resursă educaţională gratuită, pentru uz şcolar 1 Cuprins: 1. Argument şi motivaţie metodologică pentru utilizarea labirinturilor în activităţile cu elevii 2. Bibliografie: 3.Resurse online si offline

Mai mult

METODE NUMERICE ÎN INGINERIE

METODE NUMERICE ÎN INGINERIE METODE NUMERICE ÎN INGINERIE REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUATII LINIARE Aspecte generale (1) (2) (3) (4) (5) Unicitatea soluţiei Un sistem de ecuaţii liniare are o soluţie unică numai dacă matricea

Mai mult

Slide 1

Slide 1 SCTR -SZOKE ENIKO - Curs 4 continuare curs 3 3. Componentele hard ale unui sistem de calcul in timp real 3.1 Unitatea centrala de calcul 3.1.1 Moduri de adresare 3.1.2 Clase de arhitecturi ale unitatii

Mai mult

Limbaje Formale, Automate si Compilatoare

Limbaje Formale, Automate si Compilatoare Limbaje Formale, Automate şi Compilatoare Curs 1 2018-19 LFAC (2018-19) Curs 1 1 / 45 Prezentare curs Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme

Mai mult

proiectarea bazelor de date

proiectarea bazelor de date Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Proiectarea bazelor de date Lect.dr. Adrian

Mai mult

Modelarea deciziei financiare şi monetare

Modelarea deciziei financiare şi monetare ACADEMIA DE STUDII ECONOMICE DIN BUCUREŞTI FACUTATEA DE FINANȚE, ASIGURĂRI, BĂNCI ŞI BURSE DE VAORI Modelarea deciziei financiare şi monetare Teoria producătorului Aleandru eonte Departamentul de Monedă

Mai mult

Microsoft Word - TIC5

Microsoft Word - TIC5 CAPACITATEA CANALELOR DE COMUNICAŢIE CAPITOLUL 5 CAPACITATEA CANALELOR DE COMUNICAŢIE În Capitolul 3, am văzut că putem utiliza codarea sursă pentru a reduce redundanţa inerentă a unei surse de informaţie

Mai mult

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: PROIECTUL UNITĂŢII DE ÎNVĂŢARE ALGORITMI Notă: filmele didactice, dezbaterile, jocurile

Mai mult

Cum sa te imprietenesti cu Google Introducere Povestea acestei carti a inceput in urma cu putin timp cand am participat la conferinta Treptele schimba

Cum sa te imprietenesti cu Google Introducere Povestea acestei carti a inceput in urma cu putin timp cand am participat la conferinta Treptele schimba Cum sa te imprietenesti cu Google Introducere Povestea acestei carti a inceput in urma cu putin timp cand am participat la conferinta Treptele schimbarii, organizata de doua persoane de la care am avut

Mai mult

Slide 1

Slide 1 Agenti care rezolva probleme catalin.stoean@inf.ucv.ro http://inf.ucv.ro/~cstoean Agenti care rezolva probleme Formularea problemelor Exemple de probleme Algoritmi de cautare standard 2/91 Un agent american

Mai mult

Microsoft Word - dice town.docx

Microsoft Word - dice town.docx Undeva în estul sălbatic american... O mină de aur, teritorii propice pentru creşterea animalelor, nici nu este nevoie de mai mult pentru a atrage aventurieri de toate tipurile. Un mic orăşel a fost repede

Mai mult

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da Probleme proiect TP 2016 1. BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard dacă reprezentarea binară a unuia dintre numere poate

Mai mult

Microsoft Word - 2 ES RO.doc

Microsoft Word - 2 ES RO.doc 2 MULTITASKING 2.1. Preliminarii Este deja foarte bine cunoscut faptul că o programare eficientă în domeniul sistemelor în timp real, în mod evident, vizând aici sistemele în timp real încorporate, este

Mai mult

L4. TEOREMELE ALGEBREI BINARE. FUNCȚII LOGICE ELEMENTARE. OPERAȚII LOGICE PE BIT. SINTEZA FUNCȚIILOR LOGICE DIN TABELE DE ADEVĂR 1. Obiective Prin par

L4. TEOREMELE ALGEBREI BINARE. FUNCȚII LOGICE ELEMENTARE. OPERAȚII LOGICE PE BIT. SINTEZA FUNCȚIILOR LOGICE DIN TABELE DE ADEVĂR 1. Obiective Prin par L4. TEOREMELE LGEBREI BINRE. FUNCȚII LOGICE ELEMENTRE. OPERȚII LOGICE PE BIT. SINTEZ FUNCȚIILOR LOGICE DIN TBELE DE DEVĂR 1. Obiective Prin parcurgerea acestei ședințe de laborator studenții vor fi capabili:

Mai mult

Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivi

Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivi Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivitate şi semi - modularitate Fie L o latice. Se numeşte

Mai mult

Universitatea Lucian Blaga Sibiu Facultatea de inginerie-Departamentul de calculatoare şi Inginerie Electrică Titular curs: Şef lucrări dr.mat. Po

Universitatea Lucian Blaga Sibiu Facultatea de inginerie-Departamentul de calculatoare  şi  Inginerie Electrică  Titular curs:  Şef lucrări dr.mat. Po Titular curs: Şef lucrări dr.mat. Pop N.Daniel Laborator : Şef lucrări dr.mat. Pop N.Daniel Fiecare dintre noi foloseste cuvântul probabil in limbajul curent de câteva ori pe zi, atunci când se referă

Mai mult

G.I.S. Curs 3

G.I.S. Curs 3 G.I.S. Curs 3 Geogafia Mediului 1.04.2014 Dr. Constantin Nistor Formatul de date vectorial Datele vectoriale descriu lumea sub forma unui spaţiu populat de linii în variate aspecte şi feluri: puncte, linii,

Mai mult

Introducere

Introducere Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic AEACD 17. Segmentarea imaginilor: Region-based segmentation. Graph Theory In Image Segmentation Region-based segmentation

Mai mult

MergedFile

MergedFile PROIECT DIDACTIC Clasa a VI-a Matematică Proiect didactic realizat de Nicoleta Popa, profesor Digitaliada, revizuit de Ioan Popa, profesor Digitaliada Textul și ilustrațiile din acest document începând

Mai mult

PROGRAMA CONCURSULUI NAŢIONAL

PROGRAMA CONCURSULUI NAŢIONAL ANUL ŞCOLAR 2011-2012 CLASA a IX-a În programa de concurs pentru clasa a IX-a sunt incluse conţinuturile programelor din clasele anterioare şi din etapele anterioare. 1. Mulţimi şi elemente de logică matematică.

Mai mult

UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB 6 aprilie 2019 Proba scrisă la MATEMATICĂ NOTĂ IM

UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB 6 aprilie 2019 Proba scrisă la MATEMATICĂ NOTĂ IM UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB 6 aprilie 219 Proba scrisă la MATEMATICĂ NOTĂ IMPORTANTĂ: 1) Problemele de tip grilă din Partea A pot

Mai mult

Apel de participare în Grupul de Coordonare Județeană CIVIT Dacă ești interesat(ă) de această oportunitate, te rugăm să te înscrii folosind acest form

Apel de participare în Grupul de Coordonare Județeană CIVIT Dacă ești interesat(ă) de această oportunitate, te rugăm să te înscrii folosind acest form Apel de participare în Grupul de Coordonare Județeană CIVIT Dacă ești interesat(ă) de această oportunitate, te rugăm să te înscrii folosind acest formular online (http://bit.ly/civit-a1) până la data de

Mai mult

Microsoft Word - PLANIFICARE CLASA 2.doc

Microsoft Word - PLANIFICARE CLASA 2.doc Mariana Morãraºu Matematicã ºi Explorarea mediului Planificarea calendaristicã Proiectarea unitãþilor de învãþare Clasa a II-a Semestrul I Aria curriculară: Matematică și Științe ale naturii Disciplina:

Mai mult

Microsoft Word - Cap09_AutoorganizareSiEmergentaInSistemeleAdaptiveComplexe_grile.doc

Microsoft Word - Cap09_AutoorganizareSiEmergentaInSistemeleAdaptiveComplexe_grile.doc Grile 1. Care este proprietatea universală în sistemele vii, organizaţii şi sisteme economice şi sociale, cărora le conferă calitatea de a manifesta caracteristici şi comportamente cu totul noi, care nu

Mai mult