Untitled

 avatar
unknown
plain_text
a year ago
2.0 kB
7
Indexable
d = {
    'Русский язык': [2, 9],
    'Литература':[3, 8],
    'Иностранный язык':[3, 8],
    'Математика(Алгебра)': [4, 10],
    'Математика(Геометрия)': [3, 11],
    'Математика(Тервер)': [1, 12],
    'Информатика': [4, 6],
    'Физика': [2, 12],
    'Биология': [1, 7],
    'Химия': [1, 11],
    'История': [2, 5],
    'Обществознание': [2, 5],
    'География': [1, 3],
    'Физическая культура': [2, 1],
    'ОБЖ': [1, 2]
}


bintb = []

for i in range(0, 5): #день
    day = []
    for j in range(0, 15): #предмет
        lesson = []
        for k in range(0, 7): #номер урока
            lesson.append(0)
    day.append(lesson)
bintb.append(day)


  def rating(schedule):
      total_rating = 0

      lessons_count = [0 for i in range(0, 15)]

      used_error = 0
      for i in range(0, 5):  # день
          used_lessons = [0, 1, 2, 3, 4, 5, 6]
          for j in range(0, 15):  # предмет
              for k in range(0, 7):  # номер урока
                  lessons_count[j] += schedule[i][j][k]
                  used_lessons

      count_error = 0
      k = 0
      for i in d.keys():
          count_error += abs(d[i][0] - lessons_count[k])
          k += 1

      total_rating -= count_error * 1000
      return total_rating

def swap(i,j,k):
  s = [1,0]
  bintb[i][j][k] = s[bintb[i][j][k]]


def training(epochs):
    for e in range(epochs):
        cur_r = rating(bintb)

    for i in range(0, 5): #день
        for j in range(0, 15): #предмет
            for k in range(0, 7): #номер урока
                swap(i,j,k)
            if rating(bintb) < cur_r:
                swap(i,j,k)

training(100)

result = []
for i in range(0, 5):
    for j in range(0, 15):
        for k in range(0, 7):
Editor is loading...
Leave a Comment