Question
נתונים מספרים ממשיים, , רוצים ליצור מהם ביטוי חשבוני על ידי הוספת פעולות כפל וחיבור בין כל שני מספרים עוקבים,כך שערך הביטוי שיתקבל יהיה מקסימלי.
הערות:
- המספרים נתונים בסדר מסוים ואין לשנות אותו.
- כאשר מחשבים את ערך הביטוי פעולת כפל קודמת לפעולת חיבור.
א. השלימו את הקלט הבא עם פעולות חיבור וכפל כך שערך הביטוי שמתקבל מקסימלי.
ב. הוצע לחשב את ערך הביטוי על ידי נוסחת הנסיגה הבאה:
כאשר הוא ערך הביטוי עבור הקלט ו-.
הראו שנוסחה זו אינה מחשבת בהכרח את ערך הביטוי המקסימלי.
ג. תארו אלגוריתם פולינומי שבהינתן מספרים ממשיים כלשהם, , מוסיף פעולות כפל וחיבור בין כל שני מספרים עוקבים,כך שערך הביטוי שמתקבל יהיה מקסימלי.יש לנתח סיבוכיות זמן ריצה אבל אין צורך להוכיח נכונות.
Answers
א.
ב. למשל עבור הקלט ערך נוסחת הנסיגה הוא 20 בעוד שערך הפתרון האופטימלי הוא 9.
ג. נשים לב שאם קיימת פעולת חיבור במקום ה- אז אנחנו מעוניינים למקסם את הביטויים משמאל ומימין לפעולה. מצד שני יכול להיות שערך הביטוי המקסימלי מתקבל מפעולות כפל בלבד, כלומר אם נסמן ב- את ערך הביטוי המקסימלי עבור המספרים אז מתקיים ש:
כאשר .
את הנוסחה הנ"ל אפשר לחשב במטריצה בגודל לפי סדר האלכסונים.
סיבוכיות: אנחנו מחשבים ערכים כאשר חישוב של כל ערך לוקח זמן ולכן בסך הכל זמן.