Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2017, 22:17   #1
supervine
 
Регистрация: 21.04.2017
Сообщений: 8
По умолчанию Нужна помощь в решении задачки в алг. минимакс альфа бета

Есть бинарное дерево с тремя уровнями (кроме корня). Итого 8 листьев внизу.
Нужно так распределить между листьями числа от 1 до 8 (не повторяясь) чтобы алгоритм минимакс альфа бета не сделал ни одного отсечения в обе стороны (ни слева направо ни справа налево).
Я ничего не нашел. Или в одну сторону или в другую обязательно есть хоть одно отсечение.
Даже программку написал что проверила все варианты от 12345678 до 87654321 и результат был - "нет такой комбинации". А проф утверждает что есть.
Буду рад помощи. Спасибо.

Может у меня ошибка в алгоритме. Положу сюды (питон):
Код:
import string

cuts=0
c=1
def alfabetaSearch(state,utility):
  return maxValue(state,utility,-1000,1000)

def maxValue(state,utility,a,b):
  global cuts
  if state[0]==3: return utility.pop(0)
  v=-1000
  for son in [0,1]:
    v=max(v,minValue((state[0]+1,son),utility,a,b))
    if v>=b: cuts=cuts+1;return v
    a=max(a,v)
  return v

def minValue(state,utility,a,b):
  global cuts
  if state[0]==3: return utility.pop(0)
  v=1000
  for son in [0,1]:
    v=min(v,maxValue((state[0]+1,son),utility,a,b))
    if v<=a: cuts=cuts+1;return v
    b=min(b,v)
  return v

for num in range(12345678,48765321):
  s=str(num)
  if not s.strip('12345678'):
    mySet=set(map(int,s))
    if len(mySet)<8: continue
    cuts=0
    alfabetaSearch((0, 0), map(int,s))
    if cuts==0:
      alfabetaSearch((0, 0), map(int, reversed(s)))
      if cuts==0:
        print "FOUND: "+s

Последний раз редактировалось supervine; 21.04.2017 в 23:08.
supervine вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НУЖНА ПОМОЩЬ в решении 5 примеров Олег Донсов Помощь студентам 5 11.10.2015 16:53
Нужна помощь в решении задачи MarcusAurelius Помощь студентам 10 14.09.2015 19:47
Нужна помощь в решении задачи на C(Си). Pug_from_Mordor Помощь студентам 4 10.11.2014 12:12
массивы на си. нужна помощь в решении Lexeres Помощь студентам 2 26.12.2009 11:16
Срочно нужна помощь в решении!!! VeseloffS Помощь студентам 0 07.06.2009 22:58