Piotr Kulicki. Informatyczny model realizacji celów i jego zastosowanie do argumentacji

Podobne dokumenty
Definicje. Algorytm to:

LOGIKA FORMALNA POPRAWNOŚĆ WNIOSKOWAŃ

Programowanie w logice

Programowanie komputerów

Programowanie deklaratywne

Algorytm. Krótka historia algorytmów

Wstęp do logiki. Klasyczny Rachunek Zdań III

Rachunek zdań i predykatów

Wprowadzenie do Prologa

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Kultura logiczna Wnioskowania dedukcyjne

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Paradygmaty programowania

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Technologie informacyjne - wykład 12 -

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Reguły gry zaliczenie przedmiotu wymaga zdania dwóch testów, z logiki (za ok. 5 tygodni) i z filozofii (w sesji); warunkiem koniecznym podejścia do

zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych

Programowanie celowe #1

Prolog (Pro-Logic) Programowanie w Logice. Dr inż. Piotr Urbanek

EGZAMIN MATURALNY 2012 INFORMATYKA

PRZEWODNIK PO PRZEDMIOCIE

EGZAMIN MATURALNY 2011 INFORMATYKA

Algorytmika i pseudoprogramowanie

Logika pragmatyczna dla inżynierów

Piotr Kulicki Katolicki Uniwersytet Lubelski Jana Pawła II Instytut Filozofii Teoretycznej Katedra Podstaw Informatyki

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Konstrukcja odcinków niewymiernych z wykorzystaniem. Twierdzenia Pitagorasa.

ECDL Podstawy programowania Sylabus - wersja 1.0

KIERUNKOWE EFEKTY KSZTAŁCENIA

Wstęp do logiki. Kto jasno i konsekwentnie myśli, ściśle i z ładem się wyraża,

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Języki i paradygmaty programowania. I. Wprowadzenie

Logika dla socjologów Część 2: Przedmiot logiki

Programowanie deklaratywne

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH

PRZEWODNIK PO PRZEDMIOCIE

Wykład I. Wprowadzenie do baz danych

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

2017/2018 WYMAGANIA EDUKACYJNE Z MATEMATYKI

Liczba godzin Punkty ECTS Sposób zaliczenia. ćwiczenia 15 zaliczenie z oceną

Algorytm. a programowanie -

Autorski program nauczania

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

PROGRAMOWALNE STEROWNIKI LOGICZNE

PRZEWODNIK PO PRZEDMIOCIE

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

LOGIKA Dedukcja Naturalna

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Logika dla prawników

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

LOGIKA Wprowadzenie. Robert Trypuz. Katedra Logiki KUL GG października 2013

PODSTAWY SZTUCZNEJ INTELIGENCJI

WIEDZA zna na poziomie podstawowym co najmniej jeden pakiet oprogramowania, służący do obliczeń symbolicznych

PRZEWODNIK PO PRZEDMIOCIE

Katedra Teorii i Filozofii Prawa Poznań, dnia 27 września 2018 r.

Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka)

Obliczenia inspirowane Naturą

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Załącznik 2. Symbol efektu obszarowego. Kierunkowe efekty uczenia się (wiedza, umiejętności, kompetencje) dla całego programu kształcenia

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wprowadzenie do algorytmiki

Podstawy Sztucznej Inteligencji (PSZT)

KARTA KURSU. Wstęp do programowania

Programowanie w logice Wykład z baz danych dla

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

KIERUNKOWE EFEKTY KSZTAŁCENIA

Algorytmy sztucznej inteligencji

RAPORT ZBIORCZY z diagnozy umiejętności matematycznych

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Logika stosowana. Ćwiczenia Programowanie w logice i PROLOG. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski

LOGIKA Klasyczny Rachunek Zdań

Metoda Tablic Semantycznych

Koło matematyczne 2abc

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Projektowanie baz danych

Ocenianie ciągłe (praca przy Formująca tablicy oraz przy komputerze) pisemne, końcowe zaliczenie pisemne

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Programowanie w języku C++ Podstawowe paradygmaty programowania

Kierunek i poziom studiów: matematyka, studia I stopnia, rok I. Sylabus modułu: Wstęp do matematyki (03-MO1S-12-WMat)

Informatyka I: Instrukcja 4.2

TEORETYCZNE PODSTAWY INFORMATYKI

Cel projektu: Wymogi dotyczące sprawozdania:

ćwiczenia 15 zaliczenie z oceną

Programowanie i techniki algorytmiczne

PROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

mgr Anna Dziuba Uniwersytet Wrocławski mgr Anna Dziuba

Dydaktyka matematyki III-IV etap edukacyjny (wykłady)

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz

Wstęp do logiki. Semiotyka cd.

Transkrypt:

Piotr Kulicki Informatyczny model realizacji celów i jego zastosowanie do argumentacji 1. Wprowadzenie Procesy argumentacyjne są w ostatnich latach przedmiotem intensywnych badań różnych dziedzin nauki. Jednym z ważniejszych ujęć jest podejście logiczne, w ramach którego poszukiwane są ogólne schematy poprawnej argumentacji. Naturalne wydaje się przypuszczenie, że schematy takie powinny obejmować wszystkie te, które odpowiadają prawom logiki. Okazuje się jednak, że relacja wynikania logicznego nie gwarantuje poprawności argumentacji. Ujawnia się to w przypadku argumentów cyrkularnych (błędne koło w argumentacji, uzasadnianie tego samego przez to samo), które w teorii argumentacji uznawane są za błędne, choć odpowiadające im wyrażenie w logice zdań, p p (w kontekście argumentacji można je odczytać np.: p zatem p), jest prawem logiki obecnym powszechnie w formalizacjach systemów logicznych, niezależnie od treściowego czy formalnego wariantu. 1 Nie chcąc rozstrzygać, czy przedstawiona rozbieżność ma charakter paradoksalny spróbujemy w niniejszej pracy przedstawić problem rozumowań cyrkularnych z perspektywy logiki komputerowej 2. Uważamy, że perspektywa taka przyczyni się do lepszego zrozumienia problemu poprzez umieszczenie go w kontekście oceny skuteczności i ewentualnej automatyzacji działania. Zwrócimy uwagę na występowanie podobieństw strukturalnych pomiędzy konstruowaniem poprawnej argumentacji a innymi sytuacjami związanymi z modelowaniem realizacji celów. Twierdzimy, że argumenty cyrkularne uznawane za nieprawomocne w teorii argumentacji można interpretować jako szczególny przypadek działania, które jest niepoprawne ze względu na to, że nie może przybliżyć do realizacji celu. Dodatkowo dopuszczenie takich działań w programach komputerowych prowadzi do wadliwego działania tych programów. 1 Problem omawiała K. Budzyńska w referacie Czy logika formalna opisuje dedukcyjne argumentacje? Poprawność błędnego koła na konferencji Krytyczne myślenie i retoryka, Warszawa 14 marca 2009, materiał wizualny z referatu znajduje się na stronie: http://perseus.ovh.org/pdfy/budzynska_14.3.9.pdf 2 Chodzi tu o Computational Logic w ujęciu R. Kowalskiego, tzn. logikę budowaną na bazie formalizmów używanych w programowaniu w logice (język Prolog). Logika taka może być stosowana zarówno do programowania i rozumowania na temat działania komputerów jak i do modelowania ludzkiego myślenia i racjonalnego zachowania. Obszerny wykład na ten temat znajduje się w książce R. Kowalski, How to be Artificially Intelligent, http://www.doc.ic.ac.uk/~rak/papers/newbook.pdf, 2009 (wersja robocza).

2. Programowanie realizacji celów W ramach deklaratywnego paradygmatu programowania często spotykany jest schemat, w którym za pomocą pojedynczych kroków wykonywanych w ściśle określonych okolicznościach realizowane są założone z góry cele. W klasycznej pracy kładącej fundamenty tego paradygmatu R. Kowalski zwraca uwagę na fakt następujący: Dowolne zadanie może być przedstawione jako zadanie znalezienia drogi w grafie. Dany jest stan początkowy A, stan docelowy Z i operacje przeprowadzające jeden stan w następny; zadanie polega na znalezieniu drogi z A do Z. 3 Taki schemat doczekał się ujęcia w postaci swoistego języka programowania, służącego do modelowania w nim realizacji celów przez komputerowych agentów, pod nazwą GOAL 4. Aby w szczegółach prześledzić mechanizm działania schematu skorzystamy jednak z programu w standardowym Prologu. Przedstawimy zagadnienie na prostym przykładzie przeszukiwania labiryntu zaczerpniętym z podręcznika programowania w tym języku 5. Zadanie polega na znalezieniu drogi do pokoju, w którym znajduje się telefon w domu, którego plan przedstawiony jest na rysunku 1. W tym wypadku stan początkowy to miejsce, z którego agent wyrusza na poszukiwanie telefonu (punkt a przed wejściem do domu), stan docelowy to pokój, w którym telefon się znajduje, a operacją zmiany stanów jest przejście z pokoju do pokoju. d c f e b a g Rysunek 1. Plan domu Agent przechodzi z pokoju do pokoju, o ile pomiędzy pokojami są drzwi do momentu, w którym znajdzie się w docelowym pomieszczeniu. Notuje jednocześnie wszystkie pokoje, w których już się znalazł i nie bierze ich pod uwagę w dalszym 3 R. Kowalski, Logika w rozwiązywaniu zadań, WNT, Warszawa, 1989 str. 82-83 4 K.V. Hindriks, The GOAL Programming Guide, http://mmi.tudelft.nl/~koen/goalguide.pdf 5 W.F. Clocksin, C.S. Mellish, Prolog. Programowanie, Gliwice, 2003, str. 132 i n. Przedstawiamy tu problem z podręcznika w oryginalnej wersji, program go rozwiązujący jest nieco zmieniony.

poszukiwaniu. Wykonując każde przejście agent zapisuje również wykonywane akcje. Po osiągnięciu celu lista wykonanych przejść jest podawana jako właściwa droga. Poniżej zamieszczony jest tekst programu znajdujący drogę do pomieszczenia z telefonem 6. Opis domu z rysunku 1 zawarty jest w następujących klauzulach. drzwi(a,b). drzwi(b,e). drzwi(b,c). drzwi(d,e). drzwi(c,d). drzwi(e,f). drzwi(g,e). telefon(g). Kolejna klauzula zawiera informację, że przez drzwi można przechodzić w obie strony. przejscie(x,y,drzwi(x,y)):-drzwi(x,y);drzwi(y,x). Pozostała część programu zawiera ogólny schemat poszukiwania drogi do celu. Składa się ona z definicji dwóch predykatów: droga i gotowa_droga. Predykat droga jest definiowany rekurencyjnie. Pierwsza klauzula określa kres rekurencji i obejmuje sytuację, w której agent dotarł do celu i przetwarza informacje o przebytej drodze. Druga klauzula odpowiada za kolejne przejścia pomiędzy stanami, z jednoczesnym zapisywaniem informacji o odwiedzonych stanach i wykonanych akcjach. reverse(akcje_od_konca,akcje_od_poczatku). droga(stan,stan,_,akcje_od_konca,akcje_od_poczatku):- droga(stan1,stan2,stany,akcje,akcje_skuteczne):- przejscie(stan1,stan3,akcja), not(member(stan3,stany)), droga(stan3,stan2,[stan3 Stany],[Akcja Akcje],Akcje_skuteczne). 6 Program uruchamiany był przy użyciu interpretera SWI-Prolog w wersji 5.6.61, http://www.swi-prolog.org

Warunek (*) not(member(stan3,stany)) występujący w drugiej z powyższych klauzul ma kluczowe znaczenie dla działania programu. Po pierwsze eliminuje drogi, które nie są minimalne, gdyż zawierają pętle. Użycie takich dróg byłoby nieracjonalne z punktu widzenia ekonomii realizacji celu. Po drugie, w wielu wypadkach, włączając omawiany przykład, jego usunięcie spowodowałoby, że otrzymany program nie udzielałby żadnej odpowiedzi na zapytanie. Agent przechodziłby ciągle przez te same miejsca bez szans na kontynuację poszukiwań z wykorzystaniem innych ścieżek. W praktyce uruchomienie powyższego programu pozbawionego warunku (*) prowadzi do zawieszenia się interpretera Prologu. Predykat gotowa_droga wywołuje predykat droga określając, że na początku poszukiwania agent przebywał w miejscu, z którego rozpoczął poszukiwanie i nie wykonał jeszcze żadnych akcji. gotowa_droga(x,y,d):-droga(x,y,[x],[],d). Po zadaniu zapytania o drogę ze wskazanego miejsca do telefonu otrzymujemy następującą odpowiedź wymieniającą wszystkie minimalne, tzn. nie zawierające pętli, możliwości.?- telefon(cel), gotowa_droga(a,cel,droga). Cel = g, Droga = [drzwi(a, b), drzwi(b, e), drzwi(e, g)] ; Cel = g, Droga = [drzwi(a, b), drzwi(b, c), drzwi(c, d), drzwi(d, e), drzwi(e, g)] ; false. 7 7 Odpowiedź false interpretera oznacza, że nie ma już więcej rozwiązań postawionego problemu.

3. Ujęcie działań argumentacyjnych w ramach modelu realizacji celów Ten sam schemat można zastosować do modelowania argumentacji. Aby to uczynić trzeba określić czym w tym wypadku są stany, pomiędzy którymi dokonuje się przejść, jakie są możliwe przejścia oraz czym jest stan początkowy i stan docelowy. Stan jest tu stanem przekonań podmiotu, któremu przedstawiane są argumenty. Z punktu widzenia rozpatrywanego schematu nie ma znaczenia jak taki stan przekonań jest rozumiany. Może to być zbiór zdań uznawanych przez podmiot, ale może być to konstrukcja bardziej skomplikowana uwzględniająca stopień uznawania tych zdań i ich wzajemne powiązania. Istotne jest natomiast, że stany takie są dobrze określone i przejścia pomiędzy nimi są dyskretne. Przyjmiemy, że przejścia te dokonują się ze względu na przedstawienie podmiotowi jakiegoś argumentu. Stan początkowy jest zastanym stanem przekonań podmiotu, natomiast stan docelowy, to stan przekonań, do którego ma doprowadzić planowana sekwencja argumentów. Przyjrzymy się tej konstrukcji na przykładzie, w którym dla uproszczenia przyjmiemy, że liczba stanów przekonań jest skończona, a przejścia pomiędzy nimi są explicite wymienione. Nie ma jednak istotnych przeszkód, aby w tym samym schemacie rozpatrywać nieskończone zbiory stanów przekonań określane przy pomocy parametrów, a działanie argumentów definiować poprzez ogólne reguły. Dla zapisania działania argumentów na stany przekonań podmiotu użyjemy tego samego predykatu przejscie, z którego korzystał program znajdujący drogę w labiryncie, definiując go tym razem poprzez poniższe klauzule. przejscie(stan_przekonan_1,stan_przekonan_2,argument_1). przejscie(stan_przekonan_1,stan_przekonan_3,argument_2). przejscie(stan_przekonan_2,stan_przekonan_4,argument_3). przejscie(stan_przekonan_3,stan_przekonan_5,argument_4). Możemy teraz zadać pytanie o argumentację, jaka powinna zostać użyta dla przeprowadzenia agenta ze stanu przekonań o nazwie stan_przekonan_1 do stanu - stan_przekonan_5.?- gotowa_droga(stan_przekonan_1,stan_przekonan_5,argumentacja). Argumentacja = [argument_2, argument_4] ; false.

Argumentacja jest tu ciągiem argumentów, które mogą przeprowadzić podmiot ze stanu zastanego do stanu docelowego. Ciąg ten ma charakter minimalny, tzn. nie zawiera niepotrzebnych elementów. W ten sposób powstaje model argumentacji - schemat formalnego jej ujęcia, który może zostać uzupełniony przez podanie bardziej szczegółowej postaci możliwych stanów przekonań i argumentów. Konstrukcja taka przedstawianie programu komputerowego w roli formalnego opisu jakiegoś zjawiska nie jest powszechnie stosowana 8. Nasuwa się więc pytanie o wartość poznawczą tego typu modelu. Wyczerpująca odpowiedź na to pytanie wykracza jednak poza temat niniejszego artykułu. Zaznaczymy jedynie, że budowanie modelu na gruncie logiki komputerowej, w tym przypadku wprost w języku Prolog, ma zaletę taką, że zachowując wszystkie cechy modelu logicznego (na program można patrzeć jako na zbiór zdań w węższym rachunku predykatów stanowiący swoistą miniteorię wycinka rzeczywistości) uzyskujemy jednocześnie możliwość użycia go jako działającego programu i uruchomienia. 4. Cyrkularność argumentacji Przy użyciu określonego powyżej modelu argumentacji przeanalizujemy różne postaci zjawiska cykliczności w argumentacji. Weźmiemy pod uwagę trzy objawy cyrkularności w argumentacji: cyrkularny krok argumentacjny, cyrkularność wewnątrz ścieżki argumentacyjnej oraz globalną cyrkularność procesu argumentacyjnego. (i) Cyrkularny krok argumentacyjny. Przez cyrkularny krok argumentacyjny będziemy rozumieć bezpośrednie zastosowanie jakiegoś zdania do uzasadnienia tego samego zdania, tzn. argumentacje o schemacie: p zatem p (p p) 9. W naszym modelu taki schemat argumentacyjnych możemy zapisać poprzez następującą klauzulę. przejscie(dowolny_stan,dowolny_stan,argument_cyrkularny). 8 Zazwyczaj w tym charakterze przedstawia się teorię aksjomatyczną wyrażoną w standardowym języku logiki lub określenie operacji konsekwencji. 9 Dla zestawienia argumentacji z logicznym schematem wnioskowania p zatem p dokonując pewnego uproszczenia będziemy w miejsce zmiennej p wstawiać stany przekonań z naszego modelu.

Oznacza to, że argument pod nazwą argument_cyrkularny pozwala na przejście z dowolnego stanu przekonań do tego samego stanu. Warunek (*) z definicji predykatu droga sprawia, że argument ten nigdy nie zostanie użyty w tworzeniu argumentacji. (ii) Cyrkularność wewnątrz ścieżki argumentacyjnej. Mamy tu na myśli sytuację, w której w trakcie argumentacji na rzecz jakiegoś stanu przekonań osiąga się ten właśnie stan, tzn. jakieś stwierdzenie jest dla siebie elementem uzasadnienia. Tak jak w punkcie (i) warunek (*) sprawi, że taka argumentacja w naszym modelu nie wystąpi. W tym miejscu przyjrzyjmy się sytuacji, gdy wśród argumentów obecne są jednocześnie takie, które podpadają pod schematy p q i q p. Za przykład mogą tu posłużyć argumenty: p jest prawdziwe zatem p jest fałszywe i p jest fałszywe zatem p jest prawdziwe, z których każdy wydaje się przekonujący. Istnienie ich może rodzić podejrzenie, że pojawi się argumentacja cyrkularna. Ze względu na warunek (*) argumenty takie nie będą jednak użyte jednocześnie w odniesieniu do tego samego zdania wstawionego w miejscu p w jednym ciągu argumentacyjnym. (iii) Globalna cyrkularność procesu argumentacyjnego. Chodzi w tym punkcie o sytuację, w której aktualny stan przekonań podmiotu jest zgodny ze stanem docelowym. Sytuację tę ujmuje następujące zapytanie.?- gotowa_droga(stan_przekonan_1,stan_przekonan_1,argumentacja). Argumentacja = [] ; false. Odpowiedź tę można odczytać jako informację, że nie jest tu potrzebna, a zarazem nie jest możliwa, żadna argumentacja. W ten sposób wymienione powyżej sytuacje cyrkularności w argumentacji okazały się nieobecne w naszym modelu. Spowodowane jest to faktem, że nie służą one realizacji celu, która jest fundamentem zastosowanego modelu. Uznajemy to za wskazanie, iż cyrkularne argumenty i ciągi argumentacyjne są niepoprawne, co jest zgodne z opinią powszechną na gruncie teorii argumetnacji.

5. Podsumowanie W pracy odnieśliśmy się do problemu odmienności schematów prawidłowej argumentacji od schematów praw logiki. W celu zrozumienia specyfiki argumentacji użyliśmy informatycznego modelu realizacji celów. Argumentację uznaliśmy właśnie za działanie zmierzające do osiągnięcia celu. W zastosowanym modelu, działania argumentacyjne mające charakter cyrkularny uznane są za niepoprawne, mimo iż odpowiadające im formuły są prawami logiki.