Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.06.2009, 17:21
гость

 
Сообщений: n/a

ПОМОГИТЕ С T-ЛАБИРИНТОМ
Задача:

мне нужно хранить значеня (0 и 1) в конечных состояних(допустим q1 и q2) и эти состояния меняютя свои значения(0 и 1) местами после n попаданий в лубое состояние, как мне зделать так чтоб в итоге автомат обучился и попадал только в то состояния там где находится 1

мне нужно понять как задать и счититать правило и как хранить правило
  #2  
Старый 14.06.2009, 09:31
гость

 
Сообщений: n/a

Что за лабиринты, что за автомат, и как вы его обучаете? Выкладывайте все подробности, из того что вы расказали нихрена ничего не ясно.
  #3  
Старый 14.06.2009, 15:18
гость

 
Сообщений: n/a

мне нужно написать лабиринт в виде буквы Т, по которому будет бегать агент запоминая в лабиринте что находится в конце каждого коридора, поощрение либо наказание и чтоб в итоге он ходил только на поощрение, ну вот в чем беда что штраф и поощрение должны менятся местами с какой либо переодичностью
  #4  
Старый 14.06.2009, 20:34
гость

 
Сообщений: n/a

Тучи начинают рассеиваться, но все еще темно...

Что у вас за агент/автомат? Как вы его обучаете? Какова у вас формальная модель окружающей среды, как агент с ней взаимодействует? (если ксть программная реализация, приводите ссылки)
  #5  
Старый 15.06.2009, 01:08
гость

 
Сообщений: n/a

Что у вас за агент/автомат - все равно что за агент пусть будет шар который будет рандомно бегать

как вы его обучаете - обучение должно выглядеть как глубина памяти автомата

есть программа только для фиксированых значений штраф(0) и поощрение(1) не меняются местами
Код:
import java.util.*;
import java.lang.*;
import java.io.*;


public class Base
{


    public static void main(String args [])
    {
        int q1 = 0, q2 = 0, i, times, t;
        int a=0;
        int count=0;
 	
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	
		try
		{
				count = Integer.parseInt(reader.readLine().trim());
			}
			catch(Exception e)
				{
					 System.out.println("error");
					}
        Random generator = new Random(((int)new Date().getTime()));
        times = 100; 
        int log[] = new int[times];
        
        for(i = 0; i < times; i++)
        {
            t = Math.abs(generator.nextInt())%2 + 1;
            switch(t)
            {
                case 1:
                    if(a >= count)
                    {
                        q2++;
                        log[i] = 1;
                        break;
                    }                    
                    a++;                    
                    q1++;
                    log[i] = 0;
                    break;
                case 2:
                    if(a < count)
                        a=0;
                    q2++;
                    log[i] = 1;
                    break;
            }
        }
        try
        {
            FileWriter fw = new FileWriter("1.txt");
            BufferedWriter bw = new BufferedWriter(fw);        
            bw.write("All: " + times);
            bw.newLine();
            bw.write("q1: " + q1);
            bw.newLine();
            bw.write("q2: " + q2);
            bw.newLine();
            bw.write("Log:");
            bw.newLine();
            for(i = 0; i < times; i++)
            {
                bw.write(log[i]+"");
                if(i != times - 1)
                    bw.write("->");
            }
            bw.close();
            fw.close();
        }
        catch(Exception e)
        {
            System.out.println("error");
        }
    }

}
 


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

Расширенный поиск
Опции просмотра