public override ISearchInfo GetSearchInfo() { ISearchInfo result = base.GetSearchInfo(); // result.SearchParameters.Add(winSize_Name, winSize.ToString()); return(result); }
private void LogSearch(State state, ISearchAlgorithm searcher, ISearchInfo info) { if (!EnableOutput) { return; } _output.WriteLine($"Search() on {state} with {searcher} yielded score={info.Score}, pv={string.Join(' ', info.Pv)}, nodesSearched={info.NodesSearched}"); }
public ChartForm(ISearchInfo result) { InitializeComponent(); this.result = result; foreach (Chart chart in result.ChartList) { flowPanel.Controls.Add(configChart(chart)); } flowPanel.Update(); }
int ISortable <ISearchInfo> .Compare(string sortType, bool isDescendingOrder, ISearchInfo other) { switch (sortType) { case SectionSearchHandler.NAME_SORT_TYPE_ASC: return(String.CompareOrdinal(name, other.name)); case SectionSearchHandler.NAME_SORT_TYPE_DESC: return(String.CompareOrdinal(other.name, name)); case SectionSearchHandler.SIZE_SORT_TYPE_DESC: return(other.size - size); case SectionSearchHandler.SIZE_SORT_TYPE_ASC: return(size - other.size); default: return(0); } }
public bool SetParameters(ISolver solver) { try { ISearchInfo info = solver.GetSearchInfo(); ParametersForm pf = new ParametersForm(info); pf.ShowDialog(); if (pf.DialogResult != DialogResult.OK) { return(false); } solver.setParameters(info.SearchParameters); } catch (Exception ex) { MessageBox.Show("error in parameters"); ReadyState(); return(false); } return(true); }
public ParametersForm(ISearchInfo info) { InitializeComponent(); int i = 0; TextBox textBox; Label label; this.info = info; foreach (KeyValuePair <string, string> pair in info.SearchParameters) { label = new Label(); label.Text = pair.Key; tablePanel.Controls.Add(label, 0, i); textBox = new TextBox(); textBox.Text = pair.Value; tablePanel.Controls.Add(textBox, 1, i); dic.Add(label, textBox); i++; } }
void ISectionSearchHandler.RemoveItem(ISearchInfo item) { scenesSearchHandler.RemoveItem(item); }
void ISectionSearchHandler.AddItem(ISearchInfo item) { scenesSearchHandler.AddItem(item); }
public SolutionForm(ISolver A, IEnvironment env, INode start, INode goal) { InitializeComponent(); DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn(); col.HeaderText = "Operators"; col.SortMode = DataGridViewColumnSortMode.NotSortable; operatorsView.Columns.Add(col); operatorsView.RowHeadersWidth = 50; col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; IState currentState = start.State; IPolicy policy = A.getPolicy(); ISearchInfo info = A.GetSearchInfo(); if (policy == null) { MessageBox.Show("No solution found"); } //use policy to find solution int i = 0; int maxi = 3000; double SumQ = 0; DataGridViewRow row; while (policy != null && !currentState.Equals(goal.State) && i < maxi) { row = new DataGridViewRow(); row.HeaderCell.Value = String.Format("{0}", i + 1); IOperator op = policy.action(currentState); operatorsView.Rows.Add(row); operatorsView.Rows[i].Cells[0].Value = op.Name; IOutcome outcome = env.act(currentState, policy.action(currentState)); currentState = outcome.State; stateList.Add(outcome.State); SumQ += outcome.Reward; i += 1; } if (i >= maxi) { MessageBox.Show("No solution found"); stateList.Clear(); } operatorsView.Update(); // print solver parameters + results col = new DataGridViewTextBoxColumn(); col.HeaderText = "Properties"; ResultView.Columns.Add(col); ResultView.RowHeadersWidth = 50; col = new DataGridViewTextBoxColumn(); col.HeaderText = "Values"; ResultView.Columns.Add(col); ResultView.RowHeadersWidth = 50; col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; i = 0; foreach (KeyValuePair <string, string> pair in info.SearchResults.Union(info.SearchParameters)) { row = new DataGridViewRow(); row.HeaderCell.Value = String.Format("{0}", i + 1); ResultView.Rows.Add(row); ResultView.Rows[i].Cells[0].Value = pair.Key; ResultView.Rows[i].Cells[1].Value = pair.Value; i += 1; } //print total reward row = new DataGridViewRow(); row.HeaderCell.Value = String.Format("{0}", i + 1); ResultView.Rows.Add(row); ResultView.Rows[i].Cells[0].Value = "Cummulative reward"; ResultView.Rows[i].Cells[1].Value = SumQ.ToString(); ResultView.Width = col.Width + ResultView.RowHeadersWidth + 20; ResultView.Update(); ConfigureDGV(N); NPuzzleState npState = (NPuzzleState)start.State; FillDGV(npState.Tiles, N); }