egzamin informatyka mech2


1. Dany będzie fragment kodu w C++.

?2. Czym różnią się od siebie zmienne statyczne, automatyczne i dynamiczne? Podaj przykłady.

Zmienne automatyczne

int zmienna

Zmienne statyczne

Static int zmienna

Zmienne dynamiczne

typ *wskaznik;

wskaznik=new typ;

3. Czym są i do czego służą zmienne wskaźnikowe? Kiedy ich używany? Jakie mają zalety? Jakie niosą niebezpieczeństwa?

Rodzaj zmiennych służący do przechowania adresów innych zmiennych określonego typu.

używamy ich przy:

- Operacjach na tablicach, ciągach znaków, strukturach, obiektach

- Operacjach na zmiennych dynamicznych

- Przekazywaniu parametrów do funkcji

ZALETY:

Niebezpieczeństwa:

4. Do czego służą zmienne dynamiczne? Jak je utworzyć i w jaki sposób uzyskać do nich dostęp (w C++)? Jakie mają zalety?

• Do dynamicznego przydzielania i zwalniania

pamięci w C++ służą polecenia:

new - utworzenie zmiennej dynamicznej

delete - usunięcie zmiennej dynamicznej

- Składnia:

typ *wskaznik;

wskaznik=new typ;

delete wskaznik;

delete[] wskaznik; - jeżeli wskaznik wskazuje na tablicę

0x01 graphic

ZALETY:

• Zmienne dynamiczne mogą być tworzone i usuwanie w dowolnym momencie działania programu

- Są umieszczane w obszarze sterty (heap)

- Maksymalny rezerwowany obszar zależy od systemu i dostępności pamięci

• Np. w Windows XP można zadeklarować tablice do 2GB każdą

- Dają możliwość kontroli nad przydziałem pamięci

• Np. reakcję, gdy nie uda się utworzyć odpowiednio dużej tablicy

• Można zmieniać ich rozmiar w czasie działania programu

- Dostęp do zmiennych dynamicznych możliwy jest wyłącznie z użyciem wskaźników

• Nie mają nazw - powstają w czasie działania programu

5. Czym są klasy i obiekty w programowaniu obiektowym? Z czego się składają? Czym są właściwości, metody i zdarzenia? (6)

Obiekt (zmienna obiektowa)

- Struktura łącza w sobie:

Dane / zmienne i stałe (właściwości)

- Przechowują wartości

- Opisują stan obiektu i „konfigurują” jego zachowanie gdy zostanie wywołana któraś z metod

Funkcje (metody)

- Pozwalają operować na danych i zmieniać właściwości

Klasa (typ obiektowy) „Typ” obiektu

- Pozwala utworzyć wiele obiektów o tej samej strukturze (Tak, jak tworzy się wiele zmiennych tego samego typu)

Właściwości (property, properties)

-Odpowiednik zmiennych - w szczególności pól struktury

-Przechowujące pewne wartości i / lub „konfigurują” zachowanie się obiektu

Metody (method, methods)

- Są odpowiednikiem funkcji

- Pobierają lub ustawiają nowe wartości właściwości obiektu

- Można do nich przekazywać parametry i „odebrać” od nich wynik działania

Zdarzenia (event, events)

- Mogą być wywołane przez użytkownika (np. kliknięcie, przesunięcie wskaźnika myszy, wciśnięcie klawisza, rozwinięcie listy)

- Mogą być wywołane przez zmianę stanu obiektu (np. w wyniku działania jakiejś metody)

6. Co to jest konstruktor i destruktor obiektu? 2

Konstruktor-jest to specjalna funkcja danej klasy w programowaniu obiektowym, wywoływana w przy okazji tworzenia każdego obiektu danej klasy. Nie musimy jawnie go wywoływać, w momencie tworzenia obiektu, zostanie on wywołany automatycznie. W języku C++ funkcja może stać się konstruktorem, jeśli ma identyczną nazwę jak nazwa klasy oraz nie zwraca żadnej wartości (nawet void). Jeśli nie zadeklarujemy konstruktora sami, to zrobi to za nas kompilator, gdyż każda klasa musi mieć swój konstruktor.

Destruktor-jest funkcją, którą wykonuje się w celu zwolnienia pamięci przydzielonej dodatkowym obiektom lub innych zasobów. Zasady "przemiany" zwykłej funkcji do destruktora, są podobne do tych tyczących się konstruktora. Jedyna zmiana tyczy się nazwy funkcji: Musi się ona zaczynać od znaku tyldy ~. Należy pamiętać, że destruktor nie ma typu ani parametrów wejściowych.

Jeśli nie zadeklarujemy go sami, to zrobi to za nas kompilator, gdyż każda klasa musi mieć swój destruktor.

7. Jakie zalety ma programowanie obiektowe? 2

Zalety w stosunku do programowania strukturalnego

8. Na czym polega mechanizm dziedziczenia w programowaniu obiektowym? 2

Dziedziczenie (inheritance)

9. Na czym polega enkaspulacja / hermetyzacja w programowaniu obiektowym? W jaki sposób jest realizowana w języku C++? 5

Hermetyzacja polega na ukrywaniu pewnych danych składowych lub metod obiektów danej klasy tak, aby były one dostępne tylko metodom wewnętrznym danej klasy. Jest to mechanizm „zabezpieczania” elementów
obiektu przed dostępem do nich przez obiekty innej klasy. W języku C++ jest to realizowane ze pomocą przydzielania, a raczej określania własności poszczególnych składowych klasy. Własności, te dzielimy na: publiczne - czyli takie do których dostęp mają także obiekty innych klas (deklarujemy ich „przydział” poprzez dodanie przed nazwą metody, zmiennej itd. słowa „public”) oraz prywatne - do których dostęp jest ograniczony do metod należących do obiektów tej samej klasy lub klas pochodnych. Deklarujemy je poprzez dodanie przed nazwą metody, zmiennej itd. słowa „private” lub „protected”. Różnica pomiędzy tymi modyfikatorami jest taka, że atrybut czy metoda oznaczona jako „private” jest niewidoczna, ale również nie może być dziedziczona, natomiast oznaczona jako „protected” może być dziedziczona.

10. W jaki sposób, w języku C++ utworzyć klasę i klasę pochodną? Do czego służą atrybuty członków klasy i specyfikatory dostępu przy dziedziczeniu?

• Utworzenie klasy pochodnej

class naz_k_pochodnej: spec_dostepu naz_k_bazowej { };

• Atrybuty - określają sposób dostępu do elementów obiektu

• Specyfikator dostępu Określa:

• sposób w jaki elementy klasy bazowej zostaną odziedziczone

przez klasę pochodną

• jaki będzie dostęp do nich w klasie pochodnej

• jaki będzie dostęp do nich w dalszych klasach pochodnych

• Specyfikatory - sposób dziedziczenia atrybutów

11. Jak działa i do czego służy mechanizm wyjątków?

• Sygnalizowanie błędów

- Wyjątki (exceptions)

• Funkcja zgłasza błąd / anomalię „rzucając” wyjątek

- Instrukcja throw

• Wyjątki są łapane przez kod wyższego poziomu

- Konstrukcja try…catch

» Blok try {} - zawiera instrukcje / funkcje, które potencjalnie

mogą zgłaszać błąd

» Blok catch () {} - zawiera instrukcje obsługi błędu

• Instrukcja throw

- Może rzucać wyjątek dowolnego typu

» Np. w zależności od błędu raz int, a innym razem tekst

• Blok catch

- „Łapie” wyjątek określonego typu

» Jeśli przypiszemy go na zmienną, wiemy jaka wartość została rzucona

- Może być kilka kolejnych bloków catch, dla różnych typów

wyjątków

- catch (...) „łapie” wyjątek dowolnego typu

» Ograniczenie: nie można przypisać rzuconej wartości na

zmienną

- Jeśli nie ma bloku odpowiadającego typowi wyjątku, wyjątek

przekazywany jest do kodu wyższego rzędu. Jeśli nigdzie nie

zostanie napotkany odpowiedni blok catch - program zgłasza

wyjątek do systemu operacyjnego i kończy pracę.

- Kolejność bloków catch ma znaczenie - wybierany jest pierwszy

Pasujący

- Uwagi dodatkowe:

• Rzucenie wyjątku przerywa dalsze instrukcje - program

przechodzi od razu do odpowiedniego bloku catch

• Wyjątki powinny być łapane jak najbliżej miejsca ich rzucenia

- …ale musi to być miejsce, w którym już możliwe jest obsłużenie

danego wyjątku

• Po obsłużeniu wyjątku program powinien podejmować

normalną pracę

• Mechanizmu wyjątków nie należy stosować „na siłę”

- Np. gdy program inaczej obsługuje błędy i działa to poprawnie

• Mechanizm wyjątków

- Zalety:

• Zwiększa niezawodność programu

- Pozwalają łatwo zauważyć i zareagować na anomalie i błędy

- Program może „sensownie” zachować się w przypadku

wystąpienia błędu (zamiast od razu się kończyć)

- Wiemy że wystąpił błąd oraz jaki to błąd

» Większość funkcji standardowych i systemowych wykorzystuje

mechanizm wyjątków do sygnalizowania błędów

12. Na czym polega analiza, modelowanie i projektowanie obiektowe? 4

Analiza obiektowa

Projektowanie

Modelowanie:

Cele modelowania obiektowego:

13. Czym jest .NET? Jakie ma zalety? Czym różni się klasyczny program komputerowy od programu napisanego dla .NET? Podpowiedź: chodzi przede wszystkim o sposób uruchamiania - należy wyjaśnić różnice .NET

.NET Framework

„Klasyczne” programy

- Kompilacja do kodu maszynowego procesora

- Komunikacja z systemem operacyjnym poprzez API

(zestaw funkcji, dostarczanych przez system)

• Programy dla .NET

- Kompilacja kodu źródłowego do postaci kodu uniwersalnego

(kodu pośredniego - CIL)

- Kod pośredni kompilowany jest do kodu maszynowego

w momencie wywołania

• tzw. kompilacja w locie (Just in Time)

• kompilowane są tylko fragmenty potrzebne w danym momencie

• kompilacja wykonywana jest tylko przy pierwszym wywołaniu danej metody

• Zalety

- Przenośność programów

- Możliwość optymalizacji kodu pod konkretny typ procesora

w momencie wykonywania

- Bardzo bogate biblioteki klas

- Unifikacja klas pomiędzy różnymi językami programowania

• Łatwiejsze łączenie różnych języków w jednej aplikacji

- Zwiększone bezpieczeństwo aplikacji i systemu

• Funkcje związane z prawami dostępu użytkownika i aplikacji

• Nadzorowane wykonanie kodu

• Wady

- Kompilacja w locie może spowalniać program

- Wymaga zainstalowania środowiska uruchomieniowego

• W nowych systemach jest już zainstalowane

14. Co oznacza skrót GUI? Podaj cechy dobrze zaprojektowanego GUI? 7

Graphic User Interface- Graficzny interfejs użytkownika

Dobry interfejs pozwala pracować z systemem bez czytania instrukcji obsługi

Cechy dobrego GUI

Reasumując program tworzy się po to, by ułatwić komuś pracę, dlatego powinien:

15. Co to jest i do czego służy UML? Jakie ma zalety? Jakie perspektywy widzenia systemu obejmuje UML? 10

Ujednolicony Język Modelowania - UML Unified Modeling Language

- UML określa sposób opisu modeli

Perspektywy widzenia systemu:

Opisuje funkcjonalność, jaką powinien dostarczać system, widzianą przez jego użytkowników

Opisuje sposób realizacji funkcjonalności, czyli strukturę systemu widzianą przez projektanta

Opisuje poszczególne moduły i ich interfejsy wraz z zależnościami; perspektywa programisty

Opisuje podział systemu na procesy (czynności) i procesory (jednostki wykonawcze); opisuje właściwości poza funkcjonalne systemu; służy programistom i integratorom

Opisuje fizyczny podział elementów systemu i ich rozmieszczenie w infrastrukturze; służy integratorom i instalatorom systemu

Zalety UML

Wady UML

16. Wybierz dwa dowolne rodzaje diagramów UML - opisz co przedstawiają i do czego służą. Podaj ich podstawowe elementy.10

UML obejmuje 13 rodzajów diagramów:

Przypadek użycia

Diagram przypadków użycia

Składniki diagramu

0x08 graphic
0x01 graphic

Przypadek użycia musi być:

-------------------------------------------------------------

Obiekt

Diagram obiektów

--------------------------------

Sekwencja (przebieg)

Diagram sekwencji

Składniki diagramu

17. Co to jest i jakie zadania spełnia System Zarządzania Bazą Danych? 9

Systemem zarządzania bazą danych - SZBZ (DataBase Management System - DBMS)

- Zapewnia obsługę (dostęp do) danych zawartych w bazie danych

Dostęp do danych

Zadania DBMS:

18. Opisz 2 i 3 warstwową architekturę dostępu do bazy danych 6

2- warstwowa: Systemy klient-serwer

0x08 graphic
0x01 graphic

3 - warstwowa:

-Aplikacja działa na serwerze, klienci łącza się z nią używając przeglądarek WWW

0x08 graphic
0x01 graphic

19. Opisz podstawowe elementy (z czego się składa i jak wyglądają) relacyjnego modelu danych 10

W najprostszym ujęciu w modelu relacyjnym dane grupowane są w relacje, które reprezentowane są przez tablice. Relacje są pewnym zbiorem rekordów o identycznej strukturze wewnętrznie powiązanych za pomocą związków zachodzących pomiędzy danymi. Relacje zgrupowane są w tzw. schematy bazy danych. Relacją może być tabela zawierająca dane teleadresowe pracowników, zaś schemat może zawierać wszystkie dane dotyczące firmy. Takie podejście w porównaniu do innych modeli danych ułatwia wprowadzania zmian, zmniejszenie możliwość pomyłek, ale dzieje się to kosztem wydajności.

Struktura bazy danych:

-dane są przechowywane w polach uporządkowanych dwuwymiarowych

-każda tabela zawiera 0 lub więcej wierszy

-każda tabela zawiera jedną lub więcej kolumn

-każda tabela ma stałą liczbę kolumn i dowolną liczbę wierszy

-wiersze (krotki) są przechowywane w porządku całkowicie dowolnym

Baza danych składa się:

-baza danych-zbiór relacji (zbiór tabel)

-relacja-zbiór krotek (tabela)

-krotka-lista wartości (wiersz tabeli)

-schemat relacji-zbiór składający się z atrybutów (zbiór kolumn tabeli)

-schemat bazy-zbiór schematów relacji

Krotka, to pozioma struktura danych opisująca jeden obiekt. Rekord składa się z pól opisujących dokładnie cechy obiektu np. pojedynczego pracownika.

Tabela - nazywamy zbiór krotek opisujących obiekty w sposób ujednolicony tj. każdy rekord posiada te same nazwy pól. Uwaga: w niektórych systemach baza danych np. dBase każda tabela nazywana jest bazą danych i jest przechowywana w oddzielnych plikach.

Atrybut (kolumna) to struktura danych opisująca pojedynczą daną w krotce np. nazwisko pracownika.

20. Na czym polega problem spójności danych w bazie danych? Jak zapobiegać takim problemom? 10

Baza danych może utracić spójność w wyniku różnych działań. Mogą do tego przyczynić się awarie, powodujące utratę części danych, działania użytkowników, którzy omyłkowo zmodyfikują czy usuną dane, wreszcie współbieżny dostęp do danych. Ten ostatni czynnik będzie stanowił przedmiot dalszych rozważań.

Często w bazie danych jednocześnie pracuje wielu użytkowników, uruchamiających polecenia w ramach swoich transakcji. Transakcje wykonywane są równolegle, często również zdarza się, że w ramach różnych transakcji użytkownicy żądają wykonania operacji na tych samych danych. Np. użytkownik ALA chce usunąć wszystkie rekordy ze swojej relacji PRACOWNICY, tymczasem równolegle użytkownik OLEK chce podnieść płace podstawowe wszystkim pracownikom z relacji PRACOWNICY użytkownika ALA. Konflikty w dostępie do danych operacji z równoległych transakcji mogą spowodować utratę spójności bazy danych. Może dojść do wystąpienia tzw. anomalii współbieżnego dostępu.

Z anomalią o nazwie „brudny odczyt” mamy do czynienia wtedy, gdy transakcja odczytuje dane, zmienione przez inną transakcję, która potem zostaje wycofana. Tak więc pierwsza transakcja odczytała dane, które już nie istnieją.

Anomalia o nazwie „utracona modyfikacja” powstaje w sytuacji, gdy dwie transakcje równolegle przystępują do aktualizacji tych samych danych i zmiany, wprowadzone przez jedną z transakcji, zostają nadpisane przez zmiany z drugiej transakcji.

„Niepowtarzalny odczyt” to sytuacja, w której transakcja wielokrotnie wykonuje tą samą operację odczytu rekordu z relacji bazy danych i otrzymuje różne wartości atrybutów rekordu, gdyż równolegle inna transakcja modyfikuje wartości atrybutów tego samego rekordu.

Ostatnia z anomalii, „fantomy”, jest podobna do niepowtarzalnego odczytu: transakcja wielokrotnie wykonuje to samo zapytanie do bazy danych i otrzymuje różne zbiory rekordów. Dzieje się tak dlatego, że równolegle inna transakcja wstawia nowe rekordy czy też modyfikuje istniejące w ten sposób, że zbiór rekordów, spełniających kryteria zapytania pierwszej transakcji, wciąż się powiększa.

Anomalie „brudny odczyt” i „utracona modyfikacja” są poważnymi zagrożeniami dla spójności, natomiast „niepowtarzalny odczyt” i „fantomy” są anomaliami tolerowanymi w większości systemów zarządzania bazami danych.

Zapobieganie problemom spójności danych

21. Co to są transakcje w bazach danych? Jakie mają zalety? Przed jakimi problemami chronią? Jak są realizowane od strony technicznej?10

Transakcja:

Ciąg logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny

Cechy transakcji:

  1. ACID = Atomicity, Conistency, Isolation, Durability(atomowość, Spójność, Izolacja, Trwałość)

  2. Atomowość - Ciąg operacji wchodzących w skład transakcji jest niepodzielny. Zostaną wykonane wszystkie operacje transakcji albo żadna

  3. Spójność - Transakcja przeprowadza bazę danych z jednego stanu spójnego do innego stanu spójnego. W trakcie wykonywania transakcji baza danych może być przejściowo niespójna. Transakcja nie może naruszać ograniczeń integralnościowych

  4. Izolacja - Transakcje są od siebie logicznie oddzielone. Transakcje nie oddziałują na siebie bezpośredni. Mogą oddziaływać tylko poprzez zmianę danych. Mimo współbieżnego wykonywania, transakcje widzą stan bazy danych tak, jak gdyby były wykonywane w sposób sekwencyjny

  5. Trwałość - Wyniki zatwierdzonych transakcji nie mogą zostać utracone w przypadku awarii systemu

Transakcje chronią zarówno przed brudnymi odczytami jak i przed niepowtarzalnymi odczytami.

-ułatwiają proces uaktualniania baz danych

-pomagają w zachowaniu spójności

Przebieg transakcji::

22. Czym to jest SQL? Do czego służy? Gdzie i kiedy się go stosuje? Z czego się składa? Jak można z niego korzystać?10

SQL - Structured Query Language to język który jest wykorzystywany do wyświetlania, wstawiania i modyfikowania danych w bazie danych. Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych (DBMS)

Za pomocą SQL tworzone są tekstowe zapytania przesyłane do DBSM

W języku SQL nie można napisać samodzielnego programu (tak jak np. w C)

Sposoby wykorzystania SQL

Polecenia SQL dzieli się na 3 grupy

DML (Data Manipulation Language) służy do wykonywania operacji na danych - do ich umieszczania w bazie, kasowania, przeglądania, zmiany. Najważniejsze polecenia z tego zbioru to:

SELECT - pobranie danych z bazy,

INSERT - umieszczenie danych w bazie,

UPDATE - zmiana danych,

DELETE - usunięcie danych z bazy.

Dane tekstowe muszą być zawsze ujęte w znaki pojedynczego cudzysłowu (').

Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane - czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy to:

CREATE (np. CREATE TABLE, CREATE DATABASE, ...) - utworzenie struktury (bazy, tabeli, indeksu itp.),

DROP (np. DROP TABLE, DROP DATABASE, ...) - usunięcie struktury,

ALTER (np. ALTER TABLE ADD COLUMN ...) - zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli).

DCL (Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia w tej grupie to:

GRANT (np. GRANT ALL PRIVILEGES ON EMPLOYEE TO PIOTR WITH GRANT OPTION) - przyznanie wszystkich praw do tabeli EMPLOYEE użytkownikowi PIOTR z opcją pozwalającą mu nadawać prawa do tej tabeli.

REVOKE - odebranie użytkownikowi wszystkich praw do tabeli, które zostały przyznane poleceniem GRANT.

DENY.

23. Czym są hurtownie danych? Jak są zbudowane? 6

Hurtownia danych - data warehouse - Rodzaj bazy danych (niekoniecznie relacyjna), integrująca i przechowująca bardzo dużą ilość danych.

Cechy charakterystyczne

Oprócz hurtowni potrzebne są specjalistyczne aplikacje wyszukujące, analizujące i prezentujące dane

0x08 graphic
0x01 graphic

W praktyce

24. Co to jest Sztuczna Inteligencja? Jakie techniki zalicza się do SI? Podaj przykładowe zastosowania (min 5przykładów) 8

Sztuczna Inteligencja nauka obejmująca zagadnienia logiki rozmytej, obliczeń ewolucyjnych, sieci neuronowych, sztucznego życia i robotyki. Sztuczna inteligencja to dział informatyki, którego przedmiotem jest badanie reguł rządzących inteligentnymi zachowaniami człowieka, tworzenie modeli formalnych tych zachowań i - w rezultacie - programów komputerowych symulujących te zachowania. Można ją też zdefiniować jako dział informatyki zajmujący się rozwiązywaniem problemów, które nie są efektywnie algorytmizowane

Jakie techniki zalicza się do SI?

Obszary zastosowań

25. Opisz budowę prostego (pojedynczego) sztucznego neuronu? (wraz ze wzorami) Jak działa? Co to jest funkcja aktywacji?9

0x01 graphic

Do neuronu dostarczamy sygnały wejściowe, które są mnożone przez wagi i następnie dodawane w sumatorze. Tak otrzymujemy sumę s, która jest parametrem funkcji aktywacji odpowiedzialnej za przydzielenie wartości na wyjściu neuronu.

Działanie neuronu - Polega na klasyfikowaniu (sumowaniu) danych pojawiających się na wejściu i ustawianiu wartości na wyjściu

0x08 graphic

Funkcja aktywacji pozwala określić wartość na wyjściu neuronu.

Rodzaje i przykłady funkcji

Wybór funkcji aktywacji - Zależy od rodzaju problemu jaki stawiamy przed siecią do rozwiązania

Wymagane cechy funkcji aktywacji:

26. Opisz algorytm uczenia pojedynczego perceptronu? 8

Prosty neuron z progową funkcją aktywacji nazywamy perceptronem

Uczenie perceptronu

0x08 graphic
0x01 graphic

27. W JAKIM CELU BUDUJE SIĘ SIECI NEURONOWE? (JAKA JEST ZALETA SIECI W STOSUNKU DO POJEDYNCZEGO NEURONU?)

Sieci neuronowe buduje się, aby móc sprostać bardziej skomplikowanym operacjom, które nie mogą zostać wykonane za pomocą pojedynczego neuronu. Sieć neuronowa może być zbudowana z wielu warstw połączonych szeregowo. Neurony w warstwie są równoległe, nie połączone ze sobą.

Zalety:

- większe możliwości (np. funkcja XOR);

- istnieje prosta rozdzielająca (granica decyzyjna);

- występowanie warstwy ukrytej

28. Opisz ogólną zasadę działania algorytmu wstecznej propagacji błędów. (nie trzeba pamiętać

szczegółowych wzorów)

Jest to podstawowy algorytm optymalizacji określonej funkcji celu. Podaje on przepis na zmianę wag wij (proporcjonalnie do wartości pochodnej cząstkowej funkcji celu) dowolnych połączeń elementów przetwarzających (Neronów) rozmieszczonych w sąsiednich warstwach sieci. Oparty jest on na minimalizacji sumy kwadratów błędów uczenia z wykorzystaniem optymalizacyjnej metody największego spadku. Gradient funkcji wskazuje kierunek jej najszybszego wzrostu (lub spadku) funkcji.

Działanie algorytmu:

- na wejście podajemy ciąg uczący

- sygnał jest przetwarzane przez kolejne warstwy sieci

- sygnał wyjściowy ostatniej warstwy porównujemy ze wzorcem

-modyfikujemy wagi ostatniej warstwy, a następnie poprzednich, aż do pierwszej (wsteczna propagacja błędu)

29. Na czym polega zdolność uogólniania Sieci Neuronowej

Zdolność ta jest podstawową różnica między sieciami neuronowymi, a rozwiązaniami algorytmicznymi

30. Dlaczego najczęściej stosuje się sieci 3-warstowowe?

Trzy warstwy mogą odwzorować dowolny obszar. Sieć trójwarstwowa potrafi rozwiązać każdy problem klasyfikacji lub aproksymacji i większość innych zadań

W jaki sposób określa się liczbę neuronów w warstwie ukrytej?

Zaczyna się od małej liczby neuronów, która zwiększa się w razie potrzeby (na podstawie symulacji)

Jeżeli neuronów jest mało: siec uczy się szybko, sieć może nie rozwiązywać zadania poprawnie

Jeżeli neuronów jest za dużo: sieć uczy się dłużej, działa wolniej, może być „przeuczona” podaje błędne wartości dla danych innych niż uczące

31. Jakie są wady, zalety i ograniczenia Sieci Neuronowych? 3

Zalety:

Zdolność uogólniania / generalizacji

Zdolność ta jest podstawową różnica między sieciami neuronowymi, a rozwiązaniami algorytmicznymi

Uniwersalność struktury

Wady ograniczenia:

32. Czym są, jakie mają cechy charakterystyczne i gdzie są stosowane Algorytmy Ewolucyjne? 10

Algorytmy ewolucyjne to zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Przeszukuje się przestrzeń alternatywnych rozwiązań problemu w celu odnalezienia rozwiązań najlepszych lub potencjalnie najlepszych. Algorytmy ewolucyjne zalicza się do klasy algorytmów heurystycznych. Przeszukiwanie odbywa się za pomocą mechanizmów ewolucji oraz doboru naturalnego.

Cechy:

-realizują takie mechanizmy jak:

Różnice względem algorytmów klasycznych:

Główne zalety

Zastosowanie: Problemy, w których dobrze określony jest sposób oceny jakości rozwiązania, ale nie ma dobrych algorytmów rozwiązania

Projektowanie sieci neuronowych

Projektowanie genetyczne - Przykłady:

0x08 graphic
33. Opisz zasadę działania klasycznego algorytmu genetycznego. 10

Inicjalizacja

Ocena przystosowania

Sprawdzenie warunku zatrzymania

Selekcja

Operacje na genach zastosowanie operatorów genetycznych

Utworzenie nowej populacji

Zastosowanie najlepszego osobnika

0x08 graphic
34. Opisz metodę koła ruletki w selekcji osobników w algorytmie genetycznym. Podaj jej wady 5

Zasada działania

Wady metody

35. Opisz metody krzyżowania w algorytmie genetycznym. 4

Zasady ogólne

Krzyżowanie jednopunktowe

Krzyżowanie dwupunktowe

Krzyżowanie wielopunktowe

Krzyżowanie równomierne

aktor

przypadek użycia

Sprzedawca

Wystaw fakturę

Zegar

Znajdź produkt

Klient

Zmień stan magazynu

Znajdź fakturę

Magazynier



Wyszukiwarka

Podobne podstrony:
Word Egzamin 3 r, Informatyka
systemy operacyjne- egzamin, Informatyka
LISTA PYTAŃ EGZAMINACYJNYCH Z INFORMATYKI ETI 1 06 2007
Zadanie egzaminacyjne informacje
odpowiedzi egzamin, Informatyka WEEIA 2010-2015, Semestr IV, Systemy Wbudowane, Inne, egzamin
Word Egzamin 2, Informatyka
test 4, EGZAMIN Z INFORMATYKI IV
Word Egzamin 9 R, Informatyka
Word Egzamin 1, Informatyka
Materiał na egzamin, Informacja naukowa i bibliotekoznawstwo, Kierunki i metody badań w informacji n
Bazy danych egzamin, Informatyka
egzamin - informatyka, informatyka
Teoria i organizacja bibliografii- zagadnienia do egzaminu, Informacja Naukowa i Bibliotekoznawstwo,
egzamin informa, I semstr moje materiały, Semestr I, Informatyka stosowana, wyklady i pytania

więcej podobnych podstron