Programowanie logiczne lato 2014/15

Język wykładowy Polski
Opiekun Paweł Rychlikowski
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj I2.T - teoria inf.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Tagi JP (języki programowania i logika)

Opis przedmiotu:

Logika towarzyszyła komputerom niemal od ich początku jako narzędzie wyrażające ich własności i umożliwiające dowodzenie tych własności. Idea użycia logiki jako samodzielnego języka programowania narodziła się nieco poźniej: w latach siedemdziesiątych XX wieku. Można ją podsumować za pomocą następujących ,,rownań'': program = zbior aksjomatow obliczenie = budowanie dowodu wynikania pewnego twierdzenia z tego zbioru aksjomatow Pierwszy realizujący tę ideę system automatycznego dowodzenia twierdzeń został nazwany Prologiem (od Programmation en Logic), od czasu jego powstania wiele zespołow badawczych pracowało nad uczynieniem z Prologu rzeczywiście przydatnego języka programowania, ktory umożliwiałby szybkie pisanie efektywnych aplikacji związanych ze sztuczną inteligencją, badaniami operacyjnymi, rozpoznawaniem językow naturalnych, translacją, automatycznym dowodzeniem twierdzeń i bazami danych. Podczas wykładu zostaną przedstawione teoretyczne podstawy programowania logicznego (powiemy między innymi o takich zagadnieniach jak operacyjna, teoriomodelowa i stałopunktowa semantyka programow logicznych), omowimy rownież Prolog, ze wszystkimi jego cechami wykraczającymi poza ideę czystego programowania w logice, umożliwiającymi pisanie efektywniejszych programow (w tej części wykład będzie krotką powtorką i rozszerzeniem materiału uczonego na Programowaniu oraz Metodach programowania). Sporo uwagi będzie poświęcone pragmatyce programowania logicznego i jego przykładowym zastosowaniom (ze szczegolnym uwzględnieniem sztucznej inteligencji). Omowimy bazujące na Prologu języki Mercury (jedna z najszybszych mutacji Prologa) oraz Goedel (jeden z wariantow Prologu z typami). Przedstawimy roznież sposoby łączenia językow logicznych z obiektowymi, funkcjonalnymi, wspołbieżnymi i imperatywnymi. Omowimy rownież podstawy programowania z więzami, paradygmatu, ktory z jednej strony sprawił, że programowanie logiczne zaczęło być używane w aplikacjach przemysłowych (w dziedzinie badań operacyjnych), a z drugiej daje wielkie możliwości pisania dużo efektywniejszych rozwiązań "łamigłowkowych" zadań, z ktorymi mieliście do czynienia na pracowni z programowania. Wykładowi będą towarzyszyć ćwiczenia połączone z pracownią. **UWAGA** Wykład najprawdopodobniej będzie odbywał się co dwa lata, ostatnia edycja była w roku akademickim 2005/2006. **Wymagania:** Programowanie lub Metody programowania, Logika dla informatyk ow

Wykłady

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Paweł Rychlikowski
pn 16:00-18:00 (s. 141) 300 33 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.

Ćwiczenio-pracownie

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Dariusz Biernacki
śr 16:00-18:00 (s. 110, 139) 18 14 0
Paweł Rychlikowski
pn 18:00-20:00 (s. 5, 7) 18 19 0
(nieznany prowadzący)
pt 10:00-12:00 (s. 105, 108) 0 0 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Paweł Rychlikowski 302 Konsultacje w semestrze *letnim* roku akademickiego 2023/2024 będą w czwartki w godzinach 12.15-14.00
Dariusz Biernacki 242 wtorek 14-16 (po uzgodnieniu przez e-mail)