Rekurze Predikát predek(X,Y).

Slides:



Advertisements
Podobné prezentace
Sestavení kombinační logické funkce
Advertisements

Užití podobnosti Změna délky úsečky v daném poměru
Věty o shodnosti trojúhelníků
Utvořte negaci výroku, a to bez použití záporu.
Konstrukce trojúhelníku Podle věty sss b a c 1. Přiřaď názvy stran na správné místo. C A B Kantor nejdříve nechá žáky vyřešit tuto otázku. A B.
Některé pojmy teorie grafů I. Příklad: log p ABC = u 0 + u A + u B + u C + u AB + u AC A B C.
Co o nich víme a nevíme Vypracovala Mgr. Helena Černá
 př. 7 výsledek postup řešení Vypočti velikost obsah trojúhelníku ABC. A[-2;1;3], B[0;1;3], C[-2;1;-1]
SAVCI - charakteristika
JUI - 9. přednáška Ř ez, negace, práce s databází RNDr. Jiří Dvořák, CSc.
Tulák sob a jiné zajímavosti
XIV. Průsečík přímky s rovinou - užití
Matice.
Přednáška 10 Logické programování, PROLOG (PROgramming in LOGic)
Rekurze Predikát predek(X,Y). predek(X,Y) :- rodic(X,Y). predek(X,Y) :- rodic(Z,Y),predek(X,Z).
Seznamy, aritmetika. Aritmetika v Prologu Predikát is – soucet (A,B,C) :- C is A+B. – soucin (A,B,C) :- C is A*B.
Přednáška 10 Logické programování, PROLOG (PROgramming in LOGic)
MNOHOÚHELNÍKY DRUHY TROJÚHELNÍKŮ
JINÉ TVARY SLOV.
ZŠ a MŠ Olšovec, příspěvková organizace GEPARD 1-domácí zvířata
Tento Digitální učební materiál vznikl díky finanční podpoře EU- Operačního programu Vzdělávání pro konkurenceschopnost Není –li uvedeno jinak, je tento.
Shodnost trojúhelníků
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
Projekt Moderní škola, registrační číslo projektu CZ.1.07/1.4.00/ Příjemce: Základní škola Velké Přílepy, okr. Praha-západ, Pražská 38, Velké.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Kombinatorika, pravděpodobnost, statistika
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Procedurální (klasické) programování Popisuje algoritmus – postup, jak vyřešit úlohu.
jméno autora Mgr.Eva Truxová název projektu
př. 6 výsledek postup řešení
ZAPOJENÍ LOGICKÝCH FUNKCÍ POMOCÍ OBVODŮ NOT, OR, AND, NOR, NAND
Seznamy, aritmetika. Aritmetika v Prologu Predikát = – A=1 – A=1+1 Predikát is – soucet (A,B,C) :- C is A+B. – soucin (A,B,C) :- C is A*B.
sestavení 1. kanonického tvaru kombinační logické funkce
Sestavení kombinační logické funkce
ZÁKLADNÍ LOGICKÉ FUNKCE
Řez, návrat. Predikát řez (!) Vždy splněn Není povolen návrat přes něj.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě VY_32_INOVACE_INF_RO_14 Digitální učební materiál Sada: Úvod do programování.
Gymnázium Jiřího Ortena KUTNÁ HORA
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Kombinační logické funkce
Kombinatorika, pravděpodobnost, statistika
Konstrukce trojúhelníku
Vzdálenost 2 bodů v rovině a v prostoru Autor: RNDr. Jiří Kocourek.
Mnohočleny Václav Dobiáš Jiří Komínek. Alois Bedřich 10 Alois Bedřich 10 Obvod = a nebo můžeme napsat Obvod = Alois = a Bedřich = b Alois + Bedřich +
Dělitelnost J. Šiřická Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem.
Matematika pro 6. ročník Trojúhelník – obvod a obsah Projekt: Hledání nové cestičky k výuce matematiky Číslo projektu: CZ.1.07/1.1.26/ Autor: Mgr.
Дац.В.А.Міхедзька Геапалітычнае становішча Беларусі ў я гг. XX ст. Заходняя Беларусь у складзе польскай дзяржавы 1.Рыжская мірная дамова 1921 г.
Název školy ZŠ a MŠ Březno Název: Autor: Mgr. Petr Pištěk
Množina bodů dané vlastnosti
Věty o podobnosti trojúhelníků
Zoologie bezobratlých a obratlovců
NAJDI SPRÁVNÝ OBRÁZEK Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Martina Gřundělová. Dostupné z Metodického portálu ISSN:
MATEMATIKA – ARITMETIKA 6
Inf Barevné ladění dokumentů
Rozklad mnohočlenů na součin
Číslo projektu: CZ.1.07/1.4.00/ Název DUM:
Číslo projektu: CZ.1.07/1.4.00/ Název DUM:
Konstrukce trojúhelníku
PROLOG strategie vyhodnocení dotazu
Pythagorova věta – popisuje vztahy stran v pravoúhlém trojúhelníku
Úlohy pro 1. ročník SPŠ ST Panská
Úlohy pro 1. ročník SPŠ ST Panská
Programujeme lépe a radostněji
SAVCI - charakteristika
SČÍTÁNÍ A ODČÍTÁNÍ MNOHOČLENŮ
34.1 Obecná pravidla pro mocniny s přirozeným mocnitelem
Sčítání lomených výrazů
Věty o podobnosti trojúhelníků
Prohledávání grafů.
Transkript prezentace:

Rekurze Predikát predek(X,Y)

predek(X,Y) :- rodic(X,Y). predek(X,Y) :- rodic(Z,Y),predek(X,Z).

Predikát řez (!) Vždy splněn Není povolen návrat přes něj

Použití řezu Problém s opakovaným výskytem sourozenců (kteří mají dva společné rodiče) sourozenec(X,Y) :- rodic(Z,X),!,rodic(Z,Y).

Predikát fail Nikdy není splněn Použití: technika „konstruktivního selhání“ muz(pavel). muz(petr). zena(petra). vypis:-muz(X),write(X),nl,fail.

Technika cut and fail Způsob definování negace Zařídím, aby člověk nebyl sám sobě sourozencem. ruzny(X,Y):-X=Y,!,fail. ruzny(X,Y):-true. sourozenec(X,Y) :- rodic(Z,X),!,rodic(Z,Y),ruzny(X,Y).

Aritmetika v Prologu Predikát = Predikát is A=1 A=1+1 soucet (A,B,C) :- C is A+B. soucin (A,B,C) :- C is A*B. 7

Zjistit, zda je číslo X sudé sude_cislo(X) :- soucin(2,Y,X). 8

Zjistit, zda je číslo X sudé sude_cislo(X) :- soucin(2,Y,X). Není to dobře, není jasné, co to je Y 9

Zjistit, zda je číslo X sudé cislo(X):-X=0. cislo(Y):-cislo(X),Y is X+1. soucet(A,B,C) :- C is A + B. soucin(A,B,C) :- C is A * B. sude_cislo(X) :- cislo(Y), soucin(2,Y,X). 10

Zjistit a vypsat všechny Pythagorejské trojice čísel menších než 100 trojuhelnik(X,Y,Z):- cislo(X), cislo(Y), cislo(Z), X<100, Y<100, Z<100, XX is X*X, YY is Y*Y, ZZ is Z*Z, XXYY is XX+YY, XXYY=ZZ . 11

Zjistit a vypsat všechny Pythagorejské trojice čísel menších než 100 cislo100(X):- X=1;X=2;X=3;X=4;X=5;X=6;X=7;X=8;X=9;X=10;X=11;X=12;X=13;X=14;X=15;X=16;X=17;X=18;X=19; X=20;X=21;X=22;X=23;X=24;X=25;X=26;X=27;X=28;X=29;X=30;X=31;X=32;X=33;X=34;X=35;X=36;X=37;X=38;X=39; X=40;X=41;X=42;X=43;X=44;X=45;X=46;X=47;X=48;X=49;X=50;X=51;X=52;X=53;X=54;X=55;X=56;X=57;X=58;X=59; X=60;X=61;X=62;X=63;X=64;X=65;X=66;X=67;X=68;X=69;X=70;X=71;X=72;X=73;X=74;X=75;X=76;X=77;X=78;X=79; X=80;X=81;X=82;X=83;X=84;X=85;X=86;X=87;X=88;X=89;X=90;X=91;X=92;X=93;X=94;X=95;X=96;X=97;X=98;X=99. trojuhelnik(X,Y,Z):- cislo100(X), cislo100(Y), cislo100(Z), XX is X*X, YY is Y*Y, ZZ is Z*Z, XXYY is XX+YY, XXYY=ZZ . vypis:-trojuhelnik(X,Y,Z),write(X),write(,), write(Y), write(,), write(Z),nl,fail. 12

Seznam seznam hlava tělo [a,b,c,d,e] a [b,c,d,e] [[a,c],b,d,e] [a,c] [] -

Je element prvkem seznamu?

Je element prvkem seznamu? prvek(H,[H|_]). prvek(X,[_|T]):-prvek(X,T).

Spojení dvou seznamů spoj([ ],Sez,Sez). spoj([X|T1],T2,[X|T3]):-spoj(T1,T2,T3). 16

Jaké budou odpovědi? ?- spoj([1,2,3],[a,1,b],X). ?- spoj(X, [1,2,3],[1,2,3,4,5],X). ?- spoj([1,2],[4,5,6],[1,2,4,5,6]). 17

Generování seznamu čísel mezi M a N gen(M,N,[M|Ns]):-M<N,M1 is M+1,gen(M1,N,Ns). gen(N,N,[N]). 18

Řešení problému s trojúhelníky gen(M,N,[M|Ns]):- M<N,M1 is M+1,gen(M1,N,Ns). gen(N,N,[N]). prvek(H,[H|_]). prvek(X,[_|T]):-prvek(X,T). cislo100(X):-gen(1,100,S), prvek(X,S). trojuhelnik(X,Y,Z):- cislo100(X), cislo100(Y), cislo100(Z), XX is X*X, YY is Y*Y, ZZ is Z*Z, XXYY is XX+YY, XXYY=ZZ . vypis:-trojuhelnik(X,Y,Z),write(X),write(,), write(Y), write(,), write(Z),nl,fail. 19

Ukázka diagnostického expertního systému rule(1,zvire,obratlovec,[1]). rule(2,zvire,rak,[2,3,4]). rule(3,zvire,krab,[2,3,5]). rule(4,zvire,hmyz,[2,6]). rule(5,hmyz,brouk,[7]). rule(6,hmyz,motyl,[8,9]). rule(7,obratlovec,teplokrevny,[10]). rule(8,obratlovec,studenokrevny,[11]). rule(11,teplokrevny,savec,[12,13]). rule(12,teplokrevny,ptak,[14]). rule(13,savec,selma,[15]). rule(14,savec,kopytnik,[16]). rule(15,savec,tlustokozec,[17,18]). rule(16,savec,opice,[19]). rule(17,selma,kocka,[20]). rule(18,selma,pes,[21]). rule(19,selma,tygr,[22,23]). rule(20,selma,jaguar,[22,24]). rule(21,kopytnik,zebra,[23]). rule(22,kopytnik,zirafa,[25,26,24]). rule(23,kopytnik,koza,[27,28]). rule(24,kopytnik,ovce,[27,29]). rule(25,tlustokozec,slon,[30]). rule(26,tlustokozec,nosorozec,[31]). rule(27,tlustokozec,hroch,[32]). rule(28,ptak,pstros,[33,25,26]). rule(29,ptak,tucnak,[33,32]). rule(30,ptak,albatros,[34]). rule(31,ptak,papousek,[8]). rule(32,studenokrevny,ryba,[32]). rule(33,studenokrevny,plaz,[35]). rule(34,ryba,kapr,[36,38]). rule(35,ryba,uhor,[37,38]). rule(36,ryba,zralok,[22]). rule(37,plaz,had,[22,37]). rule(37,plaz,zelva,[39]). rule(37,plaz,krokodyl,[22,40]).

Ukázka diagnostického expertního systému cond(1,'ma pevnou kostru'). cond(2,'nema pevnou kostru'). cond(3,'ma klepeta'). cond(4,'leze pozpatku'). cond(5,'leze do strany'). cond(6,'leta'). cond(7,'ma krovky'). cond(8,'je barevny'). cond(9,'seda na kvetiny'). cond(10,'ma stalou telni teplotu'). cond(11,'nema stalou krevni teplotu'). cond(12,'ma srst'). cond(13,'saje mleko'). cond(14,'ma peri'). cond(15,'zere maso'). cond(16,'ma kopyta'). cond(17,'je hodne velky'). cond(18,'ma tlustou kuzi'). cond(19,'je podobny cloveku'). cond(20,'mnouka'). cond(21,'steka'). cond(22,'je nebezpecny'). cond(23,'ma cerne pruhy'). cond(24,'ma cerne skvrny'). cond(25,'ma dlouhe nohy'). cond(26,'ma dlouhy krk'). cond(27,'ma rohy'). cond(28,'meci'). cond(29,'beci'). cond(30,'ma chobot'). cond(31,'ma na nose roh'). cond(32,'zije ve vode'). cond(33,'neleta'). cond(34,'leta dobre'). cond(35,'plazi se'). cond(36,'ji se k vanocum'). cond(37,'je dlouhy a uzky'). cond(38,'zije v rybniku'). cond(39,'ma krunyr'). cond(40,'preplaval Nil').

Ukázka diagnostického expertního systému – inferenční mechanismus zvirata:- go(zvire). zvirata:-write('Jsem zmaten, nevim, co to je'). go(Odhad ):- not(rule(_,Odhad,_,_)),!,nl, write('Myslim, ze to je:'),write(Odhad). go(Odhad ):- rule(_,Odhad,Novy_odhad,Podminky), kontrola(Podminky), go(Novy_odhad). kontrola([Podminka|Zbytek] ):- cond(Podminka,TEXT), zeptejse(TEXT), kontrola(Zbytek). kontrola([]). zeptejse(TEXT):- write('je pravda ze '), write(TEXT), write(' (a./n.) :'), read(ANSWER),!, ANSWER='a'.

Vlastní neprocedurální program (motivace) Jiný klasifikační expertní systém Dopracování rodinných vztahů Konečné hry (piškvorky, NIM,…) Albegrogram „Einsteinova úloha“ Bludiště, hledání cesty, prohledávání stavového grafu Hlavolamy (Lloydova 15, Rubikova kostka,…)