On Tue, 2007-01-16 at 23:20 +0100, Marek Dopiera wrote: > Po długiej przerwie może warto by się zdecydować na jakiś termin. Czy w > okolicach Wielkanocy będą jakieś wykłady?
Właśnie ostatnio myślałem, żeby napisać do Ciebie w sprawie Twojego wykładu, ale chciałem zorientować się najpierw jak wypadnie pierwszy wykład szluugowy w tym roku i na jakie zainteresowanie możemy liczyć. Na razie nie ma zaklepanych żadnych terminów poza 19.01.2007 :) > Poza tym, znalazłem chętnego do poprowadzenia wykładu o rachunku > predykatów, tylko byłbym wdzięczny, gdybyś dodefiniował, co chciałbyś > usłyszeć na tym wykładzie. Bardzo się cieszę :) Hmm, to nie jest tak łatwo dodefiniować, ale spróbuję, jeśli tu napiszę jakieś bzdury, to mnie poprawcie, moja wiedza w zakresie logiki matematycznej jest dosyć powierzchowna :) : Na pewno przydało by się trochę historii, tzn. jak sylogistyka zostaje zastąpiona rachunkiem predykatów przez Fregego, Russela i Whiteheada i dlaczego tak się dzieje. Na początku badania dotyczą analizy semantycznej języka naturalnego i analizy zdań kwantyfikowalnych i prowadzą do parafraz języka naturalnego właśnie w rachunku predykatów (słynne "obecny król Francji jest łysy): http://pl.wikipedia.org/wiki/Teoria_deskrypcji Kiedy nie istnieją jeszcze komputery, to to są czyste spekulacje które dają w praktyce co najwyżej narzędzia weryfikacji dowodów matematycznych. Kiedy pojawia się możliwość maszynowego przetwarzania danych, to z czasem potrzebne też stają się języki opisu tych danych i relacji między nimi. Typowemu programowaniu wystarcza tzw. Klasyczny Rachunek Zdań (operacje logiczne) np.: if (a && b) { } else { } , ale przy językach zapytań gdzie odnosimy się do relacji między danymi, np. w SQL, trzeba już odwołać się do Klasycznego Rachunku Predykatów i teorii mnogości (zbiory). Np. * Język naturalny: wszystkie kierowniczki * Uniwersum: "wszyscy pracownicy" Predykat: Wszystkie x, takie że x jest kierownikiem i x jest kobietą (oczywiście to warto zapisać symbolami kwantyfikacji) * SQL: SELECT * FROM EMPLOYEES WHERE ROLE='manager' AND GENDER='F'; Wykład byłby tym ciekawszy, im więcej było by ciekawych przykładów - chociażby diagramów zbiorów jak w programie PI i SIGMA :) IMHO to jest bardzo ważne, żeby myśleć o SQL nie tyle w kategoriach tabel, co właśnie relacji na zbiorach. Takie podejście okazać się może bardzo pomocne w przypadku innych języków takich jak XPath czy XQuery, gdzie dla danych uorganizowanych hierarchicznie typowo SQLowe przyzwyczajenia mogą zawieść, jeśli nie podeprze ich właśnie odwołanie do teorii mnogości (i wcale nie chodzi tu o jakąś bardzo skomplikowaną teorię). No i dochodzi kolejny aspekt. O ile rozumiem takie języki jak SQL operują na poziomie Logik Pierwszego Rzędu. Dla rozwiązania problemów systemów eksperckich czy SemanticWeb (reguły wnioskowania), coraz ważniejsze staje się wykorzystanie Logik Wyższych Rzędów, które niestety rodzą problemy nierozstrzygalności. Jakby co, to ta chętna osoba może się ze mną skontaktować. Możemy też założyć stronę wiki specjalnie na cel tego wykładu, żeby mniej więcej określić agendę. > Wstępny plan swojego wykładu wrzuciłem na > http://wiki.szluug.org/Wyk%C5%82ady > i byłbym wdzięczny za uwagi, co zmienić, dodać, wywalić. Z tego planu kumam tylko niektóre hasła, więc osobiście jestem zainteresowany zrozumieniem wszystkich zagadnień. :) Zależało by mi na wyraźnym zaznaczeniu dlaczego warto stosować języki funkcyjne - do jakich zastosowań - żeby całość nie kojarzyła się czysto "akademicko" :) . Może warto powiedzieć kilka słów o LISP i XSLT (chociaż to już może być w dyskusji po wykładzie), czy ktoś ze SzLUUGowiczów używa LISP? No i np. funkcje lambda wchodzą powoli do C# co też jest dosyć ciekawe. -- "Meaning is differential not referential" Kazimierz Pogoda Nordic Consulting & Development Company http://www.ncdc.pl/
