Politechnika Warszawska - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Języki przetwarzania symbolicznego

Informacje ogólne

Kod przedmiotu: 103A-INIIT-ISP-JPS Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Języki przetwarzania symbolicznego
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Algorytmy i języki - albo - Projektowanie systemów )-Inżynieria systemów informatycznych-inż.-EITI
( Algorytmy i języki programowania )-Inżynieria systemów informatycznych-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 4.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

JPS

Numer wersji:

1

Skrócony opis:

Kurs jest wprowadzeniem do języków przetwarzania danych symbolicznych. Omawiane są dwa najszerzej używane języki tego typu-LISP i PROLOG, zwłaszcza w aspekcie ich przydatności jako języków implementacyjnych w dziedzinie sztucznej inteligencji.

Pełny opis:

Kurs jest wprowadzeniem do języków przetwarzania danych symbolicznych. Omawiane są dwa najszerzej używane języki tego typu-LISP i PROLOG, zwłaszcza w aspekcie ich przydatności jako języków implementacyjnych w dziedzinie sztucznej inteligencji.

Treść wykładu
Wprowadzenie. Cechy języków do przetwarzania danych symbolicznych. Ogólna charakterystyka języków LISP i PROLOG. Znaczenie języków LISP i PROLOG jako języków programowania zastosowań sztucznej inteligencji.


CZĘŚĆ I: PRZETWARZANIE DANYCH SYMBOLICZNYCH W JĘZYKU LISP

  • Wprowadzenie do języka LISP. Koncepcja programowania funkcyjnego. Podstawowe wyrażenia symboliczne: atomy, listy. Wartość wyrażenia symbolicznego, przypisywanie wartości symbolom, formy. Zasady ewaluacji form. Lista jako podstawowa struktura danych w języku LISP. Elementarne funkcje do przetwarzania list. Wykonanie programu jako proces ewaluacji form. Rekurencja w języku LISP.

  • Podstawowe konstrukcje programowe. Definiowanie funkcji. Zmienne leksykalne i zmienne specjalne. Bloki leksykalne. Predykaty, wyrażenia warunkowe. Argumenty funkcyjne, wyrażenia lambda. Użycie funkcji funcall, apply, funkcji typu mapcar. Iteracja. Operacje wprowadzania i wyprowadzania danych.

  • Przetwarzanie struktur danych. Konstruowanie struktur przez zagnieżdżanie list. Listy asocjacyjne. Przypisywanie atrybutów symbolom. Definiowanie typów strukturalnych. Przykłady przetwarzania złożonych struktur. Strumienie.

  • LISP jako język implementacji zastosowań sztucznej inteligencji -wybrane przykłady. Planowanie sekwencji akcji na przykładzie "świata klocków". Implementacja systemu wnioskującego "wprzód" i systemu wnioskującego "wstecz".


  • CZĘŚĆ II: PRZETWARZANIE DANYCH SYMBOLICZNYCH W JĘZYKU PROLOG
  • Podstawy składni i semantyki. Program jako zbiór faktów i reguł. Wykonanie interpretacyjne programu jako proces wnioskowania zstępującego. Operacja dopasowania wyrażeń symbolicznych. Mechanizm wycofywania (backtracking) w procesie interpretacji programu. Znaczenie deklaratywne i znaczenie proceduralne programu.

  • Podstawy teoretyczne języka. Fakty i reguły jako formuły rachunku predykatów. Podstawy formalne interpretacji programów: dowodzenie twierdzeń, zasada rezolucji.

  • Struktury danych. Listy: reprezentacja, deklaratywna i proceduralna specyfikacja operacji na listach. Przykłady programowania operacji na listach. Ogólna składnia struktur: struktury jako wyrażenia funkcyjne. Przetwarzanie struktur: mechanizm dopasowania dla struktur. Przykłady przetwarzania złożonych struktur danych. Arytmetyka w języku PROLOG: wyrażenia arytmetyczne jako struktury, wbudowane predykaty arytmetyczne, notacja operatorowa.

  • Sterowanie wykonaniem programu. Wpływ kolejności klauzul na przebieg wykonania programu. Sterowanie mechanizmem wycofywania: odcięcie. Przykłady zastosowania odcięcia do modyfikacji zachowania programu. Negacja w języku PROLOG.

  • Operacje wprowadzania i wyprowadzania danych. Czytanie i wyprowadzanie danych atomicznych i struktur.
    Wbudowane predykaty do manipulowania strukturami programu. Konstruowanie i dekomponowanie struktur, operacje na bazie faktów, procedury do konstruowania wyników "zbiorczych" (bagof, setof, findall).

  • PROLOG jako język implementacji zastosowań sztucznej inteligencji -wybrane przykłady. Przeszukiwanie przestrzeni stanów. Przykłady prostych programów planujących sekwencje akcji. Przeszukiwanie drzew AND/OR. Implementacja systemu wnioskującego "wprzód" (forward chaining) i systemu wnioskującego "wstecz" (backward chaining). Przykładowa realizacja powłoki systemu eksperckiego (expert system shell).



    Zakres projektu
    W ramach ćwiczeń projektowych studenci wykonują zadania ilustrujące techniki przetwarzania danych symbolicznych. Programy są pisane w języku PROLOG

  • Literatura:


      1. Bratko - Prolog Programming for Artificial Intelligence Pearson Education 2001

      2. Graham - Common LISPPrentice Hall 1995

      3. Winston, Horn - LISP Addison-Wesley 1984

      4. Luger - Artificial Intelligence
        Pearson Education 2005

    Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (w trakcie)

    Okres: 2019-10-01 - 2020-02-21
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 30 miejsc więcej informacji
    Wykład, 30 godzin, 30 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

    Okres: 2019-02-18 - 2019-09-30
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 60 miejsc więcej informacji
    Wykład, 30 godzin, 60 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

    Okres: 2018-10-01 - 2019-02-17
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 30 miejsc więcej informacji
    Wykład, 30 godzin, 30 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2017/2018 - sem. letni" (zakończony)

    Okres: 2018-02-19 - 2018-09-30
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 60 miejsc więcej informacji
    Wykład, 30 godzin, 60 miejsc więcej informacji
    Koordynatorzy: Rajmund Kożuszek, Piotr Parewicz
    Prowadzący grup: Piotr Kołaczkowski, Jacek Lewandowski
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2017/2018 - sem. zimowy" (zakończony)

    Okres: 2017-10-01 - 2018-02-18
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 36 miejsc więcej informacji
    Wykład, 30 godzin, 36 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2016/2017 - sem. letni" (zakończony)

    Okres: 2017-02-20 - 2017-09-30
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 60 miejsc więcej informacji
    Wykład, 30 godzin, 60 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2016/2017 - sem. zimowy" (zakończony)

    Okres: 2016-10-01 - 2017-02-19
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 36 miejsc więcej informacji
    Wykład, 30 godzin, 36 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2015/2016 - sem. letni" (zakończony)

    Okres: 2016-02-23 - 2016-09-30
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 68 miejsc więcej informacji
    Wykład, 30 godzin, 68 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2015/2016 - sem. zimowy" (zakończony)

    Okres: 2015-10-01 - 2016-02-22
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2014/2015 - sem. letni" (zakończony)

    Okres: 2015-02-23 - 2015-09-30
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2014/2015 - sem. zimowy" (zakończony)

    Okres: 2014-09-29 - 2015-02-22
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2013/2014 - sem. letni" (zakończony)

    Okres: 2014-02-24 - 2014-09-28
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2013/2014 - sem. zimowy" (zakończony)

    Okres: 2013-10-01 - 2014-02-23
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2012/2013 - sem. letni" (zakończony)

    Okres: 2013-02-20 - 2013-09-30
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Zajęcia w cyklu "rok akademicki 2012/2013 - sem. zimowy" (zakończony)

    Okres: 2012-10-01 - 2013-02-19
    Wybrany podział planu:


    powiększ
    zobacz plan zajęć
    Typ zajęć: Projekt, 15 godzin, 48 miejsc więcej informacji
    Wykład, 30 godzin, 48 miejsc więcej informacji
    Koordynatorzy: Piotr Parewicz
    Prowadzący grup: Piotr Parewicz
    Lista studentów: (nie masz dostępu)
    Zaliczenie: Ocena łączna
    Jednostka realizująca:

    103200 - Instytut Informatyki

    Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
    Właścicielem praw autorskich jest Politechnika Warszawska.