עבור לתוכן

Google AI Challenge

Featured Replies

פורסם

http://ai-contest.com/index.php

יש משחק כזה שנקרא Galcon -- מטרת המשחק הוא לכבוש את כל הפלנטות של האיוב על ידי שליחת ספינות. ספינות בפלנטות מתרבות כל תור, בנוסף ככל שהפלנטה שלך גדולה ככה היא מייצרת יותר ספינות להתקפה.

דרך אגב, במשחק אפשר לשחק פה -- http://www.galcon.com/flash

אז איך זה קשור בעצם לצ'אלנג' ?

אז זהו, מטרה שלך היא לכתוב בוט שיתחרה מול בוטים אחרים של שחקנים מכל העולם, וכמובן יש דירוג -- http://ai-contest.com/rankings.php

מה צריך כדי לשחק?

כדי לשחק צריך להירשם http://ai-contest.com/register.php ולהוריד starter-pack שזה בעצם אוסף של classes & methods לשפה שאתה רוצה לכתוב בוט.

בנתיים יש starter-pack לשפות הבאות: Perl ,C++, Java, Python, C#, Haskell, Lisp, Javascript(node.js), PHP, Lisp, OCaml

http://ai-contest.com/starter_packages.php

יותר מזה, בפורומים שלהם אפשר למצוא עוד כל מיני גרסאות של starter-packages.

הורדתי את הstarter-package, מה עכשיו?

שימו לב, אני משתמש בסטארט-פאקג' של שפת Python לצורך הדגמה אבל בעיקרון הם כולם זהים.

unzip them!

יש לכם את הקבצים הבאים:

example_bots - תיקייה עם בוטים פשוטים כתובים בJAVA שיהיה על מי לנסות את היצירה שלך.

maps - בתיקייה זו יש לך הרבה קבצי טקסט -- אלה הם מפות משחק.

tools - בתיקייה זו יש קבצי הפעלת המשחק.

PlanetWars.py - אוסף של classes&methods שיעזרו לנו לפתח את הבוט שלנו.

MyBot.py - כאן זה הבוט שלנו, כל האלגוריתם שם.

README - טוב, נו, זה ברור. ;)

אפשר לנסות להתחיל את המשחק על ידי הפקודה בcmd

java -jar tools/PlayGame.jar maps/map7.txt 1000 1000 log.txt "python MyBot.py" "java -jar example_bots/DualBot.jar" | java -jar tools/ShowGame.jar

"java -jar example_bots/DualBot.jar" -- שורה זו אומרת באיזה מהבוטים מהתיקייה של שבאה עם הסטארט-פאקג' להשתמש, סתכלו יש שם עוד כמה.

הערה: אם אתם משתמשים בשפה אחרת מPython דאגו לשנות את "python MyBot.py" לפקודה מתאימה.

הערה 2: דאגו לא לשנות את שם הבוט אחרת יהיו בעיות בUPLOAD בהמשך.

אז איך מתחרים מול שחקנים אחרים וצוברים ניקוד?

את החלק של האלגוריתם אני ישאיר לכתוב לכם, כי אני בעצמי עדיין לא כתבי שום דבר נחמד.

אז, אחרי שכתבתים, או חשבתם שכתבתם את "הדבר", צריך לאחסן אותו בZIP, ולשלוח בעמוד של Upload Your Code שנמצא באתר מתחת ל My Account.

קראו היטב את הערות בעמוד זה! ואז Upload.

לפי מה הבנתי, הניקוד מתאפס כל פעם שמעלים מחדש את הבוט.

כדי לראות את ההפסדים\ניצחונות שלכם כנסו לMy Profile ותוכלו לראות את המשחק עצמו.

אז...

יש רק 6 אנשים מישראל והתחרות רצה כמעט וחודש, אתם באים או מה? :hat:

פורסם

לא הבנתי מה צריך לכתוב בדיוק.

אני משער שמבוא למדעי המחשב וJAVA לא מספיק לזה אה?

פורסם

לא הבנתי מה צריך לכתוב בדיוק.

אני משער שמבוא למדעי המחשב וJAVA לא מספיק לזה אה?

יותר ממספיק, זה תחרות לחשיבה לא לתכנות, אתה צריך למצוא את האלרגוריתם היעיל ביותר.

אבל רק אותי זה מטריד שגוגל מחפשת אלגוריתם יעיל לכיבוש פלנטות?

פורסם

חחחחח קרעת אותי בסוף

חכה דקה שתיים זה בחתימה שלי

ואני יוריד את הקבצים נראה מה כתוב שם..

פורסם

יותר ממספיק, זה תחרות לחשיבה לא לתכנות, אתה צריך למצוא את האלרגוריתם היעיל ביותר.

אבל רק אותי זה מטריד שגוגל מחפשת אלגוריתם יעיל לכיבוש פלנטות?

בהתחשב בקצב גידול של גוגל, ובאיך שהם לאט לאט משתלטים על עוד ועוד תחומים,

אני לא חושב שיש מה להיות מוטרדים שהם מחפשים, צריך להיות מוטרדים מזה שהם כנראה כבר מצאו אחד...

פורסם

IBM עשו את זה קודם :P

http://en.wikipedia.org/wiki/Robocode

גם MS עשו את זה לפני ההשקה של .NET עם "מלחמת החרקים שלהם"...

פורסם

טוב נתחיל לכתוב :yelclap:

פורסם

נראה מעניין, נראה מה אפשר לעשות...

פורסם

לקח לי זמן, אבל הצלחתי לכתוב קוד שמנצח את ה-DualBot.

כמה הערות\הארות: IssueOrder לא מעדכן את העותק המקומי, אז לדוגמא, אם אתם מתכוונים לקרוא לה יותר מפעם אחת בתור ואתם מסתמכים על מספר הספינות בכוכב, אתם צריכים לדעכן את העותק המקומי ע"י Planet.RemoveShips. צריך לשים לב לדבר הזה, כי אחרת מגיעים למצב שאתם שולחים יותר ספינונת ממה שיש בכוכב.

פורסם

חוץ מזה שיש צורך לכתוב את הקוד שישמיד את היריב, יש צורך שהוא גם יהיה יעיל מאיזושהי בחינה חארת?

פורסם

מה יעילות מה?! מה אכפת לך, זה לא רץ על המחשב שלך אפילו...

פורסם

לקח לי זמן, אבל הצלחתי לכתוב קוד שמנצח את ה-DualBot.

יגעל - תעשה לי שורת קוד!

פורסם

יש קשר ליעילות - כל תור מוגבל בזמן לשנייה, וקוד שיעבור את המגבלה הזאת יושעה

פורסם

אכן, בנוסף לזה העניין הוא שהפרסר שלהם מעדיף ג'אווה משום מה, קוד זהה מבחינה לוגית רץ יותר טוב כשהוא כתוב בjava מאשר C# למרות שהם מקבלים בסופו של דבר Plaintext ומפרסרים אותו בעצמם.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים