עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

בעיית התייר- עזרה באלגוריתם

Featured Replies

פורסם

שלום לכולם, אני צריך לפתור את הבעיה הבאה בפייתון, אשמח אם למישהו יש כיוון:

 

נוסע מגיע לעיר מסויימת ל L יחידות זמן, יש לו N אתרים אותם הוא הוא רוצה לבקר. לכל אתר יש מידת אטרקטיביות W בין 1 ל10. בנוסף כל אתר מצריך P יחידות זמן.

שדה התעופה הוא אתר 0 ונמצא ב(0,0) ולכל אתר יש קואורדינטה (x,y). 

הזמן שלוקח לזוז בין מקום למקום נמדד לפי מרחק אווירי (לדוגמא מ 0,0 ל 0,2 לוקח שעתיים)

 

עליי להחזיר את הפתרון האופטימלי למסלול בצורה כזאת 0,1,3,0 (משדה תעופה לאתר 1 ומשם לאתר 3 ומשם חזרה לשדה תעופה)

 

תודה מראש לגאון שיפתור!

פורסם

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

 

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

נערך על-ידי etal

  • 6 חודשים מאוחר יותר...
פורסם

הבעיה הזו דווקא לא שקולה ל- SalesMan Problem כי פה יש אילוצים.

 

זו למעשה וריאציה של ה- KnapSack Problem.

 

כלומר יש לבצע מקסימיזציה של ההציון של האתרים אותם רואים תוך אילוץ של כמות הזמן.

 

חיפוש קטן באינטרנט יראה לך את הפתרון (רק זכור לממש בצורה של Dynamic Programming).

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.