Diff for ''

Revision 1
Time:
2024-06-13 22:31
Revision 24
Author:
black
Time:
2024-10-26 14:59
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
# Příklad do prologu

<{ForumPost(poster="wweennddeell", timestamp=2010-06-28 22:20:08)}>
Dobrý den,
  
potřeboval bych pomoct naprogramovat úlohu v prologu. Hledal jsem nějaké řešení na internetu, ale nic jsem nenašel a absolutně si s tím nevím rady.
  
Úloha zní takto: Na vstupu je zadán graf, který obecně není stromem. Napište program v jazyce Prolog, který vytiskne pro zadaný uzel grafu všechny cykly grafu, jichž je daný uzel prvkem.
  
Budu rád za každou Vaši pomoc...
<{/ForumPost}>

<{ForumPost(poster="H8me", timestamp=2010-06-29 17:12:28)}>
Zdarec,
co to to ? Je to pre orientovany graf.

    %graf je zoznam hran v tvare h(X,Y)
    
    vsetkyCykly(Hrany,X,Out):-findall(C,(cyklus(Hrany,X,X,[],C),length(C,Len),Len > 1),Out).
    
    cyklus(_,X,X,Akum,Akum).
    cyklus(Hrany,X,Y,Akum,Out):-member(h(Y,N),Hrany), not(member(N,Akum)), cyklus(Hrany,X,N,[N|Akum],Out).
    


<{/ForumPost}>

<{ForumPost(poster="wweennddeell", timestamp=2010-06-29 23:05:55)}>
Díky moc za snahu. Ten prolog je pro mě kámen úrazu.
  
Jestli sem to dobře pochopil, tak mám například tyto hrany:
  
h(b,c).
h(f,c).
h(g,h).
h(d).
h(f,b).
h(k,f).
h(h,g).
  
Co mám teda napsat za vstupní podmínku, aby mi prolog vypsal všechny cykly třeba uzlu f (i když v tomhle příkladu je pouze jeden cyklus).
  
Řešení sem našel na téhle stránce: [https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/](https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/) .Příklad P82 by měl být přesně ten, co hledám, bohužel vůbec nevím jak ten program mám z toho sestavit.
<{/ForumPost}>

<{ForumPost(poster="H8me", timestamp=2010-06-29 23:25:14)}>
Neviem co ma vyjadrovat h(d) ale ked to preskocim tak dotaz pre tvoj priklad by vyzeral takto:
  
vsetkyCykly(\[h(f,c),h(g,h),h(f,b),h(k,f),h(h,g)],f,Out).
  
Out je volna premenna, ta vrati zoznam cyklov.
  
A to riesenie co si postol funguje na tom istom principe, tiez vyhladava cesty v grafe zo zaciatkom aj koncom v tom istom bode.
<{/ForumPost}>

<{ForumPost(poster="Andrew24", timestamp=2015-01-12 13:58:54)}>
Mohl by mi prosím někdo poradit jak by to vypadalo kdyby se měly na konci vypsat všechny cykly jichž daný uzel **neni** prvkem? díky
<{/ForumPost}>
* [Suverenním vítězem pro studium informatiky je pražský matfyz](http://domaci.ihned.cz/c1-49962460-suverennim-vitezem-pro-studium-informatiky-je-prazsky-matfyz) - Hodnocení fakulty v HN
* [ČT, 19.1.2005](http://www.czech-tv.cz/program/detail.php?idec=204%20562%2024190/0030&deid=456&prisp_id=241) - Souboje robotů (reportáž z finále soutěže [Eurobot](http://eurobot.mff.cuni.cz/) 2004)
* Archeologický nález rotundy sv. Václava
    * [Historici objevili Václavovu rotundu](http://zpravy.idnes.cz/tiskni.asp?r=vedatech&c=A050926_213005_vedatech_ad)
    * [TV Nova, 27.9.2005](http://www.nova.cz/tvarchiv/?prog=TNOVINY&video=34592) - Unikatní nález v budově MFF na Malé Straně ([přímý link na video](http://mms.media2.mediacapitol.com/120/nova/2005/TNOVINY/_Unikatni_nalez_v.wmv)).