Na studiach dostałem zadanie do wykonania w Prologu o treści:
Napisać program przekształcający dowolne wyrażenia predykatowe (wpz) do postaci klauzul. Wyrarażenia wejściowe i wyjściowe zadawane są w postaci łańcuchów.
Mój problem polega na tym, że kompletnie nie wiem jak za to zadanie w tym języku się zabrać. Nie ukrywam, że moje obycie z tym językiem jest niestety… bardzo małe.
Wiem, że na początku podane wyrażenie muszę przekształcić do postaci znormalizowanej a następnie skolemizować. Pytanie tylko jak zrobić to w Prologu.
Inna sprawa, czy w prologu istnieje jakiś odpowiednik kwantyfikatorów forall/exists czy powinienem je przedstawiać jako najmniejsze zło klawiaturowe A/E ???
Za wszelką pomoc z tym zadaniem będę niezwykle wdzięczny!
Nie znam się na prologu, a poza tym, systemy ekspertowe miałem dosyć dawno. Może podasz wyjaśnienie, jak przekształcać do postaci znormalizowanej(chyba postać tylko z negacjami i and lub or), a także jak skomelizować(tutaj nie pamiętam, o co chodzi). Wtedy więcej osób będzie Ci w stanie pomóc.
Pytanie, w internecie można wiele znaleźć poradników dot. obsługi Listy w Prologu. Pytanie jak listy mają się do łańcuchów znaków. Pytam dlatego, że same proste wywołanie prostej funkcji (np. ?- wypisz([p(x)a])( wypisującej element po elemencie zadaną listę) powoduję błąd przez to, że a występuje za nawiasem…
Podaj jakiś przykład własnego kodu. Osobom przeglądającym temat będzie łatwiej pomóc, inaczej będę musiał uznać, że liczysz na gotowca i wywalić temat do kosza.
Głównie chciałbym o uzyskanie wskazówek jak traktować wytyczną o łańcuchach znaków i jak to się ma do listy w Prologu. Czy aby całe to zadanie w takim razie jest do wykonania na listach skoro podana przeze mnie formuła powoduje error.
Fakt, podając kroki algorytmu troszkę zabrzmiało jakbym liczył na gotowca. Za to przepraszam.
Tak jak pisałem o Prologu moje obycie jest bardzo małe, potrzebuje wskazówek na ww. problemy, tak by móc jakoś swobodnie wystartować. Samej literatury o Prologu i o ‘łańcuchach’ w listach nie znalazłem dlatego rozglądam się tutaj na forum