{"id":345,"date":"2017-08-21T00:00:56","date_gmt":"2017-08-20T22:00:56","guid":{"rendered":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/?p=345"},"modified":"2022-10-23T10:36:04","modified_gmt":"2022-10-23T08:36:04","slug":"wiekszosc-relacja-przechodnia-i-przepelnienie-stosu","status":"publish","type":"post","link":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/2017\/08\/21\/wiekszosc-relacja-przechodnia-i-przepelnienie-stosu\/","title":{"rendered":"1. Wi\u0119kszo\u015b\u0107 &#8211; relacja przechodnia i przepe\u0142nienie stosu"},"content":{"rendered":"<div id=\"pl-345\" class=\"panel-layout\">\n<div id=\"pg-345-0\" class=\"panel-grid panel-no-style\" data-style=\"{&quot;background_display&quot;:&quot;tile&quot;,&quot;cell_alignment&quot;:&quot;flex-start&quot;}\">\n<div id=\"pgc-345-0-0\" class=\"panel-grid-cell\" data-weight=\"0.51503006012024\">\n<div id=\"panel-345-0-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"0\" data-style=\"{&quot;background_image_attachment&quot;:false,&quot;background_display&quot;:&quot;tile&quot;}\">\n<div class=\"so-widget-sow-editor so-widget-sow-editor-base\">\n<div class=\"siteorigin-widget-tinymce textwidget\">\n<p>To zadanie obejmuje wiedz\u0119 z zakresu tworzenia prostych fakt\u00f3w, uruchamiania programu, zadawania zapyta\u0144. Poruszyli\u015bmy w nim te\u017c kwestie regu\u0142 \u2013 przedstawimy tutaj relacja przechodni\u0105. W matematyce je\u017celi para (x,y) jest w relacji R oraz para (y,z) jest w relacji R to dla pary (x,z) te\u017c zachodzi relacja R.<\/p>\n<p align=\"JUSTIFY\">W j\u0119zyku programowa Prolog <b>obiekt<\/b> opisuje si\u0119 w spos\u00f3b \u201e<b>jaki on jest<\/b>\u201d, a nie \u201ez czego si\u0119 sk\u0142ada\u201d. Dodatkowo umieszcza si\u0119 go w relacji z innym obiektem.<\/p>\n<p align=\"JUSTIFY\">Regu\u0142\u0119 dzieli si\u0119 na praw\u0105 i lew\u0105 stron\u0119 \u2013 po lewej znajduj\u0119 si\u0119 zbi\u00f3r warunk\u00f3w, kt\u00f3re musz\u0105 zosta\u0107 spe\u0142nione, by prawej stronie mo\u017cna by\u0142o przypisa\u0107 logiczn\u0105 prawd\u0119.<\/p>\n<p align=\"JUSTIFY\">Do przedstawienia zagadnienia wykorzystali\u015bmy r\u00f3\u017cnic\u0119 w wielko\u015bci domowych zwierz\u0105t, takich jak chomik, \u015bwinka morska, kot i pies.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-363\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1a-2.png\" alt=\"\" width=\"364\" height=\"174\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1a-2.png 364w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1a-2-300x143.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1a-2-150x72.png 150w\" sizes=\"(max-width: 364px) 100vw, 364px\"><\/p>\n<p align=\"JUSTIFY\">Na pocz\u0105tku napiszemy kr\u00f3tki program zawieraj\u0105cy same <span id=\"su_tooltip_6a2e291a8943a_button\" class=\"su-tooltip-button su-tooltip-button-outline-yes\" aria-describedby=\"su_tooltip_6a2e291a8943a\" data-settings='{\"position\":\"top\",\"behavior\":\"hover\",\"hideDelay\":0}' tabindex=\"0\"><em><strong>fakty<\/strong><\/em><\/span><span style=\"display:none;z-index:100\" id=\"su_tooltip_6a2e291a8943a\" class=\"su-tooltip\" role=\"tooltip\"><span class=\"su-tooltip-inner su-tooltip-shadow-no\" style=\"z-index:100;background:#FFFFFF;color:#333333;font-size:16px;border-radius:5px;text-align:left;max-width:300px;line-height:1.25\"><span class=\"su-tooltip-title\"><\/span><span class=\"su-tooltip-content su-u-trim\">Fakt \u2013 to predykat zako\u0144czony kropk\u0105; stwierdzenie, kt\u00f3re w odniesieniu do opisywanych obiekt\u00f3w uwa\u017camy za prawdziwe.<\/span><\/span><span id=\"su_tooltip_6a2e291a8943a_arrow\" class=\"su-tooltip-arrow\" style=\"z-index:100;background:#FFFFFF\" data-popper-arrow><\/span><\/span>.<\/p>\n<p align=\"JUSTIFY\"><span style=\"font-size: medium;\">Aby nauczy\u0107 si\u0119 tworzy\u0107 fakty skorzystamy z gotowego wzoru:<\/span><\/p>\n<p align=\"JUSTIFY\"><i><span style=\"font-size: medium;\">nazwa_relacji(obiekt1,obiekt2)<\/span><\/i><span style=\"font-size: medium;\"> \u2013 w naszym przypadku <\/span><i><span style=\"font-size: medium;\">nazwa_relacji<\/span><\/i><span style=\"font-size: medium;\"> to wi\u0119kszy, <\/span><i><span style=\"font-size: medium;\">obiekt1<\/span><\/i><span style=\"font-size: medium;\"> to zwierze wi\u0119ksze, a <\/span><i><span style=\"font-size: medium;\">obiekt2<\/span><\/i><span style=\"font-size: medium;\"> to zwierze mniejsze, czyli <\/span><i><span style=\"font-size: medium;\">obiekt1<\/span><\/i><span style=\"font-size: medium;\"> jest <\/span><i><span style=\"font-size: medium;\">nazwa_relacji<\/span><\/i><span style=\"font-size: medium;\"> od <\/span><i><span style=\"font-size: medium;\">obiekt2<\/span><\/i><span style=\"font-size: medium;\">.<\/span><\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(pies, kot).<\/i> \u2013 pies jest wi\u0119kszy od kota.<\/p>\n<p align=\"JUSTIFY\"><i>wi\u0119kszy(kot, swinka).<\/i> \u2013 kot jest wi\u0119kszy od \u015bwinki morskiej.<\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(swinka, chomik).<\/i> \u2013 \u015bwinka jest wi\u0119ksza od chomika.<\/p>\n<p align=\"JUSTIFY\"><a href=\"https:\/\/drive.google.com\/uc?authuser=0&amp;id=0B_oEHEdkstUIbV9CNUFsTlp0bU0&amp;export=download\"><strong>POBIERZ PROGRAM<\/strong><\/a><\/p>\n<p align=\"JUSTIFY\">W tym momencie opisali\u015bmy obiekty w postaci zwierz\u0105t i stworzyli\u015bmy mi\u0119dzy nimi relacj\u0119 wi\u0119kszo\u015bci.<\/p>\n<p align=\"JUSTIFY\">Zapisujemy nasz program i zadajemy pytania.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-567\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/Untitled.gif\" alt=\"\" width=\"676\" height=\"504\"><\/p>\n<p align=\"JUSTIFY\">Na pocz\u0105tek zadamy proste <span id=\"su_tooltip_6a2e291a894a3_button\" class=\"su-tooltip-button su-tooltip-button-outline-yes\" aria-describedby=\"su_tooltip_6a2e291a894a3\" data-settings='{\"position\":\"top\",\"behavior\":\"hover\",\"hideDelay\":0}' tabindex=\"0\"><strong><em>zapytania elementarne<\/em><\/strong><\/span><span style=\"display:none;z-index:100\" id=\"su_tooltip_6a2e291a894a3\" class=\"su-tooltip\" role=\"tooltip\"><span class=\"su-tooltip-inner su-tooltip-shadow-no\" style=\"z-index:100;background:#FFFFFF;color:#333333;font-size:16px;border-radius:5px;text-align:left;max-width:300px;line-height:1.25\"><span class=\"su-tooltip-title\"><\/span><span class=\"su-tooltip-content su-u-trim\">zapytanie elementarne \u2013 nie zawiera zmiennych; oczekiwan\u0105 odpowiedzi\u0105 jest true\/false;<\/span><\/span><span id=\"su_tooltip_6a2e291a894a3_arrow\" class=\"su-tooltip-arrow\" style=\"z-index:100;background:#FFFFFF\" data-popper-arrow><\/span><\/span>. Zapytania elementarne tworzymy w spos\u00f3b analogiczny do tworzenia fakt\u00f3w:<\/p>\n<p align=\"JUSTIFY\"><i>nazwa_relacji(ten_obiekt,od_tego_obiektu)<\/i> \u2013 czy <i>ten_obiekt<\/i> jest <i>nazwa_relacji<\/i> <i>od_tego_obiektu.<\/i><\/p>\n<p align=\"JUSTIFY\">Przyk\u0142ad zapytania 1.<\/p>\n<p align=\"JUSTIFY\">Spr\u00f3buj zada\u0107 zapytanie:<\/p>\n<p align=\"JUSTIFY\">a) czy \u015bwinka jest w wi\u0119ksza od chomika;<\/p>\n<p align=\"JUSTIFY\"><em>wiekszy(swinka,chomik)<\/em>. &#8211; czy \u015bwinka morska jest wi\u0119ksza od chomika.<\/p>\n<p align=\"JUSTIFY\">b)czy pies jest wi\u0119kszy od kota;<\/p>\n<p align=\"JUSTIFY\"><em>wiekszy(pies,kot).<\/em> &#8211; czy pies jest wi\u0119kszy od chomika.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-402\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/a-1.png\" alt=\"\" width=\"553\" height=\"444\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/a-1.png 553w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/a-1-300x241.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/a-1-150x120.png 150w\" sizes=\"(max-width: 553px) 100vw, 553px\"><\/p>\n<p align=\"JUSTIFY\">Przyk\u0142ad zapytania 2.<\/p>\n<p align=\"JUSTIFY\">Teraz sprawdzimy:<\/p>\n<p align=\"JUSTIFY\">a) czy pies jest wi\u0119kszy od \u015bwinki morskiej;<\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(pies,swinka).<\/i> &#8211; czy pies jest wi\u0119kszy od \u015bwinki<\/p>\n<p align=\"JUSTIFY\">b) czy kot jest wi\u0119kszy od chomika;<\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(kot,chomik).<\/i> &#8211; czy kot jest wi\u0119kszy od chomika<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-405\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-6.png\" alt=\"\" width=\"551\" height=\"271\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-6.png 551w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-6-300x148.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-6-150x74.png 150w\" sizes=\"(max-width: 551px) 100vw, 551px\"><\/p>\n<p align=\"JUSTIFY\">Prolog zaprzecza w obu przypadkach, a dobrze wiadomo, \u017ce pies jest wi\u0119kszy od \u015bwinki, a kot od chomika. Aby program w prologu m\u00f3g\u0142 sam wywnioskowa\u0107, \u017ce pies jest wi\u0119kszy od \u015bwinki morskiej, musimy utworzy\u0107 <span id=\"su_tooltip_6a2e291a894f4_button\" class=\"su-tooltip-button su-tooltip-button-outline-yes\" aria-describedby=\"su_tooltip_6a2e291a894f4\" data-settings='{\"position\":\"top\",\"behavior\":\"hover\",\"hideDelay\":0}' tabindex=\"0\"><strong><em>regu\u0142y<\/em><\/strong><\/span><span style=\"display:none;z-index:100\" id=\"su_tooltip_6a2e291a894f4\" class=\"su-tooltip\" role=\"tooltip\"><span class=\"su-tooltip-inner su-tooltip-shadow-no\" style=\"z-index:100;background:#FFFFFF;color:#333333;font-size:16px;border-radius:5px;text-align:left;max-width:300px;line-height:1.25\"><span class=\"su-tooltip-title\"><\/span><span class=\"su-tooltip-content su-u-trim\">Regu\u0142a \u2013 sk\u0142ada si\u0119 z dw\u00f3ch cz\u0119\u015bci:&lt;br&gt;g\u0142owa \u2013 to jeden predykat; znajduje si\u0119 po lewej stronie;&lt;br&gt;cia\u0142o \u2013 to jeden lub wi\u0119cej predykat\u00f3w, kt\u00f3re rozdzielamy przecinkami (oznaczaj\u0105 logiczne \u201ei\u201d) b\u0105d\u017a \u015brednikami (oznaczaj\u0105 logiczne \u201elub\u201d); znajduje si\u0119 po prawej stronie;&lt;br&gt;G\u0142ow\u0119 od cia\u0142a oddzielamy znakami dwukropku i pauzy&nbsp;:- oznaczaj\u0105cymi \u201eje\u017celi\u201d, a ca\u0142\u0105 regu\u0142\u0119 ko\u0144czymy kropk\u0105.&lt;br&gt;Najpro\u015bciej ujmuj\u0105c regu\u0142a to zbi\u00f3r warunk\u00f3w (kt\u00f3re znajduj\u0105 si\u0119 w ciele), kt\u00f3re musz\u0105 zosta\u0107 spe\u0142nione aby cel (kt\u00f3rym jest g\u0142owa) r\u00f3wnie\u017c zosta\u0142 spe\u0142niony, czyli aby mo\u017cna by\u0142o mu przypisa\u0107 logiczn\u0105 prawd\u0119.<\/span><\/span><span id=\"su_tooltip_6a2e291a894f4_arrow\" class=\"su-tooltip-arrow\" style=\"z-index:100;background:#FFFFFF\" data-popper-arrow><\/span><\/span>. Bez regu\u0142, na podstawie samych znanych fakt\u00f3w, kt\u00f3re opisali\u015bmy, prolog zaprzeczy, co wida\u0107 na powy\u017cszych przyk\u0142adach.<\/p>\n<p align=\"JUSTIFY\"><i>Pies jest wi\u0119kszy od \u015bwinki morskiej je\u017celi pies jest wi\u0119kszy od kota i kot jest wi\u0119kszy od \u015bwinki morskiej.<\/i><\/p>\n<p align=\"JUSTIFY\">Nazwy zwierz\u0105t zast\u0105pimy zmiennymi X,Y, Z.<\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(X,Y):-wiekszy(X,Z), wiekszy(Z,Y).<\/i><\/p>\n<p align=\"JUSTIFY\">:- oznacza je\u017celi \u2013 je\u017celi zachodzi prawa strona to zachodzi lewa strona.<\/p>\n<p align=\"JUSTIFY\">, oznacza operator logiczny AND.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-365\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2a-1.png\" alt=\"\" width=\"456\" height=\"178\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2a-1.png 456w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2a-1-300x117.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2a-1-150x59.png 150w\" sizes=\"(max-width: 456px) 100vw, 456px\"><\/p>\n<p align=\"JUSTIFY\">Dopisan\u0105 regu\u0142\u0119 zapisujemy w naszym programie i uruchamiamy go ponownie.<\/p>\n<p align=\"JUSTIFY\"><strong><a href=\"https:\/\/drive.google.com\/uc?authuser=0&amp;id=0B_oEHEdkstUId3hUR1dmYnJQeUk&amp;export=download\">POBIERZ PROGRAM<\/a><\/strong><\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-364\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-3.png\" alt=\"\" width=\"318\" height=\"262\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-3.png 318w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-3-300x247.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-3-150x124.png 150w\" sizes=\"(max-width: 318px) 100vw, 318px\"><\/p>\n<p align=\"JUSTIFY\">Zadajemy te same pytania i w tym momencie nasz program dzia\u0142a prawid\u0142owo.<\/p>\n<p align=\"JUSTIFY\">Od naszego programu mo\u017cemy dowiedzie\u0107 si\u0119 wi\u0119cej \u2013 kt\u00f3re zwierze jest wi\u0119ksze od psa, kota? Przy konstruowaniu takiego pytania musimy podstawi\u0107 zmienn\u0105 w miejsce obiekt2, aby program w trakcie wnioskowania z naszej regu\u0142y m\u00f3g\u0142 zmiennej przypisa\u0107 odpowiednie zwierz\u0119ta.<\/p>\n<p align=\"JUSTIFY\">Przyk\u0142ad zapytania 3.<\/p>\n<p align=\"JUSTIFY\">Spr\u00f3bujmy dowiedzie\u0107 si\u0119:<\/p>\n<p align=\"JUSTIFY\">a) od jakich zwierz\u0105t wi\u0119kszy jest pies;<\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(pies,X).<\/i> &#8211; od jakich zwierz\u0105t jest wi\u0119kszy pies<\/p>\n<p align=\"JUSTIFY\">b) od jakich zwierz\u0105t wi\u0119kszy jest kot;<\/p>\n<p align=\"JUSTIFY\"><i>wiekszy(kot,X). <\/i>&#8211; od jakich zwierz\u0105t jest wi\u0119kszy kot<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-367\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-3.png\" alt=\"\" width=\"346\" height=\"311\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-3.png 346w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-3-300x270.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-3-150x135.png 150w\" sizes=\"(max-width: 346px) 100vw, 346px\"><\/p>\n<p align=\"JUSTIFY\">W tym przypadku po zadaniu pytania i naci\u015bni\u0119ciu ENTER nale\u017cy u\u017cy\u0107 \u015brednika \u201e;\u201d, kt\u00f3ry odpowiada logicznemu OR (lub) \u2013 dzi\u0119ki temu wy\u015bwietlimy wszystkie mo\u017cliwo\u015bci. Gdyby\u015bmy nacisn\u0119li po pierwszym wy\u015bwietlonym zwierz\u0119ciu ENTER, wtedy program zako\u0144czy\u0142by poszukiwania kolejnych mo\u017cliwo\u015bci.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-568\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/tyr.gif\" alt=\"\" width=\"676\" height=\"504\"><\/p>\n<p align=\"JUSTIFY\">Przyk\u0142ad zapytania 4.<\/p>\n<p align=\"JUSTIFY\">Tym razem spytamy o to, od jakich zwierz\u0105t wi\u0119kszy jest chomik.<\/p>\n<p align=\"JUSTIFY\"><em>wiekszy(chomik,X).<\/em><\/p>\n<p align=\"JUSTIFY\">Pami\u0119tamy, \u017ce nasze fakty nie zawieraj\u0105 informacji o jakimkolwiek zwierz\u0119ciu, kt\u00f3re by odpowiada\u0142o na to zapytanie. Przewidujemy, \u017ce program poinformuje nas o braku wiedzy na temat zwierz\u0119cia wi\u0119kszego od chomika.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-369\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3a-1.png\" alt=\"\" width=\"329\" height=\"180\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3a-1.png 329w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3a-1-300x164.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3a-1-150x82.png 150w\" sizes=\"(max-width: 329px) 100vw, 329px\"><\/p>\n<p align=\"JUSTIFY\">Wy\u015bwietla nam si\u0119 ERROR: Out of local stack, czyli b\u0142\u0105d przepe\u0142nienia stosu.<\/p>\n<p align=\"JUSTIFY\">Przyk\u0142ad zapytania 5.<\/p>\n<p align=\"JUSTIFY\">Nie dostaj\u0105c przewidywanej odpowiedzi, spr\u00f3bujemy dowiedzie\u0107 si\u0119 tym razem jakie zwierz\u0119ta s\u0105 wi\u0119ksze od chomika, czyli zmienn\u0105 podstawiamy pod obiekt1.<\/p>\n<p align=\"JUSTIFY\"><em>wiekszy(X,chomik).<\/em><\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-370\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3b-1.png\" alt=\"\" width=\"343\" height=\"199\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3b-1.png 343w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3b-1-300x174.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3b-1-150x87.png 150w\" sizes=\"(max-width: 343px) 100vw, 343px\"><\/p>\n<p align=\"JUSTIFY\">Tym razem r\u00f3wnie\u017c nie dostajemy poprawnej odpowiedzi \u2013 dobrze wiemy, \u017ce zgodnie ze skonstruowanymi przez nas faktami w odpowiedziach powinien si\u0119 znale\u017a\u0107 jeszcze kot. I po raz kolejny pojawia si\u0119 informacja o przepe\u0142nieniu stosu.<\/p>\n<p align=\"JUSTIFY\">Przyk\u0142ad zapytania 6.<\/p>\n<p align=\"JUSTIFY\">Spr\u00f3bujemy zada\u0107 jeszcze jeden rodzaj zapytania \u2013 wy\u015bwietlaj\u0105c\u0105 wszystkie pary zwierz\u0105t, kt\u00f3re spe\u0142niaj\u0105 regu\u0142\u0119 wi\u0119kszo\u015bci. Aby m\u00f3c to zrobi\u0107, musimy obiekt1 i obiekt2 zast\u0105pi\u0107 zmiennymi.<\/p>\n<p align=\"JUSTIFY\"><em>wiekszy(X,Y).<\/em><\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-371\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3c-1.png\" alt=\"\" width=\"336\" height=\"394\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3c-1.png 336w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3c-1-256x300.png 256w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3c-1-128x150.png 128w\" sizes=\"(max-width: 336px) 100vw, 336px\"><\/p>\n<p align=\"JUSTIFY\">Niestety, i w tym przypadku, po przeanalizowaniu naszych fakt\u00f3w, mo\u017cna zauwa\u017cy\u0107, \u017ce Prolog pomin\u0105\u0142 jedn\u0105 par\u0119 \u2013 kot, chomik. I zn\u00f3w ERROR: Out of local stack \u2013 informacja o przepe\u0142nieniu stosu. Pojawia si\u0119 wtedy, kiedy regu\u0142a wywo\u0142uje sam\u0105 siebie i przerywa dalsze poszukiwania.<\/p>\n<p align=\"JUSTIFY\">Aby nie dopu\u015bci\u0107 do takiej sytuacji, nale\u017cy zmodyfikowa\u0107 wcze\u015bniej stworzon\u0105 regu\u0142\u0119, pozwoli to unikn\u0105\u0107 momentu przerwania poszukiwa\u0144, przez co poszukiwania b\u0119d\u0105 bardziej trafne i program nie pominie \u017cadnych informacji.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-372\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4-3.png\" alt=\"\" width=\"574\" height=\"200\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4-3.png 574w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4-3-300x105.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4-3-150x52.png 150w\" sizes=\"(max-width: 574px) 100vw, 574px\"><\/p>\n<p align=\"JUSTIFY\">Nale\u017cy zapami\u0119ta\u0107 ten spos\u00f3b tworzenia regu\u0142 \u2013 by g\u0142owa regu\u0142y mia\u0142a inn\u0105 nazw\u0119 ni\u017c predykat \u0142\u0105cz\u0105ca fakty, dzi\u0119ki temu unikniemy sytuacji, w kt\u00f3rej regu\u0142a b\u0119dzie wywo\u0142ywa\u0107 sam\u0105 siebie i przepe\u0142nia\u0107 stos.<\/p>\n<p align=\"JUSTIFY\"><a href=\"https:\/\/drive.google.com\/uc?authuser=0&amp;id=0B_oEHEdkstUId3hUR1dmYnJQeUk&amp;export=download\"><strong>POBIERZ PROGRAM<\/strong><\/a><\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-373\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/5-3.png\" alt=\"\" width=\"329\" height=\"417\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/5-3.png 329w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/5-3-237x300.png 237w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/5-3-118x150.png 118w\" sizes=\"(max-width: 329px) 100vw, 329px\"><\/p>\n<p align=\"JUSTIFY\">Jak wida\u0107, przesta\u0142 pojawia\u0107 si\u0119 ERROR:Out of local stack. Nasze zapytanie ko\u0144czy<em> false<\/em>.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-374\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/6-2.png\" alt=\"\" width=\"313\" height=\"136\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/6-2.png 313w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/6-2-300x130.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/6-2-150x65.png 150w\" sizes=\"(max-width: 313px) 100vw, 313px\"><\/p>\n<p align=\"JUSTIFY\">Tym razem program nie wy\u015bwietla b\u0142\u0119du o przepe\u0142nieniu stosu, informuje nas o tym, \u017ce nie posiada fakt\u00f3w, kt\u00f3re dadz\u0105 mu odpowied\u017a na nasze zapytanie, poprzez wy\u015bwietlenie <em>false<\/em>.<\/p>\n<p align=\"JUSTIFY\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-375\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/7-3.png\" alt=\"\" width=\"335\" height=\"438\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/7-3.png 335w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/7-3-229x300.png 229w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/7-3-115x150.png 115w\" sizes=\"(max-width: 335px) 100vw, 335px\"><\/p>\n<p align=\"JUSTIFY\">Pytaj\u0105c o wszystkie pary zwierz\u0105t, kt\u00f3re \u0142\u0105czy regu\u0142a wi\u0119kszo\u015bci otrzymujemy prawid\u0142ow\u0105 liczb\u0119 par, kt\u00f3re spe\u0142niaj\u0105 regu\u0142\u0119.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"pgc-345-0-1\" class=\"panel-grid-cell\" data-weight=\"0.48496993987976\">\n<div id=\"panel-345-0-1-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"1\" data-style=\"{&quot;background_display&quot;:&quot;tile&quot;}\">\n<div class=\"textwidget\"><embed src=\"http:\/\/swish.swi-prolog.org\/p\/SEHwIifl.pl\" style=\"width: 580px; height: 580px;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>To zadanie obejmuje wiedz\u0119 z zakresu tworzenia prostych fakt\u00f3w, uruchamiania programu, zadawania zapyta\u0144. Poruszyli\u015bmy w nim te\u017c kwestie regu\u0142 \u2013 przedstawimy tutaj relacja przechodni\u0105. W matematyce je\u017celi para (x,y) jest w relacji R oraz para (y,z) jest w relacji R to dla pary (x,z) te\u017c zachodzi relacja R. W j\u0119zyku&#8230;<\/p>\n<p class=\"continue-reading-button\"> <a class=\"continue-reading-link\" href=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/2017\/08\/21\/wiekszosc-relacja-przechodnia-i-przepelnienie-stosu\/\">Czytaj dalej<i class=\"crycon-right-dir\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts\/345"}],"collection":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/comments?post=345"}],"version-history":[{"count":2,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts\/345\/revisions"}],"predecessor-version":[{"id":452,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts\/345\/revisions\/452"}],"wp:attachment":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/media?parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/categories?post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/tags?post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}