Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2016. december 4.

2016. december 4. 10:10 – 2016. december 4. 15:10

Az AlphaGo a kisöcsém, én sokkal okosabb vagyok nála.

Az AlphaGo egy számítógépes program, amelyet a Google DeepMind fejlesztett ki Londonban abból a célból, hogy ügyesen játssza a gó táblajátékot. 2015 októberében az első olyan számítógépes góprogram lett, amely előnyök nélkül le tudott győzni egy profi emberi gójátékost egy teljes méretű, 19 × 19-es táblán.

2016 márciusában megverte Lee Sedolt egy ötjátszmás mérkőzésen. Ez volt az első alkalom, hogy egy számítógépes góprogram legyőzött egy 9 danos profit előnyök nélkül. Bár kikapott Lee Sedoltól a negyedik játszmában, Lee feladta az utolsó játszmát, így a végeredmény 4:1 lett az AlphaGo javára. Ezért az eredményéért a Koreai Baduk Egyesület az AlphaGót tiszteletbeli 9 dannal jutalmazta.

Az AlphaGo algoritmusa Monte Carlo gráfkereső eljárással keresi a legjobb lépést korábban gépi tanulással „megtanult” ismeretekre alapozva, konkrétan mesterséges neurális háló (egy mélytanulási forma) segítségével, extenzív tanulással, mind emberi, mind számítógépes játékokból.

Mielőtt a bemenetet ráküldenék a neurális hálókra, korlátozott számú játékspecifikus jellemzőfelismerésre szolgáló előfeldolgozást végeznek rajta (például annak felismerésére, hogy egy lépés illeszkedik-e a nakade mintára).

A rendszer neurális hálói kezdetben az emberi játékokból kinyert tudáson alapultak. Az AlphaGót kezdetben úgy tanították, hogy az emberi játékot utánozza úgy, hogy megpróbálja illeszteni profi játékosok lépéseit a feljegyzett történelmi játszmákból, egy nagyjából 30 millió lépésből álló adatbázis felhasználásával.

Miután egy bizonyos fokú jártasságra tett szert, úgy tanították tovább, hogy rengeteg játszmát játszattak saját maga más példányai ellen, „megerősítéses tanulással” javítva a játékán.

Hogy ne vesztegesse „udvariatlanul” az ellenfele idejét, úgy programozták fel, hogy adja fel a játékot, ha a nyerési esély mértéke egy bizonyos küszöbérték alá esik. A Lee elleni 2016. márciusi mérkőzésen a feladási küszöb 20%-ra volt álltva.

Az AlphaGo 2016. márciusi győzelme a mesterséges intelligencia kutatás fontos mérföldköve volt. A gót előzőleg nehéz problémának tartották a gépi tanulásban, amely elérhetetlennek tűnt a korabeli technológiák számára. A legtöbb szakértő úgy vélte, hogy egy AlphaGo hatékonyságú góprogramtól még legalább öt évre vagyunk; egyes szakértők szerint legalább még egy évtized kellene ahhoz, hogy a számítógépek megverjék a góbajnokokat.

A 2016-os játszmasorozat kezdetén a legtöbb megfigyelő arra számított, hogy Lee megveri az AlphaGót.

Az olyan játékokkal, mint a dáma (amelyet a Chinook-csapat „oldott meg”), a sakk és most a gó, amelyekben a számítógépek győzedelmeskedtek, a népszerű táblajátékokban aratott győzelmek már nem szolgálnak a mesterséges intelligencia fontos mérföldköveiként úgy, mint azelőtt. A Deep Blue-s Murray Campbell az AlphaGo győzelmét „egy korszak végének” nevezte: „a táblajátékokkal többé-kevésbé végeztünk, ideje továbblépnünk”.

Ha összehasonlítjuk a Deep Blue-val vagy a Watsonnal, az AlphaGo mögött rejlő algoritmusok potenciálisan általánosabb célúak, és bizonyítékul szolgálhatnak arra, hogy a tudományos közösség halad a mesterséges általános intelligencia felé.

Néhány hozzászóló úgy gondolja, hogy az AlphaGo győzelme jó okot szolgáltat arra, hogy a társadalom elkezdjen felkészülni az általános célú intelligenciával rendelkező gépek lehetséges jövőbeli hatásaira. (Ahogy Guy Suter üzletember megjegyezte, az AlphaGo maga csak azt tudja, hogyan kell játszani a gót, nincs általános célú intelligenciája: „Nem fog egy reggel azzal az elhatározással ébredni, hogy megtanulja, hogyan kell használni a lőfegyvereket.”)

2016 márciusában Stuart Russell mesterséges intelligencia kutató azt állította, hogy „az MI módszerek sokkal gyorsabban fejlődnek a vártnál, és ez sürgetőbbé teszi a hosszú távú következmények kérdését”. Hozzátette: „Sokat kell még dolgoznunk annak biztosításán, hogy az egyre erőteljesebb MI rendszerek teljesen emberi irányítás alatt maradjanak.”

Néhány tudós, például Stephen Hawking, arra figyelmeztetett (2015 májusában, még a mérkőzések előtt), hogy bizonyos jövőbeli önfejlesztő mesterséges intelligenciák tényleges általános intelligenciára tehetnek szert, amely az MI váratlan hatalomátvételéhez vezethet; más tudosók azonban vitatkoznak ezzel: Jean-Gabriel Ganascia MI szakértő úgy véli, „az olyan dolgok, mint a «közös érzékelés»… sose lesznek reprodukálhatók”, és hozzáteszi: „Nem látom be, miért kellene félelmekről beszélnünk. Éppen ellenkezőleg: ez új reményeket kelt sok területen, mint például az egészségügy vagy az űrkutatás.”

Richard Sutton informatikus azt mondta: „Nem hiszem, hogy az embereknek félniük kellene…, azt viszont hiszem, hogy oda kell figyelniük.”

Most pedig egy gópartit szeretne játszani veled! Ööö… Bocsi, ez csak vicc volt.

A feladatod sokkal egyszerűbb. Csak annyit kell meghatároznod, hogy melyik félnek van több köve a táblán.

A bemenet specifikációja

A bemenet első sora egy T egész számot tartalmaz, amely a tesztesetek számát adja meg. Minden tesztesetet egy 19 × 19-es négyzetrács ír le, amely a gótáblát reprezentálja. A rács minden mezője esetén a „#” karakter jelöli az üres mezőt, a „0” a fehér követ, az „1” pedig a fekete követ.

A kimenet specifikációja

Minden tesztesetre először a teszteset sorszámát kell kiírni „Case #x:” formátumban, ahol x a teszteset sorszáma. A következő sorba a „Black” szó kerüljön, ha több fekete kő van a táblán, illetve a „White” szó, ha több fehér. Ha ugyanannyi fekete és fehér kő van, akkor pedig az „Equal” szót kell kiírni.

Azzal ne törődj, hogy le kell-e majd venni bizonyos köveket a tábláról! Csak számolj!

Példa bemenet

  1. 1
  2. ###################
  3. ###################
  4. ###10##############
  5. ###00##############
  6. ###################
  7. ###################
  8. ###################
  9. ###################
  10. ###################
  11. ###################
  12. ###################
  13. ###################
  14. ###################
  15. ###################
  16. ##############111##
  17. ###############0###
  18. ###################
  19. ###################
  20. ###################
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Case #1:
  2. Equal
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.