Umela Inteligencia | 16.4.2020 15:05 | Zoznamy 2.cast
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Prednáška pokračuje o práci so zoznamami v Prologu. Najprv dokončuje predikát „nachádza sa“ (member): rekurzívna verzia s dvoma pravidlami je nahradená elegantnejším riešením s jedným faktom pre hlavu a jedným pravidlom pre telo. Varovanie o singleton variable sa odstráni anonymnou premennou „_“. Ďalej sa preberá spájanie zoznamov (append) s tromi argumentmi, triviálnym prípadom prázdneho zoznamu a rekurzívnym rozkladom prvého zoznamu na hlavu a telo, vrátane využitia v opačných smeroch. Na záver sa začína zrkadlenie (reverse) zoznamu, ktorého triviálnym prípadom je prázdny zoznam; študentom sa odporúčajú domáce cvičenia na prípravu na skúšku.
- - Predikát „nachádza sa“ funguje rekurzívne: porovná hlavu zoznamu a ak sa nezhoduje, pokračuje s telom, až kým nie je zoznam prázdny.
- - Lepšie riešenie používa jeden fakt pre hlavu a jedno pravidlo pre telo; premenná, ktorá sa nepoužije (singleton), sa nahradí anonymnou premennou „_“.
- - Varovanie (warning) nie je chyba, ale signalizuje potenciálny problém, preto sa mu treba vyhýbať.
- - Spájanie zoznamov má zvyčajne tri argumenty: prvý zoznam, druhý zoznam a výsledný zoznam.
- - Triviálny prípad spájania: prázdny zoznam spojený s ľubovoľným zoznamom dá ten istý zoznam; inak sa hlava prvého zoznamu stáva hlavou výsledku a telo sa spája rekurzívne.
- - Spájanie funguje v oboch smeroch, takže ním možno zistiť aj to, aké zoznamy treba spojiť, aby vznikol daný výsledok.
- - Zrkadlenie (reverse) vypíše zoznam v opačnom poradí; zrkadlo prázdneho zoznamu je prázdny zoznam a pri neprázdnom sa zrkadlí telo a hlava sa pripojí na koniec.
- - Domáce úlohy (napr. prerobenie predikátov otec a matka pomocou „nachádza sa“) nie sú povinné, ale odporúčajú sa na skúšku.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky