Kezdőoldal » Egyéb kérdések » Egyéb kérdések » Milyen programot, programokat...

Milyen programot, programokat szedjek le ha eg, mesterséges intelligenciát akarok készíteni? És hol találom meg az ehez szükséges program kódokat?

Figyelt kérdés
Nagyon megköszönném ha valaki tudna linkelni oldalakat, vagy videókat amiből kitudnám tanulni az alapokat mivel nagyon foglalkoztat a téma és itthoni szabadidőmben csinálgatnám

2017. febr. 19. 20:23
 1/5 2*Sü ***** válasza:

Attól tartok ezzel a tudásszinttel célszerűbb elfelejteni az egészet. Kicsit olyan a kérdés, mintha azt kérdeznéd, hogy milyen szerszámokat és alkatrészeket kellene megvenned a barkácsboltban, ha űrrepülőgépet akarsz építeni.


De ha nagyon akarod, elsőnek végezz el egy informatikai egyetemet programozás szakon. Ott rengeteget fogsz tanulni, nem csak programozást, de más hasznos tudást is szerzel. De ez még nem lesz feltétlenül elég, hogy leprogramozz egy mesterséges intelligenciát.


De a minimum az, hogy tanulj meg legalább egy, de lehetőleg több programnyelvet profi szinten (Legyen benne a C, vagy a C++ nyelv is), amiben bármilyen hétköznapi programot le tudsz programozni, és térjünk vissza a kérdésre ezután.

2017. febr. 20. 11:38
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Szóval ezt nem olyan könnyű megprogramozni amit a netről meg lehet tanúlni kitartó munkával?
2017. febr. 20. 14:32
 3/5 csatrad ***** válasza:

ne foglalkozz az elso valaszoloval, ha tudna mirol van szo nem bombazna le ennyi hulyeseggel.

Mesintet meg egy c64en is siman lehet csinalni es sok jatek iro progi van amiben percek alatt ossze lehet dobni egyet zero tudassal. van amiben alapbol van csak hozza kell csatolni amit iranyitani akarsz EEEEES itt jon a csattano


Mesint tag fogalom. Az alap mesint csak sima kapcsolok amik nehol ossze vannak kotve, mint egy kerdez felelek.

A durvabb az nem csak inputnal cselekszik hanem folyamatosan ellenoriz valamiket es interpollal, itt viszont sulyokat kell,rakni a kornyezetebe vagy egy seged progit ami segit neki eldonteni mi szamit es mennyire. Ezzel mar autokat is iranyitanak.

A skynet az gyakran sajat nyak is kell sajat oprendszer mert a szamitasok olyan nagysagrendeket ernek el, hogy egy mezei proci megadja magat. Itt a progi atirja magat, hogy fejlodjon. Megkerulheted az egeszet ahazi szamitogepen, de akkor kezileg kell bevinned minden adatot ami nem emberi idohoz van meretezve.


Ha hobbi szinten nem nagyon lehet programozni, mert ha valtoztatni akarsz akkor szinte az egesz addigi kuka es kezdheted elolrol, hogy megfeleljen az uj celnak.

2017. febr. 23. 14:23
Hasznos számodra ez a válasz?
 4/5 2*Sü ***** válasza:

#2: > Szóval ezt nem olyan könnyű megprogramozni amit a netről meg lehet tanúlni kitartó munkával?


Programozni meg lehet tanulni autodidakta módon. Sőt leginkább csak úgy lehet. Minden tankönyv, tanfolyam, oktatás csak alapokat ad, a tapasztalatot neked kell megszerezned.


Sőt ha kellően kitartó vagy, és megvan benned az a plusz, amitől valaki jó programozó lesz, akkor elég gyorsan fogsz látványos eredményeket elérni. De ehhez elsőre kisebb célokat kell kitűzni. Mondjuk elsőnek egy ujjgyakorlatnak megfelelő számkitaláló játékot. Aztán jöhet mondjuk egy tic-tac-toe játék a gép ellen. Aztán írhatsz valami komplexebbet, mondjuk egy számológépet. Ha webes irányba mész, akkor előbb csinálj egy vendégkönyvet, aztán egy fórumot topicokkal, aztán egy valós idejű chat-et, stb…


De a mesterséges intelligenciához nem érdemes nyúlni sem az első, sem a második, sem a harmadik évben. Vannak persze ilyen témában is nyílt forrású függvénykönyvtárak, kész, felhasználható algoritmusgyűjtemények, modellek, amiket lehet alkalmazni, de ahhoz, hogy igazán tudd is alkalmazni, egyrészt kell egy nagyon magabiztos ismeret az adott nyelvben. De ez a kisebb része a dolognak, ami igazán szükséges, az rengeteg tapasztalat, egy letisztult szemléletmód, annak a képessége, hogy átláss komplexebb rendszereket, hogy tiszta, rendezett, átlátható, öndokumentáló kódot tudj írni akkor is, ha a rendszered már tízezer programsorból áll. Enélkül csak gányolni fogsz, és magad sem fogod érteni, hogy mit csinálsz.

2017. febr. 23. 19:50
Hasznos számodra ez a válasz?
 5/5 2*Sü ***** válasza:

#3 > ne foglalkozz az elso valaszoloval, ha tudna mirol van szo


39 éves vagyok. 10 éves koromban kezdtem el programozni (még Commodore 16-on). Kb. 16-17 éve a programozás, meg úgy a tágabb értelemben vett informatika a foglalkozásom és egyben a hobbim is. Írtam már tanügyigazgatási szoftvert, csináltam interaktív tananyagot – ami Magyar Termék Nagydíjat kapot –, készítettem egy raklap egyedi honlapot, meg pár egyedi webshopot – nem CMS-ben összelegózva kész komponensekből, hanem minden sorát én írtam –, készítettem Android alkalmazást, van három dedikált webszerverünk, aminek én vagyok a rendszergazdája. Meg még Isten tudja még miket csináltam az elmúlt évtizedekben.


Te meg ha jól értem, akkor összelegóztál valami „játékíró” programban valamit, ami működött is. Meg hivatkozol egy sci-fire, és hablatyolsz valami teljesen értelmetlen dologról.


A helyesírásod is árulkodó. Aki hosszú ideje programozik, az kényesen ügyel a helyesírására. Szakmai ártalom, mert ha egy megrendelőnek elsőre hibás helyesírással adsz át egy honlapot, akkor visszakapod javításra, ami így több idődet, energiádat veszi el. Annyi lektorált szöveggel dolgozol, hogy ha rossz volt a helyesírásod, akkor is erősen javulni fog. Illetve a kódolásnál sem lehet egy vessző helyett pontosvesszőt írni, mert akkor nem működik a program. Meg az ember megtanul gyorsan gépelni, nem okoz neki gondot egy mondatkezdő nagybetűhöz megnyomni azt a shiftet, már csak azért sem, mert sok programnyelv kis- és nagybetűérzékeny, nem mindegy, hogy egy függvényt, metódust, paramétert valaki kisbetűvel, vagy nagybetűvel ír, így az embernek szokásává válik a precizitás.


> Mesintet meg egy c64en is siman lehet csinalni es sok jatek iro progi van amiben percek alatt ossze lehet dobni egyet zero tudassal


Te most azt próbálod összehasonlítani, mint mikor egy előre méretre vágott, előfúrt bútordarabokból egy kész összeszerelési útmutató alapján kell összeszerelni egy elemes bútort, meg azt, mikor neked kell nyers fából megtervezni és megvalósítani egy intarziás bútort, bonyolult mechanikás rejtett tárolókkal, és ahol neked kell méretezned dolgokat.


Vagy azt próbálod összehasonlítani, mint mikor valaki GPortálon összeklikkel egy weboldalt egy !mások! !által! !előre! !megírt! modulokból, és azt, mikor neked kell lefejlesztened egy közösségi oldalt, telepíteni hozzá a szervereket, megtervezni a terheléselosztást, stb…


Vagy azt próbálod összehasonlítani, hogy a műhelyben összehegesztesz néhány csőből, meg valami használt kerékből egy talicskát, meg azt, mikor tervezel egy versenyautót.


Vagy azt próbálod összehasonlítani, hogy legóból csinálsz egy kockaházat, meg azt, mikor tervezel egy vasúti hidat.


Te nem csináltál semmiféle programot. Te paramétereztél, testre szabtál egy más által megírt játékmotort, de a legjobb esetben csak scripteket adtál hozzá.


> Itt a progi atirja magat, hogy fejlodjon.


Jaj, dehogy írja át magát. Vegyünk egy póker játékot két személlyel. Háromféle megközelítés van:


1. A program mondjuk kiszámolja, hogy mekkora esélye van egy párra, két párra, egy pókerre, egy sorra. Esetleg kiszámolja az ellenfél esélyeit, és ezeket összevetve dob, vagy tartja, emeli a tétet. A döntési mechanizmus bele van kódolva a programba, ugyanarra a helyzetre kivétel nélkül mindig ugyanúgy válaszol. Ha valamit az algoritmus nem vesz figyelembe – mondjuk a tét nagyságát, vagy hogy hogy játszott az előző játékban az ellenfél, vagy hogy ki a nagy vak, vagy hogy mennyi az pot és a saját pénzének az aránya –, akkor azt soha nem fogja figyelembe venni. A program nem tanul, azon döntési mechanizmus alapján hozza meg a döntését, ahogy a programozó kitalálta ezt a döntési mechanizmust.


2. A másik megközelítés már alkalmas valamiféle tanulásra, ez pedig a statisztikai megközelítés. A programba betáplálnak mondjuk egymillió pókerjátékot. A program kiválaszt pár paramétert. Mondjuk megnézi, hogy azokban a játékokban, ahol a saját és az ellenfél kártyái azonosak voltak, azokból hány játékban dobott az a játékos, aki végül nyert, hány játékban tartotta a tétet az, aki nyert, hány játékban emelt és mennyit az, aki nyert, és ezekből hoz egy döntést. Sokszor különböző paraméterek alapján is elemez, és ezek valamilyen súlyozásával hozza meg a döntését. Itt már képes valamilyen szintig tanulni a program, hiszen minden játék egy újabb adalék a későbbi döntéshozásban. De itt is fixen van beégetve, hogy milyen paraméterek alapján keres azonos, vagy hasonló játékokat, illetve ezeket milyen arányokkal súlyozza. De itt is az van, hogy ha a pot és a saját pénz arányára nincs szűrés, ha ezt nem veszi figyelemben a döntésnél a program, akkor soha nem is fogja. Tehát itt is függ a program hatékonysága attól, hogy a programozó mennyire ért a pókerhez, a programozó szerint milyen paraméterek alapján kell meghozni egy döntést.


3. Az igazi mesterséges intelligenciánál magát a vizsgálódás szempontjait, azt, hogy milyen paraméterek alapján veti össze a jelenlegi és a már ismert játékállásokat, ezen különböző szempontokból hozott különböző döntéseket milyen súllyal veszi figyelembe, azt is a program tanulja meg. Kipróbál bizonyos összefüggéseket, megvizsgálja, hogy A paraméter (mondjuk a lapok, amik a kezében vannak), meg B paraméter (mondjuk hogy ki a ki vak), az összefügg-e, ha igen, akkor milyen összefüggés van közöttük. Itt csak ezt a kísérletezést kell paraméterezni, a program írójának elegendő csak a játékszabályokat ismerni, illetve hogy milyen paraméterek vannak egyáltalán a játékban (ki a kis vak, mennyi a tét, mekkora volt az utolsó emelés, mennyi pénzem van, mennyi ideig várakozott a másik játékos a döntés előtt, stb…). A program képes olyan összefüggéseket felfedezni, megtalálni, amiről a programozónak fogalma sincs. Lehet, hogy olyan komplex összefüggéseket is talál, amit nem is lehet lefordítani emberi nyelvre, mert túl komplikált lenne. Képes olyan összefüggéseket is megtalálni, amit a legprofibb játékos sem ismer. De a program nem írja át magát. Tárol adatokat, és tárol összefüggéseket, és ezen összefüggések erősségét. Ezek adatok, és ezek változnak. Tehát a döntési szempontok azért változnak, mert a program számára ezek is csak tárolt adatok. De magának a programnak a kódja az nem változik.


~ ~ ~ ~ ~ ~ ~


De erről a hozzászólásról ez jutott eszembe: [link]


Attól tartok, hogy a Dunning-Kruger klub tagja vagy ( Lásd: [link] ). Mivel nagyon kevés tudásod, és tapasztalatod van, ezért nagyon magabiztosan mondasz teljesen fals dolgokat, számodra felületesen is alig ismert témában.

2017. febr. 23. 19:52
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!