Kezdőoldal » Számítástechnika » Programozás » Hol tudnám megírni az első AI...

Hol tudnám megírni az első AI mat? Nagyon ráfüggtem erre a témára, eddig nem érdekelt a programozás de most ez nekem nagyon érdekesnek tűnik.

Figyelt kérdés
Szóval, melyik nyelvben? Van valami tutorial? Aztán később el is szeretném adni hogy pénzem legyen belőle. Ha jó lennék AI írásban, akkor lenne esélyem munkát kapni egy cégél, hogy ott fejleszthessek egy AI-t? Ha szakképesítésem nincs. Pénzt szeretnék vele keresni.
2016. jún. 12. 22:04
1 2
 1/18 anonim ***** válasza:
100%
Ez egy akkora témakör, hogy minimum 50 éve foglalkoznak vele kutatók (de inkább több), és először az általuk felhalmozott tudásból kellene szemezgetned. Javaslom olvass el pár alapozó szakkönyvet mesterséges intelligencia témakörben, és ha érted is, akkor majd eldöntöd, hogy érdekel-e még.
2016. jún. 12. 22:22
Hasznos számodra ez a válasz?
 2/18 anonim ***** válasza:
100%
Most vagy nagyon fiatal vagy, vagy szörnyen álom világban élsz.
2016. jún. 12. 23:09
Hasznos számodra ez a válasz?
 3/18 anonim ***** válasza:
az a szomorú, hogy szerintem ezt egy 18+ emberke írta.
2016. jún. 12. 23:36
Hasznos számodra ez a válasz?
 4/18 anonim ***** válasza:
100%

A tutorialt felejtsd el, ez nem így működik. Az AI fejlesztés egy kutatómunka, nem egzakt lépéssorozat. Főképp, hogy az AI tág fogalom és nem konkretizáltad, pontosan mit szeretnél csinálni.


Az AI témát tedd félre. Tanulj meg angolul, tanulj meg utánaolvasni a dolgoknak, tanulj meg programozni. Ha már kisujjból programozol, akkor vedd elő újra az AI témát.

2016. jún. 12. 23:44
Hasznos számodra ez a válasz?
 5/18 anonim ***** válasza:
100%

AI és AI között ég és föld lehet a különbség...

szóval elég nagy szórást adtál...

mit is szeretnél pontosan?

fontos, hogy érts a programozáshoz (nem muszáj olyan mélyen, ismertem srácot aki elég kevés tudással messze jutott!) és a szükséges háttér ismeretekkel, mint pl pszichológia.


23F

2016. jún. 13. 08:03
Hasznos számodra ez a válasz?
 6/18 anonim ***** válasza:

Egy beugró szintű online tanfolyam:

[link]

2016. jún. 13. 10:40
Hasznos számodra ez a válasz?
 7/18 A kérdező kommentje:
18 éves vagyok. Miért baj az ha valaki lelkes és ambíciózus egy téma iránt, az miért szomorú? Még ha nem is jön össze mit bukhatok vele? Tudok angolul. A c++t meg tudom alap szinten. De már rég írtam programot utoljára. De az AI az inkább python.
2016. jún. 13. 10:47
 8/18 A kérdező kommentje:
Mire szeretnék AI-t? Globálisan, azaz azt értem, hogy egy olyan intelligens kalkulátort ami ki tudná számolni az algoritmusokkal hogy mi a legoptimálisabb fejlődés a civilizációnak, tanácsokat adna, segítene az építkezéseken és új dolgokat találna fel, segítene megalkotni az örök életet meg stb. OPtimalizáltabb elektronikus kütyüket készítene, tehát az emberiség minőségét fejlesztené.
2016. jún. 13. 10:55
 9/18 anonim ***** válasza:
100%

A mesterséges intelligenciáknak nagyon sok fajtája van. Csinálhatsz:

- tanuló algoritmusokat

- megoldáskeresőket, ami egy adott problémára tud valamilyen megoldást adni

és még vagy kismillió fajtájút.


Mutatok egy egyszerű példát. A feladat legyen az, hogy van három korsód, egy 5 literes, egy 3 literes és egy két literes. Az 5 literes van tele sörrel, és azt kell elérni, hogy az egyik korsóban 4 liter legyen.


Kezdésnek ezt a problémát valami olyan formába kéne önteni, amit meg lehet a géppel etetni. Szóval kezdjük azzal, hogy milyen kérdéseket tudunk feltenni (ezeket jelöljük el valami módon), és azokra milyen válaszokat tudunk adni:

H1) Hány liter sör van az 5 literes korsóban? {0, 1, 2, 3, 4, 5}

H2) Hány liter sör van a 3 literes korsóban? {0, 1, 2, 3}

H3) Hány liter sör van a 2 literes korsóban? {0, 1, 2}

Jól fog jönni majd később, ha a válaszok halmazait bepakoljuk egy tömbbe: H = [H1, H2, H3]


Tisztázzuk, hogy mi lesz egy állapot. Egy állapot nem más, mint hogy mindhárom kérdésre a rá adható lehetséges válaszok közül válaszolunk valamit. Ezt egy kicsit brutálabban megfogalmazva, vesszük a H1...Hn halmazok Descartes-szorzatát:

ÖsszesÁllapot = H1 x H2 x H3

Ez alapján egy állapot lehet ez: (5, 0, 0), ami azt jelenti, hogy az 5 literesben 5 liter sör van, a másik kettő üres.

De ez tartalmazhat lehetetlen állapotokat is: (5, 3, 2), ami azt jelenti, hogy mindhárom korsó tele van (ami azért nem lehetséges, mert egen-földön 5 liter sörünk van, nem több, nem kevesebb).


Szóval ezekre rá kell ereszteni egy szűrést, hogy megkapjuk csak a lehetséges állapotok halmazát.

Állapotok = {(a1, a2, a3) eleme az ÖsszesÁllapotnak | a1+a2+a3=5}

Ez azt jelenti, hogy azokat az állapotokat válasszuk ki, ahol a korsókban összesen 5 sör van.


Most, hogy idáig eljutottunk, azt kell tudnunk, hogy miből indulunk ki, és mit akarunk elérni. Előbbit általában konkrétan tudjuk, ezt hívjuk kezdőállapotnak. Utóbbit nem biztos, hogy konkrétan tudjuk, de azt biztosan meg tudjuk fogalmazni, hogy mikor érjük el a célunkat; ezek lesznek a célállapotok.


Kezdő = (5, 0, 0) az Állapotok halmazból

Cél = {(a1, a2, a3) az Állapotok halmazból | a1 = 4}

Magyarul azokat az állapotokat tekintjük célállapotnak, ahol az 5 literes korsóban 4 liter sör van.


Már majdnem kész vagyunk, csupán annyi van hátra, hogy azt leírjuk, hogy milyen cselekvéseket végezhetünk a probléma megoldásához (ezeket hívjuk majd operátoroknak). Ilyen művelet lesz az Átöntés.

Átöntés[Honnan, Hová](Állapot) { //A Honnan-Hová indexek, ahol 0 az 5 literes, 1 a három literes, 2 a két literes korsó)

.. ÚjÁllapot = Állapot //Ha csinálunk valamit, egy új állapot fog előállni

.. //Először is tudnunk kell, mennyi folyadékot önthetünk át.

.. ÁtöntöttFolyadék = minimum(Állapot[Honnan], Állapot[Hová]);

.. ÚjÁllapot[Honnan] = ÚjÁllapot[Honnan] - ÁtöntöttFolyadék

.. ÚjÁllapot[Hová] = ÚjÁllapot[Hová] + ÁtöntöttFolyadék


.. Az operátor eredménye az ÚjÁllapot

}

Ezt a leírást nevezzük az operátor hatásdefiníciójának.


Persze nem minden esetben végezhetünk átöntést. Ahonnan átöntünk, az nem lehet üres, és ahová átöntünk, az nem lehet tele. Ez lesz az operátor értelmezési tartománya.

Dom Átöntés[Honnan, Hová] = {Állapot az Állapotok halmazból | Állapot[Honnan] != 0 ÉS Állapot[Hová] != maximum(H[Hová])}

A != azt jelenti, hogy nem egyenlő.


Ezt a nagy maszlagot nevezzük állapottér-reprezentációnak.


Most, hogy a problémát leírtuk a gépnek, nézhetünk valamilyen megoldáskeresőt, ami utat keres a Kezdő-től valamely Cél-ig. Erre van sokféle, például ez a körmentesített backtrack:

A kereső adatbázisa: Az aktuális út, amely a Kezdő-ből indul és a végén az aktuális állapot szerepel. Csúcsonként tároljuk:

- Az állapotot

- A szülő állapotot

- Az operátort, amellyel a szülő állapotból a mostani állapotba jutottunk

- A ki nem próbált, de alkalmazható operátorokat


Műveletei:

- Az állapottér-reprezentáció operátorai

- Visszalépés: Eltávolítjuk az út végéről az aktuális csúcsot.


És így működik:

1) Beizzítjuk az adatbázist így:

Az állapot a Kezdő; Nincs szülő állapot; Nincs előállító operátor; Az összes alkalmazható operátor (ezért kellett meghatározni az értelmezési tartományát az operátoroknak)

2) Célállapot az aktuális állapot?

Ha igen, sikeresen véget ér az algoritmus és megoldás állt elő.

Ha nem, lépünk tovább.

3) Van még ki nem próbált, de alkalmazható operátor?

Ha igen, választunk és alkalmazunk egyet (eltávolítva az operátort az alkalmazhatóak közül). Ha az újonnan előállt állapot már szerepel az úton, visszalépés és újra a 3. lépés jön.

Ha nem, lépünk tovább.

4) Tudunk még hová visszalépni (nem egyelemű-e az aktuális út)?

Ha tudunk és nem egyelemű az aktuális út, akkor visszalépést alkalmazunk, majd folytatjuk a 3. lépéstől.

Ha nem tudunk visszalépni, akkor nincs megoldása a problémának.

2016. jún. 13. 10:56
Hasznos számodra ez a válasz?
 10/18 anonim ***** válasza:
Bocs, az adatbázisnál a szülő állapot helyett a szülő csúcsot tároljuk.
2016. jún. 13. 11:03
Hasznos számodra ez a válasz?
1 2

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!