1 / 38

Metodyka nauczania Informatyki

Metodyka nauczania Informatyki. Budowanie algorytmów – algorytmy gier. Budowanie algorytmów gier. Algorytmy losowe Algorytmy z pełnym drzewem gry Algorytmy strategii Algorytmy uczące się na błędach Algorytmy uczące się od przeciwnika. Algorytmy losowe. Najprostsza implementacja

zulema
Download Presentation

Metodyka nauczania Informatyki

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metodyka nauczania Informatyki Budowanie algorytmów – algorytmy gier

  2. Budowanie algorytmów gier • Algorytmy losowe • Algorytmy z pełnym drzewem gry • Algorytmy strategii • Algorytmy uczące się na błędach • Algorytmy uczące się od przeciwnika

  3. Algorytmy losowe • Najprostsza implementacja • Tylko interfejs • Dobre do testowania • Mało ciekawe rozgrywki, choć różnorodne

  4. Algorytmy z drzewem gry • Tylko dla prostych (mało ciekawych) gier • Wymagają rozpatrywania wszystkich możliwych ruchów w każdej sytuacji • Implementacja wskazana tylko wtedy, gdy: • Drzewo można generować automatycznie • Można w inny sposób (np. rekurencyjny) przeglądać całe drzewo gry

  5. Drzewo gry - przykład Pełne drzewo gry „Kółko i krzyżyk” ma 362880 węzłów!

  6. Algorytmy strategii gry • Algorytm, który pozwala „obliczyć” ruch na podstawie „sytuacji na planszy” • Można to robić na dwa sposoby • Stosować obmyśloną strategię wygrywającą • Stosować algorytm oceny sytuacji i wybierać ruch, który daje najgorszą sytuację przeciwnikowi, lub najlepszą nam po najlepszym (lub każdym) ruchu przeciwnika, …

  7. Przykład algorytmu wygrywania • Gra: „Do 100” • Zasady gry • Początek: pierwszy gracz podaje liczbę całkowitą dodatnią mniejszą od 10 • Gracze na zmianę podają liczby naturalne, ale większe od poprzedniej i większe nie więcej niż o 10 • Wygrywa ten, kto pierwszy zgodnie z regułami powie „100”

  8. Przykład algorytmu wygrywania • Przykład rozgrywki: 4 13 14 20 23 24 33 37 42 49 58 59 60 67 73 77 81 88 93 100 (wygrana)

  9. Przykład algorytmu wygrywania • Analiza ogólna rozgrywki (od tyłu): • Aby wygrać (powiedzieć 100) przeciwnik musi powiedzieć: 99 lub 98 lub 97 lub … lub 90 • Aby przeciwnik powiedział liczbę n z przedziału 89 < n < 100 to muszę powiedzieć 89 • Abym mógł powiedzieć 89 to przeciwnik musi powiedzieć liczbę n taką, że 78 < n < 89 • Abym mógł powiedzieć 78 muszę powiedzieć 67 • I dalej aby powiedzieć 67 muszę powiedzieć 56 wcześniej 45, 34, 23, 12, 1

  10. Przykład algorytmu wygrywania • Algorytm wygrywania: • Ja zaczynam • Mówię (bez względu na to co mówi przeciwnik) po kolei liczby: 1, 12, 23, 34, 45, 56, 67, 78, 89 i 100 • Zaczyna przeciwnik • Staram się jak najszybciej powiedzieć jedną z liczb 1, 12, 23, 34, 45, 56, 67, 78, 89 i 100. • Gdy to się uda, dalej mówię kolejno następne liczby z tego ciągu • Gdy nie uda się powiedzieć jakiejś liczby z tego ciągu - przegrałem

  11. Algorytm z oceną sytuacji • Założenia (jedno z dwóch): • Jest funkcja oceniająca sytuację – dla każdej sytuacji na „planszy” funkcja daje liczbę. Im liczba wyższa tym sytuacja lepsza • Jest funkcja oceniająca dany ruch – dla każdego ruchu w danej sytuacji funkcja daje liczbę. Im liczba wyższa tym to jest lepszy ruch • Algorytm: • W pierwszym przypadku: symulujemy ruch i obliczamy ocenę sytuacji. Wybieramy taki ruch, po którym ocena sytuacji jest najkorzystniejsza • W drugim przypadku: wybieramy ruch z najwyższą oceną

  12. Algorytm z oceną sytuacji • Budowa funkcji oceniającej ruch • Szachy: • Suma umownej wartości figur • Punkty za zajęcie środkowych pól szachownicy • Punkty za zabezpieczenie króla (trudno dostępny przez bierki przeciwnika) • Punkty za rozwinięcie bierek (możliwość łatwego przemieszczania, duże obszary szachowania, jak najmniej bierek związanych, ochrona jednych bierek przez inne)

  13. Algorytm z oceną sytuacji • Budowa funkcji oceniającej ruch • Gra: „Kółko i krzyżyk na kostce 4 x 4 x 4” • Gracze na zmianę stawiają kółko lub krzyżyk w dowolnej wolnej komórce kostki 4 x 4 x 4 – są 64 komórki • Wygrywa ten, kto pierwszy ułoży linię (pionową, poziomą lub ukośną w dowolnym kierunku) z 4 swoich znaków

  14. Algorytm z oceną sytuacji Dla każdej wolnej komórki obliczamy jej ocenę, jako potencjalnego miejsca na postawienie swojego pionka. Obliczamy sumę wartości czwórek przechodzących przez to pole.

  15. Algorytm z oceną sytuacji Wartości czwórek (my gramy niebieskimi)

  16. Algorytmy uczące się • Uczenie się na błędach • Zawsze ruchy wybierane losowo ze zbioru dostępnych w danej sytuacji • Po przegranej usuwanie ostatniego ruchu ze zbioru • Gdy zbiór dostępnych ruchów pusty to poddajemy grą i usuwamy ostatni ruch

  17. Algorytmy uczące się • Uczenie się od człowieka • Na początku nie wie nic • Po przegranej pyta „Jak mogłem nie przegrać?” • Zapamiętuje odpowiedź jako przypadek szczególny. Następnym razem w takiej samej sytuacji postąpi według tego wzorca. • Od sposobu uczenia zależy jak szybko algorytm stanie się sprawny.

  18. Przykłady gier • Gry dla dwóch graczy • Proste gry planszowe • Gry za pomocą papieru i ołówka • Gry z małą liczbą rekwizytów

  19. SIEĆ • Pole gry: kwadrat 7x7 • Ruch: • narysowanie wewnątrz kwadratu prostego odcinka (po krawędziach kratek) o długości nie mniejszej niż 2 kratki zaczynającego i kończącego się na brzegu planszy lub na innej linii (nie może przecinać innych linii) • Każdy gracz gra zawsze cały czas w tym samym kierunku (poziomo lub pionowo) • Przegrywa ten kto nie może wykonać ruchu

  20. SIEĆ

  21. KĄTY • Plansza • Kwadrat, którego dwa stykające się boki są czerwone, a pozostałe dwa czarne. • Ruch • Narysowanie w swoim kolorze kąta prostego o ramionach równoległych do boku kwadratu kończącego się na bokach o różnych kolorach • Każdy gracz wykonuje 3 ruchy (na zmianę) • Wynik • Punkty zdobywa gracz za każdy prostokątny obszar mający więcej boków w kolorze gracza • Kto ma więcej punktów ten wygrywa

  22. KĄTY

  23. Okręty podwodne • Plansza • 2 kwadraty 8x8 (pole własne i przeciwnika) oznaczone wokół kolejnymi liczbami (od lewego górnego rogu zgodnie z ruchem wskazówek zegara) • Przygotowanie • Na własnym polu zaznaczamy 4 własne okręty – cztery dowolnie wybrane pola • Ruch • Strzał: podanie numeru pola wejścia „pocisku” • Odpowiedź: numer pola wyjścia: • Gdy pocisk napotka okręt podwodny to wyjście 0 • Gdy pocisk przechodzi obok okrętu to cofa się o jedno pole i skręca w lewo pod kątem prostym (tyle razy ile trzeba) • Wygrana • Gdy znamy rozkład okrętów przeciwnika

  24. Okręty podwodne

  25. KAYLES • Plansza • Dwanaście patyczków w rzędzie • Między 1 a 2 patykiem większy odstęp • Ruch • Wzięcie jednego lub dwóch patyków • Dwa można wziąć tylko gdy są bezpośrednio obok siebie • Wygrana • Wzięcie ostatniego (lub dwóch ostatnich) patyka

  26. KAYLES

  27. Obracanka Kościana • Rekwizyt: kostka do gry • Przygotowanie: rzut kostką – liczba oczek wyznacza liczbę startową • Ruch • Przekręcenie kostki na sąsiednią ścianę • Dodanie do poprzedniej liczby liczby oczek na kostce • Wygrana • Osiągnięcie (lub przekroczenie) umówionej liczby punktów

  28. Obracanka Kościana

  29. PODKOWA • Plansza: • prostokąt bez jednego boku z przekątnymi (gra się na wierzchołkach i przecięciu przekątnych) • po dwa pionki w dwóch kolorach (na rogach prostokąta) • Ruch: • Przesunięcie własnego pionka na wolne pole • Wygrana: • Przeciwnik nie może wykonać ruchu

  30. PODKOWA

  31. Lis i gęsi • Plansza: • Krzyż złożony z 5 kwadratów z przekątnymi oraz liniami poziomymi i pionowymi przez środki boków • Jeden pionek czarny (lis) • 13 pionków białych (gęsi) • Ruch: • Jedno pole w dowolnym kierunku • Lis ma prawo bicia: przez przeskoczenie na wolne pole za zbijanym pionkiem • Wygrana: • Gęsi: zablokowanie lisa • Lis: zbicie tylu gęsi, że nie mogą go zablokować

  32. Lis i gęsi

  33. HEX • Plansza • Specjalna: romb złożony z sześciokątów o boku 11 komórek • Boki równoległe w tym samym kolorze ale parami różne kolory • Ruch • położenie pionka swojego koloru w dowolnej komórce • Wygrana • Połączenie brzegów planszy w tym samym kolorze

  34. HEX

  35. Cyfry • Plansza • Kwadrat 5x5 • Ruch • Wpisanie kolejnej liczby w kratkę (począwszy od 1) w tym samym wierszu lub kolumnie co poprzednia liczba • Między poprzednią liczbą, a nową nie może być żadnej inne liczby • Wygrana • Gdy przeciwnik nie może wykonać ruchu • Ostatnia wpisana liczba jest wynikiem punktowym zwycięzcy

  36. Cyfry

  37. Ziemniaczki • Plansza • Symetryczna piramida kółek (1, 3, 5, 7, 9) • Ruch • Zamalowanie jednego punktu • Gdy zamalujemy ostatni punkt z prostej (poziomej, pionowej, ukośnej) to dostajemy tyle punktów ile kółek leży na tej prostej (tych prostych) • Koniec gry • Gdy wszystkie punkty będą zamalowane • Wygrywa ten kto ma więcej punktów

  38. Ziemniaczki

More Related