Grubo rečeno, nemoj se zayebavati sa akinatorom. ne radi akinator preko baza podataka u onom smislu u kojem misliš. Tu se koriste
fazilogički algoritmi koji su ipak malo previše za srenje škole. Dakle, bolje potraži drugu temu.
Inače, da me ne pitaš šta je fazilogika, odmah ću da ti odgovorim. Fazilogika je grana logike u kojoj se narušava pravilo pripadnosti skupu. Ako imamo neke skupove A, B, C, D, i E svaki sa svojim elementima, mi možemo u klasičnoj logici definisati sve šta na ma treba na osnovu toga da li je neki element x pripadnik datog skupa A ili nije. Odgovor je uvek jednoznačan:
x pripada skupu A ili
x ne pripada skupu A., Fazilogika to ne poznaje. Tamo x može 26,78% da pripada skupu A, a 73,32% ne pripada skupu A.
Ovo je možda šamar logici kao antičkoj nauci, ali odgovara realnom svetu. recimo: imaš skup ćelavih i skup ljudi koji imaju kosu. Gde tu smestiti čoveka koji ima 100 dlaka na glavi. Obična logika izražena preko kompjuterskog algoritma će ga staviti ili u ćelave, što je vrlo tačno, ali ne i istinito, ili u ljude sa kosom, što jeste stina iako je više nego bezveze. Ali ako kažemo: taj čovek je 95% ćelav, mnogo smo jasnije odredili gde on pripada.
Eto, to je ukratko ono što se nalazi ispod haube u bazama podataka akinatora.
No ima i drugi deo. Kako pretražiti te baze? Pa u slučaju akinatora, ovo se radi sa neuronskom mrežom.
I to povećom izgleda. Nije neuronsku mrežu teško napraviti, ona je skup relativno prostih računskih jedinica, međutim izvršiti obuku te mreže je često prava umetnost. Sreća tvoja pa sam već negde pisao o neuronskim mrežama. Evo ti kod u C-u koji vrši kompletnu obuku mreže za mnogo "prostiji" posao, snalaženje u mini lavirintu 5x5. Naravno, to je go-kod, mreža + algoritam obuke, šminka mi za pokazivanje nije ni trebala. Pa proceni koliko je to vredno maltretiranja.