From 78c94b163b4eca2b6d8bf82be73fb776000b058f Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Wed, 19 Feb 2025 16:38:56 -0800 Subject: [PATCH 01/45] first --- .gitignore | 7 +- basic_scenario_gpt.py | 194 +++++++++++++++++++++++++++++++++++++++++ parse_scenario_womd.py | 5 +- test_deepinfra.py | 16 ++++ 4 files changed, 214 insertions(+), 8 deletions(-) create mode 100644 basic_scenario_gpt.py create mode 100644 test_deepinfra.py diff --git a/.gitignore b/.gitignore index 7fac77a..78cbedc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ -apla-planner/generated_pddls_deepseek/dataset/* -apla-planner/generated_pddls_deepseek/logs/* +apla-planner/* generated_pddls/* parsed_womdr_data/* pddl-examples/* *.pddl -__pycache__/* -apla-planner/generated_pddls_deepseek/.DS_Store -grades/* +__pycache__/ \ No newline at end of file diff --git a/basic_scenario_gpt.py b/basic_scenario_gpt.py new file mode 100644 index 0000000..e4a24d6 --- /dev/null +++ b/basic_scenario_gpt.py @@ -0,0 +1,194 @@ +from guidance import models, gen, user, assistant, system +import parse_scenario_womd +import json + + +def generate_scenario_concepts(granularity, scenario_data): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Think deeply about scenarios for testing autonomous vehicles. + + I need some states of the world that would be relevant for logically describing this traffic scenario: + {scenario_data} + + A state is just an assertion with a true or false value that's representing the world in that particular moment. + This is similar to the concept of a turn in a turn based game. + + There must be states regarding the following concepts: + * Static environment description. + * Ego agent + * The respective surrounding agents. + + In each action and state, the ego agent or the surrounding agent must be identified as or or as needed. + + Increase the granularity of the concepts in proportion to the granularity level. + The granularity level is {str(granularity)} on a scale of 1 to 10 with 1 being the least and 10 being the most granular + Granularity pertains to how specific the information is. + + Make sure to rewrite the concepts given in the generated list of concepts in addition to your concepts. + """ + + with assistant(): + lm_scenario += gen("concepts", temperature=0.5) + + print("The scenario concepts are {}".format(lm_scenario["concepts"])) + return lm_scenario["concepts"] + +def generate_scenario_states(concepts): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Based on the concepts detailed in {concepts}, + Write down a list of states pertaining to these concepts in natural language. Write them in the following format: + ```json + + "": + "statement": " + , + "": + "statement": ", + , + ... + + json``` + + Be very very very specific. + """ + + with assistant(): + lm_scenario += gen("state_dictionary", temperature=0.5) + + return lm_scenario["state_dictionary"] + +def generate_scenario_actions(concepts, granularity=2): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Based on the concepts detailed in {concepts}, + * Write down a list of actions that map between these states in natural language. + * Each action has some causal states (predicates) and some effect states that will be true or false. + * Each action is a cause and effect mapping between any number of causal states and any number of effect states. + * Actions and states must not contradict each other. + * Action names must be descriptive and the action can be understood just by looking at the name. + * The state names within each action are also descriptive. The cause and effect statements and the state names must have the same information. + * There must be separate states regarding the environment, ego and the respective surrounding agents. + * In each action and state, the ego agent or the surrounding agent must be identified as or or as needed. + * For distances, positions and speeds do not use specific numbers but words instead such as front, left, right, near, far, fast, slow, medium (or combinations such as front-left and so on) or other similar descriptive words. + * The action itself will only become true when the causal states and the effect states are in the specific states that this description details. + * Write them in the following format: + ```json + + "": + + "": + "statement": " + "value": , + "state_type": + , + "": + "statement": " + "value": , + "state_type": + + , + ... + + json``` + + Increase the granularity of these actions in proportion to the granularity level. + Granularity pertains to how specific the information is. + While the actions must be relevant to the given scenario, they must be general enough to be used for other scenarios as well. + The granularity level is {str(granularity)} on a scale of 1 to 10 with 1 being the least and 10 being the most granular + + """ + + with assistant(): + lm_scenario += gen("action_dictionary", temperature=0.8) + + print("The scenario actions are {}".format(lm_scenario["action_dictionary"])) + return lm_scenario["action_dictionary"] + +# # Removed from this project after consideration +# def generate_scenario_states(concepts): +# gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + +# with system(): +# lm_scenario = gpt_scenario + +# with user(): +# lm_scenario += f""" +# Based on the concepts detailed in {concepts}, +# Write down a list of states pertaining to these concepts in natural language. Write them in the following format: +# ```json +# +# "": +# "statement": " +# , +# "": +# "statement": ", +# , +# ... +# +# json``` + +# Be very very very specific and granular. Very granualar, fine details and specific. +# """ + +# with assistant(): +# lm_scenario += gen("state_dictionary", temperature=0.8) + +# return lm_scenario["state_dictionary"] + +def respond_scenario_query(concepts, actions, questions): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Based on the concepts detailed in {concepts} and actions detailed in {actions}, respond to the following questions: + {questions} + Be very specific and very granular. Very granual, fine details and specific. + """ + + with assistant(): + lm_scenario += gen("scenario_response", temperature=0.8) + + #print("The scenario responses are {}".format(lm_scenario["scenario_response"])) + return lm_scenario["scenario_response"] + +def evaluate_gpt(question): + gpt_scenario = models.OpenAI(model="gpt-4o-mini", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Given the questions here: + {question} + + Choose the correct answer. Only mention the option. + """ + + with assistant(): + lm_scenario += gen("mcq_response", temperature=0.5) + + #print("The scenario responses are {}".format(lm_scenario["scenario_response"])) + return lm_scenario["mcq_response"] + + \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index a84a838..fe3758a 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -4,11 +4,10 @@ import os from rouge import Rouge -scenario_files = os.listdir("../car_beh_gen/datasets/training.tar/training/training/") +scenario_files = os.listdir("../training/") scenario_blocklist = ['3e9622a454291617'] - def generate_womd_reasoning_datapoint(filename): - with open('../car_beh_gen/datasets/training.tar/training/training/'+filename, 'r') as file: + with open('./training/'+filename, 'r') as file: data = json.loads(file.read()) new_data_no_interactions = { 'environment questions': data['env_q'], diff --git a/test_deepinfra.py b/test_deepinfra.py new file mode 100644 index 0000000..b021c1a --- /dev/null +++ b/test_deepinfra.py @@ -0,0 +1,16 @@ +from openai import OpenAI +import os + +# Create an OpenAI client with your deepinfra token and endpoint +openai = OpenAI( + api_key=os.environ["DEEPINFRA_API_KEY"], + base_url="https://api.deepinfra.com/v1/openai", +) + +chat_completion = openai.chat.completions.create( + model="deepseek-ai/DeepSeek-R1", + messages=[{"role": "user", "content": "Hello"}], +) + +print(chat_completion.choices[0].message.content) +print(chat_completion.usage.prompt_tokens, chat_completion.usage.completion_tokens) \ No newline at end of file From e14c62d25d74a7e69376271aaa7ffd533fa068d5 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Wed, 19 Feb 2025 16:50:42 -0800 Subject: [PATCH 02/45] k --- apla-planner/generated_pddls_deepseek/planner_test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/apla-planner/generated_pddls_deepseek/planner_test.py b/apla-planner/generated_pddls_deepseek/planner_test.py index 2ca08db..90d2a99 100644 --- a/apla-planner/generated_pddls_deepseek/planner_test.py +++ b/apla-planner/generated_pddls_deepseek/planner_test.py @@ -1,7 +1,6 @@ from jupyddl import AutomatedPlanner # Comment this line along with the other planner lines if running from outside WSL import os import json -import matplotlib.pyplot as plt ## There is one context per scenario. Each context has a corresponding PDDL domain file. ## Each scenario has multiple interactions. Each interaction will have one PDDL problem file. From 6810c5872372cf2a77a4c8ddbd1966fa1821520c Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Tue, 25 Feb 2025 16:26:51 -0800 Subject: [PATCH 03/45] merge conflicts --- .gitignore | 2 +- llm_qa.py | 1 - planner.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 78cbedc..65fd2ba 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ generated_pddls/* parsed_womdr_data/* pddl-examples/* *.pddl -__pycache__/ \ No newline at end of file +__pycache__/* \ No newline at end of file diff --git a/llm_qa.py b/llm_qa.py index 1c2192a..046659e 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -3,7 +3,6 @@ import os import json -import matplotlib.pyplot as plt import planner # Comment out any function calls within this. from openai import OpenAI diff --git a/planner.py b/planner.py index d82817e..ebe52a4 100644 --- a/planner.py +++ b/planner.py @@ -1,4 +1,4 @@ -import guidance + import sys import subprocess import os From 7035d96ddce0f8eb732ec8288ea69d1ceb0c2d98 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Tue, 25 Feb 2025 16:28:41 -0800 Subject: [PATCH 04/45] merge conflicts --- llm_qa.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/llm_qa.py b/llm_qa.py index 046659e..1e1b1d9 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -5,12 +5,13 @@ import json import planner # Comment out any function calls within this. from openai import OpenAI +from matplotlib import pyplot as plt ########### ============ Global initializations ====================== ########## domain_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/domains') problem_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/problems') client_oai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) -client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") +#client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") scenario_domain_and_problem_data = planner.retrieve_womdr_domain_problem_data() @@ -46,13 +47,13 @@ def deepinfra_call(model_name, prompt): output_content = output.choices[0].message.content return output_content -def deepseek_call(model_name, prompt): - output = client_deepseek.chat.completions.create(model=model_name, - messages=[{"role": "user", "content": prompt}], - stream=False - ) - output_content = output.choices[0].message.content - return output_content +#def deepseek_call(model_name, prompt): +# output = client_deepseek.chat.completions.create(model=model_name, +# messages=[{"role": "user", "content": prompt}], +# stream=False +# ) +# output_content = output.choices[0].message.content +# return output_content ################# ============= Grading prompts ================== ############### def prepare_grading_prompt(context, question, answer, model_output): From c9626287124f59a89bd34d3f7ad9a1e7bf29bad2 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Thu, 27 Feb 2025 10:10:55 -0800 Subject: [PATCH 05/45] comment test --- llm_qa.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llm_qa.py b/llm_qa.py index 1e1b1d9..21f10d1 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -249,3 +249,5 @@ def main(): plt.bar([i for i in range(len(exp_run_qa_scores))], exp_run_qa_scores) plt.show() + +#comment_test \ No newline at end of file From 9d54926e0319d6f7cb4aae46d4d3634d8b3daf62 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Wed, 19 Feb 2025 16:38:56 -0800 Subject: [PATCH 06/45] first --- .gitignore | 7 +- basic_scenario_gpt.py | 194 +++++++++++++++++++++++++++++++++++++++++ parse_scenario_womd.py | 5 +- test_deepinfra.py | 16 ++++ 4 files changed, 214 insertions(+), 8 deletions(-) create mode 100644 basic_scenario_gpt.py create mode 100644 test_deepinfra.py diff --git a/.gitignore b/.gitignore index 7fac77a..78cbedc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ -apla-planner/generated_pddls_deepseek/dataset/* -apla-planner/generated_pddls_deepseek/logs/* +apla-planner/* generated_pddls/* parsed_womdr_data/* pddl-examples/* *.pddl -__pycache__/* -apla-planner/generated_pddls_deepseek/.DS_Store -grades/* +__pycache__/ \ No newline at end of file diff --git a/basic_scenario_gpt.py b/basic_scenario_gpt.py new file mode 100644 index 0000000..e4a24d6 --- /dev/null +++ b/basic_scenario_gpt.py @@ -0,0 +1,194 @@ +from guidance import models, gen, user, assistant, system +import parse_scenario_womd +import json + + +def generate_scenario_concepts(granularity, scenario_data): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Think deeply about scenarios for testing autonomous vehicles. + + I need some states of the world that would be relevant for logically describing this traffic scenario: + {scenario_data} + + A state is just an assertion with a true or false value that's representing the world in that particular moment. + This is similar to the concept of a turn in a turn based game. + + There must be states regarding the following concepts: + * Static environment description. + * Ego agent + * The respective surrounding agents. + + In each action and state, the ego agent or the surrounding agent must be identified as or or as needed. + + Increase the granularity of the concepts in proportion to the granularity level. + The granularity level is {str(granularity)} on a scale of 1 to 10 with 1 being the least and 10 being the most granular + Granularity pertains to how specific the information is. + + Make sure to rewrite the concepts given in the generated list of concepts in addition to your concepts. + """ + + with assistant(): + lm_scenario += gen("concepts", temperature=0.5) + + print("The scenario concepts are {}".format(lm_scenario["concepts"])) + return lm_scenario["concepts"] + +def generate_scenario_states(concepts): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Based on the concepts detailed in {concepts}, + Write down a list of states pertaining to these concepts in natural language. Write them in the following format: + ```json + + "": + "statement": " + , + "": + "statement": ", + , + ... + + json``` + + Be very very very specific. + """ + + with assistant(): + lm_scenario += gen("state_dictionary", temperature=0.5) + + return lm_scenario["state_dictionary"] + +def generate_scenario_actions(concepts, granularity=2): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Based on the concepts detailed in {concepts}, + * Write down a list of actions that map between these states in natural language. + * Each action has some causal states (predicates) and some effect states that will be true or false. + * Each action is a cause and effect mapping between any number of causal states and any number of effect states. + * Actions and states must not contradict each other. + * Action names must be descriptive and the action can be understood just by looking at the name. + * The state names within each action are also descriptive. The cause and effect statements and the state names must have the same information. + * There must be separate states regarding the environment, ego and the respective surrounding agents. + * In each action and state, the ego agent or the surrounding agent must be identified as or or as needed. + * For distances, positions and speeds do not use specific numbers but words instead such as front, left, right, near, far, fast, slow, medium (or combinations such as front-left and so on) or other similar descriptive words. + * The action itself will only become true when the causal states and the effect states are in the specific states that this description details. + * Write them in the following format: + ```json + + "": + + "": + "statement": " + "value": , + "state_type": + , + "": + "statement": " + "value": , + "state_type": + + , + ... + + json``` + + Increase the granularity of these actions in proportion to the granularity level. + Granularity pertains to how specific the information is. + While the actions must be relevant to the given scenario, they must be general enough to be used for other scenarios as well. + The granularity level is {str(granularity)} on a scale of 1 to 10 with 1 being the least and 10 being the most granular + + """ + + with assistant(): + lm_scenario += gen("action_dictionary", temperature=0.8) + + print("The scenario actions are {}".format(lm_scenario["action_dictionary"])) + return lm_scenario["action_dictionary"] + +# # Removed from this project after consideration +# def generate_scenario_states(concepts): +# gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + +# with system(): +# lm_scenario = gpt_scenario + +# with user(): +# lm_scenario += f""" +# Based on the concepts detailed in {concepts}, +# Write down a list of states pertaining to these concepts in natural language. Write them in the following format: +# ```json +# +# "": +# "statement": " +# , +# "": +# "statement": ", +# , +# ... +# +# json``` + +# Be very very very specific and granular. Very granualar, fine details and specific. +# """ + +# with assistant(): +# lm_scenario += gen("state_dictionary", temperature=0.8) + +# return lm_scenario["state_dictionary"] + +def respond_scenario_query(concepts, actions, questions): + gpt_scenario = models.OpenAI(model="gpt-4o", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Based on the concepts detailed in {concepts} and actions detailed in {actions}, respond to the following questions: + {questions} + Be very specific and very granular. Very granual, fine details and specific. + """ + + with assistant(): + lm_scenario += gen("scenario_response", temperature=0.8) + + #print("The scenario responses are {}".format(lm_scenario["scenario_response"])) + return lm_scenario["scenario_response"] + +def evaluate_gpt(question): + gpt_scenario = models.OpenAI(model="gpt-4o-mini", echo=False) + + with system(): + lm_scenario = gpt_scenario + + with user(): + lm_scenario += f""" + Given the questions here: + {question} + + Choose the correct answer. Only mention the option. + """ + + with assistant(): + lm_scenario += gen("mcq_response", temperature=0.5) + + #print("The scenario responses are {}".format(lm_scenario["scenario_response"])) + return lm_scenario["mcq_response"] + + \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index a84a838..fe3758a 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -4,11 +4,10 @@ import os from rouge import Rouge -scenario_files = os.listdir("../car_beh_gen/datasets/training.tar/training/training/") +scenario_files = os.listdir("../training/") scenario_blocklist = ['3e9622a454291617'] - def generate_womd_reasoning_datapoint(filename): - with open('../car_beh_gen/datasets/training.tar/training/training/'+filename, 'r') as file: + with open('./training/'+filename, 'r') as file: data = json.loads(file.read()) new_data_no_interactions = { 'environment questions': data['env_q'], diff --git a/test_deepinfra.py b/test_deepinfra.py new file mode 100644 index 0000000..b021c1a --- /dev/null +++ b/test_deepinfra.py @@ -0,0 +1,16 @@ +from openai import OpenAI +import os + +# Create an OpenAI client with your deepinfra token and endpoint +openai = OpenAI( + api_key=os.environ["DEEPINFRA_API_KEY"], + base_url="https://api.deepinfra.com/v1/openai", +) + +chat_completion = openai.chat.completions.create( + model="deepseek-ai/DeepSeek-R1", + messages=[{"role": "user", "content": "Hello"}], +) + +print(chat_completion.choices[0].message.content) +print(chat_completion.usage.prompt_tokens, chat_completion.usage.completion_tokens) \ No newline at end of file From 07924971b866949f8eb39835358a5900da8dbb57 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Wed, 19 Feb 2025 16:50:42 -0800 Subject: [PATCH 07/45] k --- apla-planner/generated_pddls_deepseek/planner_test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/apla-planner/generated_pddls_deepseek/planner_test.py b/apla-planner/generated_pddls_deepseek/planner_test.py index 2ca08db..90d2a99 100644 --- a/apla-planner/generated_pddls_deepseek/planner_test.py +++ b/apla-planner/generated_pddls_deepseek/planner_test.py @@ -1,7 +1,6 @@ from jupyddl import AutomatedPlanner # Comment this line along with the other planner lines if running from outside WSL import os import json -import matplotlib.pyplot as plt ## There is one context per scenario. Each context has a corresponding PDDL domain file. ## Each scenario has multiple interactions. Each interaction will have one PDDL problem file. From bdd978995e70770f2a8002ea43ff4f6715d8bfac Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Tue, 25 Feb 2025 16:26:51 -0800 Subject: [PATCH 08/45] merge conflicts --- .gitignore | 2 +- llm_qa.py | 1 - planner.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 78cbedc..65fd2ba 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ generated_pddls/* parsed_womdr_data/* pddl-examples/* *.pddl -__pycache__/ \ No newline at end of file +__pycache__/* \ No newline at end of file diff --git a/llm_qa.py b/llm_qa.py index 1c2192a..046659e 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -3,7 +3,6 @@ import os import json -import matplotlib.pyplot as plt import planner # Comment out any function calls within this. from openai import OpenAI diff --git a/planner.py b/planner.py index d82817e..ebe52a4 100644 --- a/planner.py +++ b/planner.py @@ -1,4 +1,4 @@ -import guidance + import sys import subprocess import os From e6735bb3735aea4436699cacac4d2ffc0118b0b2 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Tue, 25 Feb 2025 16:28:41 -0800 Subject: [PATCH 09/45] merge conflicts --- llm_qa.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/llm_qa.py b/llm_qa.py index 046659e..1e1b1d9 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -5,12 +5,13 @@ import json import planner # Comment out any function calls within this. from openai import OpenAI +from matplotlib import pyplot as plt ########### ============ Global initializations ====================== ########## domain_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/domains') problem_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/problems') client_oai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) -client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") +#client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") scenario_domain_and_problem_data = planner.retrieve_womdr_domain_problem_data() @@ -46,13 +47,13 @@ def deepinfra_call(model_name, prompt): output_content = output.choices[0].message.content return output_content -def deepseek_call(model_name, prompt): - output = client_deepseek.chat.completions.create(model=model_name, - messages=[{"role": "user", "content": prompt}], - stream=False - ) - output_content = output.choices[0].message.content - return output_content +#def deepseek_call(model_name, prompt): +# output = client_deepseek.chat.completions.create(model=model_name, +# messages=[{"role": "user", "content": prompt}], +# stream=False +# ) +# output_content = output.choices[0].message.content +# return output_content ################# ============= Grading prompts ================== ############### def prepare_grading_prompt(context, question, answer, model_output): From cea730b16845130b3473422f4b1a4716df3a7973 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Thu, 27 Feb 2025 10:10:55 -0800 Subject: [PATCH 10/45] comment test --- llm_qa.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llm_qa.py b/llm_qa.py index 1e1b1d9..21f10d1 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -249,3 +249,5 @@ def main(): plt.bar([i for i in range(len(exp_run_qa_scores))], exp_run_qa_scores) plt.show() + +#comment_test \ No newline at end of file From b9632197715a26865e60c685de74246e537a3b67 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Wed, 19 Feb 2025 16:38:56 -0800 Subject: [PATCH 11/45] first --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 65fd2ba..8be4fec 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ generated_pddls/* parsed_womdr_data/* pddl-examples/* *.pddl -__pycache__/* \ No newline at end of file +__pycache__/* From cea06463ea47cac68f534127c7107d6c18a4302d Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Thu, 27 Feb 2025 10:29:28 -0800 Subject: [PATCH 12/45] modifying to deepinfra instead of deepseek and changed file path to training --- client_model_setup.py | 2 +- parse_scenario_womd.py | 2 +- run_experiments.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/client_model_setup.py b/client_model_setup.py index 6010dd6..9ad3821 100644 --- a/client_model_setup.py +++ b/client_model_setup.py @@ -9,7 +9,7 @@ class ProvidedLLM(): def __init__(self): self.client_oai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) self.client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") - self.client_dsapi = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") + #self.client_dsapi = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") # The following are model names for DS models provided via their own API service. self.ds_v3_dsapi = "deepseek-chat" diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index fe3758a..4cd86fa 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -7,7 +7,7 @@ scenario_files = os.listdir("../training/") scenario_blocklist = ['3e9622a454291617'] def generate_womd_reasoning_datapoint(filename): - with open('./training/'+filename, 'r') as file: + with open('../training/'+filename, 'r') as file: data = json.loads(file.read()) new_data_no_interactions = { 'environment questions': data['env_q'], diff --git a/run_experiments.py b/run_experiments.py index 2abb277..830ac7d 100644 --- a/run_experiments.py +++ b/run_experiments.py @@ -8,12 +8,12 @@ import llm_qa print("Running the data preprocessing .... \nThe data will be in the parsed_womdr_data dictionary.") -parse_scenario_womd.obtain_and_write_mcq_data(35, 36) # Take these two arguments via argparse or config +parse_scenario_womd.obtain_and_write_mcq_data(0, 1) # Take these two arguments via argparse or config print("Completed data preprocessing!\n") print("Running the PDDL file generation...\nThe domains and problem files will get saved in the apla-planner/generated_pddls_deepseek path within the domains and problems folder.......") -api_type = "ds_api" -model_name = "ds_v3_dsapi" # Take these two arguments via argparse +api_type = "deepinfra_api" +model_name = "ds_v3" # Take these two arguments via argparse planner.generate_pddl_with_syntax_check(api_type, model_name) print("PDDL problem generation has been completed!\n") From 97bbf8659a08883dc9df78b825e2df1b3c1520f9 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Thu, 27 Feb 2025 17:01:59 -0800 Subject: [PATCH 13/45] debugging with print statements, planning direct prompting variables 2,4,6shot --- grades/deepseek_grades.json | 1 + llm_qa.py | 50 +++++++++++++++++++++++++++++-------- parse_scenario_womd.py | 2 -- planner.py | 4 +++ run_experiments.py | 3 ++- 5 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 grades/deepseek_grades.json diff --git a/grades/deepseek_grades.json b/grades/deepseek_grades.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/grades/deepseek_grades.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/llm_qa.py b/llm_qa.py index 21f10d1..89428cc 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -119,6 +119,32 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, Think step by step. Show your reasoning and answer the question. """ + + #create a set of variables called + #direct_prompt_cot_2shot, direct_prompt_cot_4shot, direct_prompt_cot_6shot, + #direct_prompt_cot_8shot (#shot refers to number of interactions(qa pair) within the same scenario ID/context) + #(chain of thought) before asking the question + #provide examples of q and a pairs. obtain the pairs + #from the results of the parse script. scenario using + #for examples should not be used for evaluation. + # + # + # + #how to create these examples: + #direct_prompt = f""" + # I want you to answer some questions about an autonomous vehicle test scenario. Here are some examples for some scenarios: + # + # + # + # Here is some information about an autonomous vehicle scenario: + # {context} + + # Answer the following question: + # {question} + + # Think step by step. Show your reasoning and answer the question. + + # """ pddl_prompt = f""" Here is some context about the test scenario: @@ -154,13 +180,13 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, elif model_family=="deepinfra_models": for model_name in model_dictionary[model_family]: grading_prompt = prepare_grading_prompt(context=context, question=question, - answer=answer, model_output=deepinfra_call(model_name=model_name, prompt=pddl_prompt)) + answer=answer, model_output=deepinfra_call(model_name=model_name, prompt=pddl_prompt)) #when creating new var replace pddl prompt w my var name (ie 4shot) grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_with_plan", grading_output + model_family+"_"+model_name+"_with_plan", grading_output #replace _with_plan with _for_(insert variable name) ) existing_grades[scenario_id][interaction_id].setdefault("problem_score_avg", ((grading_output["Correctness score"] + grading_output["Faithfulness score"])/2)) - + print("Retrieving grades") def pddl_response_and_answer_questions(domain_path, problem_path, current_plan, eval_folder): @@ -185,6 +211,7 @@ def pddl_response_and_answer_questions(domain_path, problem_path, current_plan, interaction_id=interaction_id) #Ensure that this json file by the name grades/deepseek_grades.json exists first. + print("Editing grades") with open("grades/deepseek_grades.json", 'w') as grade_file: with open(eval_complete_path, 'r') as eval_file: data = json.load(eval_file) @@ -197,7 +224,7 @@ def pddl_response_and_answer_questions(domain_path, problem_path, current_plan, json.dump(existing_grades, grade_file, indent=4) grade_file.close() -def main(): +def run_evaluations(): # Recover the PDDL domain file, PDDL problem file for a particular scenario and plan file. for scenario_folder in domain_folder_list: #Scores for multiple problems (where each problem corresponds to one interaction) within one scenario @@ -240,14 +267,17 @@ def main(): pddl_response_and_answer_questions(domain_path=domain_full_path, problem_path=problem_full_path, current_plan=current_problem_plan, eval_folder=eval_folder) - except: - continue + except Exception: + print(type(Exception)) + break else: pddlproblem_file_name = "" print("For this exp run, the final qa scores are {}".format(exp_run_qa_scores)) - - plt.bar([i for i in range(len(exp_run_qa_scores))], exp_run_qa_scores) - plt.show() -#comment_test \ No newline at end of file + # plt.bar([i for i in range(len(exp_run_qa_scores))], exp_run_qa_scores) + # plt.show() +run_evaluations() +#comment_test +# domain_path = "" +# problem_path = "" diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index 4cd86fa..65b4190 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -1,8 +1,6 @@ import json -from guidance import models, gen, user, assistant, system from openai import OpenAI import os -from rouge import Rouge scenario_files = os.listdir("../training/") scenario_blocklist = ['3e9622a454291617'] diff --git a/planner.py b/planner.py index ebe52a4..2a885e7 100644 --- a/planner.py +++ b/planner.py @@ -19,12 +19,14 @@ def retrieve_womdr_domain_problem_data(): for i in parsed_womdr_files: with open("parsed_womdr_data/"+i, 'r') as scenario_file: scenario_data = json.load(scenario_file) + print(f"number of scenarios are {scenario_data.keys()}") for key in scenario_data.keys(): # Indices here have been planned based on the Waymo Reasoning dataset files scenario_domain_problem_data.setdefault(i[:-5], { "Context": "" }) scenario_domain_problem_data[i[:-5]]["Context"] = scenario_data[key]["Context"] + print(f"number of interactions in this scenario are {scenario_data[key]["Interactions"].keys()}") for interaction_key in scenario_data[key]["Interactions"].keys(): scenario_domain_problem_data[i[:-5]].setdefault("Interactions", {}) scenario_domain_problem_data[i[:-5]]["Interactions"].setdefault(interaction_key, { @@ -91,6 +93,8 @@ def generate_pddl_with_syntax_check(api_type, model_name): client, selected_model = resolve_client_and_model(api_type=api_type, model_name=model_name) scenario_domain_problem_data = retrieve_womdr_domain_problem_data() for id in tqdm(scenario_domain_problem_data.keys()): + if len(scenario_domain_problem_data.keys()) > 2: + sys.exit() print("\nDomain generation, generating action suggestions....\n") response_action_json = client.chat.completions.create( model=selected_model, diff --git a/run_experiments.py b/run_experiments.py index 830ac7d..6e3eafb 100644 --- a/run_experiments.py +++ b/run_experiments.py @@ -6,9 +6,10 @@ import parse_scenario_womd import planner import llm_qa +import sys print("Running the data preprocessing .... \nThe data will be in the parsed_womdr_data dictionary.") -parse_scenario_womd.obtain_and_write_mcq_data(0, 1) # Take these two arguments via argparse or config +parse_scenario_womd.obtain_and_write_mcq_data(3, 4) # Take these two arguments via argparse or config print("Completed data preprocessing!\n") print("Running the PDDL file generation...\nThe domains and problem files will get saved in the apla-planner/generated_pddls_deepseek path within the domains and problems folder.......") From 9f1cefecaecce89eb9bf463d6cc4d4d5f30f96d5 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Fri, 28 Feb 2025 14:12:40 -0800 Subject: [PATCH 14/45] added 2,4,6,8 shot direct prompting and moved writing script out of for loop to prevent repeated output in llm_qa_direct_only.py. changed index in run_experiments.py to work with 8 interaction scenario ID. output observed in deepseek_grades.json --- grades/deepseek_grades.json | 1 - grades/direct/deepseek_grades.json | 76 ++++++++++++++++ llm_qa_direct_only.py | 135 ++++++++++++++++++++++++----- run_experiments.py | 2 +- 4 files changed, 190 insertions(+), 24 deletions(-) delete mode 100644 grades/deepseek_grades.json create mode 100644 grades/direct/deepseek_grades.json diff --git a/grades/deepseek_grades.json b/grades/deepseek_grades.json deleted file mode 100644 index 9e26dfe..0000000 --- a/grades/deepseek_grades.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/grades/direct/deepseek_grades.json b/grades/direct/deepseek_grades.json new file mode 100644 index 0000000..3e2e23e --- /dev/null +++ b/grades/direct/deepseek_grades.json @@ -0,0 +1,76 @@ +{ + "10471914b8bb79a1": { + "Interactions_0": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct as it accurately states that surrounding agent #0 will have no interaction with the ego agent, which aligns perfectly with the ground truth. The AI correctly identifies that the paths of the two agents do not conflict and that surrounding agent #0 is departing from the intersection while the ego agent is turning left and exiting.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. The AI logically explains why there is no interaction, based on the agents' movements and positions, and does not introduce any inconsistencies or incorrect assumptions." + }, + "problem_score_avg": "10.0" + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the interaction between the ego agent and surrounding agent #1 will be minimal due to surrounding agent #1 being stationary. However, it misses the explicit point that surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green light, which is a key aspect of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It accurately describes the situation where surrounding agent #1 is not moving and does not impede the ego agent's movement. However, it does not fully align with the ground truth's emphasis on yielding and right of way, which slightly affects the faithfulness." + }, + "problem_score_avg": "7.5" + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth answer. It accurately describes that surrounding agent #2 will yield to the ego agent, emphasizing the deceleration of agent #2, the ego agent's left turn, and the green traffic light.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. The AI correctly interprets the scenario, concluding that agent #2 will yield based on its deceleration and the ego agent's actions, which are supported by the context." + }, + "problem_score_avg": "10.0" + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #4, as surrounding agent #4 is not moving and is behind the ego agent, which is actively turning left and exiting the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. The conclusion that there will be no interaction is logically derived from the facts that surrounding agent #4 is not moving and is behind the ego agent, which is turning left. The reasoning is sound and directly supports the conclusion." + }, + "problem_score_avg": "10.0" + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct but lacks precision. It correctly identifies that surrounding agent #6 will yield to the ego agent and mentions the crosswalk as a factor. However, it does not explicitly state that surrounding agent #6 is on the right of the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly links the crosswalk and the movement of surrounding agent #6 to the necessity of yielding to the ego agent. The logic is sound, though it could benefit from including the positional detail of agent #6 being on the right of the intersection." + }, + "problem_score_avg": "8.5" + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct and aligns well with the ground truth. It correctly identifies that surrounding agent #7 will not interact with the ego agent due to its stationary position and being on the same side of the intersection. However, it slightly deviates by mentioning 'minimal interaction,' which is not in the ground truth and could imply some interaction exists, even if negligible.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically connects the stationary state of surrounding agent #7, the ego agent's left turn, and the green light to conclude no conflict. The mention of 'minimal interaction' is a minor inconsistency but does not significantly detract from the overall logical flow." + }, + "problem_score_avg": "9.0" + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct. It accurately states that surrounding agent #8 will have no interaction with the ego agent because it is not moving and is on the same side of the intersection as the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is faithful and consistent with the provided context. The AI correctly identifies that the stationary position of surrounding agent #8 does not pose a conflict to the ego agent's movement, which is consistent with the scenario described." + }, + "problem_score_avg": "10.0" + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_with_plan": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue turning left and exiting the intersection, and that the green traffic light facilitates this action. However, it misses the nuanced details about how surrounding agents (specifically #1, #2, and #6) will yield to the ego agent, which is a crucial part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically infers that the ego agent will continue its current action (turning left) and correctly attributes the facilitation of this action to the green traffic light. The omission of details about surrounding agents does not make the reasoning inconsistent, just less comprehensive." + }, + "problem_score_avg": "8.5" + } + } +} \ No newline at end of file diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index 59b0ebb..c5b71ed 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -10,12 +10,12 @@ ########### ============ Global initializations ====================== ########## parsed_file_list = os.listdir("parsed_womdr_data/") client_oai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) -client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") +#client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") scenario_domain_and_problem_data = planner.retrieve_womdr_domain_problem_data() model_dictionary = { - "openai_models": ["gpt-4o-mini", "gpt-4.5-preview"], + "openai_models": ["gpt-4o-mini"], "deepinfra_models": [] } @@ -44,13 +44,13 @@ def deepinfra_call(model_name, prompt): output_content = output.choices[0].message.content return output_content -def deepseek_call(model_name, prompt): - output = client_deepseek.chat.completions.create(model=model_name, - messages=[{"role": "user", "content": prompt}], - stream=False - ) - output_content = output.choices[0].message.content - return output_content +# def deepseek_call(model_name, prompt): +# output = client_deepseek.chat.completions.create(model=model_name, +# messages=[{"role": "user", "content": prompt}], +# stream=False +# ) +# output_content = output.choices[0].message.content +# return output_content ################# ============= Grading prompts ================== ############### def prepare_grading_prompt(context, question, answer, model_output): @@ -108,29 +108,120 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, """ + #using scenario ID 10471914b8bb79a1.json and interactions 0 and 7 + direct_cot_prompt_2shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ + + #using interactions 0 2 4 6 direct_cot_prompt_4shot = f""" I want you to answer some questions from the world of autonomous vehicle testing. Here are some examples of questions being answered: - First, some information about the context: "Can you describe the current road configuration in terms of lanes? The road has three lanes.What traffic controls are present in the current driving scene? There are no traffic controls present in the current driving scene.What is the ego agent's current velocity? The ego agent's current speed is 6 meters per second.Is the ego agent's speed constant or changing? The ego agent is accelerating.Could you specify the ego agent's current lane position? The ego agent is on the first lane from the right.What is the ego agent's current direction of travel? The ego agent is heading in the same direction as its current lane.What type of agent is surrounding agent #0? Surrounding agent #0 is a vehicle.How fast is surrounding agent #0 moving at the moment? Surrounding agent #0's current speed is 5 meters per second.What is the motion status of surrounding agent #0? Surrounding agent #0 is accelerating.Where is surrounding agent #0 in relation to the ego agent? Surrounding agent #0 is 4 meters on the left and 1 meter in front of the ego agent.What direction is surrounding agent #0 facing compared to the ego agent? Surrounding agent #0 is heading in the same direction as the ego agent.What type of agent is surrounding agent #1? Surrounding agent #1 is a vehicle.What is the current speed of surrounding agent #1? Surrounding agent #1's current speed is 4 meters per second.Is surrounding agent #1 accelerating or maintaining its speed? Surrounding agent #1 is moving at a constant speed.Can you describe the position of surrounding agent #1 relative to the ego agent? Surrounding agent #1 is 24 meters behind and 3 meters on the left of the ego agent.In which direction is surrounding agent #1 moving with respect to the ego agent? Surrounding agent #1 is heading in the same direction as the ego agent.What type of agent is surrounding agent #3? Surrounding agent #3 is a vehicle.What is the current velocity of surrounding agent #3? Surrounding agent #3 is not moving.Where is surrounding agent #3 located in relation to the ego agent? Surrounding agent #3 is 4 meters in front and 4 meters on the right of the ego agent.What direction is surrounding agent #3 facing in relation to the ego agent? Surrounding agent #3 is heading in the same direction as the ego agent.What type of agent is surrounding agent #4? Surrounding agent #4 is a vehicle.What is the motion status of surrounding agent #4? Surrounding agent #4 is not moving.Can you describe the position of surrounding agent #4 with respect to the ego agent? Surrounding agent #4 is 9 meters on the right and 1 meter behind the ego agent.In which direction is surrounding agent #4 heading compared to the ego agent? Surrounding agent #4 is heading the opposite direction as the ego agent.What type of agent is surrounding agent #5? Surrounding agent #5 is a vehicle.Is surrounding agent #5 currently in motion? Surrounding agent #5 is not moving.Where is surrounding agent #5 situated in relation to the ego agent? Surrounding agent #5 is 11 meters in front and 2 meters on the right of the ego agent.What direction is surrounding agent #5 facing with respect to the ego agent? Surrounding agent #5 is heading right of the ego agent.What type of agent is surrounding agent #6? Surrounding agent #6 is a vehicle.What is the current speed of surrounding agent #6? Surrounding agent #6 is not moving.Can you describe the position of surrounding agent #6 relative to the ego agent? Surrounding agent #6 is 14 meters in front and 7 meters on the right of the ego agent.In which direction is surrounding agent #6 moving with respect to the ego agent? Surrounding agent #6 is heading right of the ego agent." + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." + + Question: "What interaction will occur between the ego agent and surrounding agent #6?" + Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." + + Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" + Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ + + #using interactions 0 1 2 3 5 7 + direct_cot_prompt_6shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - Question: "What interactions are anticipated between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will overtake the ego agent as it is accelerating and will be further ahead in the future." + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" + Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." - Question: "Can you predict the interaction between the ego agent and surrounding agent #4?" - Answer: "There will be no interaction between the ego agent and surrounding agent #4 as they are heading in opposite directions and not affecting each other's path." + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - Question: "What is the ego agent's plan for the immediate future?" - Answer: "The ego agent intends to continue on its current path and lane while accelerating. It will overtake surrounding agent #3 and pass surrounding agents #5 and #6, as they are not moving. It will also be overtaken by surrounding agent #0, which is accelerating on the left side." + Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" + Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." - Question: "What will be the nature of the interaction between the ego agent and surrounding agent #6?" - Answer: "The ego agent will pass surrounding agent #6 since surrounding agent #6 is stationary and the ego agent is accelerating." + Question: "What will be the interaction between the ego agent and surrounding agent #7?" + Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." Given these examples now please have a look at the following new context and try to answer the following question: Here is the context: {context} Here is the question: {question} + + """ + + #using interactions 0 1 2 3 4 5 6 7 + direct_cot_prompt_8shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" + Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." + + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." + + Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" + Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." + + Question: "What interaction will occur between the ego agent and surrounding agent #6?" + Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." + + Question: "What will be the interaction between the ego agent and surrounding agent #7?" + Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" + Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + """ #### Step 2: Generate the model grades and add them to the dictionary @@ -174,10 +265,10 @@ def pddl_response_and_answer_questions(): interaction_id=interaction_id) #Ensure that this json file by the name grades/deepseek_grades.json exists first. - with open("grades/direct/deepseek_grades.json", 'w') as grade_file: - print("Existing grades is given by {}".format(existing_grades)) - json.dump(existing_grades, grade_file, indent=4) - grade_file.close() + with open("grades/direct/deepseek_grades.json", 'w') as grade_file: + print("Existing grades is given by {}".format(existing_grades)) + json.dump(existing_grades, grade_file, indent=4) + grade_file.close() def main(): pddl_response_and_answer_questions() diff --git a/run_experiments.py b/run_experiments.py index 6e3eafb..f1dd05c 100644 --- a/run_experiments.py +++ b/run_experiments.py @@ -9,7 +9,7 @@ import sys print("Running the data preprocessing .... \nThe data will be in the parsed_womdr_data dictionary.") -parse_scenario_womd.obtain_and_write_mcq_data(3, 4) # Take these two arguments via argparse or config +parse_scenario_womd.obtain_and_write_mcq_data(78, 79) # Take these two arguments via argparse or config print("Completed data preprocessing!\n") print("Running the PDDL file generation...\nThe domains and problem files will get saved in the apla-planner/generated_pddls_deepseek path within the domains and problems folder.......") From f893f7e8e7d3f3636a7a0bbce4a9e06297a8a11b Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Fri, 28 Feb 2025 14:34:33 -0800 Subject: [PATCH 15/45] Modifications to model names and corresponding evals can now be completed easily. --- llm_qa_direct_only.py | 252 ++++++++++++++++-------------------------- 1 file changed, 95 insertions(+), 157 deletions(-) diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index c5b71ed..e19246b 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -14,9 +14,29 @@ client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") scenario_domain_and_problem_data = planner.retrieve_womdr_domain_problem_data() +# The following are model names for DeepInfra provided models +# "deepseek-ai/DeepSeek-V3" +# "deepseek-ai/DeepSeek-R1" # This model thinks. +# "meta-llama/Llama-3.3-70B-Instruct-Turbo" +# "meta-llama/Meta-Llama-3.1-405B-Instruct" +# "Qwen/Qwen2.5-72B-Instruct" +# "deepseek-ai/DeepSeek-R1-Distill-Llama-70B" # This model thinks. +# "google/gemma-2-9b-it" +# "meta-llama/Meta-Llama-3.1-8B-Instruct" +# "Qwen/Qwen2.5-7B-Instruct" +# "microsoft/phi-4" + +# # The following are the small model names for models provided via the OpenAI API service +# "gpt-4o-mini" +# "o3-mini" + model_dictionary = { - "openai_models": ["gpt-4o-mini"], - "deepinfra_models": [] + "openai_models": { + "gpt-4o-mini": [] + }, + "deepinfra_models":{ + + } } # Generate two lists - domain file list and problem file list for a single scenario @@ -24,8 +44,7 @@ model_outputs = {} existing_grades = {} -qa_scores_o3_mini = [] -qa_scores_qwen25_7b = [] +scenario_qa_score = {} ######## ================= LLM API calls ====================== ########### def openai_call(model_name, prompt): @@ -44,15 +63,57 @@ def deepinfra_call(model_name, prompt): output_content = output.choices[0].message.content return output_content -# def deepseek_call(model_name, prompt): -# output = client_deepseek.chat.completions.create(model=model_name, -# messages=[{"role": "user", "content": prompt}], -# stream=False -# ) -# output_content = output.choices[0].message.content -# return output_content +def deepseek_call(model_name, prompt): + output = client_deepseek.chat.completions.create(model=model_name, + messages=[{"role": "user", "content": prompt}], + stream=False + ) + output_content = output.choices[0].message.content + return output_content +################# ============== QA prompts ===================== +def generate_qa_prompt(context, question, answer, prompt_type="4shot"): + direct_prompt = f""" + Here is some information about an autonomous vehicle scenario: + {context} + + Answer the following question: + {question} + + Think step by step. Show your reasoning and answer the question. + + """ + + direct_cot_prompt_4shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the current road configuration in terms of lanes? The road has three lanes.What traffic controls are present in the current driving scene? There are no traffic controls present in the current driving scene.What is the ego agent's current velocity? The ego agent's current speed is 6 meters per second.Is the ego agent's speed constant or changing? The ego agent is accelerating.Could you specify the ego agent's current lane position? The ego agent is on the first lane from the right.What is the ego agent's current direction of travel? The ego agent is heading in the same direction as its current lane.What type of agent is surrounding agent #0? Surrounding agent #0 is a vehicle.How fast is surrounding agent #0 moving at the moment? Surrounding agent #0's current speed is 5 meters per second.What is the motion status of surrounding agent #0? Surrounding agent #0 is accelerating.Where is surrounding agent #0 in relation to the ego agent? Surrounding agent #0 is 4 meters on the left and 1 meter in front of the ego agent.What direction is surrounding agent #0 facing compared to the ego agent? Surrounding agent #0 is heading in the same direction as the ego agent.What type of agent is surrounding agent #1? Surrounding agent #1 is a vehicle.What is the current speed of surrounding agent #1? Surrounding agent #1's current speed is 4 meters per second.Is surrounding agent #1 accelerating or maintaining its speed? Surrounding agent #1 is moving at a constant speed.Can you describe the position of surrounding agent #1 relative to the ego agent? Surrounding agent #1 is 24 meters behind and 3 meters on the left of the ego agent.In which direction is surrounding agent #1 moving with respect to the ego agent? Surrounding agent #1 is heading in the same direction as the ego agent.What type of agent is surrounding agent #3? Surrounding agent #3 is a vehicle.What is the current velocity of surrounding agent #3? Surrounding agent #3 is not moving.Where is surrounding agent #3 located in relation to the ego agent? Surrounding agent #3 is 4 meters in front and 4 meters on the right of the ego agent.What direction is surrounding agent #3 facing in relation to the ego agent? Surrounding agent #3 is heading in the same direction as the ego agent.What type of agent is surrounding agent #4? Surrounding agent #4 is a vehicle.What is the motion status of surrounding agent #4? Surrounding agent #4 is not moving.Can you describe the position of surrounding agent #4 with respect to the ego agent? Surrounding agent #4 is 9 meters on the right and 1 meter behind the ego agent.In which direction is surrounding agent #4 heading compared to the ego agent? Surrounding agent #4 is heading the opposite direction as the ego agent.What type of agent is surrounding agent #5? Surrounding agent #5 is a vehicle.Is surrounding agent #5 currently in motion? Surrounding agent #5 is not moving.Where is surrounding agent #5 situated in relation to the ego agent? Surrounding agent #5 is 11 meters in front and 2 meters on the right of the ego agent.What direction is surrounding agent #5 facing with respect to the ego agent? Surrounding agent #5 is heading right of the ego agent.What type of agent is surrounding agent #6? Surrounding agent #6 is a vehicle.What is the current speed of surrounding agent #6? Surrounding agent #6 is not moving.Can you describe the position of surrounding agent #6 relative to the ego agent? Surrounding agent #6 is 14 meters in front and 7 meters on the right of the ego agent.In which direction is surrounding agent #6 moving with respect to the ego agent? Surrounding agent #6 is heading right of the ego agent." + + Question: "What interactions are anticipated between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will overtake the ego agent as it is accelerating and will be further ahead in the future." + + Question: "Can you predict the interaction between the ego agent and surrounding agent #4?" + Answer: "There will be no interaction between the ego agent and surrounding agent #4 as they are heading in opposite directions and not affecting each other's path." + + Question: "What is the ego agent's plan for the immediate future?" + Answer: "The ego agent intends to continue on its current path and lane while accelerating. It will overtake surrounding agent #3 and pass surrounding agents #5 and #6, as they are not moving. It will also be overtaken by surrounding agent #0, which is accelerating on the left side." + + Question: "What will be the nature of the interaction between the ego agent and surrounding agent #6?" + Answer: "The ego agent will pass surrounding agent #6 since surrounding agent #6 is stationary and the ego agent is accelerating." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} -################# ============= Grading prompts ================== ############### + Here is the question: {question} + + """ + if prompt_type=="4shot": + return direct_cot_prompt_4shot + elif prompt_type=="direct": + return direct_prompt + + +################# ============= Grading via LLM as a judge prompts ================== ############### def prepare_grading_prompt(context, question, answer, model_output): grading_prompt = f""" Here is some context about the test scenario: @@ -90,168 +151,43 @@ def prepare_grading_prompt(context, question, answer, model_output): def grade_openai_deepinfra_models_one_interaction(model_dictionary, existing_grades, scenario_id, - interaction_id): + interaction_id, + prompt_type): #### Step 1: Generate the PDDL prompts ======================= ######### context = scenario_domain_and_problem_data[scenario_id]["Context"] question = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["problem_data"] answer = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["answer_data"] - direct_prompt = f""" - Here is some information about an autonomous vehicle scenario: - {context} - - Answer the following question: - {question} - - Think step by step. Show your reasoning and answer the question. - - """ - - #using scenario ID 10471914b8bb79a1.json and interactions 0 and 7 - direct_cot_prompt_2shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "What is the ego agent's plan in the immediate future?" - Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ - - #using interactions 0 2 4 6 - direct_cot_prompt_4shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" - Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - - Question: "What interaction will occur between the ego agent and surrounding agent #6?" - Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." - - Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" - Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ - - #using interactions 0 1 2 3 5 7 - direct_cot_prompt_6shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" - Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." - - Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" - Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - - Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" - Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." - - Question: "What will be the interaction between the ego agent and surrounding agent #7?" - Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Question: "What is the ego agent's plan in the immediate future?" - Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ - - #using interactions 0 1 2 3 4 5 6 7 - direct_cot_prompt_8shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" - Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." - - Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" - Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - - Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" - Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." - - Question: "What interaction will occur between the ego agent and surrounding agent #6?" - Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." - - Question: "What will be the interaction between the ego agent and surrounding agent #7?" - Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" - Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Question: "What is the ego agent's plan in the immediate future?" - Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ + generated_prompt = generate_qa_prompt(context, question, answer, prompt_type) #### Step 2: Generate the model grades and add them to the dictionary for model_family in model_dictionary.keys(): if model_family=="openai_models": for model_name in model_dictionary[model_family]: grading_prompt = prepare_grading_prompt(context=context, question=question, - answer=answer, model_output=openai_call(model_name=model_name, prompt=direct_cot_prompt_4shot)) + answer=answer, model_output=openai_call(model_name=model_name, prompt=generated_prompt)) grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_with_plan", grading_output + model_family+"_"+model_name+"_modelname", grading_output ) avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 - existing_grades[scenario_id][interaction_id].setdefault("problem_score_avg", (str(avg_score))) - qa_scores_o3_mini.append(avg_score) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + model_dictionary[model_family][model_name].append(avg_score) elif model_family=="deepinfra_models": for model_name in model_dictionary[model_family]: grading_prompt = prepare_grading_prompt(context=context, question=question, - answer=answer, model_output=deepinfra_call(model_name=model_name, prompt=direct_cot_prompt_4shot)) + answer=answer, model_output=deepinfra_call(model_name=model_name, prompt=generated_prompt)) grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_with_plan", grading_output + model_family+"_"+model_name+"_modelname", grading_output ) avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 - existing_grades[scenario_id][interaction_id].setdefault("problem_score_avg", (str(avg_score))) - qa_scores_qwen25_7b.append(avg_score) - + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + model_dictionary[model_family][model_name].append(avg_score) -def pddl_response_and_answer_questions(): +def pddl_response_and_answer_questions(prompt_type="4shot"): # Parse through the preprocessed json data contained in parsed_womdr_data/ for scenario_id in scenario_domain_and_problem_data.keys(): existing_grades.setdefault(scenario_id, {}) @@ -262,20 +198,22 @@ def pddl_response_and_answer_questions(): grade_openai_deepinfra_models_one_interaction(model_dictionary=model_dictionary, existing_grades=existing_grades, scenario_id=scenario_id, - interaction_id=interaction_id) + interaction_id=interaction_id, + prompt_type=prompt_type) #Ensure that this json file by the name grades/deepseek_grades.json exists first. - with open("grades/direct/deepseek_grades.json", 'w') as grade_file: + with open("grades/direct/deepseek_grades_direct_"+prompt_type+".json", 'w') as grade_file: print("Existing grades is given by {}".format(existing_grades)) json.dump(existing_grades, grade_file, indent=4) grade_file.close() def main(): - pddl_response_and_answer_questions() - - plt.bar([i for i in range(len(qa_scores_o3_mini))], qa_scores_o3_mini) - plt.show() - plt.bar([i for i in range(len(qa_scores_qwen25_7b))], qa_scores_qwen25_7b) - plt.show() + # Change parameter here depending on the prompt. + prompt_type = "direct" + pddl_response_and_answer_questions(prompt_type=prompt_type) + for model_provider in model_dictionary.keys(): + for model in model_dictionary[model_provider].keys(): + plt.bar([i for i in range(len(model_dictionary[model_provider][model]))], model_dictionary[model_provider][model]) + plt.show() main() \ No newline at end of file From fca4c75c56b94e25f13b41eea12c5fbaf385237f Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Fri, 28 Feb 2025 14:12:40 -0800 Subject: [PATCH 16/45] added 2,4,6,8 shot direct prompting and moved writing script out of for loop to prevent repeated output in llm_qa_direct_only.py. changed index in run_experiments.py to work with 8 interaction scenario ID. output observed in deepseek_grades.json --- llm_qa_direct_only.py | 141 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 133 insertions(+), 8 deletions(-) diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index e19246b..c19c794 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -63,13 +63,13 @@ def deepinfra_call(model_name, prompt): output_content = output.choices[0].message.content return output_content -def deepseek_call(model_name, prompt): - output = client_deepseek.chat.completions.create(model=model_name, - messages=[{"role": "user", "content": prompt}], - stream=False - ) - output_content = output.choices[0].message.content - return output_content +# def deepseek_call(model_name, prompt): +# output = client_deepseek.chat.completions.create(model=model_name, +# messages=[{"role": "user", "content": prompt}], +# stream=False +# ) +# output_content = output.choices[0].message.content +# return output_content ################# ============== QA prompts ===================== def generate_qa_prompt(context, question, answer, prompt_type="4shot"): direct_prompt = f""" @@ -159,7 +159,132 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, question = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["problem_data"] answer = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["answer_data"] - generated_prompt = generate_qa_prompt(context, question, answer, prompt_type) + direct_prompt = f""" + Here is some information about an autonomous vehicle scenario: + {context} + + Answer the following question: + {question} + + Think step by step. Show your reasoning and answer the question. + + """ + + #using scenario ID 10471914b8bb79a1.json and interactions 0 and 7 + direct_cot_prompt_2shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ + + #using interactions 0 2 4 6 + direct_cot_prompt_4shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." + + Question: "What interaction will occur between the ego agent and surrounding agent #6?" + Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." + + Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" + Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ + + #using interactions 0 1 2 3 5 7 + direct_cot_prompt_6shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" + Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." + + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." + + Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" + Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." + + Question: "What will be the interaction between the ego agent and surrounding agent #7?" + Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ + + #using interactions 0 1 2 3 4 5 6 7 + direct_cot_prompt_8shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" + Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." + + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." + + Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" + Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." + + Question: "What interaction will occur between the ego agent and surrounding agent #6?" + Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." + + Question: "What will be the interaction between the ego agent and surrounding agent #7?" + Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" + Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ #### Step 2: Generate the model grades and add them to the dictionary for model_family in model_dictionary.keys(): From faf4d9b73e376843dcdf7c237e85cbbcc98b94a9 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Mon, 3 Mar 2025 15:17:42 -0800 Subject: [PATCH 17/45] syntax conflict --- llm_qa_direct_only.py | 1 + 1 file changed, 1 insertion(+) diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index c19c794..19abd72 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -285,6 +285,7 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, Here is the question: {question} """ + #### Step 2: Generate the model grades and add them to the dictionary for model_family in model_dictionary.keys(): From 70e49e9b712014d0bcf70f6be84af8046e9492d0 Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Fri, 7 Mar 2025 21:31:44 -0800 Subject: [PATCH 18/45] llm_qa_direct_only: added to model dictionary, incorporated CoT prompting 2,4,6shot under generate_qa_prompt, and modified graph titles within main. parse_scenario_womd: called obtain_andwrite_mcq_data to sort through indices to generate parsed womdr data. committing deepseek grade files and corresponding graphs --- .../deepseek_grades_direct_2shot_exp6.json | 571 +++++++++++++ .../deepseek_grades_direct_4shot_exp10.json | 255 ++++++ .../deepseek_grades_direct_4shot_exp12.json | 787 ++++++++++++++++++ .../deepseek_grades_direct_4shot_exp8.json | 571 +++++++++++++ .../deepseek_grades_direct_6shot_exp11.json | 273 ++++++ .../deepseek_grades_direct_6shot_exp9.json | 571 +++++++++++++ .../deepseek_grades_direct_direct_exp1.json | 157 ++++ .../deepseek_grades_direct_direct_exp2.json | 157 ++++ .../deepseek_grades_direct_direct_exp3.json | 157 ++++ .../deepseek_grades_direct_direct_exp4.json | 157 ++++ .../deepseek_grades_direct_direct_exp5.json | 157 ++++ .../deepseek_grades_direct_direct_exp6.json | 571 +++++++++++++ llm_qa_direct_only.py | 242 ++---- parse_scenario_womd.py | 1 + plt-graph/exp1.png | Bin 0 -> 8201 bytes plt-graph/exp10.png | Bin 0 -> 21226 bytes plt-graph/exp11.png | Bin 0 -> 20085 bytes plt-graph/exp12.png | Bin 0 -> 19940 bytes plt-graph/exp2.png | Bin 0 -> 21295 bytes plt-graph/exp3.png | Bin 0 -> 21103 bytes plt-graph/exp4.png | Bin 0 -> 20660 bytes plt-graph/exp5.png | Bin 0 -> 20715 bytes plt-graph/exp6.png | Bin 0 -> 20574 bytes plt-graph/exp7.png | Bin 0 -> 20942 bytes plt-graph/exp8.png | Bin 0 -> 20552 bytes plt-graph/exp9.png | Bin 0 -> 20576 bytes 26 files changed, 4475 insertions(+), 152 deletions(-) create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp6.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp10.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp12.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp8.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp11.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp9.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp1.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp2.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp3.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp4.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp5.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp6.json create mode 100644 plt-graph/exp1.png create mode 100644 plt-graph/exp10.png create mode 100644 plt-graph/exp11.png create mode 100644 plt-graph/exp12.png create mode 100644 plt-graph/exp2.png create mode 100644 plt-graph/exp3.png create mode 100644 plt-graph/exp4.png create mode 100644 plt-graph/exp5.png create mode 100644 plt-graph/exp6.png create mode 100644 plt-graph/exp7.png create mode 100644 plt-graph/exp8.png create mode 100644 plt-graph/exp9.png diff --git a/grades/direct/deepseek_grades_direct_2shot_exp6.json b/grades/direct/deepseek_grades_direct_2shot_exp6.json new file mode 100644 index 0000000..078d9fe --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp6.json @@ -0,0 +1,571 @@ +{ + "10658c943a882fd2": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is fully correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #0, as the surrounding agent is stationary and not in the path of the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful and consistent with the provided context. It logically concludes that no interaction is expected based on the agents' positions, movement statuses, and the absence of conflicting paths.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, as the surrounding agent is not moving, is facing the opposite direction, and is not in the path of the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly considers the stationary state of surrounding agent #2, its position relative to the ego agent, and the direction it is facing to conclude that no interaction is expected. The reasoning is logical and faithful to the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, aligning perfectly with the ground truth answer. The reasoning provided by the AI accurately reflects the situation, emphasizing that both agents are not moving and their paths do not intersect.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are fully consistent with its reasoning. The AI logically explains why no interaction is expected, based on the positions and movements (or lack thereof) of the ego agent and surrounding agent #3. There are no inconsistencies in the reasoning leading to the conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #4, which matches the ground truth answer. The reasoning aligns with the context, as surrounding agent #4 is not moving and not in the direct path of the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are consistent with its reasoning. The AI correctly analyzes the positions and directions of the agents and concludes that no significant interaction is expected, which is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as they are not in the same path and the surrounding agent is stationary. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusions drawn. The AI logically explains that the stationary position of surrounding agent #5 and its opposite direction of travel mean there is no conflict, which supports the conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect compared to the ground truth. The ground truth states that the ego agent intends to accelerate and continue on its path, while the AI suggests that the ego agent will continue decelerating, potentially preparing to stop. This is a significant deviation from the expected behavior.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the information provided. It correctly identifies the ego agent's current state (decelerating at 1 m/s) and the lack of traffic controls. However, it fails to align with the ground truth's assertion of acceleration, leading to a conclusion that does not fully match the given scenario.", + "problem_score_avg": "4.5" + } + } + }, + "1066d80d79a13a16": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the interaction where surrounding agent #0 will yield to the ego agent. The ego agent has the right of way due to the green light and being on the main road, which the AI did not consider. The AI incorrectly concluded that no interaction would occur, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions but is incomplete. It correctly identifies the directions of travel and the green signal status, but it does not consider the right-of-way rules, which is a critical oversight. The conclusions drawn align with the provided reasoning but are not fully consistent with the scenario's context.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that the ego agent and surrounding agent #2 will not have any interaction as they are traveling in opposite directions and are not on a collision course. This aligns perfectly with the ground truth answer, which also emphasizes that there will be no interaction between them.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It accurately describes the positions, directions, and traffic light statuses of both agents, and correctly concludes that their paths do not intersect. However, it could have been slightly more concise by directly stating that surrounding agent #2 is departing from the intersection, as mentioned in the ground truth.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it correctly identifies that the ego agent will continue moving straight through the intersection due to the green light. It also correctly notes that surrounding agents #0 and #2 do not pose a threat. However, it does not explicitly mention that the ego agent has the right of way, which is a key detail in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It logically concludes that the ego agent will proceed straight based on the green light and the movements of the surrounding agents, without any contradictions or inconsistencies.", + "problem_score_avg": "9.5" + } + } + }, + "10689839d1d6ff15": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 will yield to the ego agent, which aligns with the ground truth. The AI accurately notes that surrounding agent #0 is not moving and is decelerating, which suggests it will stop at the stop sign, allowing the ego agent to proceed. This reasoning is entirely consistent with the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. The AI correctly interprets the scenario by noting the positions, speeds, and motion statuses of the agents, and it logically concludes that surrounding agent #0 will yield at the stop sign. The reasoning supports the conclusion without contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #2, as surrounding agent #2 is stationary and positioned behind the ego agent. However, it does not explicitly state that they are heading in opposite directions, which is a key detail in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly explains that surrounding agent #2 being stationary and located behind the ego agent means it will not impede the ego agent's progress. The conclusions drawn are fully supported by the reasoning provided.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #3. This aligns perfectly with the ground truth answer, which also mentions that they are heading in opposite directions and that surrounding agent #3 is not moving.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. The AI correctly identifies that surrounding agent #3 is stationary and that the ego agent is moving in a different direction, leading to the conclusion that no interaction will occur. The reasoning supports the final conclusion completely.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI incorrectly interprets the role of the stop sign for the ego agent and surrounding agent #4. Contrary to the ground truth, the AI suggests that the ego agent must stop and yield to surrounding agent #4, instead of recognizing that surrounding agent #4 will yield to the ego agent because the ego agent is approaching the intersection and surrounding agent #4 is at a stop sign. The AI's understanding of the right-of-way dynamics is flawed.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it correctly identifies the need for the ego agent to stop at the stop sign. However, its conclusion about the interaction with surrounding agent #4 is inconsistent with the provided context and ground truth, leading to a lower faithfulness score. The AI fails to align its final conclusion with the correct right-of-way dynamics.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no immediate interaction between the ego agent and surrounding agent #200 due to their positions and movement paths. However, the AI unnecessarily speculates about potential future interactions (e.g., yielding at the crosswalk), which deviates from the ground truth's clear statement of no interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent but introduces unnecessary assumptions about the pedestrian crossing the road and the ego agent yielding, which are not supported by the provided context. This reduces the faithfulness of the reasoning to the given scenario.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges that there will be no immediate interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. However, it does not explicitly mention that surrounding agent #5 is departing from the intersection and that both agents are on the same side, which are key details in the ground truth. This missing information reduces the correctness score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly notes that the ego agent will likely stop at the stop sign, and surrounding agent #5 is far enough behind to avoid immediate conflict. However, the reasoning could be more precise by explicitly addressing the departure direction of surrounding agent #5 and the shared side of the road, which would have strengthened the faithfulness.", + "problem_score_avg": "7.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks specific details about yielding to surrounding agent #0 and #4, which are explicitly mentioned in the ground truth. It correctly identifies the need to stop at the stop sign and crosswalk and to proceed when safe, but the omission of specific yielding details reduces its correctness.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains the need to stop at the stop sign, be vigilant for pedestrians, and proceed when safe. The reasoning aligns well with the actions it describes, although it could have been more detailed regarding yielding to specific agents.", + "problem_score_avg": "8.5" + } + } + }, + "1068c27cceb21de5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #0, as they are heading in opposite directions and their paths do not conflict. This aligns perfectly with the ground truth answer, which also states that they will pass each other without any other interactions.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. The AI correctly analyzes the positions, speeds, and directions of both agents and concludes that their paths do not conflict, leading to no interaction. The reasoning supports the conclusion without any contradictions or inconsistencies.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to continue accelerating on its current lane and that there are no obstacles or interactions with surrounding agent #0. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and logically follows from the given context. It correctly considers the lack of obstacles, the distance of surrounding agent #0, and the ego agent's current motion status to draw the conclusion that it will continue accelerating.", + "problem_score_avg": "10.0" + } + } + }, + "1069c268c8730c41": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that the paths of the ego agent and surrounding agent #0 do not conflict, which aligns with the ground truth that surrounding agent #0 will yield to the ego agent. The AI could have explicitly mentioned the yielding behavior to fully match the ground truth, but the conclusion about minimal interaction is correct.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically analyzes the positions, directions, and paths of both agents to conclude that their interaction will be minimal, which is faithful to the provided context.", + "problem_score_avg": "9.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that the ego agent is decelerating and approaching the intersection without encountering traffic lights, stop signs, or crosswalks. However, it incorrectly suggests that the ego agent may need to stop or yield for surrounding agent #0, which contradicts the ground truth that the ego agent intends to continue through the intersection without altering its course. This misinterpretation of the situation reduces the correctness score.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with the information provided. It correctly infers that the ego agent is decelerating and is not affected by traffic lights or stop signs. However, it introduces an unwarranted assumption about the need to stop or yield for surrounding agent #0, which is not supported by the context. This inconsistency in reasoning slightly lowers the faithfulness score.", + "problem_score_avg": "5.5" + } + } + }, + "1069f98a6c0e2a19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 will follow the ego agent without conflict, which aligns with the ground truth answer. However, it emphasizes surrounding agent #0's deceleration more than necessary, which is not a critical detail in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It logically concludes that surrounding agent #0 will follow the ego agent without conflict, based on their speeds, lane positions, and traffic light status. The focus on deceleration, while not incorrect, slightly detracts from the core conclusion.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will overtake surrounding agent #1 due to the speed difference and the ego agent's right of way with a green light. However, it misses the explicit detail from the ground truth that surrounding agent #1 will yield to the ego agent, which is a key aspect of the interaction.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions. It correctly analyzes the positions, speeds, and traffic light status, leading to the conclusion that the ego agent will pass surrounding agent #1. However, it does not explicitly state the yielding behavior of surrounding agent #1, which slightly deviates from the reasoning chain.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately identifies that surrounding agent #3 is departing from the intersection and that there will be no interaction with the ego agent, which aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. It correctly considers the positions, directions, and movements of both the ego agent and surrounding agent #3, concluding that their paths do not conflict, which is faithful to the information provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #4 will yield to the ego agent. While the AI correctly identifies that surrounding agent #4 is stationary and unlikely to impede the ego agent, it fails to explicitly state the yielding behavior, which is the core interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It accurately describes the positions and states of both agents and concludes that the ego agent will not need to adjust its trajectory. However, it does not fully align with the ground truth's emphasis on yielding, which slightly detracts from its faithfulness.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize that surrounding agent #5's stationary position on the right side of the intersection implies it will yield to the ego agent, which is actively departing the intersection. The AI incorrectly concludes there will be no interaction, whereas the ground truth specifies that surrounding agent #5 will yield.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It logically deduces that since surrounding agent #5 is stationary and not obstructing the ego agent's path, no direct interaction is expected. However, this reasoning does not align with the ground truth, which considers yielding behavior.", + "problem_score_avg": "5.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies the ego agent's intention to continue through the intersection due to the green traffic light and the right of way. However, it overly emphasizes the crosswalk, which is not the primary focus in the ground truth answer. The ground truth answer more clearly highlights the lack of need to yield to specific surrounding agents, which the AI only partially addresses.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions, but it introduces additional details about the crosswalk that are not central to the ground truth answer. While the AI correctly notes the ego agent's right of way and the minimal interaction with surrounding agents, it slightly deviates by focusing more on the crosswalk than necessary.", + "problem_score_avg": "7.5" + } + } + }, + "106f4f9f8d7c8227": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests potential interactions between the ego agent and surrounding agent #0, particularly focusing on the crosswalk. However, the ground truth explicitly states that there will be no interaction, as there is no immediate conflict between the two agents. The AI's response introduces unnecessary speculation about interactions that are not supported by the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent in itself, as it logically discusses the potential for interaction due to the proximity and shared direction of the agents. However, it fails to align with the ground truth, which clearly indicates no interaction. The conclusions drawn by the AI are internally consistent but are not faithful to the provided scenario.", + "problem_score_avg": "4.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #1 will yield to the ego agent, which aligns with the ground truth. However, it slightly overcomplicates the explanation by mentioning crosswalk interaction, which is not directly relevant to the yielding decision.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the speed, position, and acceleration of both agents to reach the conclusion that surrounding agent #1 will yield. However, the inclusion of crosswalk interaction, while not incorrect, is somewhat tangential to the main conclusion.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests a potential for conflict between the ego agent and surrounding agent #3, despite the ground truth explicitly stating that there is no interaction or conflict. The AI's conclusion contradicts the ground truth, which is a significant error.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the context provided, as it considers the relative positions and speeds of the agents. However, the conclusion drawn (potential for conflict) is not aligned with the reasoning, as the context clearly indicates no conflict exists. The reasoning is partially faithful but ultimately leads to an incorrect conclusion.", + "problem_score_avg": "4.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #4 will yield to the ego agent due to the red traffic light, which aligns with the ground truth. However, the AI does not explicitly mention that the ego agent is exiting the intersection, which is a key detail in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context and leads to a logical conclusion. The AI correctly analyzes the situation, including the influence of the red traffic light and the crosswalk, and draws a conclusion that is faithful to its reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but fails to explicitly state that surrounding agent #5 will yield to the ego agent due to the red traffic light. While the AI mentions that surrounding agent #5 may slow down or stop, it does not directly address the yielding behavior as specified in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly identifies the factors influencing the interaction, such as the red traffic light and the ego agent's position in the intersection, and logically infers that surrounding agent #5 will adjust its speed. However, it could have been more explicit about the yielding behavior.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction or conflict between the ego agent and surrounding agent #6, which aligns perfectly with the ground truth. The explanation provided by the AI is accurate and supports the conclusion that both vehicles are moving in the same direction without any conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly analyzes the positions, speeds, and directions of both the ego agent and surrounding agent #6, and logically concludes that there will be no conflict. The reasoning is faithful to the details provided in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it does not align with the ground truth. The ground truth states that surrounding agent #7 will yield to the ego agent due to the red traffic light it is facing, while the ego agent is exiting the intersection. The AI's answer suggests no direct interaction, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusion but fails to account for the critical detail of the red traffic light affecting surrounding agent #7's behavior. While it correctly notes that surrounding agent #7 is stationary, it does not consider the implications of the red traffic light, which would likely cause surrounding agent #7 to yield to the ego agent.", + "problem_score_avg": "3.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer deviates significantly from the ground truth. The ground truth states that there will be no interaction between the ego agent and surrounding agent #8, as there is no immediate conflict. However, the AI speculated about potential interactions at the crosswalk, which is not supported by the context or the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its own conclusions but is based on speculative scenarios (e.g., pedestrian presence) that are not mentioned in the context. While the AI's logic about the agents' speeds and proximity to the crosswalk is coherent, it introduces assumptions that reduce the faithfulness of the reasoning.", + "problem_score_avg": "4.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct, as it accurately predicts that the ego agent will continue moving straight through the intersection and acknowledges the presence of the crosswalk. However, it slightly overstates the concern about surrounding agents, as the ground truth explicitly states that the ego agent does not need to yield due to traffic lights or immediate conflicts.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context, as it correctly identifies the ego agent's speed, direction, and the surrounding agents' positions. However, it introduces unnecessary caution about potential conflicts with surrounding agents, which is not fully supported by the context, as the ground truth emphasizes that no yielding is required.", + "problem_score_avg": "8.5" + } + } + }, + "107054019ae57da5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 will yield to the ego agent due to being at a stop sign. However, it incorrectly assumes the ego agent will likely reach the intersection first without stopping, which contradicts the ground truth stating that both the ego agent and surrounding agent #0 are approaching stop signs and must stop before entering the intersection.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. It accurately concludes that surrounding agent #0 will yield to the ego agent. However, the assumption about the ego agent not needing to stop is inconsistent with the scenario provided, which slightly detracts from the overall faithfulness of the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2. This aligns perfectly with the ground truth answer, which also states that no interaction will occur due to the opposite directions of travel and the stationary status of surrounding agent #2.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly notes that surrounding agent #2 is behind the ego agent, is not moving, and that the ego agent is accelerating forward. The conclusion of no interaction logically follows from these observations, demonstrating faithful reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it claims there will be no interaction between the ego agent and surrounding agent #3, whereas the ground truth states that surrounding agent #3 will yield to the ego agent. The AI incorrectly assumes their paths do not conflict and fails to recognize the yielding behavior.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion that there will be no interaction, as it logically follows the positions and states of the agents. However, the reasoning is flawed because it doesn't consider the yielding behavior implied by the ground truth.", + "problem_score_avg": "4.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that no direct interaction is anticipated between the ego agent and surrounding agent #4. The ground truth indicates that surrounding agent #4 will yield to the ego agent, which implies an interaction. The AI fails to recognize this and misinterprets the scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that surrounding agent #4 is not moving and is at a distance, and it logically concludes that no interaction is expected. However, the reasoning does not align with the ground truth, as it misses the yielding behavior.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly mentions that the ego agent will approach the stop sign and navigate the speed bumps. However, it fails to explicitly state that the ego agent will yield to surrounding agent #0, which is a key part of the ground truth answer. The AI also does not explicitly acknowledge that surrounding agents #2, #3, and #4 are not moving and do not require a response, which is part of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the ego agent's need to stop at the stop sign and navigate the speed bumps. However, the reasoning could be more detailed by explicitly addressing the need to yield to surrounding agent #0 and the irrelevance of the other surrounding agents due to their stationary state.", + "problem_score_avg": "7.5" + } + } + }, + "1071fe439da7c12f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #0 will yield to the ego agent because the ego agent has a green arrow and is already in the intersection, while surrounding agent #0 is approaching from the left. The AI incorrectly concludes that their paths do not conflict and that there will be minimal interaction, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion, as it correctly identifies the positions, movements, and traffic light status of both agents. However, the conclusion drawn is incorrect, as it fails to recognize the right-of-way situation described in the ground truth.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #2 is stationary and has a red traffic light, indicating it will not move. However, the AI incorrectly concludes that there will be no interaction between the ego agent and surrounding agent #2. The ground truth specifies that surrounding agent #2 will yield to the ego agent, implying a form of interaction, which the AI fails to acknowledge.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that there will be no interaction, as it correctly notes that surrounding agent #2 is stationary and the ego agent has a green arrow. However, it misses the subtlety of the yield interaction mentioned in the ground truth, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #3 will remain stopped due to the red traffic light and crosswalk, which aligns with the ground truth. However, the AI misses the nuance that the ego agent is exiting the intersection with a green arrow, which is a key part of the ground truth explanation. This omission slightly reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly deduces that surrounding agent #3 will yield and remain stopped, and it logically concludes there will be no direct interaction. However, it does not fully connect this to the ego agent's actions within the intersection, which slightly reduces the faithfulness score.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is mostly correct but lacks the critical point that surrounding agent #4 will yield to the ego agent due to its red traffic light. The AI correctly notes that surrounding agent #4 is not moving and that the ego agent is accelerating with a green arrow, but it misses the explicit acknowledgment of the yielding behavior, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the positions, speeds, and traffic light statuses of both the ego agent and surrounding agent #4. It logically concludes that there is no direct conflict or interaction, though it could have emphasized the yielding aspect more explicitly.", + "problem_score_avg": "8.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #5. This aligns with the ground truth answer, which notes that surrounding agent #5 is not moving and both agents are exiting the intersection, leading to no conflict.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the context. It correctly interprets the situation by noting that surrounding agent #5 is stationary, the ego agent is accelerating, and their paths do not conflict. However, it could have explicitly mentioned that both agents are exiting the intersection, as in the ground truth, for a more complete explanation.", + "problem_score_avg": "9.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. However, it does not explicitly mention that surrounding agent #6 is on the same side of the intersection, which is a key detail in the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the positions and states of both agents and correctly deduces that their paths will not conflict.", + "problem_score_avg": "9.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct but slightly incomplete. It correctly identifies that the ego agent intends to complete its U-turn and has the right of way with a green arrow traffic light. It also correctly notes that surrounding agents #2, #3, and #4 are stationary and that surrounding agent #0 is decelerating. However, it fails to explicitly mention that the ego agent plans to exit the intersection, which is a key part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is fully consistent with its conclusions. It logically deduces that the ego agent has the right of way and that no action is needed in response to the surrounding agents, based on their positions and states. The conclusions drawn are faithful to the reasoning provided.", + "problem_score_avg": "9.5" + } + } + }, + "1074089cb5094c55": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it misinterprets the right of way. The ground truth explicitly states that surrounding agent #0 will yield to the ego agent because the ego agent is closer to the intersection center, but the AI suggests that surrounding agent #0 may have the right of way. This is a significant deviation from the correct scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful but flawed. While it correctly identifies the positions and movements of both agents, its conclusion about the right of way is inconsistent with the reasoning. The AI acknowledges that the ego agent is closer to the intersection center but incorrectly infers that surrounding agent #0 would have the right of way, which contradicts the given context.", + "problem_score_avg": "3.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that there is potential for interaction between the ego agent and surrounding agent #1 at the intersection. However, it fails to explicitly state that surrounding agent #1 will yield to the ego agent because the ego agent is closer to the intersection center, which is the key point in the ground truth answer. The AI's focus on the possibility of interaction and monitoring of surrounding agent #1 is valid but incomplete.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. The AI accurately describes the positions and speeds of both agents and correctly identifies the potential for interaction. However, the reasoning does not fully align with the conclusion that surrounding agent #1 will yield to the ego agent, which slightly detracts from the overall faithfulness.", + "problem_score_avg": "6.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct, as it accurately concludes that there will be no interaction between the ego agent and surrounding agent #200. However, it slightly deviates by introducing a hypothetical scenario where the pedestrian might cross the street, which is not supported by the ground truth or the context provided.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically analyzes the positions, speeds, and directions of both agents and correctly deduces that their paths are unlikely to intersect. The reasoning remains faithful to the context and supports the conclusion effectively.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the nuance that surrounding agent #3 will yield to the ego agent due to their positions relative to the intersection center. The AI correctly notes that surrounding agent #3 is stationary and does not obstruct the ego agent, but it does not explicitly state the yielding behavior as per the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains why the ego agent can continue without obstruction, based on the stationary status of surrounding agent #3 and the absence of immediate conflict. The conclusion aligns well with the provided reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth answer. The reasoning provided is accurate and consistent with the context given.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn in the AI's answer are consistent with its reasoning. The AI correctly identifies that surrounding agent #4 is stationary and the ego agent is moving at a constant speed, leading to no interaction. The reasoning is logically sound and faithful to the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it aligns with the ground truth. The AI accurately states that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is stationary and not moving. The reasoning provided by the AI is consistent with the scenario described in the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the context. The AI correctly identifies the positions and motion statuses of both the ego agent and surrounding agent #5, and concludes that there will be no interaction. The conclusion is logically derived from the given information and is consistent with the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. The reasoning that both agents are not on a collision course and that surrounding agent #6 is not moving is accurate.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly assesses the positions and movement statuses of both agents and logically concludes that no interaction will occur. The reasoning is faithful to the conclusions drawn.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because surrounding agent #7 is stationary and positioned behind the ego agent, and their paths do not intersect or conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically explains why there will be no interaction, citing the stationary nature of surrounding agent #7, its position relative to the ego agent, and the ego agent's constant speed and direction. The reasoning supports the conclusion without any contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, which aligns with the ground truth. Both state that surrounding agent #8 is stationary and positioned behind the ego agent, making interaction unlikely.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It accurately describes the positions, movement status, and distances of the agents, leading to the logical conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is fully correct as it accurately concludes that there will be no interaction between the ego agent and surrounding agent #9, matching the ground truth answer. The reasoning aligns with the facts that surrounding agent #9 is stationary and not on a collision course with the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is entirely faithful to the context provided. The conclusions drawn about the lack of interaction are consistent with the facts that surrounding agent #9 is not moving, is positioned to the right and ahead of the ego agent, and is far enough away to not affect the ego agent's path.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #10. The reasoning aligns with the ground truth, as surrounding agent #10 is not moving and is positioned behind the ego agent, making it unlikely to affect the ego agent's movement.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It accurately describes the position and motion status of surrounding agent #10 and correctly deduces that this will not impact the ego agent's trajectory or decisions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it fails to acknowledge that surrounding agent #11 is on the opposite side of the intersection and is approaching a crosswalk. The ground truth states that surrounding agent #11 will yield to the ego agent because the ego agent is closer to the intersection center. The AI incorrectly assumes that the surrounding agent #11 is stationary and will remain so, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, as it correctly identifies that surrounding agent #11 is stationary and that the ego agent can maintain its speed. However, it fails to address the critical detail that surrounding agent #11 is on the opposite side of the intersection and will yield, which is a significant oversight in its reasoning.", + "problem_score_avg": "4.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct, as it accurately states that there will be no interaction between the ego agent and surrounding agent #12, aligning perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent and logically sound. It correctly identifies the distance and motion status of surrounding agent #12, concluding that no conflict or interaction is expected, which matches its reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue towards the intersection at a constant speed. However, it fails to explicitly mention the interaction with surrounding agents #0, #1, and #3, who will yield to the ego agent. The AI also correctly notes the need for caution due to the crosswalk but does not fully align with the ground truth in terms of specific interactions.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is generally consistent with its conclusions. It correctly infers the ego agent's intention to maintain speed and proceed through the intersection. However, it could have been more specific about the interactions with surrounding agents, which would have made its reasoning more faithful to the context.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp10.json b/grades/direct/deepseek_grades_direct_4shot_exp10.json new file mode 100644 index 0000000..d8860ee --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp10.json @@ -0,0 +1,255 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth that surrounding agent #0 will continue to lead the ego agent. While the AI correctly notes that there will be no immediate interaction and that both agents will maintain their trajectories, it fails to emphasize that the ego agent is decelerating, which implies that the gap between the two agents will increase over time.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly interprets the speed difference, distance, and deceleration of the ego agent, leading to the conclusion of no immediate interaction. However, it could have better aligned its conclusion with the ground truth by explicitly mentioning the increasing gap due to the ego agent's deceleration.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that surrounding agent #2 will maintain its position ahead of the ego agent as both are moving in the same direction, with surrounding agent #2 at a constant speed and the ego agent decelerating. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately analyzes the speed and position of both agents, deducing that no interaction or conflict will occur due to the distance and speed differences, which is logically sound and faithful to the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the specific detail from the ground truth that the ego agent will maintain its lane and follow behind surrounding agent #0. The AI correctly identifies the deceleration and safe distance maintenance but does not explicitly mention lane maintenance or the specific role of surrounding agent #0.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It logically deduces that the ego agent will continue decelerating to maintain a safe distance from surrounding agents. However, it slightly oversteps by speculating that the ego agent may prepare to stop, which is not explicitly supported by the context.", + "problem_score_avg": "8.5" + } + } + }, + "111bf3969984058f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that both agents are facing a red traffic light, which implies they both need to stop. The AI correctly notes that both agents are on the same lane and that surrounding agent #0 is 10 meters behind, but it fails to acknowledge that surrounding agent #0 will yield to the ego agent due to the red light, which is the main interaction in this scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies the positions of the agents, the red traffic light, and the fact that both agents are expected to stop. However, the conclusion that there will be no interaction is not entirely faithful to the scenario, as the interaction is more about yielding rather than avoiding conflict.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #1 will proceed through the intersection due to its green arrow traffic light, while the ego agent must stop because of its red light. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains that the traffic light statuses will lead to surrounding agent #1 proceeding unimpeded while the ego agent is forced to stop, which is faithful to the scenario described.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly concludes that there will be no interaction between the ego agent and surrounding agent #3. The ground truth correctly states that surrounding agent #3 will yield to the ego agent when the light changes, implying an interaction. The AI's answer fails to account for the potential future interaction when the traffic light changes.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It correctly identifies that both agents are stopped at a red light and that the ego agent is required to stop. However, it fails to extend this reasoning to the potential interaction when the light changes, which slightly reduces its faithfulness.", + "problem_score_avg": "6.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. While it correctly identifies that surrounding agent #4 is not moving and is behind the ego agent, it misses the key point from the ground truth that surrounding agent #4 will yield to the ego agent due to the red traffic light and the ego agent being positioned ahead. The AI's conclusion that there will be no interaction is not aligned with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the positions and the red traffic light affecting both agents, and logically concludes that there will be no conflict or interaction based on these factors. However, it misses the nuanced interaction of yielding, which affects the faithfulness to the full context.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #5. The ground truth indicates that surrounding agent #5 will yield to the ego agent, implying some form of interaction. The AI fails to recognize the yielding behavior, which is a key aspect of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. The AI correctly identifies that surrounding agent #5 is stationary and behind the ego agent, and that the red traffic light affects both agents. However, it does not correctly infer the yielding behavior, which is a minor inconsistency given the context.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent plans to stop at the red traffic light and is approaching a crosswalk. However, it fails to mention the need to yield to surrounding agent #1, who has a green arrow and can proceed through the intersection. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly deduces the ego agent's need to stop at the red light and considers the crosswalk. However, it does not fully align with the context regarding yielding to surrounding agent #1, which slightly reduces the faithfulness score.", + "problem_score_avg": "7.0" + } + } + }, + "111c9efbf961c8be": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #0. The ground truth indicates that surrounding agent #0 will yield to the ego agent, which is a specific interaction. The AI fails to recognize this interaction, leading to a significant deviation from the correct answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. The AI correctly identifies that surrounding agent #0 is approaching a stop sign and is not moving, and that the ego agent is exiting the intersection. However, the AI's conclusion that there will be no interaction is not fully supported by the context, as it overlooks the yielding behavior implied by the stop sign. Despite this, the reasoning process itself is logically coherent.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2. However, it incorrectly assumes a 'green light' scenario, which is not mentioned in the context. The ground truth answer is more concise and avoids this assumption.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent, but it introduces an assumption about a 'green light' that is not supported by the context. This detracts from the faithfulness of the reasoning. The conclusion, however, aligns with the context provided.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue exiting the intersection and that there is no stop sign affecting its movement. However, it misses mentioning the specific interactions with surrounding agents #0 and #2, which are crucial for a complete understanding of the scenario.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It accurately concludes that the ego agent will proceed without being affected by a stop sign and correctly states that the agent is accelerating and exiting the intersection.", + "problem_score_avg": "9.0" + } + } + }, + "111d4383934339b7": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but slightly overcomplicates the explanation. The ground truth states that surrounding agent #0 will continue to lead the ego agent as they are moving in the same direction and at the same speed. The AI correctly identifies that both agents are moving at the same speed and in the same direction, but it unnecessarily emphasizes minimal interaction and potential conflict, which is not relevant given their speeds and paths.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly notes that both the ego agent and surrounding agent #0 are decelerating at the same speed and moving in the same direction, leading to minimal interaction. However, the reasoning could have been more concise and directly aligned with the simpler ground truth.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #1 will yield to the ego agent but fails to explicitly state that surrounding agent #1 will follow the ego agent, as they are on the same lane and heading in the same direction. The AI's conclusion about minimal interaction is partially correct but misses the specific dynamic of following.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions drawn. The AI correctly notes the speed difference and deceleration, which supports the idea that surrounding agent #1 will yield. However, the reasoning could have more explicitly connected these observations to the concept of following, which is implied but not directly stated.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #2 will pass the ego agent. While the AI correctly identifies that surrounding agent #2 is accelerating and heading towards the intersection, it incorrectly concludes that there will be no direct interaction, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely consistent with the information provided. It correctly analyzes the speeds, directions, and positions of both agents. However, the conclusion that there will be no direct interaction is not fully supported by the reasoning, which indicates a minor inconsistency.", + "problem_score_avg": "6.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer is partially correct but misses the key point from the ground truth that the ego agent and surrounding agent #4 are moving at a constant speed in the same direction. The AI correctly notes that there is no conflict but fails to emphasize the maintained positional relationship.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the provided context. It correctly identifies that surrounding agent #4 is moving at a constant speed and that the ego agent is decelerating. However, it does not fully align with the ground truth's emphasis on the maintained positional relationship.", + "problem_score_avg": "7.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests that surrounding agent #5 may need to yield, which contradicts the ground truth that surrounding agent #5 will pass the ego agent. The reasoning fails to accurately interpret the spatial and speed dynamics between the two agents.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context, but it misinterprets the outcome. While it correctly notes the distance and speeds, it incorrectly concludes a yield scenario instead of a passing scenario, which is not aligned with the context.", + "problem_score_avg": "4.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct and aligns well with the ground truth. It accurately describes the ego agent's intent to continue departing the intersection and correctly identifies the need to monitor surrounding traffic, particularly agents #0, #1, and #4. However, it slightly overemphasizes deceleration as the primary focus, while the ground truth suggests maintaining speed adjustments as necessary without specifying focus on deceleration.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically connects the ego agent's current state (departing the intersection, decelerating) with the surrounding traffic conditions to justify its next move. The only minor inconsistency is the emphasis on deceleration, which is not explicitly stated in the ground truth.", + "problem_score_avg": "9.0" + } + } + }, + "111e6160ada108c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer incorrectly claims that there will be no interaction between the ego agent and surrounding agent #0, while the ground truth clearly states that surrounding agent #0 will yield to the ego agent. However, the AI correctly identifies that the agents are traveling in opposite directions and that surrounding agent #0 is decelerating, which partially aligns with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly identifies the directions, distances, and speeds of the agents and concludes that their paths do not conflict. However, it fails to infer the yielding behavior, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, as the surrounding agent is stationary and they are on the same side of the intersection. However, the AI's mention of 'yielding' is unnecessary and slightly misleading since no yielding is required due to the lack of movement by surrounding agent #2.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusion. It correctly notes that surrounding agent #2 is stationary and that the ego agent is moving straight, leading to no conflict. However, the inclusion of 'yielding' as a potential action for surrounding agent #2 is not entirely faithful to the context, as no yielding is necessary given the scenario.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct, as it accurately identifies that there will be no interaction between the ego agent and surrounding agent #3 due to the surrounding agent being stationary and positioned behind the ego agent. However, it does not explicitly mention that they are on the same side of the intersection, which is part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly analyzes the positions and movements of the ego agent and surrounding agent #3, leading to the accurate conclusion that no interaction will occur.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #4, aligning with the ground truth answer. However, it unnecessarily introduces the concept of yielding, which is not mentioned in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is mostly consistent with its own logic. However, the mention of 'yielding' is inconsistent with the conclusion that no interaction will occur, as yielding implies some form of interaction or decision-making.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as the surrounding agent is not moving and is positioned behind the ego agent, which aligns with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusion. The AI correctly identifies that the surrounding agent is not moving and is behind the ego agent, leading to the conclusion that their paths do not conflict, which is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. The explanation about the surrounding agent being not moving and positioned behind the ego agent is accurate.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It correctly states that the surrounding agent is not moving and is positioned behind the ego agent, which logically leads to the conclusion that there will be no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. The reasoning that surrounding agent #7 is stationary and positioned behind the ego agent supports the conclusion of no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies that surrounding agent #7 is stationary and positioned behind the ego agent, which logically leads to the conclusion that there will be no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #8 will yield to the ego agent because it is at a stop sign and not moving. The AI correctly states that surrounding agent #8 is stationary and that the ego agent will proceed without altering its course, but it fails to explicitly acknowledge the yielding behavior, which is critical to understanding the interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI correctly observes that surrounding agent #8 is stationary and that the ego agent will not need to yield or alter its course. However, the reasoning does not explicitly address the yielding behavior, which limits its faithfulness to the full context of the ground truth answer.", + "problem_score_avg": "6.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it accurately describes the ego agent's intention to continue moving straight and exit the intersection at a constant speed of 7 m/s. However, it does not explicitly mention that the ego agent will not need to yield to surrounding agents, which is an important part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the ego agent's speed, the absence of stop signs affecting the ego agent, and the approach to a crosswalk, all of which support the conclusion that the ego agent will continue moving straight and exit the intersection.", + "problem_score_avg": "9.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp12.json b/grades/direct/deepseek_grades_direct_4shot_exp12.json new file mode 100644 index 0000000..c886e27 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp12.json @@ -0,0 +1,787 @@ +{ + "104c5051a2db5e34": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct in identifying that both agents are decelerating and approaching the intersection. However, it incorrectly concludes that there will be no direct interaction between the two agents. The ground truth states that the ego agent will yield to surrounding agent #0 because surrounding agent #0 is on the left and typically has the right-of-way. The AI misses this key point, leading to an incorrect conclusion.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the information provided, as it correctly describes the movements and positions of both agents. However, the conclusion that there will be no direct interaction between the agents is not fully supported by the reasoning, especially given the rules of right-of-way at intersections. The AI's conclusion about the need to yield to pedestrian traffic, while relevant, detracts from the main focus on the interaction between the two vehicles.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that the ego agent is on the right and should yield to the surrounding agent on the left, which is a common rule in many jurisdictions. The AI incorrectly suggests that vehicles on the right generally have the right of way, which contradicts the ground truth. However, the AI does correctly note that both agents are decelerating and may need to yield.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the information provided. The AI correctly identifies that both agents are decelerating and that there may be a need to yield. However, the conclusion that both agents are likely to yield to each other is not fully supported by the reasoning, as the AI does not clearly acknowledge the right-of-way rule applicable in this scenario.", + "problem_score_avg": "6.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The ground truth answer states that the ego agent will yield to surrounding agent #0 because the latter is on the left, which typically has the right-of-way. However, the AI's answer incorrectly claims that surrounding agent #0 will yield to the ego agent, which is directly contrary to the ground truth. This significant error warrants a low score.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion in that it identifies the potential conflict and the deceleration of both agents. However, its conclusion contradicts the logical expectation based on typical traffic rules (left-hand priority), which makes the reasoning inconsistent with real-world norms. Thus, the faithfulness score is low.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect with respect to the ground truth. The ground truth states that the ego agent will yield to surrounding agent #0 because the surrounding agent is on the left, which typically has the right-of-way. However, the AI suggests that surrounding agent #0 will yield to the ego agent, which is the opposite of the correct behavior.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the context provided, but it incorrectly interprets the priority between the ego agent and surrounding agent #0. The AI correctly identifies that both agents are decelerating and approaching the intersection, but it fails to correctly apply the right-of-way rules, leading to an incorrect conclusion.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the right-of-way rules at the intersection. The ego agent is on the right and should yield to the vehicle on the left (surrounding agent #0), as stated in the ground truth. The AI incorrectly suggests the ego agent will reach the intersection first and potentially stop, which contradicts the right-of-way dynamics.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat faithful to the provided context. It correctly considers factors like speed, deceleration, relative positioning, and the presence of the crosswalk. However, the conclusion drawn about the interaction is inconsistent with the reasoning, as it does not align with the right-of-way rules implied by the context.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses critical details. While the ego agent is indeed decelerating and approaching a crosswalk, the ground truth specifically mentions the agent's intention to yield to surrounding agent #0 at the intersection, which the AI failed to address. The AI focuses solely on the crosswalk and pedestrians, ignoring the surrounding vehicle and the interaction at the intersection.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, as it logically connects the ego agent's deceleration and the presence of a crosswalk to the likelihood of stopping or yielding. However, the reasoning does not account for the context of the intersection and surrounding agent #0, which limits its overall faithfulness to the full scenario.", + "problem_score_avg": "5.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it focuses on yielding to pedestrians at the crosswalk, while the ground truth indicates the ego agent is planning to yield to surrounding agent #0, a vehicle on the left side of the intersection. The AI missed the primary interaction with the other vehicle.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is somewhat faithful to the context provided. The AI correctly identifies that the ego agent is decelerating and approaching a crosswalk, but it incorrectly concludes that the deceleration is solely for yielding to pedestrians rather than the approaching vehicle.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent is likely to yield to surrounding agent #0, which aligns with the ground truth. However, it does not explicitly mention the ego agent's intention to continue towards the intersection and depart after yielding, which is a key part of the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately uses the context to deduce that the ego agent is decelerating and preparing to yield to surrounding agent #0, which supports the conclusion. The only minor inconsistency is the omission of the ego agent's intention to depart from the intersection, but the reasoning itself is faithful to the context.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses key details. It correctly identifies the ego agent's deceleration and intention to stop before the crosswalk. However, it fails to explicitly mention the ego agent's need to yield to surrounding agent #0, who is on the left side of the intersection and may have the right-of-way, which is a critical aspect of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the context provided. It correctly infers the ego agent's deceleration and potential stop at the crosswalk, which aligns with the details about the crosswalk and the ego agent's motion status. However, it does not explicitly connect this reasoning to yielding to surrounding agent #0, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is decelerating and preparing to proceed through the intersection while yielding to pedestrians. However, it fails to mention the specific intention to yield to surrounding agent #0, who may have the right-of-way, which is a key aspect of the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI answer is generally consistent with the provided context, as it correctly infers the ego agent's actions based on its deceleration and the presence of a crosswalk. However, it does not fully align with the context regarding the interaction with surrounding agent #0, which is a significant part of the scenario.", + "problem_score_avg": "6.5" + } + } + }, + "104c93c9c1af37fa": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but incomplete. While it correctly notes that both agents are facing a red light, it incorrectly concludes that there will be no interaction. The ground truth specifies that surrounding agent #0 will yield to the ego agent, which implies an interaction. The AI missed this key detail.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It logically concludes that the paths do not conflict and that surrounding agent #0 is likely to stop at the red light. However, it fails to extend this reasoning to acknowledge the yielding behavior as per the ground truth.", + "problem_score_avg": "6.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but lacks precision. While it correctly identifies that both agents are stopped by red lights and need to yield, it fails to clearly state that surrounding agent #0 will yield to the ego agent, as per the ground truth. The AI suggests mutual yielding, which is inconsistent with the specific directional yielding implied in the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is generally faithful to the context provided. It correctly identifies the red lights, proximity, and the need to yield to pedestrians. However, it misinterprets the yielding dynamic by suggesting mutual yielding rather than the specific yielding of surrounding agent #0 to the ego agent. The conclusions are consistent with the reasoning but not entirely accurate.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that both the ego agent and surrounding agent #0 are at a red light and both are approaching the intersection. The ground truth emphasizes that surrounding agent #0 will yield to the ego agent, which the AI does not explicitly state. The AI focuses on surrounding agent #0 waiting for the green light and clearing the crosswalk, which is not the primary interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the provided context. It correctly identifies that surrounding agent #0 will wait due to the red light and the crosswalk. However, it does not directly address the interaction between the ego agent and surrounding agent #0 in terms of yielding, which is crucial to the ground truth. The conclusions drawn are logically sound but incomplete based on the context.", + "problem_score_avg": "6.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent must yield to surrounding agent #0, whereas the ground truth indicates that surrounding agent #0 will yield to the ego agent. This is a significant discrepancy in the interpretation of the interaction based on the traffic light status and positioning.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent but flawed. It correctly identifies the traffic light status and positions of the agents but draws an incorrect conclusion about the yielding behavior. The reasoning does not align well with the expected interaction as described in the ground truth.", + "problem_score_avg": "3.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer deviates from the ground truth by focusing on potential risks like rear-end collisions and stopping distances, rather than emphasizing that surrounding agent #0 will yield to the ego agent. While it acknowledges the red light, it does not clearly conclude that yielding is the expected behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is consistent with the scenario details provided, such as the red light, proximity, and crosswalk considerations. However, the conclusion does not fully align with the reasoning, as it introduces unnecessary speculation about collision risks instead of focusing on yielding behavior.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that the ego agent is exiting the intersection, which means it is already past the point of potential interaction with surrounding agent #1. The AI focuses on the ego agent needing to yield, which is incorrect because the ego agent is already in the intersection and turning right. The ground truth correctly states that there will be no interaction due to their positions and traffic light statuses.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context, but it incorrectly applies the concept of yielding. The AI correctly identifies the traffic light statuses and positions of both agents but fails to accurately interpret the scenario due to a misunderstanding of the ego agent's movement and position in the intersection.", + "problem_score_avg": "6.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's prediction is mostly correct but slightly misinterprets the intended ground truth. The ground truth states that there will be no interaction because surrounding agent #1 is on the right of the intersection and has a green light, while the ego agent is exiting the intersection. The AI correctly identifies that the ego agent must yield, but it overstates the interaction by suggesting the ego agent needs to wait for surrounding agent #1 to clear the intersection, which is not necessary since the ego agent is already exiting.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the traffic light status, the positions, and the potential conflict due to the ego agent turning right. However, the conclusion slightly overestimates the interaction, which could have been more nuanced to align better with the ground truth.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #1 will yield to the ego agent, which contradicts the ground truth. The ground truth clearly states that surrounding agent #1 will not have an interaction with the ego agent as it is on the right of the intersection and has a green light, while the ego agent is exiting the intersection. The AI's prediction fails to accurately reflect the scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful but inconsistent. It correctly identifies that surrounding agent #1 has a green light and is approaching a crosswalk, but it incorrectly concludes that agent #1 will yield to the ego agent. This conclusion is not logically consistent with the green light status and the ego agent's position in the intersection. The reasoning does not align with the provided context.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's prediction is incorrect as it suggests a right turn conflict and yielding behavior, which contradicts the ground truth that there will be no interaction. The ego vehicle is exiting the intersection, and surrounding agent #1, with a green light, is not in a position to conflict with the ego agent.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning is partially faithful to the context but misinterprets the positions and dynamics. The AI incorrectly concludes a potential conflict and yielding behavior, which is inconsistent with the actual scenario where no interaction is expected due to the agents' positions and traffic light statuses.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly predicts that there will be no interaction between the ego agent and surrounding agent #1, which aligns with the ground truth. The AI emphasizes that surrounding agent #1 has a green light and the ego agent has a red light, which is the correct interpretation of the scenario.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the given scenario. It correctly analyzes the positions, speeds, and traffic light statuses of both agents and concludes that no interaction will occur. However, it slightly misstates the position of surrounding agent #1 as 'to the left and in front' instead of emphasizing its position on the right of the intersection, which is a minor inconsistency but does not affect the overall conclusion.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses a key detail. While it correctly notes that surrounding agent #3 is not moving and has a red light, it fails to consider the contextual nuance that surrounding agent #3 will yield to the ego agent because the ego agent is already exiting the intersection. The ground truth emphasizes this yielding behavior, which the AI overlooks.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the facts it provides. It correctly interprets that surrounding agent #3 is stationary and that the ego agent is moving, leading to the conclusion that there is no immediate interaction. However, it does not extend this reasoning to consider the yielding behavior, which would have made it more faithful to the ground truth.", + "problem_score_avg": "6.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it states that the ego agent is expected to yield to surrounding agent #3, whereas the ground truth indicates that surrounding agent #3 will yield to the ego agent. The ego agent is already exiting the intersection, which changes the dynamic of the interaction.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is partially faithful to the context. It correctly identifies the traffic light status and the position of surrounding agent #3. However, it fails to consider the fact that the ego agent is already in the process of exiting the intersection, which is a critical factor in determining the interaction.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #3 is not moving and has a red traffic light, which aligns with the ground truth. However, the ground truth emphasizes that the ego agent is already exiting the intersection, which the AI fails to explicitly address, leading to a lower score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI\u2019s reasoning is consistent with the provided context, as it accurately describes the positions and traffic light statuses of both agents. The conclusion that surrounding agent #3 will likely not interact with the ego agent is logically derived from the given information, though it misses the nuanced detail of the ego agent\u2019s exit from the intersection.", + "problem_score_avg": "7.5" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges that surrounding agent #3 will yield to the ego agent due to the red light, but it incorrectly states that there will be no interaction. The ground truth indicates that there is an implicit interaction where surrounding agent #3 yields, even if it is not actively moving. The AI also unnecessarily introduces caution about pedestrians, which is irrelevant to the specific interaction between the ego agent and surrounding agent #3.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent. It correctly identifies that both agents are on the same side of the intersection with red lights and that surrounding agent #3 is not moving. However, the conclusion that there will be no interaction is not fully aligned with the reasoning, as the ground truth implies a yielding interaction, even if passive.", + "problem_score_avg": "7.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that the ego agent is already exiting the intersection, which is why surrounding agent #3 will yield. The AI focuses too much on the red light and potential stopping, which is not the main reasoning in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically discusses the red light, the positions of the agents, and the potential for yielding, though it does not fully align with the specific context of the ego agent exiting the intersection.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #200 will not interact with the ego agent, which aligns with the ground truth. However, the AI incorrectly states that the pedestrian is stationary, while the context indicates the pedestrian is accelerating. This minor inaccuracy affects the correctness of the answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly deduces that the pedestrian's position and the ego agent's trajectory make interaction unlikely. The mention of the pedestrian being stationary, though incorrect, does not significantly undermine the overall logic of the argument.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it assumes a potential conflict between the ego agent and surrounding agent #200, which is a pedestrian. However, the ground truth explicitly states that surrounding agent #200 is departing from the intersection and not in the path of the ego agent, meaning they will not interact. The AI's suggestion of the ego agent stopping and the pedestrian taking precautions is unnecessary and misaligned with the scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning within the AI's answer is internally consistent with its assumptions about the scenario. It logically suggests actions for both the ego agent and the pedestrian based on its interpretation of their positions and movements. However, the initial assumption about the potential conflict is flawed, which affects the overall correctness but not the coherence of the reasoning itself.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that surrounding agent #200 will not interact with the ego agent because the pedestrian is departing from the intersection and is not in the path of the ego agent. The AI incorrectly concludes that there will be an interaction involving the ego agent yielding to the pedestrian, which is not supported by the context provided.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the context but ultimately leads to an incorrect conclusion. It correctly identifies the pedestrian's location and status but misinterprets the implications of these details, leading to an unfaithful conclusion about the interaction dynamics.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly concludes that surrounding agent #200 will interact with the ego agent, while the ground truth states that there will be no interaction as the pedestrian is not in the path of the ego agent. The AI misinterprets the spatial relationship and potential conflict, leading to an incorrect conclusion.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion but is based on incorrect assumptions about the pedestrian's path and the ego agent's trajectory. While the AI correctly notes that the ego agent must stop due to the red light, it inaccurately assumes a potential conflict with the pedestrian.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly assumes that the pedestrial will interact with the ego agent, while the ground truth explicitly states that the pedestrian is not in the path of the ego agent and will not have an interaction. The AI's conclusion contradicts the ground truth.", + "Faithfulness score": "3", + "Faithfulness explanation": "While the AI's reasoning is somewhat consistent with its conclusion about the ego agent needing to stop or slow down for the pedestrian, it fails to accurately reflect the context, particularly the pedestrian's position and movement status. The reasoning does not align with the fact that the pedestrian is not in the ego agent's path.", + "problem_score_avg": "2.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI acknowledges that the ego agent needs to stop due to the red traffic light and the crosswalk ahead. However, it fails to explicitly mention the ego agent's intention to complete the right turn and exit the intersection, which is a key aspect of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies the need to stop due to the red light and the crosswalk, and it aligns with the context provided. However, it does not fully capture the ego agent's complete plan as described in the ground truth.", + "problem_score_avg": "7.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth. It correctly identifies the need to stop due to the red light and yield to the pedestrian. However, it incorrectly assumes the pedestrian is a significant factor in the immediate future, as the pedestrian is 23 meters away and has no immediate impact on the ego agent's turn. The ground truth emphasizes completing the turn and exiting the intersection, which the AI does not explicitly address.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the context provided. The AI correctly identifies the red light and the presence of a pedestrian. However, it overemphasizes the pedestrian's immediate impact, which is not supported by the context. The AI's conclusion about yielding to the pedestrian and proceeding cautiously is logically consistent but not fully aligned with the context's emphasis on completing the turn and exiting the intersection.", + "problem_score_avg": "6.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks specific details about yielding to the crosswalk and the surrounding agents' behavior. It correctly identifies that the ego agent will stop due to the red light but does not explicitly mention the intent to complete the right turn after yielding.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It correctly interprets the red traffic light and the presence of a crosswalk as reasons for the ego agent to stop. However, it slightly misses the nuance of the ego agent's intent to complete the turn after yielding.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer is largely correct as it accurately describes the ego agent's need to stop due to the red light and yield to pedestrians and other vehicles. However, it slightly deviates from the ground truth by overemphasizing monitoring surrounding vehicles, particularly agent #1, which has a green light and is on a different path, and thus does not require significant interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly identifies the need to stop and yield to pedestrians and other vehicles. However, the emphasis on monitoring agent #1, which is not directly relevant, slightly detracts from the overall faithfulness of the reasoning.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent must stop due to the red traffic light and navigate the crosswalk. However, it does not explicitly state that the ego agent intends to complete the right turn after yielding, which is a key part of the ground truth answer. The AI also mentions considerations that are not directly relevant to the immediate plan, such as the actions of surrounding agents, which detracts from the focus on the ego agent's specific plan.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions, as it correctly identifies the need to stop at the red light and consider the crosswalk. However, it deviates slightly by incorporating unnecessary details about surrounding agents that do not directly impact the ego agent's immediate plan, which reduces the clarity and faithfulness of the reasoning to the specific question asked.", + "problem_score_avg": "6.5" + } + } + }, + "104d1850d48356f2": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #0, aligning with the ground truth answer. The reasoning provided by the AI is accurate, as it correctly notes that surrounding agent #0 is not moving and is positioned in a way that does not conflict with the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusion. The AI accurately describes the positions and movements (or lack thereof) of both agents and logically concludes that their paths do not conflict. The reasoning is faithful to the provided context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth, which is that there will be no interaction at all between the ego agent and surrounding agent #0. The AI suggests a 'minimal interaction' and a 'yielding maneuver,' which is unnecessary and incorrect given that the surrounding agent is stationary and not in conflict with the ego agent's path.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is largely consistent with the provided context. The AI correctly identifies the different paths and the stationary state of surrounding agent #0. However, it incorrectly concludes that a yielding maneuver is necessary, which is not supported by the context. The reasoning is faithful to the data but leads to an incorrect conclusion.", + "problem_score_avg": "7.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #0, aligning perfectly with the ground truth answer. The reasoning provided by the AI supports this conclusion, emphasizing the stationary position of surrounding agent #0 and the deceleration of the ego agent, which eliminates any potential conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the context provided. It correctly interprets the positions, directions, and motion statuses of both the ego agent and surrounding agent #0, drawing a logical conclusion that no interaction is anticipated. The reasoning is consistent and directly supports the conclusion stated in the answer.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but slightly overcomplicates the interaction. The ground truth emphasizes that there is no interaction due to the stationary nature and positioning of surrounding agent #0. The AI correctly identifies these points but adds unnecessary details about the ego agent's need to plan its path, which is not directly relevant to the minimal interaction scenario.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the positions and motions of both agents and logically concludes that the interaction is minimal due to the stationary state of surrounding agent #0. The additional details, while not strictly necessary, do not contradict the main conclusion.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct and aligns perfectly with the ground truth answer. It accurately states that there will be no interaction between the ego agent and surrounding agent #0, as the latter is not moving and is positioned in a way that does not conflict with the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is entirely consistent with the conclusions drawn. The AI correctly analyzes the positions, motions, and intersection dynamics of the agents, and its conclusion that there will be no interaction is fully supported by its reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. Both the AI and the ground truth agree that agent #2 is not moving and does not conflict with the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. The AI correctly identifies the positions and statuses of both agents and logically concludes that there will be no interaction, which is faithful to the provided context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #2, which aligns perfectly with the ground truth answer. Both the conclusion and the reasoning are accurate based on the provided context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusions drawn. The AI correctly identifies the statuses and positions of both the ego agent and surrounding agent #2, and logically concludes that there will be no interaction. The reasoning is faithful to the context provided.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct as it accurately identifies that there will be no interaction between the ego agent and surrounding agent #2. This is consistent with the ground truth, which states that surrounding agent #2 is not moving and does not conflict with the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the provided context. It correctly interprets the positions and statuses of the ego agent and surrounding agent #2, and draws a logical conclusion that there is no interaction or conflict between them. The reasoning aligns perfectly with the conclusion.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #2, as surrounding agent #2 is not moving and does not conflict with the ego agent's path. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly analyzes the positions, directions, and statuses of both agents and concludes that no interaction will occur. However, it adds a minor note about situational awareness, which, while reasonable, is not explicitly required by the ground truth answer.", + "problem_score_avg": "9.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, matching the ground truth. The reasoning aligns with the given context, where agent #2 is stationary and positioned in a way that does not conflict with the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The analysis of the positions, motions, and directions of both agents supports the conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is planning to exit the intersection, which aligns with the ground truth. However, it misses the additional details about the speed bump ahead and the presence of non-moving surrounding agents, which are relevant to the ego agent's immediate plan.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusion. It correctly identifies the ego agent's current state (in the intersection, moving straight, and decelerating) and deduces that it is exiting the intersection. However, it does not address the speed bump or the surrounding agents, which could have provided a more complete reasoning.", + "problem_score_avg": "7.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct. It accurately identifies that the ego agent is exiting the intersection, decelerating due to the speed bump, and planning to continue straight. However, it does not explicitly mention that the ego agent does not need to respond to the surrounding agents, which is a key part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is fully consistent with the conclusions drawn. The AI correctly interprets the context and provides a logical explanation for the ego agent's behavior, including the focus on the speed bump and the intent to continue straight.", + "problem_score_avg": "9.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is decelerating and exiting the intersection, and it acknowledges the presence of the speed bump. However, it inaccurately concludes that the ego agent will come to a stop or slow down significantly, which is not explicitly stated in the ground truth. The ground truth only mentions that the ego agent will continue exiting the intersection and encounter the speed bump, without specifying that it will stop or slow down significantly.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions. It correctly identifies the deceleration and the presence of the speed bump, and it logically infers that the ego agent will slow down or stop. However, the inference about stopping is an overstatement and not fully supported by the context, which slightly reduces the faithfulness of the reasoning.", + "problem_score_avg": "7.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct and aligns with the ground truth. It accurately states that the ego agent plans to continue exiting the intersection while going straight and will encounter a speed bump ahead. The reasoning also correctly notes that surrounding agents are not moving and do not pose a conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn in the AI answer are consistent with its reasoning. The AI correctly interprets the context and logically concludes the ego agent's next action, which is to continue exiting the intersection and navigate the speed bump without needing to respond to the stationary surrounding agents.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is exiting the intersection, decelerating, and preparing to encounter a speed bump. However, it incorrectly states that the ego agent is preparing to exit to the right, which is not supported by the context. The ground truth does not mention any specific direction for exiting other than continuing straight.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the context, as it correctly identifies the ego agent's deceleration and the presence of the speed bump. However, the conclusion about the ego agent exiting to the right is inconsistent with the context, which only mentions that the ego agent is going straight and exiting the intersection.", + "problem_score_avg": "6.5" + } + } + }, + "104e039643810a0a": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #0 because they are departing the intersection in opposite directions. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It accurately describes the positions, directions, and motions of both agents, leading to the conclusion that their paths do not conflict and no interaction is expected.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #0, which aligns with the ground truth answer. Both the AI and the ground truth agree that the agents are moving in opposite directions and are not on a collision course.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly faithful but contains a minor inconsistency. It incorrectly states that the ego agent is 'entering the intersection' when the context clearly states that the ego agent is 'exiting the intersection.' Despite this error, the conclusion that there will be no interaction is still consistent with the reasoning.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #0 because they are departing from the intersection in opposite directions, which aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies that the agents are departing in opposite directions, which logically leads to the conclusion of no interaction. The reasoning is faithful to the provided context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests that surrounding agent #0 will need to yield to the ego agent, which contradicts the ground truth. The ground truth clearly states that there will be no interaction between the two agents as they are departing from the intersection in opposite directions. The AI's reasoning is not aligned with the actual scenario.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is inconsistent and contradictory. While it correctly notes that surrounding agent #0 is departing from the intersection and moving in the opposite direction, it incorrectly concludes that surrounding agent #0 must yield to the ego agent. This inconsistency shows a lack of faithfulness to the provided context and the logical implications of the scenario.", + "problem_score_avg": "2.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent should yield the right of way to surrounding agent #0, which contradicts the ground truth that there will be no interaction between them. The correct analysis should have emphasized that they are departing in opposite directions, minimizing any interaction.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is inconsistent with the conclusions drawn. While it correctly identifies the positions and directions of the agents, it incorrectly concludes that there will be a significant interaction, which is not supported by the context. The reasoning does not align with the minimal interaction implied by their divergent paths.", + "problem_score_avg": "2.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent and surrounding agent #1 will not have a direct interaction due to their opposite directions and the fact that surrounding agent #1 is departing the intersection. However, the AI's mention of 'precedence' and 'yielding' is somewhat misleading since there is no conflict to resolve, which slightly detracts from the correctness.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions, as the AI correctly states that the paths do not conflict. However, the introduction of unnecessary concepts like 'precedence' and 'yielding' creates a minor inconsistency in the reasoning, as these terms imply a potential conflict that does not exist.", + "problem_score_avg": "7.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's conclusion that the ego agent needs to yield to surrounding agent #1 is incorrect. The ground truth clearly states that surrounding agent #1 will have no interaction with the ego agent as they are departing from the intersection in opposite directions. The AI incorrectly implies a potential conflict where none exists.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the provided context. It correctly identifies the positions and directions of both agents but incorrectly concludes that there is a need for the ego agent to yield. The reasoning does not fully align with the conclusion drawn, as the context does not support the idea of a conflict or need for yielding.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it contradicts the ground truth. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #1 as they are departing from the intersection in opposite directions. The AI incorrectly asserts that surrounding agent #1 will yield to the ego agent, which is not supported by the context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the context but ultimately flawed. While the AI correctly identifies the directions and speeds of both agents, it incorrectly interprets the implications of the crossing trajectories and crosswalk proximity, leading to an unfounded conclusion about yielding behavior.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests an interaction between the ego agent and surrounding agent #1, while the ground truth explicitly states there will be no interaction as they are departing in opposite directions. The AI's conclusion about yielding and adjusting speeds is not supported by the context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning provided by the AI is partially consistent with the given context, but it misinterprets the situation by assuming a need for interaction. While the details about positions, speeds, and directions are accurate, the conclusion about an interaction is not justified by the data.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly focuses on the crosswalk and potential yielding by surrounding agent #1, which is not relevant to the interaction between the ego agent and surrounding agent #1. The ground truth answer correctly states that there will be no interaction because they are departing in opposite directions. The AI's answer misinterprets the primary concern and fails to align with the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the details provided, but it deviates by introducing unnecessary focus on the crosswalk and yielding behavior, which is not part of the interaction. The conclusion does not fully align with the reasoning, as it introduces a secondary concern that is irrelevant to the primary interaction.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction involving yielding between the ego agent and surrounding agent #2. The ground truth clearly states that there will be no interaction as they are on opposite sides of the intersection with no traffic controls affecting their movement. The AI's assumption of a yielding scenario is not supported by the context.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially consistent with the information provided but misinterprets the spatial and directional relationships. While it correctly identifies the speeds and positions of the agents, it incorrectly concludes a potential conflict based on these details, which is inconsistent with the context that indicates no interaction.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests that the ego agent will need to yield to surrounding agent #2, which is incorrect according to the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #2 as they are on opposite sides of the intersection and there is no indication of traffic controls affecting their movement.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the context provided. It correctly notes the motion status of both the ego agent and surrounding agent #2, as well as the proximity to crosswalks. However, it incorrectly concludes that there will be a need to yield, which is not supported by the context. The conclusion about a potential conflict is unfounded given the clear separation of the agents.", + "problem_score_avg": "3.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it assumes a scenario where surrounding agent #2 should yield to the ego agent due to a green light, which is not mentioned in the context. The ground truth clearly states that there is no interaction expected between the ego agent and surrounding agent #2 as they are on opposite sides of the intersection with no traffic controls affecting their movement.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusion about a yielding situation, but it introduces assumptions (e.g., green light) that are not supported by the context. This makes the reasoning unfaithful to the actual information provided.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests that surrounding agent #2 will yield to the ego agent due to a crosswalk, which is not supported by the context. The ground truth states that there will be no interaction between the two agents as they are on opposite sides of the intersection and there are no traffic controls affecting their movement.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, as it considers the crosswalk and the positions of the agents. However, the conclusion about yielding is unfounded and not aligned with the context, which indicates no interaction is expected.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer suggests a potential interaction between the ego agent and surrounding agent #2 at the crosswalk, which is incorrect according to the ground truth. The ground truth clearly states that there will be no interaction as they are on opposite sides of the intersection and there are no traffic controls affecting their movement. The AI's focus on the crosswalk and potential yielding is misplaced in this context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context, as it correctly identifies the positions and motions of both agents. However, the conclusion about potential interaction at the crosswalk deviates from the logical implications of the context, where no interaction is expected. The reasoning does not fully align with the lack of conflict indicated by the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth answer. The reasoning provided by the AI, including the stationary status of surrounding agent #4 and the ego agent's movement out of the intersection, supports this conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly identifies the positions and movements (or lack thereof) of both the ego agent and surrounding agent #4, leading to the conclusion that no interaction will occur. The explanation is logically sound and faithful to the provided context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will need to yield to surrounding agent #4, which contradicts the ground truth stating that there will be no interaction because surrounding agent #4 is not moving and the ego agent is departing. The AI misinterprets the scenario.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning is partially faithful but inconsistent with the ground truth. While the AI correctly identifies that the ego agent is decelerating and surrounding agent #4 is stationary, it incorrectly concludes that the ego agent must yield. The conclusion does not align with the provided context, leading to a lack of faithfulness in the reasoning.", + "problem_score_avg": "3.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #4, which aligns perfectly with the ground truth answer. Both emphasize that surrounding agent #4 is not moving and the ego agent is departing, leading to no conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the status and positions of both agents and logically deduces that no interaction will occur, which is faithful to the provided context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly predicts an interaction between the ego agent and surrounding agent #4, contrary to the ground truth, which states there will be no interaction. The AI incorrectly assumes potential delays or risks due to surrounding agent #4, despite it being stationary and not in the ego agent's path.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the details provided but fails to correctly interpret the stationary status and position of surrounding agent #4 in relation to the ego agent. The conclusion of potential interaction is inconsistent with the reasoning that surrounding agent #4 is not moving and is on the left of the intersection.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly predicts that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth. The AI accurately considers the stationary state of surrounding agent #4 and the ego agent's deceleration and exit from the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The analysis of the positions, statuses, and directions of both agents logically supports the prediction that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct as it accurately states that surrounding agent #5 will have no interaction with the ego agent due to its stationary position and its location on the left of the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It correctly identifies that surrounding agent #5 is not moving and is positioned behind the ego agent, which logically leads to the conclusion that there will be no interaction between the two agents.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. The explanation provided by the AI is accurate in stating that surrounding agent #5 is stationary and behind the ego agent, which supports the conclusion of no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the positions and motion statuses of both the ego agent and surrounding agent #5, and logically concludes that no interaction is anticipated, which is faithful to the information provided in the context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there is no interaction expected between the ego agent and surrounding agent #5. This aligns perfectly with the ground truth, which also asserts that surrounding agent #5 will have no interaction with the ego agent because it is not moving and is on the left of the intersection while the ego agent is departing.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. The AI correctly identifies that surrounding agent #5 is not moving and is not a threat to the ego agent's movement. However, the mention of the crosswalk and the ego agent's priority to exit the intersection, while not incorrect, is slightly extraneous to the main point about the lack of interaction.", + "problem_score_avg": "9.5" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #5 will yield to the ego agent, which contradicts the ground truth that there will be no interaction between them. The AI also incorrectly implies a potential conflict or need for yielding, which is not supported by the context provided.", + "Faithfulness score": "3", + "Faithfulness explanation": "The reasoning in the AI's answer is inconsistent with the context. While the AI correctly notes that surrounding agent #5 is not moving, it incorrectly infers a need for yielding based on the ego agent's turn and the crosswalk, which is not relevant to the situation described. The reasoning does not align with the lack of interaction as stated in the ground truth.", + "problem_score_avg": "2.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but includes unnecessary details and assumptions. The ground truth specifies that there will be no interaction, which the AI correctly concludes. However, the AI incorrectly assumes that the ego agent and surrounding agent #5 will interact at the crosswalk, which contradicts the ground truth assertion that there will be no interaction. Additionally, the AI's reasoning about yielding and stopping at the crosswalk is irrelevant since the surrounding agent is not moving and the ego agent is departing, making an interaction unlikely.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the context, but it introduces assumptions that are not supported by the provided information. While it correctly notes that surrounding agent #5 is not moving and is on the left of the intersection, it incorrectly extrapolates the scenario to involve potential interaction at the crosswalk. The conclusions are not fully consistent with the reasoning, as the AI overcomplicates the scenario by introducing unnecessary details about crosswalk interactions.", + "problem_score_avg": "5.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6. This aligns with the ground truth, which states that surrounding agent #6 is not moving and is on the left of the intersection while the ego agent is departing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the context provided. The AI correctly notes that surrounding agent #6 is stationary and positioned on the left of the intersection, which supports the conclusion that there will be no interaction with the ego agent.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #6 because surrounding agent #6 is not moving and is on the left of the intersection while the ego agent is departing. The AI incorrectly suggests that the ego agent will yield to surrounding agent #6, which is not supported by the context.", + "Faithfulness score": "3", + "Faithfulness explanation": "The reasoning provided by the AI is not consistent with the context. While the AI correctly identifies that the ego agent is decelerating and exiting the intersection, and that surrounding agent #6 is not moving, it incorrectly concludes that the ego agent should yield. This conclusion is not supported by the context, as there is no indication that surrounding agent #6 has the right of way or that the ego agent needs to yield.", + "problem_score_avg": "2.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. However, the AI's explanation includes unnecessary details about the crosswalk and the ego agent's priorities, which are not relevant to the core reasoning of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, as it correctly notes that surrounding agent #6 is not moving and the ego agent is departing. However, the inclusion of irrelevant details about the crosswalk slightly detracts from the clarity and focus of the reasoning.", + "problem_score_avg": "7.5" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it claims the ego agent will yield to surrounding agent #6, which contradicts the ground truth stating there will be no interaction. Surrounding agent #6 is not moving and is on the left of the intersection, while the ego agent is departing, meaning there is no need for yielding.", + "Faithfulness score": "3", + "Faithfulness explanation": "The reasoning is partially faithful but flawed. The AI correctly notes that surrounding agent #6 is approaching a crosswalk, but it incorrectly concludes that the ego agent must yield. The ego agent is departing the intersection and decelerating, and since surrounding agent #6 is stationary, there is no need for yielding. The conclusion does not align with the reasoning.", + "problem_score_avg": "2.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. However, the AI's explanation includes unnecessary details about the crosswalk and the left turn, which do not directly contribute to the main point of no interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is generally consistent with its conclusion, but it introduces extraneous information (e.g., the crosswalk and the left turn) that slightly detracts from the clarity of the main point. The conclusion that there is no interaction is faithful to the reasoning, but the reasoning itself could be more focused.", + "problem_score_avg": "7.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that surrounding agent #7 will have no interaction with the ego agent because it is not moving and is positioned 23 meters on the left and 11 meters in front of the ego agent. This aligns perfectly with the ground truth, which also emphasizes that surrounding agent #7 is not moving and is on the left of the intersection while the ego agent is departing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the conclusions drawn. The AI correctly identifies that there is no path conflict between the ego agent and surrounding agent #7 due to the latter's stationary position and the ego agent's deceleration and exit from the intersection. The reasoning logically supports the conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #7, as surrounding agent #7 is not moving and is on the left of the intersection while the ego agent is departing. The AI incorrectly suggests that the ego agent will yield to surrounding agent #7, which is not supported by the context.", + "Faithfulness score": "3", + "Faithfulness explanation": "The reasoning in the AI's answer is not consistent with the provided context. The AI suggests that the ego agent will need to yield to surrounding agent #7, but the context indicates that surrounding agent #7 is not moving and will not interact with the ego agent. The AI's conclusions do not align with the facts presented in the context.", + "problem_score_avg": "2.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. It accurately identifies that surrounding agent #7 is not moving and is on the left of the intersection, while the ego agent is departing, making interaction unnecessary.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows the provided context. The conclusion that no interaction will occur is directly derived from the facts that surrounding agent #7 is stationary and positioned in a non-conflicting manner relative to the ego agent's path.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct but contains significant inaccuracies. It incorrectly states that surrounding agent #7 is approaching a crosswalk and moving, whereas the ground truth states that agent #7 is not moving. The AI also incorrectly describes their directions and positions, suggesting they are in adjacent lanes, which is not supported by the context. The core conclusion that they will not interact is correct but for the wrong reasons.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning in the AI's answer is inconsistent with the provided context. It misrepresents the motion status and position of surrounding agent #7, leading to flawed conclusions. While the final conclusion aligns with the ground truth, the reasoning is not faithful to the details provided in the context.", + "problem_score_avg": "3.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #7 will have no interaction with the ego agent due to its stationary state and position. However, it over-complicates the explanation by mentioning 'yielding behavior' and 'minimal interaction', which are not necessary given the clear ground truth that there is no interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusions, but it introduces unnecessary elements like 'yielding behavior' and 'minimal interaction' that do not align with the straightforward nature of the ground truth. The additional details detract from the clarity and consistency of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that surrounding agent #8 will have no interaction with the ego agent because the former is not moving and is positioned 23 meters on the left and 14 meters in front of the ego agent. This aligns perfectly with the ground truth answer that there will be no interaction as surrounding agent #8 is stationary and the ego agent is departing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful. It correctly uses the provided context to conclude that the paths of the ego agent and surrounding agent #8 do not conflict due to their positions and motion status. The conclusions drawn are entirely supported by the reasoning provided.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth. Both indicate that there will be no interaction between the ego agent and surrounding agent #8 due to the stationary nature of agent #8 and the ego agent's departure from the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the provided context. It correctly notes that the ego agent is exiting the intersection and that surrounding agent #8 is stationary and on the left, supporting the conclusion of no interaction.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns with the ground truth. It correctly identifies that surrounding agent #8 is not moving, is on the left of the intersection, and is not in a position to interact with the ego agent, which is departing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It accurately uses the information about the positions, motion status, and orientations of both agents to conclude that no interaction is expected.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it misinterprets the scenario. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #8 because the latter is stationary and the ego agent is departing. The AI incorrectly suggests that the ego agent should yield or consider surrounding agent #8's position, which is not necessary.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is somewhat consistent with the provided context, as the AI correctly identifies the positions and motion statuses of the ego agent and surrounding agent #8. However, it incorrectly concludes that there is a potential interaction, which contradicts the ground truth. The reasoning is logical but leads to an incorrect conclusion.", + "problem_score_avg": "5.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct but slightly inaccurate. It correctly states that there will be no interaction due to surrounding agent #8 being stationary and positioned on the left. However, it incorrectly mentions that agent #8 is on the same side of the intersection as the ego agent. The ground truth specifies that surrounding agent #8 is on the left of the intersection while the ego agent is departing.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It logically deduces that no interaction is expected because surrounding agent #8 is stationary and not in a conflicting position. However, the minor inaccuracy about the position of agent #8 slightly reduces the faithfulness score.", + "problem_score_avg": "9.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns with the ground truth. It accurately states that surrounding agent #9 will have no interaction with the ego agent, as it is stationary and positioned on the left of the intersection while the ego agent is departing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains that surrounding agent #9 is stationary and does not obstruct the ego agent's path, supporting the conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly predicts minimal to no interaction between the ego agent and surrounding agent #9, which is consistent with the ground truth answer. The reasoning regarding distance, direction, and speed supports the conclusion of no interaction.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. However, the AI mentions that both are heading in the same general leftward direction, which is slightly inaccurate as the ego agent is turning left and surrounding agent #9 is heading left of the ego agent, indicating different directions. Despite this minor inaccuracy, the overall reasoning supports the conclusion well.", + "problem_score_avg": "9.5" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, as the latter is not moving and the ego agent is departing the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly faithful to the provided context. However, it initially suggests that the ego agent might yield to surrounding agent #9, which is inconsistent with the conclusion that there will be no interaction. This minor inconsistency slightly reduces the faithfulness score.", + "problem_score_avg": "9.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it predicts an interaction between the ego agent and surrounding agent #9, whereas the ground truth clearly states that there will be no interaction due to the stationary state of surrounding agent #9 and the ego agent's departure from the intersection.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially consistent but flawed. It correctly identifies the proximity to the crosswalk and the need to yield to pedestrians, but incorrectly assumes an interaction between the ego agent and surrounding agent #9, which is not supported by the context provided.", + "problem_score_avg": "3.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly concluded that there would be no interaction between the ego agent and surrounding agent #9, aligning with the ground truth. However, the AI's reasoning was slightly off, as it incorrectly assumed that agent #9 was near a crosswalk, which was not explicitly stated in the context. This minor inaccuracy affects the overall correctness.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning was mostly consistent with the context, but it introduced an assumption about agent #9's proximity to a crosswalk, which was not supported by the provided information. This slightly detracts from the faithfulness of the reasoning, as the conclusions drew from an inaccurate premise.", + "problem_score_avg": "7.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth. It correctly states that there will be no interaction between the ego agent and surrounding agent #10, as the latter is stationary and positioned to the left of the intersection while the ego agent is departing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It accurately mentions that the paths of the ego agent and surrounding agent #10 do not conflict, and the stationary status of surrounding agent #10 means it poses no immediate risk to the ego agent.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. Both the ego agent and surrounding agent #10 are in positions and states that do not suggest any potential conflict or interaction, as the ego agent is departing the intersection and surrounding agent #10 is stationary and on the left side.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. The AI correctly uses the context provided to logically deduce that no interaction is anticipated, aligning with the ground truth answer.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct as it accurately states that there is no interaction anticipated between the ego agent and surrounding agent #10, aligning perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies that surrounding agent #10 is stationary and does not impact the ego agent's movement, which is in line with the provided context.", + "problem_score_avg": "10.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10, which aligns perfectly with the ground truth answer. Both answers highlight the stationary nature of surrounding agent #10 and the ego agent's departure from the intersection as reasons for no interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly notes the stationary positions of both agents and the lack of conflict. However, the mention of the ego agent needing to come to a complete stop at the crosswalk, while relevant to the scenario, is not directly tied to the interaction with surrounding agent #10, which slightly detracts from the faithful alignment of reasoning and conclusion.", + "problem_score_avg": "9.0" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately identifies that surrounding agent #10 will have no interaction with the ego agent due to its stationary status and position relative to the ego agent and the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the provided context. The AI correctly interprets the scenario, considering the distance, motion status, and positions of both the ego agent and surrounding agent #10, and draws a consistent and logical conclusion based on this information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies the ego agent's intention to continue exiting the intersection and decelerate as it approaches the crosswalk. However, it misses the specific detail about the ego agent intending to complete its left turn, which is a key part of the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It accurately reflects the ego agent's deceleration and approach to the crosswalk but does not explicitly mention the left turn, which is a minor omission.", + "problem_score_avg": "8.5" + }, + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent is decelerating and turning left while approaching a crosswalk. However, it does not explicitly mention the ego agent's intention to exit the intersection, which is a key part of the ground truth answer. The focus on yielding to pedestrians is accurate but incomplete.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It logically concludes that the ego agent is preparing to yield to pedestrians based on the deceleration and the proximity to the crosswalk. The reasoning aligns well with the context, making it faithful.", + "problem_score_avg": "9.0" + }, + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly focuses on yielding to surrounding agent #2, which is not mentioned in the ground truth. The ground truth emphasizes the ego agent's intention to complete its left turn, exit the intersection, and potentially yield to pedestrians at the crosswalk. The AI's answer misinterprets the primary intent of the ego agent.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful but inconsistent. While it correctly identifies the ego agent's deceleration and turning direction, it misdirects focus to surrounding agent #2, which is not the main concern. The reasoning does not align with the ground truth's emphasis on the crosswalk and potential pedestrian interaction.", + "problem_score_avg": "4.0" + }, + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer captures the ego agent's intention to exit the intersection and the deceleration due to the crosswalk. However, it introduces unnecessary and speculative details about 'bug-loop checks' and 'priority consideration,' which are not supported by the context or ground truth. The AI also overcomplicates the scenario by discussing interactions with surrounding agents in excessive detail, which detracts from the simplicity of the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the context, but it strays from the core focus of the question by adding irrelevant details and speculative scenarios. While it correctly identifies the ego agent's deceleration and intention to exit the intersection, the conclusions about 'bug-loop checks' and detailed priority considerations are not grounded in the provided context.", + "problem_score_avg": "6.5" + }, + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is decelerating and turning left to exit the intersection, which aligns with the ground truth. However, it does not explicitly mention the agent's intent to yield to pedestrians, which is a key aspect of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context, focusing on the ego agent's deceleration and left turn. It logically concludes that the agent is preparing to exit the intersection safely, which is faithful to the given information.", + "problem_score_avg": "8.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp8.json b/grades/direct/deepseek_grades_direct_4shot_exp8.json new file mode 100644 index 0000000..7d85213 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp8.json @@ -0,0 +1,571 @@ +{ + "10658c943a882fd2": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #0, which aligns perfectly with the ground truth answer. It accurately notes that surrounding agent #0 is not moving and is positioned 22 meters in front of the ego agent, and it correctly concludes that there will be no conflict between their paths given the ego agent's deceleration and direction of travel.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. It logically explains why no interaction is anticipated by referencing the stationary status of surrounding agent #0, the ego agent's deceleration, and their spatial separation. The conclusions are well-supported by the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct as it aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2, citing the fact that they are not moving and not in the path of the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful and consistent. It correctly identifies the positions, directions, and motion statuses of both agents and logically concludes that no interaction is expected. The reasoning supports the conclusion perfectly.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as both are stationary and not in the ego agent's path. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It accurately describes the positions and states of both the ego agent and surrounding agent #3, and correctly deduces that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, aligning perfectly with the ground truth. Both answers agree that the agents are not moving and are not in the path of the ego agent, leading to no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It accurately describes the positions and states of the ego agent and surrounding agent #4, and logically concludes that their paths do not conflict, which supports the conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as agent #5 is stationary and not in the ego agent's path, which matches the provided context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically sound. It correctly identifies the positions and states of both agents, and its conclusion that no interaction will occur is faithfully derived from the given information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it suggests the ego agent is focused on deceleration, which contradicts the ground truth that the ego agent intends to accelerate and continue on its path. The AI missed the key detail that there are no interactions with surrounding agents or traffic controls to consider, which supports the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is partially consistent with the provided context, as it correctly identifies the ego agent's current state of deceleration and the presence of stationary surrounding agents. However, it fails to align its conclusions with the absence of traffic controls and interactions, which should have led it to the correct conclusion about the ego agent's intent to accelerate.", + "problem_score_avg": "4.0" + } + } + }, + "1066d80d79a13a16": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that the ego agent and surrounding agent #0 are both in the intersection and that the ego agent has the right of way due to the green light. The AI incorrectly concludes that there will be no interaction, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent in stating that the agents are heading in opposite directions and that surrounding agent #0 is decelerating. However, it fails to account for the fact that both agents are in the intersection and that the ego agent has priority, which is a critical oversight.", + "problem_score_avg": "4.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is largely incorrect as it suggests that surrounding agent #2 will yield to the ego agent, which contradicts the ground truth that there will be no interaction between the two agents. The AI incorrectly assumes a conflict situation, whereas the agents are heading in opposite directions and are not on a collision course.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the provided context but diverges significantly in its conclusion. While the AI correctly notes the positions and directions of the agents, it incorrectly infers a need for yielding, which is not supported by the context or the ground truth. The conclusion is therefore not faithful to the reasoning provided.", + "problem_score_avg": "3.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the ground truth's emphasis on the ego agent's right of way and the lack of need to yield to surrounding agents. The AI correctly identifies that the ego agent will proceed straight and maintain speed but unnecessarily introduces a caution about the crosswalk, which is not mentioned in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly identifies the ego agent's intent to proceed straight and acknowledges the green traffic light. The mention of the crosswalk is an added caution but does not contradict the overall reasoning.", + "problem_score_avg": "8.5" + } + } + }, + "10689839d1d6ff15": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it claims that surrounding agent #0 will have no interaction with the ego agent, despite both agents being at the intersection. The ground truth explicitly states that surrounding agent #0 will yield to the ego agent, which the AI failed to recognize. Additionally, the AI incorrectly states that surrounding agent #0 is not moving towards the intersection, which contradicts the context provided.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning in the AI's answer is inconsistent with the context. While it correctly identifies that the ego agent must stop at the stop sign, it incorrectly concludes that surrounding agent #0 will not interact with the ego agent. This conclusion is not supported by the context, which shows that both agents are at the intersection and surrounding agent #0 is decelerating at its stop sign, implying it will yield to the ego agent.", + "problem_score_avg": "3.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #2, aligning with the ground truth. The reasoning provided by the AI matches the facts: surrounding agent #2 is stationary and not obstructing the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely faithful. The conclusion that there will be no interaction is consistent with the provided facts about the positions and movements of the ego agent and surrounding agent #2.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, as the latter is not moving and is positioned behind and to the left of the ego agent. This aligns perfectly with the ground truth answer, which also confirms that there will be no interaction due to their opposite directions and the stationary state of surrounding agent #3.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies the positions and states of both agents, and logically concludes that their paths do not conflict, supporting the conclusion of no interaction. The reasoning is faithful to the evidence provided in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it misinterprets the stop sign's effect on the interaction between the ego agent and surrounding agent #4. The ground truth states that surrounding agent #4 will yield to the ego agent, as it is at a stop sign, while the ego agent is approaching the intersection. The AI incorrectly concludes that the ego agent must yield at the stop sign, allowing surrounding agent #4 to proceed, which is the opposite of the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, as it correctly identifies the presence of a stop sign and its implications. However, it incorrectly applies this logic to the ego agent instead of surrounding agent #4, leading to a flawed conclusion. The reasoning is partially faithful but misdirected.", + "problem_score_avg": "3.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it assumes an interaction where the pedestrian will yield to the ego agent, while the ground truth clearly states there will be no interaction. The pedestrian is behind the ego agent and moving towards the intersection without crossing paths, so no yielding or interaction is expected.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning in the AI's answer is not entirely consistent with the context. While it correctly identifies the pedestrian's motion and the ego agent's acceleration, it incorrectly infers an interaction (yielding) that is not supported by the provided scenario. The conclusion does not align with the lack of conflict as per the context.", + "problem_score_avg": "3.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, which aligns perfectly with the ground truth answer. The explanation that surrounding agent #5 is departing from the intersection and they are on the same side is also correct.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly identifies the positions and motion of both agents, and logically deduces that there will be no interaction, which is faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will approach and stop at the stop sign. However, it does not explicitly mention the need to yield to specific surrounding agents (agent #0 and #4) as stated in the ground truth, which is a key detail. The AI also correctly mentions the crosswalk and the need to slow down, which aligns with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the context provided. It correctly deduces the necessity to stop at the stop sign and acknowledges the presence of the crosswalk. However, it does not explicitly link the stop and yield action to the specific surrounding agents mentioned in the context, which slightly detracts from the faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "1068c27cceb21de5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #0 due to their opposite directions of travel. However, it fails to explicitly mention that the surrounding agent will pass the ego agent, which is a key detail in the ground truth answer. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly notes the opposite directions of travel and the significant distance between the agents, which supports the conclusion of no interaction. However, it does not fully align with the ground truth by omitting the detail about the agents passing each other, which slightly affects the faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue accelerating and maintain its current path. However, it incorrectly specifies the lane as the 'right lane' when the context states the ego agent is on the 1 lane from the right out of 2 lanes, which could be interpreted as the left lane if the lanes are numbered from the right. This minor inaccuracy lowers the score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It accurately assesses the situation, noting the absence of obstacles and the relative position of surrounding agent #0, and concludes that the ego agent will continue accelerating. The reasoning aligns well with the provided context, though the lane description discrepancy slightly affects faithfulness.", + "problem_score_avg": "8.5" + } + } + }, + "1069c268c8730c41": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the paths of the ego agent and surrounding agent #0 do not intersect, which aligns with the ground truth. However, the AI fails to explicitly mention that surrounding agent #0 will yield to the ego agent, which is a key detail in the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. The AI correctly analyzes the positions, directions, and speeds of both agents to conclude that their paths do not conflict. However, the reasoning could have been more precise by explicitly stating the yielding behavior of surrounding agent #0.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is not making any turns and acknowledges the absence of traffic lights or stop signs. However, it incorrectly assumes the deceleration is due to yielding to traffic, which is not mentioned in the ground truth. The ground truth explicitly states the ego agent intends to continue through the intersection without altering its course, which the AI fails to clearly confirm.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context, noting the ego agent's deceleration and positioning. However, it introduces an assumption about yielding to traffic, which is not supported by the context. While the reasoning is logically structured, it slightly deviates from the actual scenario by introducing unsupported conclusions.", + "problem_score_avg": "6.5" + } + } + }, + "1069f98a6c0e2a19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth, as it correctly identifies that both agents are on the same lane and have a green traffic light. However, it incorrectly speculates about potential yielding at the crosswalk and the ego agent's acceleration affecting the interaction, which is not mentioned in the ground truth. This speculation deviates from the straightforward answer provided in the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the details provided in the context. It logically deduces the possible interactions based on the agents' positions, speeds, and the green traffic light. However, it introduces additional assumptions (e.g., yielding at the crosswalk) that are not explicitly supported by the context, which slightly reduces its faithfulness.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent has the right of way due to the green traffic light and that surrounding agent #1 is moving slowly. However, the AI does not explicitly state that surrounding agent #1 will yield to the ego agent, which is a key point in the ground truth. The AI's emphasis on caution and vigilance is appropriate but slightly deviates from the specific conclusion in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly notes the ego agent's right of way and the potential for interaction with surrounding agent #1, emphasizing the need for caution. The conclusions drawn align well with the reasoning provided.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #3. The reasoning aligns with the ground truth, which also emphasizes that the surrounding agent is departing from the intersection and heading in the opposite direction.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that the surrounding agent's movement and position (departing from the intersection and moving at a constant speed) do not conflict with the ego agent's trajectory. However, the mention of the ego agent 'accelerating towards the crosswalk' is slightly irrelevant to the core reasoning, which focuses on the surrounding agent's movement and direction.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct. It accurately identifies that surrounding agent #4 is stationary and positioned 23 meters in front of the ego agent, and correctly concludes that their paths do not conflict. This aligns with the ground truth answer, which states that surrounding agent #4 will yield to the ego agent due to its stationary position and the ego agent's active departure from the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful. It consistently uses the provided context to draw conclusions about the interaction between the ego agent and surrounding agent #4. The conclusions are logically derived from the facts that surrounding agent #4 is stationary and the ego agent is accelerating, ensuring that the reasoning aligns with the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is largely incorrect. It incorrectly states that surrounding agent #5 will have no interaction with the ego agent, whereas the ground truth indicates that surrounding agent #5 will yield to the ego agent. The AI also incorrectly states that both vehicles are on different sides of the intersection, which is not supported by the context provided.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusion. It correctly identifies that surrounding agent #5 is stationary and 28 meters in front of the ego agent. However, it incorrectly interprets the positional relationship between the vehicles and the intersection, leading to an incorrect conclusion about their interaction. The reasoning is faithful to the data it focuses on but is incomplete and misses key details.", + "problem_score_avg": "5.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly states that the ego agent will continue through the intersection with a green traffic light and does not need to yield. However, it misses explicitly mentioning the right of way and the specific interactions with surrounding agents #1, #4, and #5, which are detailed in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the context provided. It correctly interprets the green traffic light, the absence of stop signs, and the fact that the ego agent is not required to yield, aligning with the given information.", + "problem_score_avg": "8.5" + } + } + }, + "106f4f9f8d7c8227": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #0, which aligns with the ground truth answer. The reasoning provided by the AI is accurate and supports the conclusion that surrounding agent #0 will not impede the ego agent's movement.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically explains the positioning, speed, and direction of both agents, and correctly determines that there is no immediate conflict or interaction between them. The reasoning is faithful to the information provided in the context and leads to the correct conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #1 will yield to the ego agent, aligning with the ground truth. However, it over-emphasizes the role of the crosswalk in this decision, which is not the primary reason in the ground truth. The ground truth focuses on the ego agent exiting the intersection, not the crosswalk.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion, as it discusses the potential for yielding due to the crosswalk. However, it slightly deviates by focusing more on the crosswalk rather than the ego agent's position in the intersection, which is less aligned with the ground truth.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #3 needs to yield to the ego agent, which contradicts the ground truth stating that there is no interaction or conflict between them. The ground truth indicates that both agents are in the intersection but not in conflict, meaning no yielding or right-of-way considerations are necessary.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions, as it logically deduces that surrounding agent #3 should yield to the ego agent based on their positions and directions of travel. However, the conclusion itself is flawed as it misinterprets the lack of conflict between the two agents.", + "problem_score_avg": "5.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct but slightly incomplete. It correctly identifies that surrounding agent #4 will yield to the ego agent due to the red traffic light it is facing. However, the AI does not explicitly mention that the ego agent is exiting the intersection, which is a key part of the ground truth. The reasoning aligns well with the expected outcome but misses a specific detail.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely consistent with its conclusions. It logically connects the presence of the red traffic light and crosswalk to surrounding agent #4's behavior and correctly deduces that the ego agent will continue moving without direct interaction. The conclusions are faithful to the reasoning provided.", + "problem_score_avg": "9.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #5 will need to yield due to the red traffic light and the ego agent's presence in the intersection. However, it does not explicitly state that surrounding agent #5 will yield to the ego agent, which is the key point in the ground truth answer. The AI focuses more on the cautious approach rather than the yielding action.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the context provided. It logically considers the positions, speeds, and traffic control devices affecting both agents. The conclusion that surrounding agent #5 will need to adjust its speed is supported by the reasoning, though it could have been more precise in stating the yielding behavior.", + "problem_score_avg": "8.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #6 may yield to the ego agent, which is not supported by the ground truth. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #6 as they are in the intersection but not in conflict.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusions. While the AI correctly identifies the positions and directions of both agents, it incorrectly infers a potential yielding behavior that is not supported by the context or the ground truth.", + "problem_score_avg": "5.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI\u2019s answer is incorrect. The ground truth states that surrounding agent #7 will yield to the ego agent due to the red traffic light it is facing, while the ego agent is exiting the intersection. The AI incorrectly asserts that there will be no interaction, ignoring the traffic control device (red light) that influences the behavior of agent #7.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI\u2019s answer is mostly consistent with its conclusion. It correctly identifies that surrounding agent #7 is stationary and behind the ego agent, but fails to consider the red traffic light\u2019s impact on the interaction, which is a critical omission.", + "problem_score_avg": "4.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be no direct conflict between the ego agent and surrounding agent #8, which aligns with the ground truth. However, the AI incorrectly suggests that surrounding agent #8 will yield to the ego agent, which is not mentioned or implied in the context. This deviation from the ground truth lowers the score.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusions. While it correctly identifies that there is no immediate conflict, it introduces unnecessary speculation about surrounding agent #8 yielding, which is not supported by the context. This inconsistency in reasoning reduces the faithfulness score.", + "problem_score_avg": "6.5" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue moving through the intersection and mentions the need for vigilance due to the crosswalk. However, it does not explicitly mention that the ego agent does not need to yield, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It accurately describes the ego agent's action of continuing through the intersection and the need to be cautious near the crosswalk, which aligns with the provided context.", + "problem_score_avg": "8.5" + } + } + }, + "107054019ae57da5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but slightly misleading. It correctly states that surrounding agent #0 will yield to the ego agent due to the stop sign, but it incorrectly emphasizes the ego agent's acceleration, which is irrelevant to yielding at a stop sign. Both agents must stop at their respective stop signs, and the ground truth focuses on this mutual requirement.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent but includes unnecessary details about the ego agent's acceleration, which do not affect the interaction logic. The conclusion that surrounding agent #0 will yield is consistent with the reasoning, but the reasoning could have been more focused on the stop sign requirement.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #2. The reasoning aligns with the ground truth, which also emphasizes that surrounding agent #2 is not moving and is positioned behind the ego agent, so their paths do not conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is faithful to the context provided. The conclusion that there will be no interaction is consistent with the facts that surrounding agent #2 is not moving and is located behind the ego agent, which means their paths do not intersect or conflict.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that surrounding agent #3, despite being stationary, is positioned on the right side of the intersection and will yield to the ego agent. The ground truth explicitly states that surrounding agent #3 will yield, but the AI incorrectly concludes there will be no interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the information provided. It correctly identifies that surrounding agent #3 is stationary and positioned 18 meters in front of the ego agent on the right side of the intersection. However, the conclusion drawn (no interaction) is inconsistent with the correct interpretation of yielding behavior.", + "problem_score_avg": "5.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key context that surrounding agent #4 is positioned on the right side of the intersection and is stationary, which means it would yield to the ego agent as per typical intersection rules. The AI incorrectly concludes that there will be no interaction, whereas the ground truth indicates a yielding scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion that there is no interaction, as it correctly notes that surrounding agent #4 is not moving and is outside the immediate area of the intersection. However, it fails to account for the yielding behavior expected at an intersection, making the reasoning incomplete but not inconsistent.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies the need for the ego agent to stop at the stop sign and navigate the speed bumps. However, it fails to mention the need to yield to surrounding agent #0, which is a critical part of the ground truth answer. This omission reduces the correctness score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the information provided, as it accurately describes the stop sign and speed bumps. The conclusions drawn are faithful to the reasoning, but the lack of mention regarding yielding to surrounding agent #0 slightly reduces the score as it is a significant part of the context.", + "problem_score_avg": "8.0" + } + } + }, + "1071fe439da7c12f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge that surrounding agent #0 will yield to the ego agent due to the ego agent having a green arrow and being in the intersection. The AI incorrectly states that their paths do not intersect and that there will be no interaction, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, as it logically deduces that the paths of the ego agent and surrounding agent #0 do not intersect based on their positions and trajectories. However, it misses the critical detail about the traffic light status and intersection dynamics, which are key to the correct conclusion.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it correctly identifies that surrounding agent #2 will yield to the ego agent due to its red traffic light and stationary state. However, the AI's statement that there will be no direct interaction is slightly misleading, as the yielding behavior itself is a form of interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly infers that surrounding agent #2 will yield based on the red traffic light and the ego agent's green arrow. However, the conclusion that there will be no direct interaction slightly diminishes the faithfulness, as yielding is inherently an interaction.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #3 has a red light and is stationary, which aligns with the ground truth. However, it incorrectly concludes that there is no interaction, ignoring the subtle but critical detail that surrounding agent #3 will yield to the ego agent as it exits the intersection, even though their paths do not conflict. This oversight reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It accurately notes surrounding agent #3's stationary state and red light, and it correctly states that the ego agent is making a U-turn under a green arrow. However, it fails to explicitly mention the yielding behavior, which is implied by the context. This minor inconsistency slightly lowers the faithfulness score.", + "problem_score_avg": "6.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI\u2019s answer is partially correct but misses the key point that surrounding agent #4 will yield to the ego agent due to the red traffic light, even though it is not directly interacting. The ground truth emphasizes that surrounding agent #4 yields, which the AI did not explicitly state.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI\u2019s answer is consistent with the conclusions drawn. It correctly identifies the positions and statuses of both agents and explains why surrounding agent #4 does not directly interfere with the ego agent\u2019s maneuver. However, it could have explicitly mentioned yielding behavior.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, but it does not fully align with the ground truth. The ground truth emphasizes that both agents are exiting the intersection, whereas the AI's answer focuses on the U-turn and acceleration of the ego agent as the reason for no interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with the provided context. It correctly notes that surrounding agent #5 is stationary and that the ego agent is making a U-turn and accelerating. However, it misses the key detail from the ground truth that both agents are exiting the intersection, which is a critical point in understanding the interaction (or lack thereof).", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in stating that there will be no interaction between the ego agent and surrounding agent #6. However, it fails to mention the key detail from the ground truth that the ego agent is making a U-turn and exiting the intersection, which is a crucial part of the explanation. The AI focuses on the static position and opposite direction of agent #6, which is accurate but incomplete.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. The AI correctly identifies that the lack of movement, specific positioning, and opposite direction of agent #6 mean there is no conflict with the ego agent. However, it could have been more comprehensive by including the U-turn aspect of the ego agent's maneuver.", + "problem_score_avg": "8.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent is completing a U-turn and mentions the green arrow traffic light, which gives the ego agent the right of way. However, it does not explicitly state that the ego agent intends to exit the intersection, nor does it fully address the behaviour of surrounding agents, particularly the fact that surrounding agents #0, #2, #3, and #4 will yield due to their red traffic lights.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the facts provided. It accurately describes the ego agent's acceleration, speed, and the presence of a green arrow traffic light, which supports the conclusion that the ego agent will proceed safely. The only minor inconsistency is the lack of explicit mention of the surrounding agents yielding, which is implied but not stated.", + "problem_score_avg": "8.5" + } + } + }, + "1074089cb5094c55": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 will yield to the ego agent, which aligns with the ground truth. However, the AI introduces additional speculation about potential pedestrian interactions that were not part of the ground truth, slightly deviating from the core focus.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the positions and speeds of the agents and deduces that surrounding agent #0 will yield. The mention of potential pedestrian interactions, while not directly relevant to the ground truth, does not contradict the reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #1 will yield to the ego agent because the ego agent is closer to the intersection center. However, the AI incorrectly suggests that the ego agent may need to yield to surrounding agent #1, which contradicts the ground truth.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusion but fails to align with the ground truth. The AI correctly notes that both agents are moving and approaching the intersection, but it incorrectly concludes that the ego agent may need to yield rather than understanding the priority based on proximity to the intersection center.", + "problem_score_avg": "2.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but introduces unnecessary assumptions. While it correctly notes that there will be no interaction, it incorrectly assumes that the pedestrian will yield to the ego agent, which is not supported by the context. The pedestrian is far behind and not in a position to conflict with the ego agent, so the assumption of yielding is unfounded.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context. It correctly identifies the positions and motions of the ego agent and the pedestrian. However, the conclusion about the pedestrian yielding is not logically derived from the context and introduces an assumption that is not justified by the scenario.", + "problem_score_avg": "5.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #3 will yield to the ego agent because the ego agent is closer to the intersection center. Instead, it incorrectly states that the ego agent needs to navigate around surrounding agent #3, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions but lacks accuracy. It correctly identifies that surrounding agent #3 is stationary and the ego agent is moving, but it fails to accurately conclude how these factors influence the interaction between the two agents, leading to an incorrect final statement.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, as surrounding agent #4 is stationary and the ego agent is moving towards the intersection. This aligns perfectly with the ground truth answer, which states that there will be no interaction because they are heading in opposite directions and surrounding agent #4 is not moving.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It correctly notes that surrounding agent #4 is stationary and that the ego agent is moving towards the intersection. However, the mention of 'a green light' is not supported by the provided context, which does not mention traffic light status. This minor inconsistency slightly reduces the faithfulness score.", + "problem_score_avg": "9.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as the latter is not moving and is positioned 3 meters behind the ego agent, ensuring no conflict in their paths.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusion. The AI correctly identifies that surrounding agent #5 is not moving and is behind the ego agent, which logically supports the conclusion that there will be no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #6, as surrounding agent #6 is not moving and is positioned 7 meters behind the ego agent, which does not create a conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the provided context. The AI correctly identifies the position and motion status of surrounding agent #6 and concludes that no interaction will occur, which is faithful to the information given.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, as surrounding agent #7 is not moving and is positioned behind the ego agent. This aligns with the ground truth, which also states there will be no interaction due to opposite directions and surrounding agent #7's stationary state.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately states that surrounding agent #7 is not moving and is behind the ego agent, which logically supports the conclusion that there will be no interaction. The reasoning is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #8. This aligns with the ground truth, which also states that there will be no interaction because surrounding agent #8 is not moving and is positioned behind the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies that the lack of movement and the position of surrounding agent #8 relative to the ego agent ensure no conflict or interaction, which is faithfully supported by the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #9, as the surrounding agent is not moving and they are not on a collision course. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It correctly identifies that surrounding agent #9 is stationary and positioned in a way that does not conflict with the ego agent's path, leading to the logical conclusion of no interaction. The reasoning supports the answer faithfully.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. This is consistent with the ground truth answer, which states the same reasoning: the agents are heading in opposite directions and surrounding agent #10 is not moving.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the information provided. It correctly notes that surrounding agent #10 is not moving and is positioned behind the ego agent, which is moving towards the intersection. This reasoning logically supports the conclusion that there will be no interaction between the two agents.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #11 will yield to the ego agent, aligning with the ground truth. However, the AI does not explicitly mention that the ego agent is closer to the intersection center, which is the primary reason for yielding according to the ground truth. Instead, it focuses on the crosswalk and the lane position, which are less relevant to the specific interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion but introduces elements (like the crosswalk) that are not directly relevant to the interaction between the ego agent and surrounding agent #11. The focus on the crosswalk and lane position detracts from the primary reasoning, which should center on the distance to the intersection center.", + "problem_score_avg": "7.5" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #12, as agent #12 is not moving and is positioned 22 meters behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is entirely consistent with its conclusion. The explanation that agent #12 is not moving and is positioned behind the ego agent logically supports the conclusion that there will be no interaction. The reasoning is faithful to the facts provided in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will continue towards the intersection at a constant speed and mentions the need for caution at the crosswalk. However, it fails to explicitly mention the interaction with specific surrounding agents (#0, #1, and #3) and their yielding behavior, which is a key part of the ground truth. It also does not clearly state that the ego agent will not interact with other surrounding agents, which is part of the correct reasoning.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that the ego agent will continue at a constant speed and approach the crosswalk cautiously. However, the answer could have been more faithful by explicitly linking the presence of surrounding agents to the ego agent's decision-making process, as outlined in the ground truth.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp11.json b/grades/direct/deepseek_grades_direct_6shot_exp11.json new file mode 100644 index 0000000..bf394e3 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp11.json @@ -0,0 +1,273 @@ +{ + "100dc2bbda4ccfc5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": 5, + "Correctness explanation": "The AI's answer is partially correct but misses the key aspect of the ground truth, which is that the ego agent must yield to surrounding agent #1 due to the red traffic light. While the AI correctly identifies that the ego agent will stop at the red light, it incorrectly suggests that surrounding agent #1 will yield to the ego agent, whereas the ground truth specifies the opposite. This misunderstanding reduces the correctness score.", + "Faithfulness score": 8, + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions. It correctly identifies the behaviors of the ego agent and surrounding agent #1 based on the context, such as the ego agent stopping at the red light and surrounding agent #1 decelerating. However, the conclusion about surrounding agent #1 yielding to the ego agent is not fully supported by the context and is somewhat inconsistent with the scenario, which slightly reduces the faithfulness score.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will stop at the red traffic light and considers the crosswalk. However, it fails to mention the ego agent's intention to yield to surrounding agent #1, which is a key part of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically deduces that the ego agent will stop due to the red traffic light and the proximity of the crosswalk. However, it does not extend this reasoning to include the interaction with surrounding agent #1, which slightly reduces its faithfulness to the full context.", + "problem_score_avg": "7.5" + } + } + }, + "101136b4af211072": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer correctly identifies that there is no direct conflict or interaction between the ego agent and surrounding agent #0, as the ego agent is exiting the intersection while surrounding agent #0 is stationary. However, it fails to acknowledge the implicit yielding behavior of surrounding agent #0, which is highlighted in the ground truth answer. This omission reduces the correctness score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. The AI logically analyzes the positions and movements of the agents and correctly concludes that there is no interaction due to the lack of conflicting paths. The reasoning aligns well with the provided context, though it misses the subtle point about yielding behavior.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that surrounding agent #1 will yield to the ego agent, as it is approaching a stop sign and is not moving, while the ego agent is in motion and exiting the intersection. This is fully consistent with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and logically sound. It correctly identifies that the stationary surrounding agent #1 must yield to the moving ego agent due to the stop sign, ensuring no conflict. The conclusions drawn are faithful to the provided reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer suggests that the interaction between the ego agent and surrounding agent #3 is minimal and that surrounding agent #3 will yield to the ego agent. While this is partially correct, it misses the key point from the ground truth that surrounding agent #3 will follow the ego agent as they are both heading towards the intersection. The AI's answer does not fully align with the ground truth in this aspect.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is generally consistent with its conclusion. It correctly identifies that surrounding agent #3 is decelerating and behind the ego agent, and it logically concludes that there should be no conflicts. However, the reasoning could have been more thorough by explicitly mentioning that surrounding agent #3 is following the ego agent, which would have made it more faithful to the context.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly predicts that there will be no interaction between the ego agent and surrounding agent #4, which aligns perfectly with the ground truth answer. The AI accurately notes the positioning and motion status of both agents and concludes that their paths do not intersect, supporting the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically sound. The AI correctly assesses the positions and movements of both agents and draws a conclusion that is faithful to its reasoning, ensuring that the explanation aligns with the final prediction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there will be minimal interaction between the ego agent and surrounding agent #5, aligning with the ground truth that there will be no interaction. The reasoning is accurate, but it could have explicitly mentioned that they are on different paths, which is a key part of the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly analyzes the positions, directions, and motions of both agents and logically concludes that there will be no significant interaction, which aligns perfectly with its reasoning.", + "problem_score_avg": "9.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer acknowledges that surrounding agent #6 is behind the ego agent and decelerating, which aligns with the ground truth that surrounding agent #6 will follow the ego agent. However, the AI emphasizes the lack of conflict due to the ego agent's acceleration and turning, which may not fully capture the ground truth's focus on the following relationship.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly analyzes the relative positions, directions, and movements of the ego agent and surrounding agent #6, leading to the logical conclusion that there is no immediate interaction or conflict. The reasoning supports the conclusion well.", + "problem_score_avg": "8.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly states that the ego agent intends to complete its left turn and exit the intersection without needing to yield to surrounding agents. However, it includes additional details about speed and acceleration that are not strictly necessary for answering the question, which slightly deviates from the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It correctly identifies the positions and behaviors of the surrounding agents and how they do not hinder the ego agent's path. The inclusion of minor extraneous details does not significantly detract from the logical consistency.", + "problem_score_avg": "9.0" + } + } + }, + "10121dc51c383aa6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent will yield to surrounding agent #0, which contradicts the ground truth answer. However, it correctly notes that the ego agent is already in the intersection and that surrounding agent #0 is decelerating, which aligns with the ground truth. The AI's conclusion is partially correct but inconsistent with the ground truth regarding who yields to whom.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly identifies the positions and actions of both agents (ego agent in the intersection, surrounding agent #0 decelerating). The only inconsistency is the incorrect conclusion about which agent yields, which is a minor deviation from the otherwise logical reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is fully correct as it aligns with the ground truth. It accurately states that surrounding agent #2 will yield to the ego agent due to its stationary position, proximity to a stop sign and crosswalk, and the fact that the ego agent is already moving through the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and faithful. It logically concludes that surrounding agent #2 will yield based on its stationary state, its position behind the ego agent, and the traffic control devices it is approaching, which supports the conclusion that it will let the ego agent proceed.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #3 will yield to the ego agent, which aligns with the ground truth. However, it slightly misrepresents the situation by stating that there will be 'no direct interaction,' which contradicts the implicit interaction of yielding. The score reflects the correctness of the main conclusion but deducts points for the minor inaccuracy.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion, as it correctly identifies the positioning and behavior of the agents. However, the statement about 'no direct interaction' is not entirely faithful to the reasoning, as yielding itself is a form of interaction. The score reflects this inconsistency in the reasoning process.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is mostly correct as it accurately states that surrounding agent #4 is not moving and does not pose an immediate conflict. However, it misses explicitly stating that surrounding agent #4 will yield to the ego agent, which is a key part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly identifies the position and motion status of surrounding agent #4 and logically concludes that the ego agent can continue its course without adjustment, which aligns with the provided reasoning.", + "problem_score_avg": "9.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but lacks the key detail that surrounding agent #5 will yield to the ego agent, as explicitly stated in the ground truth. While the AI correctly notes that the interaction is minimal due to surrounding agent #5 not moving, it fails to explicitly acknowledge the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly assesses that the interaction will be minimal due to surrounding agent #5 being stationary and the ego agent's movement. However, it misses the yielding aspect, which slightly detracts from the completeness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #6 will yield to the ego agent due to its stationary state and the ego agent's presence in the intersection. The AI incorrectly concludes that there will be no interaction, whereas the ground truth specifies that yielding will occur.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that no interaction will occur, based on the stationary state of surrounding agent #6 and the ego agent's trajectory. However, the reasoning fails to consider the yielding behavior implied by the context, which is a significant oversight.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point in the ground truth that surrounding agent #7 will yield to the ego agent. While the AI correctly notes that surrounding agent #7 is not moving and the ego agent is in the intersection, it fails to explicitly state the yielding behavior, which is the primary interaction in this scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It correctly identifies the positions and states of the ego agent and surrounding agent #7, and logically concludes that there is no immediate conflict. However, it does not explicitly mention the yielding behavior, which is a minor oversight in the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but incomplete. While it correctly identifies that surrounding agent #8 is stationary and does not currently conflict with the ego agent's path, it fails to acknowledge that surrounding agent #8 will yield to the ego agent because the ego agent is already in the intersection. This is a critical aspect of the interaction mentioned in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly notes that surrounding agent #8 is stationary and not obstructing the ego agent, which aligns with the claim that there will be no interaction. However, it does not fully consider the yielding behavior expected in this scenario, which is a minor inconsistency.", + "problem_score_avg": "6.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #9 is not moving and is positioned on the opposite side of the intersection, which means it won't directly interfere with the ego agent. However, it fails to explicitly acknowledge the ground truth that surrounding agent #9 will yield to the ego agent, which is a key point in the scenario. The AI's conclusion that there will be minimal or non-existent interaction is correct but lacks the specific reasoning about yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly identifies that surrounding agent #9 is stationary and far enough to not interfere with the ego agent's path. However, it does not explicitly mention the yielding behavior, which would have made the reasoning more complete and aligned with the ground truth.", + "problem_score_avg": "6.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses key details. While it correctly notes that surrounding agent #10 is not moving and is far away, it fails to explicitly state that surrounding agent #10 will yield to the ego agent, which is a crucial part of the ground truth. The AI's conclusion of 'minimal or non-existent' interaction is less precise than the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It accurately describes the positions and states of the ego agent and surrounding agent #10, and its conclusion logically follows from this description. However, it could have more explicitly tied the reasoning to the specific outcome of surrounding agent #10 yielding, as stated in the ground truth.", + "problem_score_avg": "6.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #11 will yield to the ego agent. The AI correctly notes that surrounding agent #11 is stationary and at a distance, but it does not explicitly state that the ego agent has the right of way due to its position in the intersection, which is the main point of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely faithful to the context provided. It correctly identifies the relative positions and states of the agents and concludes that there is minimal interaction. However, it does not fully align with the ground truth in stating that surrounding agent #11 will yield, which is a critical aspect of the interaction.", + "problem_score_avg": "7.5" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to proceed through the intersection, which aligns with the ground truth. However, it does not explicitly mention that the ego agent is exiting the intersection or that it has the right of way over surrounding agents, which are key points in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It accurately considers the ego agent's position, speed, and the presence of stop signs and crosswalks. However, it slightly overemphasizes caution when the ground truth indicates the ego agent has the right of way and is less likely to face immediate conflicts with surrounding agents.", + "problem_score_avg": "7.5" + } + } + }, + "101295a175cb6ce1": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it concludes that there will be no significant interaction between the ego agent and surrounding agent #0. However, it incorrectly states that their paths may cross depending on timing, which contradicts the ground truth that their paths will not cross. The AI also misstates surrounding agent #0's position as 'behind the ego agent' when the context indicates it is at the same level behind. These inaccuracies lower the score.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusion that no significant interaction will occur. However, it introduces unnecessary speculation about paths crossing, which is not supported by the context. Additionally, it misinterprets surrounding agent #0's position, which weakens the logical flow. These inconsistencies reduce the faithfulness score.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that surrounding agent #1 will yield to the ego agent is incorrect. The ground truth clearly states that there will be no interaction between the two agents as they are heading in opposite directions and both are departing the intersection. The AI's reasoning about yielding and paths not conflicting is unnecessary and misaligned with the scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with the scenario but misinterprets the dynamics. While it correctly notes the positions and directions of the agents, it incorrectly infers a yielding behavior and overcomplicates the interaction, deviating from the straightforward conclusion in the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth. It correctly states that there will be no interaction between the ego agent and surrounding agent #2, as both are departing from the intersection and their paths do not cross. The reasoning is accurate and matches the provided context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are consistent with its reasoning. The AI correctly interprets the positions, directions, and motion statuses of both agents and accurately concludes that there will be no interaction. The reasoning is logically sound and faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies the ego agent's intention to navigate the speed bump while decelerating and departing from the intersection. However, it does not explicitly mention the absence of interactions with surrounding agents, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically connects the ego agent's deceleration to the approaching speed bump and its departure from the intersection, though it could have explicitly addressed the lack of interactions with surrounding agents for full consistency.", + "problem_score_avg": "8.5" + } + } + }, + "10137da143191f29": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it accurately states that there is no anticipated interaction between the ego agent and surrounding agent #0. However, the AI mentions that surrounding agent #0 is 'within the intersection,' which is not explicitly mentioned in the ground truth. This minor discrepancy slightly detracts from the correctness.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely consistent with its conclusions. It correctly identifies that surrounding agent #0 is stationary, the ego agent is exiting the intersection, and their paths do not conflict. The reasoning logically supports the conclusion of no interaction.", + "problem_score_avg": "9.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but contains inaccuracies. The AI correctly identifies that surrounding agent #1 is heading in the opposite direction and is some distance away, but it incorrectly suggests that surrounding agent #1 will yield to the ego agent and that there might be a potential conflict. The ground truth states that there will be no interaction, as surrounding agent #1 is departing from the intersection in the opposite direction. The AI's answer overcomplicates the scenario and introduces unnecessary details about yielding and caution, which are not supported by the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, but it strays from the simplicity of the ground truth. The AI correctly notes the direction and distance of surrounding agent #1 but then extrapolates into hypothetical scenarios (yielding, caution) that are not mentioned in the context. While the conclusion that the ego agent can proceed without altering its movement is faithful to the reasoning, the reasoning itself is overly complex and speculative.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI incorrectly asserts that there is a potential conflict between the ego agent and surrounding agent #200, despite the ground truth stating that they are not in each other's path. This is a significant deviation from the correct answer.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is somewhat consistent internally, as the AI follows a logical chain based on its incorrect assumption of a potential conflict. However, the conclusions are unfaithful to the actual scenario described in the context.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the detail that the ego agent will accelerate to 10 m/s after decelerating for the speed bump. The AI correctly identifies that the ego agent will continue exiting the intersection and decelerate for the speed bump, which aligns with the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It correctly deduces the ego agent's focus on navigating the speed bump, exiting the intersection, and being cautious of surrounding agents, particularly the pedestrian. The conclusions are well-supported by the context.", + "problem_score_avg": "8.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp9.json b/grades/direct/deepseek_grades_direct_6shot_exp9.json new file mode 100644 index 0000000..196ac2c --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp9.json @@ -0,0 +1,571 @@ +{ + "10658c943a882fd2": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #0, as they are not in the path of the ego agent and surrounding agent #0 is stationary. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It correctly analyzes the position, motion, and direction of both the ego agent and surrounding agent #0, leading to the logical conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #2, as the surrounding agent is stationary and the paths do not intersect. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies the positions, directions, and movements of both the ego agent and surrounding agent #2, and logically deduces that no interaction will occur. The reasoning supports the conclusion without contradiction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #3, which aligns with the ground truth. However, it misses the explicit statement from the ground truth that they are not in the path of the ego agent, which could have made the answer more precise.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It accurately describes the positions and states of the ego agent and surrounding agent #3, and logically concludes that there will be no significant interaction, which is faithful to the provided information.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer aligns well with the ground truth, stating that there will be no interaction between the ego agent and surrounding agent #4. However, it slightly overcomplicates the explanation by mentioning minimal interaction and discussing path conflicts, which are not necessary given the clear context that both agents are stationary and not in direct conflict.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies that surrounding agent #4 is stationary and not in the path of the ego agent, leading to no interaction. However, the introduction of 'minimal interaction' and 'path conflict' concepts is unnecessary and slightly detracts from the clarity of the reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as they are not moving and not in the path of the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and faithful. It accurately considers the positions, directions, and motion statuses of both the ego agent and surrounding agent #5, leading to the conclusion that their paths do not conflict.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth states that the ego agent intends to accelerate and continue on its path, whereas the AI concludes that the ego agent will decelerate and stop. The ground truth explicitly mentions no interactions or traffic controls to consider, indicating no need to stop.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful but inconsistent with the context. While the AI correctly notes the ego agent's current deceleration and lack of traffic controls, it incorrectly infers that the agent will stop. The reasoning does not align with the assumption that the agent has no obstacles or interactions to prompt stopping.", + "problem_score_avg": "3.0" + } + } + }, + "1066d80d79a13a16": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect as it fails to acknowledge the key detail that both the ego agent and surrounding agent #0 are in the intersection. The ground truth highlights that surrounding agent #0 will yield to the ego agent due to the ego agent having the right of way. The AI incorrectly concludes that no significant interaction will occur, missing the critical interaction of yielding.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions but lacks depth. It correctly notes the ego agent's green light and the distance between the agents but fails to integrate the fact that both are in the intersection, which is crucial for the interaction. The conclusion of no significant interaction is drawn from incomplete reasoning.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but introduces unnecessary assumptions. It incorrectly suggests that surrounding agent #2 will yield to the ego agent, which is not supported by the context. The ground truth states that there will be no interaction because the agents are moving in opposite directions and surrounding agent #2 is departing the intersection. The AI's answer misinterprets the minimal interaction as a yielding scenario, which is incorrect.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the context but includes flawed logic. It correctly identifies the positions, directions, and traffic light statuses but incorrectly concludes that surrounding agent #2 will yield to the ego agent. This conclusion is not supported by the context, as the agents are moving in opposite directions and do not need to engage. The reasoning is mostly faithful but contains a significant error in its final conclusion.", + "problem_score_avg": "6.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it accurately describes the ego agent's intention to proceed straight through the intersection with a green light, and correctly identifies that surrounding agents #0 and #2 do not pose a conflict. However, the ground truth explicitly mentions the ego agent's right of way, which the AI does not directly address, slightly reducing the score.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is entirely consistent with its conclusions. It logically explains why the ego agent can safely proceed, detailing the positions and movements of surrounding agents and the status of the traffic light without any contradictions.", + "problem_score_avg": "9.5" + } + } + }, + "10689839d1d6ff15": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect in claiming there will be no interaction or conflict. The ground truth explicitly states that surrounding agent #0 will yield to the ego agent, indicating an interaction. The AI also incorrectly assumes that the ego agent will stop at the stop sign, which is not mentioned in the context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful. While it correctly identifies that surrounding agent #0 is decelerating and not moving, it fails to acknowledge the interaction described in the ground truth. Its conclusion about the ego agent stopping at the stop sign is not supported by the context, making the reasoning inconsistent with the provided information.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, aligning perfectly with the ground truth. The reasoning provided by the AI is accurate and consistent with the scenario details.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI accurately uses the information about the positions, speeds, and motion statuses of both agents to logically conclude that no interaction will occur, making the reasoning faithful to the scenario.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #3, matching the ground truth answer. The reasoning provided by the AI, which includes the fact that surrounding agent #3 is not moving and is positioned behind and to the left of the ego agent, aligns perfectly with the context and the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are consistent with its reasoning. The AI accurately uses the information about the positions and motion statuses of the ego agent and surrounding agent #3 to logically conclude that no interaction will occur. The reasoning is faithful to the provided context and leads to a coherent and consistent conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 will yield due to the stop sign. The AI focuses on the ego agent's obligation to stop but does not clearly state that surrounding agent #4 must yield because of the stop sign.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion about the ego agent's need to stop, but it does not fully align with the context that surrounding agent #4 is also approaching the intersection and must yield due to the stop sign. The AI's reasoning is logical but incomplete.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but unnecessarily complicates the scenario. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #200 because the pedestrian is behind the ego agent and they are not crossing paths. The AI's response suggests that the ego agent should monitor the pedestrian and be prepared to yield, which is not required based on the given context.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It accurately assesses the relative positions and speeds of the ego agent and surrounding agent #200. However, it introduces unnecessary caution and monitoring, which is not aligned with the ground truth's straightforward conclusion of no interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it suggests potential interaction and consideration of right-of-way, which contradicts the ground truth stating there will be no interaction. The AI also incorrectly assumes surrounding agent #5 must yield, while the ground truth indicates it is departing and on the same side.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partially faithful but flawed. The AI correctly identifies the positions and speeds but incorrectly infers potential interaction and right-of-way considerations. The conclusions are inconsistent with the provided context, which clearly indicates no interaction due to the positions and directions of the agents.", + "problem_score_avg": "4.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will approach the stop sign and prepare to stop, and it mentions the need to assess the surroundings. However, it fails to explicitly state that the ego agent will stop at the stop sign, yield to surrounding agents #0 and #4, and proceed when safe, as stated in the ground truth answer. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The conclusions drawn by the AI are generally consistent with its reasoning. It correctly notes the ego agent's need to stop at the stop sign and assess the surroundings, which aligns with the context provided. However, the reasoning does not fully address the specific actions of yielding to surrounding agents #0 and #4, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "1068c27cceb21de5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it correctly states that the ego agent and surrounding agent #0 will not interact due to their opposite directions and significant spacing. However, it misses the specific detail that surrounding agent #0 will pass the ego agent, which is explicitly mentioned in the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is fully consistent with the conclusions drawn. The AI logically explains why no interaction is expected based on the positions, directions, and spacing of the two agents, aligning perfectly with its final conclusion.", + "problem_score_avg": "9.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to continue accelerating on its current lane and maintains its course and speed. It accurately states that the paths of the ego agent and surrounding agent #0 do not conflict, allowing the ego agent to proceed safely without altering its course or speed. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It correctly uses the information about the positions, speeds, and directions of both the ego agent and surrounding agent #0 to conclude that no conflict exists and that the ego agent can continue as planned. The conclusions drawn are well-supported by the reasoning.", + "problem_score_avg": "10.0" + } + } + }, + "1069c268c8730c41": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer is mostly correct as it correctly identifies that there will be no conflict between the ego agent and surrounding agent #0 due to their opposite directions. However, it does not explicitly mention that surrounding agent #0 will yield to the ego agent, which is part of the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and logically follows from the provided context. The AI correctly analyzes the positions, directions, and speeds of both agents to conclude that they will not interfere with each other.", + "problem_score_avg": "9.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is approaching the intersection and not making any turns. However, the AI incorrectly suggests that the ego agent may come to a stop or slow down further, which contradicts the ground truth that the agent intends to continue through the intersection without stopping. This inconsistency lowers the score.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its observations, such as noting the absence of traffic lights, stop signs, and turns. However, the conclusion that the ego agent may stop or slow down is not fully supported by the provided context, which indicates the agent is decelerating but still intends to proceed through the intersection. This inconsistency affects the faithfulness score.", + "problem_score_avg": "6.5" + } + } + }, + "1069f98a6c0e2a19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will follow the ego agent due to their shared lane and direction. However, it incorrectly suggests that no significant interaction is anticipated, which contradicts the ground truth that emphasizes the follower relationship. The AI also unnecessarily discusses yielding, which is not relevant given the context.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent but includes unnecessary details like yielding and safe distance maintenance, which are not supported by the ground truth. The conclusion that no significant interaction is anticipated is inconsistent with the reasoning that surrounding agent #0 will follow the ego agent.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the interaction will likely be non-conflictual and acknowledges the green traffic light for both agents. However, it fails to explicitly state that surrounding agent #1 will yield to the ego agent, as mentioned in the ground truth. The explanation is somewhat vague regarding the yielding aspect, which is crucial in this scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the positions, speeds, and traffic light statuses of both agents and concludes that there will be no conflict. However, the reasoning could have been more precise in directly addressing the yielding behavior of surrounding agent #1, which is a key aspect of the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as the latter is departing the intersection and heading in the opposite direction. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and logically follows from the provided context. It accurately concludes that the paths of the two agents do not intersect and thus there will be no conflict or interaction, which is faithful to the information given.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses key aspects. It correctly identifies that surrounding agent #4 is stationary and will not conflict with the ego agent. However, it fails to explicitly state that surrounding agent #4 will yield to the ego agent, which is a crucial part of the ground truth. Additionally, the AI incorrectly states that the ego agent is 'departing from the intersection,' which is not supported by the context. The ego agent is approaching the intersection, not departing from it.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly notes that surrounding agent #4 is stationary and that the ego agent is accelerating with a green light. However, the conclusion that there will be no significant interaction is not fully justified, as it omits the yielding aspect. The reasoning also misinterprets the ego agent's position relative to the intersection, which affects the overall faithfulness.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #5 will yield to the ego agent, but the AI claims there will be no interaction. This is a significant deviation from the expected behavior.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the context. It correctly notes that surrounding agent #5 is stationary and not blocking the ego agent's path. However, it fails to consider the yielding behavior described in the ground truth, which affects the overall consistency of its reasoning.", + "problem_score_avg": "3.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it accurately states that the ego agent intends to continue through the intersection with the right of way due to the green traffic light. However, it slightly misses the detail in the ground truth about the ego agent not needing to respond to surrounding agent #3, which is not explicitly addressed in the AI's response.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the provided context. It correctly interprets the ego agent's right of way, the status of surrounding agent #0, and the minimal need to yield to surrounding agent #1. The conclusions are consistent with the reasoning and the context given.", + "problem_score_avg": "8.5" + } + } + }, + "106f4f9f8d7c8227": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that surrounding agent #0 will have no interaction with the ego agent. Both agents are heading in the same direction, and the ego agent is significantly faster and ahead of surrounding agent #0. The reasoning aligns with the ground truth that there is no immediate conflict.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is consistent with the conclusions drawn. The AI correctly analyzes the positions, speeds, and directions of both agents and concludes that no interaction is likely. The mention of the crosswalk is somewhat speculative but does not detract from the overall faithfulness of the reasoning.", + "problem_score_avg": "9.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it correctly identifies that the ego agent will clear the intersection before surrounding agent #1, leading to surrounding agent #1 yielding. However, the AI does not explicitly mention that the ego agent is already exiting the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically analyzes the speeds, positions, and trajectories of both agents to conclude that the ego agent will pass through the intersection without interference, which aligns with the provided reasoning.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct as it identifies that the ego agent and surrounding agent #3 are in the intersection and not in conflict. However, it incorrectly assumes a close interaction and overtaking scenario, which is not supported by the ground truth. The ground truth explicitly states there is no interaction, indicating the AI's conclusion is not entirely accurate.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with the given context. It correctly notes the positions, speeds, and directions of the agents but misinterprets the likelihood of interaction. The conclusion about overtaking is inferred without sufficient evidence, making the reasoning partially faithful but flawed in its extrapolation.", + "problem_score_avg": "6.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct as it accurately predicts that surrounding agent #4 will yield to the ego agent due to the red traffic light. However, the AI does not explicitly state that the ego agent is exiting the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically deduces that the red traffic light will cause surrounding agent #4 to yield, and it correctly infers that the ego agent will proceed without conflict. The reasoning aligns well with the final prediction.", + "problem_score_avg": "9.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #5 will likely yield due to the red traffic light, which aligns with the ground truth. However, it does not explicitly state that the ego agent's position in the intersection forces surrounding agent #5 to yield, which is a key part of the ground truth. The answer is partially correct but lacks precision.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly identifies the red traffic light and the cautious approach needed. However, it slightly deviates by emphasizing the distance between the agents rather than focusing on the intersection dynamics, which could have made the reasoning more aligned with the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there is no anticipated interaction between the ego agent and surrounding agent #6. However, the AI slightly overstates the situation by mentioning the need for the ego agent to remain alert, which while prudent, is not strictly necessary given the scenario as described. This minor deviation from the ground truth justifies a score of 9.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly notes the positions and speeds of both agents and concludes that they will not interact. However, the mention of the ego agent needing to remain alert introduces an element of caution that is not fully supported by the scenario details, slightly reducing the faithfulness of the reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI incorrectly states that the interaction will be minimal and that the ego agent does not need to adjust its course. The ground truth indicates that surrounding agent #7 will yield to the ego agent due to the red traffic light, suggesting a more significant interaction than the AI described.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that there will be minimal interaction. However, it fails to account for the red traffic light affecting surrounding agent #7's behavior, which is a critical part of the scenario.", + "problem_score_avg": "5.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it aligns with the ground truth. It correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #8 due to their positions and speeds, with surrounding agent #8 being behind and to the right of the ego agent while both are heading in the same direction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context provided. It logically explains why there will be no interaction, based on the distances, speeds, and directions of both the ego agent and surrounding agent #8.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent aims to proceed through the intersection and is aware of the crosswalk. However, it overcomplicates the scenario by emphasizing potential risks from surrounding agents, especially #3 and #6, which are not immediate threats. The ground truth clarifies that the ego agent can proceed without yielding, as surrounding agents either have no immediate conflict or are required to yield due to traffic lights.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with the provided context. It accurately notes the ego agent's acceleration, direction, and awareness of the crosswalk. However, it slightly deviates by focusing excessively on surrounding agents, which, according to the ground truth, do not pose an immediate conflict. The conclusions align with the scenario but include unnecessary details.", + "problem_score_avg": "7.5" + } + } + }, + "107054019ae57da5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that both the ego agent and surrounding agent #0 will stop at their respective stop signs, which aligns with the ground truth. However, it incorrectly suggests that the ego agent may need to yield or wait for surrounding agent #0, which is not necessary since both are stopping at stop signs. The ground truth emphasizes that surrounding agent #0 will yield to the ego agent, which the AI does not explicitly state.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly analyzes the speeds, distances, and presence of stop signs for both agents. However, it introduces unnecessary complexity by suggesting a potential need for the ego agent to yield or wait, which is not supported by its own reasoning or the context.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #2 because surrounding agent #2 is not moving and is positioned behind the ego agent, which aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies that surrounding agent #2 is stationary and behind the ego agent, and thus does not pose any conflict or require interaction, which is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #3 is positioned to the right of the intersection and will yield to the ego agent, as stated in the ground truth. The AI correctly identifies that surrounding agent #3 is not moving, but it fails to acknowledge the yielding aspect.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions. The AI correctly notes that surrounding agent #3 is stationary and that the ego agent is approaching the intersection. However, it does not fully explore the potential interaction dynamics, such as yielding, which is a minor inconsistency in the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly claims that there will be 'no significant interaction' between the ego agent and surrounding agent #4, while the ground truth explicitly states that surrounding agent #4 will yield to the ego agent. This is a significant discrepancy in understanding the interaction dynamics at the intersection.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI\u2019s reasoning is internally consistent and logically follows from its interpretation of the scenario. However, its interpretation is flawed, as it does not acknowledge the yielding behavior outlined in the ground truth. The conclusion is consistent with the reasoning provided but is based on an incomplete understanding of the interaction.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies the ego agent's intention to approach and stop at the stop sign, and acknowledges the need to yield to surrounding agent #0. However, it misses the specific mention of slowing down for the speed bumps and does not explicitly state that the ego agent will navigate the speed bumps before proceeding through the intersection. Additionally, the AI does not clearly state that the ego agent will proceed after assessing the intersection, which is implied in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is generally consistent with the conclusions drawn. It correctly identifies the stop sign, the need to yield, and the importance of assessing the intersection. However, the reasoning could be more detailed by explicitly addressing the speed bumps and the subsequent navigation through the intersection, which would make it more faithful to the ground truth.", + "problem_score_avg": "7.5" + } + } + }, + "1071fe439da7c12f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it fails to acknowledge that surrounding agent #0 will yield to the ego agent, as stated in the ground truth. The AI incorrectly concludes that no significant interaction will occur, despite the fact that agent #0 is decelerating, which aligns with the yielding behavior. The AI's focus on distance and disagreement with the ground truth results in a low score.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but lacks alignment with the ground truth. It correctly notes that agent #0 is decelerating and is not on a collision course with the ego agent, but it does not tie this behavior to the yielding action explicitly. The reasoning is internally consistent but fails to fully support the correct interaction scenario, leading to a moderate score.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that surrounding agent #2 will yield to the ego agent due to its stopped status and red traffic light, while the ego agent is moving with a green arrow. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the context provided. The conclusion that there will be no conflict and that surrounding agent #2 will yield is well-supported by the facts presented, making the reasoning faithful.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #3 will yield to the ego agent due to the red traffic light and the ego agent's green arrow. However, it does not explicitly mention that the ego agent is exiting the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly notes that surrounding agent #3 is not moving, has a red traffic light, and is behind the ego agent, which logically leads to the conclusion that it will yield to the ego agent.", + "problem_score_avg": "8.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #4 will yield to the ego agent due to the red traffic light. While the AI correctly identifies that surrounding agent #4 is not moving and has a red light, it incorrectly concludes that there is no interaction instead of acknowledging the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided, as it accurately describes the positions and statuses of the ego agent and surrounding agent #4. However, it fails to logically extend this reasoning to the conclusion of yielding, which is a critical aspect of the interaction.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. However, it incorrectly mentions that surrounding agent #5 is on the same side of the intersection as the ego agent, when it is actually on the left of the intersection.", + "Faithfulness score": "7", + "Faithfulness explanation": "The conclusions drawn by the AI are somewhat consistent with its reasoning, but it contains an error by stating that surrounding agent #5 is on the same side of the intersection as the ego agent. This mistake slightly weakens the faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth. It correctly states that surrounding agent #6 will have no interaction with the ego agent, emphasizing that agent #6 is not moving and is heading in the opposite direction. This aligns perfectly with the ground truth, which also highlights that the stationary agent #6 poses no conflict due to the ego agent's U-turn maneuver.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It logically concludes that the paths of the ego agent and surrounding agent #6 do not conflict, given agent #6's stationary state and opposite direction. This reasoning is sound and directly supports the conclusion, making it fully faithful to the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies the ego agent's intention to complete the U-turn and acknowledges the green arrow as granting the right of way. However, it inaccurately includes surrounding agents #5 and #6 in the list of agents that will not interfere, even though the ground truth explicitly states that no response is needed towards them. This is a minor deviation from the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly links the green arrow to the right of way and the completion of the U-turn. However, it slightly misrepresents the role of surrounding agents #5 and #6 by grouping them with other agents that will yield, which is not entirely consistent with the context provided.", + "problem_score_avg": "8.5" + } + } + }, + "1074089cb5094c55": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it fails to acknowledge that surrounding agent #0 will yield to the ego agent due to the ego agent being closer to the intersection center. The AI incorrectly concludes that there will be minimal interaction, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the details provided, such as the description of the agents' positions and speeds. However, the conclusion drawn about minimal interaction is not supported by the reasoning and contradicts the scenario's dynamics.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that an interaction will occur and that surrounding agent #1 will yield to the ego agent, which aligns with the ground truth answer. The AI accurately considers the positions, speeds, and distances to the intersection to conclude that the ego agent has the right of way.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically analyzes the positions and speeds of the agents, correctly determining that the ego agent is closer to the intersection and will arrive first, leading to the conclusion that surrounding agent #1 will yield.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but deviates from the ground truth. While it correctly identifies the movements of both the ego agent and surrounding agent #200, it incorrectly assumes an interaction will occur. The ground truth clearly states there will be no interaction as the pedestrian is behind the ego agent and their paths do not cross. The AI's focus on the crosswalk and right of way is unnecessary given the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, but it introduces unnecessary assumptions about potential interactions and right of way. While the reasoning about speeds and distances is logical, it does not align with the ground truth's clear statement of no interaction. The AI should have focused on the positional context rather than hypothetical scenarios.", + "problem_score_avg": "5.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct as it correctly identifies that surrounding agent #3 is stationary and positioned 4 meters on the right and 3 meters in front of the ego agent. However, it fails to acknowledge that surrounding agent #3 will yield to the ego agent, as stated in the ground truth. The AI focuses on the lack of immediate interaction but misses the yielding behavior, which is a critical aspect of the scenario.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies the stationary status of surrounding agent #3 and the ego agent's constant speed, leading to the conclusion of no immediate interaction. However, the reasoning does not extend to include the yielding behavior, which is the primary focus of the ground truth.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #4. This aligns with the ground truth, which explains that they are heading in opposite directions and surrounding agent #4 is not moving, leading to no conflict.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that surrounding agent #4 is stationary and positioned 1 meter in front of the ego agent, supporting the conclusion that there will be no interaction. The reasoning is sound and logically leads to the conclusion.", + "problem_score_avg": "9.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #5. This aligns with the ground truth answer, which notes that surrounding agent #5 is not moving and heading in the opposite direction, thus not affecting the ego agent's movement.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The explanation provided logically supports the conclusion that no interaction will occur, as surrounding agent #5 is not moving and is positioned behind the ego agent, making it irrelevant to the ego agent's path.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #6, which aligns perfectly with the ground truth. The explanation provided by the AI, detailing that surrounding agent #6 is stationary and not in a position to disrupt the ego agent's motion, is accurate and consistent with the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the context provided. The conclusions drawn are consistent with the facts: surrounding agent #6 is stationary, positioned behind and to the right of the ego agent, and not on a collision course. The AI accurately concludes that no interaction will occur based on this reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. This is in line with the ground truth answer, which states that they are heading in opposite directions and surrounding agent #7 is not moving.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusion. It accurately describes the positions and states of the ego agent and surrounding agent #7, and correctly concludes that no interaction will occur based on these factors.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #8, which aligns with the ground truth. The reasoning provided by the AI is consistent with the context, where surrounding agent #8 is not moving and is positioned behind the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the context. It correctly identifies that surrounding agent #8 is not moving and is positioned behind the ego agent, which logically leads to the conclusion that there will be no interaction between them. The reasoning is consistent and supports the conclusion effectively.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, as the surrounding agent is not moving and their paths do not conflict. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. The AI accurately states that surrounding agent #9 is not moving and is positioned such that there is no conflict with the ego agent's path. The conclusion logically follows from the premises provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #10, which aligns with the ground truth. Both the ego agent and surrounding agent #10 are heading in opposite directions, and surrounding agent #10 is stationary, which supports the conclusion of no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It correctly identifies that surrounding agent #10 is stationary and positioned behind the ego agent, leading to no conflict in their paths. The explanation logically supports the conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #11 will yield to the ego agent, aligning with the ground truth. However, the AI incorrectly states that surrounding agent #11 is on the same lane as the ego agent, which isn't explicitly mentioned in the context. Additionally, the AI's explanation about the crosswalk is less relevant to the yielding decision, which is primarily based on proximity to the intersection center.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent but contains inaccuracies. The AI correctly concludes that surrounding agent #11 will yield, but its explanation unnecessarily focuses on the crosswalk, which is not the primary factor in the yielding decision. The mention of the same lane is also inconsistent with the context, which doesn't specify the lane for surrounding agent #11.", + "problem_score_avg": "7.5" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #12, aligning with the ground truth. The reasoning that the stationary status of surrounding agent #12 and the distance between the two agents eliminate potential interaction is accurate.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies that the stationary status of surrounding agent #12 and the significant distance from the ego agent ensure no interaction, which logically supports the conclusion of no anticipated interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue towards the intersection at a constant speed. However, it misses the ground truth detail about the interactions with surrounding agents #0, #1, and #3, who will yield to the ego agent. Additionally, the focus on the crosswalk is somewhat misplaced, as the ground truth does not emphasize this aspect.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the context provided. It logically concludes that the ego agent will continue moving at a constant speed and considers potential interactions with the crosswalk. However, the reasoning could have been more aligned with the ground truth by including the interactions with specific surrounding agents.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp1.json b/grades/direct/deepseek_grades_direct_direct_exp1.json new file mode 100644 index 0000000..4a4253f --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp1.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses a key point. While it correctly identifies the relative positions and speeds of the ego agent and surrounding agent #0, it incorrectly implies a potential collision risk and lane change need, which are not mentioned in the ground truth. The ground truth emphasizes that surrounding agent #0 will lead the ego agent, focusing on their shared direction and speed differential, without suggesting collision risks.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It logically analyzes the relative speeds, positions, and acceleration of the agents, drawing conclusions about potential interactions. However, it introduces additional scenarios (collision risk, lane change) that, while plausible, are not directly supported by the ground truth. The reasoning itself is coherent and faithful to the details provided.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer is incorrect as it suggests that the ego agent and surrounding agent #1 will interact, while the ground truth explicitly states they will not interact since they are on different lanes and their paths do not cross. The AI\u2019s analysis of overtaking and lane navigation is unnecessary and misleading.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, as the AI correctly identifies the positions and speeds of the agents. However, it fails to conclude that no interaction will occur due to their separation in lanes, which is a significant oversight in applying the given context.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect based on the ground truth. The ground truth states that surrounding agent #3 will follow the ego agent, but the AI incorrectly concludes that there will be a passive interaction with the ego agent passing by the stationary surrounding agent #3. The AI failed to identify that agent #3 is behind the ego agent and will follow it, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, as it analyzes the positions and motions of the agents. However, it incorrectly interprets the situation by assuming agent #3 is stationary and does not recognize that it will follow the ego agent. This inconsistency reduces the faithfulness score.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's prediction of a potential collision or avoidance maneuver is incorrect. The ground truth clearly states that there will be no interaction because the ego agent and surrounding agent #4 are on different lanes and their paths do not cross. The AI misinterpreted the relative positions and failed to acknowledge the separation due to different lanes.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusions but contains significant errors. It correctly identified the positions and movements of the agents but incorrectly inferred a collision risk. The logic about potential avoidance maneuvers is consistent with its flawed assumption of collision risk but does not align with the ground truth.", + "problem_score_avg": "3.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a potential interaction between the ego agent and surrounding agent #5, including the possibility of passing and the need for caution. However, the ground truth explicitly states that there will be no interaction because the agents are on different lanes with no indication of their paths crossing. This discrepancy makes the AI's answer incorrect.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically analyzes the relative positions, speeds, and directions of the ego agent and surrounding agent #5, and its conclusion about potential interactions and the need for caution follows from this analysis. However, the conclusion is flawed because it contradicts the ground truth, which is why the faithfulness score is high but not perfect.", + "problem_score_avg": "5.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent will overtake surrounding agent #6, whereas the ground truth indicates that surrounding agent #6 will follow the ego agent. The AI misinterprets the motion status of surrounding agent #6, leading to an incorrect conclusion.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is faithful to the information provided by the AI. It logically follows the details about the ego agent and surrounding agent #6, but it incorrectly interprets the motion status of surrounding agent #6, leading to a flawed conclusion.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that an interaction will occur is incorrect. The ground truth states that there will be no interaction, as the agents are on different lanes and their paths do not cross. The AI misunderstood the situation by suggesting the ego agent would pass by surrounding agent #7, which is not supported by the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is partially consistent with the provided context but leads to an incorrect conclusion. The AI correctly identifies the positions and motion statuses of the agents but fails to align this with the ground truth, which clearly states no interaction will occur. The reasoning is logical but not faithful to the correct outcome.", + "problem_score_avg": "3.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's conclusion that surrounding agent #8 will overtake the ego agent is partially correct, but it fails to emphasize the key point from the ground truth that their paths do not cross because they are heading in opposite directions. The AI incorrectly assumes both are departing from the intersection in the same general direction, which is not supported by the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, but it misinterprets the direction of travel for surrounding agent #8. The AI assumes both agents are departing from the intersection in the same direction, which leads to an incorrect prediction of overtaking. The reasoning should have focused on the fact that their paths do not intersect due to opposing directions.", + "problem_score_avg": "5.5" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. It suggests that the ego agent will overtake surrounding agent #9, but the ground truth clearly states that there will be no interaction because they are on different lanes and their paths do not cross. The AI failed to consider the lane difference as a critical factor in determining the lack of interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the provided data but misses the key detail about the lanes. The AI correctly analyzed the speeds, positions, and directions but did not account for the fact that the agents are on different lanes, which is crucial for the conclusion. Thus, while the reasoning is logical, it is incomplete and led to an incorrect conclusion.", + "problem_score_avg": "4.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in stating that there is no interaction between the ego agent and surrounding agent #10. However, the AI incorrectly mentions that surrounding agent #10 is in the same lane as the ego agent, which is not stated in the context. The context specifies that surrounding agent #10 is 7 meters to the left of the ego agent, not in the same lane. This inaccuracy affects the correctness of the answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly identifies that the ego agent is moving away from a stationary surrounding agent #10, leading to no interaction. However, the AI's assumption about surrounding agent #10 being in the same lane is unfaithful to the provided context, which affects the overall faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that the ego agent will overtake surrounding agent #11 is incorrect. The ground truth explicitly states that there will be no interaction as they are on different lanes with no crossing paths. The AI failed to assert this key point, focusing instead on overtaking, which is irrelevant given the lane separation.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent but flawed. The AI correctly notes the speed and position differences but incorrectly concludes overtaking is the primary interaction. It fails to align its reasoning with the fact that lane separation means no interaction, making its conclusions inconsistent with the key detail of lane positioning.", + "problem_score_avg": "5.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it contradicts the ground truth. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. However, the AI incorrectly claims that surrounding agent #12 is stationary and that there will be no interaction. This misinterprets the dynamics of the scenario.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided information, as it correctly identifies the positions and directions of the ego agent and surrounding agent #12. However, it incorrectly assumes that surrounding agent #12 is stationary, which leads to an inconsistent conclusion. The reasoning itself is logical but fails to align with the ground truth due to this incorrect assumption.", + "problem_score_avg": "4.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #13 will have no interaction with the ego agent as they are heading in opposite directions and their paths do not cross. The AI incorrectly concludes that the ego agent and surrounding agent #13 will interact, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful. The AI correctly identifies the speeds and positions of both agents but fails to correctly interpret the direction of travel. The conclusion about potential interaction is inconsistent with the reasoning, as the AI does not account for the fact that the agents are heading in opposite directions.", + "problem_score_avg": "3.5" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's conclusion that surrounding agent #14 will overtake the ego agent is incorrect. The ground truth clearly states that there will be no interaction between the two agents because they are heading in opposite directions and their paths do not cross. The AI's analysis fails to fully consider the directional context provided in the scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, as it correctly identifies the positions and speeds of the agents. However, it misinterprets the impact of the directional information, leading to a conclusion that does not align with the scenario. The reasoning is partially faithful but flawed in its final interpretation.", + "problem_score_avg": "4.5" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #15 is leading the ego agent. While the AI correctly identifies the speed difference and potential for the ego agent to approach agent #15, it fails to emphasize the leading role of agent #15 as stated in the ground truth. The focus on collision avoidance is accurate but incomplete.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. It correctly analyzes the relative speeds, positions, and directions of both agents, and its conclusions about potential interactions follow from the provided data. However, the reasoning could have more explicitly aligned with the ground truth by highlighting the leading role of agent #15.", + "problem_score_avg": "8.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it suggests a potential interaction between the ego agent and surrounding agent #16, while the ground truth clearly states there will be no interaction as they are heading in opposite directions and their paths do not cross.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partially faithful but flawed. The AI correctly identifies the positions and speeds of both agents, but it incorrectly assumes a potential interaction due to the speed difference, contradicting the ground truth's assertion of no interaction due to opposite directions and non-crossing paths.", + "problem_score_avg": "3.0" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue heading towards the intersection while accelerating. However, it incorrectly suggests the possibility of the ego agent overtaking surrounding agent #0, which is not mentioned in the ground truth. Additionally, the AI does not explicitly mention that the ego agent will lead surrounding agent #6 and follow surrounding agent #15, which is a key part of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It accurately analyzes the ego agent's acceleration and the surrounding agents' movements, leading to the conclusion that the ego agent will continue through the intersection. However, the reasoning about potential lane changes or overtaking is not fully supported by the provided context, which slightly detracts from the faithfulness.", + "problem_score_avg": "7.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp2.json b/grades/direct/deepseek_grades_direct_direct_exp2.json new file mode 100644 index 0000000..b497e75 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp2.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but incorrectly states that surrounding agent #0 is decelerating, which contradicts the provided context. The AI also focuses on the ego agent slowing down, which, while a possible action, is not the primary interaction described in the ground truth. The ground truth emphasizes that surrounding agent #0 will lead the ego agent, which the AI does not explicitly address.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions, but it contains an error regarding the motion status of surrounding agent #0 (incorrectly stating it is decelerating instead of accelerating). This error affects the faithfulness of the reasoning. Otherwise, the logic of slowing down or changing lanes to avoid collision is consistent with the described scenario.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it states that the ego agent and surrounding agent #1 are on the same lane, which is not true. The context clearly mentions that surrounding agent #1 is 11 meters on the right of the ego agent, indicating different lanes. The ground truth correctly identifies that there will be no interaction as they are on different lanes and their paths do not cross.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its incorrect assumption that the agents are on the same lane. However, the conclusion about the need for the ego agent to maneuver is based on this faulty premise. The reasoning process itself is logical but misaligned with the actual context provided.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion is incorrect. Surrounding agent #3 is not on the same lane as the ego agent, and the AI did not consider that the ego agent is moving forward while surrounding agent #3 is stationary. The ground truth correctly states that surrounding agent #3 is behind the ego agent but on the same lane, which the AI missed. The AI's conclusion that the ego agent will pass surrounding agent #3 by safely is incorrect as the ground truth indicates that surrounding agent #3 will follow the ego agent, implying a potential interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the information provided. The AI correctly notes that the ego agent is accelerating and that surrounding agent #3 is stationary and positioned behind and to the left of the ego agent. However, the conclusion that there will be no direct interaction is not fully supported by the reasoning, as the AI did not accurately interpret the relative positions and directions of travel of the two agents.", + "problem_score_avg": "4.5" + } + }, + "Interactions_3": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's conclusion that the ego agent will pass surrounding agent #4 without significant interaction is correct. However, the AI introduces unnecessary hypothetical scenarios (e.g., vehicle width, lane markings, intersection rules) that are not relevant to the ground truth answer, which simply states there is no interaction due to different lanes and non-crossing paths.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, but it includes speculative elements (e.g., vehicle width, lane markings) that are not supported by the provided context. These additions slightly detract from the faithfulness of the reasoning to the given data.", + "problem_score_avg": "7.5" + } + }, + "Interactions_4": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it suggests that an interaction is expected where the ego agent overshoots surrounding agent #5. The ground truth states that there will be no interaction since they are on different lanes and there is no indication of their paths crossing.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, but it incorrectly assumes a potential interaction despite the agents being on different lanes. The conclusion does not align with the lack of path crossing, making the reasoning partially faithful but ultimately flawed.", + "problem_score_avg": "3.5" + } + }, + "Interactions_5": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #6 will follow the ego agent, as both are heading towards the intersection and agent #6 is behind the ego agent on the same lane. The AI incorrectly concluded a passing maneuver, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identified the positions of the ego agent and surrounding agent #6 and noted that the ego agent is accelerating. However, the conclusion of a passing maneuver is inconsistent with the fact that surrounding agent #6 is stationary and should follow the ego agent, not be passed by it.", + "problem_score_avg": "3.0" + } + }, + "Interactions_6": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI incorrectly states that surrounding agent #7 is on the same lane as the ego agent, which contradicts the ground truth stating they are on different lanes. This fundamental error affects the correctness of the conclusion.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is consistent with the erroneous assumption that both agents are on the same lane. However, the conclusion that the ego agent will pass surrounding agent #7 without collision is logically derived from this incorrect premise, indicating partial faithfulness.", + "problem_score_avg": "5.0" + } + }, + "Interactions_7": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests potential interactions between the ego agent and surrounding agent #8, such as lane changes or maintaining distance, which are not supported by the ground truth. The ground truth clearly states that there will be no interaction because they are heading in opposite directions and their paths do not cross. The AI's response fails to align with this conclusion.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially faithful but flawed. While it correctly identifies the relative positions and speeds of the agents, it incorrectly assumes potential interaction points (e.g., lane changes or maintaining distance) that are inconsistent with the context. The conclusions drawn are not fully supported by the reasoning, as the context explicitly indicates no interaction.", + "problem_score_avg": "3.0" + } + }, + "Interactions_8": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly suggests a potential interaction or collision between the ego agent and surrounding agent #9, which contradicts the ground truth that there will be no interaction. The AI misinterprets the relative positions and trajectories, leading to an incorrect conclusion.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions but is based on flawed assumptions. While the steps logically lead to the AI's prediction of an interaction, the initial analysis of the agents' trajectories and relative positions is incorrect, leading to an unfaithful conclusion.", + "problem_score_avg": "3.0" + } + }, + "Interactions_9": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #10, as the latter is not moving and their paths do not cross. The AI, however, incorrectly suggests that the ego agent is approaching agent #10 and implies a need for monitoring, which contradicts the ground truth.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identifies the positions and states of both agents but draws an incorrect conclusion. While the reasoning about the agents' positions and movements is consistent, the final conclusion about potential interaction is inconsistent with the facts provided, leading to a lower score.", + "problem_score_avg": "2.5" + } + }, + "Interactions_10": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #11 because they are on different lanes and their paths do not cross. The AI's conclusion that the ego agent needs to yield is incorrect as it contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it considers the relative positions and motions of the agents. However, the reasoning fails to account for the fact that the agents are on different lanes and their paths do not intersect, which should have led to the correct conclusion of no interaction.", + "problem_score_avg": "3.5" + } + }, + "Interactions_11": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. However, the AI incorrectly concluded that the ego agent will pass surrounding agent #12, which contradicts the ground truth. Additionally, the AI incorrectly stated that agent #12 is stationary, which is not supported by the context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, but it is based on incorrect assumptions. The AI correctly identifies the positions and speeds of the ego agent and surrounding agent #12 but fails to interpret the context accurately. The conclusion about no immediate collision is logical based on the AI's assumptions, but the overall reasoning does not align with the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_12": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that there will be no interaction between the ego agent and surrounding agent #13 because they are heading in opposite directions and their paths do not cross. The AI incorrectly concluded that there is a collision risk and potential interaction, which contradicts the provided context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful but flawed. While it correctly analyzes the motion and trajectories of both agents, it fails to consider the key detail that they are heading in opposite directions and their paths do not intersect. This oversight leads to incorrect conclusions about potential collision risks and interactions.", + "problem_score_avg": "3.0" + } + }, + "Interactions_13": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it predicts an interaction between the ego agent and surrounding agent #14, while the ground truth explicitly states there will be no interaction because they are heading in opposite directions and their paths do not cross.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, but the reasoning itself is flawed. It incorrectly assumes both agents are moving towards the intersection and that their paths may cross, leading to an incorrect prediction of interaction.", + "problem_score_avg": "4.0" + } + }, + "Interactions_14": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but contradicts the ground truth. The ground truth states that surrounding agent #15 will lead the ego agent as both are departing from the intersection, implying that the ego agent will follow. However, the AI suggests the ego agent will overtake surrounding agent #15, which is not aligned with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the relative positions and speeds of the agents and provides a logical analysis of the situation. However, the conclusion about overtaking is inconsistent with the ground truth.", + "problem_score_avg": "6.5" + } + }, + "Interactions_15": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a significant interaction between the ego agent and surrounding agent #16, which contradicts the ground truth that there will be no interaction. The reasoning fails to consider that the agents are heading in opposite directions and their paths do not cross, leading to an incorrect conclusion.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, but it overlooks critical details from the context, such as the opposite directions of travel and the lack of path intersection. This inconsistency makes the reasoning less faithful to the actual scenario.", + "problem_score_avg": "3.0" + } + }, + "Interactions_16": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but lacks specificity. It correctly identifies that the ego agent intends to proceed through the intersection and considers the movements of surrounding agents. However, it fails to explicitly mention the ego agent's intention to follow Surrounding Agent #0 and #15 and lead Surrounding Agent #6, as stated in the ground truth. Additionally, the AI overcomplicates the reasoning by introducing unnecessary considerations like traffic light status and road markings, which were not provided in the context.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It logically analyzes the ego agent's situation and the movements of surrounding agents, and its conclusion that the ego agent will proceed through the intersection aligns with the reasoning. However, the reasoning introduces speculative elements (e.g., traffic light status, road markings) that are not supported by the provided context, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "6.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp3.json b/grades/direct/deepseek_grades_direct_direct_exp3.json new file mode 100644 index 0000000..464304b --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp3.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's conclusion that the ego agent will pass surrounding agent #0 is incorrect. The ground truth states that surrounding agent #0 will lead the ego agent as it is slower but ahead on the same lane, and both are heading towards the intersection. The AI missed the context that surrounding agent #0 is departing the intersection, which implies it will continue moving away, not allowing the ego agent to pass.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It analyzes the speeds, positions, and trajectories of both agents and logically deduces the possibility of the ego agent passing surrounding agent #0. However, the reasoning fails to incorporate the critical detail that surrounding agent #0 is departing the intersection, which significantly impacts the interaction.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will overtake surrounding agent #1, which contradicts the ground truth that there will be no interaction. The AI failed to recognize that the agents are on different lanes and their paths do not cross.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the analysis provided, but it inaccurately concludes an overtaking scenario. The AI correctly identifies the speeds and directions but misses the key point about the lanes being different, leading to a faulty conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth indicates that surrounding agent #3 will follow the ego agent, but the AI incorrectly concluded that there could be a potential collision. The AI failed to recognize that surrounding agent #3 is not on the same lane as the ego agent, which contradicts the ground truth's assertion.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided context, as it correctly identifies surrounding agent #3's stationary state and position relative to the ego agent. However, it misinterprets the interaction by focusing on potential collision rather than recognizing the lane difference, which is inconsistent with the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI incorrectly predicts a potential future interaction between the ego agent and surrounding agent #4, whereas the ground truth explicitly states there will be no interaction. The AI's conclusion contradicts the ground truth, which is based on the fact that the agents are on different lanes and their paths do not cross.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially consistent with the information provided, but it incorrectly assumes potential future interactions without sufficient evidence. The conclusion drawn by the AI does not fully align with the reasoning, as it fails to recognize the key detail that the agents are on different lanes and their paths do not intersect.", + "problem_score_avg": "3.0" + } + }, + "Interactions_4": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly assumes a potential conflict or interaction between the ego agent and surrounding agent #5. The ground truth explicitly states there will be no interaction since they are on different lanes and their paths do not cross. The AI's conclusion is incorrect based on the provided context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the analysis but ultimately diverges from the key detail in the context\u2014that their paths do not cross. The AI's assumption of potential conflict contradicts the context, making the reasoning unfaithful to the actual scenario.", + "problem_score_avg": "3.5" + } + }, + "Interactions_5": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially incorrect. While it correctly identifies that the ego agent and surrounding agent #6 are on the same lane and traveling in the same direction, it incorrectly states that surrounding agent #6 is stationary and does not pose an immediate interaction risk. The ground truth answer indicates that surrounding agent #6 will follow the ego agent, implying it is moving or will move, which contradicts the AI's assertion that it is not moving.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly analyzes the positions and directions of the agents but fails to consider the possibility that surrounding agent #6 might move or follow the ego agent, as indicated in the ground truth. The reasoning is faithful to the information it considers, but it misses a critical aspect, which affects the overall correctness.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. This aligns with the ground truth answer, which states that they are on different lanes and there is no indication of their paths crossing.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately notes that surrounding agent #7 is stationary and the ego agent is accelerating, leading to no interaction. However, the AI could have explicitly mentioned the different lanes, which is a key point in the ground truth answer.", + "problem_score_avg": "9.0" + } + }, + "Interactions_7": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential collision or close call between the ego agent and surrounding agent #8, while the ground truth clearly states that there will be no interaction since they are heading in opposite directions and their paths do not cross. The AI's analysis is flawed in considering relative speed and potential collision risks, which are irrelevant in this scenario.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent but misses the key point that the agents are moving in opposite directions and their paths do not intersect. While the AI correctly identifies their speeds and directions, it incorrectly infers a collision risk, which contradicts the logical conclusion that no interaction will occur. The reasoning is partially faithful but ultimately inaccurate.", + "problem_score_avg": "3.0" + } + }, + "Interactions_8": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that a potential collision is likely between the ego agent and surrounding agent #9 is incorrect. The ground truth clearly states that there will be no interaction between them as they are on different lanes and there is no indication of their paths crossing. The AI failed to accurately assess the spatial relationship and potential for interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, but it overlooks critical details. While it correctly notes the speed and acceleration of both agents, it fails to adequately consider the lane positions and the fact that their paths do not intersect. The conclusion of a potential collision is not fully supported by the reasoning provided.", + "problem_score_avg": "3.5" + } + }, + "Interactions_9": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there is no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is stationary and there is no indication of their paths crossing, which aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It accurately analyzes the status, location, and direction of surrounding agent #10 and correctly concludes that there is no interaction with the ego agent.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction between the ego agent and surrounding agent #11, such as merging or collision. However, the ground truth explicitly states that no interaction is anticipated as they are on different lanes and their paths do not cross. The AI's conclusion is incorrect.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is inconsistent with its conclusions. While it correctly identifies the positions and speeds of the agents, it incorrectly infers potential interactions like merging or collision, which are not supported by the context. The reasoning does not logically lead to the conclusion drawn.", + "problem_score_avg": "3.0" + } + }, + "Interactions_11": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #12 is on the same lane and will follow the ego agent, as per the ground truth. The AI incorrectly concludes that surrounding agent #12 is stationary and that the ego agent will pass it, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided about surrounding agent #12 being stationary, but it does not align with the ground truth that agent #12 is following the ego agent. The AI's conclusions are faithful to its interpretation of the data, but that interpretation is incomplete.", + "problem_score_avg": "5.0" + } + }, + "Interactions_12": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer incorrectly predicts a potential conflict or hazardous situation between the ego agent and surrounding agent #13. The ground truth clearly states that there will be no interaction as they are heading in opposite directions with no indication of their paths crossing. The AI's analysis misinterprets the directions and potential interaction, leading to an incorrect conclusion.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its analysis but fails to correctly interpret the directions of travel. While it correctly identifies the speeds and positions of both agents, it incorrectly assumes a potential conflict due to a misunderstanding of their trajectories. The conclusion drawn is not fully faithful to the reasoning provided, as it overlooks the critical detail of the opposite directions of travel.", + "problem_score_avg": "3.0" + } + }, + "Interactions_13": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #14 due to their opposite directions and the lack of intersecting paths. However, it slightly misinterprets the scenario by suggesting they will 'pass each other,' which is not entirely accurate since they are moving away from each other rather than passing.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is mostly consistent with the conclusions drawn. It accurately analyzes the direction, speed, and position of both agents. The only minor inconsistency is the mention of 'passing each other,' which is not entirely faithful to the context of their movement.", + "problem_score_avg": "8.5" + } + }, + "Interactions_14": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer suggests an overtaking maneuver, which is incorrect. The ground truth states that surrounding agent #15 will lead the ego agent as it is in front on the same lane and both are departing from the intersection. The AI misinterpreted the direction of travel, leading to an incorrect conclusion.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided information, but the AI incorrectly interprets the direction of travel of the ego agent, leading to a flawed conclusion. The steps followed are logical but based on a misinterpretation.", + "problem_score_avg": "6.0" + } + }, + "Interactions_15": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that surrounding agent #16 will have no interaction with the ego agent as they are heading in opposite directions and there is no indication of their paths crossing. The AI incorrectly inferred that the ego agent would likely overtake surrounding agent #16, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful. The AI correctly analyzed the speed and acceleration of both agents but failed to consider the direction of travel correctly. The conclusion about overtaking is inconsistent with the direction of travel, which was not properly accounted for in the reasoning.", + "problem_score_avg": "3.5" + } + }, + "Interactions_16": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses key details. It correctly identifies that the ego agent is accelerating and intends to continue forward. However, it fails to explicitly mention the ego agent's intention to lead and follow specific surrounding agents (e.g., #6, #0, and #15), which is a crucial part of the ground truth. The broader interpretation of potential lane changes or navigation through the intersection is speculative and not supported by the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI answer is mostly consistent with the information provided. It correctly analyzes the ego agent's current velocity, acceleration, and lane position. However, it introduces speculative scenarios (e.g., lane changes) without sufficient evidence from the context. The conclusions are logically derived but lack precision in aligning with specific details in the ground truth.", + "problem_score_avg": "6.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp4.json b/grades/direct/deepseek_grades_direct_direct_exp4.json new file mode 100644 index 0000000..ba48a39 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp4.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer acknowledges that surrounding agent #0 is ahead of the ego agent and both are moving out of the intersection, which aligns with the ground truth. However, the AI's focus on potential deviations from traffic rules and the possibility of a near-miss detracts from the simplicity of the ground truth, which emphasizes that Agent #0 will lead the ego agent. This overcomplication lowers the score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly identifies the positions and movements of both agents and discusses potential interactions based on these factors. However, the introduction of hypothetical deviations from traffic rules, while plausible, is not strictly necessary for answering the question and slightly dilutes the faithfulness to the provided context.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent and surrounding agent #1 are on the same lane and predicts an interaction involving overtaking or potential conflict. However, the ground truth states that they are on different lanes with no indication of their paths crossing, meaning there will be no interaction.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful to the information provided but makes incorrect assumptions. It correctly analyzes the speed, acceleration, and positions of the agents but incorrectly assumes they are on the same lane, leading to flawed conclusions. The conclusions are consistent with the reasoning but the reasoning itself is based on incorrect premises.", + "problem_score_avg": "3.5" + } + }, + "Interactions_2": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #3 will follow the ego agent, as they are both heading towards the intersection and agent #3 is behind the ego agent on the same lane. However, the AI incorrectly concluded that a collision or near-collision is likely, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, but it is based on incorrect assumptions. The AI correctly analyzed the relative positions and velocities of the agents but misinterpreted the situation, leading to a flawed conclusion. The reasoning is internally consistent but not aligned with the actual scenario.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction or collision between the ego agent and surrounding agent #4, contrary to the ground truth which states they will have no interaction. The AI misinterpreted the positional data and motion states, leading to a flawed conclusion.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the data it used, but it fails to accurately interpret the spatial relationship and motion status of the agents. The conclusions drawn are not entirely faithful to the provided context, as it incorrectly assumes a lane change and potential conflict that do not align with the ground truth.", + "problem_score_avg": "3.0" + } + }, + "Interactions_4": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that the ego agent will need to yield to surrounding agent #5 is incorrect. The ground truth clearly states that there will be no interaction as they are on different lanes and their paths do not cross. The AI misinterpreted the positions and potential interaction dynamics.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially consistent but flawed. It correctly identifies positions and velocities but wrongly assumes the paths will cross. The conclusion of yielding is inconsistent with the analysis, which should have led to the conclusion of no interaction due to different lanes.", + "problem_score_avg": "2.5" + } + }, + "Interactions_5": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI incorrectly assumes that surrounding agent #6 is static and will not interact dynamically with the ego agent. The ground truth states that agent #6 will follow the ego agent, implying it is in motion and moving towards the intersection, which contradicts the AI's conclusion.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is consistent with its incorrect assumption that surrounding agent #6 is static. However, the conclusions drawn are not faithful to the actual scenario where agent #6 is in motion and will follow the ego agent.", + "problem_score_avg": "2.5" + } + }, + "Interactions_6": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #7 because they are on different lanes and their paths do not cross. The AI incorrectly concluded that overtaking would occur, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion. It correctly identifies the lane positions and motion status of both agents. However, it fails to consider that the paths of the agents do not cross, which is critical to the ground truth. The reasoning leads to an incorrect conclusion but is logically structured.", + "problem_score_avg": "5.0" + } + }, + "Interactions_7": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #8 because they are heading in opposite directions and their paths do not cross. The AI incorrectly assumes they are heading towards the intersection and will interact, which contradicts the ground truth.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is inconsistent with the provided data. While it correctly identifies some details like speed and position, it incorrectly concludes that there will be an interaction despite the direction of travel being opposite. The reasoning does not align with the conclusion, leading to a low faithfulness score.", + "problem_score_avg": "2.0" + } + }, + "Interactions_8": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. It incorrectly states that the ego agent and surrounding agent #9 are in the same lane, when in fact, they are on different lanes (ego agent on the 2nd lane from the right and surrounding agent #9 on the 4th lane to the left). The ground truth clearly states there will be no interaction as they are on different lanes and their paths do not cross.", + "Faithfulness score": "3", + "Faithfulness explanation": "The reasoning is inconsistent with the provided context. The AI incorrectly assumes the ego agent and surrounding agent #9 are in the same lane, leading to flawed conclusions about overtaking or close pass maneuvers. The reasoning diverges significantly from the actual scenario described in the context.", + "problem_score_avg": "2.0" + } + }, + "Interactions_9": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #10 will have no interaction with the ego agent due to its stationary state and the fact that their paths do not cross. However, the AI unnecessarily complicates the explanation by discussing lane positions and hypothetical scenarios (like lane changes), which are not directly relevant to the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, as it correctly states that surrounding agent #10 does not interfere with the ego agent. However, the reasoning includes extraneous details (e.g., lane positions and hypothetical lane changes) that do not align strictly with the simplicity of the ground truth answer, which focuses solely on the lack of interaction due to the surrounding agent's stationary state.", + "problem_score_avg": "7.5" + } + }, + "Interactions_10": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests that the ego agent might need to coordinate with Agent #11 due to their relative speeds and positions, which is incorrect. The ground truth explicitly states that there will be no interaction as they are on different lanes and their paths do not cross. The AI's reasoning contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent internally, as it analyzes the positions and speeds of the agents logically. However, it incorrectly concludes that interaction is necessary despite the evidence that the agents are on different lanes and their paths do not intersect, which undermines the overall faithfulness of the reasoning.", + "problem_score_avg": "3.5" + } + }, + "Interactions_11": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #12 is on the same lane and will follow the ego agent, not remain stationary. The AI incorrectly assumes that surrounding agent #12 is stationary and will not interact, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions, but it is based on the incorrect assumption that surrounding agent #12 is stationary. If this assumption were correct, the reasoning would be sound, but it is not aligned with the provided context.", + "problem_score_avg": "6.5" + } + }, + "Interactions_12": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction or collision between the ego agent and surrounding agent #13, which contradicts the ground truth stating that there is no interaction as they are heading in opposite directions and their paths do not cross. The AI's conclusion is incorrect.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is somewhat consistent with the provided information but is flawed in its interpretation. The AI correctly identifies the positions and speeds of both agents but incorrectly assumes a potential interaction where there is none. The conclusions drawn are not entirely faithful to the logic that should have been applied.", + "problem_score_avg": "3.5" + } + }, + "Interactions_13": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #14. Both are traveling in opposite directions, and their paths do not cross. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. It correctly analyzes the positions, directions, and speeds of both agents. However, it introduces unnecessary details about lane changes and passing each other, which are not relevant to the conclusion that no interaction will occur. This slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "9.0" + } + }, + "Interactions_14": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer does not align with the ground truth, which states that surrounding agent #15 will lead the ego agent as it is in front on the same lane and both are departing from the intersection. The AI incorrectly focuses on potential conflicts and lane changes, which are not the main interaction described in the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusions. While it correctly identifies the positions and speeds of the agents, it overcomplicates the situation by introducing unnecessary scenarios like lane changes and potential conflicts, which are not supported by the ground truth.", + "problem_score_avg": "4.5" + } + }, + "Interactions_15": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #16, as they are heading in opposite directions and their paths do not cross. The AI incorrectly concludes that surrounding agent #16 will overtake the ego agent, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning of the AI is partially consistent but flawed. It correctly identifies the positions and speeds of the agents but incorrectly assumes they are in the same lane and heading in the same direction, leading to an incorrect conclusion. The reasoning is not fully faithful to the context, as it misinterprets the relative directions of travel.", + "problem_score_avg": "3.5" + } + }, + "Interactions_16": { + "deepinfra_models_Qwen/Qwen2.5-7B-Instruct_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key details. While it correctly identifies that the ego agent intends to continue accelerating towards the intersection, it incorrectly suggests lane changes and potential conflicts as primary actions. The ground truth emphasizes that the ego agent will follow surrounding agents #0 and #15, lead #6, and does not indicate interactions with other agents. The AI's focus on lane changes and conflicts is unnecessary and deviates from the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is generally faithful to the provided context, as the AI analyzes the surrounding agents and the ego agent's state. However, it overcomplicates the scenario by introducing unnecessary considerations like lane changes and conflicts, which are not supported by the ground truth. The conclusions are somewhat consistent with the reasoning but are not entirely aligned with the simpler, more direct course of action described in the ground truth.", + "problem_score_avg": "6.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp5.json b/grades/direct/deepseek_grades_direct_direct_exp5.json new file mode 100644 index 0000000..ef28df9 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp5.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly concludes that the ego agent will overtake or collide with surrounding agent #0, which contradicts the ground truth stating that surrounding agent #0 will lead the ego agent. The AI failed to accurately interpret the direction of travel and the relative speeds in the context of the intersection dynamics.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its analysis of the speeds, relative positions, and acceleration states. However, it misinterprets the direction of travel, leading to an incorrect conclusion. The reasoning process itself is logical but flawed in its application to the scenario.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect based on the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #1 because they are on different lanes, and their paths do not cross. However, the AI incorrectly concluded that there might be an interaction requiring lane management and speed control, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning provided by the AI is partially consistent but ultimately flawed. The AI correctly identifies the speeds, positions, and motions of the ego agent and surrounding agent #1. However, it incorrectly extrapolates that these factors could lead to an interaction, ignoring the key detail from the ground truth that the lanes are different and paths do not cross. The reasoning does not fully align with the conclusion, leading to inconsistency.", + "problem_score_avg": "3.0" + } + }, + "Interactions_2": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that surrounding agent #3 will follow the ego agent since they are both heading towards the intersection, but the AI concludes that there will be minimal interaction and that the ego agent will simply pass by. This contradicts the ground truth, which implies a following relationship rather than no interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it analyzes the positions, speeds, and directions of the ego agent and surrounding agent #3. However, it fails to correctly interpret the implications of the ground truth, which suggests a following behavior rather than a passive passing scenario. The reasoning is logical but misaligned with the actual interaction described in the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent might pass or interact with surrounding agent #4 is incorrect. The ground truth clearly states that there will be no interaction because they are on different lanes and their paths do not cross. The AI failed to accurately assess the lane positions and the lack of potential path crossing.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI\u2019s reasoning is partially consistent with its conclusions but contains significant flaws. It correctly identifies the positions and motions of both agents but incorrectly infers a potential interaction due to proximity, despite the agents being on different lanes and their paths not crossing. The reasoning lacks clarity on the key point of lane separation.", + "problem_score_avg": "3.5" + } + }, + "Interactions_4": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly suggests potential interaction between the ego agent and surrounding agent #5, based on assumptions about lane changes and paths converging. The ground truth explicitly states there will be no interaction as they are on different lanes and their paths do not cross. The AI's conclusion is inconsistent with the facts provided.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its analysis, as it logically considers factors like lane positions, speeds, and intersection dynamics. However, it strays from the provided context by speculating on lane changes and potential interactions without evidence, which undermines the faithfulness to the given information.", + "problem_score_avg": "4.5" + } + }, + "Interactions_5": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly predicts a potential rear-end collision or pressure, which is not consistent with the ground truth. The ground truth states that surrounding agent #6 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. The AI's analysis overcomplicates the scenario and misinterprets the interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it logically analyzes the positions and movements of both agents. However, the conclusion drawn is not fully supported by the provided context, leading to a less faithful alignment between reasoning and conclusion. The AI introduces unnecessary complexity and misinterprets the nature of the interaction.", + "problem_score_avg": "4.0" + } + }, + "Interactions_6": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. The reasoning provided supports this conclusion by noting that surrounding agent #7 is stationary and positioned behind and to the left of the ego agent, with no indication of their paths crossing.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically leads to the conclusion. The AI correctly analyzes the positions, motion, and potential interactions, though it includes some speculative details (e.g., lane changes) that are not strictly necessary for the conclusion. Despite this, the core reasoning remains faithful to the provided context.", + "problem_score_avg": "9.5" + } + }, + "Interactions_7": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that surrounding agent #8 will interact with the ego agent by overtaking is incorrect. The ground truth states that there will be no interaction as they are heading in opposite directions and their paths do not cross. The AI misinterpreted the directions of travel, leading to an incorrect conclusion.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its analysis, but it fails to correctly interpret the directions of travel. While the AI correctly identified the speeds and relative positions, it incorrectly assumed the agents were moving in a similar direction. The conclusion of overtaking is logically consistent with this flawed assumption but does not align with the actual scenario.", + "problem_score_avg": "3.0" + } + }, + "Interactions_8": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it concludes that the ego agent will likely overtake surrounding agent #9, while the ground truth clearly states there will be no interaction since they are on different lanes and their paths do not cross.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly faithful to the information provided, as the AI analyzes the positions, speeds, and directions of both agents. However, it incorrectly assumes the possibility of interaction despite the lane difference, which is a critical oversight.", + "problem_score_avg": "4.5" + } + }, + "Interactions_9": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct in stating that there is no immediate interaction between the ego agent and surrounding agent #10 due to the latter's stationary state. However, the AI unnecessarily complicates the explanation by discussing potential future risks and relative distances, which are not relevant given the ground truth answer's straightforward conclusion.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions, but it includes speculative elements (e.g., potential future risks) that are not supported by the provided context. This detracts from the faithfulness of the reasoning, as the conclusions should strictly align with the given information without adding unnecessary assumptions.", + "problem_score_avg": "7.5" + } + }, + "Interactions_10": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth states that there will be no interaction between the ego agent and surrounding agent #11 because they are on different lanes and their paths do not cross. However, the AI incorrectly concludes that the ego agent will likely overtake surrounding agent #11, assuming they are on the same lane. This is a fundamental error in interpreting the scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusions but is based on a flawed premise. The AI assumes the vehicles are on the same lane, which is incorrect. While the logic about overtaking is internally consistent within this flawed assumption, the reasoning fails to align with the actual scenario provided in the context.", + "problem_score_avg": "4.0" + } + }, + "Interactions_11": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer deviates significantly from the ground truth. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. However, the AI focuses on the risk of rear-end collision due to agent #12 being stationary, which is not aligned with the ground truth's emphasis on agent #12 following the ego agent.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly evaluates the positions and motion statuses of both agents and discusses potential risks based on those factors. However, it fails to align its conclusion with the ground truth's assertion about agent #12 following the ego agent, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "5.5" + } + }, + "Interactions_12": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it contradicts the ground truth, which states that there will be no interaction between the ego agent and surrounding agent #13. The AI's analysis falsely concludes a potential collision risk, despite the agents moving in opposite directions and their paths not crossing.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is largely faithful to the provided context, as the AI correctly analyzes the speeds, positions, and trajectories of the agents. However, it fails to align its conclusion with the correct interpretation of the scenario, leading to an inconsistent final judgment.", + "problem_score_avg": "4.5" + } + }, + "Interactions_13": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #14 because they are heading in opposite directions and their paths do not cross. The AI, however, predicts a potential interaction involving lane changes or overtaking, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion but is flawed. While it analyzes the positions, speeds, and directions of the agents, it misinterprets the data to suggest an interaction. The reasoning does not align with the key fact that the agents are moving in opposite directions and their paths do not intersect, which is critical to the correct conclusion.", + "problem_score_avg": "3.0" + } + }, + "Interactions_14": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #15 is ahead of the ego agent on the same lane and both are departing the intersection. However, the AI overcomplicates the explanation by introducing considerations like 'right of way,' 'traditional right-of-way context,' and 'unexpected maneuvers,' which are not directly relevant to the ground truth. The ground truth simply states that surrounding agent #15 will lead the ego agent, and the AI's additional analysis, while not incorrect, detracts from the simplicity of the scenario.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's conclusions are consistent with its reasoning. It accurately describes the positions and movements of both agents and logically concludes that the ego agent will follow surrounding agent #15 without overtaking. The reasoning is thorough and aligns with the facts provided in the scenario. However, the slight deduction in score is due to the introduction of unnecessary elements (e.g., right-of-way considerations) that slightly deviate from the core interaction described in the ground truth.", + "problem_score_avg": "8.0" + } + }, + "Interactions_15": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that surrounding agent #16 will overtake the ego agent is incorrect. The ground truth states that there will be no interaction between the two agents as they are heading in opposite directions and their paths do not cross. The AI failed to correctly interpret the directional context and relative motion of the agents.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is consistent internally but does not align with the ground truth. The AI's steps follow logically from its initial assumptions, but those assumptions are incorrect. Specifically, it misinterprets the direction of travel and relative positioning, leading to an erroneous conclusion.", + "problem_score_avg": "2.5" + } + }, + "Interactions_16": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth. It correctly identifies that the ego agent intends to continue towards the intersection while accelerating and acknowledges the presence of Surrounding Agent #0 and #15. However, it incorrectly suggests potential lane changes or overtaking maneuvers, which are not mentioned in the ground truth. The AI also overcomplicates the scenario by introducing unnecessary details about potential collisions and lane changes, which are not part of the ego agent's intended action as per the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the conclusions drawn. It logically analyzes the ego agent's acceleration and the positions of surrounding agents to infer the intended action. However, it extrapolates beyond the provided context by introducing scenarios like lane changes and overtaking, which are not explicitly supported by the ground truth. While the reasoning is thorough, it lacks strict adherence to the given information, leading to some unfaithful conclusions.", + "problem_score_avg": "6.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp6.json b/grades/direct/deepseek_grades_direct_direct_exp6.json new file mode 100644 index 0000000..738b1b4 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp6.json @@ -0,0 +1,571 @@ +{ + "10658c943a882fd2": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it speculates on potential interactions and deceleration outcomes that are not supported by the ground truth. The ground truth clearly states that there will be no interaction, as the agents are stationary and not in the ego agent's path. The AI's analysis is unnecessarily complex and introduces assumptions not present in the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided context but goes beyond the necessary analysis. It correctly identifies positions and speeds but then diverges by speculating on deceleration outcomes and potential interactions that are not supported by the ground truth. The conclusions are overly detailed and not fully aligned with the simplicity of the actual scenario.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. While it does not directly contradict the ground truth, it unnecessarily complicates the scenario by introducing potential interactions that do not exist. The core point is that there will be no interaction, which the AI fails to clearly acknowledge.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partially faithful but inconsistent. The AI correctly identifies that surrounding agent #2 is not moving and faces the opposite direction, but it then elaborates on potential interactions that do not align with this conclusion, leading to an unfocused and overcomplicated analysis.", + "problem_score_avg": "3.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly anticipates interaction between the ego agent and surrounding agent #3, despite the ground truth stating there will be no interaction. The AI's reasoning is flawed because it suggests potential adjustments or monitoring, which are unnecessary given the stationary and non-intrusive position of surrounding agent #3.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent internally, as it logically follows from the assumptions made about possible interactions due to deceleration and positioning. However, the conclusions drawn are inconsistent with the actual scenario, which clearly indicates no interaction is needed. The AI's reasoning is faithful to its assumptions but not to the ground truth.", + "problem_score_avg": "4.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that no immediate interaction will occur is correct, but the reasoning is overly verbose and includes unnecessary analysis of potential future scenarios (e.g., surrounding agent #4 starting to move) that are not relevant to the ground truth answer. The ground truth explicitly states there will be no interaction due to both agents being stationary and not in the ego agent's path, which the AI could have succinctly stated.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that no immediate interaction will occur. However, the reasoning includes speculative and irrelevant details (e.g., potential future movements of surrounding agent #4) that do not align with the simple and direct nature of the ground truth answer. The conclusion is faithful to the reasoning, but the reasoning itself is not optimally focused.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #5 because they are not moving and not in the path of the ego agent. However, the AI incorrectly anticipates a potential interaction based on the closing distance and suggests caution, which is unnecessary and contrary to the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but is flawed given the context. The AI correctly identifies the positions and directions of the agents but misinterprets the implications. Its reasoning about closing distance and caution is not consistent with the actual scenario, where no interaction is expected.", + "problem_score_avg": "4.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent is likely preparing to stop is incorrect. The ground truth states that the ego agent intends to accelerate and continue on its path, as there are no interactions with surrounding agents or traffic controls. The AI misinterpreted the deceleration as a sign of stopping rather than assessing the need to accelerate.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the provided data. It correctly analyzed the deceleration and the stationary nature of surrounding agents. However, it failed to consider the broader context that the ego agent might accelerate after assessing the situation, leading to a conclusion that is not fully faithful to the implications of the data.", + "problem_score_avg": "4.5" + } + } + }, + "1066d80d79a13a16": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in identifying that surrounding agent #0 will yield to the ego agent, as the ego agent has the right of way due to the green light. However, the answer could have been more concise and focused, as it includes unnecessary details about potential outcomes that do not align with the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is largely consistent with the conclusions drawn, but the AI introduces speculative scenarios (e.g., surrounding agent #0 misjudging and causing a conflict) that are not supported by the context. This detracts from the faithfulness of the reasoning, as it strays from the straightforward interaction described in the ground truth.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #2 may need to yield or be cautious, which contradicts the ground truth that there will be no interaction as they are heading in opposite directions and agent #2 is departing the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it evaluates the positions, speeds, and directions of both agents. However, it fails to correctly interpret the lack of interaction due to the opposite directions of travel, leading to an incorrect conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer aligns closely with the ground truth but misses the explicit mention of the ego agent having the right of way and not needing to yield to surrounding agents due to their non-conflicting paths. It correctly identifies the ego agent's intention to proceed straight but could have been more precise about the right of way.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It accurately analyzes the intersection type, traffic light status, crosswalk position, and surrounding agents' behavior. The conclusion to proceed straight is well-supported by the reasoning, though it could have emphasized the right of way more explicitly.", + "problem_score_avg": "8.5" + } + } + }, + "10689839d1d6ff15": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #0 will yield to the ego agent because it is stationary at the stop sign. While the AI correctly notes that the ego agent must stop and assess the situation, it fails to explicitly state that surrounding agent #0 is yielding due to its stationary status. The answer is overly detailed but lacks precision regarding the primary interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the context provided. It correctly analyzes the positions, speeds, and motion statuses of both agents and concludes that the ego agent must stop and assess the situation. However, the conclusion is somewhat verbose and does not directly align with the ground truth, which focuses on the yielding behavior of surrounding agent #0. The reasoning is faithful but could be more concise and precise.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly concluded that there will be no interaction between the ego agent and surrounding agent #2, aligning perfectly with the ground truth answer. Its detailed analysis of positioning, movement, and proximity supports the conclusion that surrounding agent #2 poses no immediate threat due to its stationary state and the ego agent's acceleration and eventual stop at the stop sign.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is mostly consistent, but it includes unnecessary details about the crosswalk and surrounding agent #200, which are irrelevant to the interaction between the ego agent and surrounding agent #2. However, the core reasoning about the lack of interaction due to positioning and movement remains faithful.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #3, as the latter is stationary and they are heading in opposite directions. However, the AI's reasoning includes unnecessary details about the stop sign and potential waiting scenarios, which deviate from the ground truth's straightforward explanation.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that there will be no immediate conflict. However, the reasoning includes speculative elements about the agents' behavior at the stop sign and who might proceed first, which are not supported by the provided context and slightly detract from the faithfulness of the response.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 is also at a stop sign and should yield to the ego agent. The AI focuses on the ego agent stopping but does not correctly interpret the yielding behavior of surrounding agent #4 as per the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its analysis. However, it fails to accurately conclude that surrounding agent #4 should yield, as inferred from the ground truth. The reasoning about the ego agent stopping and the potential interaction dynamics is logically sound but incomplete.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly predicts an interaction between the ego agent and surrounding agent #200, despite the ground truth stating there will be no interaction. The pedestrian is behind the ego agent and not in a position to cross paths, making the AI's conclusion incorrect.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but fails to accurately interpret the positional data. While it correctly notes the ego agent's speed and proximity to the stop sign, it misinterprets the pedestrian's position and likely interaction, leading to an unfaithful conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction between the ego agent and surrounding agent #5, while the ground truth explicitly states there will be no interaction. The AI misinterprets the scenario by assuming surrounding agent #5 is approaching the ego agent for a possible overtake or lane change, which contradicts the ground truth that they are on the same side and surrounding agent #5 is departing the intersection.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context, but it fails to align with the ground truth. The AI correctly analyzes positions, speeds, and motion statuses but incorrectly concludes an interaction based on these factors. The reasoning is internally consistent but not faithful to the actual scenario described in the ground truth.", + "problem_score_avg": "3.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will decelerate and stop at the stop sign, considering the crosswalk and surrounding agents. However, it does not explicitly mention that the ego agent will yield to surrounding agents #0 and #4, which is part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It systematically considers the intersection type, the ego agent's position and motion, the presence of the stop sign and crosswalk, and the behavior of surrounding agents, leading to the conclusion that the ego agent will stop at the stop sign. The reasoning is logical and supports the conclusion.", + "problem_score_avg": "8.5" + } + } + }, + "1068c27cceb21de5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the surrounding agent #0 will pass the ego agent due to their opposite directions. However, the AI's analysis includes unnecessary scenarios like overtaking, yielding, and crossing interactions, which are not relevant given that the vehicles are heading in opposite directions and no such complexities are mentioned in the context.", + "Faithfulness score": "7", + "Faithfulness explanation": "While the AI's reasoning is detailed, it introduces speculative scenarios (e.g., overtaking, yielding) that are not supported by the given context. The conclusions drawn are somewhat inconsistent with the reasoning, as the final assessment downplays the likelihood of interaction despite the detailed exploration of potential conflicts.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct and aligns with the ground truth. Both state that the ego agent will continue accelerating on its current lane, as there are no obstacles, traffic controls, or immediate threats from surrounding agents.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithfully supports the conclusion. It correctly analyzes the ego agent's motion, the position and direction of surrounding agent #0, and the absence of traffic controls to logically conclude that the ego agent will continue accelerating.", + "problem_score_avg": "10.0" + } + } + }, + "1069c268c8730c41": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer does not fully align with the ground truth, which states that surrounding agent #0 will yield to the ego agent because their paths do not intersect. The AI instead suggests potential risks and conflicts, which are not supported by the ground truth. However, the AI does correctly note that the agents are in opposite directions and that the ego agent is decelerating, which partly aligns with the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the information provided. It correctly analyzes the positions, speeds, and directions of both agents. However, the conclusion about potential risks and conflicts is not fully faithful to the context, as the ground truth explicitly states that their paths do not intersect, and no conflict is anticipated.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but overly cautious. The ground truth states that the ego agent intends to continue through the intersection without stopping, as there are no stop signs, traffic lights, or interactions with surrounding agent #0. However, the AI suggests that the ego agent may yield or stop due to the surrounding vehicle, which is not supported by the ground truth. The AI\u2019s conclusion about cautious deceleration is plausible but not fully aligned with the actual intent of the ego agent.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It correctly identifies the ego agent's position, speed, and deceleration, as well as the presence of the surrounding vehicle. However, it overstates the potential need for the ego agent to yield or stop, which is not explicitly supported by the context. The reasoning is logical but slightly exaggerated in its conclusions.", + "problem_score_avg": "7.0" + } + } + }, + "1069f98a6c0e2a19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but overly complex. It correctly identifies that there is no direct collision risk and that surrounding agent #0 will follow the ego agent due to the same lane and green light. However, it introduces unnecessary details and scenarios, such as speed adjustments and communication cues, which are not directly relevant to the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is consistent but overly detailed and somewhat tangential. While the AI builds a logical argument, it includes speculative elements like communication systems and potential speed adjustments that are not supported by the context. This makes the conclusion less focused and faithful to the core reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer does not accurately reflect the ground truth. The ground truth states that surrounding agent #1 will yield to the ego agent, which is a clear interaction. However, the AI concludes that there will likely be no significant interaction, which contradicts the ground truth. The AI fails to emphasize the yielding behavior of surrounding agent #1 despite recognizing the speed and distance differences.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning provided by the AI is mostly consistent with the details given, but it misses a critical conclusion. While the AI correctly analyzes the positions, speeds, and traffic light status, it does not infer that surrounding agent #1 will yield to the ego agent, which is a key aspect of the scenario. The reasoning is logical but incomplete.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is departing from the intersection and heading in the opposite direction. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It correctly analyzes the positions, speeds, motion directions, and distances of both agents, leading to the logical conclusion that there will be no interaction. However, the reasoning could be slightly more concise and focused on the key point that surrounding agent #3 is already departing, making interaction highly unlikely.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is not entirely correct as it fails to acknowledge that surrounding agent #4 will yield to the ego agent, which is a key aspect of the ground truth. While the AI correctly identifies the stationary status of surrounding agent #4 and the movement of the ego agent, it misses the specific interaction dynamic where surrounding agent #4 yields to the ego agent, despite both being in the context of approaching a crosswalk.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. The AI accurately analyzes the positions, speeds, and statuses of both agents and concludes that the interaction is passive due to the stationary nature of surrounding agent #4. However, the reasoning does not fully align with the ground truth, as it does not explicitly state the yielding behavior of surrounding agent #4, which is a critical detail.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point. The ground truth specifies that surrounding agent #5 will yield to the ego agent as it is stationary and on the right side of the intersection while the ego agent is actively departing from the intersection. The AI does not clearly acknowledge this yielding behavior, instead focusing on caution and potential adjustments by the ego agent. This misses the core interaction dynamic.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It analyzes the positions, motion status, and proximity of both agents and concludes that the ego agent should remain cautious. However, it does not explicitly connect this reasoning to the yielding behavior mentioned in the ground truth, which would have made it more faithful to the scenario.", + "problem_score_avg": "5.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct as it accurately identifies the ego agent's intent to proceed through the intersection with the right of way, considering the green traffic light. It also correctly assesses that the ego agent does not need to yield to surrounding agents #1, #4, and #5. However, it slightly misses the explicit mention of surrounding agent #0 following the ego agent, which is part of the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusions drawn. Each point made in the analysis logically supports the final conclusion that the ego agent intends to proceed through the intersection without yielding, given the green light and the statuses of the surrounding agents.", + "problem_score_avg": "9.5" + } + } + }, + "106f4f9f8d7c8227": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #0 might need to yield to the ego agent, which contradicts the ground truth that there will be no interaction between the two agents. The AI overcomplicates the scenario by introducing unnecessary considerations about the crosswalk and potential yielding, which are not supported by the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent but flawed. The AI correctly identifies the positions and speeds of the agents but incorrectly concludes that yielding might be necessary. The conclusions are not fully faithful to the straightforward context provided, which indicates no interaction between the agents.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's conclusion that there is minimal risk of collision and that the situation should evolve without incident is partially correct, but it fails to explicitly state that surrounding agent #1 will yield to the ego agent, as stated in the ground truth. The AI's analysis is more focused on the speed differential and timing, rather than emphasizing the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly analyzes the speed differential and the relative positions of the agents, and its conclusion about the minimal risk of collision aligns with this reasoning. However, the AI does not directly address the yielding behavior, which is a key aspect of the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that a collision is likely is incorrect. The ground truth states that there will be no interaction as both agents are in the intersection but not in conflict, which implies no risk of collision. The AI misinterprets the spatial relationship between the two agents, leading to an incorrect prediction of interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusion, but it contains inaccuracies. While it correctly identifies the positions, speeds, and directions of the agents, it incorrectly assumes that being directly behind implies a collision risk. The reasoning fails to account for the fact that both agents are in the intersection without conflicting paths, which aligns with the ground truth.", + "problem_score_avg": "3.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly focuses on the crosswalk and the speed difference between the ego agent and surrounding agent #4, missing the critical factor of the red traffic light that surrounds agent #4 is approaching. The ground truth explicitly states that surrounding agent #4 will yield due to the red traffic light, which the AI failed to address.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is consistent with its own analysis, as it logically explains why the ego agent will pass the crosswalk before surrounding agent #4 based on their speeds and positions. However, the reasoning is incomplete as it does not account for the red traffic light, which is a key factor in the interaction.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #5 will yield to the ego agent due to the red traffic light. However, it misses the key point that the ego agent is already in the intersection, which is a critical factor in the ground truth answer. The AI focuses more on the speed and distance dynamics, which, while relevant, are not the primary reason for the interaction outcome.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically analyzes the speed, distance, and traffic control factors to conclude that the ego agent will pass crosswalk safely. Although it does not explicitly mention the ego agent's presence in the intersection, the reasoning aligns well with the conclusion of a non-conflictual interaction.", + "problem_score_avg": "8.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it predicts a passing scenario, whereas the ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #6. The AI misinterprets the scenario by assuming a potential interaction based on speed and proximity, which contradicts the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it logically analyzes speed, direction, and proximity. However, it fails to accurately conclude that no interaction is anticipated, as per the ground truth. The reasoning is faithful in its process but flawed in its outcome.", + "problem_score_avg": "4.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer fails to recognize that surrounding agent #7 is yielding to the ego agent due to the red traffic light it is facing, as stated in the ground truth. While the AI correctly notes that surrounding agent #7 is stationary and the ego agent is accelerating, it misses the critical detail of the red traffic light affecting surrounding agent #7's behavior. This oversight significantly impacts the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions. It accurately analyzes the positions, motion statuses, and speed differentials, and correctly concludes that the interaction is non-eventful. However, it does not fully align with the ground truth because it omits the influence of the red traffic light, which is a key factor in the interaction. The reasoning is faithful to the provided information but incomplete.", + "problem_score_avg": "6.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's conclusion aligns perfectly with the ground truth answer. It correctly states that surrounding agent #8 will have no interaction with the ego agent as they are both heading towards the intersection but with no immediate conflict. The reasoning provided by the AI supports this conclusion effectively.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically flows to the conclusion. It accurately considers the positions, speeds, directions, and traffic control devices, and these factors support the final conclusion that there will be no interaction between the ego agent and surrounding agent #8.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it accurately identifies that the ego agent will continue exiting the intersection without needing to yield. However, it does not explicitly mention that surrounding agents are required to yield due to traffic lights, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically derived from the provided context. The conclusions about the ego agent's actions align with the details about its position, speed, and surrounding agents. However, the reasoning could have been slightly more focused on the traffic light constraints for surrounding agents.", + "problem_score_avg": "8.5" + } + } + }, + "107054019ae57da5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent must yield to surrounding agent #0, whereas the ground truth clearly indicates that surrounding agent #0 will yield to the ego agent. The AI misinterprets the interaction dynamics at the stop sign.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the information provided, but it fails to correctly interpret the implications of both agents approaching stop signs. The conclusion does not align with the reasoning, as it incorrectly assumes the ego agent must yield despite the surrounding agent being at a stop sign.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. However, the AI's reasoning includes unnecessary details and assumptions about the ego agent stopping at the stop sign, which are not directly relevant to the interaction with surrounding agent #2. This detracts from the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly deduces that the two agents will not interact due to their positions and motion statuses. However, the inclusion of speculative details about the ego agent's behavior at the stop sign is not entirely faithful to the provided context, as it introduces assumptions that are not directly supported by the information given.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses the key point that surrounding agent #3 will yield to the ego agent due to its stationary state and position. The AI incorrectly focuses on the ego agent yielding, which is not the primary interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the analysis provided. The AI correctly analyzes positions, speeds, and intersection dynamics, but the conclusion slightly deviates from the logical flow by emphasizing the ego agent's yielding instead of the surrounding agent's yielding.", + "problem_score_avg": "6.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 will yield to the ego agent due to its stationary position and the ego agent's approach to the intersection. The AI focuses too much on the stop sign and the ego agent's need to stop, rather than emphasizing the yielding behavior of surrounding agent #4.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. It correctly analyzes the positions, speeds, and context but fails to prioritize the crucial interaction where surrounding agent #4 yields to the ego agent. The logic is faithful but incomplete.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent should stop at the stop sign and considers the need to slow down for speed bumps. However, it misses explicitly mentioning the ego agent's need to yield to surrounding agent #0, which is a key part of the ground truth answer. It also does not explicitly state that the ego agent does not need to respond to surrounding agents #2, #3, and #4 since they are not moving.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is generally consistent with its conclusions. It correctly analyzes the stop sign, speed bumps, and the need to assess traffic before proceeding. However, it fails to fully align with the ground truth by not explicitly mentioning yielding to surrounding agent #0 or the irrelevance of the non-moving surrounding agents, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "1071fe439da7c12f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI\u2019s answer acknowledges the possibility of interaction but does not explicitly state that surrounding agent #0 will yield to the ego agent, as per the ground truth. It focuses more on potential conflict rather than the clear yielding behavior implied by the traffic light conditions. The answer is partially correct but lacks precision.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided context, but it overcomplicates the scenario by introducing unnecessary details about potential conflict and collision risks. The conclusion does not fully align with the straightforward yielding behavior dictated by the traffic light conditions, which reduces its faithfulness.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 will yield to the ego agent due to the red traffic light. This aligns perfectly with the ground truth answer, which states the same outcome.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. The analysis of the traffic signals, the maneuver of the ego agent, and the stationary status of surrounding agent #2 logically lead to the conclusion that the ego agent will proceed without hindrance from surrounding agent #2.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #3 will yield to the ego agent due to the red traffic light. The AI focuses on the ego agent maneuvering around surrounding agent #3, which is not the primary interaction described in the ground truth. The ground truth emphasizes that surrounding agent #3 is yielding because of the red light, which the AI does not explicitly state.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. The AI correctly identifies the positions, speeds, and traffic light statuses of the agents. However, the conclusion about the ego agent needing to maneuver around surrounding agent #3 is slightly inconsistent with the red light yielding behavior, which should have been the main takeaway. The reasoning is logical but not fully aligned with the most critical interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the key point that the ego agent is exiting the intersection, which is crucial context. The AI accurately notes that surrounding agent #4 will yield due to its red light and stationary position, but it doesn't explicitly state that the ego agent is exiting the intersection. This omission slightly detracts from the completeness of the answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. It correctly analyzes the positions, motions, and traffic light statuses of the ego agent and surrounding agent #4, leading to a reasonable conclusion. However, the conclusion could have been more aligned with the ground truth by explicitly mentioning the ego agent's exit from the intersection.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but fails to fully align with the ground truth. The ground truth states that surrounding agent #5 will have no interaction with the ego agent as it is not moving and is departing from the intersection, while the ego agent is also exiting the intersection. The AI correctly identifies that surrounding agent #5 is stationary but incorrectly suggests that the ego agent might need to maneuver around it, which contradicts the ground truth. The AI also introduces unnecessary considerations like traffic light status and crosswalk caution, which are irrelevant given the ground truth of no interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but contains unnecessary and speculative elements. It correctly analyzes the location, speed, and motion status of surrounding agent #5 but then introduces hypothetical scenarios (e.g., navigating around the stationary agent, traffic light considerations) that are not supported by the ground truth. While the reasoning is logically structured, it diverges from the simplicity and directness of the ground truth answer.", + "problem_score_avg": "6.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly implies that there is a potential interaction or need for caution between the ego agent and surrounding agent #6, which contradicts the ground truth stating that there will be no interaction due to agent #6 being stationary and on the same side of the intersection as the ego agent, who is exiting the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but overstates the need for caution and interaction. While it correctly identifies that agent #6 is stationary and not a direct threat, it unnecessarily emphasizes the ego agent's awareness and safety measures, which are irrelevant given the ground truth that no interaction will occur.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to complete its U-turn and acknowledges the green arrow traffic light giving it the right of way. However, it does not explicitly state that the ego agent will exit the intersection, which is a key part of the ground truth answer. Additionally, while the AI mentions surrounding agents' statuses, it does not clearly state that surrounding agents #0, #2, #3, and #4 will yield due to their red traffic lights, or that no response is needed from the ego agent towards agents #5 and #6, as stated in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It correctly analyzes the ego agent's current situation, the intersection details, and the statuses of surrounding agents. However, the conclusion could have been more precise in aligning with the ground truth, particularly in explicitly stating the ego agent's intention to exit the intersection and the yielding behavior of specific surrounding agents.", + "problem_score_avg": "7.5" + } + } + }, + "1074089cb5094c55": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer deviates from the ground truth by suggesting that the ego agent may need to yield to surrounding agent #0, whereas the ground truth states that surrounding agent #0 will yield to the ego agent. The AI correctly identifies the positions and speeds but misinterprets the right-of-way dynamics.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided context. The AI correctly analyzes the positions, speeds, and potential interactions but draws a conclusion that is not fully aligned with the ground truth. The reasoning itself is logical and well-structured, though the final conclusion is incorrect.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that 'No significant interaction is expected' contradicts the ground truth answer, which states that 'Surrounding agent #1 will yield to the ego agent.' The AI failed to correctly interpret the dynamics of the intersection and the yielding behavior of surrounding agent #1.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, as it analyzes the positions, speeds, and motion statuses of the agents. However, it misses the critical point that the ego agent is closer to the intersection center, which is a key factor in the ground truth answer regarding yielding behavior.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct but slightly overcomplicates the reasoning. The ground truth clearly states there will be no interaction because the pedestrian is behind the ego agent and they are both heading towards the intersection without crossing paths. The AI correctly concludes a minimal or non-existent interaction but adds unnecessary calculations about crosswalk timing, which, while logically sound, are not essential to the conclusion.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is broadly consistent with the conclusions drawn. The AI correctly analyzes positions, speeds, and directions but includes extra details (e.g., crosswalk timing) that, while accurate, are not strictly required to support the conclusion of no interaction. The reasoning is faithful but could be more concise.", + "problem_score_avg": "8.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent will need to yield or stop to avoid a collision with surrounding agent #3 is incorrect. The ground truth states that surrounding agent #3 will yield to the ego agent because the ego agent is closer to the intersection center. The AI failed to recognize this key dynamic and instead suggested the opposite interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, as the AI correctly analyzes the positions and motion statuses of both agents. However, the conclusion diverges significantly from the logical progression, as it does not align with the ground truth of surrounding agent #3 yielding to the ego agent. The analysis of proximity and crosswalk considerations is detailed but ultimately leads to an incorrect conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests there will be an interaction between the ego agent and surrounding agent #4, emphasizing navigation and safety considerations. However, the ground truth explicitly states there will be no interaction since they are heading in opposite directions and surrounding agent #4 is not moving. The AI's conclusion contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the context but ultimately inconsistent with its own analysis. While it correctly identifies the positions and states of the agents, it incorrectly infers an interaction where none exists. The reasoning about navigation and safety is logically consistent but misapplied to a scenario where no interaction is required.", + "problem_score_avg": "4.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent would need to slow down or stop due to surrounding agent #5 is incorrect. The ground truth explicitly states that there will be no interaction because they are heading in opposite directions and surrounding agent #5 is not moving. The AI failed to recognize the directional aspect and erroneously concluded a potential collision scenario.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is consistent with its incorrect conclusion, but it is based on incorrect assumptions about the relative positioning and direction of movement. The AI misinterpreted the spatial relationship and directionality, leading to a flawed but internally consistent argument.", + "problem_score_avg": "3.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's conclusion that there will be no interaction between the ego agent and surrounding agent #6 is correct, as the ground truth answer also states that there is no interaction. However, the AI's explanation is somewhat verbose and includes unnecessary details that slightly deviate from the simplicity of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, as it correctly analyzes the positions and behaviors of the agents. However, it includes additional details like 'benign interaction' and 'safe distance' that, while not incorrect, are not strictly necessary for reaching the conclusion.", + "problem_score_avg": "8.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #7, as surrounding agent #7 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. The AI correctly analyzes the positions, motions, and context of both the ego agent and surrounding agent #7, leading to the logical and accurate conclusion that there will be no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, aligning with the ground truth. The reasoning provided by the AI is accurate, as it correctly notes that surrounding agent #8 is stationary and positioned behind the ego agent, making interaction highly unlikely.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the provided information. The AI correctly assesses the positions, speeds, and behaviors of both agents, leading to the conclusion that no interaction will occur. The conclusions are faithful to the reasoning presented.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, which aligns with the ground truth. It accurately notes that surrounding agent #9 is not moving and is not on a collision course with the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It thoroughly analyzes the positions, motion status, and distances to the intersection, and correctly deduces that no interaction will occur. The reasoning supports the final conclusion without any contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is stationary and the ego agent is moving away from it. However, the AI incorrectly assumes surrounding agent #10 is in the same lane as the ego agent, which is not explicitly stated in the context. This error affects the overall correctness.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly notes surrounding agent #10 is stationary and far from the intersection, leading to no interaction. However, the assumption about the lane placement of surrounding agent #10 is unfounded and slightly detracts from the faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will need to navigate around surrounding agent #11, which contradicts the ground truth that surrounding agent #11 will yield to the ego agent. The AI misinterprets the scenario by assuming surrounding agent #11 is stationary and blocking the ego agent, rather than yielding.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, but it is based on incorrect assumptions about the scenario. The AI correctly identifies the positions and motion statuses of the agents but fails to correctly interpret the interaction dynamics, leading to a conclusion that does not align with the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #12, which matches the ground truth answer. The reasoning provided by the AI aligns perfectly with the facts given in the context, making the answer completely correct.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows the details provided in the context. The conclusions drawn about the lack of interaction are fully supported by the analysis of relative positioning, speed, and motion status, making the reasoning faithful to the given information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses some key details from the ground truth. It correctly identifies that the ego agent will continue towards the intersection at a constant speed and mentions the need to be cautious due to the crosswalk. However, it fails to explicitly mention that the ego agent will interact with surrounding agents #0, #1, and #3, who will yield to it, as stated in the ground truth. It also does not clearly state that the ego agent will not interact with other surrounding agents due to their positioning or lack of movement.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions. It correctly analyzes the ego agent's speed, position, and proximity to the crosswalk, and it logically concludes that the ego agent will continue moving forward while being cautious. However, the conclusion could be more specific regarding the interactions with surrounding agents, as the reasoning does not fully align with the detailed context provided.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index 19abd72..6b07a8e 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -21,10 +21,10 @@ # "meta-llama/Meta-Llama-3.1-405B-Instruct" # "Qwen/Qwen2.5-72B-Instruct" # "deepseek-ai/DeepSeek-R1-Distill-Llama-70B" # This model thinks. -# "google/gemma-2-9b-it" -# "meta-llama/Meta-Llama-3.1-8B-Instruct" -# "Qwen/Qwen2.5-7B-Instruct" -# "microsoft/phi-4" +# "google/gemma-2-9b-it" * +# "meta-llama/Meta-Llama-3.1-8B-Instruct" * +# "Qwen/Qwen2.5-7B-Instruct" * +# "microsoft/phi-4" * # # The following are the small model names for models provided via the OpenAI API service # "gpt-4o-mini" @@ -32,10 +32,14 @@ model_dictionary = { "openai_models": { - "gpt-4o-mini": [] + "gpt-4o-mini": [], + #"o3-mini": [] }, "deepinfra_models":{ - + # "google/gemma-2-9b-it": [], + # "meta-llama/Meta-Llama-3.1-8B-Instruct": [], + # "Qwen/Qwen2.5-7B-Instruct": [], + # "microsoft/phi-4": [] } } @@ -81,37 +85,93 @@ def generate_qa_prompt(context, question, answer, prompt_type="4shot"): Think step by step. Show your reasoning and answer the question. + """ + #scenario ID 10471914b8bb79a1 using interactions 0 and 7 + direct_cot_prompt_2shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + """ + #using interactions 0 2 4 6 direct_cot_prompt_4shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. + I want you to answer some questions from the world of autonomous vehicle testing. - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the current road configuration in terms of lanes? The road has three lanes.What traffic controls are present in the current driving scene? There are no traffic controls present in the current driving scene.What is the ego agent's current velocity? The ego agent's current speed is 6 meters per second.Is the ego agent's speed constant or changing? The ego agent is accelerating.Could you specify the ego agent's current lane position? The ego agent is on the first lane from the right.What is the ego agent's current direction of travel? The ego agent is heading in the same direction as its current lane.What type of agent is surrounding agent #0? Surrounding agent #0 is a vehicle.How fast is surrounding agent #0 moving at the moment? Surrounding agent #0's current speed is 5 meters per second.What is the motion status of surrounding agent #0? Surrounding agent #0 is accelerating.Where is surrounding agent #0 in relation to the ego agent? Surrounding agent #0 is 4 meters on the left and 1 meter in front of the ego agent.What direction is surrounding agent #0 facing compared to the ego agent? Surrounding agent #0 is heading in the same direction as the ego agent.What type of agent is surrounding agent #1? Surrounding agent #1 is a vehicle.What is the current speed of surrounding agent #1? Surrounding agent #1's current speed is 4 meters per second.Is surrounding agent #1 accelerating or maintaining its speed? Surrounding agent #1 is moving at a constant speed.Can you describe the position of surrounding agent #1 relative to the ego agent? Surrounding agent #1 is 24 meters behind and 3 meters on the left of the ego agent.In which direction is surrounding agent #1 moving with respect to the ego agent? Surrounding agent #1 is heading in the same direction as the ego agent.What type of agent is surrounding agent #3? Surrounding agent #3 is a vehicle.What is the current velocity of surrounding agent #3? Surrounding agent #3 is not moving.Where is surrounding agent #3 located in relation to the ego agent? Surrounding agent #3 is 4 meters in front and 4 meters on the right of the ego agent.What direction is surrounding agent #3 facing in relation to the ego agent? Surrounding agent #3 is heading in the same direction as the ego agent.What type of agent is surrounding agent #4? Surrounding agent #4 is a vehicle.What is the motion status of surrounding agent #4? Surrounding agent #4 is not moving.Can you describe the position of surrounding agent #4 with respect to the ego agent? Surrounding agent #4 is 9 meters on the right and 1 meter behind the ego agent.In which direction is surrounding agent #4 heading compared to the ego agent? Surrounding agent #4 is heading the opposite direction as the ego agent.What type of agent is surrounding agent #5? Surrounding agent #5 is a vehicle.Is surrounding agent #5 currently in motion? Surrounding agent #5 is not moving.Where is surrounding agent #5 situated in relation to the ego agent? Surrounding agent #5 is 11 meters in front and 2 meters on the right of the ego agent.What direction is surrounding agent #5 facing with respect to the ego agent? Surrounding agent #5 is heading right of the ego agent.What type of agent is surrounding agent #6? Surrounding agent #6 is a vehicle.What is the current speed of surrounding agent #6? Surrounding agent #6 is not moving.Can you describe the position of surrounding agent #6 relative to the ego agent? Surrounding agent #6 is 14 meters in front and 7 meters on the right of the ego agent.In which direction is surrounding agent #6 moving with respect to the ego agent? Surrounding agent #6 is heading right of the ego agent." - - Question: "What interactions are anticipated between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will overtake the ego agent as it is accelerating and will be further ahead in the future." + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - Question: "Can you predict the interaction between the ego agent and surrounding agent #4?" - Answer: "There will be no interaction between the ego agent and surrounding agent #4 as they are heading in opposite directions and not affecting each other's path." + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - Question: "What is the ego agent's plan for the immediate future?" - Answer: "The ego agent intends to continue on its current path and lane while accelerating. It will overtake surrounding agent #3 and pass surrounding agents #5 and #6, as they are not moving. It will also be overtaken by surrounding agent #0, which is accelerating on the left side." + Question: "What interaction will occur between the ego agent and surrounding agent #6?" + Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." - Question: "What will be the nature of the interaction between the ego agent and surrounding agent #6?" - Answer: "The ego agent will pass surrounding agent #6 since surrounding agent #6 is stationary and the ego agent is accelerating." + Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" + Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ + + #using interactions 0 1 2 3 5 7 + direct_cot_prompt_6shot = f""" + I want you to answer some questions from the world of autonomous vehicle testing. + + Here are some examples of questions being answered: + First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." + + Question: "What interactions are expected between the ego agent and surrounding agent #0?" + Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." + + Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" + Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." + + Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" + Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." + + Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" + Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." + + Question: "What will be the interaction between the ego agent and surrounding agent #7?" + Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." + + Question: "What is the ego agent's plan in the immediate future?" + Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." + + Given these examples now please have a look at the following new context and try to answer the following question: + Here is the context: {context} + + Here is the question: {question} + + """ - Here is the question: {question} - - """ if prompt_type=="4shot": return direct_cot_prompt_4shot elif prompt_type=="direct": return direct_prompt - + elif prompt_type=="2shot": + return direct_cot_prompt_2shot + elif prompt_type=="6shot": + return direct_cot_prompt_6shot ################# ============= Grading via LLM as a judge prompts ================== ############### def prepare_grading_prompt(context, question, answer, model_output): @@ -159,132 +219,7 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, question = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["problem_data"] answer = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["answer_data"] - direct_prompt = f""" - Here is some information about an autonomous vehicle scenario: - {context} - - Answer the following question: - {question} - - Think step by step. Show your reasoning and answer the question. - - """ - - #using scenario ID 10471914b8bb79a1.json and interactions 0 and 7 - direct_cot_prompt_2shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "What is the ego agent's plan in the immediate future?" - Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ - - #using interactions 0 2 4 6 - direct_cot_prompt_4shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" - Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - - Question: "What interaction will occur between the ego agent and surrounding agent #6?" - Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." - - Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" - Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ - - #using interactions 0 1 2 3 5 7 - direct_cot_prompt_6shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" - Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." - - Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" - Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - - Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" - Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." - - Question: "What will be the interaction between the ego agent and surrounding agent #7?" - Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Question: "What is the ego agent's plan in the immediate future?" - Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ - - #using interactions 0 1 2 3 4 5 6 7 - direct_cot_prompt_8shot = f""" - I want you to answer some questions from the world of autonomous vehicle testing. - - Here are some examples of questions being answered: - First, some information about the context: "Can you describe the type of intersection present in the current driving scenario? The intersection is a 4 way intersection.What is the status of the traffic light for the ego agent at this moment? The traffic light for the ego agent is green.Is there any information about the presence of stop signs, crosswalks, or speed bumps in the current scenario? There is no information about stop signs, crosswalks, or speed bumps in the current scenario.What is the ego agent's current action within the intersection? The ego agent is turning left and exiting the intersection.Could you specify the ego agent's current speed and whether it is increasing or decreasing? The ego agent's current speed is 13 m/s and it is accelerating.How does the current traffic light affect the ego agent's movement? The traffic light is green, which allows the ego agent to proceed.What type of agent is surrounding agent #0 and what is its current motion status? Surrounding agent #0 is a vehicle and it is accelerating.How is surrounding agent #0 positioned relative to the ego agent and the intersection? Surrounding agent #0 is on the left of the ego agent, in front of it, and is departing from the intersection.What is the current speed of surrounding agent #0? The current speed of surrounding agent #0 is 8 m/s.What type of agent is surrounding agent #1 and what is its current motion status? Surrounding agent #1 is a vehicle and it is not moving.How is surrounding agent #1 positioned relative to the ego agent and the intersection? Surrounding agent #1 is on the left of the ego agent, in front of it, and is heading towards the intersection.What type of agent is surrounding agent #2 and what is its current motion status? Surrounding agent #2 is a vehicle and it is decelerating.How is surrounding agent #2 positioned relative to the ego agent and the intersection? Surrounding agent #2 is on the left of the ego agent, in front of it, and is heading towards the intersection.What is the current speed of surrounding agent #2? The current speed of surrounding agent #2 is 3 m/s.What type of agent is surrounding agent #4 and what is its current motion status? Surrounding agent #4 is a vehicle and it is not moving.How is surrounding agent #4 positioned relative to the ego agent and the intersection? Surrounding agent #4 is on the left of the ego agent, behind it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #5 and what is its current motion status? Surrounding agent #5 is a vehicle and it is not moving.How is surrounding agent #5 positioned relative to the ego agent and the intersection? Surrounding agent #5 is on the left of the ego agent, behind it, and is departing from the intersection.What type of agent is surrounding agent #6 and what is its current motion status? Surrounding agent #6 is a vehicle and it is moving at a constant speed.How is surrounding agent #6 positioned relative to the ego agent and the intersection? Surrounding agent #6 is on the left of the ego agent, behind it, and is heading towards the intersection.Is there any traffic control affecting surrounding agent #6? Surrounding agent #6 is approaching a crosswalk 4 meters ahead.What type of agent is surrounding agent #7 and what is its current motion status? Surrounding agent #7 is a vehicle and it is not moving.How is surrounding agent #7 positioned relative to the ego agent and the intersection? Surrounding agent #7 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent.What type of agent is surrounding agent #8 and what is its current motion status? Surrounding agent #8 is a vehicle and it is not moving.How is surrounding agent #8 positioned relative to the ego agent and the intersection? Surrounding agent #8 is on the left of the ego agent, in front of it, and is on the same side of the intersection as the ego agent." - - Question: "What interactions are expected between the ego agent and surrounding agent #0?" - Answer: "Surrounding agent #0 will have no interaction with the ego agent as it is departing from the intersection and their paths do not conflict." - - Question: "How will the ego agent and surrounding agent #1 interact as they are both near the intersection?" - Answer: "Surrounding agent #1 will yield to the ego agent because the ego agent has the right of way with a green traffic light and is already exiting the intersection while surrounding agent #1 is not moving." - - Question: "What is the nature of the interaction between the ego agent and surrounding agent #2?" - Answer: "Surrounding agent #2 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting the intersection with a green light." - - Question: "Can you describe the interaction between the ego agent and surrounding agent #4?" - Answer: "There will be no interaction between the ego agent and surrounding agent #4 as surrounding agent #4 is not moving and is on the same side of the intersection as the ego agent." - - Question: "What interaction will occur between the ego agent and surrounding agent #6?" - Answer: "Surrounding agent #6 will yield to the ego agent as it is on the right of the intersection and is approaching a crosswalk, indicating it may need to stop, while the ego agent is actively exiting the intersection." - - Question: "What will be the interaction between the ego agent and surrounding agent #7?" - Answer: "Surrounding agent #7 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Question: "What kind of interaction will take place between the ego agent and surrounding agent #8?" - Answer: "Surrounding agent #8 will have no interaction with the ego agent as it is not moving and is on the same side of the intersection as the ego agent." - - Question: "What is the ego agent's plan in the immediate future?" - Answer: "The ego agent intends to complete its left turn and exit the intersection. It will proceed with the turn as the traffic light is green and it has the right of way. Surrounding agents #1 and #2 will yield to the ego agent, and surrounding agent #6 will likely stop at the crosswalk, so the ego agent does not need to alter its course in response to these agents." - - Given these examples now please have a look at the following new context and try to answer the following question: - Here is the context: {context} - - Here is the question: {question} - - """ + generated_prompt = generate_qa_prompt(context, question, answer, prompt_type) #### Step 2: Generate the model grades and add them to the dictionary @@ -328,7 +263,7 @@ def pddl_response_and_answer_questions(prompt_type="4shot"): prompt_type=prompt_type) #Ensure that this json file by the name grades/deepseek_grades.json exists first. - with open("grades/direct/deepseek_grades_direct_"+prompt_type+".json", 'w') as grade_file: + with open("grades/direct/deepseek_grades_direct_"+prompt_type+"_"+scenario_id+".json", 'w') as grade_file: print("Existing grades is given by {}".format(existing_grades)) json.dump(existing_grades, grade_file, indent=4) grade_file.close() @@ -336,10 +271,13 @@ def pddl_response_and_answer_questions(prompt_type="4shot"): def main(): # Change parameter here depending on the prompt. - prompt_type = "direct" + prompt_type = "6shot" pddl_response_and_answer_questions(prompt_type=prompt_type) for model_provider in model_dictionary.keys(): for model in model_dictionary[model_provider].keys(): plt.bar([i for i in range(len(model_dictionary[model_provider][model]))], model_dictionary[model_provider][model]) + plt.title("Prob. Avg. for Multiple Interactions in All Scenarios of Current Experiment") + plt.xlabel("Interactions") + plt.ylabel("Problem Average Score") plt.show() main() \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index 65b4190..642319a 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -91,3 +91,4 @@ def obtain_and_write_mcq_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) +obtain_and_write_mcq_data(110,120) diff --git a/plt-graph/exp1.png b/plt-graph/exp1.png new file mode 100644 index 0000000000000000000000000000000000000000..aa179c35296e02bebfb68f7c0f019e8e59ba83b6 GIT binary patch literal 8201 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp10.png b/plt-graph/exp10.png new file mode 100644 index 0000000000000000000000000000000000000000..ff706d670b27c56e8201a04f404cb4cca16d4225 GIT binary patch literal 21226 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 mN{isZ6=miBqW7RJZ~wjSmK-0?8E0s;b3qO>9{ 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp3.png b/plt-graph/exp3.png new file mode 100644 index 0000000000000000000000000000000000000000..415dedf75d390082becb7cbd85a1488045e57f3a GIT binary patch literal 21103 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%0AY_Vm4fQmikAxt(m- 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 V{F`-H9lo1Fy(oJj<=pjO{}&(T|6Bk7 literal 0 HcmV?d00001 diff --git a/plt-graph/exp5.png b/plt-graph/exp5.png new file mode 100644 index 0000000000000000000000000000000000000000..3b6c21ad34897b37a1a8572e07862148697fb400 GIT binary patch literal 20715 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 Nb>{r(#FJO<{4aMG^p*es literal 0 HcmV?d00001 diff --git a/plt-graph/exp6.png b/plt-graph/exp6.png new file mode 100644 index 0000000000000000000000000000000000000000..538963b7c5732a80bbc0464f9a854748c076dde0 GIT binary patch literal 20574 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp8.png b/plt-graph/exp8.png new file mode 100644 index 0000000000000000000000000000000000000000..3c65580facbb9392ba5420a4c37faa297a664aaf GIT binary patch literal 20552 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 Uuth Date: Sun, 23 Mar 2025 12:26:53 -0700 Subject: [PATCH 19/45] ran more experiments to find pattern in small, medium, large file sizes with gpt4o-mini in addition to creating draft of script comparing experiment results in bar chart --- 4o-mini-comparison.py | 26 + ...> deepseek_grades_direct_2shot_exp10.json} | 0 .../deepseek_grades_direct_2shot_exp14.json | 255 ++++++++ .../deepseek_grades_direct_2shot_exp18.json | 273 ++++++++ .../deepseek_grades_direct_2shot_exp2.json | 157 +++++ .../deepseek_grades_direct_2shot_exp23.json | 67 ++ .../deepseek_grades_direct_2shot_exp27.json | 562 +++++++++++++++++ ...> deepseek_grades_direct_4shot_exp11.json} | 0 ...> deepseek_grades_direct_4shot_exp15.json} | 0 .../deepseek_grades_direct_4shot_exp19.json | 273 ++++++++ ...> deepseek_grades_direct_4shot_exp21.json} | 0 .../deepseek_grades_direct_4shot_exp24.json | 67 ++ .../deepseek_grades_direct_4shot_exp28.json | 562 +++++++++++++++++ .../deepseek_grades_direct_4shot_exp3.json | 157 +++++ ...> deepseek_grades_direct_6shot_exp12.json} | 0 .../deepseek_grades_direct_6shot_exp16.json | 255 ++++++++ ...> deepseek_grades_direct_6shot_exp20.json} | 0 .../deepseek_grades_direct_6shot_exp25.json | 67 ++ .../deepseek_grades_direct_6shot_exp29.json | 562 +++++++++++++++++ .../deepseek_grades_direct_6shot_exp4.json | 157 +++++ .../deepseek_grades_direct_direct_exp13.json | 255 ++++++++ .../deepseek_grades_direct_direct_exp17.json | 273 ++++++++ .../deepseek_grades_direct_direct_exp2.json | 157 ----- .../deepseek_grades_direct_direct_exp22.json | 67 ++ .../deepseek_grades_direct_direct_exp26.json | 562 +++++++++++++++++ .../deepseek_grades_direct_direct_exp3.json | 157 ----- .../deepseek_grades_direct_direct_exp5.json | 194 +++--- .../deepseek_grades_direct_direct_exp6.json | 594 +++--------------- ...> deepseek_grades_direct_direct_exp7.json} | 0 .../deepseek_grades_direct_direct_exp8.json | 157 +++++ .../deepseek_grades_direct_direct_exp9.json | 571 +++++++++++++++++ plt-graph/exp10.png | Bin 21226 -> 20942 bytes plt-graph/exp11.png | Bin 20085 -> 20552 bytes plt-graph/exp12.png | Bin 19940 -> 20576 bytes plt-graph/exp13.png | Bin 0 -> 20087 bytes plt-graph/exp14.png | Bin 0 -> 20057 bytes plt-graph/exp15.png | Bin 0 -> 21226 bytes plt-graph/exp16.png | Bin 0 -> 20105 bytes plt-graph/exp17.png | Bin 0 -> 20076 bytes plt-graph/exp18.png | Bin 0 -> 20086 bytes plt-graph/exp19.png | Bin 0 -> 20092 bytes plt-graph/exp2.png | Bin 21295 -> 21129 bytes plt-graph/exp20.png | Bin 0 -> 20085 bytes plt-graph/exp21.png | Bin 0 -> 19940 bytes plt-graph/exp22.png | Bin 0 -> 20130 bytes plt-graph/exp23.png | Bin 0 -> 20118 bytes plt-graph/exp24.png | Bin 0 -> 20142 bytes plt-graph/exp25.png | Bin 0 -> 20135 bytes plt-graph/exp26.png | Bin 0 -> 20540 bytes plt-graph/exp27.png | Bin 0 -> 20499 bytes plt-graph/exp28.png | Bin 0 -> 20484 bytes plt-graph/exp29.png | Bin 0 -> 20510 bytes plt-graph/exp3.png | Bin 21103 -> 21128 bytes plt-graph/exp4.png | Bin 20660 -> 21136 bytes plt-graph/exp5.png | Bin 20715 -> 21295 bytes plt-graph/exp6.png | Bin 20574 -> 21103 bytes plt-graph/exp7.png | Bin 20942 -> 20660 bytes plt-graph/exp8.png | Bin 20552 -> 20715 bytes plt-graph/exp9.png | Bin 20576 -> 20574 bytes 59 files changed, 5512 insertions(+), 915 deletions(-) create mode 100644 4o-mini-comparison.py rename grades/direct/{deepseek_grades_direct_2shot_exp6.json => deepseek_grades_direct_2shot_exp10.json} (100%) create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp14.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp18.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp2.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp23.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp27.json rename grades/direct/{deepseek_grades_direct_4shot_exp8.json => deepseek_grades_direct_4shot_exp11.json} (100%) rename grades/direct/{deepseek_grades_direct_4shot_exp10.json => deepseek_grades_direct_4shot_exp15.json} (100%) create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp19.json rename grades/direct/{deepseek_grades_direct_4shot_exp12.json => deepseek_grades_direct_4shot_exp21.json} (100%) create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp24.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp28.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp3.json rename grades/direct/{deepseek_grades_direct_6shot_exp9.json => deepseek_grades_direct_6shot_exp12.json} (100%) create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp16.json rename grades/direct/{deepseek_grades_direct_6shot_exp11.json => deepseek_grades_direct_6shot_exp20.json} (100%) create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp25.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp29.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp4.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp13.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp17.json delete mode 100644 grades/direct/deepseek_grades_direct_direct_exp2.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp22.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp26.json delete mode 100644 grades/direct/deepseek_grades_direct_direct_exp3.json rename grades/direct/{deepseek_grades_direct_direct_exp4.json => deepseek_grades_direct_direct_exp7.json} (100%) create mode 100644 grades/direct/deepseek_grades_direct_direct_exp8.json create mode 100644 grades/direct/deepseek_grades_direct_direct_exp9.json create mode 100644 plt-graph/exp13.png create mode 100644 plt-graph/exp14.png create mode 100644 plt-graph/exp15.png create mode 100644 plt-graph/exp16.png create mode 100644 plt-graph/exp17.png create mode 100644 plt-graph/exp18.png create mode 100644 plt-graph/exp19.png create mode 100644 plt-graph/exp20.png create mode 100644 plt-graph/exp21.png create mode 100644 plt-graph/exp22.png create mode 100644 plt-graph/exp23.png create mode 100644 plt-graph/exp24.png create mode 100644 plt-graph/exp25.png create mode 100644 plt-graph/exp26.png create mode 100644 plt-graph/exp27.png create mode 100644 plt-graph/exp28.png create mode 100644 plt-graph/exp29.png diff --git a/4o-mini-comparison.py b/4o-mini-comparison.py new file mode 100644 index 0000000..81dd80a --- /dev/null +++ b/4o-mini-comparison.py @@ -0,0 +1,26 @@ +import matplotlib.pyplot as plt +import numpy as np + +#correctness comparison for experiments using 1 scenario ID +shot_type = ["0", "2", "4", "6"] +#(52,53) has 17 interactions +range_52_53 = [14, 7, 8, 9] +#(6,7) has 7 interactions +range_6_7 = [0, 1, 3, 3] +x = np.arange(len(shot_type)) +width = 0.5 +plt.bar(x - width/2, range_52_53, width, label='(52,53)') +plt.bar(x + width/2, range_6_7, width, label='(6,7)') + +plt.xticks(x, shot_type) +plt.xlabel('Shot Type') +plt.ylabel('# of Correctness Scores <= 5') +plt.title('Comparison Between 1 ID Experiments') +plt.legend() +plt.grid(True, axis='y', linestyle='--', alpha=0.7) + +plt.show() + + +#NOTICE: BECAUSE THE DIFFERENT IDs HAVE DIFFERENT AMOUNTS OF CONTENT, BRING THEM DOWN TO THE SAME RATIO TO MAKE BETTER COMPARISONS +#RUN THIS PROGRAM TO BETTER UNDERSTAND \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp6.json b/grades/direct/deepseek_grades_direct_2shot_exp10.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp6.json rename to grades/direct/deepseek_grades_direct_2shot_exp10.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp14.json b/grades/direct/deepseek_grades_direct_2shot_exp14.json new file mode 100644 index 0000000..511bff4 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp14.json @@ -0,0 +1,255 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but lacks the key insight from the ground truth that surrounding agent #0 will continue to lead the ego agent. The AI correctly notes the relative positions and speeds but fails to emphasize the leading role of surrounding agent #0, which is crucial to the interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the relative positions, speeds, and deceleration of the ego agent, leading to the conclusion that no significant interaction is expected. However, it omits the detail about surrounding agent #0 leading the ego agent, which is a minor inconsistency.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent and surrounding agent #2 are moving in the same direction and that agent #2 is ahead of the ego agent. However, it incorrectly concludes that they will not interact, when in fact, agent #2 will maintain its position ahead of the ego agent due to its constant speed and the ego agent's deceleration.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but fails to fully capture the interaction dynamics. It correctly notes the relative speeds and positions but misses the implication that agent #2 will remain ahead as the ego agent decelerates, which is a key aspect of the interaction.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that the ego agent is decelerating and may continue to do so, which aligns with the ground truth. However, the AI incorrectly suggests that the ego agent might change lanes to the left or prepare to stop, which is not mentioned in the ground truth. The ground truth specifically states that the ego agent will maintain its lane and follow behind surrounding agent #0, without any mention of lane changes or stopping.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it correctly deduces that the ego agent is decelerating. However, the additional speculation about lane changes or stopping, which is not supported by the context, reduces the faithfulness of the reasoning. The AI's conclusions go beyond the information provided, leading to inconsistencies.", + "problem_score_avg": "5.5" + } + } + }, + "111bf3969984058f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the key point that surrounding agent #0 will yield to the ego agent due to the red traffic light. The answer correctly states that both agents will stop due to the red light and that there is no collision risk, but it does not explicitly mention the yielding behavior, which is the core of the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI logically explains that both agents will stop due to the red light and that surrounding agent #0 is safely behind the ego agent, leading to no significant interaction. However, it could have included the yielding aspect to fully align with the context.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #1 has a green arrow and the ego agent has a red light, leading to surrounding agent #1 proceeding first. However, it misses explicitly stating that surrounding agent #1 will proceed before the ego agent, which is a key point in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is consistent with the conclusions. The AI explains that the green arrow allows surrounding agent #1 to proceed while the red light requires the ego agent to stop, preventing conflict. The conclusions logically follow from the reasoning provided.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the potential future interaction between the ego agent and surrounding agent #3 when the traffic light changes. According to the ground truth, surrounding agent #3 will yield to the ego agent, as the ego agent is ahead and will move first when the light changes. The AI's conclusion that there will be no interaction is inconsistent with this future scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely faithful to the provided context. It correctly identifies that both agents have a red light and that surrounding agent #3 is not moving. However, it fails to extend this reasoning to consider the future interaction when the light changes, which is a key aspect of the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point in the ground truth that surrounding agent #4 will yield to the ego agent due to their positions and the red traffic light. The AI correctly identifies that both agents must stop but fails to acknowledge the yielding behavior, which is central to the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI accurately describes the scenario, including the red traffic light and the stationary status of surrounding agent #4. However, it does not extend its reasoning to include the yielding behavior, which would have made it more aligned with the ground truth.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth that surrounding agent #5 will yield to the ego agent. The AI correctly notes that both are affected by the red traffic light and remain stopped, but it fails to acknowledge the potential for interaction in terms of yielding behavior, which is explicitly mentioned in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically explains that both vehicles are stationary due to the red light and that their paths do not conflict, which supports its conclusion of no interaction. However, it does not extend this reasoning to consider the yielding behavior, which is a nuance in the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop at the red traffic light and wait for it to turn green. However, it fails to mention that the ego agent must yield to surrounding agent #1, who has a green arrow and can proceed through the intersection. Additionally, the AI incorrectly states that all surrounding agents are affected by the red light, which is only true for agents #0, #3, #4, and #5, but not for agent #1.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions drawn. The AI correctly identifies the need to stop at the red light but does not fully align with the ground truth in terms of yielding to specific surrounding agents. The conclusion that all surrounding agents are affected by the red light is incorrect, which affects the faithfulness of the reasoning.", + "problem_score_avg": "6.5" + } + } + }, + "111c9efbf961c8be": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the paths of the ego agent and surrounding agent #0 are not in conflict and that surrounding agent #0 will yield due to the stop sign. However, the AI downplays the interaction, stating it will be minimal, whereas the ground truth explicitly states that surrounding agent #0 will yield to the ego agent, which implies a more direct interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly identifies the positions, movements, and traffic control devices affecting both agents. However, the conclusion that the interaction will be minimal slightly deviates from the reasoning, as it should have emphasized the yielding behavior of surrounding agent #0 more explicitly.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct in stating that there will be no significant interaction between the ego agent and surrounding agent #2. However, it slightly misinterprets the scenario by suggesting the ego agent is 'moving towards the exit,' whereas the ground truth emphasizes that both agents are in the intersection and heading in the same direction. This minor discrepancy reduces the score slightly.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the facts provided. It correctly notes that surrounding agent #2 is stationary and that the ego agent is accelerating, which supports the conclusion of minimal interaction. However, the reasoning could have been more precise by explicitly stating that both agents are in the intersection and heading in the same direction, which would have aligned more closely with the ground truth.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks some detail compared to the ground truth. It correctly states that the ego agent will continue exiting the intersection and is unaffected by the stop sign. However, it does not explicitly mention that surrounding agent #0 will yield to the ego agent due to the stop sign, which is a key point in the ground truth. The AI also correctly identifies that surrounding agent #2 does not pose a conflict, but the explanation could be more precise.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions it draws. It accurately describes the ego agent's actions, speed, and the lack of interference from surrounding agents. The reasoning aligns well with the provided context, and the conclusions logically follow from the information given. However, it could be slightly more detailed to fully match the ground truth.", + "problem_score_avg": "8.5" + } + } + }, + "111d4383934339b7": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct as it accurately describes that the ego agent and surrounding agent #0 are moving in the same direction and at the same speed, and that surrounding agent #0 will continue to lead. However, the AI's response includes unnecessary details about deceleration and trajectory, which, while not incorrect, are not directly relevant to the core dynamics described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. The AI correctly identifies the positions, speeds, and motion statuses of both agents and logically concludes that there will be no direct interaction or conflict. However, the answer slightly deviates by over-elaborating on aspects like deceleration and trajectory, which, while not inconsistent, are not strictly necessary to answer the question.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks explicit mention of the crucial detail that the ego agent and surrounding agent #1 are on the same lane, which is a key point in the ground truth. The AI correctly notes that surrounding agent #1 will follow the ego agent and that their interaction will be smooth, but it misses the lane alignment aspect.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly analyzes the speeds, deceleration, and positions of the two agents and predicts a smooth interaction without conflict. However, the reasoning could have been more complete by explicitly stating that they are on the same lane.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly states that there will be no direct interaction between the ego agent and surrounding agent #2. The ground truth clearly indicates that surrounding agent #2 will pass the ego agent as it is heading towards the intersection from the opposite direction at a higher speed. The AI fails to recognize this interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies the positions, speeds, and directions of both agents and logically deduces that there is no immediate interaction. However, the conclusion itself is incorrect, which affects the correctness score but not the faithfulness of the reasoning.", + "problem_score_avg": "5.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but contains inaccuracies. The ground truth states that surrounding agent #4 is moving at a constant speed, which is correct, but it also states that the ego agent is moving at a constant speed, which contradicts the AI's claim that the ego agent is decelerating. This discrepancy affects the correctness of the interaction described. The AI's conclusion that the interaction is non-intrusive and safe is correct, but the reasoning behind it is flawed due to the incorrect assumption about the ego agent's speed.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but contains inconsistencies. The AI correctly identifies that surrounding agent #4 is moving at a constant speed and that both agents are departing the intersection. However, the AI incorrectly states that the ego agent is decelerating, which contradicts the ground truth. Despite this, the AI's conclusion about the interaction being non-intrusive is consistent with its reasoning, though the reasoning itself is flawed.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #5 will pass the ego agent as it is heading towards the intersection. The AI incorrectly states that there will be no direct interaction, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the data provided, as the AI correctly notes the positions and speeds of the agents. However, it fails to draw the correct conclusion that agent #5 will pass the ego agent, leading to a disconnect between the reasoning and the final conclusion.", + "problem_score_avg": "5.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue departing from the intersection and mentions maintaining its course. However, it fails to explicitly mention the need to adjust speed to navigate the traffic environment, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is consistent with the conclusions drawn. The AI correctly identifies the absence of conflicts and the ego agent's deceleration, supporting its decision to continue exiting the intersection. However, it slightly overlooks the need for speed adjustment, which affects the completeness of the reasoning.", + "problem_score_avg": "8.5" + } + } + }, + "111e6160ada108c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 is decelerating and will likely yield to the ego agent. However, the AI underestimates the interaction by stating it will be 'minimal' and that both agents will navigate 'independently without conflict.' The ground truth emphasizes that surrounding agent #0 will yield because the ego agent is already in the intersection, indicating a more significant interaction than the AI suggests.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI correctly notes that surrounding agent #0 is decelerating and approaching a crosswalk, which aligns with the conclusion that it will yield. However, the AI's reasoning slightly diverges from the ground truth by downplaying the interaction, which affects its faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, as the surrounding agent is not moving and they are on the same side of the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It correctly notes that surrounding agent #2 is stationary, the ego agent is moving straight, and both are heading in the same direction. The conclusion that there will be no conflict is logically derived from these observations. The only minor issue is the use of the term 'minimal,' which slightly deviates from the definitive 'no interaction' stated in the ground truth.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, which aligns with the ground truth answer. The reasoning is consistent with the context provided.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the context. It correctly identifies that surrounding agent #3 is stationary and positioned behind the ego agent, which means it does not affect the ego agent's movement through the intersection. The conclusions drawn are consistent with the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #4, which aligns perfectly with the ground truth. It accurately notes that surrounding agent #4 is stationary and positioned to the right of the ego agent, ensuring no conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and logically sound. It correctly evaluates the positions and movements of both agents and concludes that no interaction will occur, which is faithful to the provided context and reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #5, which aligns with the ground truth answer. It also accurately notes that surrounding agent #5 is not moving and that they are on the same side of the intersection, further supporting the correctness of the answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It correctly identifies the positions, directions, and motion statuses of both the ego agent and surrounding agent #5, and it logically concludes that no interaction will occur based on these details. The reasoning supports the answer fully.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. However, the AI does not explicitly mention that they are on the same side of the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It correctly states that the ego agent will not need to adjust its speed or direction due to surrounding agent #6 being stationary. The reasoning is logical and follows from the provided context, though it could be more precise by mentioning their relative positions in the intersection.", + "problem_score_avg": "7.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. This aligns with the ground truth answer, which states that the surrounding agent is not moving and is on the same side of the intersection, eliminating any potential conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly notes the position, direction, and motion status of surrounding agent #7 and concludes that no interaction is anticipated. This reasoning directly supports the final conclusion, making the answer faithful.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks explicit mention of yielding, which is a key detail in the ground truth. It correctly states that surrounding agent #8 will remain stopped and not obstruct the ego agent, but it doesn't fully capture the yielding aspect.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is consistent with the conclusions drawn. The AI logically explains why surrounding agent #8 will remain stopped and that there will be no conflict, which aligns with its analysis of the scenario.", + "problem_score_avg": "8.5" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct but misses a small detail. It correctly states that the ego agent will continue exiting the intersection at a constant speed and that it does not need to yield to surrounding agents. However, it fails to explicitly mention that the surrounding agents will yield to the ego agent due to their positions relative to stop signs and the intersection, which is a key point in the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context. It logically deduces that the ego agent will maintain its speed and exit the intersection, and it correctly identifies that the surrounding agents do not pose a conflict. The conclusions drawn are well-supported by the provided information.", + "problem_score_avg": "9.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp18.json b/grades/direct/deepseek_grades_direct_2shot_exp18.json new file mode 100644 index 0000000..1d6dca3 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp18.json @@ -0,0 +1,273 @@ +{ + "100dc2bbda4ccfc5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop at the red light and that surrounding agent #1 is decelerating. However, it incorrectly concludes that there will be no interaction between the two agents. The ground truth states that the ego agent will yield to surrounding agent #1, implying an interaction. The AI misses this nuanced interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, as it logically deduces that the ego agent will stop and surrounding agent #1 will decelerate. However, the reasoning does not fully align with the ground truth, as it fails to recognize the potential for the ego agent to yield to surrounding agent #1 at the intersection, which is a key aspect of the scenario.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent will stop at the red traffic light and wait for it to turn green. However, it fails to mention the ego agent's requirement to yield to surrounding agent #1, which is a key detail in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is entirely consistent with its conclusions. It accurately describes the ego agent's anticipated actions based on the given context, including deceleration and stopping at the red traffic light.", + "problem_score_avg": "9.0" + } + } + }, + "101136b4af211072": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that no interaction will occur is incorrect. The ground truth states that surrounding agent #0 will yield to the ego agent, implying a notable interaction. The AI failed to recognize the yielding behavior despite the stationary state of surrounding agent #0 and the ego's active movement.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is internally consistent with the facts provided. It correctly identifies the positions and states of both agents and logically concludes that their paths do not conflict. However, it misses the key detail of yielding behavior, which slightly undermines the faithfulness of the reasoning.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #1 will yield to the ego agent due to the stop sign and the ego agent's activity of exiting the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the provided context. The AI correctly concludes that surrounding agent #1 will yield to the ego agent based on the stop sign and the ego agent's actions, which is faithful to the information given.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies the spatial relationship and motion of surrounding agent #3 relative to the ego agent. However, it does not fully align with the ground truth, which emphasizes that surrounding agent #3 will follow the ego agent as they are both heading towards the intersection. The AI's focus on yielding and maintaining a safe distance is reasonable but slightly diverges from the ground truth's emphasis on following behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It logically deduces that surrounding agent #3 is likely to yield to the ego agent and maintain a safe distance, which aligns with the description of its deceleration and position. However, the conclusion could have been more aligned with the ground truth by explicitly stating the following behavior.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #4, which aligns perfectly with the ground truth. The AI accurately notes that they are on different paths and that surrounding agent #4 is departing from the intersection, consistent with the scenario described.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely consistent with the provided context. The AI logically explains the lack of interaction by pointing out the opposite directions of travel, the distance between the agents, and the ego agent's left turn. All conclusions are well-supported by the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but includes unnecessary caution about the interaction. The ground truth clearly states that there will be no interaction, as their paths do not conflict. However, the AI introduces some speculative caution about potential trajectory effects, which is not supported by the context.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions but includes an overly cautious note about potential interaction. The context does not suggest any risk of conflict, yet the AI suggests the ego agent should remain wary of surrounding agent #5, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests there will be minimal or no interaction between the ego agent and surrounding agent #6, while the ground truth states that surrounding agent #6 will follow the ego agent. The AI fails to recognize that surrounding agent #6's deceleration is likely due to the ego agent's actions, indicating a direct interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context, as it correctly notes that surrounding agent #6 is decelerating, behind the ego agent, and on the same lane. However, it incorrectly concludes there is no interaction, which is not fully aligned with the logical implications of the scenario.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies the ego agent's plan to complete its left turn and exit the intersection. It also correctly notes that the ego agent does not need to yield to surrounding agents, as they are either not moving, on a different path, or following behind. The only minor omission is that it does not explicitly mention surrounding agents #0 and #6, which are also not affecting the ego agent's movement.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the context provided. It correctly concludes that the ego agent can proceed with its turn without interference from surrounding agents. However, the explanation about surrounding agents #4 and #5 is slightly overstated, as their specific positions and movements are not detailed enough to fully support the conclusion that they will not impede the ego agent. The reasoning could be more precise.", + "problem_score_avg": "8.5" + } + } + }, + "10121dc51c383aa6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 will yield to the ego agent, as the ego agent is already in the intersection while surrounding agent #0 is decelerating and approaching a stop sign. However, the AI could have explicitly stated that surrounding agent #0 will yield due to the ego agent's presence in the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly deduces that surrounding agent #0 will yield at the stop sign, allowing the ego agent to proceed without conflict. The explanation aligns well with the given context and leads to a logical conclusion.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it correctly identifies that surrounding agent #2 will yield to the ego agent due to its stationary position. However, it does not explicitly state that the ego agent is already in the intersection, which is a key point in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly analyzes the positions and movements of both agents and logically concludes that the ego agent can proceed without concern, aligning with the provided context.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that there is no risk of collision and that the ego agent does not need to alter its path. However, it misses the key point from the ground truth answer that surrounding agent #3 will yield to the ego agent, as both are approaching stop signs. The AI's focus on speed and distance is accurate but incomplete regarding the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly uses the information about speed, distance, and approaching traffic control devices to infer minimal interaction. However, it does not fully align with the ground truth's emphasis on yielding, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #4, as the latter is stationary and positioned behind the ego agent. This aligns with the ground truth answer, which states that surrounding agent #4 will yield to the ego agent since it is not moving and the ego agent is already in the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It accurately describes the positions and states of the ego agent and surrounding agent #4, and logically concludes that no interaction will occur. The reasoning is faithful to the provided context and supports the final prediction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #5 is stationary and that the ego agent is in the intersection, which aligns with the ground truth. However, it fails to explicitly state that surrounding agent #5 will yield to the ego agent, which is a key point in the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly deduces that there will be no conflict due to the stationary nature of surrounding agent #5 and the ego agent's position and speed. However, it slightly deviates by not explicitly mentioning the yielding behavior, which is a subtle but important part of the scenario.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer is partially correct but misses the key detail that surrounding agent #6 will yield to the ego agent because it is not moving and the ego agent is already in the intersection. The AI correctly notes that there is no immediate interaction but fails to acknowledge the yielding behavior, which is a critical aspect of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI correctly identifies that surrounding agent #6 is not moving and does not pose an immediate threat to the ego agent. However, it does not extend the reasoning to the yielding behavior, which slightly detracts from the faithfulness of the response.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #7 will yield to the ego agent, which aligns with the ground truth. However, it emphasizes that their paths are unlikely to interact, which is not entirely accurate since the interaction is about yielding right of way, not necessarily path conflict. The answer could have been more precise in stating that surrounding agent #7 must yield to the ego agent due to its stationary status and the ego agent's position in the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the positions, movements, and traffic control devices affecting both agents and logically concludes that surrounding agent #7 will yield to the ego agent. The explanation is faithful to the provided context and does not introduce any inconsistencies.", + "problem_score_avg": "9.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect because it concludes there is no interaction between the ego agent and surrounding agent #8. However, the ground truth states that surrounding agent #8 will yield to the ego agent due to the ego agent already being in the intersection and surrounding agent #8 being stationary. The AI failed to recognize this yielding behavior, which is a critical aspect of the interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the information provided. The AI correctly identifies the positions and states of both agents and concludes that their paths do not conflict. However, it missed the key insight about the yielding behavior, which is a crucial part of the interaction as per the ground truth.", + "problem_score_avg": "6.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #9, although not moving, is still in a position where it should yield to the ego agent, as per the ground truth. The AI correctly notes the positions and lack of movement but fails to conclude the yielding behavior.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion that there is no interaction, based on the positions and motion statuses of the agents. However, it does not fully consider the rules of the road, which would suggest yielding behavior, even if the paths do not directly conflict.", + "problem_score_avg": "6.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct. While it correctly identifies that surrounding agent #10 is stationary and poses no immediate conflict, it fails to acknowledge that the ego agent is already in the intersection, which is a critical factor. The ground truth answer correctly states that surrounding agent #10 will yield to the ego agent because the ego agent has the right of way being in the intersection. The AI's conclusion that there is 'no interaction expected' is incorrect because, in reality, surrounding agent #10 must yield to the ego agent.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the information provided. It correctly notes that surrounding agent #10 is stationary and that there is a considerable distance between the two agents. However, the AI does not fully incorporate the fact that the ego agent is already in the intersection, which should have led to a conclusion about yielding. Despite this oversight, the reasoning is logically structured and aligns with the details given.", + "problem_score_avg": "6.5" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #11 will yield to the ego agent. The AI correctly notes that surrounding agent #11 is not moving and poses no immediate threat, but it fails to explicitly state that surrounding agent #11 will yield, which is the core of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically deduces that there will be minimal interaction since surrounding agent #11 is stationary and the ego agent is already moving. However, the reasoning does not explicitly address the yielding behavior mentioned in the ground truth, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to continue moving straight through the intersection, which aligns with the ground truth. However, it incorrectly mentions that the ego agent needs to come to a complete stop at the stop sign, while the ground truth indicates the ego agent is already in the intersection and has the right of way, implying it has already stopped if necessary and is now proceeding.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions. It correctly notes the ego agent's acceleration and intention to move straight, but the mention of stopping at the stop sign is inconsistent with the context, which suggests the ego agent is already in the intersection.", + "problem_score_avg": "6.5" + } + } + }, + "101295a175cb6ce1": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #0, which aligns perfectly with the ground truth. The AI accurately notes the agents' trajectories and the distance between them, supporting the conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies the positions, directions, and motions of both agents, and logically deduces that their paths will not intersect, leading to no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent and surrounding agent #1 will not interact, as the ground truth also states. However, the AI incorrectly mentions that surrounding agent #1 is heading toward the intersection, while the ground truth states both are departing from the intersection. This discrepancy slightly reduces correctness.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI logically explains the positions and directions of the vehicles, concluding that no interaction will occur. However, the minor error about the direction of surrounding agent #1 slightly impacts the faithfulness of the reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #2, as their paths are unlikely to cross. However, it slightly elaborates more than necessary on the context, which is not explicitly required by the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is consistent with the conclusions drawn. The AI logically explains why there is no direct interaction based on the positions and movements of both agents, and the conclusions align with the provided details.", + "problem_score_avg": "8.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent is decelerating and focusing on the speed bump. However, it missed the ground truth detail that the ego agent intends to continue departing from the intersection, which is a key part of the anticipated intention. The AI also correctly notes no immediate conflicts with surrounding agents, aligning with the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the context provided. It logically connects the ego agent's deceleration to the approaching speed bump and correctly assesses the lack of conflicts with surrounding agents. The conclusions drawn are well-supported by the reasoning, though it could have explicitly mentioned the continued departure from the intersection.", + "problem_score_avg": "8.5" + } + } + }, + "10137da143191f29": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will have no interaction with the ego agent. It accurately notes that surrounding agent #0 is not moving and is in a position that does not conflict with the ego agent's path, which aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. The AI correctly analyzes the positions, motion statuses, and directions of both the ego agent and surrounding agent #0 and logically concludes that there will be no interaction, which is faithful to the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI correctly concludes that there will be no interaction between the ego agent and surrounding agent #1 due to their opposite directions of travel. However, the ground truth explicitly mentions that surrounding agent #1 will be departing the intersection, which the AI does not directly address. This minor omission slightly reduces the correctness score.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. The AI logically explains the lack of interaction based on the trajectories and speeds of the ego agent and surrounding agent #1, which aligns with its conclusion. There are no contradictions or inconsistencies in the reasoning.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction or conflict between the ego agent and surrounding agent #200, which contradicts the ground truth stating there will be no interaction. The AI incorrectly assumes the pedestrian is approaching the intersection and crossing paths, while the ground truth clarifies they are both in the intersection but not in each other's path.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the context but flawed in its conclusions. It correctly identifies the positions and movements of both agents but incorrectly infers a potential conflict, which is inconsistent with the context. The reasoning aligns with some details but diverges in its final interpretation, leading to an unfaithful conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to proceed through the intersection and decelerate for the speed bump. However, it fails to mention that the ego agent will accelerate to 10 m/s after the speed bump, as stated in the ground truth. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the provided context. It correctly interprets the ego agent's trajectory and the interaction with surrounding agents. However, it does not explicitly address the acceleration after the speed bump, which slightly deviates from the full context provided.", + "problem_score_avg": "7.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp2.json b/grades/direct/deepseek_grades_direct_2shot_exp2.json new file mode 100644 index 0000000..202386c --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp2.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point mentioned in the ground truth. While it correctly identifies that the ego agent is faster and will likely overtake surrounding agent #0, it fails to acknowledge that both agents are heading towards the intersection, which is a critical aspect of their interaction. The ground truth emphasizes that surrounding agent #0 will lead the ego agent as they approach the intersection, which the AI did not address.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions. It logically explains that the ego agent will overtake surrounding agent #0 due to its higher speed and acceleration, and it correctly notes that their paths do not cross. However, it omits the context of the intersection, which slightly weakens the faithfulness of the reasoning to the full scenario.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth. It correctly identifies that the ego agent and surrounding agent #1 are on different lanes, their paths do not conflict, and there will be no interaction as they depart from the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately describes the positions, speeds, and movements of both agents and logically concludes that there will be no interaction, which is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #3 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. The AI incorrectly concludes that interaction is minimal or nonexistent, which contradicts the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately describes the position and motion of surrounding agent #3 and logically deduces that there will be no interaction based on these observations. However, the conclusion itself is incorrect with respect to the ground truth.", + "problem_score_avg": "5.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The ground truth states that there will be no interaction between the ego agent and surrounding agent #4, as they are on different lanes and their paths do not cross. However, the AI's answer suggests the possibility of the ego agent overtaking surrounding agent #4, which contradicts the ground truth and indicates a misunderstanding of the scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the information provided, such as the positions and directions of the agents. However, it incorrectly concludes a potential interaction, which is not supported by the data, leading to a less faithful conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it misinterprets the relative positions and lanes of the ego agent and surrounding agent #5. The ground truth states that surrounding agent #5 is on a different lane, and there is no indication of their paths crossing. However, the AI incorrectly assumes they are on the same lane and predicts potential conflicts, which is contrary to the ground truth.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning in the AI's answer is not consistent with the provided context. While the AI correctly identifies the speeds and acceleration of both agents, it fails to account for the fact that they are on different lanes. This inconsistency leads to incorrect conclusions about potential interactions, making the reasoning unfaithful to the actual scenario.", + "problem_score_avg": "3.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it states that surrounding agent #6 is stationary and will not interact with the ego agent. However, the ground truth indicates that surrounding agent #6 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. The AI failed to account for the dynamic nature of the situation.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions based on the information provided. It correctly identified that surrounding agent #6 is stationary and positioned behind the ego agent. However, the reasoning is based on the assumption that surrounding agent #6 will remain stationary, which is not aligned with the dynamic context of the scenario.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, aligning with the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent, but the AI mistakenly mentions that surrounding agent #7 is 'on the same side of the intersection,' which is not explicitly stated in the context. However, it correctly concludes no interaction based on the agent being stationary and not conflicting with the ego agent's path.", + "problem_score_avg": "9.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, which aligns with the ground truth answer. Both answers conclude that the paths of the agents are not crossing and they are moving in opposite directions.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusion. The AI accurately describes the positions, speeds, and directions of both agents and logically deduces that there will be no interaction, which is faithful to the information provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #9, aligning with the ground truth. However, it incorrectly states that the ego agent will 'pass behind' surrounding agent #9, which is not supported by the context since both are moving away from the intersection.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context, but the conclusion that the ego agent will 'pass behind' surrounding agent #9 is not faithful to the scenario, as there is no indication of their paths crossing or the ego agent needing to pass behind.", + "problem_score_avg": "7.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. This aligns with the ground truth, which states that surrounding agent #10 is not moving and there is no indication of their paths crossing.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It notes that surrounding agent #10 is stationary and behind the ego agent, and therefore, there is no need for the ego agent to adjust its trajectory or speed. This reasoning logically supports the conclusion that no interaction is expected.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #11 due to their different lanes and non-intersecting paths. However, it goes slightly beyond the ground truth by suggesting the ego agent might overtake surrounding agent #11, which is not explicitly stated in the context.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically deduces that the ego agent and surrounding agent #11 will not interact based on their positions and movements, and it supports this with relevant data from the context.", + "problem_score_avg": "8.5" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct. It accurately identifies that surrounding agent #12 is stationary and behind the ego agent on the same lane. However, it fails to consider the ground truth that surrounding agent #12 will follow the ego agent as both are heading towards the intersection. The AI's conclusion that interaction will be minimal is not entirely accurate given the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly notes that the ego agent is accelerating and that surrounding agent #12 is stationary, leading to the conclusion that interaction is minimal. However, it does not fully align with the ground truth, which suggests that the interaction might be more significant than the AI assumes.", + "problem_score_avg": "7.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes potential interaction between the ego agent and surrounding agent #13, despite the ground truth stating there will be no interaction as they are heading in opposite directions and their paths do not cross. The AI's conclusion contradicts the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its own conclusions. It logically explains potential conflict, right of way considerations, and decision-making based on the provided context. However, the reasoning is based on incorrect assumptions about the interaction, which affects faithfulness to the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #14. The reasoning aligns with the ground truth, which states that they are heading in opposite directions and their paths are not likely to cross.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It accurately describes the positions and directions of both agents, and logically concludes that their paths are unlikely to conflict, supporting the conclusion of no significant interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #15 will lead the ego agent. While the AI correctly notes the distance and speeds, it wrongly concludes that the ego agent will catch up or pass surrounding agent #15 without considering the departure direction and the scenario's context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, but the conclusions themselves are partially flawed. The AI logically deduces the potential interaction based on speed and distance but fails to account for the directional context (both agents are departing the intersection), which affects the interaction significantly.", + "problem_score_avg": "5.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly concluded that there will be no interaction between the ego agent and surrounding agent #16, which aligns with the ground truth. However, the AI incorrectly stated that agent #16 is on the same lane as the ego agent, which is not true according to the context. This minor inaccuracy affects the correctness score.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion, as it correctly identifies that the paths of the ego agent and surrounding agent #16 do not conflict. However, the reasoning is flawed by the incorrect assertion that agent #16 is on the same lane, which affects the logical consistency of the explanation.", + "problem_score_avg": "7.5" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to continue accelerating in its current lane towards the intersection. However, it fails to mention the specific interactions with surrounding agents #0, #6, and #15, which are crucial details in the ground truth answer. The AI also omits the fact that the ego agent will lead surrounding agent #6 and follow surrounding agents #0 and #15.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly deduces that the ego agent will continue accelerating without needing to yield or alter its path significantly, based on the behavior of surrounding agents. However, it does not fully align with the ground truth answer due to the omission of specific interactions with surrounding agents.", + "problem_score_avg": "7.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp23.json b/grades/direct/deepseek_grades_direct_2shot_exp23.json new file mode 100644 index 0000000..ec5fef2 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp23.json @@ -0,0 +1,67 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #0 will yield to the ego agent because it is decelerating and approaching the intersection from the opposite side while the ego agent is already in the intersection and accelerating. The AI incorrectly concludes that there will be no interaction, which contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is internally consistent, as it logically follows from the assumption that the two agents are heading in opposite directions and are positioned on opposite sides of the intersection. However, this reasoning is flawed because it fails to account for the yielding behavior described in the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #2 is stationary and that the ego agent is exiting the intersection. However, the AI fails to explicitly state that surrounding agent #2 will yield to the ego agent, which is a key part of the ground truth answer. The AI's conclusion about the ego agent passing by surrounding agent #2 is plausible but lacks the clarity and precision of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. The AI correctly interprets the positions and states of both agents and draws a logical conclusion based on that information. However, the reasoning could have been more precise by explicitly mentioning the yielding behavior of surrounding agent #2, which is implied but not directly stated.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, emphasizing that the latter is stationary and positioned behind the ego agent. The explanation of the ego agent exiting the intersection and moving away further supports the conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is fully consistent with the provided context. It correctly identifies the state of surrounding agent #3 (stationary and behind the ego agent) and logically concludes that no interaction will occur. The reasoning faithfully follows from the given information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks the explicit mention that surrounding agent #4 will yield to the ego agent, which is the key detail in the ground truth answer. The AI correctly identifies that the ego agent can proceed without obstruction, but it does not clearly state the yielding behavior of surrounding agent #4.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It accurately describes the positions and states of the ego agent and surrounding agent #4, and it logically concludes that the ego agent can proceed without interaction. However, it does not explicitly state the yielding behavior, which slightly detracts from its faithfulness.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth. It correctly identifies that surrounding agent #5 is stationary and that the ego agent can proceed without direct conflict. However, it misses the key aspect that surrounding agent #5 will yield to the ego agent, which is a more nuanced and specific interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically deduces that there will be no conflict based on the positions and movement of the agents. However, it does not fully explore the yielding behavior mentioned in the ground truth, which slightly reduces the faithfulness of its reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the interaction between the ego agent and surrounding agent #6 is minimal due to the latter being stationary and positioned behind the ego agent. However, it does not explicitly mention that surrounding agent #6 will yield to the ego agent, which is a key aspect of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly states that the ego agent will not need to adjust its course or speed due to surrounding agent #6's stationary position and lack of path conflict, which aligns with the provided context.", + "problem_score_avg": "8.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies the ego agent's intended course of action, which is to complete its left turn and exit the intersection while accelerating. It also correctly notes that the surrounding agents do not pose an immediate risk, as they are either stationary or positioned in a way that allows the ego agent to proceed without altering its course. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the given context. It accurately describes the ego agent's actions and correctly interprets the positions and behaviors of the surrounding agents. The conclusions drawn are firmly based on the information provided, demonstrating faithful reasoning.", + "problem_score_avg": "10.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp27.json b/grades/direct/deepseek_grades_direct_2shot_exp27.json new file mode 100644 index 0000000..378ec17 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp27.json @@ -0,0 +1,562 @@ +{ + "118d81ceeb8401d5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the interaction is non-conflictual due to the red traffic light, and both agents are yielding. However, it slightly misinterprets the situation by stating that surrounding agent #0 is approaching the crosswalk, whereas it is actually departing from the intersection, which is a minor inaccuracy.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is largely consistent with the conclusions drawn. The AI correctly analyzes the red traffic light's impact and the agents' paths, but the minor error about surrounding agent #0's position slightly detracts from the overall faithfulness.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop due to the red traffic light, and that surrounding agent #1 may continue towards the intersection. However, the AI does not explicitly state that the ego agent will yield to surrounding agent #1, which is a key point in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically explains the behavior of both agents based on the given scenario and correctly infers the minimal interaction due to the red light for the ego agent. The reasoning aligns well with the conclusions, though it could have been more explicit about yielding.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop due to the red traffic light and wait for it to turn green. However, it fails to mention the need to yield to surrounding agent #1, which is a critical part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It correctly interprets the traffic light's influence on the ego agent's behavior and acknowledges the presence of surrounding agents. The only inconsistency is the omission of yielding to surrounding agent #1, but the rest of the logic aligns with the scenario.", + "problem_score_avg": "8.0" + } + } + }, + "11910053d8443321": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect as it claims the interaction between the ego agent and surrounding agent #0 is minimal and non-influential, contradicting the ground truth that surrounding agent #0 will yield to the ego agent due to their paths crossing. The AI fails to recognize the potential conflict at the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the provided context but overlooks key details, such as the intersection dynamics and the potential for conflicting paths. While it correctly notes the agents' positions and speeds, it draws an unfounded conclusion about their interaction being non-influential.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent plans to traverse the speed bump and continue towards the intersection. However, it misses the critical detail that the ego agent will need to slow down for the speed bump and prepare to interact with surrounding agent #0, which is expected to yield. This omission reduces the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It logically follows that the ego agent will continue towards the intersection after the speed bump and that there is no immediate conflict with surrounding agent #0. However, it does not fully address the need for the ego agent to slow down and prepare for interaction, which slightly detracts from the faithfulness.", + "problem_score_avg": "7.0" + } + } + }, + "1191720c122f7d82": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer contradicts the ground truth. The ground truth states that surrounding agent #0 will yield to the ego agent, but the AI suggests the ego agent will yield to surrounding agent #0. This is incorrect based on the context provided. Moreover, the AI does not clearly address the yielding behavior as described in the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent but flawed. It correctly identifies the positions and directions of the agents and acknowledges the stop sign for the ego agent. However, it incorrectly concludes that the ego agent will yield to surrounding agent #0, which is not aligned with the ground truth. The reasoning lacks clarity on the yielding behavior and misinterprets the interaction dynamics.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #1 will yield to the ego agent due to the stop sign and its stationary status. However, the AI incorrectly states that the ego agent will need to come to a complete stop, which is not explicitly stated in the ground truth. The ground truth only mentions that surrounding agent #1 is yielding, not that the ego agent must stop.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions, but it introduces an assumption that the ego agent must come to a complete stop at the stop sign. This assumption is not supported by the context or ground truth, which only mentions that surrounding agent #1 is yielding. The conclusion that the ego agent has the right of way is consistent with the reasoning, but the additional detail about stopping slightly deviates from the faithfulness to the context provided.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct in stating that there is no significant interaction expected between the ego agent and surrounding agent #3, as surrounding agent #3 is stationary and not obstructing the ego agent's path. However, the AI slightly overcomplicates the reasoning by introducing unnecessary considerations about the ego agent stopping and assessing future motion, which are not directly relevant to the question.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. The AI correctly identifies that surrounding agent #3 is stationary and not blocking the ego agent. However, the additional reasoning about the ego agent's stop sign and future assessment of motion, while not incorrect, is somewhat tangential and detracts from the main point, which is the lack of immediate interaction.", + "problem_score_avg": "8.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI\u2019s answer incorrectly suggests that the ego agent will stop behind surrounding agent #4, implying a potential interaction. However, the ground truth explicitly states that there will be no interaction since surrounding agent #4 is stationary and on the same side of the intersection. The AI\u2019s conclusion contradicts the ground truth, leading to a mediocre score.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI\u2019s answer is somewhat consistent but flawed. It correctly identifies that surrounding agent #4 is stationary and approaching a stop sign, but it incorrectly concludes that the ego agent will stop behind it, creating an unnecessary interaction. The reasoning does not fully align with the conclusion, resulting in a lower score.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that surrounding agent #5 will have no interaction with the ego agent because it is stationary and on the same side of the intersection, which aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the position and motion status of surrounding agent #5 and logically concludes that there will be no interaction with the ego agent, which is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that surrounding agent #6 will have no interaction with the ego agent, as it is not moving and is on the same side of the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains why there will be no interaction, based on the stationary state and position of surrounding agent #6, and the ego agent's trajectory towards the stop sign. The conclusion is faithful to the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly implies that the ego agent is also affected by a stop sign, which is not the case according to the context. The ground truth clearly states that surrounding agent #7 will yield to the ego agent, but the AI's answer inaccurately suggests mutual yielding due to stop signs.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the presence of stop signs but fails to correctly identify the relationship between the ego agent and surrounding agent #7. The AI misinterprets the scenario by suggesting both agents are approaching stop signs, leading to incorrect conclusions about their interactions.", + "problem_score_avg": "5.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no significant interaction between the ego agent and surrounding agent #8, aligning perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. The conclusion that the ego agent will not need to alter its course or speed in response to surrounding agent #8 is logically derived from the fact that surrounding agent #8 is stationary and positioned in a way that does not interfere with the ego agent's movement. The reasoning is faithful to the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it accurately describes the ego agent's intent to approach the stop sign and prepare to stop. However, it does not explicitly mention yielding to surrounding agent #0, which is a critical detail in the ground truth answer. The AI also includes surrounding agents #1, #3, and #4, which are not directly relevant to the ego agent's immediate decision-making process.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI logically explains the ego agent's actions, including its approach to the stop sign and the need to assess the traffic situation. However, it could be more precise by focusing more on the immediate interaction with surrounding agent #0, which is the key element in the scenario.", + "problem_score_avg": "8.5" + } + } + }, + "119331d99ba92541": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes minimal interaction and potential clearance of the intersection by surrounding agent #0. The ground truth emphasizes that the ego agent should yield to surrounding agent #0 due to right-of-way rules, which the AI fails to acknowledge.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, as it considers the positions and speeds of the agents. However, it overlooks the critical right-of-way dynamics, which weakens the overall faithfulness of the reasoning to the scenario's context.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #2, as they are moving in opposite directions and surrounding agent #2 is departing from the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It correctly interprets the relative positions, speeds, and directions of both agents to conclude that no interaction will occur. The explanation is faithful to the provided context and logically sound.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies the ego agent's intention to slow down for the speed bump and crosswalk and to proceed towards the intersection. However, it misses the specific mention of preparing to yield to surrounding agent #0, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the given context. It logically connects the ego agent's deceleration to the presence of the speed bump and crosswalk, and it correctly infers that the agent will continue towards the intersection. The conclusion aligns well with the provided information.", + "problem_score_avg": "8.5" + } + } + }, + "119379efe682b6f6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will yield to the ego agent because it is at a stop sign while the ego agent is not. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and logically follows from the provided context. The conclusion that surrounding agent #0 will stop and yield to the ego agent is well-supported by the details about their positions, speeds, and the presence of the stop sign.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that there will be no immediate interaction between the ego agent and surrounding agent #2. However, it introduces an unnecessary and incorrect point about potential future interaction, which is not supported by the context. The ground truth explicitly states there will be no interaction, making this addition incorrect.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions, but it includes speculative reasoning about future interactions that are not grounded in the provided context. This inconsistency reduces the faithfulness of the answer to the given scenario.", + "problem_score_avg": "6.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, consistent with the ground truth. It accurately notes that surrounding agent #3 is stationary and their paths do not conflict.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It correctly describes the positions and states of the agents and logically concludes that no interaction will occur. The only minor issue is that the AI mentions the ego agent is '18 meters behind surrounding agent #3,' which is slightly off from the relationship described in the context (18m in front and 10m on the left), but this does not significantly impact the overall faithfulness.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4. This is consistent with the ground truth answer, which states that they are not moving towards each other and are on the same side of the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It accurately describes the positions and states of both the ego agent and surrounding agent #4, and logically concludes that there will be no interaction based on their stationary positions and relative distances.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. The reasoning provided by the AI is consistent with the scenario, as it notes that surrounding agent #5 is not moving, is behind the ego agent, and does not pose a conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the context provided. The AI correctly interprets the positions and states of the ego agent and surrounding agent #5, concluding that there will be no interaction, which is logically consistent with the scenario.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that surrounding agent #6 will yield to the ego agent as per the ground truth. The AI incorrectly concludes that the interaction will be non-interactive, while the correct answer asserts that surrounding agent #6 will yield, which implies an interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It logically explains why it believes the interaction will be non-interactive, based on the stationary nature of surrounding agent #6 and the ego agent's deceleration. However, the reasoning does not align with the ground truth, which indicates a different interaction dynamic.", + "problem_score_avg": "5.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct. It correctly identifies that surrounding agent #7 is stationary and positioned ahead of the ego agent. However, it fails to recognize that the ego agent is exiting the intersection, which implies a potential interaction where surrounding agent #7 would yield. The ground truth indicates that there is an interaction, albeit a yielding one, which the AI misses.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly notes that surrounding agent #7 is stationary and positioned ahead of the ego agent, which supports its conclusion that there is no immediate interaction. However, the reasoning does not fully account for the ego agent's motion status (exiting the intersection), which could have led to a more accurate conclusion.", + "problem_score_avg": "6.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent is decelerating and will pass over the speed bump. However, it does not explicitly state that the ego agent intends to continue exiting the intersection, nor does it fully address the lack of need to yield to surrounding agents, which is a key part of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the context provided. It correctly notes the ego agent's deceleration, the presence of the speed bump, and the lack of a stop sign on the ego agent's side. However, it slightly overemphasizes the need to be mindful of surrounding agents, particularly surrounding agent #0, which is not directly in conflict with the ego agent's path.", + "problem_score_avg": "7.5" + } + } + }, + "11958515bd0f0efa": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #0 will yield to the ego agent. The AI correctly identifies that the ego agent will stop due to the stop sign and that surrounding agent #0 is decelerating. However, it does not explicitly state that surrounding agent #0 will yield, which is the core of the ground truth answer. The answer also raises unnecessary concerns about potential conflict, which is not aligned with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It correctly notes the behavior of both agents (ego agent stopping, surrounding agent #0 decelerating) and the context (stop sign). However, the AI introduces uncertainty about a potential conflict, which is not fully supported by the context or its own reasoning. This inconsistency slightly reduces the faithfulness score.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI incorrectly concluded that the ego agent will yield to surrounding agent #1. The ground truth clearly states that surrounding agent #1 will yield to the ego agent because the ego agent is approaching a stop sign. The AI failed to recognize the right-of-way dynamics in this scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is partly consistent with the provided information about the agents' speeds, positions, and deceleration. However, the AI's conclusion about the interaction contradicts its own reasoning about the ego agent's stop sign, which should have been a key factor in determining right-of-way.", + "problem_score_avg": "4.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #3, which aligns with the ground truth that surrounding agent #3 is stationary and behind the ego agent. The explanation provided by the AI is accurate and consistent with the given context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the context. The AI logically concludes that there will be no interaction based on the stationary status and position of surrounding agent #3 behind the ego agent. The reasoning is consistent with the provided information and does not introduce any contradictions or unfounded assumptions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth. The reasoning correctly identifies the stationary position of surrounding agent #4 behind the ego agent, eliminating the possibility of interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the provided context. It accurately uses the details about the positioning and motion status of both the ego agent and surrounding agent #4 to draw a logical conclusion, ensuring the reasoning is faithful to the facts presented.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer is mostly correct but slightly verbose. It correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #5 due to the latter's stationary position behind the ego agent. However, it goes into unnecessary detail about the ego agent's path and stop sign, which is not directly relevant to the question. This reduces the clarity and precision of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is mostly faithful and consistent with the conclusions drawn. It correctly notes that surrounding agent #5 is stationary and behind the ego agent, leading to minimal interaction. However, the reasoning includes extraneous details about the stop sign and speed bump, which, while not incorrect, slightly dilute the focus on the specific interaction being asked about.", + "problem_score_avg": "8.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will approach the stop sign, come to a complete stop, and assess its surroundings before proceeding. It also mentions the need to slow down for the speed bump. However, it does not explicitly state that surrounding agents #0 and #1 will yield to the ego agent, nor does it clearly mention the right of way due to the stop sign. This omission reduces its correctness score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. The AI logically explains the ego agent's actions, including stopping at the stop sign, assessing the surroundings, and being mindful of the speed bump. The conclusions align well with the reasoning provided, though it could have been more explicit about the yielding behavior of surrounding agents.", + "problem_score_avg": "8.5" + } + } + }, + "119646e17481bd19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it claims there will be no interaction between the ego agent and surrounding agent #0, whereas the ground truth explicitly states that surrounding agent #0 will yield to the ego agent. The AI failed to recognize the yielding behavior despite the clear context that both are at stop signs and the ego agent is exiting the intersection.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It correctly identifies that surrounding agent #0 is stationary and at a stop sign, and it acknowledges the ego agent's maneuver. However, the reasoning does not account for the yielding behavior, which is a critical aspect of the interaction.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth states that surrounding agent #1 will yield to the ego agent because it is further from the intersection and the ego agent is already exiting the intersection. However, the AI concluded that the ego agent must yield to surrounding agent #1, which is not in line with the provided context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusions but misinterprets the context. It correctly identifies the positions and speeds of both agents and the right-of-way considerations. However, it fails to recognize that the ego agent is already in the intersection and exiting, which should have led to the conclusion that surrounding agent #1 would yield, not the other way around.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer incorrectly states that the ego agent is continuing its left turn within the intersection, whereas the ground truth indicates the ego agent is exiting the intersection. The AI also misinterprets the ego agent's position at the stop sign, suggesting it is entering the intersection rather than proceeding past it. However, the AI correctly identifies that surrounding agents #0 and #1 will yield to the ego agent, though the reasoning for agent #1 is slightly off.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it correctly identifies that the surrounding agents will not interfere with the ego agent's maneuver. However, the AI's conclusion about the ego agent's intended action (left turn) is not supported by the context, which shows the ego agent is exiting the intersection. The reasoning about the speed bump and acceleration is also omitted.", + "problem_score_avg": "6.0" + } + } + }, + "1196efe81489ec7b": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 will follow the ego agent and that their paths do not conflict. However, it misses the emphasis on the fact that both agents are departing from the intersection and heading in the same direction, which is a key point in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly interprets the positions, speeds, and directions of both agents and concludes that there is no risk of conflict. The logic is sound and aligns with the context given.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the ground truth, which states that surrounding agent #1 will lead the ego agent. The AI incorrectly concludes that there is no interaction, despite the ground truth explicitly describing one.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It correctly identifies the lack of information about surrounding agent #1 and logically infers that no interaction is anticipated based on the available data. However, it does not address the ground truth, which is a separate issue.", + "problem_score_avg": "4.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it does not accurately predict the interaction between the ego agent and surrounding agent #2, as stated in the ground truth. The ground truth explicitly mentions that surrounding agent #2 will be overtaken by the ego agent, which the AI fails to address or even acknowledge. The AI's assumption about surrounding agent #2's behavior is speculative and not based on the provided context, leading to an incorrect conclusion.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is somewhat faithful to the context provided, as the AI attempts to infer possible interactions based on the behavior of other surrounding agents. However, it strays from faithfulness by making assumptions about surrounding agent #2's behavior without any supporting evidence from the context. The AI's conclusion about avoidance or passing safely is not grounded in specific details about surrounding agent #2, making the reasoning inconsistent with the available information.", + "problem_score_avg": "3.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly predicts an interaction between the ego agent and surrounding agent #3, which contradicts the ground truth stating no interaction will occur. The AI's reasoning is flawed as it assumes a potential conflict despite surrounding agent #3 not being in the ego agent's path.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it discusses the possibility of a conflict and the need for yielding. However, its analysis is based on incorrect assumptions about the paths of the ego agent and surrounding agent #3, leading to a conclusion that is inconsistent with the ground truth.", + "problem_score_avg": "4.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there was no information provided about surrounding agent #4 in the context. Since the context does not mention surrounding agent #4, the AI's conclusion that there is insufficient information to determine any interaction is correct and aligns with the ground truth, which implies no interaction can be determined.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It explicitly states that surrounding agent #4 is not mentioned in the context and thus cannot determine any interaction. This reasoning is faithful to the provided information and logically leads to the conclusion that no interaction can be determined.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #6 in the provided context, making it impossible to determine any interaction. This aligns with the ground truth answer, which implies that the AI's response is entirely correct.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It accurately concluded that no information about surrounding agent #6 exists, and the conclusion drawn is faithful to the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The ground truth states that surrounding agent #7 will pass the ego agent as they are heading in opposite directions. The AI's answer does not match this and instead concludes that there will likely be no expected interaction due to a lack of information. This is incorrect.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies the lack of information about surrounding agent #7 and logically infers that no interaction can be predicted without additional details. However, it fails to consider that the ground truth might exist independently of the provided context.", + "problem_score_avg": "4.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #8 in the given context. Since the ground truth answer mentions an interaction involving agent #8, which is not discussed in the context, the AI's response is accurate in stating that it cannot determine the interaction due to lack of information.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically explains that without specific details about surrounding agent #8, it is impossible to determine any interaction. This reasoning aligns perfectly with the conclusion drawn, making the response faithful to its own logic.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly concluded that there will be no interaction between the ego agent and surrounding agent #9, which aligns perfectly with the ground truth answer. The explanation provided by the AI is accurate and consistent with the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly analyzed the positions, movements, and statuses of both the ego agent and surrounding agent #9, leading to a logical and faithful conclusion that no interaction would occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #10 in the context. This aligns with the ground truth that no interaction can be determined due to the lack of data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically states that without details about surrounding agent #10, it is impossible to predict any interaction, which is a faithful conclusion based on the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #11 in the provided context, which aligns with the ground truth that such an agent is not mentioned. Hence, the AI's conclusion that it cannot determine any interaction is accurate.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It directly addresses the absence of information about surrounding agent #11 and concludes that no interaction can be determined, which is a faithful reflection of the available data.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #12 in the provided context, making it impossible to determine any interaction. This aligns with the ground truth answer, which also implies that the interaction cannot be assessed without specific details.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It clearly states the lack of information about surrounding agent #12 and correctly concludes that no interaction can be assessed without that data. The reasoning is logical and faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #13 in the context. Since the ground truth answer refers to an interaction with agent #13, which is not mentioned in the context, the AI's answer is accurate in stating that no assessment can be made without additional data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It explicitly states the lack of information about agent #13 and logically concludes that no interaction can be determined without relevant details. The reasoning is faithful to the information given.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that surrounding agent #14 is not included in the provided context, which aligns with the ground truth that no interaction can be determined without additional information.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning is faithful as the AI clearly states the lack of information about surrounding agent #14 and requests further details to make an informed conclusion, which is consistent with its reasoning process.", + "problem_score_avg": "10.0" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #15 in the provided context. Since the context does not mention any details about surrounding agent #15, it is impossible to determine any interaction between the ego agent and this agent. This aligns perfectly with the ground truth answer, which states that no interaction can be determined due to the lack of information.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. The AI clearly states that without details on surrounding agent #15's position, motion status, speed, or proximity to the ego agent, an analysis of potential interactions cannot be conducted. This reasoning is faithful to the provided context, as it accurately reflects the absence of relevant information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue moving at a constant speed through the intersection, which aligns with the ground truth. However, it misses key details from the ground truth, such as the ego agent overtaking surrounding agent #2 and passing by several other surrounding agents heading in the opposite direction. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided in the context. It accurately analyzes the positions and movements of surrounding agents #0 and #3 and correctly concludes that the ego agent can proceed without altering its course. However, the AI does not address all surrounding agents mentioned in the ground truth, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "7.0" + } + } + }, + "119801330046ff49": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will yield to the ego agent due to the stop sign, which aligns with the ground truth. However, the AI's explanation could be more concise and directly emphasize the key point about the stop sign, which is the primary reason for the yielding behavior.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically explains why surrounding agent #0 will yield, considering the distance, speed, and presence of the stop sign, and correctly concludes that the ego agent can proceed without conflict.", + "problem_score_avg": "9.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that the ego agent plans to complete its left turn and exit the intersection. It also accurately states that the ego agent will continue to decelerate and that surrounding agent #0 will yield due to the stop sign. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. It logically connects the ego agent's current state (decelerating, in the intersection, turning left) with its future action (exiting the intersection). It also correctly assesses the impact of the stop sign on surrounding agent #0's behavior, ensuring the conclusions are faithful to the reasoning.", + "problem_score_avg": "10.0" + } + } + }, + "119996e0d9d0f141": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize the interaction dynamics between the ego agent and surrounding agent #0. The ground truth states that surrounding agent #0 will yield to the ego agent due to the right of way rules, but the AI concludes that no interaction will occur. This misunderstanding of the scenario's rules and agent behavior significantly detracts from the correctness of the answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the details provided, as it correctly notes the positions, speeds, and trajectories of the agents. However, the conclusion that no interaction will occur is not fully supported by the reasoning, as it overlooks the right-of-way implications and potential for yielding behavior. This inconsistency in drawing conclusions from the reasoning reduces the faithfulness score.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it states that surrounding agent #200 will yield to the ego agent, whereas the ground truth clearly states that the ego agent will yield to surrounding agent #200. The AI misinterprets the dynamics of the interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context, as it correctly identifies the positions and speeds of the agents. However, it incorrectly concludes the yielding behavior, which contradicts the principles of pedestrian priority in such scenarios.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly concludes that the interaction between the ego agent and surrounding agent #201 is minimal. The ground truth indicates that the ego agent should yield to the pedestrian as they are on the same side of the intersection and heading towards the intersection center, suggesting a potential crossing path. The AI fails to recognize this critical point, which is a significant error.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion, as it logically explains why it believes the interaction is minimal based on the positions and speeds of the agents. However, the reasoning is flawed because it overlooks the context of the intersection and the pedestrian's trajectory, which are crucial to understanding the interaction correctly.", + "problem_score_avg": "5.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer is mostly correct in stating that there will be minimal or no interaction between the ego agent and surrounding agent #2. However, it slightly diverges from the ground truth by not explicitly mentioning that both agents are on the same side of the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusion. It accurately describes the movement and positioning of both agents and correctly concludes that no interaction is expected. However, it could have been more aligned with the ground truth by mentioning the shared side of the intersection explicitly.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, which aligns with the ground truth answer. It accurately notes that surrounding agent #3 is not moving and is positioned on the same side of the intersection as the ego agent, eliminating the possibility of any significant interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context provided. It correctly interprets the positions and motion statuses of both the ego agent and surrounding agent #3, and logically concludes that no interaction will occur. The conclusions drawn are well-supported by the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, which aligns perfectly with the ground truth answer. The reasoning that surrounding agent #4 is stationary and the ego agent is moving straight at a constant speed without needing to alter its path is accurate and consistent with the provided context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely consistent with the conclusions drawn. The AI correctly uses the information about the positions, movements, and interactions of the agents to arrive at the conclusion that there will be no interaction, which is faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the potential for interaction between the ego agent and surrounding agent #202, as the pedestrian is heading towards the intersection center, which could lead to a crossing path. The ground truth explicitly states that the ego agent should yield to the pedestrian, which the AI's answer does not consider.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly describes the positions and speeds of the ego agent and surrounding agent #202 and concludes that there is no immediate conflict based on these observations. However, the reasoning fails to account for the broader context of the pedestrian's direction and potential crossing, which is a critical oversight.", + "problem_score_avg": "5.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will continue moving straight at a constant speed. However, it fails to mention the need to yield to pedestrians (surrounding agents #200, #201, and #202), which is a critical part of the ground truth. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion that the ego agent will maintain its trajectory. However, it does not address the interaction with pedestrians, which would require additional reasoning. The conclusions drawn are faithful to the reasoning provided, but the reasoning itself is incomplete.", + "problem_score_avg": "7.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp8.json b/grades/direct/deepseek_grades_direct_4shot_exp11.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp8.json rename to grades/direct/deepseek_grades_direct_4shot_exp11.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp10.json b/grades/direct/deepseek_grades_direct_4shot_exp15.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp10.json rename to grades/direct/deepseek_grades_direct_4shot_exp15.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp19.json b/grades/direct/deepseek_grades_direct_4shot_exp19.json new file mode 100644 index 0000000..06aba17 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp19.json @@ -0,0 +1,273 @@ +{ + "100dc2bbda4ccfc5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that surrounding agent #1 will yield to the ego agent. The ground truth clearly indicates that the ego agent must yield to surrounding agent #1 due to the red traffic light and their respective positions approaching the intersection. The AI's conclusion contradicts the ground truth, leading to a low correctness score.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusions. It correctly identifies that the ego agent must stop at the red light and that surrounding agent #1 is approaching a crosswalk. However, it incorrectly concludes that surrounding agent #1 will yield to the ego agent, which is not supported by the context. The reasoning is somewhat coherent but ultimately flawed in its final interpretation.", + "problem_score_avg": "3.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to stop at the red traffic light and mentions the crosswalk. However, it fails to address the need to yield to surrounding agent #1, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It logically concludes that the ego agent will stop at the red light and considers the crosswalk, though it does not fully align with the ground truth by omitting the surrounding agent.", + "problem_score_avg": "8.5" + } + } + }, + "101136b4af211072": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 is not moving and its position relative to the ego agent. However, it fails to recognize that agent #0 is on the right side of the intersection and could potentially yield to the ego agent, as per the ground truth. The AI\u2019s conclusion that there will be no interaction is partially correct but incomplete.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI\u2019s reasoning is consistent with its conclusion. It logically states that surrounding agent #0 is not moving and their paths do not conflict, which aligns with its conclusion of no interaction. However, it overlooks the potential implicit interaction of yielding, which slightly reduces its faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it accurately states that surrounding agent #1 will yield to the ego agent due to its stationary status and approaching a stop sign. However, the AI does not explicitly mention that the ego agent is exiting the intersection, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It correctly identifies the stationary status of surrounding agent #1 and its approach to a stop sign as reasons for yielding to the ego agent. The conclusion that the ego agent will proceed without delay is also consistent with the context.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #3 is decelerating and likely yielding to the ego agent. However, it misses the key point from the ground truth that surrounding agent #3 will follow the ego agent as they are both heading towards the intersection. The AI's focus on the ego agent's left turn and absence of conflict is not directly relevant to the interaction between the two agents.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided, accurately describing the position and behavior of surrounding agent #3. However, the conclusion about the interaction being passive and yielding is somewhat speculative given the context. The AI does not fully align its reasoning with the ground truth's emphasis on following the ego agent.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly aligns with the ground truth, stating that there will be no interaction between the ego agent and surrounding agent #4 due to their different paths and the fact that surrounding agent #4 is departing from the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It accurately describes the positions, directions, and motions of the agents to support the claim that no significant interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #5, as both are on different paths and the ego agent is exiting the intersection. However, the AI slightly misrepresents the scenario by mentioning that both agents are traveling in the same direction, which is not entirely accurate since the ego agent is turning left while surrounding agent #5 is continuing straight. This minor inaccuracy reduces the score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI logically explains why there is no immediate conflict between the ego agent and surrounding agent #5, based on their positions, directions, and actions. The conclusion that surrounding agent #5 will not need to yield or react to the ego agent is well-supported by the reasoning provided.", + "problem_score_avg": "8.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer is partially correct as it mentions that surrounding agent #6 will yield to the ego agent, which aligns with the ground truth that it will follow the ego agent. However, the AI does not explicitly state that agent #6 will follow the ego agent, which is the key detail in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the given context. It correctly identifies that agent #6 is decelerating and behind the ego agent, leading to a non-intrusive interaction. However, it could have directly stated the follow behavior, which is the main conclusion of the ground truth.", + "problem_score_avg": "7.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies the ego agent's plan to turn left and exit the intersection while accelerating. However, it fails to mention the key detail from the ground truth answer that the ego agent does not need to yield to surrounding agents due to their specific conditions (not moving, on a different path, or following behind). This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the context provided. It correctly identifies the ego agent's action (turning left, accelerating, and exiting) and the absence of traffic control devices affecting its movement. However, it does not fully explore the implications of the surrounding agents' statuses, which are part of the context but not addressed in the reasoning.", + "problem_score_avg": "7.5" + } + } + }, + "10121dc51c383aa6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct, as it accurately describes that surrounding agent #0 will yield to the ego agent due to the ego agent already being in the intersection while surrounding agent #0 is decelerating. However, the AI missed mentioning that both agents are at stop signs, which is a key detail in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It correctly identifies the relative positions, speeds, and motion statuses of the agents, and logically deduces that surrounding agent #0 will yield. However, it slightly deviates by not explicitly mentioning the stop signs, which is crucial for full faithfulness.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that surrounding agent #2 will yield to the ego agent, which aligns with the ground truth answer. The explanation provided by the AI is consistent with the scenario, where surrounding agent #2 is stationary and the ego agent is already in the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the context provided. It correctly interprets the positions and states of both the ego agent and surrounding agent #2, concluding that surrounding agent #2 will remain stationary and yield to the ego agent. The reasoning is consistent with the details given in the scenario.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct and aligns with the ground truth. It accurately states that surrounding agent #3 will yield to the ego agent because it is behind the ego agent and both are approaching the intersection with stop signs. The reasoning matches the scenario described in the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are consistent with its reasoning. The AI correctly identifies the positions and behaviors of both the ego agent and surrounding agent #3, and logically concludes that surrounding agent #3 will yield. The reasoning is faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but does not explicitly state that surrounding agent #4 will yield to the ego agent, which is the ground truth. However, it correctly identifies that surrounding agent #4 is not moving and poses no immediate risk to the ego agent, aligning well with the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the positions and movements of both the ego agent and surrounding agent #4, leading to the logical conclusion that there will be no interaction. The reasoning supports the conclusion well, though it could have explicitly mentioned the yielding aspect.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be minimal interaction between the ego agent and surrounding agent #5 due to the latter's stationary state. However, it misses the key detail from the ground truth that surrounding agent #5 will yield to the ego agent, which is a specific interaction implied by the scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically deduces that the ego agent can proceed without obstruction because surrounding agent #5 is not moving. However, it does not explicitly state the yielding behavior, which slightly weakens the faithfulness to the full context.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #6 will yield to the ego agent because it is not moving and the ego agent is already in the intersection. The AI, however, claims there will be no interaction, which contradicts the ground truth.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially consistent but incomplete. It correctly notes that surrounding agent #6 is not moving and is positioned to the right and in front of the ego agent. However, it fails to consider the critical fact that the ego agent is already in the intersection, which should have led to the conclusion that the surrounding agent must yield.", + "problem_score_avg": "2.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that surrounding agent #7 will yield to the ego agent because it is not moving and the ego agent is already in the intersection, which matches the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is faithful and consistent. The AI correctly identifies the positions and states of both agents and logically concludes that surrounding agent #7 will yield to the ego agent, aligning with its reasoning. The deduction is sound, though it could have explicitly mentioned the stop sign and crosswalk's role in the yielding behavior for full faithfulness.", + "problem_score_avg": "9.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #8, while the ground truth indicates that agent #8 will yield to the ego agent. The AI failed to consider the dynamics of the intersection and the likely behavior of a stationary agent in such a scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusion, as it correctly notes that agent #8 is not moving and is positioned at a distance. However, it fails to extend this reasoning to the logical outcome of yielding, which is inconsistent with the scenario's dynamics.", + "problem_score_avg": "4.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #9 is not moving and will not affect the ego agent's path or speed. However, it misses the key point that surrounding agent #9 will yield to the ego agent, which is a crucial aspect of the interaction as per the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the stationary state of surrounding agent #9 and correctly states that the ego agent can proceed without interaction. However, it does not explicitly mention the yielding behavior, which is a minor oversight.", + "problem_score_avg": "7.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct. It correctly identifies that surrounding agent #10 is not moving, but it does not acknowledge that surrounding agent #10 is approaching a stop sign and a crosswalk, which implies it should yield to the ego agent already in the intersection. The conclusion that there will be no interaction is incorrect, as the ground truth indicates a yielding action.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically deduces that surrounding agent #10's stationary status and position mean no interaction will occur. However, it fails to account for the traffic control devices, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "6.5" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct. It correctly identifies that surrounding agent #11 is not moving and thus will not interfere with the ego agent. However, it fails to explicitly state that surrounding agent #11 will yield to the ego agent, which is a key aspect of the ground truth. The AI focuses on the lack of interaction due to distance and path non-conflict but misses the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It logically concludes that there will be no interaction between the ego agent and surrounding agent #11 based on their positions and movement status. However, it does not fully align with the ground truth's emphasis on yielding behavior, which slightly reduces the faithfulness.", + "problem_score_avg": "6.5" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to proceed straight through the intersection. However, the mention of a 'green light' is incorrect as the ego agent is at a stop sign, not a traffic light. The AI also correctly notes the need to yield to pedestrians at the crosswalk, but this was not explicitly mentioned in the ground truth answer.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the context. The AI correctly infers the ego agent's intended action based on its position and direction. However, the mention of a 'green light' is inconsistent with the context, which clearly states the ego agent is at a stop sign, not a traffic light. This inconsistency affects the faithfulness of the reasoning.", + "problem_score_avg": "5.5" + } + } + }, + "101295a175cb6ce1": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #0, which aligns with the ground truth. However, the AI mentions that both agents are moving in different directions, which is not entirely accurate. Surrounding agent #0 is heading towards the intersection, while the ego agent is departing, but they are both on the same side, which could imply potential interaction if not for the specific context of departure and acceleration.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, as it correctly identifies the lack of a collision course. However, the reasoning could be more precise. The AI mentions that both agents are moving in different directions, which is somewhat misleading since they are both operating on the same side of the intersection, albeit in different states of motion (departing vs. heading towards). This slight misalignment affects the faithfulness.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly suggests a potential collision course and the need for surrounding agent #1 to yield to the ego agent, which contradicts the ground truth that there will be no interaction as both are heading in opposite directions and departing from the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion about the need for yielding, but it fails to accurately interpret the scenario, as it incorrectly assumes a potential collision course despite the agents heading in opposite directions.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that surrounding agent #2 will yield to the ego agent, which contradicts the ground truth that no interaction will occur. The reasoning is flawed as it assumes a potential conflict where none exists.", + "Faithfulness score": "3", + "Faithfulness explanation": "The reasoning in the AI's answer is inconsistent with the provided context. The AI incorrectly infers a yielding scenario despite the ground truth indicating no interaction. The conclusions drawn are not supported by the facts provided.", + "problem_score_avg": "2.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent is focused on the approaching speed bump and is decelerating. However, it misses the explicit mention of the ego agent's continued departure from the intersection and the absence of conflicts with surrounding agents, which are key parts of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the context provided. It correctly uses the information about the speed bump and the ego agent's deceleration to infer the agent's likely intention. However, it does not fully align with all details in the ground truth, such as the lack of interaction with surrounding agents.", + "problem_score_avg": "7.5" + } + } + }, + "10137da143191f29": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #0. However, it incorrectly states that surrounding agent #0 is 21 meters in front of the ego agent, which conflicts with the ground truth that it will be behind the ego agent in the future. The conclusion is correct, but the reasoning contains a minor inaccuracy.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that no significant interaction will occur. However, the reasoning is based on the incorrect assumption that surrounding agent #0 is in front of the ego agent, which is not fully accurate according to the ground truth. This inconsistency slightly reduces the faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it assumes a potential interaction between the ego agent and surrounding agent #1, which contradicts the ground truth. The ground truth clearly states that there will be no interaction because surrounding agent #1 is heading in the opposite direction and departing the intersection. The AI's assumption of a yield scenario or conflict is unfounded.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the context provided. While it correctly identifies the directions and statuses of the agents, it incorrectly infers a potential interaction or conflict. The conclusion of yielding or path adjustment is not supported by the given context, making the reasoning partially inconsistent with the facts.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly asserts that surrounding agent #200 will likely yield to the ego agent, which is not supported by the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #200 because they are not in each other's path. The AI's conclusion is therefore incorrect.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the provided context but ultimately leads to an incorrect conclusion. While it correctly identifies the positions and directions of the agents, it misinterprets the implications of these facts by suggesting an interaction (yielding) that is not supported by the context or the ground truth.", + "problem_score_avg": "3.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue decelerating and navigate the speed bump while exiting the intersection. However, it misses the detail that the ego agent will accelerate to 10 m/s after the speed bump and remain in the intersection, which is part of the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. It accurately reflects the ego agent's current speed, deceleration, and focus on the speed bump, aligning well with the scenario described. The only minor inconsistency is the omission of the subsequent acceleration and intersection status, but this does not significantly detract from the overall reasoning.", + "problem_score_avg": "8.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp12.json b/grades/direct/deepseek_grades_direct_4shot_exp21.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp12.json rename to grades/direct/deepseek_grades_direct_4shot_exp21.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp24.json b/grades/direct/deepseek_grades_direct_4shot_exp24.json new file mode 100644 index 0000000..9d7f2fc --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp24.json @@ -0,0 +1,67 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #0. The ground truth explicitly states that surrounding agent #0 will yield to the ego agent, which indicates an interaction. The AI failed to recognize the yielding behavior and the potential interaction due to the agents' movements and positions.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly notes the opposite direction of travel, the distance between the agents, and the fact that the ego agent is exiting the intersection. However, the conclusion itself is incorrect with respect to the ground truth, which is not a faithfulness issue but a correctness one.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 is stationary and in the intersection, but it incorrectly states that there will be no yielding. The ground truth specifies that surrounding agent #2 will yield to the ego agent, which the AI missed. This partial correctness justifies a moderate score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly notes that surrounding agent #2 is stationary and the ego agent is exiting the intersection, which aligns with its conclusion of minimal interaction. However, it fails to address the yielding aspect, which slightly detracts from faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #3, aligning perfectly with the ground truth. The AI accurately notes that surrounding agent #3 is not moving and is positioned behind the ego agent, which prevents any interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is entirely faithful to the provided context. The AI correctly identifies the stationary status of surrounding agent #3, its position relative to the ego agent, and the fact that the ego agent is exiting the intersection, all of which logically lead to the conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI incorrectly concluded that there would be no interaction between the ego agent and surrounding agent #4. The ground truth states that surrounding agent #4 will yield to the ego agent, which implies an interaction. The AI did not account for the yielding behavior, focusing only on the paths not conflicting.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusion. The AI correctly noted that surrounding agent #4 is not moving and that the ego agent is turning left and exiting the intersection. However, it failed to consider the yielding behavior, which is a key aspect of the interaction.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it claims there will be no interaction between the ego agent and surrounding agent #5. However, the ground truth states that surrounding agent #5 will yield to the ego agent, indicating an interaction, even if minimal, due to their positions and the ego agent's active maneuver.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that surrounding agent #5 is not moving and positioned in front of the ego agent, heading left at the left side of the intersection. However, the conclusion drawn (no interaction) is incorrect based on the ground truth, but the reasoning itself is logically consistent.", + "problem_score_avg": "5.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #6 is not moving and is on the same side of the intersection as the ego agent. However, it fails to acknowledge that surrounding agent #6 will yield to the ego agent, which is a key aspect of the ground truth. This omission reduces the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion that there will be no interaction. It correctly notes that surrounding agent #6 is not moving and is behind the ego agent, which logically supports the conclusion that their paths do not conflict at the moment. However, the reasoning does not fully align with the ground truth's emphasis on yielding.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to complete its left turn and exit the intersection. However, it fails to mention the ego agent's acceleration and the fact that surrounding agents will yield, which are important details present in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It accurately reflects the immediate action of the ego agent based on the context provided, even though it omits some additional details.", + "problem_score_avg": "8.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp28.json b/grades/direct/deepseek_grades_direct_4shot_exp28.json new file mode 100644 index 0000000..4d2e022 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp28.json @@ -0,0 +1,562 @@ +{ + "118d81ceeb8401d5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct in stating that both agents will stop due to the red traffic light. However, it incorrectly suggests that surrounding agent #0 will yield to the ego agent, which is not supported by the context. Both agents are departing the intersection, and the ground truth indicates no further interaction is expected. The AI's claim of yielding is misleading and incorrect.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the context but contains inaccuracies. It correctly notes the red light's effect on both agents but misinterprets the yielding behavior. The conclusion that surrounding agent #0 will yield to the ego agent is not supported by the context, making the reasoning partially faithful but flawed.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it states that surrounding agent #1 will yield to the ego agent, which contradicts the ground truth that the ego agent must yield due to the red traffic light. The ego agent is required to stop, and surrounding agent #1 is not obligated to yield to the ego agent in this scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat inconsistent. While it correctly notes that the ego agent must stop due to the red light, it incorrectly concludes that surrounding agent #1 will yield. The reasoning about surrounding agent #1 decelerating and being farther away does not logically support the conclusion that it will yield to the ego agent.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to stop due to the red traffic light, which aligns with the ground truth. However, it fails to mention the ego agent's need to yield to surrounding agent #1 approaching from the opposite side, which is a critical part of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly links the red traffic light to the need for the ego agent to stop and mentions the crosswalk as an additional factor. However, it does not address the interaction with surrounding agent #1, which slightly reduces its faithfulness to the full context.", + "problem_score_avg": "7.5" + } + } + }, + "11910053d8443321": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize the interaction where surrounding agent #0 will yield to the ego agent. The ground truth specifies that surrounding agent #0 is on the left of the intersection and will cross the ego agent's path, necessitating a yielding interaction. The AI incorrectly concludes that no interaction will occur.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion, as it analyzes the positions, speeds, and directions of both agents and concludes that no immediate interaction is expected. However, the reasoning overlooks the crucial aspect of the intersecting paths and the need for yielding, which is a significant flaw.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent needs to slow down for the speed bump, which aligns with the ground truth. However, the AI fails to mention the ego agent's need to prepare for interaction with surrounding agent #0, a key aspect of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly infers the immediate action of navigating the speed bump based on the provided context. However, it overlooks the broader context of the interaction with surrounding agent #0, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.0" + } + } + }, + "1191720c122f7d82": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth by suggesting that surrounding agent #0 will yield to the ego agent. However, the reasoning is flawed because it incorrectly states that their paths do not directly conflict, which contradicts the ground truth that surrounding agent #0 is in the intersection and thus needs to yield to the ego agent, even if it is moving in the opposite direction.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is inconsistent with its conclusion. While it correctly notes that surrounding agent #0 is in the intersection and the ego agent is approaching a stop sign, it wrongly concludes that their paths do not conflict. This inconsistency reduces the faithfulness of the reasoning, as the conclusion does not logically follow from the provided details.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is fully correct and aligns with the ground truth. It correctly identifies that surrounding agent #1 will yield to the ego agent because it is at a stop sign and not moving, while the ego agent is approaching the intersection. This matches the ground truth answer exactly.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent and faithful to the context provided. It accurately uses the information about the positions, speeds, and traffic control devices to conclude that surrounding agent #1 will yield to the ego agent. The conclusions are logically derived from the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3. The explanation aligns with the ground truth, stating that agent #3 is stationary and on the same side of the intersection, which means their paths do not conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the motion status and positioning of both agents, supporting the conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #4 is not moving and is on the same side of the intersection, but it incorrectly states that agent #4 will yield to the ego agent. The ground truth specifies that there will be no interaction, as agent #4 is not moving and is on the same side, not necessarily yielding.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly notes the position and motion status of agent #4 and its relation to the stop sign. However, the conclusion that agent #4 will yield to the ego agent is not fully justified by the reasoning, which should have led to the conclusion of no interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct as it aligns with the ground truth. It accurately states that surrounding agent #5 will have no interaction with the ego agent because it is not moving and is on the same side of the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful and consistent. The explanation about the lack of interaction due to the distance, position, and immobility of surrounding agent #5 logically supports the conclusion drawn.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, as it is not moving and positioned to the right and behind the ego agent. This is consistent with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It accurately notes that the surrounding agent is stationary, the paths do not conflict, and the ego agent is still approaching the intersection, which justifies the conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #7 will yield to the ego agent because it is approaching a stop sign and not moving. This aligns perfectly with the ground truth answer, which also states that surrounding agent #7 will yield to the ego agent under these conditions.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly explains that surrounding agent #7 will need to stop at the stop sign and yield to oncoming traffic, which logically leads to the conclusion that the ego agent can safely proceed. There are no inconsistencies between the reasoning and the final conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #8, aligning with the ground truth. The reasoning provided, which mentions that the agent is not moving and is positioned to the right and slightly in front of the ego agent, is accurate and supports the conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. The explanation that the paths of the two agents do not conflict at this time logically follows from the facts that surrounding agent #8 is not moving and is positioned to the right and slightly in front of the ego agent. No contradictions or inconsistencies are present in the reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will approach the stop sign and prepare to stop, which aligns with the ground truth. However, it misses the specific detail about yielding to surrounding agent #0, which is a critical aspect of the ground truth answer. The AI also does not explicitly mention deceleration, which is part of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically connects the ego agent's current speed and motion status to the need to reduce speed and stop at the stop sign. However, it does not fully address the interaction with surrounding agents, particularly the yielding to surrounding agent #0, which slightly detracts from the faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "119331d99ba92541": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect according to the ground truth. The ground truth states that the ego agent will yield to surrounding agent #0 because the latter is on the left side, which typically has the right-of-way. However, the AI claims that surrounding agent #0 will yield to the ego agent, which contradicts the correct interpretation of the driving scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful to the context provided. The AI correctly notes that surrounding agent #0 is ahead and on the left of the ego agent, and that both are approaching the intersection. However, its conclusion that surrounding agent #0 will yield to the ego agent is inconsistent with the reasoning, as it does not properly account for the right-of-way rules in such scenarios.", + "problem_score_avg": "4.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, which aligns perfectly with the ground truth answer. The AI accurately notes that surrounding agent #2 is departing from the intersection and heading in the opposite direction, ensuring no direct interaction.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It correctly considers the positions, speeds, and directions of both agents to determine that they will not interact. However, the term 'minimal' used in the AI's answer slightly deviates from the ground truth's definitive 'no interaction,' which is why the score is slightly lower.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to continue towards the intersection and decelerate for the speed bump and crosswalk. However, it fails to mention the need to prepare to yield to surrounding agent #0, which is a critical part of the ground truth answer. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the provided context. The AI correctly identifies the ego agent's actions of approaching the intersection and decelerating for the speed bump and crosswalk. However, it does not extend its reasoning to include the interaction with surrounding agent #0, which slightly detracts from the faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "119379efe682b6f6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 will yield to the ego agent because it is at a stop sign, which aligns with the ground truth. However, the AI's answer lacks clarity and precision in stating that the ego agent will proceed while surrounding agent #0 remains stopped. The ground truth emphasizes the yielding behavior, which the AI partially captures but does not fully emphasize.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is generally consistent with its conclusions. It correctly analyzes the positions and speeds of both agents and deduces that surrounding agent #0 will yield. However, the reasoning is somewhat verbose and could be more concise in directly stating the expected interaction (yielding) without unnecessary details about monitoring or the ego agent's speed.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #2, which aligns perfectly with the ground truth answer. It accurately notes that both are on the same side of the intersection and that surrounding agent #2 is stationary, ensuring no conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. It correctly interprets the positions and motion statuses of both the ego agent and surrounding agent #2, leading to the conclusion that no interaction will occur. The reasoning is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identified that there will be no interaction between the ego agent and surrounding agent #3. However, it missed the key point that they are on different sides of the intersection, which is a crucial part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly noted that surrounding agent #3 is stationary and there are no conflicts in their paths, which supports the conclusion of no interaction. However, it could have been more precise by mentioning the different sides of the intersection.", + "problem_score_avg": "8.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #4, aligning with the ground truth. It accurately identifies that surrounding agent #4 is not moving, is positioned behind the ego agent, and is on the same side of the intersection, which are the key reasons for the lack of interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically connects the fact that surrounding agent #4 is not moving and its position relative to the ego agent to the conclusion that no interaction will occur. The reasoning supports the final statement without any contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct as it accurately reflects the ground truth that there will be no interaction between the ego agent and surrounding agent #5. The explanation aligns with the ground truth, emphasizing that the agents are not moving towards each other and are on the same side of the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely faithful. The conclusions drawn are consistent with the provided context and the logic used. The AI correctly identifies that the positions and motion statuses of the agents do not lead to any interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges that surrounding agent #6 is not moving, which is correct. However, it fails to recognize the key aspect of the ground truth, which is that surrounding agent #6 will yield to the ego agent as the ego agent is exiting the intersection. The AI incorrectly concludes that there is no expected interaction, missing the crucial detail about yielding.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It correctly identifies that surrounding agent #6 is not moving and that the ego agent is decelerating. The AI also accurately notes that their paths do not conflict at the moment. However, the reasoning does not fully align with the conclusion that there is no expected interaction, as it overlooks the yielding behavior mentioned in the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #7 will yield to the ego agent as the ego agent is exiting the intersection. The AI correctly notes that surrounding agent #7 is not moving and is positioned far away, but it fails to recognize the yielding interaction, which is the core of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with the conclusions drawn. The AI correctly identifies the positions and states of both the ego agent and surrounding agent #7, and its conclusion that there is no direct conflict aligns with the provided details. However, it overlooks the yielding aspect, which slightly deviates from the full context.", + "problem_score_avg": "6.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue decelerating and navigate the speed bump. However, it misses the specific detail from the ground truth that the ego agent intends to exit the intersection and does not need to yield to surrounding agents. It also does not explicitly state that surrounding agents will yield due to their stop sign positions.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the provided context. It accurately describes the ego agent's deceleration, the presence of the speed bump, and the absence of a stop sign on the ego agent's side. It also correctly notes the presence of surrounding agent #0 at a stop sign, which aligns with the context.", + "problem_score_avg": "8.5" + } + } + }, + "11958515bd0f0efa": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent will yield to surrounding agent #0, which contradicts the ground truth that surrounding agent #0 will yield to the ego agent. The AI fails to consider the right-of-way rules based on the stop sign and the positioning of the agents.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it acknowledges the deceleration of surrounding agent #0 and the presence of the stop sign. However, it misinterprets the outcome of the interaction, leading to a logical inconsistency with the correct right-of-way scenario.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but contains a minor inaccuracy. The ground truth states that surrounding agent #1 will yield to the ego agent because the ego agent is approaching a stop sign, indicating it will stop before entering the intersection. The AI mentions the ego agent is accelerating, which could imply it might not stop, potentially conflicting with the ground truth. However, the AI correctly identifies that surrounding agent #1 will yield, aligning with the ground truth in the outcome.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the dynamics between the ego agent and surrounding agent #1, noting that the ego agent is approaching a stop sign and that surrounding agent #1 will yield. The mention of acceleration does not invalidate the reasoning but slightly misrepresents the immediate action of the ego agent, which is likely to stop due to the stop sign.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #3, as the latter is stationary and behind the ego agent. The answer aligns well with the ground truth, though it adds some additional context about the stop sign and other vehicles, which is not incorrect but slightly beyond the scope of the question.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It logically explains why there will be no interaction due to surrounding agent #3 being stationary and behind the ego agent. The mention of the stop sign and other vehicles is relevant but does not detract from the core reasoning, making the answer faithful to its logic.", + "problem_score_avg": "9.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, as surrounding agent #4 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusions drawn. It correctly notes that surrounding agent #4 is stationary and behind the ego agent, and it logically concludes that no interaction will occur, which is in line with the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #5, aligning precisely with the ground truth. This is because surrounding agent #5 is stationary and positioned behind the ego agent, and the ego agent is moving towards the intersection, which means it will not interfere with or be affected by surrounding agent #5.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely consistent with its conclusion. The AI correctly identifies that the lack of interaction is due to surrounding agent #5 being stationary and behind the ego agent, and it logically connects this to the ego agent's forward movement towards the intersection. The reasoning is faithful and supports the conclusion without any contradictions or inconsistencies.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in that it accurately describes the ego agent's need to stop at the stop sign and prepare for the speed bump. However, it does not explicitly mention the right of way of the ego agent over surrounding agents #0 and #1 or the static nature of surrounding agents #3, #4, and #5, which are key points in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains the ego agent's need to decelerate, stop at the stop sign, and prepare for the speed bump. The reasoning aligns well with the provided context and leads to a plausible conclusion, though it could be more comprehensive.", + "problem_score_avg": "8.5" + } + } + }, + "119646e17481bd19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect. It claims there will be no interaction between the ego agent and surrounding agent #0, but the ground truth answer states that surrounding agent #0 will yield to the ego agent. The AI failed to recognize that the ego agent is exiting the intersection while surrounding agent #0 is at a stop sign, which is a scenario requiring interaction.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions. It correctly notes that surrounding agent #0 is not moving and is at a stop sign, and that the ego agent is turning left. However, it incorrectly concludes there will be no interaction, which is a minor inconsistency given the reasoning provided.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth, stating that surrounding agent #1 will yield to the ego agent. The reasoning is accurate as the ego agent is already in the intersection and exiting, while surrounding agent #1 is further away and moving at a constant speed, which necessitates yielding.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the positions and speeds of both agents and logically concludes that surrounding agent #1 will yield to the ego agent, which is entirely faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses key details. While it correctly identifies that the ego agent is turning left and approaching a speed bump and stop sign, it incorrectly suggests the ego agent needs to slow down or stop at the stop sign. The ground truth states the ego agent intends to continue exiting the intersection without stopping, as it is already in the intersection and has the right of way. The AI also fails to mention how surrounding agents will yield to the ego agent.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent but lacks depth. It correctly states the ego agent's current motion and intent to turn left but draws an incorrect conclusion about the need to stop at the stop sign. The reasoning does not fully align with the scenario described, particularly in terms of the ego agent's priority in the intersection and the behavior of surrounding agents.", + "problem_score_avg": "5.0" + } + } + }, + "1196efe81489ec7b": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that both vehicles are moving in the same direction and that surrounding agent #0 will follow the ego agent. However, it adds unnecessary details about potential yielding behavior, which is not mentioned in the ground truth. This slightly detracts from the correctness.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically deduces that surrounding agent #0 will follow the ego agent based on their speeds and directions. The reasoning aligns well with the conclusions, though it slightly strays with the mention of yielding.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there was no information provided about surrounding agent #1, which aligns with the ground truth that the question could not be answered without such information. The AI's response was accurate in acknowledging the lack of data to make a prediction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning was consistent and faithful to the provided context. It logically concluded that without specific details about surrounding agent #1, a prediction could not be made. The reasoning was clear and directly tied to the absence of information in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #2 in the given context, making it impossible to determine any interaction between the ego agent and surrounding agent #2. This aligns perfectly with the ground truth, which implies that the interaction is undefined due to lack of data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is entirely consistent with its conclusions. It logically deduced that the absence of information about surrounding agent #2 prevents any meaningful assessment of interaction, and this reasoning is faithfully reflected in the conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but introduces an unnecessary conclusion about surrounding agent #3 yielding to the ego agent. The ground truth clearly states that surrounding agent #3 will have no interaction with the ego agent, as it is not in the ego agent's path. The AI incorrectly implies a potential interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion but includes an overreach. It correctly notes the speed and direction differences but incorrectly assumes a yielding behavior, which is not supported by the context. The reasoning aligns with parts of the context but strays from the ground truth by inferring an interaction that does not exist.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no information provided about surrounding agent #4 in the context. Since the ground truth answer mentions an interaction but the context does not provide any details about agent #4, the AI's answer is accurate in stating that no interaction can be assessed without further information.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It correctly concludes that there is no data about surrounding agent #4, and therefore, no interaction can be determined. The conclusion aligns perfectly with the reasoning, making it faithful to the information available.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #6 in the context. Therefore, it is impossible to determine any interaction between the ego agent and surrounding agent #6, which aligns with the ground truth that no interaction can be inferred without additional data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It accurately pointed out the lack of information about surrounding agent #6 and concluded that no interaction could be determined, which is a faithful and logical conclusion based on the given data.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #7 in the provided context, making it impossible to determine the interaction between the ego agent and surrounding agent #7. This aligns with the ground truth, which also indicates that no information about agent #7 is available to assess the interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and logically sound. It correctly states the lack of information about surrounding agent #7 and concludes that no interaction can be determined. The reasoning is faithful to the provided context and does not make assumptions beyond the available data.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no information provided about surrounding agent #8 in the context, which aligns with the ground truth that the details of agent #8 are absent, making the answer accurate.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It clearly states the absence of information about surrounding agent #8 and offers to assist further if additional details are provided, demonstrating logical and faithful reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #9, aligning with the ground truth. The reasoning that surrounding agent #9 is not moving and is positioned away from the ego agent is accurate and supports the conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. The conclusion that there will be no interaction is logically derived from the facts that surrounding agent #9 is stationary and positioned on the left of the intersection, away from the ego agent's path.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #10 in the provided context. Since the ground truth answer assumes knowledge of surrounding agent #10, which is not present in the context, the AI's response is accurate and justified.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It clearly states that the lack of information about surrounding agent #10 prevents it from determining any interaction, which is a faithful interpretation of the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no information provided about surrounding agent #11 in the context. Without this information, it is impossible to describe the interaction between the ego agent and surrounding agent #11, which aligns with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and faithful to the context provided. It clearly states the absence of information about surrounding agent #11 and suggests that additional details are needed to determine the interaction. This reasoning is entirely consistent with the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that surrounding agent #12 was not mentioned in the provided context, making it impossible to determine the interaction. This aligns with the ground truth answer, which implies that the interaction was hypothetical and not based on the given context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and logical. It clearly states the lack of information about surrounding agent #12 and emphasizes the need for additional details to assess the interaction. This reasoning is faithful to the context provided and does not make unwarranted assumptions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #13 in the given context, making it impossible to determine any interaction. This aligns perfectly with the ground truth, which assumes knowledge of agent #13 not present in the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically deduced that without information about agent #13, no interaction could be inferred, which is a faithful analysis of the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information about surrounding agent #14 in the provided context, which aligns with the ground truth that no interaction can be determined due to the lack of data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning of the AI is entirely consistent with the provided context. The AI clearly states that it cannot determine any interaction because the details about surrounding agent #14 are missing, which is a faithful conclusion based on the available information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that the provided context does not include any information about surrounding agent #15, making it impossible to determine the interaction between the ego agent and this agent. This aligns with the ground truth answer, which implies that the information about agent #15 is missing and no interaction can be inferred.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It clearly states that the absence of information about surrounding agent #15 prevents it from making any determination about their interaction, which is a logical and faithful conclusion based on the given context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but lacks specificity. It correctly identifies the ego agent's intention to continue moving straight at a constant speed, which aligns with the ground truth. However, it does not mention the details about surrounding agents, such as being followed by surrounding agent #0 or overtaking surrounding agent #2, and it fails to mention the ego agent passing by multiple surrounding agents in the opposite direction. Additionally, it incorrectly states there are no immediate obstacles or conflicting traffic, which is misleading as the context describes several surrounding agents in proximity.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, as it correctly identifies the ego agent's motion status and the absence of immediate obstacles in its direct path. However, the reasoning is incomplete as it does not fully consider the interactions with surrounding agents, which are part of the context. The AI's conclusion that there are no immediate obstacles is not entirely faithful to the context, which mentions several surrounding agents in the vicinity.", + "problem_score_avg": "6.5" + } + } + }, + "119801330046ff49": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it accurately states that surrounding agent #0 will yield to the ego agent due to the stop sign and the ego agent's presence in the intersection. However, the AI slightly overcomplicates the explanation by introducing the crosswalk as an additional factor, which is not directly relevant to the core interaction between the two vehicles.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent, as it correctly identifies that surrounding agent #0 must stop at the stop sign and yield to the ego agent. However, the mention of the crosswalk introduces an element that, while not incorrect, is unnecessary for explaining the primary interaction between the two agents, slightly detracting from the faithfulness of the reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent is planning to exit the intersection while turning left and is decelerating. However, it fails to mention that the ego agent will complete its left turn and that surrounding agent #0 will yield to it, which are key details in the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It accurately reflects the ego agent's motion status and speed, which supports the conclusion that it is planning to exit the intersection while turning left. However, it does not fully capture the context of the surrounding agent's behavior, which affects the completeness of the reasoning.", + "problem_score_avg": "7.5" + } + } + }, + "119996e0d9d0f141": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 will yield to the ego agent, which aligns with the ground truth. However, the reasoning provided by the AI focuses on the paths diverging without conflict, which is not explicitly supported by the context. The ground truth emphasizes the right of way due to the ego agent's position, which the AI does not address directly.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the provided context, as it correctly notes that both agents are moving and their paths are likely to diverge. However, the reasoning does not fully align with the context's emphasis on the right of way and the specific positioning of the agents, which are key factors in the ground truth answer.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly suggests that the pedestrian may need to yield or adjust their position, whereas the ground truth clearly states that the ego agent must yield to the pedestrian. This is a significant deviation from the correct interpretation of the scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the information provided, as it correctly identifies the positions and speeds of the ego agent and the pedestrian. However, the conclusion drawn is not faithful to the scenario, as it misjudges who should yield, leading to an incorrect interaction prediction.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer lacks specificity regarding the necessity for the ego agent to yield to the pedestrian, which is explicitly stated in the ground truth. It discusses caution and potential adjustments but does not clearly state the yielding behavior required.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the positions and speeds of the agents and suggests potential adjustments, aligning with the scenario described.", + "problem_score_avg": "6.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #2. The reasoning aligns with the ground truth, which also mentions that surrounding agent #2 is not moving and is on the same side of the intersection, thus not affecting the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. The explanation provided logically supports the claim that the ego agent will pass by surrounding agent #2 without conflict, as it is not moving and its position does not interfere with the ego agent's path. The reasoning is faithful to the conclusion drawn.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3. It accurately notes that surrounding agent #3 is not moving and is positioned behind the ego agent, which is consistent with the ground truth answer. The reasoning aligns perfectly with the provided context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the context. It correctly interprets the stationary nature of surrounding agent #3 and its position relative to the ego agent. The conclusion drawn is consistent with the facts provided in the scenario, ensuring the reasoning is logically sound and accurate.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #4. It correctly identifies that surrounding agent #4 is not moving and is positioned in front of the ego agent, which is moving straight at a constant speed. The reasoning aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is faithful. It correctly uses the information provided to conclude that no interaction will occur between the agents. The conclusion is consistent with the facts that surrounding agent #4 is stationary and the ego agent is moving straight, ensuring no conflict in their paths.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that the ego agent will yield to surrounding agent #202 because the pedestrian is on the same side of the intersection and is heading towards the intersection center, indicating a potential crossing path. The AI incorrectly concluded that there would be no interaction, ignoring the potential for a crossing path and the need to yield.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion, as it bases its argument on the distance and speed differences between the ego agent and surrounding agent #202. However, it fails to consider the directional movement and potential crossing path, which leads to an incomplete and ultimately incorrect conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue moving straight at a constant speed. However, it fails to mention the need to yield to pedestrians (surrounding agents #200, #201, and #202) and the lack of concern for the stationary vehicles (surrounding agents #2, #3, and #4). This omission reduces the correctness score.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly deduces the ego agent's intention to continue moving straight at a constant speed from the provided context. There are no logical inconsistencies in the reasoning.", + "problem_score_avg": "8.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp3.json b/grades/direct/deepseek_grades_direct_4shot_exp3.json new file mode 100644 index 0000000..efc6760 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp3.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. Surrounding agent #0 is in front of the ego agent on the same lane and both are heading towards the intersection, meaning there is a clear interaction where the ego agent must follow or overtake surrounding agent #0. The AI incorrectly concludes that there is no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that surrounding agent #0 is accelerating and 13 meters in front of the ego agent, departing from the intersection, but it fails to recognize the interaction due to being on the same lane and heading in the same direction.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly suggests that the ego agent and surrounding agent #1 may have an interaction, while the ground truth explicitly states there will be no interaction as they are on different lanes and their paths do not cross. The AI's focus on maintaining distance and monitoring speed is irrelevant in this context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is internally consistent, as it logically follows from the premise that both agents are departing the intersection. However, it fails to account for the key detail that they are on different lanes, which invalidates the conclusion about potential interaction.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #3 will follow the ego agent, but the AI claims there will be no interaction because agent #3 is stationary. This is a significant deviation from the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusion. It correctly identifies that surrounding agent #3 is stationary and behind the ego agent. However, it fails to account for the possibility of interaction in the future, which limits the faithfulness of the reasoning.", + "problem_score_avg": "4.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth by acknowledging that there is no immediate interaction due to the different lanes. However, it incorrectly suggests potential interaction if the ego agent changes lanes, which was not indicated in the context. This speculative addition reduces its correctness.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly identifies the positions and states of the ego agent and surrounding agent #4 but introduces an unnecessary hypothetical scenario about lane changing, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a potential interaction between the ego agent and surrounding agent #5, which contradicts the ground truth answer that states there will be no interaction. The AI incorrectly assumes that the paths of the two agents might cross, despite the information indicating they are on different lanes and there is no indication of their paths intersecting.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the information provided, as it considers the positions and movements of both agents. However, the conclusion that there might be an interaction is not faithful to the data, as the context clearly indicates that the agents are on different lanes and their paths do not cross.", + "problem_score_avg": "4.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it contradicts the ground truth. The ground truth states that surrounding agent #6 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. The AI incorrectly concluded that there will be no interaction because surrounding agent #6 is stationary, which is not consistent with the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the information provided, as it correctly identifies that surrounding agent #6 is stationary and behind the ego agent. However, the conclusion that there will be no interaction is inconsistent with the context, which implies that surrounding agent #6 could start moving to follow the ego agent. The reasoning does not fully align with the potential dynamics of the scenario.", + "problem_score_avg": "3.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct. It accurately concludes that there will be no interaction between the ego agent and surrounding agent #7, as the latter is not moving and is positioned behind the ego agent on the same side of the intersection, meaning their paths do not conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the provided context. It correctly interprets the position and motion status of surrounding agent #7 and logically deduces that no interaction will occur, consistent with the ground truth answer.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be minimal interaction between the ego agent and surrounding agent #8, which aligns with the ground truth. However, the AI does not explicitly mention the opposite directions of travel, which is a key aspect of the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly states that surrounding agent #8 is moving at a constant speed, is positioned to the left and behind the ego agent, and is departing from the intersection. The conclusion that their paths do not conflict is logically derived from this reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly concludes that there will be no interaction between the ego agent and surrounding agent #9. However, the reason provided (speed and movement direction) is not the primary factor for no interaction, which is primarily due to them being on different lanes and their paths not crossing. The ground truth emphasizes the lane difference, which the AI missed.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identifies the absence of interaction but focuses on speed and movement direction, which are secondary reasons. The primary reason (different lanes and non-crossing paths) is not addressed, leading to a mismatch between the reasoning and the conclusion.", + "problem_score_avg": "7.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #10, which aligns with the ground truth answer. The reasoning is consistent and correctly identifies that surrounding agent #10 is stationary and not obstructing the ego agent's path.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies that surrounding agent #10 is stationary and located behind the ego agent, which supports the conclusion that there will be no interaction. The reasoning is faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is mostly correct in stating that there will be no significant interaction between the ego agent and surrounding agent #11, as their paths do not cross. However, the answer introduces the concept of 'yielding,' which is not necessary and slightly deviates from the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusion that there will be no interaction, as their paths do not cross. However, the introduction of the 'yielding' concept is unnecessary and not fully aligned with the evidence provided, which slightly reduces the faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it states that there will be no interaction between the ego agent and surrounding agent #12. However, the ground truth specifies that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. The AI failed to account for the fact that both agents are moving in the same direction and on the same lane, which implies a potential interaction.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to its conclusion. It correctly identifies that surrounding agent #12 is not moving and is located behind the ego agent, which might suggest no immediate interaction. However, it fails to consider the future interaction potential as both agents are on the same lane and heading towards the intersection, which is a critical aspect of the scenario.", + "problem_score_avg": "3.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #13 will yield to the ego agent, which is contrary to the ground truth. The ground truth states that they are heading in opposite directions and their paths do not cross, meaning there will be no interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusions. It correctly identifies the positions and speeds of the agents but incorrectly infers a potential conflict where none exists based on the context provided.", + "problem_score_avg": "3.5" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that surrounding agent #14 will have no interaction with the ego agent, which aligns with the ground truth answer. The explanation provided by the AI is accurate, as it correctly identifies that both agents are heading in different directions and are not on a collision course.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. The AI accurately interprets the positions, speeds, and directions of both the ego agent and surrounding agent #14, leading to the correct conclusion that no interaction will occur. The reasoning is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it claims there will be no interaction between the ego agent and surrounding agent #15. However, the ground truth states that surrounding agent #15 will lead the ego agent, indicating an interaction where the ego agent might need to adjust its speed or position based on the movement of surrounding agent #15. The AI failed to recognize this dynamic relationship.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information it provides. It correctly states that surrounding agent #15 is departing from the intersection and positioned 24 meters in front of the ego agent in the same lane. However, the conclusion that there will be no interaction is flawed, as it overlooks the potential for the ego agent to follow or adjust to surrounding agent #15's movement.", + "problem_score_avg": "5.5" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct as it accurately states that surrounding agent #16 will have no interaction with the ego agent, which aligns with the ground truth. Both answers correctly identify that their paths do not conflict and they are heading in opposite directions.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the context provided. It correctly interprets the position and direction of surrounding agent #16, concluding that there is no interaction with the ego agent, which is consistent with the information given.", + "problem_score_avg": "10.0" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue progressing forward through the intersection while accelerating. However, it fails to mention the specific interactions with surrounding agents #0, #6, and #15, which are crucial details provided in the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically deduces that the ego agent will proceed straight through the intersection based on its acceleration and lane position. However, it does not fully align with the ground truth answer's detailed interactions with surrounding agents.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp9.json b/grades/direct/deepseek_grades_direct_6shot_exp12.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp9.json rename to grades/direct/deepseek_grades_direct_6shot_exp12.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp16.json b/grades/direct/deepseek_grades_direct_6shot_exp16.json new file mode 100644 index 0000000..cf46a83 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp16.json @@ -0,0 +1,255 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 is moving at a constant speed and is in front of the ego agent. However, it misses the key insight that the ego agent is decelerating, which directly implies that surrounding agent #0 will continue to lead the ego agent. The AI focuses on the idea of 'no conflict' rather than emphasizing the dynamic where the ego agent is falling behind due to deceleration.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the facts provided. It correctly notes that surrounding agent #0 is moving at a constant speed and that the ego agent is decelerating. However, it slightly deviates by introducing the idea of 'no conflict' and separate lanes, which, while plausible, are not the primary focus of the ground truth answer. The reasoning is mostly faithful but strays from the core interaction being described.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the interaction will be non-conflicting and that surrounding agent #2 will maintain its position ahead of the ego agent. However, it slightly misrepresents the dynamics by stating the ego agent's speed as 12 m/s without emphasizing that it is decelerating, which is a key factor in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately uses the given information about the positions, speeds, and statuses of both agents to deduce a non-conflicting interaction. The minor omission of emphasizing the deceleration does not significantly detract from the overall faithfulness.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will continue to decelerate and maintain its lane. However, it does not explicitly mention that the ego agent will follow behind surrounding agent #0, which is a key part of the ground truth. Additionally, the AI introduces speculative actions like changing lanes or stopping, which are not mentioned in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically connects the ego agent's deceleration to the presence of surrounding agents and the need to maintain a safe distance. However, the speculative actions (e.g., changing lanes or stopping) slightly detract from the faithfulness as they are not directly supported by the context.", + "problem_score_avg": "7.5" + } + } + }, + "111bf3969984058f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The ground truth explicitly states that surrounding agent #0 will yield to the ego agent, while the AI's answer claims there will be no interaction. This is a significant deviation from the correct interpretation of the scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is internally consistent with its conclusion. It correctly identifies that both agents are facing a red light and are at a distance where they need to stop. However, the conclusion that there will be no interaction is incorrect, but it is logically derived from the AI's reasoning.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #1 will proceed through the intersection before the ego agent due to the green arrow traffic light, while the ego agent must stop due to the red light. However, it could have explicitly mentioned that this ensures no conflict, which is a key point in the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It logically explains how the traffic lights influence the behavior of both agents and correctly concludes that the ego agent will stop while surrounding agent #1 proceeds, avoiding any interaction.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially incorrect. While it correctly identifies that both the ego agent and surrounding agent #3 are affected by a red traffic light and that the ego agent is required to stop, it fails to recognize the potential interaction when the light changes. The ground truth states that surrounding agent #3 will yield to the ego agent when the light changes, implying an interaction. The AI's conclusion that there will be no interaction is incorrect.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusion. It correctly identifies the red traffic light and the stationary status of surrounding agent #3, leading to the conclusion that no immediate interaction is expected while the light is red. However, it does not extend the reasoning to consider the potential interaction when the light changes, which affects the faithfulness to the full context.", + "problem_score_avg": "6.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges that both agents face a red traffic light and correctly states that there will be no significant interaction. However, it misses the key point that surrounding agent #4 will yield to the ego agent because the ego agent is positioned ahead, which is the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the positions and states of both agents and logically concludes that there will be no significant interaction. However, it does not fully align with the ground truth, as it omits the yielding behavior.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's conclusion that there will be no interaction is incorrect. The ground truth indicates that surrounding agent #5 will yield to the ego agent, which implies some interaction, even if minimal. The AI missed this subtle but important detail.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that both agents are stationary due to the red light, but it fails to consider the yielding behavior, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop at the red traffic light. However, it fails to mention the need to yield to surrounding agent #1, who has a green arrow. Additionally, it incorrectly states that surrounding agents #0, #1, #3, #4, and #5 are all impacted by the red light, which is not accurate for surrounding agent #1, who can proceed with a green arrow.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the information provided. The AI correctly concludes that the ego agent must stop at the red light. However, it does not fully account for the nuanced scenario where surrounding agent #1 has a green arrow and should be yielded to, which slightly weakens the faithfulness of the reasoning.", + "problem_score_avg": "6.5" + } + } + }, + "111c9efbf961c8be": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that surrounding agent #0 must yield to the ego agent due to the stop sign it is approaching. The ground truth explicitly states this interaction, but the AI incorrectly concludes there will be no interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the provided information but is flawed. The AI correctly identifies the positions and states of both agents but misinterprets the impact of the stop sign on surrounding agent #0's behavior, leading to an incorrect conclusion.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly concludes that there will be no significant interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. However, it introduces an unnecessary assumption about right of way, which is not supported by the given context. This slightly deviates from the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly identifies that surrounding agent #2 is not moving and will not impede the ego agent. However, its reasoning about the ego agent having the right of way is not fully justified by the context, which affects the faithfulness of the answer.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in describing the ego agent's plan to continue exiting the intersection, the absence of a stop sign affecting it, and the behavior of surrounding agents. However, it misses explicitly stating that surrounding agent #0 will yield to the ego agent due to the stop sign, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It logically connects the ego agent's speed, acceleration, and the lack of a stop sign to its decision to continue exiting. It also correctly assesses the behavior of surrounding agents based on their positions and traffic control devices.", + "problem_score_avg": "8.5" + } + } + }, + "111d4383934339b7": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent and surrounding agent #0 are moving at the same speed and will continue to do so. However, the AI unnecessarily emphasizes the deceleration aspect, which is not the focus of the ground truth answer. The ground truth simply states that surrounding agent #0 will continue to lead, without delving into the specifics of deceleration or distance maintenance.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly notes that both agents are moving at the same speed and decelerating, and it concludes that there will be no significant interaction. However, the reasoning slightly deviates by focusing more on the deceleration and safe distance maintenance, which are not central to the ground truth's focus on the leading role of surrounding agent #0.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer is mostly correct as it correctly identifies that surrounding agent #1 will follow the ego agent since they are on the same lane and heading in the same direction. However, the AI's statement that the interaction will be minimal is slightly inaccurate, as the ground truth emphasizes that the surrounding agent will follow the ego agent without implying minimal interaction.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly notes that both agents are decelerating and moving away from the intersection, and that surrounding agent #1 will maintain a safe distance. The reasoning aligns well with the conclusion, though it could have more explicitly stated the following behavior as in the ground truth.", + "problem_score_avg": "9.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #2 is moving towards the intersection at a higher speed and that the ego agent is departing. However, the AI incorrectly concludes that there will be no interaction, while the ground truth states that surrounding agent #2 will pass the ego agent.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the facts provided. The AI accurately describes the positions, speeds, and directions of the agents but fails to fully align its conclusion with the ground truth, which suggests an interaction (passing) rather than no interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #4 is ahead of the ego agent and moving at a constant speed. However, it incorrectly states that there will be no interaction, whereas the ground truth suggests that they will maintain their relative positions as both are moving at a constant speed. The AI misses this nuanced interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the details provided. It correctly uses the information about the positions, speeds, and directions of the ego agent and surrounding agent #4. However, it fails to fully capture the dynamic interaction between the two agents as described in the ground truth.", + "problem_score_avg": "6.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #5 will pass the ego agent. The AI incorrectly concludes that there will be no interaction, which contradicts the ground truth. While the reasoning about paths not conflicting is accurate, it fails to acknowledge the passing maneuver.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies that the paths do not conflict and that the ego agent is departing the intersection. However, the reasoning does not fully align with the ground truth as it overlooks the passing interaction.", + "problem_score_avg": "5.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue departing from the intersection. However, it misses the nuanced details about the ego agent needing to adjust its speed to navigate the traffic environment, particularly the presence of surrounding agents #0 and #4 in front and agent #1 behind. These details are crucial for a complete and accurate answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusion that the ego agent will continue departing from the intersection. However, the AI does not fully address the interaction with specific surrounding agents, which slightly detracts from the completeness of the reasoning.", + "problem_score_avg": "7.5" + } + } + }, + "111e6160ada108c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer contradicts the ground truth. The ground truth states that surrounding agent #0 will yield to the ego agent, but the AI claims there will be no interaction. The AI failed to recognize the potential yielding behavior due to the deceleration of surrounding agent #0 and the ego agent's presence in the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusions. It correctly identifies the opposite directions and distances but incorrectly concludes no interaction. The reasoning does not align with the potential yielding behavior implied by the deceleration of surrounding agent #0.", + "problem_score_avg": "4.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer correctly identifies that there will be no conflict between the ego agent and surrounding agent #2, which aligns with the ground truth that there will be no interaction. However, the AI incorrectly introduces the concept of 'yielding,' which is not relevant since surrounding agent #2 is stationary. This detracts from the correctness of the answer.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it correctly states that the ego agent can proceed without altering its course due to surrounding agent #2 being stationary. However, the introduction of the 'yielding' concept is not supported by the context and is inconsistent with the fact that no interaction is expected. This inconsistency affects the faithfulness of the reasoning.", + "problem_score_avg": "5.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3. It accurately states that surrounding agent #3 is not moving and is positioned behind the ego agent, which aligns with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It logically explains why surrounding agent #3 does not pose a conflict to the ego agent's movement, and the conclusions drawn are faithful to the provided context and reasoning.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth answer. Both the AI and the ground truth state that the surrounding agent is not moving and they are on the same side of the intersection, leading to no conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately describes the positions and states of both the ego agent and surrounding agent #4, and logically concludes that there will be no interaction, as their paths and movements do not conflict.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #5, which matches the ground truth answer. The reasoning provided by the AI is also accurate, as it correctly identifies the positions and motion status of both agents.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are consistent with its reasoning. The AI accurately describes the situation, noting that surrounding agent #5 is not moving and is positioned behind and to the right of the ego agent, which justifies the conclusion that no interaction will occur.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth answer. The AI accurately notes that surrounding agent #6 is not moving and is positioned behind the ego agent, ensuring no conflict in their paths.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. The AI correctly assesses the positions and motion statuses of the ego agent and surrounding agent #6, and logically concludes that no interaction will occur. The reasoning is faithful to the observed facts.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #7. This aligns perfectly with the ground truth answer, which also indicates no interaction due to surrounding agent #7 being stationary and on the same side of the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context provided. The AI correctly notes that surrounding agent #7 is not moving and is positioned away from the ego agent's path, which logically leads to the conclusion that no interaction is anticipated.", + "problem_score_avg": "10.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #8 is stationary and at a stop sign, which aligns with the ground truth. However, it fails to explicitly state that surrounding agent #8 will yield to the ego agent, which is a critical aspect of the ground truth. The AI's conclusion that the ego agent will proceed without interference is partially correct but lacks the specific detail about yielding.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context, as it correctly identifies the positions, speeds, and statuses of both the ego agent and surrounding agent #8. The conclusion that the ego agent will not need to yield is logically derived from the reasoning. However, the reasoning could be more precise by explicitly stating the yielding behavior of surrounding agent #8, which would make it fully faithful.", + "problem_score_avg": "7.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct, as it accurately states the ego agent's intention to continue exiting the intersection at a constant speed and correctly notes that the ego agent is not affected by any stop signs. However, it does not explicitly mention that the surrounding agents will yield to the ego agent, which is a key part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically follows from the provided context that the ego agent will continue its path without altering its course, and the AI correctly identifies the absence of stop signs affecting the ego agent. The conclusions drawn are well-supported by the reasoning.", + "problem_score_avg": "9.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp11.json b/grades/direct/deepseek_grades_direct_6shot_exp20.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp11.json rename to grades/direct/deepseek_grades_direct_6shot_exp20.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp25.json b/grades/direct/deepseek_grades_direct_6shot_exp25.json new file mode 100644 index 0000000..a6bd3c4 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp25.json @@ -0,0 +1,67 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly states that the interaction will be minimal and that their paths do not conflict. However, the ground truth clearly indicates that surrounding agent #0 will yield to the ego agent, implying a significant interaction. The AI fails to recognize this key point, leading to an incorrect assessment of the scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it correctly identifies that surrounding agent #0 is decelerating and approaching from the opposite direction. However, it incorrectly concludes that there will be no interaction, which is not faithful to the dynamics described in the context. The reasoning does not fully align with the expected outcome of the scenario.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #2 will yield to the ego agent, which aligns with the ground truth. However, the AI adds unnecessary details about the paths not conflicting, which, while true, is not explicitly stated in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly notes that surrounding agent #2 is stationary and within the intersection, and concludes that it will yield to the ego agent, which is faithful to the provided context.", + "problem_score_avg": "8.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and fully aligned with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, as the latter is stationary and positioned behind the ego agent. This reasoning matches the provided context perfectly.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It logically explains why surrounding agent #3 will not interact with the ego agent, based on the facts that surrounding agent #3 is not moving, is behind the ego agent, and is heading in the same direction. The conclusions drawn are well-supported by the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #4 will yield to the ego agent. The AI correctly identifies that surrounding agent #4 is stationary and that the ego agent is exiting the intersection, but it fails to recognize the implicit yielding behavior, which is the core of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically deduces that there will be no interaction because surrounding agent #4 is stationary and the ego agent is exiting the intersection. However, the reasoning does not fully align with the ground truth, which emphasizes the yielding behavior.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #5, whereas the ground truth indicates that surrounding agent #5 will yield to the ego agent. The AI's conclusion directly contradicts the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is internally consistent. It correctly identifies the positions and states of both agents and concludes that their paths do not conflict based on the given information. However, this reasoning does not align with the expected interaction as per the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #6 will yield to the ego agent. While it correctly identifies that there is no immediate conflict, it does not acknowledge the yielding behavior, which is the essence of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically deduces that there is no conflict in paths and that the ego agent can continue its maneuver. However, it does not extend this reasoning to the yielding behavior, which is the core of the interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies the ego agent's intended action to complete its left turn and exit the intersection. It also acknowledges the ego agent's acceleration and the lack of obstruction from surrounding agents. However, it does not explicitly mention that the surrounding agents will yield to the ego agent, which is part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context provided. It accurately describes the ego agent's actions, the positions and movements of surrounding agents, and concludes that the ego agent can proceed without conflict, which aligns with the details given in the scenario.", + "problem_score_avg": "9.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp29.json b/grades/direct/deepseek_grades_direct_6shot_exp29.json new file mode 100644 index 0000000..412d76e --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp29.json @@ -0,0 +1,562 @@ +{ + "118d81ceeb8401d5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that both the ego agent and surrounding agent #0 will yield due to the red traffic light and that there will be no further interaction as they are both departing from the intersection. However, the AI incorrectly mentions that both agents are approaching their respective crosswalks, which is not the case for surrounding agent #0, as it is departing from the intersection. This inaccuracy affects the correctness of the answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. The AI correctly reasons that both agents will stop due to the red traffic light and that this will prevent any interaction between them. The reasoning is logical and aligns with the conclusion, though it slightly misrepresents the situation regarding the crosswalk for surrounding agent #0.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge that the ego agent must yield to surrounding agent #1 due to the red traffic light. The AI incorrectly states that they will not interact, ignoring the traffic light's influence on the ego agent's behavior.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful. It correctly notes that the agents are moving in opposite directions and that the ego agent must stop due to the red light. However, it incorrectly concludes that there will be no interaction, which contradicts the context provided.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop due to the red traffic light and wait for it to turn green. However, it fails to mention the additional detail from the ground truth answer about yielding to surrounding agent #1, which is a critical part of the scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It logically concludes that the ego agent must stop at the red light and wait, but it does not extend this reasoning to include yielding to surrounding agent #1, which is a gap in its faithfulness to the full context.", + "problem_score_avg": "7.5" + } + } + }, + "11910053d8443321": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly concludes that there will be no interaction between the ego agent and surrounding agent #0, while the ground truth explicitly states that surrounding agent #0 will yield to the ego agent. The AI fails to recognize the potential crossing paths and the yielding behavior, which is the correct interaction based on the scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusion that there will be no interaction, but it fails to consider the possibility of crossing paths and yielding behavior. The AI correctly identifies the positions and speeds of the agents but does not fully analyze the intersection dynamics, leading to an incomplete and incorrect conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly mentions that the ego agent will proceed towards the intersection and needs to slow down for the speed bump. However, it fails to mention the need to prepare for interaction with surrounding agent #0, which is a crucial part of the ground truth. This omission reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the context provided. It correctly identifies the speed bump as a factor requiring the ego agent to slow down and mentions the intention to proceed towards the intersection. However, the lack of mention of surrounding agent #0 slightly diminishes the completeness of the reasoning, hence the lower score.", + "problem_score_avg": "7.0" + } + } + }, + "1191720c122f7d82": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that the ego agent has the right of way at the stop sign. The ground truth clearly states that surrounding agent #0 will yield to the ego agent, but the AI suggests minimal interaction and that the ego agent will stop and allow surrounding agent #0 to continue, which is contrary to the correct interpretation.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the information provided but misinterprets the dynamics of the intersection. The AI correctly notes the positions and movements of both agents but incorrectly concludes the interaction, failing to align with the right-of-way rules implied by the stop sign for the ego agent.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #1 will yield to the ego agent due to being at a stop sign and not moving. However, the AI incorrectly states that the ego agent will come to a stop at the sign, which contradicts the context where the ego agent is accelerating and the stop sign is 21 meters ahead. The ego agent has not yet stopped, so this part of the answer is inaccurate.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions drawn, but there is a slight inconsistency regarding the ego agent's stopping behavior. The AI assumes the ego agent will stop at the sign, which is not explicitly supported by the context, as the ego agent is accelerating. This assumption slightly deviates from the context, affecting the faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3. This aligns with the ground truth answer, which states that surrounding agent #3 is not moving and is on the same side of the intersection, thus posing no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusions. It accurately describes the position and motion status of surrounding agent #3 and correctly concludes that this will result in no interaction with the ego agent. The explanation is faithful to the details provided in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #4. The reasoning aligns with the ground truth, emphasizing that surrounding agent #4 is not moving and is on the same side of the intersection, making interaction unlikely.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. The explanation about both agents needing to stop at stop signs, surrounding agent #4 being stationary, and its position behind the ego agent logically supports the conclusion of no interaction. However, the mention of 'minimal interaction' slightly deviates from the clear 'no interaction' in the ground truth.", + "problem_score_avg": "9.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as the latter is not moving and is on the same side of the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the position and motion status of surrounding agent #5 and concludes that there will be no interaction, which is logically sound and faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #6. The reasoning aligns with the ground truth, which also states that surrounding agent #6 is not moving and is on the same side of the intersection, thus eliminating any possibility of interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies that surrounding agent #6 is stationary, positioned behind and to the right of the ego agent, and heading in the opposite direction. These factors logically support the conclusion that no interaction will occur, making the reasoning faithful to the conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately reflects that surrounding agent #7 will yield to the ego agent due to the stop sign, aligning with the ground truth. The explanation of the interaction is precise and matches the given context.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the provided context. The conclusion that surrounding agent #7 will yield to the ego agent is well-supported, though it could have explicitly mentioned that surrounding agent #7 is currently not moving, which is a key detail in the context.", + "problem_score_avg": "9.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #8, which aligns with the ground truth answer. The reasoning is accurate as it correctly identifies that surrounding agent #8 is not moving and is on the same side of the intersection, hence not posing any conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It accurately describes the positions and states of both the ego agent and surrounding agent #8, and logically concludes that no interaction is expected based on the provided information. The reasoning supports the conclusion without any contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it accurately describes the ego agent's intention to approach the stop sign, decelerate, and stop. However, it does not explicitly mention yielding to surrounding agent #0, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the need to decelerate and stop at the stop sign while considering the movements of surrounding agents, particularly those in the intersection.", + "problem_score_avg": "8.5" + } + } + }, + "119331d99ba92541": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly concludes that no direct interaction will occur between the ego agent and surrounding agent #0. The ground truth states that the ego agent will yield to surrounding agent #0, as surrounding agent #0 is on the left and approaching the intersection, which typically has the right-of-way. The AI fails to recognize this right-of-way scenario.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly analyzes the positions and speeds of the agents but fails to consider the right-of-way rule, which is critical to the interaction. The conclusions drawn are logical based on the provided information but lack a key aspect of the scenario.", + "problem_score_avg": "5.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately concludes that there will be no interaction between the ego agent and surrounding agent #2, as the latter is departing from the intersection, is on the same side, and is heading in the opposite direction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically sound. It correctly analyzes the relative positions, speeds, and directions of the ego agent and surrounding agent #2, and draws a faithful conclusion that supports the ground truth.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer captures the ego agent's intention to navigate over the speed bump and crosswalk while decelerating, which aligns with the ground truth. However, it misses the critical detail of the ego agent's need to prepare to yield to surrounding agent #0 at the intersection, which is explicitly mentioned in the ground truth. This omission reduces the correctness score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It logically connects the ego agent's deceleration, the proximity of the speed bump and crosswalk, and the need for cautious driving. However, it does not address the interaction with surrounding agent #0, which slightly reduces its faithfulness to the full context provided.", + "problem_score_avg": "8.0" + } + } + }, + "119379efe682b6f6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in that it correctly identifies that surrounding agent #0 will yield to the ego agent because it is at a stop sign while the ego agent is not. However, the AI's explanation includes unnecessary details about the ego agent decelerating for the speed bump, which is not directly relevant to the interaction between the two agents at the intersection. This slightly detracts from the clarity and correctness of the answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It correctly notes that surrounding agent #0 will remain stationary at the stop sign and yield to the ego agent. However, the AI's inclusion of the ego agent's deceleration for the speed bump, while factual, is not directly related to the interaction at the intersection, which slightly weakens the coherence of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately concludes that there will be no interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. The reasoning provided by the AI supports this conclusion by noting that surrounding agent #2 is stationary and not in a conflicting position, and the ego agent is decelerating without needing to stop.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is largely faithful to the conclusions drawn. It correctly identifies the positions and statuses of both agents and logically deduces that no interaction will occur. However, it could have explicitly mentioned that they are on the same side of the intersection, which is a key detail in the ground truth.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #3. This aligns with the ground truth answer, which also mentions that they are not moving towards each other and are on different sides of the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful. The conclusions drawn are consistent with the provided context. The AI correctly identifies that surrounding agent #3 is not moving, and the ego agent is decelerating, leading to no interaction. The explanation about the paths not conflicting is also consistent with the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #4. The reasoning aligns with the ground truth, emphasizing that the surrounding agent is not moving and is positioned behind the ego agent, ensuring no conflict in their paths.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and faithful to the context. It correctly identifies the position and motion status of surrounding agent #4 and logically concludes that no interaction will occur, which aligns perfectly with the provided evidence.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #5, aligning with the ground truth that they are not moving towards each other and are on the same side of the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. It correctly identifies that surrounding agent #5 is not moving and is positioned behind the ego agent, which supports the conclusion that there will be no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it claims there will be no interaction between the ego agent and surrounding agent #6, while the ground truth explicitly states that surrounding agent #6 will yield to the ego agent. The AI failed to recognize the yielding behavior, which is a key interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly identifies that surrounding agent #6 is stationary and positioned at the opposite side of the intersection, which aligns with its claim of no interaction. However, it misses the yielding aspect, which affects the correctness but not the internal consistency of the reasoning.", + "problem_score_avg": "4.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #7 will yield to the ego agent, implying an interaction, whereas the AI claims there will be no interaction. This directly contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, as it correctly notes that surrounding agent #7 is not moving and is on the opposite side of the intersection. However, it fails to consider the scenario's dynamics, such as the ego agent's deceleration and movement towards the intersection, which are critical for understanding the interaction.", + "problem_score_avg": "3.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identified that the ego agent will continue decelerating and navigate over the speed bump. It also correctly noted that the ego agent does not need to yield to surrounding agents. However, the AI did not explicitly mention that the ego agent is in the process of exiting the intersection, which is a key detail in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It correctly analyzed the speed, deceleration, and positions of surrounding agents to determine the ego agent's plan of action. The only minor issue is the omission of the detail about the ego agent exiting the intersection, but the rest of the reasoning aligns well with the context provided.", + "problem_score_avg": "8.5" + } + } + }, + "11958515bd0f0efa": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misinterprets the yielding behavior. The ground truth states that surrounding agent #0 will yield to the ego agent, but the AI mistakenly suggests that the ego agent will yield to surrounding agent #0. This confusion about who yields to whom is a significant error.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is logically consistent with its conclusion, even though the conclusion is incorrect. It correctly identifies the stop sign for the ego agent and the deceleration of surrounding agent #0, but it misapplies the yielding rules. The reasoning itself is internally faithful but leads to an incorrect outcome due to the misinterpretation of the yielding dynamics.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly concludes that the ego agent will yield to surrounding agent #1, whereas the ground truth states that surrounding agent #1 will yield to the ego agent. This misunderstanding of traffic rules and priorities leads to a significant deviation from the correct answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is internally consistent with the provided context and logic. It correctly identifies the ego agent's obligation to stop at the stop sign and the deceleration of surrounding agent #1. However, the final conclusion contradicts the expected behavior based on traffic rules, affecting the faithfulness to the ground truth.", + "problem_score_avg": "6.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct but slightly verbose. It correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #3, which aligns with the ground truth. However, the ground truth emphasizes that there will be 'no interaction,' while the AI's response focuses on 'minimal' interaction, which is slightly less precise.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. The AI correctly interprets the stationary state of surrounding agent #3 and its position relative to the ego agent, concluding that it will not affect the ego agent's movement. The conclusions drawn are logically supported by the reasoning provided.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #4, and the reasoning aligns with the ground truth answer. The AI correctly identifies that surrounding agent #4 is not moving and is positioned behind the ego agent, which eliminates the possibility of interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is fully consistent with its conclusions. The AI provides a clear and logical explanation for why no interaction will occur, based on the position and status of surrounding agent #4. The reasoning aligns perfectly with the conclusion, ensuring faithfulness.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. The reasoning provided, that the surrounding agent is stationary and positioned behind the ego agent, is accurate and fully supports the conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies the stationary and behind positioning of surrounding agent #5, and this leads logically to the conclusion that no interaction will occur. The reasoning faithfully supports the answer provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will approach the stop sign and prepare to stop. It also correctly mentions the need to assess surrounding traffic conditions and the speed bump. However, it does not explicitly state that surrounding agents #0 and #1 will yield to the ego agent, which is a key detail in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically explains the steps the ego agent will take, including preparing to stop at the stop sign and assessing traffic conditions. The only minor inconsistency is the lack of explicit mention of right-of-way, but this does not significantly detract from the overall coherence of the reasoning.", + "problem_score_avg": "8.5" + } + } + }, + "119646e17481bd19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key interaction that surrounding agent #0 will yield to the ego agent. While it correctly notes that surrounding agent #0 is not moving and at a stop sign, it fails to recognize the yielding behavior implied by the ground truth. The ground truth emphasizes the interaction due to both agents being at the intersection, which the AI overlooks.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically deduces that the paths of the ego agent and surrounding agent #0 do not conflict based on their positions and states. However, it does not account for the yielding behavior, which is the critical interaction described in the ground truth.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #1 will yield to the ego agent, which aligns with the ground truth answer. The reasoning provided by the AI is accurate and correctly interprets the scenario, including the positions and speeds of both agents, as well as the traffic control devices.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn by the AI are completely consistent with its reasoning. The AI logically explains the positions and movements of the agents, the traffic control devices, and the expected behavior based on these factors, leading to a correct and faithful conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but contains inaccuracies. The AI correctly identifies that the ego agent is making a left turn and needs to yield to surrounding agents. However, it incorrectly states that the ego agent is at a stop sign and needs to yield, whereas the ground truth indicates the ego agent is already in the intersection and actively exiting. The AI also fails to explicitly mention that the ego agent will proceed over the speed bump and correctly interpret the yielding behavior of surrounding agents.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions but lacks precision. The AI correctly notes the need to yield and the presence of the speed bump, but its reasoning about the ego agent being at a stop sign and waiting for surrounding agent #1 is inconsistent with the context, which states the ego agent is already in the intersection. The AI's conclusions are logically derived from its premises, but those premises are partially incorrect.", + "problem_score_avg": "6.5" + } + } + }, + "1196efe81489ec7b": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misinterprets the nature of the interaction. The ground truth states that surrounding agent #0 will follow the ego agent, while the AI suggests that surrounding agent #0 will yield and that they are on a diverging path. This is incorrect as both agents are heading in the same direction and departing the intersection.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions but contains inaccuracies. The AI correctly identifies the positions and directions of the agents but incorrectly concludes that they are on a diverging path. The reasoning about the ego agent having the right of way is also not directly supported by the context.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it does not align with the ground truth. The ground truth clearly states that surrounding agent #1 will lead the ego agent, but the AI's response speculates that surrounding agent #1 would yield to the ego agent, which is contradictory. Additionally, the AI admits it lacks specific information about surrounding agent #1, making its prediction unfounded.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its own logic, as it acknowledges the lack of information about surrounding agent #1 and attempts to make a reasonable prediction based on general intersection rules. However, the conclusion is speculative and not fully supported by the context, which slightly detracts from its faithfulness.", + "problem_score_avg": "3.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that surrounding agent #2 is not mentioned in the context, making it impossible to determine the expected interaction with the ego agent. This aligns with the ground truth, which implicitly acknowledges that no information about surrounding agent #2 was provided.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the context provided. It clearly states that the lack of information about surrounding agent #2 prevents an accurate determination of the interaction, which is a logical and faithful conclusion given the absence of relevant details.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it assumes an interaction will occur between the ego agent and surrounding agent #3, which contradicts the ground truth that states there will be no interaction. Surrounding agent #3 is not in the path of the ego agent and is heading towards the intersection from a different direction.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is inconsistent with the provided context. While it correctly identifies surrounding agent #3's speed and proximity to a crosswalk, it incorrectly concludes that surrounding agent #3 will yield to the ego agent. The reasoning does not align with the fact that surrounding agent #3 is not in the ego agent's path and thus does not need to yield.", + "problem_score_avg": "2.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no information about surrounding agent #4 in the provided context, making it impossible to determine any interaction. This aligns with the ground truth answer, which also implies that surrounding agent #4's details are not included in the scenario.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It thoroughly explains that the absence of details about surrounding agent #4 prevents any definitive assessment of interaction, which is logically sound and aligns with the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #6 in the context. This aligns with the ground truth, which indicates that any answer about agent #6 would be speculative without additional data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusion. The AI explicitly states the lack of information about agent #6 and requests additional details for accurate analysis, which is entirely faithful to the limitations of the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it does not match the ground truth answer. The ground truth states that surrounding agent #7 will pass the ego agent as they are heading in opposite directions, but the AI's answer speculates a different scenario without any basis from the provided context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is faithful to the provided context. It correctly identifies the lack of information about surrounding agent #7 and acknowledges the need for more details to make an accurate determination.", + "problem_score_avg": "5.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no mention of surrounding agent #8 in the provided context, which aligns with the ground truth answer that no interaction can be determined due to the lack of information about agent #8.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and faithful to the context provided. It directly addresses the absence of information about agent #8 and concludes that no interaction can be determined without additional data, which is logically sound.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #9, which aligns perfectly with the ground truth answer. The reasoning provided by the AI is consistent with the context, emphasizing that surrounding agent #9 is not moving and is positioned in a way that does not pose any conflict with the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the context provided. The AI accurately uses the information about the positions, speeds, and directions of both agents to conclude that no interaction will occur. The conclusions drawn are consistent with the reasoning provided, and there are no contradictions or inconsistencies in the explanation.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #10, which aligns with the ground truth that no interaction can be determined due to the absence of details.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It accurately concluded that it cannot comment on the interaction between the ego agent and surrounding agent #10 due to the lack of relevant data.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there was no information provided about surrounding agent #11, making it impossible to determine any interaction. This aligns with the ground truth that no interaction can be inferred due to lack of data.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It logically and faithfully deduced that without information on surrounding agent #11, no interaction could be determined, which is a valid and consistent conclusion.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #12 in the context, making it impossible to determine any interaction. This aligns with the ground truth answer, which also acknowledges that the context does not include details about agent #12.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the provided context. It directly addresses the lack of information about agent #12 and logically concludes that no interaction can be inferred, which is a faithful interpretation of the given data.", + "problem_score_avg": "10.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no information provided about surrounding agent #13 in the context. Therefore, it accurately states that it cannot provide an answer regarding the interaction between the ego agent and surrounding agent #13.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. The AI logically concludes that without details about surrounding agent #13, no interaction can be assessed, which is a faithful and reasonable conclusion given the lack of information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #14 in the context, making it impossible to predict any interactions. This aligns with the ground truth answer, which assumes a scenario not supported by the given context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the provided context. The AI logically concluded that more details about surrounding agent #14 are needed to assess interactions, which is faithful to the absence of such details in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there is no information provided about surrounding agent #15 in the context, making it impossible to determine any interaction with the ego agent. This aligns with the ground truth answer, which assumes information about agent #15 that is not present in the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and logical. It clearly states the lack of information about agent #15 and explains why an interaction cannot be predicted. The conclusions drawn are faithful to the reasoning provided, as they directly address the absence of relevant data.", + "problem_score_avg": "10.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue moving straight through the intersection at a constant speed and that surrounding agent #0 is not expected to interfere. However, it fails to mention the ego agent overtaking surrounding agent #2 and passing other agents heading in the opposite direction, which are part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly analyzes the positions and behaviors of surrounding agents and concludes that the ego agent can proceed without altering its course, which aligns with its reasoning.", + "problem_score_avg": "8.0" + } + } + }, + "119801330046ff49": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is fully correct as it accurately states that surrounding agent #0 will yield to the ego agent due to the stop sign and the ego agent's presence in the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the conclusions drawn. It correctly uses the context provided, such as surrounding agent #0 being at a stop sign and the ego agent already being in the intersection, to logically conclude that surrounding agent #0 will yield. The reasoning supports the conclusion without any contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is planning to complete its left turn and exit the intersection while decelerating. However, it incorrectly states that the ego agent has no stop signs, which is not explicitly relevant since the ego agent is already in the intersection. The AI also correctly notes that surrounding agent #0 is approaching a stop sign and may yield, but it does not explicitly mention that the ego agent has the right of way, which is a key detail in the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions, but there are minor inconsistencies. The AI correctly concludes that the ego agent will proceed with its exit, but it introduces the irrelevant detail about the ego agent having no stop signs, which does not align with the core reasoning. Additionally, the AI's reasoning about surrounding agent #0 yielding is correct but lacks the explicit mention of the right of way, which is crucial for fully faithful reasoning.", + "problem_score_avg": "7.5" + } + } + }, + "119996e0d9d0f141": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that surrounding agent #0 will yield to the ego agent due to the ego agent having the right of way. The AI incorrectly concludes that there will be minimal interaction and no need for adjustment, which contradicts the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion. It correctly notes the relative positions and speeds of the agents and considers their paths. However, it fails to recognize the right-of-way rules and the potential for interaction, which weakens the faithfulness of its reasoning.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it concludes that the pedestrian (surrounding agent #200) will yield to the ego agent, which contradicts the ground truth that the ego agent will yield to the pedestrian. The ground truth establishes that the pedestrian is on the same side and heading towards the intersection center, indicating a potential crossing path, which the AI fails to recognize.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions but is flawed. The AI correctly identifies the positions and speeds of the agents but incorrectly interprets the interaction dynamics. The conclusion that the pedestrian will yield is not supported by the reasoning, which highlights the pedestrian's position and movement towards the intersection, suggesting potential conflict rather than yielding.", + "problem_score_avg": "4.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI answer is incorrect because it states that surrounding agent #201 will yield to the ego agent, whereas the ground truth specifies that the ego agent will yield to surrounding agent #201. The pedestrian's position and movement indicate a potential crossing path, and it is the responsibility of the ego agent to yield in such scenarios.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI answer is somewhat consistent with the given context, as it correctly identifies the speeds and positions of the agents. However, the conclusion drawn (that the pedestrian should yield) is not faithful to the principles of pedestrian priority in traffic scenarios, which is a key factor in determining the expected interaction.", + "problem_score_avg": "3.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #2. This aligns with the ground truth answer, which also mentions that surrounding agent #2 is not moving and is positioned on the same side of the intersection as the ego agent, leading to no interaction.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful and consistent. The AI correctly identifies that the ego agent is moving straight at a constant speed and that surrounding agent #2 is stationary. The conclusion that the ego agent will pass by without interaction logically follows from these observations, making the reasoning faithful.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, as the latter is not moving and is positioned on the same side of the intersection, posing no conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is fully consistent with the conclusions drawn. It logically explains why there will be no significant interaction, based on the positions and motion statuses of the agents, and does not introduce any inconsistencies or contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth. The reasoning is precise and matches the context provided, including the fact that surrounding agent #4 is not moving and the ego agent is exiting the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is entirely consistent with the provided context. It correctly interprets the positions, motion statuses, and directions of both the ego agent and surrounding agent #4, and draws a logical conclusion that there will be no interaction. The answer is faithful to the details of the scenario.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize the potential for interaction between the ego agent and surrounding agent #202. The ground truth indicates that the ego agent will yield to the pedestrian, who is on the same side of the intersection and heading towards the intersection center, suggesting a crossing path. The AI incorrectly assumes no interaction is needed.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that no interaction is needed, based on the assumption that the pedestrian is not on a conflictive path. However, this reasoning is flawed given the context, as it does not account for the pedestrian's direction and potential to cross the intersection.", + "problem_score_avg": "4.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue moving straight at a constant speed. However, it fails to acknowledge the need to yield to pedestrians (#200, #201, #202) as mentioned in the ground truth. This omission significantly impacts the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly notes the absence of conflicting traffic controls and the lack of immediate threat from stationary vehicles. However, it incorrectly downplays the potential interaction with pedestrians, which affects the faithfulness to the full scenario.", + "problem_score_avg": "7.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp4.json b/grades/direct/deepseek_grades_direct_6shot_exp4.json new file mode 100644 index 0000000..05196d5 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp4.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point in the ground truth that surrounding agent #0 will lead the ego agent. While it correctly notes that there will be no conflict, it fails to emphasize that agent #0 is leading the way, which is the primary interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies that the ego agent will catch up to surrounding agent #0 but concludes no significant interaction will occur due to the departure of agent #0. However, it could have been more aligned with the ground truth by explicitly mentioning the leading role of agent #0.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly assumes interaction between the ego agent and surrounding agent #1, despite the ground truth stating there will be no interaction. The AI also speculates about yielding and right of way, which are not supported by the context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partly faithful as it correctly notes the positions and movements of the agents. However, it deviates by introducing assumptions about yielding and right of way, which are not supported by the given context.", + "problem_score_avg": "4.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The ground truth states that surrounding agent #3 will follow the ego agent since it is behind the ego agent and both are heading towards the intersection. However, the AI answer incorrectly claims that surrounding agent #3 is parked and not in motion, which contradicts the ground truth. This is a significant error in understanding the context.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with its conclusion. It correctly notes that surrounding agent #3 is not moving and is behind the ego agent, and thus concludes there will be no interaction. However, the premise of the reasoning is flawed because it misinterpreted the motion status of surrounding agent #3.", + "problem_score_avg": "5.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth, stating that there will be no interaction between the ego agent and surrounding agent #4 due to their different lanes and lack of motion, which is accurate.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately considers the positions, motion status, and directions of both agents, leading to the correct conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it suggests that the ego agent will need to yield to surrounding agent #5, which contradicts the ground truth stating that there will be no interaction between them. The AI incorrectly assumes a potential conflict where none exists, as the agents are on different lanes and their paths do not cross.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the facts provided, as it correctly notes the positions, speeds, and directions of both agents. However, it errs in concluding that there will be a need for interaction, based on an incorrect assumption about their paths intersecting. The reasoning is faithful to the data but flawed in its final conclusion.", + "problem_score_avg": "5.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that there will be no interaction between the ego agent and surrounding agent #6 contradicts the ground truth, which states that surrounding agent #6 will follow the ego agent. The AI failed to recognize the potential for interaction despite both agents being on the same lane and heading towards the intersection, even though surrounding agent #6 is currently stationary.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. The AI correctly identified that surrounding agent #6 is stationary and behind the ego agent, but it overlooked the possibility of future interaction based on the direction of travel and lane alignment.", + "problem_score_avg": "5.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately identifies that there will be no interaction between the ego agent and surrounding agent #7. The reasoning aligns with the ground truth, which states that there is no interaction because the agents are on different lanes and their paths do not cross.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusion. However, the AI mentions that surrounding agent #7 is 'on the same side of the intersection as the ego agent,' which is true but not directly relevant to the conclusion about no interaction. The lack of interaction is primarily due to different lanes and path non-conflict, which the AI correctly identifies.", + "problem_score_avg": "9.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #8, which aligns perfectly with the ground truth answer. The reasoning provided by the AI is accurate and supports this conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It correctly identifies the positions and directions of both agents, and logically explains why their paths will not cross, thus maintaining faithfulness to the provided information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it claims that surrounding agent #9 will yield to the ego agent, which contradicts the ground truth stating there will be no interaction. The AI misinterprets the scenario by suggesting a yielding behavior despite the agents being on different lanes and their paths not crossing.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the provided context. It correctly notes the speed difference and the departure of surrounding agent #9 from the intersection. However, it incorrectly concludes that there will be a yielding interaction, which is inconsistent with the conclusion that their paths do not cross.", + "problem_score_avg": "4.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #10, as agent #10 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context provided. It correctly concludes that the ego agent's path will not conflict with surrounding agent #10 due to the latter's stationary position and location, which is in line with the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it suggests an interaction between the ego agent and surrounding agent #11, whereas the ground truth clearly states there will be no interaction due to them being on different lanes and no indication of their paths crossing.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is inconsistent with the context. While it correctly notes the positions and speeds of the agents, it incorrectly concludes that surrounding agent #11 will yield to the ego agent, which is not supported by the given information about their lane positions and directions of travel.", + "problem_score_avg": "2.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #12 will follow the ego agent, as they are on the same lane and heading towards the intersection. However, the AI incorrectly claims that there will be no interaction due to surrounding agent #12's lack of motion, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the provided context. It correctly identifies surrounding agent #12's position and lack of motion but fails to consider the potential future interaction as the ego agent accelerates and moves forward, which is inconsistent with the ground truth.", + "problem_score_avg": "3.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth states that there will be no interaction between the ego agent and surrounding agent #13 because they are heading in opposite directions with no indication of their paths crossing. The AI incorrectly assumes they are moving in the same direction and predicts a potential conflict, which is not supported by the context.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning is inconsistent with the provided context. While it correctly identifies surrounding agent #13's speed and position, it incorrectly interprets the direction of travel and fails to recognize that they are moving in opposite directions. This leads to erroneous conclusions about potential interaction, making the reasoning unfaithful to the context.", + "problem_score_avg": "2.5" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #14, which aligns perfectly with the ground truth answer. The AI correctly identifies that the agents are moving in different directions and their paths do not conflict.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly notes that surrounding agent #14 is departing from the intersection, is positioned behind and to the left of the ego agent, and is in a different lane. These observations logically support the conclusion that no interaction will occur, making the reasoning faithful.", + "problem_score_avg": "10.0" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is likely to catch up with surrounding agent #15 due to its higher speed, but it misses the key aspect that surrounding agent #15 is leading the ego agent and both are departing from the intersection. The ground truth emphasizes that surrounding agent #15 will lead, not just that the ego agent will overtake it. The AI\u2019s answer is partially correct but incomplete.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI\u2019s answer is consistent with its conclusions. It logically deduces that the ego agent will overtake surrounding agent #15 based on their speeds and positions. However, it does not fully align with the ground truth, as it overlooks the context of the agents' shared direction and the leading role of surrounding agent #15.", + "problem_score_avg": "7.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #16. Both the ground truth and the AI answer agree that their paths do not conflict and that surrounding agent #16 is not a threat due to its position behind the ego agent and its direction of movement.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI answer is consistent with the provided context. The AI correctly identifies the position of surrounding agent #16 relative to the ego agent and concludes that their paths do not cross, which aligns with the context and supports the conclusion of no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue accelerating towards the intersection and maintains its current lane. However, it fails to explicitly mention the intention to lead surrounding agent #6 and follow surrounding agents #0 and #15, which are crucial details in the ground truth. The AI also incorrectly states that surrounding agents #4 and #6 do not pose a conflict, when in fact, #6 is directly behind the ego agent.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly interprets the ego agent's speed, acceleration, and lane position. However, it misinterprets the significance of surrounding agent #6's position, which affects the overall faithfulness. The conclusion about the ego agent's intended course is somewhat consistent with the reasoning but lacks key details.", + "problem_score_avg": "6.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp13.json b/grades/direct/deepseek_grades_direct_direct_exp13.json new file mode 100644 index 0000000..b8266b6 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp13.json @@ -0,0 +1,255 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 will continue to lead the ego agent since it is moving at a constant speed and is ahead. However, the AI's answer deviates from the ground truth by introducing unnecessary details about collision risk and lane changes, which are not mentioned in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. It logically analyzes the positions, speeds, and potential interactions between the ego agent and surrounding agent #0. However, the conclusion about 'no immediate collision risk' and 'lane-change consideration' slightly strays from the straightforward ground truth, making the reasoning less perfectly aligned with the conclusion.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer introduces unnecessary complexities and possible outcomes that are not aligned with the ground truth. The ground truth simply states that Surrounding agent #2 will maintain its position ahead of the ego agent due to its constant speed and the ego agent's deceleration. However, the AI discusses potential lane changes and overtaking scenarios, which are speculative and not directly supported by the given context. This deviation from the straightforward truth lowers the correctness score.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat inconsistent with its conclusions. While it correctly notes the speed differences and lane positions, it extrapolates to scenarios like lane changes and overtaking, which are not mentioned or implied in the context. This makes the conclusions less faithful to the provided information, as they go beyond the straightforward interpretation of maintaining relative positions due to speed differences.", + "problem_score_avg": "5.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent will continue decelerating and maintains its lane, which aligns with the ground truth. However, the AI introduces unnecessary speculation about potential lane changes and collisions, which are not mentioned in the ground truth answer. This detracts from the correctness.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions. The AI logically analyzes the ego agent's speed, surrounding agents, and potential actions. However, the speculation about lane changes and collisions, while plausible, is not grounded in the provided context and slightly deviates from faithful reasoning.", + "problem_score_avg": "7.5" + } + } + }, + "111bf3969984058f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 will yield to the ego agent due to the red traffic light, which aligns with the ground truth. However, the AI's response is more detailed and includes considerations of potential scenarios (like collision risks) that are not explicitly mentioned in the ground truth. This leads to a slight deduction in score for overcomplicating the answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It carefully analyzes the status of both agents, the impact of the traffic lights, and potential interactions. The conclusion that surrounding agent #0 will stop behind the ego agent is logically derived from the detailed reasoning provided. The deduction of one point is due to the inclusion of unnecessary speculative scenarios like collision risks, which slightly detracts from the overall faithfulness.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #1 will proceed through the intersection before the ego agent because it has a green arrow, while the ego agent has a red light. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI thoroughly analyzes the traffic light statuses, speeds, and positions of both agents, and logically concludes that the green arrow for surrounding agent #1 gives it the right of way, while the red light forces the ego agent to stop.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that both the ego agent and surrounding agent #3 are affected by red traffic lights and will stop. However, it fails to fully align with the ground truth, which emphasizes that the ego agent is ahead and will move first when the light changes, implying a specific interaction where surrounding agent #3 yields. The AI's conclusion that 'no conflict or significant interaction is anticipated' oversimplifies the dynamic interaction described in the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided details, such as the positions, speeds, and traffic light status of both agents. However, the conclusion does not fully capture the nuanced interaction described in the ground truth, where the ego agent's position ahead of surrounding agent #3 implies a specific yielding behavior. Thus, while the reasoning is logical, it does not entirely align with the expected interaction dynamics.", + "problem_score_avg": "6.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's conclusion that there will be no interaction because both agents are stopping is partially correct but misses the detail that surrounding agent #4 will yield to the ego agent due to the ego agent being positioned ahead. The ground truth emphasizes the yielding behavior, which the AI did not address.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the conclusions drawn, as it correctly identifies that both agents will stop due to the red traffic light. However, it fails to fully align with the ground truth by not explicitly mentioning the yielding aspect, which is a key part of the interaction.", + "problem_score_avg": "6.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent and surrounding agent #5 will both stop due to the red traffic light, and there will be no collision. However, it misses the key point that surrounding agent #5 will yield to the ego agent, which is explicitly mentioned in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows the provided context. The conclusions drawn about the agents' behavior based on their motion, position, and traffic light status are faithful to the reasoning process.", + "problem_score_avg": "8.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent must stop at the red traffic light and considers the crosswalk. However, it fails to explicitly mention the need to yield to surrounding agent #1, who has a green arrow, which is a critical part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically analyzes the intersection, traffic light status, and surrounding agents to arrive at the decision to stop. The only minor inconsistency is the omission of explicitly mentioning yielding to surrounding agent #1, but the reasoning remains largely faithful.", + "problem_score_avg": "8.0" + } + } + }, + "111c9efbf961c8be": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #0 is approaching a stop sign, is stationary, and would yield to the ego agent if it started moving. However, the AI incorrectly states that there is no immediate interaction, while the ground truth emphasizes that surrounding agent #0 is already yielding because it is stationary due to the stop sign.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the details provided. The AI logically analyzes the positions, speeds, and traffic control devices, and its conclusions about potential future interactions (if agent #0 started moving) are aligned with the reasoning. However, it slightly misses the immediate interaction aspect mentioned in the ground truth.", + "problem_score_avg": "8.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer contains unnecessary speculation about potential future interactions, which is not part of the ground truth. While it correctly notes that there is no immediate interaction due to surrounding agent #2 being stationary and the ego agent exiting, it introduces hypothetical scenarios (e.g., surrounding agent #2 moving) that are not relevant to the current context.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided data, but it strays by introducing speculative elements about future interactions. The conclusion that there is no immediate interaction aligns with the reasoning, but the additional speculation detracts from the faithfulness to the given scenario.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent plans to continue exiting the intersection and is not affected by the stop sign. However, it does not explicitly mention that surrounding agent #0 will yield to the ego agent due to the stop sign, which is a key detail in the ground truth answer. Additionally, the AI does not explicitly state that surrounding agent #2 is not moving and will not interact with the ego agent, which is another important detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately analyzes the ego agent's current state, the positions and behaviors of surrounding agents, and concludes that the ego agent will continue exiting the intersection. The reasoning supports the conclusion, but it could have been more precise by explicitly mentioning the implications of the stop sign for surrounding agent #0 and the non-interaction with surrounding agent #2.", + "problem_score_avg": "8.5" + } + } + }, + "111d4383934339b7": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but overly complex and speculative. It correctly identifies that both agents are moving at the same speed and decelerating, which implies that the distance between them should remain constant. However, it introduces unnecessary complexity by speculating about potential changes in deceleration rates, which is not supported by the given context. The ground truth answer is simpler and more accurate in stating that surrounding agent #0 will continue to lead the ego agent.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. It correctly analyzes the speed, motion status, and relative positions of the agents. However, the conclusion about the dynamics being 'contingent upon their future deceleration behaviors' strays from the provided context, which does not mention any differences in deceleration rates. This makes the reasoning slightly less faithful to the given information.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer focuses on the speed difference and deceleration of the agents, which is relevant but does not directly address the key point in the ground truth: that surrounding agent #1 will follow the ego agent since they are on the same lane and heading in the same direction. The AI's analysis is overcomplicated and misses the simplicity of the interaction as described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided. It correctly analyzes the speed, deceleration, and relative positions of the agents. However, the conclusions drawn are unnecessarily detailed and do not align perfectly with the straightforward interaction described in the ground truth.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but overly complex and somewhat misleading. The ground truth clearly states that surrounding agent #2 will pass the ego agent as it is heading towards the intersection from the opposite direction at a higher speed. The AI's analysis, while detailed, deviates from this by suggesting potential conflicts and the need for careful monitoring, which is not the primary expected interaction according to the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions, but it introduces unnecessary complexity and assumptions. The AI correctly identifies the positions, speeds, and directions of the agents but overcomplicates the interaction by emphasizing potential conflicts rather than simply stating the expected outcome\u2014passing each other. The conclusions are consistent with the reasoning but are not aligned with the simplicity and clarity of the ground truth.", + "problem_score_avg": "5.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI incorrectly concludes that the ego agent is decelerating while surrounding agent #4 is moving at a constant speed, leading to a potential decrease in distance. This contradicts the ground truth, which states that both agents are moving at a constant speed and will maintain their positions relative to each other.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its analysis, as it logically follows the provided information about the agents' speeds and motions. However, the analysis itself is flawed due to a misinterpretation of the ego agent's motion status, which affects the overall faithfulness to the correct conclusion.", + "problem_score_avg": "4.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #5 will pass the ego agent due to its higher speed and constant motion. However, the AI fails to explicitly mention that surrounding agent #5 is heading towards the intersection from the opposite direction, which is a key detail in the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent, but the AI's conclusion that there will be 'no direct interaction or conflict' is not entirely faithful to its own analysis, which suggests that surrounding agent #5 is moving faster and will pass the ego agent. The conclusion could have been more explicitly aligned with the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent should continue departing from the intersection and acknowledges the need to monitor surrounding agents. However, it suggests the ego agent may consider increasing speed, which contradicts the ground truth answer stating the ego agent will adjust speed as necessary without specifying an increase. This discrepancy affects the correctness score.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It thoroughly analyzes the ego agent's position, surrounding agents, and traffic conditions to arrive at the decision to continue exiting the intersection. However, the suggestion to increase speed is not fully supported by the context, slightly reducing the faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "111e6160ada108c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct, accurately stating that surrounding agent #0 will yield to the ego agent due to deceleration and the ego agent's constant speed. However, it could have emphasized more explicitly that the ego agent is already in the intersection, which is a key point in the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The explanation logically connects the positioning, speeds, and actions of both agents, leading to the correct conclusion that no conflict will occur. The reasoning is faithful to the scenario details provided.", + "problem_score_avg": "9.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but unnecessarily complicates the scenario. The ground truth clearly states there will be no interaction because surrounding agent #2 is stationary and on the same side of the intersection. However, the AI introduces speculative elements like potential pedestrian interference, which are not supported by the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat faithful to the provided context but strays by introducing assumptions (e.g., pedestrian interference) not supported by the data. The conclusions drawn, while not incorrect, are more complex than necessary and not entirely aligned with the straightforward context provided.", + "problem_score_avg": "5.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, which aligns with the ground truth. The reasoning provided supports this conclusion by highlighting that surrounding agent #3 is not moving and is positioned in a way that does not obstruct the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. Each step in the explanation logically leads to the final assessment that the interaction is non-conflictual and passive, as the ego agent can continue its course without being affected by the stationary surrounding agent #3.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it suggests that the ego agent needs to navigate around surrounding agent #4, which is stationary and positioned to the side. The ground truth clearly states that there will be no interaction between them, as surrounding agent #4 is not moving and they are on the same side of the intersection. The AI's conclusion contradicts this fact.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the details provided, such as the positions and speeds of the agents. However, the conclusion drawn is not faithful to the actual interaction dynamics, as it incorrectly assumes the need for the ego agent to navigate around surrounding agent #4. The AI's reasoning fails to align with the ground truth, which states no interaction is necessary.", + "problem_score_avg": "4.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #5. The reasoning aligns with the ground truth answer, as surrounding agent #5 is stationary and does not pose any risk or obstacle to the ego agent.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the conclusion it draws. However, it slightly over-analyzes the situation by considering factors such as traffic control devices for surrounding agent #5, which are irrelevant given that the agent is stationary and not moving. This detracts from the overall faithfulness of the reasoning.", + "problem_score_avg": "9.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly concludes that there will be no interaction between the ego agent and surrounding agent #6, which aligns exactly with the ground truth answer. The AI accurately assesses that surrounding agent #6 is stationary, positioned behind the ego agent, and thus will not interfere with the ego agent's movement through the intersection.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. The AI thoroughly analyzes the positions, speeds, and movements of both the ego agent and surrounding agent #6, and logically deduces that no interaction will occur. The conclusion is directly supported by the detailed reasoning, making it faithful.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, as the surrounding agent is not moving and is positioned behind and to the left of the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent, but it includes unnecessary details about potential future interactions, which are irrelevant given the context that surrounding agent #7 is stationary. The conclusion drawn is correct, but the reasoning could be more focused on the immediate lack of interaction due to the stationary state of surrounding agent #7.", + "problem_score_avg": "9.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately identifies that surrounding agent #8 will yield to the ego agent because it is stationary at a stop sign, and the ego agent is already in the intersection and moving at a constant speed. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the context. It clearly analyzes the positions, speeds, directions, and traffic control devices affecting both agents, leading to the correct conclusion that the ego agent will proceed while surrounding agent #8 remains stopped. The conclusions are well-supported by the detailed analysis.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to continue exiting the intersection at a constant speed. It also accurately notes that the ego agent does not need to yield to surrounding agents, as they are either stationary or will yield due to their positions relative to stop signs and the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI systematically analyzes the ego agent's current status, traffic control devices, movement of surrounding agents, and geographical context to arrive at the conclusion that the ego agent will continue moving straight and exit the intersection. This logical progression supports the final conclusion.", + "problem_score_avg": "10.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp17.json b/grades/direct/deepseek_grades_direct_direct_exp17.json new file mode 100644 index 0000000..efc08d0 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp17.json @@ -0,0 +1,273 @@ +{ + "100dc2bbda4ccfc5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that the interaction is minimal and involves a 'wait-and-see' scenario significantly deviates from the ground truth. The ground truth explicitly states that the ego agent will yield to surrounding agent #1 due to the red light, indicating a clear and immediate interaction rather than minimal or future-based. The AI fails to emphasize the actual yielding behavior, which is central to the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent, as it correctly identifies the red light's impact on the ego agent and the deceleration of surrounding agent #1. However, the conclusion does not fully align with the reasoning. The AI correctly notes that the ego agent must stop but does not explicitly state the yielding behavior, which is a key outcome in the scenario. The reasoning thus partially supports the conclusion but misses the primary interaction described in the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies the primary intention of the ego agent to stop at the red traffic light, which aligns with the ground truth. However, it misses the additional detail of yielding to surrounding agent #1, which is part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It logically analyzes the scenario, including the traffic light status, distance to the crosswalk, and the ego agent's motion, to arrive at the conclusion that the ego agent will stop. The reasoning is faithful to the context provided.", + "problem_score_avg": "8.5" + } + } + }, + "101136b4af211072": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer does not directly align with the ground truth, which states that surrounding agent #0 will yield to the ego agent. The AI instead focuses on the ego agent's need to be cautious and avoid conflict, without explicitly stating that surrounding agent #0 will yield. This misses the key detail of yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly analyzes the positions and movements of the agents and concludes that the ego agent should be cautious. However, it does not fully align with the ground truth's emphasis on yielding, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly aligns with the ground truth, stating that surrounding agent #1 will yield to the ego agent as it is stopped and facing a stop sign. This allows the ego agent to exit the intersection without conflict, which matches the provided ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It accurately considers the positions, directions, and traffic control devices affecting both agents and logically concludes that the interaction will be smooth due to agent #1's obligation to stop. The reasoning supports the conclusion without contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses the key point in the ground truth that surrounding agent #3 will follow the ego agent. The AI focuses on the yielding aspect, which is not incorrect but does not fully align with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI analyzes the relative positions and movements of the agents accurately and logically concludes there is no immediate conflict. However, it could have more explicitly acknowledged the following behavior.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's prediction that there will be no interaction between the ego agent and surrounding agent #4 aligns with the ground truth. The AI correctly identifies that their trajectories do not intersect, and surrounding agent #4 is moving in the opposite direction, which supports the conclusion of no interaction. However, the AI's reasoning includes some uncertainty ('unless there are drastic changes in speed or direction'), which slightly detracts from the confidence in the correctness.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It correctly analyzes the positions, directions, and movements of both agents to conclude that they are on different paths. However, the inclusion of unnecessary details about possible drastic changes in speed or direction introduces a minor inconsistency, suggesting a lack of full confidence in the reasoning.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly concludes that there is a potential for conflict or collision between the ego agent and surrounding agent #5, whereas the ground truth states that there will be no interaction as they are on different paths. The AI's assessment of the scenario is inaccurate.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it analyzes positions, movements, and directions. However, it fails to correctly interpret the spatial dynamics and concludes incorrectly that there is a potential conflict, which is not aligned with the actual situation described in the context.", + "problem_score_avg": "4.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #6 will follow the ego agent. While the AI correctly notes that the interaction is non-conflictual, it does not explicitly state that surrounding agent #6 will follow the ego agent, which is the ground truth answer. The AI focuses more on the distance and deceleration but does not conclude the following behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the details provided. It correctly analyzes the positions, speeds, and directions of the agents and concludes that the interaction is non-conflictual. However, it does not explicitly link the deceleration of surrounding agent #6 to the behavior of following the ego agent, which slightly weakens the faithfulness to the logical conclusion.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that the ego agent plans to complete its left turn and exit the intersection without yielding to surrounding agents, as they are either not moving, on a different path, or following behind. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning is consistent with the conclusions. The AI systematically analyzes the speed, movement, stop signs, and surrounding agents to arrive at the conclusion that the ego agent will complete its left turn without conflicts. The logic is sound and supports the final conclusion.", + "problem_score_avg": "10.0" + } + } + }, + "10121dc51c383aa6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 will yield to the ego agent, aligning with the ground truth. The reasoning accurately considers the positions, motions, and traffic control devices, concluding that the ego agent, already in the intersection, has the right of way.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It logically analyzes the positions, motions, and traffic rules to determine that surrounding agent #0 must yield, and the conclusions are firmly based on this analysis.", + "problem_score_avg": "10.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #2 will yield to the ego agent because it is stationary and the ego agent is already in the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It logically analyzes the positions, speeds, and traffic control devices for both the ego agent and surrounding agent #2, and concludes that the ego agent will proceed through the intersection unimpeded, which is faithful to the provided context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #3 will yield to the ego agent due to its position behind the ego agent and the presence of stop signs. The reasoning aligns with the ground truth, emphasizing the need for surrounding agent #3 to stop and yield before proceeding.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It thoroughly analyzes the positions, speeds, and traffic control devices of both agents, logically deducing that no conflict will occur as the ego agent will pass through the intersection before surrounding agent #3 moves.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's conclusion that there will not be an interaction between the ego agent and surrounding agent #4 is somewhat consistent with the ground truth, but the explanation is overly detailed and includes unnecessary speculation about potential collisions, which detracts from the clarity and simplicity of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's response is generally consistent with the conclusions drawn. The AI analyzes the positions, motion, and traffic control devices accurately, but the conclusion introduces unnecessary uncertainty about potential collisions, which slightly deviates from the logical flow of the reasoning.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's conclusion that the interaction is 'non-interactive' is partially correct because surrounding agent #5 is indeed stationary. However, the AI missed the crucial point that surrounding agent #5 will yield to the ego agent, as stated in the ground truth. This oversight reduces the correctness score.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is largely consistent with the information provided, as it correctly identifies that surrounding agent #5 is stationary and does not impede the ego agent. However, it fails to fully align with the ground truth by not explicitly stating that surrounding agent #5 will yield, which affects the faithfulness of the reasoning.", + "problem_score_avg": "6.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but overly verbose and misses the key point. The ground truth clearly states that surrounding agent #6 will yield to the ego agent because it is stationary and the ego agent is already in the intersection. The AI acknowledges that surrounding agent #6 is stationary but does not explicitly state that it will yield, which is the core of the ground truth answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the positions and speeds of the ego agent and surrounding agent #6 and concludes that there is no immediate conflict. However, it does not explicitly state the yielding behavior, which is the key insight from the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #7 will yield to the ego agent due to its stationary state and the ego agent's presence in the intersection. However, the AI slightly overcomplicates the explanation by discussing unnecessary details about distances and potential behavior, which detracts from the simplicity and directness of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It accurately considers the positions, speeds, and motion statuses of both agents and logically concludes that surrounding agent #7 will not interfere with the ego agent's passage through the intersection. The reasoning is thorough and aligns well with the conclusions presented.", + "problem_score_avg": "8.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #8 is stationary and the ego agent is in the intersection, suggesting that surrounding agent #8 will yield to the ego agent. However, the AI's conclusion that the interaction is 'non-intrusive' is somewhat vague and could have been more explicitly aligned with the ground truth, which directly states that surrounding agent #8 will yield to the ego agent.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It accurately evaluates the positions, speeds, and motion statuses of both agents and logically deduces that surrounding agent #8 will yield to the ego agent. The reasoning aligns well with the conclusion, though the conclusion could have been stated more precisely to match the ground truth.", + "problem_score_avg": "8.5" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #9 is stationary and the ego agent is in the intersection, leading to a safe interaction. However, it overly complicates the scenario by introducing hypothetical future actions of agent #9, which are not necessary to answer the question. The ground truth emphasizes that agent #9 will yield because it is not moving, which is accurate but the AI's focus on potential future conflicts detracts from the simplicity of the correct answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions, but the AI introduces unnecessary speculative scenarios (e.g., agent #9 starting to move) that are not supported by the context. This detracts from the faithfulness of the reasoning as the conclusions do not strictly align with the straightforward observation that agent #9 is stationary and will yield.", + "problem_score_avg": "7.5" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns with the ground truth. It correctly identifies that surrounding agent #10 will yield to the ego agent because it is stationary, and the ego agent is already in the intersection, thus establishing the right-of-way for the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful and consistent with the provided context. The analysis of the positions, speeds, and traffic control devices logically leads to the conclusion that the ego agent has the right-of-way, and surrounding agent #10 must yield.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #11 will yield to the ego agent because it is not moving and the ego agent is already in the intersection. The AI focuses more on spatial separation and potential future actions rather than emphasizing the yielding behavior directly.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly analyzes the positions and behaviors of both agents and considers traffic control devices. However, it does not explicitly conclude the yielding behavior, which is the core of the ground truth answer.", + "problem_score_avg": "7.5" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue moving straight through the intersection. However, it overcomplicates the explanation by emphasizing caution and yielding, which is not mentioned in the ground truth. The ground truth clearly states the ego agent has the right of way and does not need to yield.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions. The AI correctly identifies the ego agent's movement and position but unnecessarily introduces additional caution and yielding, which slightly deviates from the straightforward conclusion in the ground truth.", + "problem_score_avg": "7.5" + } + } + }, + "101295a175cb6ce1": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests potential interactions between the ego agent and surrounding agent #0, such as yielding or speed adjustments, which contradicts the ground truth answer stating that no interaction will occur. The AI misinterprets the scenario, as both agents are departing the intersection and their paths do not cross, making the answer largely incorrect.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is not consistent with the conclusions drawn. While the AI correctly identifies the positions and directions of the agents, it incorrectly assumes a potential interaction where none exists. The conclusions about yielding and speed adjustments are unfounded given the context, indicating a lack of faithfulness in connecting the reasoning to the correct conclusion.", + "problem_score_avg": "3.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth clearly states that surrounding agent #1 will not interact with the ego agent because they are heading in opposite directions and both are departing from the intersection. However, the AI predicts a near-miss scenario, which is not aligned with the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent but flawed. While the AI correctly identifies the speeds and positions of the agents, it misinterprets the directions and concludes a near-miss scenario. This conclusion is inconsistent with the fact that both agents are departing from the intersection in opposite directions, which should eliminate any interaction.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly concludes that there will be a potential conflict or close encounter between the ego agent and surrounding agent #2. The ground truth clearly states that there will be no interaction, as both agents are departing from the intersection with no indication of their paths crossing. The AI's analysis fails to accurately interpret the scenario, leading to an incorrect conclusion.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, but it contains inaccuracies in interpreting the relative positions and directions of the agents. While the AI attempts to logically analyze the interaction, it misinterprets the scenario by suggesting a potential conflict that does not exist according to the ground truth. The reasoning is not entirely faithful to the facts provided in the context.", + "problem_score_avg": "3.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue departing from the intersection and decelerate due to the speed bump. However, it incorrectly infers that the surrounding agents are departing from the intersection, which contradicts the ground truth stating there are no interactions expected due to their paths being non-conflicting.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly faithful to the provided context. The AI logically concludes the ego agent's intention based on its deceleration and the speed bump. However, the misinterpretation of the surrounding agents' actions slightly detracts from the consistency of the reasoning.", + "problem_score_avg": "7.0" + } + } + }, + "10137da143191f29": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's conclusion that the potential for interaction is minimal is correct, as surrounding agent #0 is stationary and will be behind the ego agent in the future. However, the AI's reasoning includes some unnecessary complexity and does not directly align with the simplicity of the ground truth answer, which states that there will be no interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly analyzes the positions, speeds, and directions of both agents, and its conclusion that the interaction risk is low aligns with this analysis. However, some of the reasoning is overly detailed and could have been more concise to directly support the conclusion.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a potential near-miss or collision scenario, which is incorrect. The ground truth clearly states that there will be no interaction as surrounding agent #1 is departing in the opposite direction. The AI failed to correctly interpret the direction and timing of the agents' movements, leading to an incorrect conclusion.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning process is somewhat faithful to the given context, as the AI correctly identifies the positions, speeds, and directions of both agents. However, the conclusion drawn does not align with the reasoning, as the AI misinterpreted the potential interaction, leading to an incorrect prediction of a near-miss or collision.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a potential interaction between the ego agent and surrounding agent #200, which contradicts the ground truth answer that states there will be no interaction as they are not in each other's path. The AI's conclusion is incorrect as it misinterprets the positions and trajectories of the agents.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it attempts to analyze the positions, speeds, and directions of the agents. However, it fails to accurately determine that their paths do not intersect, leading to an incorrect conclusion. The reasoning is logical but does not align with the actual scenario.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer captures the ego agent's intention to exit the intersection and proceed straight, which aligns with the ground truth. However, it misses the specific detail that the ego agent will decelerate for the speed bump and then accelerate to 10 m/s, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It logically analyzes the ego agent's position, speed, and surrounding agents to infer the intention to exit the intersection safely. The reasoning supports the conclusion well, though it could have included more specific details from the context.", + "problem_score_avg": "8.0" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp2.json b/grades/direct/deepseek_grades_direct_direct_exp2.json deleted file mode 100644 index b497e75..0000000 --- a/grades/direct/deepseek_grades_direct_direct_exp2.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "10308c69cdc96a4": { - "Interactions_0": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer partially aligns with the ground truth but incorrectly states that surrounding agent #0 is decelerating, which contradicts the provided context. The AI also focuses on the ego agent slowing down, which, while a possible action, is not the primary interaction described in the ground truth. The ground truth emphasizes that surrounding agent #0 will lead the ego agent, which the AI does not explicitly address.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions, but it contains an error regarding the motion status of surrounding agent #0 (incorrectly stating it is decelerating instead of accelerating). This error affects the faithfulness of the reasoning. Otherwise, the logic of slowing down or changing lanes to avoid collision is consistent with the described scenario.", - "problem_score_avg": "5.5" - } - }, - "Interactions_1": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect as it states that the ego agent and surrounding agent #1 are on the same lane, which is not true. The context clearly mentions that surrounding agent #1 is 11 meters on the right of the ego agent, indicating different lanes. The ground truth correctly identifies that there will be no interaction as they are on different lanes and their paths do not cross.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its incorrect assumption that the agents are on the same lane. However, the conclusion about the need for the ego agent to maneuver is based on this faulty premise. The reasoning process itself is logical but misaligned with the actual context provided.", - "problem_score_avg": "4.0" - } - }, - "Interactions_2": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's conclusion is incorrect. Surrounding agent #3 is not on the same lane as the ego agent, and the AI did not consider that the ego agent is moving forward while surrounding agent #3 is stationary. The ground truth correctly states that surrounding agent #3 is behind the ego agent but on the same lane, which the AI missed. The AI's conclusion that the ego agent will pass surrounding agent #3 by safely is incorrect as the ground truth indicates that surrounding agent #3 will follow the ego agent, implying a potential interaction.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the information provided. The AI correctly notes that the ego agent is accelerating and that surrounding agent #3 is stationary and positioned behind and to the left of the ego agent. However, the conclusion that there will be no direct interaction is not fully supported by the reasoning, as the AI did not accurately interpret the relative positions and directions of travel of the two agents.", - "problem_score_avg": "4.5" - } - }, - "Interactions_3": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's conclusion that the ego agent will pass surrounding agent #4 without significant interaction is correct. However, the AI introduces unnecessary hypothetical scenarios (e.g., vehicle width, lane markings, intersection rules) that are not relevant to the ground truth answer, which simply states there is no interaction due to different lanes and non-crossing paths.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, but it includes speculative elements (e.g., vehicle width, lane markings) that are not supported by the provided context. These additions slightly detract from the faithfulness of the reasoning to the given data.", - "problem_score_avg": "7.5" - } - }, - "Interactions_4": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect as it suggests that an interaction is expected where the ego agent overshoots surrounding agent #5. The ground truth states that there will be no interaction since they are on different lanes and there is no indication of their paths crossing.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, but it incorrectly assumes a potential interaction despite the agents being on different lanes. The conclusion does not align with the lack of path crossing, making the reasoning partially faithful but ultimately flawed.", - "problem_score_avg": "3.5" - } - }, - "Interactions_5": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #6 will follow the ego agent, as both are heading towards the intersection and agent #6 is behind the ego agent on the same lane. The AI incorrectly concluded a passing maneuver, which contradicts the ground truth.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identified the positions of the ego agent and surrounding agent #6 and noted that the ego agent is accelerating. However, the conclusion of a passing maneuver is inconsistent with the fact that surrounding agent #6 is stationary and should follow the ego agent, not be passed by it.", - "problem_score_avg": "3.0" - } - }, - "Interactions_6": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI incorrectly states that surrounding agent #7 is on the same lane as the ego agent, which contradicts the ground truth stating they are on different lanes. This fundamental error affects the correctness of the conclusion.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning is consistent with the erroneous assumption that both agents are on the same lane. However, the conclusion that the ego agent will pass surrounding agent #7 without collision is logically derived from this incorrect premise, indicating partial faithfulness.", - "problem_score_avg": "5.0" - } - }, - "Interactions_7": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect as it suggests potential interactions between the ego agent and surrounding agent #8, such as lane changes or maintaining distance, which are not supported by the ground truth. The ground truth clearly states that there will be no interaction because they are heading in opposite directions and their paths do not cross. The AI's response fails to align with this conclusion.", - "Faithfulness score": "4", - "Faithfulness explanation": "The AI's reasoning is partially faithful but flawed. While it correctly identifies the relative positions and speeds of the agents, it incorrectly assumes potential interaction points (e.g., lane changes or maintaining distance) that are inconsistent with the context. The conclusions drawn are not fully supported by the reasoning, as the context explicitly indicates no interaction.", - "problem_score_avg": "3.0" - } - }, - "Interactions_8": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI answer incorrectly suggests a potential interaction or collision between the ego agent and surrounding agent #9, which contradicts the ground truth that there will be no interaction. The AI misinterprets the relative positions and trajectories, leading to an incorrect conclusion.", - "Faithfulness score": "4", - "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions but is based on flawed assumptions. While the steps logically lead to the AI's prediction of an interaction, the initial analysis of the agents' trajectories and relative positions is incorrect, leading to an unfaithful conclusion.", - "problem_score_avg": "3.0" - } - }, - "Interactions_9": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #10, as the latter is not moving and their paths do not cross. The AI, however, incorrectly suggests that the ego agent is approaching agent #10 and implies a need for monitoring, which contradicts the ground truth.", - "Faithfulness score": "4", - "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identifies the positions and states of both agents but draws an incorrect conclusion. While the reasoning about the agents' positions and movements is consistent, the final conclusion about potential interaction is inconsistent with the facts provided, leading to a lower score.", - "problem_score_avg": "2.5" - } - }, - "Interactions_10": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "1", - "Correctness explanation": "The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #11 because they are on different lanes and their paths do not cross. The AI's conclusion that the ego agent needs to yield is incorrect as it contradicts the ground truth.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it considers the relative positions and motions of the agents. However, the reasoning fails to account for the fact that the agents are on different lanes and their paths do not intersect, which should have led to the correct conclusion of no interaction.", - "problem_score_avg": "3.5" - } - }, - "Interactions_11": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. However, the AI incorrectly concluded that the ego agent will pass surrounding agent #12, which contradicts the ground truth. Additionally, the AI incorrectly stated that agent #12 is stationary, which is not supported by the context.", - "Faithfulness score": "5", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, but it is based on incorrect assumptions. The AI correctly identifies the positions and speeds of the ego agent and surrounding agent #12 but fails to interpret the context accurately. The conclusion about no immediate collision is logical based on the AI's assumptions, but the overall reasoning does not align with the ground truth.", - "problem_score_avg": "4.0" - } - }, - "Interactions_12": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect. The ground truth states that there will be no interaction between the ego agent and surrounding agent #13 because they are heading in opposite directions and their paths do not cross. The AI incorrectly concluded that there is a collision risk and potential interaction, which contradicts the provided context.", - "Faithfulness score": "5", - "Faithfulness explanation": "The AI's reasoning is partially faithful but flawed. While it correctly analyzes the motion and trajectories of both agents, it fails to consider the key detail that they are heading in opposite directions and their paths do not intersect. This oversight leads to incorrect conclusions about potential collision risks and interactions.", - "problem_score_avg": "3.0" - } - }, - "Interactions_13": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect as it predicts an interaction between the ego agent and surrounding agent #14, while the ground truth explicitly states there will be no interaction because they are heading in opposite directions and their paths do not cross.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, but the reasoning itself is flawed. It incorrectly assumes both agents are moving towards the intersection and that their paths may cross, leading to an incorrect prediction of interaction.", - "problem_score_avg": "4.0" - } - }, - "Interactions_14": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer is partially correct but contradicts the ground truth. The ground truth states that surrounding agent #15 will lead the ego agent as both are departing from the intersection, implying that the ego agent will follow. However, the AI suggests the ego agent will overtake surrounding agent #15, which is not aligned with the ground truth.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the relative positions and speeds of the agents and provides a logical analysis of the situation. However, the conclusion about overtaking is inconsistent with the ground truth.", - "problem_score_avg": "6.5" - } - }, - "Interactions_15": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer suggests a significant interaction between the ego agent and surrounding agent #16, which contradicts the ground truth that there will be no interaction. The reasoning fails to consider that the agents are heading in opposite directions and their paths do not cross, leading to an incorrect conclusion.", - "Faithfulness score": "4", - "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, but it overlooks critical details from the context, such as the opposite directions of travel and the lack of path intersection. This inconsistency makes the reasoning less faithful to the actual scenario.", - "problem_score_avg": "3.0" - } - }, - "Interactions_16": { - "deepinfra_models_google/gemma-2-9b-it_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer is partially correct but lacks specificity. It correctly identifies that the ego agent intends to proceed through the intersection and considers the movements of surrounding agents. However, it fails to explicitly mention the ego agent's intention to follow Surrounding Agent #0 and #15 and lead Surrounding Agent #6, as stated in the ground truth. Additionally, the AI overcomplicates the reasoning by introducing unnecessary considerations like traffic light status and road markings, which were not provided in the context.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It logically analyzes the ego agent's situation and the movements of surrounding agents, and its conclusion that the ego agent will proceed through the intersection aligns with the reasoning. However, the reasoning introduces speculative elements (e.g., traffic light status, road markings) that are not supported by the provided context, which slightly detracts from the faithfulness of the reasoning.", - "problem_score_avg": "6.0" - } - } - } -} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp22.json b/grades/direct/deepseek_grades_direct_direct_exp22.json new file mode 100644 index 0000000..4ec3199 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp22.json @@ -0,0 +1,67 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but slightly verbose and less concise than the ground truth. It correctly identifies that surrounding agent #0 will yield to the ego agent due to its deceleration and the ego agent's acceleration. However, it includes unnecessary details that dilute the clarity of the key point.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. It logically analyzes the positions, speeds, and directions of both agents and correctly anticipates the interaction. The conclusion aligns with the reasoning, though it could be more focused.", + "problem_score_avg": "8.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will pass near surrounding agent #2 and that agent #2 is stationary. However, it misses the key point that agent #2 will yield to the ego agent as per the ground truth. The AI focuses on the ego agent navigating around agent #2 rather than recognizing that agent #2's stationary position implies yielding.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically analyzes the positions, speeds, and movements of both agents and concludes that the interaction will be non-collusive. However, it does not explicitly align with the ground truth's emphasis on yielding, which affects its overall correctness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is stationary and behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It accurately analyzes the positions, directions, and motions of both agents, and logically concludes that no interaction will occur due to the stationary status of surrounding agent #3 and its position relative to the ego agent.", + "problem_score_avg": "10.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #4 is stationary and does not pose an immediate threat to the ego agent. However, it fails to explicitly state that surrounding agent #4 will yield to the ego agent, which is a key part of the ground truth answer. The AI's conclusion that there will be minimal or no interaction is not entirely incorrect, but it misses the nuance of the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided and logically leads to the conclusion that there will be minimal interaction. The steps in the analysis are coherent and align with the data given. However, the reasoning could have been more explicitly tied to the idea of yielding, which is implied but not directly stated.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses a key detail. It correctly identifies that the ego agent will maneuver around surrounding agent #5 and that surrounding agent #5 is stationary. However, it fails to explicitly state that surrounding agent #5 will yield to the ego agent, which is a crucial part of the ground truth answer. Instead, the AI focuses on the ego agent's ability to pass by safely, which is not incorrect but less precise.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions. It correctly analyzes the positions, directions, and speeds of the ego agent and surrounding agent #5 and concludes that the interaction will be non-intrusive. However, the reasoning could have been more aligned with the ground truth by explicitly mentioning yielding behavior, which is implied but not stated clearly.", + "problem_score_avg": "7.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #6 is expected to yield to the ego agent, as the ego agent is exiting the intersection. The AI correctly identifies that surrounding agent #6 is stationary and on the same side of the intersection, but it fails to explicitly state the yielding behavior, which is the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is faithful to the information provided. It logically analyzes the positions, directions, and movements of the agents and concludes that no immediate conflict exists. However, it does not fully align with the ground truth in terms of the expected yielding behavior, which slightly reduces the faithfulness score.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct as it accurately identifies the ego agent's intention to complete its left turn, exit the intersection, and continue accelerating. The only minor discrepancy is that the AI does not explicitly mention that the surrounding agents will yield to the ego agent, which is part of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions drawn. The AI correctly analyzes the ego agent's position, speed, and the behavior of surrounding agents to conclude the intended course of action. However, the AI slightly deviates by not explicitly stating that the surrounding agents will yield, which is a conclusion that could have been drawn from the context.", + "problem_score_avg": "8.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp26.json b/grades/direct/deepseek_grades_direct_direct_exp26.json new file mode 100644 index 0000000..73fbf1f --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp26.json @@ -0,0 +1,562 @@ +{ + "118d81ceeb8401d5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that both agents will yield due to the red traffic light, which aligns with the ground truth. However, the AI introduces the concept of 'cautious proximity' and implies that surrounding agent #0 will continue moving forward at a reduced speed, which is not explicitly stated in the ground truth. This deviation reduces the correctness score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions. It correctly analyzes the position, motion status, and traffic light constraints of both agents. However, the conclusion about 'cautious proximity' and the assumption about surrounding agent #0's continued movement slightly deviate from the strict adherence to the traffic light constraints, which affects the faithfulness score.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that the ego agent and surrounding agent #1 are unlikely to interact significantly is incorrect. The ground truth states that the ego agent will yield to surrounding agent #1 because of the red light, indicating a clear interaction where the ego agent must stop. The AI failed to correctly interpret the necessity of yielding due to the red light.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the information provided, but it fails to fully align with the ground truth. The AI correctly notes that the ego agent must stop due to the red light and that surrounding agent #1 is decelerating. However, it incorrectly concludes that there will be no significant interaction, which is inconsistent with the ground truth's emphasis on the ego agent yielding to surrounding agent #1.", + "problem_score_avg": "5.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to stop due to the red traffic light and wait for it to turn green. However, it fails to explicitly mention the need to yield to surrounding agent #1, which is a key part of the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent and logically follows the given context. It accurately analyzes the influence of the traffic light, the position of the ego agent, and the behavior of surrounding agents to conclude that the ego agent must stop.", + "problem_score_avg": "9.0" + } + } + }, + "11910053d8443321": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer provides a detailed analysis but misses the key point from the ground truth: that surrounding agent #0 will yield to the ego agent as it is on the left of the intersection. The AI focuses more on speed and timing but does not clearly state the yielding behavior, which is the primary interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI\u2019s answer is consistent and logically follows from the provided context. However, it does not fully align with the ground truth's emphasis on yielding behavior, which makes it slightly less faithful to the expected conclusion. The analysis is thorough but could be more precise in addressing the key interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is planning to continue towards the intersection and acknowledges the presence of the speed bump and surrounding agent #0. However, it misses the key point that the ego agent will need to slow down for the speed bump and prepare to interact with surrounding agent #0, which is expected to yield. This omission reduces the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the conclusions drawn. The AI logically analyzes the ego agent's position, speed bump proximity, and surrounding traffic. However, the conclusion about the ego agent maintaining speed or stopping lacks the nuance of needing to slow down and prepare for interaction with surrounding agent #0, which slightly deviates from a fully faithful reasoning process.", + "problem_score_avg": "7.0" + } + } + }, + "1191720c122f7d82": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but deviates from the ground truth. The ground truth states that surrounding agent #0 will yield to the ego agent because it is in the intersection and the ego agent is approaching a stop sign. However, the AI's answer introduces unnecessary complexity by suggesting possible conflicts and timing issues, which are not explicitly backed by the context. The AI also fails to clearly conclude that surrounding agent #0 will yield, which is the key point in the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the context provided, but it overcomplicates the scenario. The AI correctly analyzes the positions, motion, and traffic control devices but strays from the simpler conclusion that surrounding agent #0 will yield to the ego agent. The conclusions drawn are somewhat consistent with the reasoning but lack the clarity and focus of the ground truth.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent will stop at the stop sign and that surrounding agent #1 will not create any conflict is not entirely incorrect, but it misses the key point from the ground truth: that surrounding agent #1 will yield to the ego agent. The AI's explanation focuses on the ego agent's actions but does not explicitly state the yielding behavior of surrounding agent #1, which is the core of the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the information provided, as it correctly identifies the ego agent's need to stop and the stationary state of surrounding agent #1. However, the conclusion does not fully align with the reasoning, as it does not explicitly address the yielding behavior of surrounding agent #1, which is a crucial aspect of the interaction.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is stationary and on the same side of the intersection. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. It logically breaks down the positioning, speed, and behavior of both agents, and correctly concludes that the interaction will be minimal and low-risk. However, it slightly overcomplicates the explanation by introducing unnecessary details about the stop sign and the ego agent's expected behavior, which do not directly affect the interaction with surrounding agent #3.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but deviates significantly from the ground truth. The ground truth states that there will be no interaction between the ego agent and surrounding agent #4 because the latter is not moving and is on the same side of the intersection. The AI, however, suggests that there will be an interaction, primarily involving the ego agent approaching and stopping at the stop sign while navigating around the stationary surrounding agent #4. This implies a potential interaction, which is inconsistent with the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the information provided, as it correctly identifies the positions, directions, and traffic control conditions of both the ego agent and surrounding agent #4. However, it incorrectly concludes that there will be an interaction, which is not supported by the given context. The reasoning is internally consistent but leads to a conclusion that does not align with the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI partially aligns with the ground truth but introduces unnecessary speculation about future interactions, which are not supported by the context. The ground truth clearly states no interaction due to the stationary status and position of surrounding agent #5.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is consistent but overly elaborate. The AI correctly identifies the key points but strays into hypothetical scenarios that are not relevant to the immediate context.", + "problem_score_avg": "6.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately concludes that there will be no interaction between the ego agent and surrounding agent #6. This aligns with the ground truth, which states that surrounding agent #6 is not moving and is on the same side of the intersection, thus not posing any immediate interaction with the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. The AI thoroughly analyzes the positioning, motion, direction, and distance of both the ego agent and surrounding agent #6, and logically concludes that no interaction will occur. The conclusions are well-supported by the reasoning steps.", + "problem_score_avg": "10.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but overly complex and deviates from the ground truth. The ground truth clearly states that surrounding agent #7 will yield to the ego agent because it is approaching a stop sign and not moving, while the ego agent is approaching the intersection. The AI's answer, however, introduces unnecessary details and hypothetical scenarios, such as the ego agent accelerating past the stop sign, which is irrelevant and incorrect given the context.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions, but it includes extraneous information that does not align with the straightforward nature of the ground truth. The AI correctly identifies that both agents are approaching stop signs and must yield, but it unnecessarily complicates the scenario by discussing what-ifs rather than focusing on the immediate interaction described in the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it suggests potential interactions or conflicts between the ego agent and surrounding agent #8, while the ground truth clearly states that there will be no interaction as surrounding agent #8 is stationary and on the same side of the intersection. The AI's analysis unnecessarily complicates the scenario by introducing hypothetical conflicts that do not align with the provided context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is partially faithful to the context but deviates in its conclusions. While the AI correctly identifies the positions, speeds, and directions of both agents, it incorrectly extrapolates potential interactions that are not supported by the context. The conclusions about cautious behavior and potential conflicts are inconsistent with the stationary and non-interfering nature of surrounding agent #8 as described in the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer is mostly correct and aligns with the ground truth. It correctly identifies that the ego agent will reduce speed, stop at the stop sign, and observe surrounding traffic. However, it slightly misses explicitly mentioning the need to yield to surrounding agent #0, which is a key detail in the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is consistent with the conclusions drawn. The AI correctly analyzes the scenario, identifies the need to stop at the stop sign, and considers the actions of surrounding agents. The logic flows logically from the given information, though it could have been slightly more explicit about yielding to surrounding agent #0.", + "problem_score_avg": "9.0" + } + } + }, + "119331d99ba92541": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer does not accurately reflect the ground truth. While it discusses deceleration, acceleration, and potential conflicts, it fails to explicitly state that the ego agent will yield to surrounding agent #0 due to the right-of-way rules. The ground truth clearly states this outcome, which the AI misses.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with the conclusions drawn. It analyzes the positioning, speed, motion, and traffic control devices accurately. However, the conclusion could have been more aligned with the reasoning by explicitly mentioning the right-of-way scenario.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's conclusion that there will be no interaction between the ego agent and surrounding agent #2 is entirely correct and aligns perfectly with the ground truth answer. The reasoning correctly identifies that the two agents are moving in opposite directions and are on separate trajectories, which means they will not interact.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is entirely consistent with its conclusion. The analysis of positions, speeds, directions, and motion statuses logically supports the conclusion that there will be no interaction between the ego agent and surrounding agent #2. The reasoning is sound and complete.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses a key detail from the ground truth. The ground truth explicitly mentions the ego agent's intention to prepare to yield to surrounding agent #0, which the AI did not address. However, the AI correctly identifies the ego agent's intention to decelerate for the speed bump and crosswalk and to proceed cautiously towards the intersection.", + "Faithfulness score": "9", + "Faithfulness explanation": "The conclusions drawn by the AI are largely consistent with its reasoning. The AI logically connects the ego agent's deceleration, the presence of the speed bump and crosswalk, and the need to proceed cautiously. However, the omission of yielding to surrounding agent #0 slightly detracts from the faithfulness to the context provided.", + "problem_score_avg": "8.5" + } + } + }, + "119379efe682b6f6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but includes unnecessary details and missteps. The ground truth correctly states that surrounding agent #0 will yield to the ego agent because it is at a stop sign. However, the AI overcomplicates the scenario by discussing collision courses, speed adjustments, and trajectory planning, which are not directly relevant to the simple yielding behavior dictated by the stop sign.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent but introduces irrelevant considerations. While it correctly identifies that surrounding agent #0 is at a stop sign and will stop, it diverges by discussing potential hazards and complex navigation strategies, which are not supported by the straightforward traffic rule that governs the interaction. This detracts from the faithfulness of the reasoning.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. However, the AI speculates about potential future interactions that are not supported by the context, such as surrounding agent #2 possibly resuming movement, which detracts from the correctness.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the facts provided, but it introduces unnecessary assumptions, such as the possibility of surrounding agent #2 moving again, which is not mentioned in the context. This makes the reasoning less faithful to the given information.", + "problem_score_avg": "6.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's conclusion that the ego agent may need to navigate around or yield to surrounding agent #3 is incorrect. The ground truth states there will be no interaction because the two agents are not moving towards each other and are on different sides of the intersection. The AI overcomplicates the scenario by introducing unnecessary considerations about potential yield decisions or movements.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, but it fails to align with the simplicity of the ground truth. While the AI correctly identifies the positions and motion statuses of the agents, it deviates by introducing speculative interactions that are not supported by the given context, leading to a conclusion that is not faithful to the straightforward scenario.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #4, which aligns with the ground truth answer. The reasoning provided by the AI is accurate and supports this conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The conclusions drawn in the AI's answer are consistent with its reasoning. The AI accurately analyzes the positions, movements, and distances of the agents, and the final conclusion logically follows from this analysis.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #5. Both the AI and the ground truth agree that the agents are not moving towards each other and are on the same side of the intersection, hence no interaction is expected.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. The AI logically analyzes the positions, speeds, and distances of the ego agent and surrounding agent #5, and correctly concludes that no interaction will occur as the surrounding agent is stationary and positioned behind the ego agent.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key detail that the ego agent is exiting the intersection, which is crucial for understanding the interaction. The AI acknowledges that surrounding agent #6 is stationary and not a direct obstacle, but it does not explicitly state that surrounding agent #6 will yield to the ego agent, as per the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI correctly analyzes the positions, speeds, and statuses of both agents and logically concludes that the interaction will be non-confrontational. However, it could have been more precise in aligning its conclusion with the ground truth by emphasizing the yielding behavior more explicitly.", + "problem_score_avg": "7.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it concludes that there will be no interaction between the ego agent and surrounding agent #7, which contradicts the ground truth. The ground truth states that surrounding agent #7 will yield to the ego agent as it is not moving and the ego agent is exiting the intersection. The AI fails to recognize this yielding behavior.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the details provided, but it misses the crucial point about yielding behavior. The AI correctly analyzes the positions, speeds, and motion statuses but fails to draw the correct conclusion about the interaction based on the context.", + "problem_score_avg": "5.0" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth that the ego agent does not need to yield to any surrounding agents because they are either not moving or will yield to the ego agent due to their stop sign positions. The AI correctly identifies the deceleration and the need to navigate the speed bump but overcomplicates the scenario by suggesting cautious assessment of surrounding traffic, which is not required according to the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly interprets the deceleration, the approach to the speed bump, and the presence of surrounding vehicles. However, the conclusion about assessing surrounding traffic for potential risks is not fully faithful to the context, which explicitly states that the ego agent does not need to yield to any surrounding agents.", + "problem_score_avg": "7.5" + } + } + }, + "11958515bd0f0efa": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but fails to fully align with the ground truth. The ground truth explicitly states that surrounding agent #0 will yield to the ego agent, which the AI does not directly state. Instead, the AI suggests that the ego agent will stop and allow the surrounding agent #0 to proceed, which is the opposite of the ground truth. The AI also speculates about traffic control rules for surrounding agent #0, which is not addressed in the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is generally consistent with the conclusions drawn. It correctly identifies the ego agent's obligation to stop at the stop sign and notes the deceleration of surrounding agent #0, which aligns with the possibility of yielding. However, the AI's conclusion that the ego agent will wait for surrounding agent #0 to proceed is not fully supported by the reasoning, as it does not explicitly acknowledge the yielding behavior of surrounding agent #0 as per the ground truth.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's conclusion that the ego agent will yield to surrounding agent #1 is incorrect. The ground truth states that surrounding agent #1 will yield to the ego agent, as the ego agent is approaching a stop sign and has the right of way by being on the right of the intersection. The AI misinterprets the right-of-way rules and the impact of the stop sign.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its conclusions, as it correctly analyzes the positions, speeds, and control devices of both agents. However, the final conclusion is flawed due to a misunderstanding of traffic rules, which affects the overall faithfulness in terms of alignment with the context.", + "problem_score_avg": "5.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #3 because agent #3 is stationary and positioned behind the ego agent.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and supports its conclusion well. It correctly analyzes the positions, speeds, and potential interactions. However, it slightly overcomplicates the explanation by discussing potential future interaction and observation, which is unnecessary given the straightforward nature of the scenario.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately concludes that there will be no interaction between the ego agent and surrounding agent #4, as agent #4 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent and logically sound. It systematically analyzes the positions, movements, and distances of both the ego agent and surrounding agent #4, and its conclusions are well-supported by the details provided in the context.", + "problem_score_avg": "10.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer, which states the same conclusion. The reasoning provided by the AI is thorough and accurate, leading to the correct conclusion.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows the provided context. The AI correctly analyzes the positions, motions, and traffic control features to conclude that no interaction will occur. The conclusions drawn are well-supported by the reasoning, making the answer faithful to the context provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will decelerate, stop at the stop sign, and proceed with caution, considering the speed bump. However, it does not explicitly mention that surrounding agents #0 and #1 will yield to the ego agent, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It accurately analyzes the ego agent's context, surrounding agents, and traffic control features, leading to a logical conclusion about the ego agent's actions. The only minor discrepancy is the lack of explicit mention of yielding agents, but this does not significantly detract from the overall faithfulness of the reasoning.", + "problem_score_avg": "8.5" + } + } + }, + "119646e17481bd19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses the key point in the ground truth. While it correctly identifies that surrounding agent #0 is stationary and at a stop sign, it fails to acknowledge that surrounding agent #0 will yield to the ego agent, which is critical to the ground truth. The ground truth emphasizes the yielding behavior, which the AI's conclusion overlooks.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided and logically sound. It correctly analyzes the positions, speeds, and traffic control devices to conclude that there will be no collision. However, it does not explicitly address the yielding behavior, which slightly deviates from the complete reasoning expected from the context.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is mostly correct but introduces unnecessary complexity and potential confusion by suggesting a traffic conflict could arise if surrounding agent #1 does not stop, which is not supported by the ground truth. The ground truth clearly states that surrounding agent #1 will yield to the ego agent, as it is further from the intersection and the ego agent is already exiting the intersection. The AI's conclusion aligns but includes speculative scenarios that are not part of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions. It accurately analyzes the positions, speeds, and traffic control devices and correctly identifies that surrounding agent #1 needs to yield. However, the introduction of a potential conflict if surrounding agent #1 does not stop is unsupported by the provided context and slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key details. The ground truth specifies that the ego agent is already in the process of exiting the intersection and that surrounding agents will yield to it, indicating no need for the ego agent to slow down or yield. However, the AI suggests the ego agent should slow down, yield, and assess, which contradicts the ground truth. The AI's focus on caution and yielding is unnecessary given the context.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It logically evaluates the ego agent's position, surrounding agents, and traffic control devices, leading to a cautious plan emphasizing yielding and assessment. However, the reasoning does not fully align with the ground truth, as it overlooks the ego agent's priority in exiting the intersection and the yielding behavior of surrounding agents.", + "problem_score_avg": "7.0" + } + } + }, + "1196efe81489ec7b": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but deviates from the ground truth. While it correctly identifies that surrounding agent #0 is moving in the same direction and is accelerating, it incorrectly concludes that surrounding agent #0 will overtake the ego agent. The ground truth states that surrounding agent #0 will simply follow the ego agent, not overtake it. The AI's focus on overtaking introduces inaccuracy.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is largely faithful to the provided context. It considers the positions, speeds, directions, and traffic light status of both agents logically. However, the conclusion about overtaking is not entirely consistent with the reasoning, as the context does not explicitly indicate a need for overtaking, only following.", + "problem_score_avg": "8.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer fails to address the ground truth answer, which clearly states that surrounding agent #1 will lead the ego agent since it is in front and moving in the same direction. The AI does not make this connection and instead speculates on various hypothetical scenarios due to a lack of specific information about agent #1, which is not relevant to the provided context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is internally consistent and logically structured, but it does not align with the provided context or ground truth. The AI correctly identifies the need for specific information about agent #1 and discusses potential scenarios, but it fails to infer or align with the actual interaction described in the ground truth.", + "problem_score_avg": "3.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to address the question about surrounding agent #2, which is the focus of the query. Instead, it discusses agents #0, #3, and #9, which are irrelevant to the question. The AI should have acknowledged the lack of information about agent #2 directly and refrained from speculating about unrelated agents.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent but unfocused. While the AI correctly analyzes the ego agent's behavior and the dynamics of unrelated agents (#0, #3, and #9), it strays from the question by not addressing the specific agent (#2) in question. The conclusions drawn are logical within the context of the unrelated agents but are not faithful to the question asked.", + "problem_score_avg": "3.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's conclusion that the ego agent and surrounding agent #3 will likely not interact is correct, aligning with the ground truth. However, the AI unnecessarily complicates the scenario by introducing speculative details (e.g., surrounding agent #3 yielding or waiting) that are not supported by the context. The ground truth simplifies the interaction by stating that surrounding agent #3 is not in the path of the ego agent, which is sufficient.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion, but it includes assumptions (e.g., surrounding agent #3 yielding or waiting) that are not directly supported by the provided context. The reasoning could have been more concise and focused on the key point: surrounding agent #3 is not in the path of the ego agent, ensuring no interaction.", + "problem_score_avg": "6.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the ground truth answer, which states that surrounding agent #4 will pass the ego agent as they are heading in opposite directions. The AI incorrectly concludes that the interaction cannot be determined due to a lack of information, despite the ground truth providing a clear scenario.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is partially faithful. The AI logically analyzes the scenario and acknowledges the need for more information to make a definitive conclusion, which is consistent with the incomplete information provided. However, it does not align with the ground truth, which implies that there was sufficient context to determine the interaction.", + "problem_score_avg": "3.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize the ground truth interaction, which states that surrounding agent #6 will pass the ego agent. The AI incorrectly concludes that no interaction can be determined due to a lack of information, even though the ground truth provides a specific outcome.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It correctly identifies the lack of information about surrounding agent #6 and logically concludes that no interaction can be predicted without that data. The reasoning process is faithful to the available information.", + "problem_score_avg": "5.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to address the ground truth, which states that surrounding agent #7 will pass the ego agent as they are heading in opposite directions. The AI states that it cannot determine the interaction due to lack of information about surrounding agent #7, which contradicts the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and logical. It correctly identifies the lack of information about surrounding agent #7 and provides a detailed analysis of the available data about the ego agent and other surrounding agents. The conclusions drawn are faithful to the information provided in the context.", + "problem_score_avg": "5.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer fails to align with the ground truth, which states that surrounding agent #8 will pass the ego agent as they are heading in opposite directions. The AI correctly identifies the lack of information about agent #8 but does not provide the correct prediction based on the ground truth.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically analyzes the available data, acknowledges the absence of information about agent #8, and concludes that no interaction can be predicted without further details. The reasoning is sound and faithful to the information provided.", + "problem_score_avg": "5.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The ground truth answer states there will be no interaction between the ego agent and surrounding agent #9 because agent #9 is not moving. However, the AI's answer incorrectly suggests that an interaction could occur if agent #9 decides to move, which contradicts the ground truth and the provided context that agent #9 is stationary.", + "Faithfulness score": "3", + "Faithfulness explanation": "The AI's reasoning starts with an accurate analysis of the agents' positions and motion status but ultimately draws an incorrect conclusion. The conclusion is inconsistent with the provided context that agent #9 is stationary, leading to a speculative scenario that does not align with the facts presented. The reasoning is not faithful to the context's specifics.", + "problem_score_avg": "2.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it concludes that the interaction is uncertain due to a lack of information about surrounding agent #10. However, the ground truth clearly states that surrounding agent #10 will pass the ego agent as they are heading in opposite directions, indicating that the AI failed to infer the correct scenario despite the lack of explicit details.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically analyzes the available information, acknowledges the lack of data about surrounding agent #10, and correctly states that the interaction cannot be determined without more details. The reasoning is faithful to the information provided, but it does not align with the ground truth.", + "problem_score_avg": "4.5" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there was no information provided about surrounding agent #11 in the context. Without this information, the AI could not make any assertions about the interaction between the ego agent and surrounding agent #11. The ground truth answer provided an interaction scenario, but it was not supported by the given context, making the AI's answer correct in stating the lack of information.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning was consistent and faithful to the provided context. It systematically pointed out the missing information required to determine the interaction and concluded that no prediction could be made due to the lack of data. The reasoning was clear, logical, and aligned with the absence of details about surrounding agent #11.", + "problem_score_avg": "10.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI failed to address the ground truth answer, which states that surrounding agent #12 will pass the ego agent as they are heading in opposite directions. The AI explicitly mentioned the lack of information about agent #12 and did not provide any relevant conclusion, thus the score is low.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It correctly identified the lack of data about surrounding agent #12 and concluded that no specific interaction could be determined without additional details. The reasoning is faithful to the available context.", + "problem_score_avg": "5.5" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly identified that there is no information provided about surrounding agent #13 in the given context. The ground truth answer assumes the existence of surrounding agent #13 but does not provide any additional information either. Therefore, the AI's response is correct in stating that no interaction can be determined without more information.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent and logical. It correctly identifies the lack of information about surrounding agent #13 and states that without details such as type, speed, location, and relationship to the intersection and the ego agent, no interaction can be assessed. The conclusions drawn are faithful to the reasoning provided.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI answer is incorrect because it fails to acknowledge the ground truth answer provided, which explicitly states that surrounding agent #14 will pass the ego agent as they are heading in opposite directions. The AI incorrectly concludes that it cannot determine the interaction due to lack of information, conflicting with the known ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is largely consistent and logical, given the information provided. The AI correctly identifies the limitations due to the lack of data on surrounding agent #14. However, it does not align with the ground truth, which suggests the AI did not consider the possibility of inferring the interaction based on the given answer.", + "problem_score_avg": "4.5" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize the ground truth interaction, which states that surrounding agent #15 will pass the ego agent as they are heading in opposite directions. The AI's inability to derive this conclusion is due to its assumption that no information about surrounding agent #15 was provided, which is not the case in the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is largely consistent with its analysis. It correctly identifies the lack of explicit information about surrounding agent #15 and logically concludes that without such details, predicting the interaction is impossible. However, it fails to account for the implicit information in the ground truth, which affects the overall faithfulness.", + "problem_score_avg": "4.0" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth by correctly identifying that the ego agent will continue exiting the intersection at a constant speed. However, it fails to mention surrounding agents #4, #6, #7, #8, #10, #11, #12, #13, #14, and #15, which are all heading in the opposite direction. Additionally, it does not explicitly state that the ego agent will overtake surrounding agent #2, as mentioned in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions. It correctly analyzes the positions and behaviors of surrounding agents #0, #3, and #9 and ties them to the ego agent's plan of action. However, it unnecessarily emphasizes potential risks from surrounding agent #3, which is not a concern in the ground truth, and overlooks the interaction with other agents.", + "problem_score_avg": "7.0" + } + } + }, + "119801330046ff49": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct. It correctly identifies that surrounding agent #0 will yield to the ego agent due to the stop sign. However, the AI's conclusion about the timing of the interaction is overly detailed and somewhat speculative. The ground truth answer focuses on the key point without unnecessary elaboration, which makes it more accurate and concise.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. The AI logically deduces the expected behavior of both agents based on their positions, speeds, and traffic rules. The conclusions drawn align well with the reasoning, though some details (like the exact timing of movements) are not strictly necessary for answering the question.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the ego agent is planning to complete its left turn and exit the intersection. However, it does not explicitly mention that the ego agent will continue to decelerate, which is a key detail in the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The conclusions drawn by the AI are consistent with its reasoning. The AI accurately analyzes the ego agent's actions and the surrounding agent's behavior, though it could have been more specific about the ego agent's deceleration.", + "problem_score_avg": "8.5" + } + } + }, + "119996e0d9d0f141": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer does not accurately reflect the ground truth, which explicitly states that surrounding agent #0 will yield to the ego agent because of its position and the right-of-way rules. The AI's analysis focuses on possible collision risks and acceleration without clearly acknowledging the right-of-way dynamics or the yielding behavior, leading to a partial understanding of the scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is largely faithful to the provided scenario details. It carefully considers the positions, speeds, motion status, and trajectories of both agents. However, it fails to explicitly connect these observations to the right-of-way rules or yielding behavior, which slightly detracts from the consistency of its conclusions with the reasoning.", + "problem_score_avg": "6.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that the ego agent should yield to the pedestrian. The AI hints at the need for the ego agent to maintain safety but does not explicitly state yielding as the correct action, which is crucial in this scenario.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It correctly analyzes the positions, speeds, and directions of both agents and concludes that the ego agent must maintain awareness of the pedestrian. However, the conclusion could have been more explicitly tied to the need for yielding, which slightly reduces faithfulness.", + "problem_score_avg": "6.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer fails to correctly identify the expected interaction between the ego agent and surrounding agent #201. The ground truth explicitly states that the ego agent will yield to the pedestrian, as the pedestrian is on the same side of the intersection and heading towards the intersection center, indicating a potential crossing path. However, the AI concludes that the ego agent will pass closely by the pedestrian without acknowledging the need to yield, which is incorrect given the scenario.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the data provided, analyzing the positions, speeds, and trajectories of the ego agent and the pedestrian. However, it fails to draw the critical conclusion that the ego agent should yield to the pedestrian, which is a significant oversight. While the reasoning is logical, it does not fully align with the expected interaction as described in the ground truth.", + "problem_score_avg": "5.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but includes unnecessary details about the ego agent passing by surrounding agent #2, which is not relevant since surrounding agent #2 is not moving and posed no threat. The ground truth answer focuses on the lack of interaction, which is more concise and accurate.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, but it slightly strays from the core point by overanalyzing the dynamics of the interaction. The conclusion that there will be safe passage is correct, but the reasoning could have been more focused on the stationary nature of surrounding agent #2.", + "problem_score_avg": "7.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct in stating that there will be no interaction between the ego agent and surrounding agent #3. However, it slightly misses the emphasis in the ground truth that surrounding agent #3 is on the same side of the intersection, which is an important detail.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It correctly analyzes the positions, speeds, and motion statuses of both agents and logically concludes that there will be no interaction. The reasoning is thorough and aligns well with the final conclusion.", + "problem_score_avg": "9.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #4. However, the AI suggests a potential collision or avoidance maneuver, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the conclusions drawn, but it incorrectly assumes a potential interaction. The AI correctly identifies the positions and motion statuses of the agents but fails to interpret the scenario accurately, leading to an incorrect conclusion.", + "problem_score_avg": "3.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer does not align with the ground truth. While the AI correctly analyzes the speed, position, and movement of the ego agent and surrounding agent #202, it fails to conclude that the ego agent will yield to the pedestrian. Instead, it speculates on potential outcomes like passing or adjusting speed, which contradicts the ground truth that the ego agent will yield due to the pedestrian's position and heading.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It logically analyzes the speed, position, and potential interactions between the ego agent and the pedestrian. However, the final conclusion does not fully align with the reasoning, as it does not explicitly state that the ego agent will yield, which is the logical outcome given the circumstances.", + "problem_score_avg": "5.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent intends to continue moving straight at a constant speed. However, it fails to explicitly mention the need for the ego agent to yield to pedestrians #200, #201, and #202, which is a crucial part of the ground truth answer. The AI also correctly notes that the stationary vehicles do not pose an immediate concern, but the omission of the pedestrian interaction lowers the score.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It logically analyzes the ego agent's speed, position, and the positions of surrounding agents, concluding that the ego agent will continue straight. However, the reasoning does not fully address the potential interaction with pedestrians, which slightly detracts from the faithfulness of the conclusion.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp3.json b/grades/direct/deepseek_grades_direct_direct_exp3.json deleted file mode 100644 index 464304b..0000000 --- a/grades/direct/deepseek_grades_direct_direct_exp3.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "10308c69cdc96a4": { - "Interactions_0": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's conclusion that the ego agent will pass surrounding agent #0 is incorrect. The ground truth states that surrounding agent #0 will lead the ego agent as it is slower but ahead on the same lane, and both are heading towards the intersection. The AI missed the context that surrounding agent #0 is departing the intersection, which implies it will continue moving away, not allowing the ego agent to pass.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It analyzes the speeds, positions, and trajectories of both agents and logically deduces the possibility of the ego agent passing surrounding agent #0. However, the reasoning fails to incorporate the critical detail that surrounding agent #0 is departing the intersection, which significantly impacts the interaction.", - "problem_score_avg": "5.0" - } - }, - "Interactions_1": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will overtake surrounding agent #1, which contradicts the ground truth that there will be no interaction. The AI failed to recognize that the agents are on different lanes and their paths do not cross.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning is somewhat consistent with the analysis provided, but it inaccurately concludes an overtaking scenario. The AI correctly identifies the speeds and directions but misses the key point about the lanes being different, leading to a faulty conclusion.", - "problem_score_avg": "4.0" - } - }, - "Interactions_2": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect. The ground truth indicates that surrounding agent #3 will follow the ego agent, but the AI incorrectly concluded that there could be a potential collision. The AI failed to recognize that surrounding agent #3 is not on the same lane as the ego agent, which contradicts the ground truth's assertion.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided context, as it correctly identifies surrounding agent #3's stationary state and position relative to the ego agent. However, it misinterprets the interaction by focusing on potential collision rather than recognizing the lane difference, which is inconsistent with the ground truth.", - "problem_score_avg": "4.0" - } - }, - "Interactions_3": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI incorrectly predicts a potential future interaction between the ego agent and surrounding agent #4, whereas the ground truth explicitly states there will be no interaction. The AI's conclusion contradicts the ground truth, which is based on the fact that the agents are on different lanes and their paths do not cross.", - "Faithfulness score": "4", - "Faithfulness explanation": "The AI's reasoning is partially consistent with the information provided, but it incorrectly assumes potential future interactions without sufficient evidence. The conclusion drawn by the AI does not fully align with the reasoning, as it fails to recognize the key detail that the agents are on different lanes and their paths do not intersect.", - "problem_score_avg": "3.0" - } - }, - "Interactions_4": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer incorrectly assumes a potential conflict or interaction between the ego agent and surrounding agent #5. The ground truth explicitly states there will be no interaction since they are on different lanes and their paths do not cross. The AI's conclusion is incorrect based on the provided context.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the analysis but ultimately diverges from the key detail in the context\u2014that their paths do not cross. The AI's assumption of potential conflict contradicts the context, making the reasoning unfaithful to the actual scenario.", - "problem_score_avg": "3.5" - } - }, - "Interactions_5": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer is partially incorrect. While it correctly identifies that the ego agent and surrounding agent #6 are on the same lane and traveling in the same direction, it incorrectly states that surrounding agent #6 is stationary and does not pose an immediate interaction risk. The ground truth answer indicates that surrounding agent #6 will follow the ego agent, implying it is moving or will move, which contradicts the AI's assertion that it is not moving.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly analyzes the positions and directions of the agents but fails to consider the possibility that surrounding agent #6 might move or follow the ego agent, as indicated in the ground truth. The reasoning is faithful to the information it considers, but it misses a critical aspect, which affects the overall correctness.", - "problem_score_avg": "5.0" - } - }, - "Interactions_6": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. This aligns with the ground truth answer, which states that they are on different lanes and there is no indication of their paths crossing.", - "Faithfulness score": "8", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately notes that surrounding agent #7 is stationary and the ego agent is accelerating, leading to no interaction. However, the AI could have explicitly mentioned the different lanes, which is a key point in the ground truth answer.", - "problem_score_avg": "9.0" - } - }, - "Interactions_7": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect as it suggests a potential collision or close call between the ego agent and surrounding agent #8, while the ground truth clearly states that there will be no interaction since they are heading in opposite directions and their paths do not cross. The AI's analysis is flawed in considering relative speed and potential collision risks, which are irrelevant in this scenario.", - "Faithfulness score": "4", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent but misses the key point that the agents are moving in opposite directions and their paths do not intersect. While the AI correctly identifies their speeds and directions, it incorrectly infers a collision risk, which contradicts the logical conclusion that no interaction will occur. The reasoning is partially faithful but ultimately inaccurate.", - "problem_score_avg": "3.0" - } - }, - "Interactions_8": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's conclusion that a potential collision is likely between the ego agent and surrounding agent #9 is incorrect. The ground truth clearly states that there will be no interaction between them as they are on different lanes and there is no indication of their paths crossing. The AI failed to accurately assess the spatial relationship and potential for interaction.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, but it overlooks critical details. While it correctly notes the speed and acceleration of both agents, it fails to adequately consider the lane positions and the fact that their paths do not intersect. The conclusion of a potential collision is not fully supported by the reasoning provided.", - "problem_score_avg": "3.5" - } - }, - "Interactions_9": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer correctly identifies that there is no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is stationary and there is no indication of their paths crossing, which aligns perfectly with the ground truth answer.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It accurately analyzes the status, location, and direction of surrounding agent #10 and correctly concludes that there is no interaction with the ego agent.", - "problem_score_avg": "10.0" - } - }, - "Interactions_10": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction between the ego agent and surrounding agent #11, such as merging or collision. However, the ground truth explicitly states that no interaction is anticipated as they are on different lanes and their paths do not cross. The AI's conclusion is incorrect.", - "Faithfulness score": "4", - "Faithfulness explanation": "The reasoning provided by the AI is inconsistent with its conclusions. While it correctly identifies the positions and speeds of the agents, it incorrectly infers potential interactions like merging or collision, which are not supported by the context. The reasoning does not logically lead to the conclusion drawn.", - "problem_score_avg": "3.0" - } - }, - "Interactions_11": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #12 is on the same lane and will follow the ego agent, as per the ground truth. The AI incorrectly concludes that surrounding agent #12 is stationary and that the ego agent will pass it, which contradicts the ground truth.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided about surrounding agent #12 being stationary, but it does not align with the ground truth that agent #12 is following the ego agent. The AI's conclusions are faithful to its interpretation of the data, but that interpretation is incomplete.", - "problem_score_avg": "5.0" - } - }, - "Interactions_12": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer incorrectly predicts a potential conflict or hazardous situation between the ego agent and surrounding agent #13. The ground truth clearly states that there will be no interaction as they are heading in opposite directions with no indication of their paths crossing. The AI's analysis misinterprets the directions and potential interaction, leading to an incorrect conclusion.", - "Faithfulness score": "5", - "Faithfulness explanation": "The AI's reasoning is partially consistent with its analysis but fails to correctly interpret the directions of travel. While it correctly identifies the speeds and positions of both agents, it incorrectly assumes a potential conflict due to a misunderstanding of their trajectories. The conclusion drawn is not fully faithful to the reasoning provided, as it overlooks the critical detail of the opposite directions of travel.", - "problem_score_avg": "3.0" - } - }, - "Interactions_13": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #14 due to their opposite directions and the lack of intersecting paths. However, it slightly misinterprets the scenario by suggesting they will 'pass each other,' which is not entirely accurate since they are moving away from each other rather than passing.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning provided by the AI is mostly consistent with the conclusions drawn. It accurately analyzes the direction, speed, and position of both agents. The only minor inconsistency is the mention of 'passing each other,' which is not entirely faithful to the context of their movement.", - "problem_score_avg": "8.5" - } - }, - "Interactions_14": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer suggests an overtaking maneuver, which is incorrect. The ground truth states that surrounding agent #15 will lead the ego agent as it is in front on the same lane and both are departing from the intersection. The AI misinterpreted the direction of travel, leading to an incorrect conclusion.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning is mostly consistent with the provided information, but the AI incorrectly interprets the direction of travel of the ego agent, leading to a flawed conclusion. The steps followed are logical but based on a misinterpretation.", - "problem_score_avg": "6.0" - } - }, - "Interactions_15": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that surrounding agent #16 will have no interaction with the ego agent as they are heading in opposite directions and there is no indication of their paths crossing. The AI incorrectly inferred that the ego agent would likely overtake surrounding agent #16, which contradicts the ground truth.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful. The AI correctly analyzed the speed and acceleration of both agents but failed to consider the direction of travel correctly. The conclusion about overtaking is inconsistent with the direction of travel, which was not properly accounted for in the reasoning.", - "problem_score_avg": "3.5" - } - }, - "Interactions_16": { - "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI answer partially aligns with the ground truth but misses key details. It correctly identifies that the ego agent is accelerating and intends to continue forward. However, it fails to explicitly mention the ego agent's intention to lead and follow specific surrounding agents (e.g., #6, #0, and #15), which is a crucial part of the ground truth. The broader interpretation of potential lane changes or navigation through the intersection is speculative and not supported by the ground truth.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning in the AI answer is mostly consistent with the information provided. It correctly analyzes the ego agent's current velocity, acceleration, and lane position. However, it introduces speculative scenarios (e.g., lane changes) without sufficient evidence from the context. The conclusions are logically derived but lack precision in aligning with specific details in the ground truth.", - "problem_score_avg": "6.0" - } - } - } -} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp5.json b/grades/direct/deepseek_grades_direct_direct_exp5.json index ef28df9..b497e75 100644 --- a/grades/direct/deepseek_grades_direct_direct_exp5.json +++ b/grades/direct/deepseek_grades_direct_direct_exp5.json @@ -1,156 +1,156 @@ { "10308c69cdc96a4": { "Interactions_0": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer incorrectly concludes that the ego agent will overtake or collide with surrounding agent #0, which contradicts the ground truth stating that surrounding agent #0 will lead the ego agent. The AI failed to accurately interpret the direction of travel and the relative speeds in the context of the intersection dynamics.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is consistent with its analysis of the speeds, relative positions, and acceleration states. However, it misinterprets the direction of travel, leading to an incorrect conclusion. The reasoning process itself is logical but flawed in its application to the scenario.", - "problem_score_avg": "4.5" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but incorrectly states that surrounding agent #0 is decelerating, which contradicts the provided context. The AI also focuses on the ego agent slowing down, which, while a possible action, is not the primary interaction described in the ground truth. The ground truth emphasizes that surrounding agent #0 will lead the ego agent, which the AI does not explicitly address.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions, but it contains an error regarding the motion status of surrounding agent #0 (incorrectly stating it is decelerating instead of accelerating). This error affects the faithfulness of the reasoning. Otherwise, the logic of slowing down or changing lanes to avoid collision is consistent with the described scenario.", + "problem_score_avg": "5.5" } }, "Interactions_1": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect based on the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #1 because they are on different lanes, and their paths do not cross. However, the AI incorrectly concluded that there might be an interaction requiring lane management and speed control, which contradicts the ground truth.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning provided by the AI is partially consistent but ultimately flawed. The AI correctly identifies the speeds, positions, and motions of the ego agent and surrounding agent #1. However, it incorrectly extrapolates that these factors could lead to an interaction, ignoring the key detail from the ground truth that the lanes are different and paths do not cross. The reasoning does not fully align with the conclusion, leading to inconsistency.", - "problem_score_avg": "3.0" - } - }, - "Interactions_2": { - "deepinfra_models_microsoft/phi-4_modelname": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that surrounding agent #3 will follow the ego agent since they are both heading towards the intersection, but the AI concludes that there will be minimal interaction and that the ego agent will simply pass by. This contradicts the ground truth, which implies a following relationship rather than no interaction.", + "Correctness explanation": "The AI's answer is incorrect as it states that the ego agent and surrounding agent #1 are on the same lane, which is not true. The context clearly mentions that surrounding agent #1 is 11 meters on the right of the ego agent, indicating different lanes. The ground truth correctly identifies that there will be no interaction as they are on different lanes and their paths do not cross.", "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it analyzes the positions, speeds, and directions of the ego agent and surrounding agent #3. However, it fails to correctly interpret the implications of the ground truth, which suggests a following behavior rather than a passive passing scenario. The reasoning is logical but misaligned with the actual interaction described in the ground truth.", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its incorrect assumption that the agents are on the same lane. However, the conclusion about the need for the ego agent to maneuver is based on this faulty premise. The reasoning process itself is logical but misaligned with the actual context provided.", "problem_score_avg": "4.0" } }, + "Interactions_2": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion is incorrect. Surrounding agent #3 is not on the same lane as the ego agent, and the AI did not consider that the ego agent is moving forward while surrounding agent #3 is stationary. The ground truth correctly states that surrounding agent #3 is behind the ego agent but on the same lane, which the AI missed. The AI's conclusion that the ego agent will pass surrounding agent #3 by safely is incorrect as the ground truth indicates that surrounding agent #3 will follow the ego agent, implying a potential interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the information provided. The AI correctly notes that the ego agent is accelerating and that surrounding agent #3 is stationary and positioned behind and to the left of the ego agent. However, the conclusion that there will be no direct interaction is not fully supported by the reasoning, as the AI did not accurately interpret the relative positions and directions of travel of the two agents.", + "problem_score_avg": "4.5" + } + }, "Interactions_3": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's conclusion that the ego agent might pass or interact with surrounding agent #4 is incorrect. The ground truth clearly states that there will be no interaction because they are on different lanes and their paths do not cross. The AI failed to accurately assess the lane positions and the lack of potential path crossing.", - "Faithfulness score": "5", - "Faithfulness explanation": "The AI\u2019s reasoning is partially consistent with its conclusions but contains significant flaws. It correctly identifies the positions and motions of both agents but incorrectly infers a potential interaction due to proximity, despite the agents being on different lanes and their paths not crossing. The reasoning lacks clarity on the key point of lane separation.", - "problem_score_avg": "3.5" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's conclusion that the ego agent will pass surrounding agent #4 without significant interaction is correct. However, the AI introduces unnecessary hypothetical scenarios (e.g., vehicle width, lane markings, intersection rules) that are not relevant to the ground truth answer, which simply states there is no interaction due to different lanes and non-crossing paths.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, but it includes speculative elements (e.g., vehicle width, lane markings) that are not supported by the provided context. These additions slightly detract from the faithfulness of the reasoning to the given data.", + "problem_score_avg": "7.5" } }, "Interactions_4": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI answer incorrectly suggests potential interaction between the ego agent and surrounding agent #5, based on assumptions about lane changes and paths converging. The ground truth explicitly states there will be no interaction as they are on different lanes and their paths do not cross. The AI's conclusion is inconsistent with the facts provided.", + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it suggests that an interaction is expected where the ego agent overshoots surrounding agent #5. The ground truth states that there will be no interaction since they are on different lanes and there is no indication of their paths crossing.", "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its analysis, as it logically considers factors like lane positions, speeds, and intersection dynamics. However, it strays from the provided context by speculating on lane changes and potential interactions without evidence, which undermines the faithfulness to the given information.", - "problem_score_avg": "4.5" + "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, but it incorrectly assumes a potential interaction despite the agents being on different lanes. The conclusion does not align with the lack of path crossing, making the reasoning partially faithful but ultimately flawed.", + "problem_score_avg": "3.5" } }, "Interactions_5": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer incorrectly predicts a potential rear-end collision or pressure, which is not consistent with the ground truth. The ground truth states that surrounding agent #6 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. The AI's analysis overcomplicates the scenario and misinterprets the interaction.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it logically analyzes the positions and movements of both agents. However, the conclusion drawn is not fully supported by the provided context, leading to a less faithful alignment between reasoning and conclusion. The AI introduces unnecessary complexity and misinterprets the nature of the interaction.", - "problem_score_avg": "4.0" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #6 will follow the ego agent, as both are heading towards the intersection and agent #6 is behind the ego agent on the same lane. The AI incorrectly concluded a passing maneuver, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identified the positions of the ego agent and surrounding agent #6 and noted that the ego agent is accelerating. However, the conclusion of a passing maneuver is inconsistent with the fact that surrounding agent #6 is stationary and should follow the ego agent, not be passed by it.", + "problem_score_avg": "3.0" } }, "Interactions_6": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. The reasoning provided supports this conclusion by noting that surrounding agent #7 is stationary and positioned behind and to the left of the ego agent, with no indication of their paths crossing.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically leads to the conclusion. The AI correctly analyzes the positions, motion, and potential interactions, though it includes some speculative details (e.g., lane changes) that are not strictly necessary for the conclusion. Despite this, the core reasoning remains faithful to the provided context.", - "problem_score_avg": "9.5" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI incorrectly states that surrounding agent #7 is on the same lane as the ego agent, which contradicts the ground truth stating they are on different lanes. This fundamental error affects the correctness of the conclusion.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is consistent with the erroneous assumption that both agents are on the same lane. However, the conclusion that the ego agent will pass surrounding agent #7 without collision is logically derived from this incorrect premise, indicating partial faithfulness.", + "problem_score_avg": "5.0" } }, "Interactions_7": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's conclusion that surrounding agent #8 will interact with the ego agent by overtaking is incorrect. The ground truth states that there will be no interaction as they are heading in opposite directions and their paths do not cross. The AI misinterpreted the directions of travel, leading to an incorrect conclusion.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its analysis, but it fails to correctly interpret the directions of travel. While the AI correctly identified the speeds and relative positions, it incorrectly assumed the agents were moving in a similar direction. The conclusion of overtaking is logically consistent with this flawed assumption but does not align with the actual scenario.", + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests potential interactions between the ego agent and surrounding agent #8, such as lane changes or maintaining distance, which are not supported by the ground truth. The ground truth clearly states that there will be no interaction because they are heading in opposite directions and their paths do not cross. The AI's response fails to align with this conclusion.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially faithful but flawed. While it correctly identifies the relative positions and speeds of the agents, it incorrectly assumes potential interaction points (e.g., lane changes or maintaining distance) that are inconsistent with the context. The conclusions drawn are not fully supported by the reasoning, as the context explicitly indicates no interaction.", "problem_score_avg": "3.0" } }, "Interactions_8": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect as it concludes that the ego agent will likely overtake surrounding agent #9, while the ground truth clearly states there will be no interaction since they are on different lanes and their paths do not cross.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning is mostly faithful to the information provided, as the AI analyzes the positions, speeds, and directions of both agents. However, it incorrectly assumes the possibility of interaction despite the lane difference, which is a critical oversight.", - "problem_score_avg": "4.5" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly suggests a potential interaction or collision between the ego agent and surrounding agent #9, which contradicts the ground truth that there will be no interaction. The AI misinterprets the relative positions and trajectories, leading to an incorrect conclusion.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions but is based on flawed assumptions. While the steps logically lead to the AI's prediction of an interaction, the initial analysis of the agents' trajectories and relative positions is incorrect, leading to an unfaithful conclusion.", + "problem_score_avg": "3.0" } }, "Interactions_9": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer is largely correct in stating that there is no immediate interaction between the ego agent and surrounding agent #10 due to the latter's stationary state. However, the AI unnecessarily complicates the explanation by discussing potential future risks and relative distances, which are not relevant given the ground truth answer's straightforward conclusion.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions, but it includes speculative elements (e.g., potential future risks) that are not supported by the provided context. This detracts from the faithfulness of the reasoning, as the conclusions should strictly align with the given information without adding unnecessary assumptions.", - "problem_score_avg": "7.5" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #10, as the latter is not moving and their paths do not cross. The AI, however, incorrectly suggests that the ego agent is approaching agent #10 and implies a need for monitoring, which contradicts the ground truth.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning is partially faithful. The AI correctly identifies the positions and states of both agents but draws an incorrect conclusion. While the reasoning about the agents' positions and movements is consistent, the final conclusion about potential interaction is inconsistent with the facts provided, leading to a lower score.", + "problem_score_avg": "2.5" } }, "Interactions_10": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth states that there will be no interaction between the ego agent and surrounding agent #11 because they are on different lanes and their paths do not cross. However, the AI incorrectly concludes that the ego agent will likely overtake surrounding agent #11, assuming they are on the same lane. This is a fundamental error in interpreting the scenario.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusions but is based on a flawed premise. The AI assumes the vehicles are on the same lane, which is incorrect. While the logic about overtaking is internally consistent within this flawed assumption, the reasoning fails to align with the actual scenario provided in the context.", - "problem_score_avg": "4.0" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "1", + "Correctness explanation": "The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #11 because they are on different lanes and their paths do not cross. The AI's conclusion that the ego agent needs to yield is incorrect as it contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it considers the relative positions and motions of the agents. However, the reasoning fails to account for the fact that the agents are on different lanes and their paths do not intersect, which should have led to the correct conclusion of no interaction.", + "problem_score_avg": "3.5" } }, "Interactions_11": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer deviates significantly from the ground truth. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. However, the AI focuses on the risk of rear-end collision due to agent #12 being stationary, which is not aligned with the ground truth's emphasis on agent #12 following the ego agent.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly evaluates the positions and motion statuses of both agents and discusses potential risks based on those factors. However, it fails to align its conclusion with the ground truth's assertion about agent #12 following the ego agent, which slightly detracts from the faithfulness of the reasoning.", - "problem_score_avg": "5.5" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. However, the AI incorrectly concluded that the ego agent will pass surrounding agent #12, which contradicts the ground truth. Additionally, the AI incorrectly stated that agent #12 is stationary, which is not supported by the context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, but it is based on incorrect assumptions. The AI correctly identifies the positions and speeds of the ego agent and surrounding agent #12 but fails to interpret the context accurately. The conclusion about no immediate collision is logical based on the AI's assumptions, but the overall reasoning does not align with the ground truth.", + "problem_score_avg": "4.0" } }, "Interactions_12": { - "deepinfra_models_microsoft/phi-4_modelname": { + "deepinfra_models_google/gemma-2-9b-it_modelname": { "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect because it contradicts the ground truth, which states that there will be no interaction between the ego agent and surrounding agent #13. The AI's analysis falsely concludes a potential collision risk, despite the agents moving in opposite directions and their paths not crossing.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning is largely faithful to the provided context, as the AI correctly analyzes the speeds, positions, and trajectories of the agents. However, it fails to align its conclusion with the correct interpretation of the scenario, leading to an inconsistent final judgment.", - "problem_score_avg": "4.5" + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that there will be no interaction between the ego agent and surrounding agent #13 because they are heading in opposite directions and their paths do not cross. The AI incorrectly concluded that there is a collision risk and potential interaction, which contradicts the provided context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful but flawed. While it correctly analyzes the motion and trajectories of both agents, it fails to consider the key detail that they are heading in opposite directions and their paths do not intersect. This oversight leads to incorrect conclusions about potential collision risks and interactions.", + "problem_score_avg": "3.0" } }, "Interactions_13": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's conclusion is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #14 because they are heading in opposite directions and their paths do not cross. The AI, however, predicts a potential interaction involving lane changes or overtaking, which contradicts the ground truth.", - "Faithfulness score": "5", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion but is flawed. While it analyzes the positions, speeds, and directions of the agents, it misinterprets the data to suggest an interaction. The reasoning does not align with the key fact that the agents are moving in opposite directions and their paths do not intersect, which is critical to the correct conclusion.", - "problem_score_avg": "3.0" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it predicts an interaction between the ego agent and surrounding agent #14, while the ground truth explicitly states there will be no interaction because they are heading in opposite directions and their paths do not cross.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions, but the reasoning itself is flawed. It incorrectly assumes both agents are moving towards the intersection and that their paths may cross, leading to an incorrect prediction of interaction.", + "problem_score_avg": "4.0" } }, "Interactions_14": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "7", - "Correctness explanation": "The AI correctly identifies that surrounding agent #15 is ahead of the ego agent on the same lane and both are departing the intersection. However, the AI overcomplicates the explanation by introducing considerations like 'right of way,' 'traditional right-of-way context,' and 'unexpected maneuvers,' which are not directly relevant to the ground truth. The ground truth simply states that surrounding agent #15 will lead the ego agent, and the AI's additional analysis, while not incorrect, detracts from the simplicity of the scenario.", - "Faithfulness score": "9", - "Faithfulness explanation": "The AI's conclusions are consistent with its reasoning. It accurately describes the positions and movements of both agents and logically concludes that the ego agent will follow surrounding agent #15 without overtaking. The reasoning is thorough and aligns with the facts provided in the scenario. However, the slight deduction in score is due to the introduction of unnecessary elements (e.g., right-of-way considerations) that slightly deviate from the core interaction described in the ground truth.", - "problem_score_avg": "8.0" + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but contradicts the ground truth. The ground truth states that surrounding agent #15 will lead the ego agent as both are departing from the intersection, implying that the ego agent will follow. However, the AI suggests the ego agent will overtake surrounding agent #15, which is not aligned with the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It correctly identifies the relative positions and speeds of the agents and provides a logical analysis of the situation. However, the conclusion about overtaking is inconsistent with the ground truth.", + "problem_score_avg": "6.5" } }, "Interactions_15": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's conclusion that surrounding agent #16 will overtake the ego agent is incorrect. The ground truth states that there will be no interaction between the two agents as they are heading in opposite directions and their paths do not cross. The AI failed to correctly interpret the directional context and relative motion of the agents.", + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a significant interaction between the ego agent and surrounding agent #16, which contradicts the ground truth that there will be no interaction. The reasoning fails to consider that the agents are heading in opposite directions and their paths do not cross, leading to an incorrect conclusion.", "Faithfulness score": "4", - "Faithfulness explanation": "The reasoning provided by the AI is consistent internally but does not align with the ground truth. The AI's steps follow logically from its initial assumptions, but those assumptions are incorrect. Specifically, it misinterprets the direction of travel and relative positioning, leading to an erroneous conclusion.", - "problem_score_avg": "2.5" + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, but it overlooks critical details from the context, such as the opposite directions of travel and the lack of path intersection. This inconsistency makes the reasoning less faithful to the actual scenario.", + "problem_score_avg": "3.0" } }, "Interactions_16": { - "deepinfra_models_microsoft/phi-4_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer partially aligns with the ground truth. It correctly identifies that the ego agent intends to continue towards the intersection while accelerating and acknowledges the presence of Surrounding Agent #0 and #15. However, it incorrectly suggests potential lane changes or overtaking maneuvers, which are not mentioned in the ground truth. The AI also overcomplicates the scenario by introducing unnecessary details about potential collisions and lane changes, which are not part of the ego agent's intended action as per the ground truth.", + "deepinfra_models_google/gemma-2-9b-it_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but lacks specificity. It correctly identifies that the ego agent intends to proceed through the intersection and considers the movements of surrounding agents. However, it fails to explicitly mention the ego agent's intention to follow Surrounding Agent #0 and #15 and lead Surrounding Agent #6, as stated in the ground truth. Additionally, the AI overcomplicates the reasoning by introducing unnecessary considerations like traffic light status and road markings, which were not provided in the context.", "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the conclusions drawn. It logically analyzes the ego agent's acceleration and the positions of surrounding agents to infer the intended action. However, it extrapolates beyond the provided context by introducing scenarios like lane changes and overtaking, which are not explicitly supported by the ground truth. While the reasoning is thorough, it lacks strict adherence to the given information, leading to some unfaithful conclusions.", - "problem_score_avg": "6.5" + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It logically analyzes the ego agent's situation and the movements of surrounding agents, and its conclusion that the ego agent will proceed through the intersection aligns with the reasoning. However, the reasoning introduces speculative elements (e.g., traffic light status, road markings) that are not supported by the provided context, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "6.0" } } } diff --git a/grades/direct/deepseek_grades_direct_direct_exp6.json b/grades/direct/deepseek_grades_direct_direct_exp6.json index 738b1b4..464304b 100644 --- a/grades/direct/deepseek_grades_direct_direct_exp6.json +++ b/grades/direct/deepseek_grades_direct_direct_exp6.json @@ -1,570 +1,156 @@ { - "10658c943a882fd2": { + "10308c69cdc96a4": { "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { "Correctness score": "3", - "Correctness explanation": "The AI's answer is incorrect because it speculates on potential interactions and deceleration outcomes that are not supported by the ground truth. The ground truth clearly states that there will be no interaction, as the agents are stationary and not in the ego agent's path. The AI's analysis is unnecessarily complex and introduces assumptions not present in the context.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided context but goes beyond the necessary analysis. It correctly identifies positions and speeds but then diverges by speculating on deceleration outcomes and potential interactions that are not supported by the ground truth. The conclusions are overly detailed and not fully aligned with the simplicity of the actual scenario.", - "problem_score_avg": "4.5" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect. While it does not directly contradict the ground truth, it unnecessarily complicates the scenario by introducing potential interactions that do not exist. The core point is that there will be no interaction, which the AI fails to clearly acknowledge.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning is partially faithful but inconsistent. The AI correctly identifies that surrounding agent #2 is not moving and faces the opposite direction, but it then elaborates on potential interactions that do not align with this conclusion, leading to an unfocused and overcomplicated analysis.", - "problem_score_avg": "3.5" - } - }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer incorrectly anticipates interaction between the ego agent and surrounding agent #3, despite the ground truth stating there will be no interaction. The AI's reasoning is flawed because it suggests potential adjustments or monitoring, which are unnecessary given the stationary and non-intrusive position of surrounding agent #3.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning is somewhat consistent internally, as it logically follows from the assumptions made about possible interactions due to deceleration and positioning. However, the conclusions drawn are inconsistent with the actual scenario, which clearly indicates no interaction is needed. The AI's reasoning is faithful to its assumptions but not to the ground truth.", - "problem_score_avg": "4.5" - } - }, - "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's conclusion that no immediate interaction will occur is correct, but the reasoning is overly verbose and includes unnecessary analysis of potential future scenarios (e.g., surrounding agent #4 starting to move) that are not relevant to the ground truth answer. The ground truth explicitly states there will be no interaction due to both agents being stationary and not in the ego agent's path, which the AI could have succinctly stated.", + "Correctness explanation": "The AI's conclusion that the ego agent will pass surrounding agent #0 is incorrect. The ground truth states that surrounding agent #0 will lead the ego agent as it is slower but ahead on the same lane, and both are heading towards the intersection. The AI missed the context that surrounding agent #0 is departing the intersection, which implies it will continue moving away, not allowing the ego agent to pass.", "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that no immediate interaction will occur. However, the reasoning includes speculative and irrelevant details (e.g., potential future movements of surrounding agent #4) that do not align with the simple and direct nature of the ground truth answer. The conclusion is faithful to the reasoning, but the reasoning itself is not optimally focused.", - "problem_score_avg": "5.5" - } - }, - "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #5 because they are not moving and not in the path of the ego agent. However, the AI incorrectly anticipates a potential interaction based on the closing distance and suggests caution, which is unnecessary and contrary to the ground truth.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but is flawed given the context. The AI correctly identifies the positions and directions of the agents but misinterprets the implications. Its reasoning about closing distance and caution is not consistent with the actual scenario, where no interaction is expected.", - "problem_score_avg": "4.5" - } - }, - "Interactions_5": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's conclusion that the ego agent is likely preparing to stop is incorrect. The ground truth states that the ego agent intends to accelerate and continue on its path, as there are no interactions with surrounding agents or traffic controls. The AI misinterpreted the deceleration as a sign of stopping rather than assessing the need to accelerate.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the provided data. It correctly analyzed the deceleration and the stationary nature of surrounding agents. However, it failed to consider the broader context that the ego agent might accelerate after assessing the situation, leading to a conclusion that is not fully faithful to the implications of the data.", - "problem_score_avg": "4.5" - } - } - }, - "1066d80d79a13a16": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer is mostly correct in identifying that surrounding agent #0 will yield to the ego agent, as the ego agent has the right of way due to the green light. However, the answer could have been more concise and focused, as it includes unnecessary details about potential outcomes that do not align with the ground truth answer.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning is largely consistent with the conclusions drawn, but the AI introduces speculative scenarios (e.g., surrounding agent #0 misjudging and causing a conflict) that are not supported by the context. This detracts from the faithfulness of the reasoning, as it strays from the straightforward interaction described in the ground truth.", - "problem_score_avg": "7.5" + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusion. It analyzes the speeds, positions, and trajectories of both agents and logically deduces the possibility of the ego agent passing surrounding agent #0. However, the reasoning fails to incorporate the critical detail that surrounding agent #0 is departing the intersection, which significantly impacts the interaction.", + "problem_score_avg": "5.0" } }, "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #2 may need to yield or be cautious, which contradicts the ground truth that there will be no interaction as they are heading in opposite directions and agent #2 is departing the intersection.", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will overtake surrounding agent #1, which contradicts the ground truth that there will be no interaction. The AI failed to recognize that the agents are on different lanes and their paths do not cross.", "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it evaluates the positions, speeds, and directions of both agents. However, it fails to correctly interpret the lack of interaction due to the opposite directions of travel, leading to an incorrect conclusion.", + "Faithfulness explanation": "The reasoning is somewhat consistent with the analysis provided, but it inaccurately concludes an overtaking scenario. The AI correctly identifies the speeds and directions but misses the key point about the lanes being different, leading to a faulty conclusion.", "problem_score_avg": "4.0" } }, "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer aligns closely with the ground truth but misses the explicit mention of the ego agent having the right of way and not needing to yield to surrounding agents due to their non-conflicting paths. It correctly identifies the ego agent's intention to proceed straight but could have been more precise about the right of way.", - "Faithfulness score": "9", - "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It accurately analyzes the intersection type, traffic light status, crosswalk position, and surrounding agents' behavior. The conclusion to proceed straight is well-supported by the reasoning, though it could have emphasized the right of way more explicitly.", - "problem_score_avg": "8.5" - } - } - }, - "10689839d1d6ff15": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #0 will yield to the ego agent because it is stationary at the stop sign. While the AI correctly notes that the ego agent must stop and assess the situation, it fails to explicitly state that surrounding agent #0 is yielding due to its stationary status. The answer is overly detailed but lacks precision regarding the primary interaction.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the context provided. It correctly analyzes the positions, speeds, and motion statuses of both agents and concludes that the ego agent must stop and assess the situation. However, the conclusion is somewhat verbose and does not directly align with the ground truth, which focuses on the yielding behavior of surrounding agent #0. The reasoning is faithful but could be more concise and precise.", - "problem_score_avg": "7.0" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI correctly concluded that there will be no interaction between the ego agent and surrounding agent #2, aligning perfectly with the ground truth answer. Its detailed analysis of positioning, movement, and proximity supports the conclusion that surrounding agent #2 poses no immediate threat due to its stationary state and the ego agent's acceleration and eventual stop at the stop sign.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning is mostly consistent, but it includes unnecessary details about the crosswalk and surrounding agent #200, which are irrelevant to the interaction between the ego agent and surrounding agent #2. However, the core reasoning about the lack of interaction due to positioning and movement remains faithful.", - "problem_score_avg": "9.5" - } - }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #3, as the latter is stationary and they are heading in opposite directions. However, the AI's reasoning includes unnecessary details about the stop sign and potential waiting scenarios, which deviate from the ground truth's straightforward explanation.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that there will be no immediate conflict. However, the reasoning includes speculative elements about the agents' behavior at the stop sign and who might proceed first, which are not supported by the provided context and slightly detract from the faithfulness of the response.", - "problem_score_avg": "7.5" - } - }, - "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 is also at a stop sign and should yield to the ego agent. The AI focuses on the ego agent stopping but does not correctly interpret the yielding behavior of surrounding agent #4 as per the ground truth.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its analysis. However, it fails to accurately conclude that surrounding agent #4 should yield, as inferred from the ground truth. The reasoning about the ego agent stopping and the potential interaction dynamics is logically sound but incomplete.", - "problem_score_avg": "6.0" - } - }, - "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { "Correctness score": "2", - "Correctness explanation": "The AI answer incorrectly predicts an interaction between the ego agent and surrounding agent #200, despite the ground truth stating there will be no interaction. The pedestrian is behind the ego agent and not in a position to cross paths, making the AI's conclusion incorrect.", + "Correctness explanation": "The AI's answer is incorrect. The ground truth indicates that surrounding agent #3 will follow the ego agent, but the AI incorrectly concluded that there could be a potential collision. The AI failed to recognize that surrounding agent #3 is not on the same lane as the ego agent, which contradicts the ground truth's assertion.", "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but fails to accurately interpret the positional data. While it correctly notes the ego agent's speed and proximity to the stop sign, it misinterprets the pedestrian's position and likely interaction, leading to an unfaithful conclusion.", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided context, as it correctly identifies surrounding agent #3's stationary state and position relative to the ego agent. However, it misinterprets the interaction by focusing on potential collision rather than recognizing the lane difference, which is inconsistent with the ground truth.", "problem_score_avg": "4.0" } }, - "Interactions_5": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction between the ego agent and surrounding agent #5, while the ground truth explicitly states there will be no interaction. The AI misinterprets the scenario by assuming surrounding agent #5 is approaching the ego agent for a possible overtake or lane change, which contradicts the ground truth that they are on the same side and surrounding agent #5 is departing the intersection.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context, but it fails to align with the ground truth. The AI correctly analyzes positions, speeds, and motion statuses but incorrectly concludes an interaction based on these factors. The reasoning is internally consistent but not faithful to the actual scenario described in the ground truth.", - "problem_score_avg": "3.5" - } - }, - "Interactions_6": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer correctly identifies that the ego agent will decelerate and stop at the stop sign, considering the crosswalk and surrounding agents. However, it does not explicitly mention that the ego agent will yield to surrounding agents #0 and #4, which is part of the ground truth answer.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It systematically considers the intersection type, the ego agent's position and motion, the presence of the stop sign and crosswalk, and the behavior of surrounding agents, leading to the conclusion that the ego agent will stop at the stop sign. The reasoning is logical and supports the conclusion.", - "problem_score_avg": "8.5" - } - } - }, - "1068c27cceb21de5": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI correctly identifies that the surrounding agent #0 will pass the ego agent due to their opposite directions. However, the AI's analysis includes unnecessary scenarios like overtaking, yielding, and crossing interactions, which are not relevant given that the vehicles are heading in opposite directions and no such complexities are mentioned in the context.", - "Faithfulness score": "7", - "Faithfulness explanation": "While the AI's reasoning is detailed, it introduces speculative scenarios (e.g., overtaking, yielding) that are not supported by the given context. The conclusions drawn are somewhat inconsistent with the reasoning, as the final assessment downplays the likelihood of interaction despite the detailed exploration of potential conflicts.", - "problem_score_avg": "7.5" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer is completely correct and aligns with the ground truth. Both state that the ego agent will continue accelerating on its current lane, as there are no obstacles, traffic controls, or immediate threats from surrounding agents.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithfully supports the conclusion. It correctly analyzes the ego agent's motion, the position and direction of surrounding agent #0, and the absence of traffic controls to logically conclude that the ego agent will continue accelerating.", - "problem_score_avg": "10.0" - } - } - }, - "1069c268c8730c41": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer does not fully align with the ground truth, which states that surrounding agent #0 will yield to the ego agent because their paths do not intersect. The AI instead suggests potential risks and conflicts, which are not supported by the ground truth. However, the AI does correctly note that the agents are in opposite directions and that the ego agent is decelerating, which partly aligns with the ground truth.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is mostly consistent with the information provided. It correctly analyzes the positions, speeds, and directions of both agents. However, the conclusion about potential risks and conflicts is not fully faithful to the context, as the ground truth explicitly states that their paths do not intersect, and no conflict is anticipated.", - "problem_score_avg": "6.0" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer is partially correct but overly cautious. The ground truth states that the ego agent intends to continue through the intersection without stopping, as there are no stop signs, traffic lights, or interactions with surrounding agent #0. However, the AI suggests that the ego agent may yield or stop due to the surrounding vehicle, which is not supported by the ground truth. The AI\u2019s conclusion about cautious deceleration is plausible but not fully aligned with the actual intent of the ego agent.", - "Faithfulness score": "8", - "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It correctly identifies the ego agent's position, speed, and deceleration, as well as the presence of the surrounding vehicle. However, it overstates the potential need for the ego agent to yield or stop, which is not explicitly supported by the context. The reasoning is logical but slightly exaggerated in its conclusions.", - "problem_score_avg": "7.0" - } - } - }, - "1069f98a6c0e2a19": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer is mostly correct but overly complex. It correctly identifies that there is no direct collision risk and that surrounding agent #0 will follow the ego agent due to the same lane and green light. However, it introduces unnecessary details and scenarios, such as speed adjustments and communication cues, which are not directly relevant to the ground truth answer.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning is consistent but overly detailed and somewhat tangential. While the AI builds a logical argument, it includes speculative elements like communication systems and potential speed adjustments that are not supported by the context. This makes the conclusion less focused and faithful to the core reasoning.", - "problem_score_avg": "7.5" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer does not accurately reflect the ground truth. The ground truth states that surrounding agent #1 will yield to the ego agent, which is a clear interaction. However, the AI concludes that there will likely be no significant interaction, which contradicts the ground truth. The AI fails to emphasize the yielding behavior of surrounding agent #1 despite recognizing the speed and distance differences.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning provided by the AI is mostly consistent with the details given, but it misses a critical conclusion. While the AI correctly analyzes the positions, speeds, and traffic light status, it does not infer that surrounding agent #1 will yield to the ego agent, which is a key aspect of the scenario. The reasoning is logical but incomplete.", - "problem_score_avg": "5.0" - } - }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is departing from the intersection and heading in the opposite direction. This aligns perfectly with the ground truth answer.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It correctly analyzes the positions, speeds, motion directions, and distances of both agents, leading to the logical conclusion that there will be no interaction. However, the reasoning could be slightly more concise and focused on the key point that surrounding agent #3 is already departing, making interaction highly unlikely.", - "problem_score_avg": "9.5" - } - }, "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer is not entirely correct as it fails to acknowledge that surrounding agent #4 will yield to the ego agent, which is a key aspect of the ground truth. While the AI correctly identifies the stationary status of surrounding agent #4 and the movement of the ego agent, it misses the specific interaction dynamic where surrounding agent #4 yields to the ego agent, despite both being in the context of approaching a crosswalk.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. The AI accurately analyzes the positions, speeds, and statuses of both agents and concludes that the interaction is passive due to the stationary nature of surrounding agent #4. However, the reasoning does not fully align with the ground truth, as it does not explicitly state the yielding behavior of surrounding agent #4, which is a critical detail.", - "problem_score_avg": "6.0" + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI incorrectly predicts a potential future interaction between the ego agent and surrounding agent #4, whereas the ground truth explicitly states there will be no interaction. The AI's conclusion contradicts the ground truth, which is based on the fact that the agents are on different lanes and their paths do not cross.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is partially consistent with the information provided, but it incorrectly assumes potential future interactions without sufficient evidence. The conclusion drawn by the AI does not fully align with the reasoning, as it fails to recognize the key detail that the agents are on different lanes and their paths do not intersect.", + "problem_score_avg": "3.0" } }, "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer is partially correct but misses the key point. The ground truth specifies that surrounding agent #5 will yield to the ego agent as it is stationary and on the right side of the intersection while the ego agent is actively departing from the intersection. The AI does not clearly acknowledge this yielding behavior, instead focusing on caution and potential adjustments by the ego agent. This misses the core interaction dynamic.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It analyzes the positions, motion status, and proximity of both agents and concludes that the ego agent should remain cautious. However, it does not explicitly connect this reasoning to the yielding behavior mentioned in the ground truth, which would have made it more faithful to the scenario.", - "problem_score_avg": "5.5" - } - }, - "Interactions_5": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "9", - "Correctness explanation": "The AI's answer is largely correct as it accurately identifies the ego agent's intent to proceed through the intersection with the right of way, considering the green traffic light. It also correctly assesses that the ego agent does not need to yield to surrounding agents #1, #4, and #5. However, it slightly misses the explicit mention of surrounding agent #0 following the ego agent, which is part of the ground truth.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusions drawn. Each point made in the analysis logically supports the final conclusion that the ego agent intends to proceed through the intersection without yielding, given the green light and the statuses of the surrounding agents.", - "problem_score_avg": "9.5" - } - } - }, - "106f4f9f8d7c8227": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #0 might need to yield to the ego agent, which contradicts the ground truth that there will be no interaction between the two agents. The AI overcomplicates the scenario by introducing unnecessary considerations about the crosswalk and potential yielding, which are not supported by the context.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning is somewhat consistent but flawed. The AI correctly identifies the positions and speeds of the agents but incorrectly concludes that yielding might be necessary. The conclusions are not fully faithful to the straightforward context provided, which indicates no interaction between the agents.", - "problem_score_avg": "4.5" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's conclusion that there is minimal risk of collision and that the situation should evolve without incident is partially correct, but it fails to explicitly state that surrounding agent #1 will yield to the ego agent, as stated in the ground truth. The AI's analysis is more focused on the speed differential and timing, rather than emphasizing the yielding behavior.", - "Faithfulness score": "8", - "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly analyzes the speed differential and the relative positions of the agents, and its conclusion about the minimal risk of collision aligns with this reasoning. However, the AI does not directly address the yielding behavior, which is a key aspect of the ground truth.", - "problem_score_avg": "7.0" - } - }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's conclusion that a collision is likely is incorrect. The ground truth states that there will be no interaction as both agents are in the intersection but not in conflict, which implies no risk of collision. The AI misinterprets the spatial relationship between the two agents, leading to an incorrect prediction of interaction.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusion, but it contains inaccuracies. While it correctly identifies the positions, speeds, and directions of the agents, it incorrectly assumes that being directly behind implies a collision risk. The reasoning fails to account for the fact that both agents are in the intersection without conflicting paths, which aligns with the ground truth.", + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly assumes a potential conflict or interaction between the ego agent and surrounding agent #5. The ground truth explicitly states there will be no interaction since they are on different lanes and their paths do not cross. The AI's conclusion is incorrect based on the provided context.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with the analysis but ultimately diverges from the key detail in the context\u2014that their paths do not cross. The AI's assumption of potential conflict contradicts the context, making the reasoning unfaithful to the actual scenario.", "problem_score_avg": "3.5" } }, - "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer incorrectly focuses on the crosswalk and the speed difference between the ego agent and surrounding agent #4, missing the critical factor of the red traffic light that surrounds agent #4 is approaching. The ground truth explicitly states that surrounding agent #4 will yield due to the red traffic light, which the AI failed to address.", - "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is consistent with its own analysis, as it logically explains why the ego agent will pass the crosswalk before surrounding agent #4 based on their speeds and positions. However, the reasoning is incomplete as it does not account for the red traffic light, which is a key factor in the interaction.", - "problem_score_avg": "5.0" - } - }, - "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI correctly identifies that surrounding agent #5 will yield to the ego agent due to the red traffic light. However, it misses the key point that the ego agent is already in the intersection, which is a critical factor in the ground truth answer. The AI focuses more on the speed and distance dynamics, which, while relevant, are not the primary reason for the interaction outcome.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically analyzes the speed, distance, and traffic control factors to conclude that the ego agent will pass crosswalk safely. Although it does not explicitly mention the ego agent's presence in the intersection, the reasoning aligns well with the conclusion of a non-conflictual interaction.", - "problem_score_avg": "8.5" - } - }, "Interactions_5": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "1", - "Correctness explanation": "The AI's answer is incorrect as it predicts a passing scenario, whereas the ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #6. The AI misinterprets the scenario by assuming a potential interaction based on speed and proximity, which contradicts the ground truth.", + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially incorrect. While it correctly identifies that the ego agent and surrounding agent #6 are on the same lane and traveling in the same direction, it incorrectly states that surrounding agent #6 is stationary and does not pose an immediate interaction risk. The ground truth answer indicates that surrounding agent #6 will follow the ego agent, implying it is moving or will move, which contradicts the AI's assertion that it is not moving.", "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it logically analyzes speed, direction, and proximity. However, it fails to accurately conclude that no interaction is anticipated, as per the ground truth. The reasoning is faithful in its process but flawed in its outcome.", - "problem_score_avg": "4.0" + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly analyzes the positions and directions of the agents but fails to consider the possibility that surrounding agent #6 might move or follow the ego agent, as indicated in the ground truth. The reasoning is faithful to the information it considers, but it misses a critical aspect, which affects the overall correctness.", + "problem_score_avg": "5.0" } }, "Interactions_6": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI's answer fails to recognize that surrounding agent #7 is yielding to the ego agent due to the red traffic light it is facing, as stated in the ground truth. While the AI correctly notes that surrounding agent #7 is stationary and the ego agent is accelerating, it misses the critical detail of the red traffic light affecting surrounding agent #7's behavior. This oversight significantly impacts the correctness of the answer.", + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. This aligns with the ground truth answer, which states that they are on different lanes and there is no indication of their paths crossing.", "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions. It accurately analyzes the positions, motion statuses, and speed differentials, and correctly concludes that the interaction is non-eventful. However, it does not fully align with the ground truth because it omits the influence of the red traffic light, which is a key factor in the interaction. The reasoning is faithful to the provided information but incomplete.", - "problem_score_avg": "6.5" + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusions. It accurately notes that surrounding agent #7 is stationary and the ego agent is accelerating, leading to no interaction. However, the AI could have explicitly mentioned the different lanes, which is a key point in the ground truth answer.", + "problem_score_avg": "9.0" } }, "Interactions_7": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's conclusion aligns perfectly with the ground truth answer. It correctly states that surrounding agent #8 will have no interaction with the ego agent as they are both heading towards the intersection but with no immediate conflict. The reasoning provided by the AI supports this conclusion effectively.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically flows to the conclusion. It accurately considers the positions, speeds, directions, and traffic control devices, and these factors support the final conclusion that there will be no interaction between the ego agent and surrounding agent #8.", - "problem_score_avg": "10.0" + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential collision or close call between the ego agent and surrounding agent #8, while the ground truth clearly states that there will be no interaction since they are heading in opposite directions and their paths do not cross. The AI's analysis is flawed in considering relative speed and potential collision risks, which are irrelevant in this scenario.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent but misses the key point that the agents are moving in opposite directions and their paths do not intersect. While the AI correctly identifies their speeds and directions, it incorrectly infers a collision risk, which contradicts the logical conclusion that no interaction will occur. The reasoning is partially faithful but ultimately inaccurate.", + "problem_score_avg": "3.0" } }, "Interactions_8": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer is mostly correct as it accurately identifies that the ego agent will continue exiting the intersection without needing to yield. However, it does not explicitly mention that surrounding agents are required to yield due to traffic lights, which is a key part of the ground truth answer.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically derived from the provided context. The conclusions about the ego agent's actions align with the details about its position, speed, and surrounding agents. However, the reasoning could have been slightly more focused on the traffic light constraints for surrounding agents.", - "problem_score_avg": "8.5" - } - } - }, - "107054019ae57da5": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "4", - "Correctness explanation": "The AI's answer incorrectly states that the ego agent must yield to surrounding agent #0, whereas the ground truth clearly indicates that surrounding agent #0 will yield to the ego agent. The AI misinterprets the interaction dynamics at the stop sign.", + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that a potential collision is likely between the ego agent and surrounding agent #9 is incorrect. The ground truth clearly states that there will be no interaction between them as they are on different lanes and there is no indication of their paths crossing. The AI failed to accurately assess the spatial relationship and potential for interaction.", "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the information provided, but it fails to correctly interpret the implications of both agents approaching stop signs. The conclusion does not align with the reasoning, as it incorrectly assumes the ego agent must yield despite the surrounding agent being at a stop sign.", - "problem_score_avg": "5.0" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. However, the AI's reasoning includes unnecessary details and assumptions about the ego agent stopping at the stop sign, which are not directly relevant to the interaction with surrounding agent #2. This detracts from the correctness of the answer.", - "Faithfulness score": "8", - "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly deduces that the two agents will not interact due to their positions and motion statuses. However, the inclusion of speculative details about the ego agent's behavior at the stop sign is not entirely faithful to the provided context, as it introduces assumptions that are not directly supported by the information given.", - "problem_score_avg": "7.0" - } - }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI answer partially aligns with the ground truth but misses the key point that surrounding agent #3 will yield to the ego agent due to its stationary state and position. The AI incorrectly focuses on the ego agent yielding, which is not the primary interaction described in the ground truth.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning is mostly consistent with the analysis provided. The AI correctly analyzes positions, speeds, and intersection dynamics, but the conclusion slightly deviates from the logical flow by emphasizing the ego agent's yielding instead of the surrounding agent's yielding.", - "problem_score_avg": "6.5" - } - }, - "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 will yield to the ego agent due to its stationary position and the ego agent's approach to the intersection. The AI focuses too much on the stop sign and the ego agent's need to stop, rather than emphasizing the yielding behavior of surrounding agent #4.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. It correctly analyzes the positions, speeds, and context but fails to prioritize the crucial interaction where surrounding agent #4 yields to the ego agent. The logic is faithful but incomplete.", - "problem_score_avg": "7.0" - } - }, - "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "7", - "Correctness explanation": "The AI correctly identifies that the ego agent should stop at the stop sign and considers the need to slow down for speed bumps. However, it misses explicitly mentioning the ego agent's need to yield to surrounding agent #0, which is a key part of the ground truth answer. It also does not explicitly state that the ego agent does not need to respond to surrounding agents #2, #3, and #4 since they are not moving.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning provided by the AI is generally consistent with its conclusions. It correctly analyzes the stop sign, speed bumps, and the need to assess traffic before proceeding. However, it fails to fully align with the ground truth by not explicitly mentioning yielding to surrounding agent #0 or the irrelevance of the non-moving surrounding agents, which slightly detracts from its faithfulness.", - "problem_score_avg": "7.5" - } - } - }, - "1071fe439da7c12f": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "5", - "Correctness explanation": "The AI\u2019s answer acknowledges the possibility of interaction but does not explicitly state that surrounding agent #0 will yield to the ego agent, as per the ground truth. It focuses more on potential conflict rather than the clear yielding behavior implied by the traffic light conditions. The answer is partially correct but lacks precision.", - "Faithfulness score": "7", - "Faithfulness explanation": "The reasoning is mostly consistent with the provided context, but it overcomplicates the scenario by introducing unnecessary details about potential conflict and collision risks. The conclusion does not fully align with the straightforward yielding behavior dictated by the traffic light conditions, which reduces its faithfulness.", - "problem_score_avg": "6.0" + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, but it overlooks critical details. While it correctly notes the speed and acceleration of both agents, it fails to adequately consider the lane positions and the fact that their paths do not intersect. The conclusion of a potential collision is not fully supported by the reasoning provided.", + "problem_score_avg": "3.5" } }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { + "Interactions_9": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { "Correctness score": "10", - "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 will yield to the ego agent due to the red traffic light. This aligns perfectly with the ground truth answer, which states the same outcome.", + "Correctness explanation": "The AI's answer correctly identifies that there is no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is stationary and there is no indication of their paths crossing, which aligns perfectly with the ground truth answer.", "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. The analysis of the traffic signals, the maneuver of the ego agent, and the stationary status of surrounding agent #2 logically lead to the conclusion that the ego agent will proceed without hindrance from surrounding agent #2.", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithful to the provided context. It accurately analyzes the status, location, and direction of surrounding agent #10 and correctly concludes that there is no interaction with the ego agent.", "problem_score_avg": "10.0" } }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #3 will yield to the ego agent due to the red traffic light. The AI focuses on the ego agent maneuvering around surrounding agent #3, which is not the primary interaction described in the ground truth. The ground truth emphasizes that surrounding agent #3 is yielding because of the red light, which the AI does not explicitly state.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. The AI correctly identifies the positions, speeds, and traffic light statuses of the agents. However, the conclusion about the ego agent needing to maneuver around surrounding agent #3 is slightly inconsistent with the red light yielding behavior, which should have been the main takeaway. The reasoning is logical but not fully aligned with the most critical interaction.", - "problem_score_avg": "7.0" - } - }, - "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "8", - "Correctness explanation": "The AI's answer is mostly correct but misses the key point that the ego agent is exiting the intersection, which is crucial context. The AI accurately notes that surrounding agent #4 will yield due to its red light and stationary position, but it doesn't explicitly state that the ego agent is exiting the intersection. This omission slightly detracts from the completeness of the answer.", - "Faithfulness score": "9", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. It correctly analyzes the positions, motions, and traffic light statuses of the ego agent and surrounding agent #4, leading to a reasonable conclusion. However, the conclusion could have been more aligned with the ground truth by explicitly mentioning the ego agent's exit from the intersection.", - "problem_score_avg": "8.5" - } - }, - "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer is partially correct but fails to fully align with the ground truth. The ground truth states that surrounding agent #5 will have no interaction with the ego agent as it is not moving and is departing from the intersection, while the ego agent is also exiting the intersection. The AI correctly identifies that surrounding agent #5 is stationary but incorrectly suggests that the ego agent might need to maneuver around it, which contradicts the ground truth. The AI also introduces unnecessary considerations like traffic light status and crosswalk caution, which are irrelevant given the ground truth of no interaction.", - "Faithfulness score": "7", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but contains unnecessary and speculative elements. It correctly analyzes the location, speed, and motion status of surrounding agent #5 but then introduces hypothetical scenarios (e.g., navigating around the stationary agent, traffic light considerations) that are not supported by the ground truth. While the reasoning is logically structured, it diverges from the simplicity and directness of the ground truth answer.", - "problem_score_avg": "6.5" + "Interactions_10": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction between the ego agent and surrounding agent #11, such as merging or collision. However, the ground truth explicitly states that no interaction is anticipated as they are on different lanes and their paths do not cross. The AI's conclusion is incorrect.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is inconsistent with its conclusions. While it correctly identifies the positions and speeds of the agents, it incorrectly infers potential interactions like merging or collision, which are not supported by the context. The reasoning does not logically lead to the conclusion drawn.", + "problem_score_avg": "3.0" } }, - "Interactions_5": { - "openai_models_gpt-4o-mini_modelname": { + "Interactions_11": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { "Correctness score": "4", - "Correctness explanation": "The AI's answer incorrectly implies that there is a potential interaction or need for caution between the ego agent and surrounding agent #6, which contradicts the ground truth stating that there will be no interaction due to agent #6 being stationary and on the same side of the intersection as the ego agent, who is exiting the intersection.", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #12 is on the same lane and will follow the ego agent, as per the ground truth. The AI incorrectly concludes that surrounding agent #12 is stationary and that the ego agent will pass it, which contradicts the ground truth.", "Faithfulness score": "6", - "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but overstates the need for caution and interaction. While it correctly identifies that agent #6 is stationary and not a direct threat, it unnecessarily emphasizes the ego agent's awareness and safety measures, which are irrelevant given the ground truth that no interaction will occur.", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the information provided about surrounding agent #12 being stationary, but it does not align with the ground truth that agent #12 is following the ego agent. The AI's conclusions are faithful to its interpretation of the data, but that interpretation is incomplete.", "problem_score_avg": "5.0" } }, - "Interactions_6": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "7", - "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to complete its U-turn and acknowledges the green arrow traffic light giving it the right of way. However, it does not explicitly state that the ego agent will exit the intersection, which is a key part of the ground truth answer. Additionally, while the AI mentions surrounding agents' statuses, it does not clearly state that surrounding agents #0, #2, #3, and #4 will yield due to their red traffic lights, or that no response is needed from the ego agent towards agents #5 and #6, as stated in the ground truth.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It correctly analyzes the ego agent's current situation, the intersection details, and the statuses of surrounding agents. However, the conclusion could have been more precise in aligning with the ground truth, particularly in explicitly stating the ego agent's intention to exit the intersection and the yielding behavior of specific surrounding agents.", - "problem_score_avg": "7.5" - } - } - }, - "1074089cb5094c55": { - "Interactions_0": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer deviates from the ground truth by suggesting that the ego agent may need to yield to surrounding agent #0, whereas the ground truth states that surrounding agent #0 will yield to the ego agent. The AI correctly identifies the positions and speeds but misinterprets the right-of-way dynamics.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning is mostly consistent with the provided context. The AI correctly analyzes the positions, speeds, and potential interactions but draws a conclusion that is not fully aligned with the ground truth. The reasoning itself is logical and well-structured, though the final conclusion is incorrect.", - "problem_score_avg": "7.0" - } - }, - "Interactions_1": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's conclusion that 'No significant interaction is expected' contradicts the ground truth answer, which states that 'Surrounding agent #1 will yield to the ego agent.' The AI failed to correctly interpret the dynamics of the intersection and the yielding behavior of surrounding agent #1.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, as it analyzes the positions, speeds, and motion statuses of the agents. However, it misses the critical point that the ego agent is closer to the intersection center, which is a key factor in the ground truth answer regarding yielding behavior.", - "problem_score_avg": "4.0" - } - }, - "Interactions_2": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "9", - "Correctness explanation": "The AI's answer is largely correct but slightly overcomplicates the reasoning. The ground truth clearly states there will be no interaction because the pedestrian is behind the ego agent and they are both heading towards the intersection without crossing paths. The AI correctly concludes a minimal or non-existent interaction but adds unnecessary calculations about crosswalk timing, which, while logically sound, are not essential to the conclusion.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning is broadly consistent with the conclusions drawn. The AI correctly analyzes positions, speeds, and directions but includes extra details (e.g., crosswalk timing) that, while accurate, are not strictly required to support the conclusion of no interaction. The reasoning is faithful but could be more concise.", - "problem_score_avg": "8.5" - } - }, - "Interactions_3": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's conclusion that the ego agent will need to yield or stop to avoid a collision with surrounding agent #3 is incorrect. The ground truth states that surrounding agent #3 will yield to the ego agent because the ego agent is closer to the intersection center. The AI failed to recognize this key dynamic and instead suggested the opposite interaction.", - "Faithfulness score": "6", - "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, as the AI correctly analyzes the positions and motion statuses of both agents. However, the conclusion diverges significantly from the logical progression, as it does not align with the ground truth of surrounding agent #3 yielding to the ego agent. The analysis of proximity and crosswalk considerations is detailed but ultimately leads to an incorrect conclusion.", - "problem_score_avg": "4.0" - } - }, - "Interactions_4": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer incorrectly suggests there will be an interaction between the ego agent and surrounding agent #4, emphasizing navigation and safety considerations. However, the ground truth explicitly states there will be no interaction since they are heading in opposite directions and surrounding agent #4 is not moving. The AI's conclusion contradicts the ground truth.", + "Interactions_12": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer incorrectly predicts a potential conflict or hazardous situation between the ego agent and surrounding agent #13. The ground truth clearly states that there will be no interaction as they are heading in opposite directions with no indication of their paths crossing. The AI's analysis misinterprets the directions and potential interaction, leading to an incorrect conclusion.", "Faithfulness score": "5", - "Faithfulness explanation": "The AI's reasoning is partially faithful to the context but ultimately inconsistent with its own analysis. While it correctly identifies the positions and states of the agents, it incorrectly infers an interaction where none exists. The reasoning about navigation and safety is logically consistent but misapplied to a scenario where no interaction is required.", - "problem_score_avg": "4.0" - } - }, - "Interactions_5": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "2", - "Correctness explanation": "The AI's conclusion that the ego agent would need to slow down or stop due to surrounding agent #5 is incorrect. The ground truth explicitly states that there will be no interaction because they are heading in opposite directions and surrounding agent #5 is not moving. The AI failed to recognize the directional aspect and erroneously concluded a potential collision scenario.", - "Faithfulness score": "4", - "Faithfulness explanation": "The AI's reasoning is consistent with its incorrect conclusion, but it is based on incorrect assumptions about the relative positioning and direction of movement. The AI misinterpreted the spatial relationship and directionality, leading to a flawed but internally consistent argument.", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its analysis but fails to correctly interpret the directions of travel. While it correctly identifies the speeds and positions of both agents, it incorrectly assumes a potential conflict due to a misunderstanding of their trajectories. The conclusion drawn is not fully faithful to the reasoning provided, as it overlooks the critical detail of the opposite directions of travel.", "problem_score_avg": "3.0" } }, - "Interactions_6": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "9", - "Correctness explanation": "The AI's conclusion that there will be no interaction between the ego agent and surrounding agent #6 is correct, as the ground truth answer also states that there is no interaction. However, the AI's explanation is somewhat verbose and includes unnecessary details that slightly deviate from the simplicity of the ground truth.", - "Faithfulness score": "8", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, as it correctly analyzes the positions and behaviors of the agents. However, it includes additional details like 'benign interaction' and 'safe distance' that, while not incorrect, are not strictly necessary for reaching the conclusion.", + "Interactions_13": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #14 due to their opposite directions and the lack of intersecting paths. However, it slightly misinterprets the scenario by suggesting they will 'pass each other,' which is not entirely accurate since they are moving away from each other rather than passing.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is mostly consistent with the conclusions drawn. It accurately analyzes the direction, speed, and position of both agents. The only minor inconsistency is the mention of 'passing each other,' which is not entirely faithful to the context of their movement.", "problem_score_avg": "8.5" } }, - "Interactions_7": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #7, as surrounding agent #7 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. The AI correctly analyzes the positions, motions, and context of both the ego agent and surrounding agent #7, leading to the logical and accurate conclusion that there will be no interaction.", - "problem_score_avg": "10.0" - } - }, - "Interactions_8": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, aligning with the ground truth. The reasoning provided by the AI is accurate, as it correctly notes that surrounding agent #8 is stationary and positioned behind the ego agent, making interaction highly unlikely.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the provided information. The AI correctly assesses the positions, speeds, and behaviors of both agents, leading to the conclusion that no interaction will occur. The conclusions are faithful to the reasoning presented.", - "problem_score_avg": "10.0" - } - }, - "Interactions_9": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, which aligns with the ground truth. It accurately notes that surrounding agent #9 is not moving and is not on a collision course with the ego agent.", - "Faithfulness score": "10", - "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It thoroughly analyzes the positions, motion status, and distances to the intersection, and correctly deduces that no interaction will occur. The reasoning supports the final conclusion without any contradictions.", - "problem_score_avg": "10.0" - } - }, - "Interactions_10": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "6", - "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is stationary and the ego agent is moving away from it. However, the AI incorrectly assumes surrounding agent #10 is in the same lane as the ego agent, which is not explicitly stated in the context. This error affects the overall correctness.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly notes surrounding agent #10 is stationary and far from the intersection, leading to no interaction. However, the assumption about the lane placement of surrounding agent #10 is unfounded and slightly detracts from the faithfulness.", - "problem_score_avg": "7.0" - } - }, - "Interactions_11": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "3", - "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will need to navigate around surrounding agent #11, which contradicts the ground truth that surrounding agent #11 will yield to the ego agent. The AI misinterprets the scenario by assuming surrounding agent #11 is stationary and blocking the ego agent, rather than yielding.", - "Faithfulness score": "5", - "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, but it is based on incorrect assumptions about the scenario. The AI correctly identifies the positions and motion statuses of the agents but fails to correctly interpret the interaction dynamics, leading to a conclusion that does not align with the ground truth.", - "problem_score_avg": "4.0" + "Interactions_14": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer suggests an overtaking maneuver, which is incorrect. The ground truth states that surrounding agent #15 will lead the ego agent as it is in front on the same lane and both are departing from the intersection. The AI misinterpreted the direction of travel, leading to an incorrect conclusion.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided information, but the AI incorrectly interprets the direction of travel of the ego agent, leading to a flawed conclusion. The steps followed are logical but based on a misinterpretation.", + "problem_score_avg": "6.0" } }, - "Interactions_12": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "10", - "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #12, which matches the ground truth answer. The reasoning provided by the AI aligns perfectly with the facts given in the context, making the answer completely correct.", - "Faithfulness score": "10", - "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows the details provided in the context. The conclusions drawn about the lack of interaction are fully supported by the analysis of relative positioning, speed, and motion status, making the reasoning faithful to the given information.", - "problem_score_avg": "10.0" + "Interactions_15": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that surrounding agent #16 will have no interaction with the ego agent as they are heading in opposite directions and there is no indication of their paths crossing. The AI incorrectly inferred that the ego agent would likely overtake surrounding agent #16, which contradicts the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is partially faithful. The AI correctly analyzed the speed and acceleration of both agents but failed to consider the direction of travel correctly. The conclusion about overtaking is inconsistent with the direction of travel, which was not properly accounted for in the reasoning.", + "problem_score_avg": "3.5" } }, - "Interactions_13": { - "openai_models_gpt-4o-mini_modelname": { - "Correctness score": "7", - "Correctness explanation": "The AI's answer is partially correct but misses some key details from the ground truth. It correctly identifies that the ego agent will continue towards the intersection at a constant speed and mentions the need to be cautious due to the crosswalk. However, it fails to explicitly mention that the ego agent will interact with surrounding agents #0, #1, and #3, who will yield to it, as stated in the ground truth. It also does not clearly state that the ego agent will not interact with other surrounding agents due to their positioning or lack of movement.", - "Faithfulness score": "8", - "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions. It correctly analyzes the ego agent's speed, position, and proximity to the crosswalk, and it logically concludes that the ego agent will continue moving forward while being cautious. However, the conclusion could be more specific regarding the interactions with surrounding agents, as the reasoning does not fully align with the detailed context provided.", - "problem_score_avg": "7.5" + "Interactions_16": { + "deepinfra_models_meta-llama/Meta-Llama-3.1-8B-Instruct_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses key details. It correctly identifies that the ego agent is accelerating and intends to continue forward. However, it fails to explicitly mention the ego agent's intention to lead and follow specific surrounding agents (e.g., #6, #0, and #15), which is a crucial part of the ground truth. The broader interpretation of potential lane changes or navigation through the intersection is speculative and not supported by the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI answer is mostly consistent with the information provided. It correctly analyzes the ego agent's current velocity, acceleration, and lane position. However, it introduces speculative scenarios (e.g., lane changes) without sufficient evidence from the context. The conclusions are logically derived but lack precision in aligning with specific details in the ground truth.", + "problem_score_avg": "6.0" } } } diff --git a/grades/direct/deepseek_grades_direct_direct_exp4.json b/grades/direct/deepseek_grades_direct_direct_exp7.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp4.json rename to grades/direct/deepseek_grades_direct_direct_exp7.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp8.json b/grades/direct/deepseek_grades_direct_direct_exp8.json new file mode 100644 index 0000000..ef28df9 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp8.json @@ -0,0 +1,157 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly concludes that the ego agent will overtake or collide with surrounding agent #0, which contradicts the ground truth stating that surrounding agent #0 will lead the ego agent. The AI failed to accurately interpret the direction of travel and the relative speeds in the context of the intersection dynamics.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its analysis of the speeds, relative positions, and acceleration states. However, it misinterprets the direction of travel, leading to an incorrect conclusion. The reasoning process itself is logical but flawed in its application to the scenario.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect based on the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #1 because they are on different lanes, and their paths do not cross. However, the AI incorrectly concluded that there might be an interaction requiring lane management and speed control, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning provided by the AI is partially consistent but ultimately flawed. The AI correctly identifies the speeds, positions, and motions of the ego agent and surrounding agent #1. However, it incorrectly extrapolates that these factors could lead to an interaction, ignoring the key detail from the ground truth that the lanes are different and paths do not cross. The reasoning does not fully align with the conclusion, leading to inconsistency.", + "problem_score_avg": "3.0" + } + }, + "Interactions_2": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that surrounding agent #3 will follow the ego agent since they are both heading towards the intersection, but the AI concludes that there will be minimal interaction and that the ego agent will simply pass by. This contradicts the ground truth, which implies a following relationship rather than no interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it analyzes the positions, speeds, and directions of the ego agent and surrounding agent #3. However, it fails to correctly interpret the implications of the ground truth, which suggests a following behavior rather than a passive passing scenario. The reasoning is logical but misaligned with the actual interaction described in the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_3": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent might pass or interact with surrounding agent #4 is incorrect. The ground truth clearly states that there will be no interaction because they are on different lanes and their paths do not cross. The AI failed to accurately assess the lane positions and the lack of potential path crossing.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI\u2019s reasoning is partially consistent with its conclusions but contains significant flaws. It correctly identifies the positions and motions of both agents but incorrectly infers a potential interaction due to proximity, despite the agents being on different lanes and their paths not crossing. The reasoning lacks clarity on the key point of lane separation.", + "problem_score_avg": "3.5" + } + }, + "Interactions_4": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly suggests potential interaction between the ego agent and surrounding agent #5, based on assumptions about lane changes and paths converging. The ground truth explicitly states there will be no interaction as they are on different lanes and their paths do not cross. The AI's conclusion is inconsistent with the facts provided.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its analysis, as it logically considers factors like lane positions, speeds, and intersection dynamics. However, it strays from the provided context by speculating on lane changes and potential interactions without evidence, which undermines the faithfulness to the given information.", + "problem_score_avg": "4.5" + } + }, + "Interactions_5": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly predicts a potential rear-end collision or pressure, which is not consistent with the ground truth. The ground truth states that surrounding agent #6 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. The AI's analysis overcomplicates the scenario and misinterprets the interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion, as it logically analyzes the positions and movements of both agents. However, the conclusion drawn is not fully supported by the provided context, leading to a less faithful alignment between reasoning and conclusion. The AI introduces unnecessary complexity and misinterprets the nature of the interaction.", + "problem_score_avg": "4.0" + } + }, + "Interactions_6": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. The reasoning provided supports this conclusion by noting that surrounding agent #7 is stationary and positioned behind and to the left of the ego agent, with no indication of their paths crossing.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically leads to the conclusion. The AI correctly analyzes the positions, motion, and potential interactions, though it includes some speculative details (e.g., lane changes) that are not strictly necessary for the conclusion. Despite this, the core reasoning remains faithful to the provided context.", + "problem_score_avg": "9.5" + } + }, + "Interactions_7": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that surrounding agent #8 will interact with the ego agent by overtaking is incorrect. The ground truth states that there will be no interaction as they are heading in opposite directions and their paths do not cross. The AI misinterpreted the directions of travel, leading to an incorrect conclusion.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its analysis, but it fails to correctly interpret the directions of travel. While the AI correctly identified the speeds and relative positions, it incorrectly assumed the agents were moving in a similar direction. The conclusion of overtaking is logically consistent with this flawed assumption but does not align with the actual scenario.", + "problem_score_avg": "3.0" + } + }, + "Interactions_8": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it concludes that the ego agent will likely overtake surrounding agent #9, while the ground truth clearly states there will be no interaction since they are on different lanes and their paths do not cross.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly faithful to the information provided, as the AI analyzes the positions, speeds, and directions of both agents. However, it incorrectly assumes the possibility of interaction despite the lane difference, which is a critical oversight.", + "problem_score_avg": "4.5" + } + }, + "Interactions_9": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct in stating that there is no immediate interaction between the ego agent and surrounding agent #10 due to the latter's stationary state. However, the AI unnecessarily complicates the explanation by discussing potential future risks and relative distances, which are not relevant given the ground truth answer's straightforward conclusion.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions, but it includes speculative elements (e.g., potential future risks) that are not supported by the provided context. This detracts from the faithfulness of the reasoning, as the conclusions should strictly align with the given information without adding unnecessary assumptions.", + "problem_score_avg": "7.5" + } + }, + "Interactions_10": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth. The ground truth states that there will be no interaction between the ego agent and surrounding agent #11 because they are on different lanes and their paths do not cross. However, the AI incorrectly concludes that the ego agent will likely overtake surrounding agent #11, assuming they are on the same lane. This is a fundamental error in interpreting the scenario.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is partially consistent with its conclusions but is based on a flawed premise. The AI assumes the vehicles are on the same lane, which is incorrect. While the logic about overtaking is internally consistent within this flawed assumption, the reasoning fails to align with the actual scenario provided in the context.", + "problem_score_avg": "4.0" + } + }, + "Interactions_11": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer deviates significantly from the ground truth. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and both are heading towards the intersection. However, the AI focuses on the risk of rear-end collision due to agent #12 being stationary, which is not aligned with the ground truth's emphasis on agent #12 following the ego agent.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly evaluates the positions and motion statuses of both agents and discusses potential risks based on those factors. However, it fails to align its conclusion with the ground truth's assertion about agent #12 following the ego agent, which slightly detracts from the faithfulness of the reasoning.", + "problem_score_avg": "5.5" + } + }, + "Interactions_12": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it contradicts the ground truth, which states that there will be no interaction between the ego agent and surrounding agent #13. The AI's analysis falsely concludes a potential collision risk, despite the agents moving in opposite directions and their paths not crossing.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is largely faithful to the provided context, as the AI correctly analyzes the speeds, positions, and trajectories of the agents. However, it fails to align its conclusion with the correct interpretation of the scenario, leading to an inconsistent final judgment.", + "problem_score_avg": "4.5" + } + }, + "Interactions_13": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #14 because they are heading in opposite directions and their paths do not cross. The AI, however, predicts a potential interaction involving lane changes or overtaking, which contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusion but is flawed. While it analyzes the positions, speeds, and directions of the agents, it misinterprets the data to suggest an interaction. The reasoning does not align with the key fact that the agents are moving in opposite directions and their paths do not intersect, which is critical to the correct conclusion.", + "problem_score_avg": "3.0" + } + }, + "Interactions_14": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #15 is ahead of the ego agent on the same lane and both are departing the intersection. However, the AI overcomplicates the explanation by introducing considerations like 'right of way,' 'traditional right-of-way context,' and 'unexpected maneuvers,' which are not directly relevant to the ground truth. The ground truth simply states that surrounding agent #15 will lead the ego agent, and the AI's additional analysis, while not incorrect, detracts from the simplicity of the scenario.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's conclusions are consistent with its reasoning. It accurately describes the positions and movements of both agents and logically concludes that the ego agent will follow surrounding agent #15 without overtaking. The reasoning is thorough and aligns with the facts provided in the scenario. However, the slight deduction in score is due to the introduction of unnecessary elements (e.g., right-of-way considerations) that slightly deviate from the core interaction described in the ground truth.", + "problem_score_avg": "8.0" + } + }, + "Interactions_15": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that surrounding agent #16 will overtake the ego agent is incorrect. The ground truth states that there will be no interaction between the two agents as they are heading in opposite directions and their paths do not cross. The AI failed to correctly interpret the directional context and relative motion of the agents.", + "Faithfulness score": "4", + "Faithfulness explanation": "The reasoning provided by the AI is consistent internally but does not align with the ground truth. The AI's steps follow logically from its initial assumptions, but those assumptions are incorrect. Specifically, it misinterprets the direction of travel and relative positioning, leading to an erroneous conclusion.", + "problem_score_avg": "2.5" + } + }, + "Interactions_16": { + "deepinfra_models_microsoft/phi-4_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth. It correctly identifies that the ego agent intends to continue towards the intersection while accelerating and acknowledges the presence of Surrounding Agent #0 and #15. However, it incorrectly suggests potential lane changes or overtaking maneuvers, which are not mentioned in the ground truth. The AI also overcomplicates the scenario by introducing unnecessary details about potential collisions and lane changes, which are not part of the ego agent's intended action as per the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the conclusions drawn. It logically analyzes the ego agent's acceleration and the positions of surrounding agents to infer the intended action. However, it extrapolates beyond the provided context by introducing scenarios like lane changes and overtaking, which are not explicitly supported by the ground truth. While the reasoning is thorough, it lacks strict adherence to the given information, leading to some unfaithful conclusions.", + "problem_score_avg": "6.5" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_direct_exp9.json b/grades/direct/deepseek_grades_direct_direct_exp9.json new file mode 100644 index 0000000..738b1b4 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_direct_exp9.json @@ -0,0 +1,571 @@ +{ + "10658c943a882fd2": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it speculates on potential interactions and deceleration outcomes that are not supported by the ground truth. The ground truth clearly states that there will be no interaction, as the agents are stationary and not in the ego agent's path. The AI's analysis is unnecessarily complex and introduces assumptions not present in the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat faithful to the provided context but goes beyond the necessary analysis. It correctly identifies positions and speeds but then diverges by speculating on deceleration outcomes and potential interactions that are not supported by the ground truth. The conclusions are overly detailed and not fully aligned with the simplicity of the actual scenario.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. While it does not directly contradict the ground truth, it unnecessarily complicates the scenario by introducing potential interactions that do not exist. The core point is that there will be no interaction, which the AI fails to clearly acknowledge.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning is partially faithful but inconsistent. The AI correctly identifies that surrounding agent #2 is not moving and faces the opposite direction, but it then elaborates on potential interactions that do not align with this conclusion, leading to an unfocused and overcomplicated analysis.", + "problem_score_avg": "3.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly anticipates interaction between the ego agent and surrounding agent #3, despite the ground truth stating there will be no interaction. The AI's reasoning is flawed because it suggests potential adjustments or monitoring, which are unnecessary given the stationary and non-intrusive position of surrounding agent #3.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent internally, as it logically follows from the assumptions made about possible interactions due to deceleration and positioning. However, the conclusions drawn are inconsistent with the actual scenario, which clearly indicates no interaction is needed. The AI's reasoning is faithful to its assumptions but not to the ground truth.", + "problem_score_avg": "4.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's conclusion that no immediate interaction will occur is correct, but the reasoning is overly verbose and includes unnecessary analysis of potential future scenarios (e.g., surrounding agent #4 starting to move) that are not relevant to the ground truth answer. The ground truth explicitly states there will be no interaction due to both agents being stationary and not in the ego agent's path, which the AI could have succinctly stated.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that no immediate interaction will occur. However, the reasoning includes speculative and irrelevant details (e.g., potential future movements of surrounding agent #4) that do not align with the simple and direct nature of the ground truth answer. The conclusion is faithful to the reasoning, but the reasoning itself is not optimally focused.", + "problem_score_avg": "5.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #5 because they are not moving and not in the path of the ego agent. However, the AI incorrectly anticipates a potential interaction based on the closing distance and suggests caution, which is unnecessary and contrary to the ground truth.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but is flawed given the context. The AI correctly identifies the positions and directions of the agents but misinterprets the implications. Its reasoning about closing distance and caution is not consistent with the actual scenario, where no interaction is expected.", + "problem_score_avg": "4.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent is likely preparing to stop is incorrect. The ground truth states that the ego agent intends to accelerate and continue on its path, as there are no interactions with surrounding agents or traffic controls. The AI misinterpreted the deceleration as a sign of stopping rather than assessing the need to accelerate.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the provided data. It correctly analyzed the deceleration and the stationary nature of surrounding agents. However, it failed to consider the broader context that the ego agent might accelerate after assessing the situation, leading to a conclusion that is not fully faithful to the implications of the data.", + "problem_score_avg": "4.5" + } + } + }, + "1066d80d79a13a16": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in identifying that surrounding agent #0 will yield to the ego agent, as the ego agent has the right of way due to the green light. However, the answer could have been more concise and focused, as it includes unnecessary details about potential outcomes that do not align with the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is largely consistent with the conclusions drawn, but the AI introduces speculative scenarios (e.g., surrounding agent #0 misjudging and causing a conflict) that are not supported by the context. This detracts from the faithfulness of the reasoning, as it strays from the straightforward interaction described in the ground truth.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #2 may need to yield or be cautious, which contradicts the ground truth that there will be no interaction as they are heading in opposite directions and agent #2 is departing the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it evaluates the positions, speeds, and directions of both agents. However, it fails to correctly interpret the lack of interaction due to the opposite directions of travel, leading to an incorrect conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer aligns closely with the ground truth but misses the explicit mention of the ego agent having the right of way and not needing to yield to surrounding agents due to their non-conflicting paths. It correctly identifies the ego agent's intention to proceed straight but could have been more precise about the right of way.", + "Faithfulness score": "9", + "Faithfulness explanation": "The AI's reasoning is consistent with the conclusions drawn. It accurately analyzes the intersection type, traffic light status, crosswalk position, and surrounding agents' behavior. The conclusion to proceed straight is well-supported by the reasoning, though it could have emphasized the right of way more explicitly.", + "problem_score_avg": "8.5" + } + } + }, + "10689839d1d6ff15": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #0 will yield to the ego agent because it is stationary at the stop sign. While the AI correctly notes that the ego agent must stop and assess the situation, it fails to explicitly state that surrounding agent #0 is yielding due to its stationary status. The answer is overly detailed but lacks precision regarding the primary interaction.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the context provided. It correctly analyzes the positions, speeds, and motion statuses of both agents and concludes that the ego agent must stop and assess the situation. However, the conclusion is somewhat verbose and does not directly align with the ground truth, which focuses on the yielding behavior of surrounding agent #0. The reasoning is faithful but could be more concise and precise.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI correctly concluded that there will be no interaction between the ego agent and surrounding agent #2, aligning perfectly with the ground truth answer. Its detailed analysis of positioning, movement, and proximity supports the conclusion that surrounding agent #2 poses no immediate threat due to its stationary state and the ego agent's acceleration and eventual stop at the stop sign.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning is mostly consistent, but it includes unnecessary details about the crosswalk and surrounding agent #200, which are irrelevant to the interaction between the ego agent and surrounding agent #2. However, the core reasoning about the lack of interaction due to positioning and movement remains faithful.", + "problem_score_avg": "9.5" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #3, as the latter is stationary and they are heading in opposite directions. However, the AI's reasoning includes unnecessary details about the stop sign and potential waiting scenarios, which deviate from the ground truth's straightforward explanation.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion that there will be no immediate conflict. However, the reasoning includes speculative elements about the agents' behavior at the stop sign and who might proceed first, which are not supported by the provided context and slightly detract from the faithfulness of the response.", + "problem_score_avg": "7.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 is also at a stop sign and should yield to the ego agent. The AI focuses on the ego agent stopping but does not correctly interpret the yielding behavior of surrounding agent #4 as per the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its analysis. However, it fails to accurately conclude that surrounding agent #4 should yield, as inferred from the ground truth. The reasoning about the ego agent stopping and the potential interaction dynamics is logically sound but incomplete.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer incorrectly predicts an interaction between the ego agent and surrounding agent #200, despite the ground truth stating there will be no interaction. The pedestrian is behind the ego agent and not in a position to cross paths, making the AI's conclusion incorrect.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but fails to accurately interpret the positional data. While it correctly notes the ego agent's speed and proximity to the stop sign, it misinterprets the pedestrian's position and likely interaction, leading to an unfaithful conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction between the ego agent and surrounding agent #5, while the ground truth explicitly states there will be no interaction. The AI misinterprets the scenario by assuming surrounding agent #5 is approaching the ego agent for a possible overtake or lane change, which contradicts the ground truth that they are on the same side and surrounding agent #5 is departing the intersection.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with the provided context, but it fails to align with the ground truth. The AI correctly analyzes positions, speeds, and motion statuses but incorrectly concludes an interaction based on these factors. The reasoning is internally consistent but not faithful to the actual scenario described in the ground truth.", + "problem_score_avg": "3.5" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will decelerate and stop at the stop sign, considering the crosswalk and surrounding agents. However, it does not explicitly mention that the ego agent will yield to surrounding agents #0 and #4, which is part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with its conclusions. It systematically considers the intersection type, the ego agent's position and motion, the presence of the stop sign and crosswalk, and the behavior of surrounding agents, leading to the conclusion that the ego agent will stop at the stop sign. The reasoning is logical and supports the conclusion.", + "problem_score_avg": "8.5" + } + } + }, + "1068c27cceb21de5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that the surrounding agent #0 will pass the ego agent due to their opposite directions. However, the AI's analysis includes unnecessary scenarios like overtaking, yielding, and crossing interactions, which are not relevant given that the vehicles are heading in opposite directions and no such complexities are mentioned in the context.", + "Faithfulness score": "7", + "Faithfulness explanation": "While the AI's reasoning is detailed, it introduces speculative scenarios (e.g., overtaking, yielding) that are not supported by the given context. The conclusions drawn are somewhat inconsistent with the reasoning, as the final assessment downplays the likelihood of interaction despite the detailed exploration of potential conflicts.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct and aligns with the ground truth. Both state that the ego agent will continue accelerating on its current lane, as there are no obstacles, traffic controls, or immediate threats from surrounding agents.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and faithfully supports the conclusion. It correctly analyzes the ego agent's motion, the position and direction of surrounding agent #0, and the absence of traffic controls to logically conclude that the ego agent will continue accelerating.", + "problem_score_avg": "10.0" + } + } + }, + "1069c268c8730c41": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer does not fully align with the ground truth, which states that surrounding agent #0 will yield to the ego agent because their paths do not intersect. The AI instead suggests potential risks and conflicts, which are not supported by the ground truth. However, the AI does correctly note that the agents are in opposite directions and that the ego agent is decelerating, which partly aligns with the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with the information provided. It correctly analyzes the positions, speeds, and directions of both agents. However, the conclusion about potential risks and conflicts is not fully faithful to the context, as the ground truth explicitly states that their paths do not intersect, and no conflict is anticipated.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but overly cautious. The ground truth states that the ego agent intends to continue through the intersection without stopping, as there are no stop signs, traffic lights, or interactions with surrounding agent #0. However, the AI suggests that the ego agent may yield or stop due to the surrounding vehicle, which is not supported by the ground truth. The AI\u2019s conclusion about cautious deceleration is plausible but not fully aligned with the actual intent of the ego agent.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with the information provided. It correctly identifies the ego agent's position, speed, and deceleration, as well as the presence of the surrounding vehicle. However, it overstates the potential need for the ego agent to yield or stop, which is not explicitly supported by the context. The reasoning is logical but slightly exaggerated in its conclusions.", + "problem_score_avg": "7.0" + } + } + }, + "1069f98a6c0e2a19": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but overly complex. It correctly identifies that there is no direct collision risk and that surrounding agent #0 will follow the ego agent due to the same lane and green light. However, it introduces unnecessary details and scenarios, such as speed adjustments and communication cues, which are not directly relevant to the ground truth answer.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is consistent but overly detailed and somewhat tangential. While the AI builds a logical argument, it includes speculative elements like communication systems and potential speed adjustments that are not supported by the context. This makes the conclusion less focused and faithful to the core reasoning.", + "problem_score_avg": "7.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer does not accurately reflect the ground truth. The ground truth states that surrounding agent #1 will yield to the ego agent, which is a clear interaction. However, the AI concludes that there will likely be no significant interaction, which contradicts the ground truth. The AI fails to emphasize the yielding behavior of surrounding agent #1 despite recognizing the speed and distance differences.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning provided by the AI is mostly consistent with the details given, but it misses a critical conclusion. While the AI correctly analyzes the positions, speeds, and traffic light status, it does not infer that surrounding agent #1 will yield to the ego agent, which is a key aspect of the scenario. The reasoning is logical but incomplete.", + "problem_score_avg": "5.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is departing from the intersection and heading in the opposite direction. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. It correctly analyzes the positions, speeds, motion directions, and distances of both agents, leading to the logical conclusion that there will be no interaction. However, the reasoning could be slightly more concise and focused on the key point that surrounding agent #3 is already departing, making interaction highly unlikely.", + "problem_score_avg": "9.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is not entirely correct as it fails to acknowledge that surrounding agent #4 will yield to the ego agent, which is a key aspect of the ground truth. While the AI correctly identifies the stationary status of surrounding agent #4 and the movement of the ego agent, it misses the specific interaction dynamic where surrounding agent #4 yields to the ego agent, despite both being in the context of approaching a crosswalk.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. The AI accurately analyzes the positions, speeds, and statuses of both agents and concludes that the interaction is passive due to the stationary nature of surrounding agent #4. However, the reasoning does not fully align with the ground truth, as it does not explicitly state the yielding behavior of surrounding agent #4, which is a critical detail.", + "problem_score_avg": "6.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point. The ground truth specifies that surrounding agent #5 will yield to the ego agent as it is stationary and on the right side of the intersection while the ego agent is actively departing from the intersection. The AI does not clearly acknowledge this yielding behavior, instead focusing on caution and potential adjustments by the ego agent. This misses the core interaction dynamic.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with its conclusions. It analyzes the positions, motion status, and proximity of both agents and concludes that the ego agent should remain cautious. However, it does not explicitly connect this reasoning to the yielding behavior mentioned in the ground truth, which would have made it more faithful to the scenario.", + "problem_score_avg": "5.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct as it accurately identifies the ego agent's intent to proceed through the intersection with the right of way, considering the green traffic light. It also correctly assesses that the ego agent does not need to yield to surrounding agents #1, #4, and #5. However, it slightly misses the explicit mention of surrounding agent #0 following the ego agent, which is part of the ground truth.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with the conclusions drawn. Each point made in the analysis logically supports the final conclusion that the ego agent intends to proceed through the intersection without yielding, given the green light and the statuses of the surrounding agents.", + "problem_score_avg": "9.5" + } + } + }, + "106f4f9f8d7c8227": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #0 might need to yield to the ego agent, which contradicts the ground truth that there will be no interaction between the two agents. The AI overcomplicates the scenario by introducing unnecessary considerations about the crosswalk and potential yielding, which are not supported by the context.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent but flawed. The AI correctly identifies the positions and speeds of the agents but incorrectly concludes that yielding might be necessary. The conclusions are not fully faithful to the straightforward context provided, which indicates no interaction between the agents.", + "problem_score_avg": "4.5" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's conclusion that there is minimal risk of collision and that the situation should evolve without incident is partially correct, but it fails to explicitly state that surrounding agent #1 will yield to the ego agent, as stated in the ground truth. The AI's analysis is more focused on the speed differential and timing, rather than emphasizing the yielding behavior.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly analyzes the speed differential and the relative positions of the agents, and its conclusion about the minimal risk of collision aligns with this reasoning. However, the AI does not directly address the yielding behavior, which is a key aspect of the ground truth.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's conclusion that a collision is likely is incorrect. The ground truth states that there will be no interaction as both agents are in the intersection but not in conflict, which implies no risk of collision. The AI misinterprets the spatial relationship between the two agents, leading to an incorrect prediction of interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is partially consistent with its conclusion, but it contains inaccuracies. While it correctly identifies the positions, speeds, and directions of the agents, it incorrectly assumes that being directly behind implies a collision risk. The reasoning fails to account for the fact that both agents are in the intersection without conflicting paths, which aligns with the ground truth.", + "problem_score_avg": "3.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly focuses on the crosswalk and the speed difference between the ego agent and surrounding agent #4, missing the critical factor of the red traffic light that surrounds agent #4 is approaching. The ground truth explicitly states that surrounding agent #4 will yield due to the red traffic light, which the AI failed to address.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is consistent with its own analysis, as it logically explains why the ego agent will pass the crosswalk before surrounding agent #4 based on their speeds and positions. However, the reasoning is incomplete as it does not account for the red traffic light, which is a key factor in the interaction.", + "problem_score_avg": "5.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #5 will yield to the ego agent due to the red traffic light. However, it misses the key point that the ego agent is already in the intersection, which is a critical factor in the ground truth answer. The AI focuses more on the speed and distance dynamics, which, while relevant, are not the primary reason for the interaction outcome.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent with the conclusions drawn. The AI logically analyzes the speed, distance, and traffic control factors to conclude that the ego agent will pass crosswalk safely. Although it does not explicitly mention the ego agent's presence in the intersection, the reasoning aligns well with the conclusion of a non-conflictual interaction.", + "problem_score_avg": "8.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it predicts a passing scenario, whereas the ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #6. The AI misinterprets the scenario by assuming a potential interaction based on speed and proximity, which contradicts the ground truth.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions, as it logically analyzes speed, direction, and proximity. However, it fails to accurately conclude that no interaction is anticipated, as per the ground truth. The reasoning is faithful in its process but flawed in its outcome.", + "problem_score_avg": "4.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer fails to recognize that surrounding agent #7 is yielding to the ego agent due to the red traffic light it is facing, as stated in the ground truth. While the AI correctly notes that surrounding agent #7 is stationary and the ego agent is accelerating, it misses the critical detail of the red traffic light affecting surrounding agent #7's behavior. This oversight significantly impacts the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is largely consistent with its conclusions. It accurately analyzes the positions, motion statuses, and speed differentials, and correctly concludes that the interaction is non-eventful. However, it does not fully align with the ground truth because it omits the influence of the red traffic light, which is a key factor in the interaction. The reasoning is faithful to the provided information but incomplete.", + "problem_score_avg": "6.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's conclusion aligns perfectly with the ground truth answer. It correctly states that surrounding agent #8 will have no interaction with the ego agent as they are both heading towards the intersection but with no immediate conflict. The reasoning provided by the AI supports this conclusion effectively.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically flows to the conclusion. It accurately considers the positions, speeds, directions, and traffic control devices, and these factors support the final conclusion that there will be no interaction between the ego agent and surrounding agent #8.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct as it accurately identifies that the ego agent will continue exiting the intersection without needing to yield. However, it does not explicitly mention that surrounding agents are required to yield due to traffic lights, which is a key part of the ground truth answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically derived from the provided context. The conclusions about the ego agent's actions align with the details about its position, speed, and surrounding agents. However, the reasoning could have been slightly more focused on the traffic light constraints for surrounding agents.", + "problem_score_avg": "8.5" + } + } + }, + "107054019ae57da5": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent must yield to surrounding agent #0, whereas the ground truth clearly indicates that surrounding agent #0 will yield to the ego agent. The AI misinterprets the interaction dynamics at the stop sign.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with the information provided, but it fails to correctly interpret the implications of both agents approaching stop signs. The conclusion does not align with the reasoning, as it incorrectly assumes the ego agent must yield despite the surrounding agent being at a stop sign.", + "problem_score_avg": "5.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, which aligns with the ground truth. However, the AI's reasoning includes unnecessary details and assumptions about the ego agent stopping at the stop sign, which are not directly relevant to the interaction with surrounding agent #2. This detracts from the correctness of the answer.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is mostly consistent with its conclusions. It correctly deduces that the two agents will not interact due to their positions and motion statuses. However, the inclusion of speculative details about the ego agent's behavior at the stop sign is not entirely faithful to the provided context, as it introduces assumptions that are not directly supported by the information given.", + "problem_score_avg": "7.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses the key point that surrounding agent #3 will yield to the ego agent due to its stationary state and position. The AI incorrectly focuses on the ego agent yielding, which is not the primary interaction described in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the analysis provided. The AI correctly analyzes positions, speeds, and intersection dynamics, but the conclusion slightly deviates from the logical flow by emphasizing the ego agent's yielding instead of the surrounding agent's yielding.", + "problem_score_avg": "6.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 will yield to the ego agent due to its stationary position and the ego agent's approach to the intersection. The AI focuses too much on the stop sign and the ego agent's need to stop, rather than emphasizing the yielding behavior of surrounding agent #4.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the conclusions drawn. It correctly analyzes the positions, speeds, and context but fails to prioritize the crucial interaction where surrounding agent #4 yields to the ego agent. The logic is faithful but incomplete.", + "problem_score_avg": "7.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that the ego agent should stop at the stop sign and considers the need to slow down for speed bumps. However, it misses explicitly mentioning the ego agent's need to yield to surrounding agent #0, which is a key part of the ground truth answer. It also does not explicitly state that the ego agent does not need to respond to surrounding agents #2, #3, and #4 since they are not moving.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning provided by the AI is generally consistent with its conclusions. It correctly analyzes the stop sign, speed bumps, and the need to assess traffic before proceeding. However, it fails to fully align with the ground truth by not explicitly mentioning yielding to surrounding agent #0 or the irrelevance of the non-moving surrounding agents, which slightly detracts from its faithfulness.", + "problem_score_avg": "7.5" + } + } + }, + "1071fe439da7c12f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI\u2019s answer acknowledges the possibility of interaction but does not explicitly state that surrounding agent #0 will yield to the ego agent, as per the ground truth. It focuses more on potential conflict rather than the clear yielding behavior implied by the traffic light conditions. The answer is partially correct but lacks precision.", + "Faithfulness score": "7", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided context, but it overcomplicates the scenario by introducing unnecessary details about potential conflict and collision risks. The conclusion does not fully align with the straightforward yielding behavior dictated by the traffic light conditions, which reduces its faithfulness.", + "problem_score_avg": "6.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 will yield to the ego agent due to the red traffic light. This aligns perfectly with the ground truth answer, which states the same outcome.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusions. The analysis of the traffic signals, the maneuver of the ego agent, and the stationary status of surrounding agent #2 logically lead to the conclusion that the ego agent will proceed without hindrance from surrounding agent #2.", + "problem_score_avg": "10.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #3 will yield to the ego agent due to the red traffic light. The AI focuses on the ego agent maneuvering around surrounding agent #3, which is not the primary interaction described in the ground truth. The ground truth emphasizes that surrounding agent #3 is yielding because of the red light, which the AI does not explicitly state.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly faithful to the information provided. The AI correctly identifies the positions, speeds, and traffic light statuses of the agents. However, the conclusion about the ego agent needing to maneuver around surrounding agent #3 is slightly inconsistent with the red light yielding behavior, which should have been the main takeaway. The reasoning is logical but not fully aligned with the most critical interaction.", + "problem_score_avg": "7.0" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but misses the key point that the ego agent is exiting the intersection, which is crucial context. The AI accurately notes that surrounding agent #4 will yield due to its red light and stationary position, but it doesn't explicitly state that the ego agent is exiting the intersection. This omission slightly detracts from the completeness of the answer.", + "Faithfulness score": "9", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logical. It correctly analyzes the positions, motions, and traffic light statuses of the ego agent and surrounding agent #4, leading to a reasonable conclusion. However, the conclusion could have been more aligned with the ground truth by explicitly mentioning the ego agent's exit from the intersection.", + "problem_score_avg": "8.5" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but fails to fully align with the ground truth. The ground truth states that surrounding agent #5 will have no interaction with the ego agent as it is not moving and is departing from the intersection, while the ego agent is also exiting the intersection. The AI correctly identifies that surrounding agent #5 is stationary but incorrectly suggests that the ego agent might need to maneuver around it, which contradicts the ground truth. The AI also introduces unnecessary considerations like traffic light status and crosswalk caution, which are irrelevant given the ground truth of no interaction.", + "Faithfulness score": "7", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but contains unnecessary and speculative elements. It correctly analyzes the location, speed, and motion status of surrounding agent #5 but then introduces hypothetical scenarios (e.g., navigating around the stationary agent, traffic light considerations) that are not supported by the ground truth. While the reasoning is logically structured, it diverges from the simplicity and directness of the ground truth answer.", + "problem_score_avg": "6.5" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly implies that there is a potential interaction or need for caution between the ego agent and surrounding agent #6, which contradicts the ground truth stating that there will be no interaction due to agent #6 being stationary and on the same side of the intersection as the ego agent, who is exiting the intersection.", + "Faithfulness score": "6", + "Faithfulness explanation": "The AI's reasoning is somewhat consistent with its conclusions but overstates the need for caution and interaction. While it correctly identifies that agent #6 is stationary and not a direct threat, it unnecessarily emphasizes the ego agent's awareness and safety measures, which are irrelevant given the ground truth that no interaction will occur.", + "problem_score_avg": "5.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to complete its U-turn and acknowledges the green arrow traffic light giving it the right of way. However, it does not explicitly state that the ego agent will exit the intersection, which is a key part of the ground truth answer. Additionally, while the AI mentions surrounding agents' statuses, it does not clearly state that surrounding agents #0, #2, #3, and #4 will yield due to their red traffic lights, or that no response is needed from the ego agent towards agents #5 and #6, as stated in the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with the conclusions drawn. It correctly analyzes the ego agent's current situation, the intersection details, and the statuses of surrounding agents. However, the conclusion could have been more precise in aligning with the ground truth, particularly in explicitly stating the ego agent's intention to exit the intersection and the yielding behavior of specific surrounding agents.", + "problem_score_avg": "7.5" + } + } + }, + "1074089cb5094c55": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer deviates from the ground truth by suggesting that the ego agent may need to yield to surrounding agent #0, whereas the ground truth states that surrounding agent #0 will yield to the ego agent. The AI correctly identifies the positions and speeds but misinterprets the right-of-way dynamics.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is mostly consistent with the provided context. The AI correctly analyzes the positions, speeds, and potential interactions but draws a conclusion that is not fully aligned with the ground truth. The reasoning itself is logical and well-structured, though the final conclusion is incorrect.", + "problem_score_avg": "7.0" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that 'No significant interaction is expected' contradicts the ground truth answer, which states that 'Surrounding agent #1 will yield to the ego agent.' The AI failed to correctly interpret the dynamics of the intersection and the yielding behavior of surrounding agent #1.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning provided by the AI is somewhat consistent with its conclusion, as it analyzes the positions, speeds, and motion statuses of the agents. However, it misses the critical point that the ego agent is closer to the intersection center, which is a key factor in the ground truth answer regarding yielding behavior.", + "problem_score_avg": "4.0" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct but slightly overcomplicates the reasoning. The ground truth clearly states there will be no interaction because the pedestrian is behind the ego agent and they are both heading towards the intersection without crossing paths. The AI correctly concludes a minimal or non-existent interaction but adds unnecessary calculations about crosswalk timing, which, while logically sound, are not essential to the conclusion.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning is broadly consistent with the conclusions drawn. The AI correctly analyzes positions, speeds, and directions but includes extra details (e.g., crosswalk timing) that, while accurate, are not strictly required to support the conclusion of no interaction. The reasoning is faithful but could be more concise.", + "problem_score_avg": "8.5" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent will need to yield or stop to avoid a collision with surrounding agent #3 is incorrect. The ground truth states that surrounding agent #3 will yield to the ego agent because the ego agent is closer to the intersection center. The AI failed to recognize this key dynamic and instead suggested the opposite interaction.", + "Faithfulness score": "6", + "Faithfulness explanation": "The reasoning is somewhat consistent with the information provided, as the AI correctly analyzes the positions and motion statuses of both agents. However, the conclusion diverges significantly from the logical progression, as it does not align with the ground truth of surrounding agent #3 yielding to the ego agent. The analysis of proximity and crosswalk considerations is detailed but ultimately leads to an incorrect conclusion.", + "problem_score_avg": "4.0" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests there will be an interaction between the ego agent and surrounding agent #4, emphasizing navigation and safety considerations. However, the ground truth explicitly states there will be no interaction since they are heading in opposite directions and surrounding agent #4 is not moving. The AI's conclusion contradicts the ground truth.", + "Faithfulness score": "5", + "Faithfulness explanation": "The AI's reasoning is partially faithful to the context but ultimately inconsistent with its own analysis. While it correctly identifies the positions and states of the agents, it incorrectly infers an interaction where none exists. The reasoning about navigation and safety is logically consistent but misapplied to a scenario where no interaction is required.", + "problem_score_avg": "4.0" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's conclusion that the ego agent would need to slow down or stop due to surrounding agent #5 is incorrect. The ground truth explicitly states that there will be no interaction because they are heading in opposite directions and surrounding agent #5 is not moving. The AI failed to recognize the directional aspect and erroneously concluded a potential collision scenario.", + "Faithfulness score": "4", + "Faithfulness explanation": "The AI's reasoning is consistent with its incorrect conclusion, but it is based on incorrect assumptions about the relative positioning and direction of movement. The AI misinterpreted the spatial relationship and directionality, leading to a flawed but internally consistent argument.", + "problem_score_avg": "3.0" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's conclusion that there will be no interaction between the ego agent and surrounding agent #6 is correct, as the ground truth answer also states that there is no interaction. However, the AI's explanation is somewhat verbose and includes unnecessary details that slightly deviate from the simplicity of the ground truth.", + "Faithfulness score": "8", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion, as it correctly analyzes the positions and behaviors of the agents. However, it includes additional details like 'benign interaction' and 'safe distance' that, while not incorrect, are not strictly necessary for reaching the conclusion.", + "problem_score_avg": "8.5" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #7, as surrounding agent #7 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning provided by the AI is consistent with its conclusion. The AI correctly analyzes the positions, motions, and context of both the ego agent and surrounding agent #7, leading to the logical and accurate conclusion that there will be no interaction.", + "problem_score_avg": "10.0" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, aligning with the ground truth. The reasoning provided by the AI is accurate, as it correctly notes that surrounding agent #8 is stationary and positioned behind the ego agent, making interaction highly unlikely.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows from the provided information. The AI correctly assesses the positions, speeds, and behaviors of both agents, leading to the conclusion that no interaction will occur. The conclusions are faithful to the reasoning presented.", + "problem_score_avg": "10.0" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, which aligns with the ground truth. It accurately notes that surrounding agent #9 is not moving and is not on a collision course with the ego agent.", + "Faithfulness score": "10", + "Faithfulness explanation": "The AI's reasoning is consistent with its conclusion. It thoroughly analyzes the positions, motion status, and distances to the intersection, and correctly deduces that no interaction will occur. The reasoning supports the final conclusion without any contradictions.", + "problem_score_avg": "10.0" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is stationary and the ego agent is moving away from it. However, the AI incorrectly assumes surrounding agent #10 is in the same lane as the ego agent, which is not explicitly stated in the context. This error affects the overall correctness.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is mostly consistent with the provided context. It correctly notes surrounding agent #10 is stationary and far from the intersection, leading to no interaction. However, the assumption about the lane placement of surrounding agent #10 is unfounded and slightly detracts from the faithfulness.", + "problem_score_avg": "7.0" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it suggests that the ego agent will need to navigate around surrounding agent #11, which contradicts the ground truth that surrounding agent #11 will yield to the ego agent. The AI misinterprets the scenario by assuming surrounding agent #11 is stationary and blocking the ego agent, rather than yielding.", + "Faithfulness score": "5", + "Faithfulness explanation": "The reasoning in the AI's answer is somewhat consistent with its conclusions, but it is based on incorrect assumptions about the scenario. The AI correctly identifies the positions and motion statuses of the agents but fails to correctly interpret the interaction dynamics, leading to a conclusion that does not align with the ground truth.", + "problem_score_avg": "4.0" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #12, which matches the ground truth answer. The reasoning provided by the AI aligns perfectly with the facts given in the context, making the answer completely correct.", + "Faithfulness score": "10", + "Faithfulness explanation": "The reasoning in the AI's answer is consistent and logically follows the details provided in the context. The conclusions drawn about the lack of interaction are fully supported by the analysis of relative positioning, speed, and motion status, making the reasoning faithful to the given information.", + "problem_score_avg": "10.0" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses some key details from the ground truth. It correctly identifies that the ego agent will continue towards the intersection at a constant speed and mentions the need to be cautious due to the crosswalk. However, it fails to explicitly mention that the ego agent will interact with surrounding agents #0, #1, and #3, who will yield to it, as stated in the ground truth. It also does not clearly state that the ego agent will not interact with other surrounding agents due to their positioning or lack of movement.", + "Faithfulness score": "8", + "Faithfulness explanation": "The reasoning in the AI's answer is generally consistent with its conclusions. It correctly analyzes the ego agent's speed, position, and proximity to the crosswalk, and it logically concludes that the ego agent will continue moving forward while being cautious. However, the conclusion could be more specific regarding the interactions with surrounding agents, as the reasoning does not fully align with the detailed context provided.", + "problem_score_avg": "7.5" + } + } + } +} \ No newline at end of file diff --git a/plt-graph/exp10.png b/plt-graph/exp10.png index ff706d670b27c56e8201a04f404cb4cca16d4225..c12c0b7fc4c3effe51fa1ebdd82630ca59ca490e 100644 GIT binary patch literal 20942 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 literal 21226 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 mN{isZ6=miBqW7RJZ~wjSmK-0?({WXp-?F6 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 Uuth8E0s;b3qO>9{ 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp17.png b/plt-graph/exp17.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3a19941a615964840144d5e79eb92e7892e5e7 GIT binary patch literal 20076 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp18.png b/plt-graph/exp18.png new file mode 100644 index 0000000000000000000000000000000000000000..e14e9585c160d636562fe6513d0035242883d98d GIT binary patch literal 20086 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp19.png b/plt-graph/exp19.png new file mode 100644 index 0000000000000000000000000000000000000000..4da1521c9d1384f26bb228c116e35b175f427482 GIT binary patch literal 20092 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 D7bB;MiAHDan9$c2XxM3~JS_*}- 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 diff --git a/plt-graph/exp20.png b/plt-graph/exp20.png new file mode 100644 index 0000000000000000000000000000000000000000..e33d923a590edf037d0edc73a4152c060ed468a2 GIT binary patch literal 20085 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 mN{isZ6=miBqW7RJZ~wjSmK-0?8E0s;b3qO>9{ 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

D}^`GB%Yz^=JYHfn*86+k&s z#Q^GcTJdu4H7|Burl@p}Y&eV}4R`B^xGMIJe8&Wc!4__^rkDf*=VlyP-PF`%Sd1-A zP>qx!-$#I25lc)MWaJ4jnWwz1P4Z4>$?XDP}Ao zjnP1MM4C)4d&aeVr}rWgXk0*H$xQN96U1yo1eTt={Oa!ua-rTW4KexqYrv*MydsPr zZ@KAB`06Ch$H#BFb=L9bxsKcer3rXufly^0mSs!?p#->;jpKDU0m*YZL|`Qvw5jB2|_~+yUhK z2mqxoAd)A++?YcrgYa6^mrg_iq*HmYx`kw{p5SE!F>^f4iwUl9GO2HkcR>sM p7nOp@$`p2A-01&jZRPkPr7fstWXFZwCvZ^;RZit}>dDK${9l36Tk8M- literal 0 HcmV?d00001 diff --git a/plt-graph/exp23.png b/plt-graph/exp23.png new file mode 100644 index 0000000000000000000000000000000000000000..e5433e72f60ce1f3876c2e3f1c3055104f7af596 GIT binary patch literal 20118 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp24.png b/plt-graph/exp24.png new file mode 100644 index 0000000000000000000000000000000000000000..6eea27a459e965f0a8cd9676338f4c7004b57a6f GIT binary patch literal 20142 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

W;9e`z#)FMWZhg9 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 Mb7xXcU%vJK0KI5vkpKVy literal 0 HcmV?d00001 diff --git a/plt-graph/exp26.png b/plt-graph/exp26.png new file mode 100644 index 0000000000000000000000000000000000000000..5812dee529ca341f2be38ed4ec69b6eb889a3e32 GIT binary patch literal 20540 zcmdVCcT`o`mo0q7tR?&mC1o@7Zu5plYmOj zC?$$W29XSc!8S zt)WmT>!`A)lqnP@4+>>T`>GZAiAYs*7yct|d-|fSiiM%A!xd`-ioz9J%j*`l*G;bO zv^TJ}F|oLDm|sYcU+}v^MC&fehX_OfhX1%t#Osrma>{Q6bj1~@^4A3 zbc_jwaz2)N>V&Fe&`^tm?WXSwj4`uad6lcFl#R~5Jg0f9??3U_8D6_8RyB@qXSM2v zQ>QmAkK7XH#=9oAkR|S(ENkQ*wR<~tZXc)5{w&(NUw*@?N3TlDXYI;Eidt)=Y(@qL z-=}`{7CM73f8}jk&X506Shg(r7ll%Ib(IJH$7UJIGW?E>X(xr^@%~?wB^1hmyOdQF z%4MNt$MO67yC_T)%EjOQ2YuwZ@H!8b7{#Y$hA9QdjvaflUxPo*tX^@iVvuZ|LBn-X zyMZqU)q0!~_J%l~6b)41bo+57;9#fQ0}jbcKPP(p@PF4u1Nn7xpBt8DPaW3DbG8fb zC}#U!5vqs3u8UX8NjCUx>!DMkfn{OlpPvf_h})TlTlwq|+Z|Z;tn1a2SoOq4TD||1 z+l>n|1IaESjII*jZHKP?k#5lzVmcN1)P4TvS(&@PQLVSjem(PWhuC=KfZXc9vglnh zcOy%3U8aW*;(y#-x1C4qSlrN*?u=Py@dMN9NG}eTK_Mp>m;GlS?ufq-_WR6apRb%* zyKCHB@HvGeH<~ZRCk?PT3*YaO~Urdw=|K0bkMe{d?2_%{Q@zWdQ+V zHqkd)bNv~oV;*a!7@E|^D)Dj@TuL)#c545k;ppfXQ0IS1*SRn1YP$-j=V^lH*WcDp2t9<40L1N5_4Ff`Vm!+u7J+slGhijY`RyDQ5~6=3V0J z1r0y58I(R#5XhUP%ectO{vmq(>kHSP<5B(NK^iTyB|Grq+mf8`+uQ4NKD0i zUfz#iE#k}r)x=9857>lG?%K6W+^+wLs732bF`Mq*2p=iAGy}1k=R*2HIw#*0KV(l3 z$p3LN;;fIl{~?1-|N7UX!OUW|G>bM}1ex00%#?_Am+bfQU@bp>o$7eCgxVW zzMQL&njO^nK-;%ubnFACM#CEeZfaeEhK9CwP%CX(2fHDgcqvWJI)DU`o0}U;L~c&N zQLFGsclWQ)_;un#-Daq)`_*l&)fO7l%>20eo@(eS{T%c0;R1oD+SUC7VR_i3IN53^|L*jY3bWWDb4yA_s`y-L&t zj!WxSt*R^!mQagPWM95wMLeRM9y!rdk$`>vX11JnO{FA>hfu`r#h2$^TbPPih0HEZ0F!e!UmX> z1&DYlZsii8y)*f0-jp6^QWO2@(XLyE3_r)>`v!0c2c3-VM{e}yO}DCayt_l52tQ1~ zXL$oed6BDXI(?**6aq#2`eH(#g@%TXcb6q}6nXBKlG3d%m{Up87NaWX*bfa3I1R*o zDhoW4pcHZD6P^3MtE;POwyg<%QgKCdb<9RT0lg#~ZxROM6B8=u&UrI)9E-IdYK%L6 zlZpHUi^#fueOR!B15frY{UQ9ut zO;0(mR{C}34uKQdwq6e3Qw+N>2RM_xG?iDI-Vd;>&}o+ioW3&&ZvZ`WcA}883uzr%7kGAnfW2+}+99 z(bd%@;hJqf)Nd*F08#g+*G9XcMv+<3&}O%R?y^AVg}G_9Ov@|lb{rKfvHJbiEwwCb z1L}0Tdv1-CM2B*$RcCRW?Bm_z491sKlNv7SO6DCGa3EPXZQ{Zfl>V=;^%)G3 zb>81&Re8MowCz;C8g)89G*rSNiBC0lr@OoR@@30nZ?t4H4!iL7HAT9`Y@BhyR^XS9 zaOBm}uWQczny5Hb+>4WcA>^17S^jMzrd(Tps7y#0r!_Pyr6K3X57Z|oI8XHlNYS#Lr-u`x#spSNbyz85&#W{A6) z*^vTn>bmWssuwOiLhR6u8{<@B`n~psT=3e!%|-3};8UNFoFBh|Th18C!+CZn1G%e` zD>*{WOGv-CcPOLn+2n``16TO!AX-&b)n6HQ>mKX=X!3Qw=cTG1vP-Cjom|d-)Uxo3 z6m@E@`WY@G9OX}_6LNn1iMSl8ZI?1FJ9J{q00YK* zDv}rGM%)Rc*nIF(WVYQv>sWT+j~|XAH<~XNd9r9=%hPQ8l-F@eY42Bmc>$Yii+VkK z$+ITrJW`dqX-jrm{?G31C@kmaW~Vbk54nEx+B?`(*YPM9BdEf;>8Ez`Oxb3U@fM%9p zTZ^VnY$ND{~&Qqqd?yrWs@!3k$xw=d%eS?Y+oyU(Ki#v|K_>!dK(l*tc zbn?!c#!Rb-Y=@B~1YE0?1c$KkBcP%voDhXzakaHu_*Ji6i=2~gp-+DI(~DOO7AKjQ z6hNnmZeICk2jaCdZqOIPXv0}OPR&EP(4r$jLln)zzuB3Cz z*M`Zgq>a8^Ne)){PqGS$S{drtx+w%wJRXgjBroT_k{}>bw(%u(c<5BJuiJ!WU%!6s zFsPyL9YSMh(tdP!n$|==AoagB&&8}U)g)di;;!Vi8(&|YKzi{@PEMu;T2#I`L7!;O zbxJ7@l};{xusx>a@wCKH$`*tWa;+(TeJTCAe~8Z-(2(JQ4ESj;WA?kHjrOz6E=P!MVsmU!0BFV6iSO8 z>-=CgJ>24q)!#9%^1QL_Ee_7d`g#p4K!!VyLvG}|$S_`&Xf|p$(2wX5i&kNcByAx) znh;>wk()Pfb^|yUv+3{Nv*!WVVW;tHo_!x4Y&YWa$K8mf0-w&Fp=;*5X5}f+$EK#z zDr(sDuj=b7;G`1b1ZG$vIhiB%mA${eWyn0oVMLVv zxwk6ffl%?E@8A2kw_l#<@;xv9c>zBwuBoZHedkV#25t4!^~ThaR{M^3%R2`K%#eOZ z1c$Lf-WeGgCJk?*@(yO@pD!6#PrPKn<=^HuTgIk;F3bA+XL*6VYu-Z97hhkEHm!?i z^ld2CNi%&~^oyBO>N=M{p8RXm3Kov*H`;_PLiOaLN9q#%iZTHPh3TJh;7u$NaFU8# z0qe}U{K0}G&gGcY@a!q^-g=lPE6M621FOXTY*)$k=FF-q%|J~7$U8ijiW3LuFDyIW zMcejOccVfv4`JDbah`ej`ODcR+Iniz&6^~?n0zj1^8rqI&a`~Z(aAcAkz9Q)f8bOu zi6LAU>+Lw&eyV7L=~34ouY|hi(?2v7Okm@Vph&+d82OSISn`CoMyFngH={oIf(1a+ zj^gde_K&aO7~0i4@k};Mx4Bz*3w2k9$rKx=_=}o19`*LCWjMRIbN2wQ9(uZ8LzM2# z)!El)!l(YyI6NYv3_lv|M8f$Pc|Nq2q`L+uP`x@}j`ycdojRKO0eggV8i1V9)U+YJ zZ~dM#N4=X6x1F7x`rkS`eYMX3m1j9kMEj!-QA4Hj#N6j|X&2u)T*cw>iq4sn@JGpK zk^WUFYyFia=1<&WXxB_xutdG=ArzC0jMHb%Y;$*C$SJo0csfJhdgO-oJ=09Txz1ol z1N|IM0Q*cMn|}Y7L^JE}pA7hQvb!o<6SaUGIGo~%^ zcEzzc4NqqF9mP5YZh2#)qk@ty3}K*A#2(-Tdoi`oZ5}D7xTvTom(gg(+^Lgg{eIcX zm4Vp3rl#TA3?xRcFB+h3v(HH=2hXR&(L|*;-3^b=%W&!p*OtN_Y~q8%D*)~ zKhJaM&>^Kcs?)x+lu+k>UMFW~K0(0?2m)10%UAic!xG;=J}$bF+Y{na-Z6)@AUFXq z`*WCNhic8x>MS5==81DyJYC0*<$(Sd+<%RIkgTWu7`;M>4)A~)YB3kJLV6*WY3Wk- zhpvQp0gu%*XW0yyt3;oBjDvy9#Y;tj2vrP~O2mUm9O!)gfkP!q?&)w=xE%A~Xs8J1wWg1AVd1ET?=@>1JXHCfh=B>F|P!13k@z-KV z_BmwmDe{j$R(URjJp)>N`}XZLEmidB(W6x&0o-y=ERXK?4FZZa9cj&DOl74d%}fmp zfZH&i9gU2XuK4=(;_1_;<3NGN$H(cOo}M5iw(W&WJXKz|(WZmfY(5Z+O4Cvi&tsk3 z6j5fV0wyHWG(=O&cXiUqbyNcDtE|^^r|CK9v?T$bdp+arOA37~RP5H60R&Eu1pFme z2#|Jni`QWZ6fsjrEl~^>D}$j(Za-cYUtYgz~RQFNiB|uehxaai4brLf)HIV7t6z zD8;NcHte(i;ifh{e8ql^Bvs(=uAUx0;{~g^89M?KnI|&aM&7k_mHM5>bI46*&kdfy zb_!qrDu_Fg1Ix!`CgaJ~y1I_rtRAkkZr_Y=J@#d#H%L;bV<$Wy0Ii^ zBoAAvz5y<#M*=j8?U++AKHpoEI>X$0-_v^IN2GnVNZIv7n1HfEZDsH6>FKdNd~SB`SKD#nV#}s8)Ft`W<}w)+v%VbEfc}+I9Shw&JYlnxj7PBL(~<+9Vwb+Du8e)`yvjmH_e1e`18I`|8^6mqu zv5)Npd2}9p{bBf$hFnVpqZg^BvKyQdfV-(J!=&a6>Un_RmES{LhQ;20_>iETW$iqY zH$Av(P`71%D|fTMV@5@(b4&-v9Y$EY^RU;AM}wfbU)1BOM)& zdyBatthKkdOAHIpeMjf0Wpgu$!>JYdd3qJW5-~WXL;-}%qi7w_G|f3ZtCP8%laq5c z-Q@_Lpt|tpQr3+dBaXB>?r9hsP7gi*^~=WjTb4OZ$)S1mZAG`+ek@yEz+RHJckn~? zHwnjN4mrvJ<;agZ(vy)%zSxrl(HqU+Q$?dFy8A>$)xlqF*cK3dUfqu?pVhLA2LJit zLsN31T)(qSUz^8s%W1IqAtENBMxI4VuLd0<5#ed~cz(8WM1A^}?8Ptm*@krzfGgo{ zE|1JqA>45jdx25U%O*QI;-bW zv~7WnK*3S~bagx+*$wbnO;9aU03!&4YGEhuT-#)JIjYkf?Zkg$e^uPzK zHv>_Um7SedZP${gggfAU4S8CGE=r4+gAcpR>=sofC5-Z_lNf>EhrgvVB!=v|8qK;|OCB6=ghhI4yGh>jmUB6(E^8+0w-1 zrd#T!a>MR60A9*BnU+ruBp2{#st~DV(>Zfdt?(Z6gF4y5RdH{SNlg$g3>E!pWi#b! zXP3$8X^lMRDdEe7l$K1ZqIu&;PhjJ<;H_aen@_sj!ofU2O?)MTB>#wHO68jEn+3O` zDg(hiK~Z_YE+N|BL?|aj*6QJw9N(5`y2P50pxd0~S{Xw6-aO}?Tb`fDYRQ{t=Bfp$ zRhxYvlhHQhH2aI2yHN@WBN>^#wVu(}*B1vZgVbW@=@tjy9X;6M8K|k;l0W9h6hT2$ zq3Dy6hRQ8Fo|0d`l&gAf$XCU5wEgX+j2ppFXXCPLdioLZ3XFa2EsP0>3r|tD!QiH^ zW!M?X-XD2kYY|#1BgW)d(3ozX0C1vB_@s5$ANRHhBmueZ=i`&Zf6m)JP)@(zpc-*z z9W8+xNa426 z(Jk8xZ}I^)g%1c?OntjAVA}oJKVGjO-+8h(3~-vTbHF@LaF{3%(FBO2yzxJEzoXVe zO4j{&{P&|(0bc_V$M->oiDO9SLg8Gw#-PN314qaDIYn|#c~#5Bkfw~mFSUdtjc z%At*>0Zf}BEqWCs7D=i=7_vC@G~>zMDg;O^5E^ul!%$NDP@-p`#@K-fORV@9iHe{F z;gE1=qMifw>mVBHz(P5U^HgRe1dS_q&LR5aHB+KNBcc!={ZOMGL$U!za{iDF7?ptY z(vOXSlu5TA{2KQ5*2)B60_4OpTHRdnb_?T*5J?2dE4QEDw?M8HIRun47rb_hq7R~z#Su&EM0*R zmvQd)H+mvwV>kymGXwn6H8K(!zE>|YJ@p5(+=3fF^1&B;AuF0W^oi z)UwA@vuc9XaEphLd=7!F5;g?-?T^Y82&^OFy|)CCSslo4F%W2lqqB1Wa#fh|)5YhaDhlI_A8Zt%>w(vuT|A zXf*415Scvs#op0KNQU5kyxD7ie0;nI^+KFSP_R<=&2(AtFjMOrgZo~8{2{nx$rAF@ zRO705zpz5g6M1tFW%RuXWBrMGp@8d+QbZl}`7?mj+e2Up&TWjA$mSxB9eGolYuUT^l z@;M1N!d31c-={YDzTE%$^XJz- zIQ7THoI}DrckbNhr7g>kISgypyfKhhd2xKn#((|mGQPTu+yXAFZ$Hu+Z2YUQCMFQK z*^tqJJi9l$$Q4jN`oygjWTlBF)AiZEM%cKr&~>U#gJDH)jP^}%0f}OaC?E-yZMVq1 z0*;$=YVLWn!|p3zhk%LPRz5qRc@^o(2({RR>?$5M4#`h5<3Q@*K&TtXUlbrtkO)(#2t3HbWE~8fGp(4L6y&CT9O8F% zI0*83vT%wHHDw%u7AlPG;X!XE8XbpjG=oxnd|#Ed&HUVZ&c%ftwebj^>o5xIA<@8t zRZ_F|4%urj(n%zUIgLk>{Sq;)eI?yc$VQY61*9toF1|FE9KX3-p@r69EmTb3T{0^= zhlb2?+vlLIeqNYsTZoFa@XcBKgE6nzo4_LVqcBV|D_>z~q#d0i1+X=5G@Kqk>8d%r z;p_Z@Tp<-KB^F?=zriT9?#EbXu+Bp*HmKM{(npxJPEQ$7DE05%=HF&b@?LhZnVB>J zoIFSRpJ1MLX!a4<2=(vNp0Oh|Am=hn8}SYHZ~@X^?=U6+1SPcTLeonTLe){hXNrzcVFmV4Hi(DHO*)nnfwPdCqFw^3RB5`mAddl9qAT z$Hy~+DHZ4!@ho4tG68x5Szwu@O%zId$GD~a5|b!=C>}VRUgRx=e$5loH-hdhMb#n(R~Xwx}AF z?D0UpqR&fiVB4_as)e*o_qp(h-!srI1ITv>s9#B;JbFg1b3WwQ8fNA%Xxgm1eh@wXfa?fq<3yBbX8rwJ_VmD=2XyDLKe%1GhgMfPP-aUeyRgrWc`;;Ic z4{D{`UaiA!n^c%DZAT7M!+DyWg;+07hu$n=*RPuQvpW!tzW@@(=r#0~>wQVbQgN)wSmy!C;48$_&;c6?3?x;LcFAz)D&eyHh4lKxFxvWG1or=qv8OZLeJxwk z-rTlot|p(~EJh#gznOETiHUNAc7QPgzKt*!05G{$=) z1eQ>S@BW|p`oBC;ogITrl!P@S8NwxuJw@A(b;()obyc)nkuDJ_^61#_vZG_BVMRzHJ-W3Au5nxh7-P<+gm9U0*dfE5G(d6i8w|fy5k*W+Rt`0y_U!uU;J- z5zx#3B`AlyBCCe41-`CB8zBxLB@VhvV?Hg%nK2lLGz5{GM@+%iHWgWZ=F$G;mrwtP zO_^5A|5{t|`563L5ognk0Wz5Stuo6PN;53mX5@!WYfsni zUiAV*Q|d?iQfSzVJ3`6mKD6Wl9Tg@DP(dPxlz99o#)CT!m8-w4pulZ*=m_!kfPXU= zZ5J`^iu{DXY4(&~UI^QeJRK61zwz@j!_G-TRBk@YI0_pl=g8m&@<$=^I!ob(^hoWo zUSbIpMI3c#_^Bbg12gR_DPYC|c+7SxFBv6z8I(c@*)h;B62MKzr>4~K8R9E4@lugt?)|GU6VimSPzWomzQ|fhhv+VbtG|j5oYC8N0xe}pE#3aZ{@Djr%rL1TGYlq zMi+1J_C0bxKJx5KKEvIjo}?WI=a58dvUZj-aE86I+VH<8?nmJrJ^@`{&N|!HmuNPd zH(Bz`RL_lVEqa=zN*RPPhqSqY920<$2yj5Bh-gmGSO0AIPQHIRwi=jJ9X%YWnch7} zAm{0-5Xs5Dfy3Ba+u>G*-$pUL;1V&ZJ_TXI%6=<;bfYxt22%q>9%!AlVY+JNUi7qnrMT>;d#{GyEOHO{fi$k#UDT5?z+Ppa$fIyxO z8)gzgEg)NpNzAyAWTq+w5>X6czF>Gn_jwA!58xDol=l%V;GadIgJUK`aHwlAz~g2f z^vhfU)#z3uD3?qVvMMR;L|{NSTQMGiSU8t?isIV&;0RdQ?%7$mGxh_ofv*z>C%TX% zgktJQWGHHX+cXMjFx4Gs(b$HTiV8?$Ep$sRDs-w!fTFq-qw{;!5R2_n+TT{S!xIq& z{k@?r8S*;xKE^b$dqHUpx`3_ln6>hvJm;3*Oq>PuO`M#`*u(*#id2>YtIoULLgjqq zKqhAX$=eRkVtyCuL;V@3OFq*LG|>L4sV`ZgX1-UsjwDr)nN|Y;3 zH*(K6J|Y}pS%obQkq_qwG4T8o`S1?La!5KG<4EAd5tcz@MueIUV%N&viCh8asXfpl zKMvqr9UD+jKqh3TUPv42A0DzpOv+HzYeh1z&9*Z$C<{;n$tKz=2rs?A6zA5Gn|~t1 zW8-fqdrMdRR*59Uij7CJo^R*QoppXT@Dvb%m0TN&Q_PDOJLh1#fe@n-FR&KT@HA7K z@`OuTTKefhEl~x(G5m7B!*DY({^lJ-KUBeQHKK2gHXlV4ryf*NDW}ZP7a9WbBtbDl zP@iPUeQA;Z^9&SLq`rOVA@)~C-Pd*c{`6XmmzURT>A(wge&B~fl17eQ=eJvT z84)s7#3F5s4P@-hgo&6)+V>tjs6%5w?aejn96Cj~G%BIV;MdoD7hZVa`-t!n2g5Xs zV9sx9PC>8)9%5*~%*C0>Oj%g0ms==1r;zo2V`e7i8apIa;>>|wSqURi5?qw~p}`Vw zCV+TdhDF;-U3FL2+z`iat4Yrm0u@07xOLV=f!btddL$X_q2U3H_nTFIpCH$OwopqK0i^WsO2RRE`dM7J)=BIZ8zPC}1Hzh|{D+OPXlJHv<`u zpwshhff75^uRi7fjP>@OC-0=0=fsN#Pdg1 z8O3AZ&KBJZh>IX?XaycFx3#amP9iYwp6Lx1uB4h9|```;EHd z?KIbg-ZHa_qkPS>F``yOVcfVbrQv!I2k5WtawO7?!xa3##~ZEU%qSLi=-3^_OX4@qoAmBnIH4&?Crxpn| zsv92#eLEch1&svtMA95`ae)Oh)nP>UpT7t}iiawGzLob|?jyGiN*JyDJ4UXe_&A$VQJt6kXcpUL^e(YbNc^2?33ZMxbK!=Kt623sm z_>TBS7K6j?CX|&ZxYmqOe#-fgOACh(Jik!!ZHd-}_9-xB!xNjP`5hH+f zIcpt(5TIo|>qa3&auG3aR0TayhoK@!XIu5f|3JEbpM7uihs2dx%XO~IkF*a^x<5UY zCw)T5xl`}A=@W-V_!R;Uj~8lpiFuZPQzrYxHnP{6+CZ)B}*18Nf! z1Zk*p=|CAHJsom%QQ%Fd`s>OM5+tU8)p!z#k`W8Gh7OhzoL;1NM(isPS^gr#H{NnH zwWIA#@*4o~0B%PW6)+VXfn;8M^80$gcuL$y?i)-cVAbS)X!AdN2rdL;^wP$l7h-j{ z$(=iQOi-vV<=7`OM%qROt;wAR0LCCB`T*uZqheH%=>B~qpu{lc--7tt1~3lN62cb{ zrw=*80B{zav^hGQm7G3aO*4!?NL4%|{kd-W2*n;<E{{p2ntTX0v^3-2m41)nH4kI?dSRqVu@&2v+ zv_C6dULAljG_I5 z%H$TG$p!|aiySCB+ng^ zPY-BTH$>rjfZEwBUcqTdM6$nA94iG9coI2K2qAHY;UIvD!BHke(k+`fmBNZ+6W&~L z#9=m6%!aWHLKq_skQM!g9E7t_&X4;q90ELe2`5a7Jbq>A0yOf1i}7VH9@s7?S6ge5=^(}2GR zHRVx%DKg}J6qpFO^1e2G`}Qpr<`WvD!RVfsml9Grd-T{}l5TuGVqsJ;>p!7dB@B2B zHD}d?kxn(AcIGSeVgmR5A~|wx%*sL{YCATAdqp-{FI~EH3b<1u71p)=W?x=~tjw7i&?OMqO;shk)Ldck@P7{WC zpaZX`^F(4-UyhPNaMVFRS_tw7)X8)?oz=6KG`;P)5e}ZA}A8G<2#(ZkH zMGK(hO$HI|i5!QT-TUWXDoM@xCHUS;7|L4vlS{1B@*7`a3a7nUUh%G4-=+Ij5#mNZ!Q z4d8buX8Svou$E6GUF?ngzCHG+wNp}Ngf!)+ba8-if^IROtLL{3?SeZN~ z?);5#l!bqt=w8R=Y2H(XlRpYAwVrgZ8j3=>SPx!OB||Yt;GO^Wyz-JO1wnz4t-Kl~ zB_%===M#%L~yEJ_l>L62w>BU<^vse)JQFXZ?&1 z$G<}dou$tu9Bv>1s9{8-5}g18ZzaSxJTeE3{78-w)#f2=fLJU@e*r>=T8_QBkslZ^ zidXlhS11T*#ld&q^H;(RC|!1(N@@xbM1rN=TmR0RV#^OuVH}Jj16vSeQT0kd%CG!b zgw=~u0Z{N)xI~d6|Hm?3!$yi^oD17XTna%tn@NGQ_M#jG zup)C3=v!7|ye<|t##jKTzYxN~ET{}PQpRw_lMUvklH7`tg1e7_1}X6uGW@pTEX9XY zItez%#`$~{rSZ{G%O8P-2oG6yhz6bCzG0B{du4Y=M;KJ|y=r7F@}Zl&5;{XhMiGod z=Jm;X8i?c_A; zJ0a+s!MMQ^$47bf@IMrjWv^D0hBCPgrPWWC9ceR0&4Mgb&;9|puK>39YwqmQZohV^ z0Wd#uKH##fk}aZM*F^zsvRWL!r+d$b$XfUH8MMB^Za18=@AfU#-dZ|UEMvJC^kB+08>WUShW z|EevbuK(%d@&5xy{a?FMcEC6Xz_JI9T!P1eWo_)KBpN?eFR=t}z;tyC5gUO2$*ik7 zyof|WSWKpm3=gnV;3A1*W*1*n(=fj%4CR#!ZNn^OXKz9-RJ_<|gS<_S0KiK{SRVAH z#jbS_54zTv9R^C_*P#;vBc@>L?elYQ2?OEYX2n($ef^R~VyRAyU0wD|(Zqx=-xX`J zO?7<6Q{xU^$uE8`?7t9EXm}u-fnZeybeV$6LZ(9*49tDQaIXNQATJDqfDDXZm7bbB zNO^k*R!Y*&3evet0`M|ZU|IKQE1PfZ!4v3-5qtIQEYt*~dR?^L6zl_PEq{(1kY^$v zgbSehy4bKszMR-he`}>4?^(T;?KAtoD<>p-3z2FB%~j=f_SyReOD}^y5tfbG-xxNB zBK!#|GQ9@V;Fx@A3Ok4)3lp`gyCGCv?s;@_QteZf#`N9!zpv}JjrJ7tkE-$ARo5B< zkHhhz8hvgnq?UJKG{9%(nA-$2JuvX0$SEUZkQNc-MRoXEE78#dau7mFDrtx!>1M0^ z%0e>j2C7*@j9xJG^})MV4;r3;8BQa=?m{SLXuK=h&TRFn()jzKdJ|k^+@p5To+3SL z0r~S#(`0Nrj!jM2O~C>FU*BF~YlTFhgb~y(jAsKx8iUrB^OtbH)X7nY9W69D~NTZT-lQl%^!a!;FV0F+ik|5lck$7`J3YVu3 zUTCoA?8C*OI0P1k@h(Cq_yTIeVI5UYI%yawRzs69g|I)A(YiR5vyk`Fd}Q?I_9EW4 zNx5c{_A)dlGAd)*ocVgr^G?28BapGM+b_qb`;^{=1MlgLE8*M5S z2{~3dN)EDlEs>W=M+eOp>mQ|BlNx-2mYOhl9>FK9jrRj}_thtd`tn&T&_BajH#CAt z0|hL`R(yHh5LgVcxe>#YVr-=y&|k6aA>ePJ;z|wP$8h`|hFCPix0OurEnl-q5D-cb z$Vo)fc~Y?Wm3hkz^kkwj$VFw2NZv6u)KpJcd_%{iMt}RN7x%N#|3Jit&iwtcSzrlm0*R5wm@K!tWoZ(juHV0oVA?U zZ}%^XPA%!=KsX>;O_(Io6sc9@ez+!CXgwd)DxeVkd z6Bu6k@RAPN)7!W=qMzf%9E!r;^VXA?E;J>|7REXWWhB$TNIBriJ7{)+|F24VHdlIL z?bSZ%<$Hs(=QE=cr`k_#EwiPbr_&8r5HXyI8P-* zx=R2`zJz&6j6~AeedcF~Iec&d4zNsk*U3vgh?T(^em$(vYM9Q*d^jX8DxC~H1G5mB z-?S+`k#=lm;H~Ad%G2brPxl9mRsc@$aB^bdOrfvtum-@u$Qp`$7Q`56VU9Ye9XWP)md_L0Dx z-AWW4LYGdSJoz>KhDw}r)G42Y#sc>OK!2{+ZE_;z*|W9SH3s0FW^d*|Fw!k6?sMgt!o)CCsT^(^dE-%RFF)hqOH{p z`7PB)#$EC#(~JAFmn|pYx_8&S_%{DQj&qQWh@j`?L znAX4|-6Lnj=Dz*!ku$P%2;cV>?-(8L4EMG-Min=}*i2a5kxd+ITquzR^Ai}ne-06a zEF$Wn0)|0|33srlZ~s{+q@tJ|&xEG1XoN*7-0_M|lpCIyiz{>`4G7JFeAZM;dH9%X z&?6OrL!S5s0*+XO&;rPNM-bM|@VAhuP})S<5qM!1*axy&h`*i8!xM#;m<5RRk7f#) zfG=_+4OcMYMOy`CC5Rti@=vq^)Nq1{!fZd>97iUABfKdb-b*NZy}Z4JvCN{yY$}*# zQ2~$g?7&SOhW4CR;CBr#HRu&AuQ@Mm9v&XPqtWp5^DD>!JE8{~QhIa-P(kiHVbpza zL`FuY46uOCE*I|&(c=8Q^i9h0$*9PVhnUg1xBmE^5Q-FlgT`cMNLl4a+BIS}dfZ%-6BjHTo z39v_nCa)iY>`NA{4^kDQCIkK6D(K>Ba0$=qh5{fDAT5&F0vQ)@elk-ep4yT=b+0=-0^Ctl4p)Ypl*`B=`Mg#N> zC_yB~#f3wt)?#T|{L9gOU8o-~{$QJ{Y6G-LCLCzPoD zpvUU41WiF#YVusUVg=u^W4|8y*iz#|w8+a<;3~TWAA-y*<`^S)pT5^@ZpYpQlny9V z4L5Xc%y~|Q=Yky}(JMW)tk$pp`KPem2~p* G@Ba^k=8s_j literal 0 HcmV?d00001 diff --git a/plt-graph/exp27.png b/plt-graph/exp27.png new file mode 100644 index 0000000000000000000000000000000000000000..cf852d71639cbe258ce09fc04b7866e5ce5e4293 GIT binary patch literal 20499 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 literal 0 HcmV?d00001 diff --git a/plt-graph/exp28.png b/plt-graph/exp28.png new file mode 100644 index 0000000000000000000000000000000000000000..8611c80efc61488a35d69beef09dbb583b913393 GIT binary patch literal 20484 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

ajY2$xS^l>R@5;7D- z_)+wfc!3i!-yCnW9zNa$=NxhST$PLB`aJ&R~puG5lYsA}B62PN= zUV>Lz0Xs5KsxpWfX41UDO85CAhTOCB*Mkhg;%Jw0YIZAqun zcu@vJ&pOtwKqTrV?ggj0F}xkZZt$g#Xe~@PyubsVj&%Fakoo#LB$4_k={?Bg#MyBT zuPh)23ZOco|JI;}kJQOPTP2fTL@`244M24ux`|?9zbZy0!iZg`0QF{ZG^-Qp;5za` zs-?Mc`vHDbe&R-G!2u*}CeC_`xCy-SyU-TliH%T=obXtJAAjoV*h{gXA)4wiNQ3!z z)J9&2Bi0TDa9ZnuYn|<p+;AXpnA4@52thpPAKk^@3EAEdZ3Q1yCw2FD9& zY;LT*WUtPp08UecqFd|Ynu8hH8-MXAhYIgqJOzvsD(Wiq-VmAb1?sTifo~5UJWzsY znXFa7j&w>@gi~^dtT1`W2$&QhtFM28UyKHlYL)K{6Lr0Y*M41woH*{}ibgOJ?;{|U ze)}j+UjqQ@P_^Au?xszfT8;4mmHt@#_@Mp2qz= zV2ELIQwjl2)IzLQL&qP*XulnKj|I#Vuji&9&IX!+NF*jNV6GSAg-ddn+fl>pB@x1@ zw3HNchNOm~VM`tznHQPCO(NYHcWm9k9@`>=+m3uzKmxvuhk_C44sQaT#|++_*T#>6 zw`gXhhxzhAYF#s-+BB6tRTfJPI&JTrf8JD zQv)K0a;^eE5qyaBBAmX8J{j-xc{i%sbRKxPp}^UmoCoqo3?Q{}11C!Mz8DXD?T)oq z5fFqs#@Qh6*&-vFq!UMPK-@~T#7jk@^C5qSl${nx)SCZ|({`P>av38sWcph9)%Ekv z;ovC=<3}nm1R}z-E<-eSLiO-X>Q^OmLhy=5LogXeV^I&9j~Lf555?9n+zx*<>3tAK zbzl!>Km@m0daU;dwp{2d+t>P%p?yB>#5(kN*XA^UACM literal 21103 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 literal 20660 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%0AY_Vm4fQmikAxt(m- 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 V{F`-H9lo1Fy(oJj<=pjO{}&(T|6Bk7 diff --git a/plt-graph/exp5.png b/plt-graph/exp5.png index 3b6c21ad34897b37a1a8572e07862148697fb400..684b766ef046fa853aca4ee54789ee26b66c3596 100644 GIT binary patch literal 21295 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 literal 20715 zcmdsfXHb>dw(Z8yW@yELh|nrxLJ&l9FiR9AiX;^T0m&dasI7=1=$0f=C1)hVCMgP% zB`aAF$sk!k;EiQ>pSt(eeLrs9Q?Kg1AJ#byn{R*LT64`g<``ps?ibFV+pv~-Ermka zASHQPfkIj4N}@(sW;e z$^})a(tl!phSRPxdKGALq1s;Chck)1X%AVf2Gn zuA2>(-BH+lVdK--2TBp!ViZ>NYwxJL5b;?A)-Dbc%~8qJ+JADdT_$1LHTyLQV#c5ZHNAr^Yg9IFEj?SqZgR+RzA#A zqc6NXi9e3j%9|6*D@ndu^wmsIqnSh2|HbyBdhZ4uCi^Z5v3Rb~mhl{Di0iNnUgI9O zkW{dkGiV?mEF5vQ=)OUT=gtEv@`l;Bh6CD?&7^Pm#KjU&GEtnFUQ&Oh|9qTda`>%Qcnl(Ip8J}@;n(dB(bfcz$nGP5EF=n!w zL!VOz@%5Gl4D|Gk#gBI=CtrE9*-64i(0ai8J_B1KZgKCR+xy@|OPx19>P|AWapz#-2IJN>u@vJRf|pKa?$_ zr`&HaD%4paLfWTQqe0@U)aM_3gP{;a~Gv z+_;&K#FA>FhSbx`Bkx*T)bXT0ob0&ca-0`(9336IhLz|lQ(%gEp8S^Tecdu=~@c6Oq->EV_`U%!lvM$*na+RA)XPxfJ+7ww&~ z&BJZnBO?l%u+v<#b8{SnH|knU3lgw=H-3Eo!py7tpxo%omoN5H4XW0CA75^cIrQ2% zgXiqir%%VHrsST^%qBTHIUUZ-^Hk4ZczgbSOLh-SVb+$;Pp@^Ti=Wd6Mn{uyKd~ll zIcrz1zL0P^on2}hm&OG@E=})4s$6zUCBf1=&N~wEs=y7h8a}D;L5898T+2K52 z`I-NE*=D~v93Y2kns1zHQX;=`vm}+(VTcF0!%s{XyXY?M$90&EjqQ46fHID7LwlZs zX0fE<=Y0{^%YCWg*bAW+F75pId+WBvo^qofn@dtl<#?Iloy-w=GCi+mVM3}gG&nAjI{3T9mXNCpQscdXVcEX;m|ox7Q>Ew zr<6!JNd)86_aX+PiEov$3K0)^bw9iy;Wyb=^YHOwpULX+1KRny>@iOB(^a#%Qx|%C z53AQ_nd^`{78e&ks2J(7mGe^PxR$vaW5N802=?X#iG};?w{PCEB?321{?xwjrJMJz zQ@{0;`N&`so3kzTa|5_FbHc@)=AyCi&qHol^DqX9Q$=#G?ubQNl zP!%k4$YFY@%=d6$i2cBUU}5V4&+hln`Hcf|b94Ee=B&ttaH{=yI6l{Plp;2L#2jw< zec!fEGv`O(IPyd6wf7IlXJ-5g3JO^5zHY>NRz_4K4<%u@59kzo;CS7A`}S>@ad}t1 zJk4fQ1^L0}fFegv#dF1-!d4$~+%)H$Cu`0jt;Q}}zPzWmHwxL(u)?2bjNZD~X&=f= zl(f&m1E=nqm%yxyES7(mde(zi{zhdRe7>k}V>WIm_ ze?7m*h*GrFGme-`udiXr8!Mh4-7B?MvlZhSnByjM5YT@pOp zl&GobzG<&g{3V`+g_#cOh_i@<%c3JmA}9h_PSrg7si1Sy)YO}dbHSeK?brg0#}B4b+kvB=gC7MfvwT zX5y0aYge&3zG%{R(bRSvyLa-`sfLv6GEQUfx6Nn_zB=>BYOL!FiDw3}$tMR@6XOve zgDy++q3kgi!_KZA>O3X_85K(*dYR zA)R(gr94;PuE?8iHli*HRpgs@pY1KytB<}o@ac7!wDs+Ws@-+diI0+qhM3FI%Y;DZ8E2GZgrGB&$(D z&ALcA<>(8$$dfSh-}Lw8RC{GVHL%yNUGC=1_y9hGS2bbh;*{f5F6TRDpY>u*K*fv2 z2awO_#43xPAJwnVu{KIKs5`6eH03kUl$1ob{5L^{?WhT1Rn~p!Os(y9jHf_gU^724A*3u+SaKNWX zxefCYr=r@Eoapy>9<^3E+v2*@&#@9@r#xRS%~%qwW?$Y4JI$q`a+AN2rV8I0>We@2 znoYQWq_G469}9dEs~qP`Y7W`1(Y%?EcKgA@`k~0$vH)op(+wNaY{#x0R!cdJ(6d++ zY<+|v(+UX*2|(Q~_ShbVxDi|`%z1{&cB;c^CYUS|i;%_s-Mde^(eJFyu^t@B4rw7F z9LR61Ff-DI)rn+p>fUwgezf&qY5kH`&9N zl8>vU>M7&Px!Wmy=VY9om+?RX9|68goAv=SK}2Vtw?gLlRH|VsuJ8 z?dOLxr)p)m-|rYjycyO-K1TA10BpRBN0TzsqRxvXBbu=08Y|as{-_`76p6HB^x?^_ zhn}A2EwY()Cci$D9|*Q-zu1ytoDN(wHPS|okP=X9@Gi^l;>U&`U))CZL<#}GWMr{K z7RxdFatDh*J?PN>tXYp6E62F+eEpMMr_!#yU#lFWa0ZF>;_P@2Dc5=PBecsIH=iTc zqDR_j`?B)b1kGLm)J4W9Mj7Hn2-|*t@wTXF3nSy6{?Lw)Dn~sIe6MhOgv_>`LKdgjZRLDm(|pMyV*&t33HPR)Yimx{lLQuG zCb*mSJ|J-i_gBhK8Fb1E~WS8&PuLf)4VC)r@Hy5g8G5%-GhUJEOkseufoFQ zkd5U4utw}y4IASP0GTS@Kia1GjX>Zk@jQna{`~y>Z?zFJRT*Lq(@au&KYxrBGwEEr zc1`xeg(r4HuS+zFC2kG*k4;YUy?ps{MoC*k3~_%eLo?U5=EvMzz;7FvvnIuye`bwM zPxAxYSY+(Y7Nx!J@rVKd7msFGGpl5RkWK@5ub27bzH`z94C_Cv zShXt9-=9gRq99bBc59d#U+3?V&n95fdW59g@)Y}psiw#5sVE4iqr_}Rf}ZN$r{Bpu znx4fBn0d`3J9BDmdergmZyRJ$I)bWc)`NPy`c;l4cCsIatxFnO5Ila)NS(O%{<^49 zLA_Sq`RNwZ$2`R>;*OsLS?KFBjMe>|*CZrmawom}In|^ciSIf~eX1)eCME}bT!H4L zf`r!sJ)8K=+9-L`%b6y@eV1I87BWi%j>WBEV6ZXpa(CxJ55>Rbppsd}`-D1tp?N>~ z?(XhxoohNejE-J-NXva!RpFc+gzu{!-u|G$=?Tx!n`z+3pUg@igCHmik=SI#wq1t4XgHn}i8k%xv9Yb377m-V>G-3Vj_OorRHZwn@EX6j`5rMfQA_bY$PWm{3c3hQ}+jsAj;j(r{4U` zd%Y@14e*xB<)!%ehdpc8uFdJqOFwbq#8_1gC(uDT>+^Rk!d8;=)5Dfk)d|)FHATsX z-uirZ-`<~gXV0B8`ugGNL9N^@z|*f^zU%_auv66bW6y;lfeyzo9Jn~Nh%>x#W39t; zeP)82Sy@MFZ_TH~UU+$j3s@S+d;pu38x@ym+Jr5z9X-(R8Tyo`*zQy2`Cwsc_|Msi zIF$LzS!P!s1~UX6R_9O9F3`e>Y(zb72$y2qDQI?l`ETnlprZ*czXGuS(B1ta;2h&l z(lpkh3)#GJ<3>~Y3PyR+mq@ZDEr9_a$K3%=Kd0&k8@FVds-l|s;KC8|p`^S5G6o}! zS#=iD`Sqvjmc9x&X4Gz;50Lx2&Dt|q;E)NZ|8m2;(Yq-*#VUBTid&}3f9>uBwsmU+@34c-aQ?* z>gv_2%skirL~V&e0}uzy4v3|5N2lFDqyV++%(-)MnzUP76C>T-VJNkGv*Zc_JBpZ( z8D)+9wD}W|NizYbK~CX(1O83OX9O%8Mo_9RvfL)3R+i-?y2(m z(Q}9bMHB|*SEtwbaBFJ;1UEh6&W}dAaGL9nGOP`E2OTru=pr?C(o~}bkv zZfY`xV%3Ky_qu66iJM!JNZaX_@u5p@1RcZwJ z6^^xt!P1ve_ddcON8uvv5uV8N2f&-y#2?BYx$ZPMHfC-xf#apC8$MwNjIm|s&V&Ps zk$nW@0C1N1aVH^w>$blgX&er{*y`hMGw0!qLr#i2zUS5&2OyC;WEfzW+!YMB+esTB z#2rgR0mc!InrU~CM`9(=J*Zb=Z+hM%^(YetXVP^k~6S zK9b-*bkz&v<=p6#jB-KYsiW zY-$rRXv<0eje#{DSIrwQJLEo1tGgv`qUkli{L8J(Pzi_30yp!5G4n2GkxfQkEuIm@ zHs4L!{3w^=FTECV?pqVQ?` zq7vMzvezpA<)r*^587NJ8fL;KO^>w26}d4C5{wA&T%Ier&&-N z-UWBxqRpE>3T}Dtq=f__X{E`j5dNTi;!p89f^&zP)9XGw-J{vO1WK!y)ucbv(sJ~= zm)*6ITTZfx)59%sxXHQs(Smf7HsK9Bg_S^8)!tsdYBMwQT&Q9G4)bj)9y>);0CwfR zPkFC*%^aVctpE7()D&nI1LPm-qFCk}Sf>j}%$tI^OrE1QiPyyOGS2B7JAedH)8Vp| zfCeg?bLriP(eu{fsc)HVQN-ioXc{?x8>f_IMegH4FQ{+}X?$W=L?VC+=RY?MydDF_)(uExLlZK9~MpXh9LysfjL@X_g zx{R3^3IY)H4rY?PCR2z+TZ82$L?*3$J`;J0R5;S)t0Zad9KDDnfiqHWcgGwsw+ESv z@M35!Kvw#Js~%)Yl6<-wQTx!Q;TsOa6t<;J+1N(m^|dn~(}cN?JeVk9bLm5xm26bb zFGa)0MPhU<1B2@6)2Cl8bR~x5Og+5OAG*$lx+mMA+{Ai*Ari#Si@v@-_N0e~_0dnO zLM4)roO(li)!8yvC3t&((zZPFaC6Nm2C;B$mxW_*0?5t8Ul}kH>}oSLLT@le@6(W^ zt-Xq##f+7i7I>MF+B_H*8X8JEN>HNxNYPd5d)gSbachyrb<5VRzMZ#Tp=m;qO+6a4 zux-uC8&Xw8GvFVn;b_4QVgmvM&9A-Exp(j00R(Dus=oZIL8WUBZx|V8itGl3^*n04 z4=9cp2DP*ej~>_9fZ}bbC1^F@5R&P|eV~0V8~qmHBxcf_?d|PjwF{h^GfhL=ZMz?@ zm=6+jP(k|_7QU44BrAQ}bJPve)JrKYL~b_VIFobKbX#=V62q z0DT~5#oZa4F##O#4Bf2r(!$K?CTknX$D=Q-Y(mSOJ}_*Q9JQ|q_h1#9^K`m%=Z+HXmN7Y3YAL!GZ`_DhNw^$=Q@D3fj65D`zVWxJU?{#K zU_pCv2vwpD0J3=rChi8BXl7B{WYBjzM@1{t({I$A#LZtsGOiCh#{mA~1OUVwh**N~ zj*-J0$SF@#ZIKh#Qvs8!uo+{p9N-%9z%ULKO=Uf)1{J<@7fgyX$CZUDMA_XzT?%Vd2zx_7Q znr%6Urp6kCHT!bilLPfJdw?g?Z+=!t%Abqfy=Tuc^RClqAjc#sZP0-r-d_>&gFG1i z#2SoF-qPYc60s6~M2)AR!N9ovTA)V5n_wNUQ4)e!u`Z-f&QJpGr zR%Ov5JVsY@;Bs0tsofOhcUsC=;~`tZ5cDd`Aumdr z<&-|#7kKjC+U?jJMF8^&^cnsLL4S01S(EEFY>;c*q9S#;8%#<7R2%ZKXCRpCfYwtT zW=#CVOY>q63ys>u{h8P-2A0eYOrb2ENDkz&EV!x)bOluFE#JZT$)PQjLv!@>s|LT6 z=E_`zJ|iou$7G)DG{?+AnfJP7+?*Bfjj+g}^;*vrdnY-UCPhvpb} z-Xv8BdK7gc_>*$sUTNOb6i*bvQgw`RiJU{XPVUS+`Z!ouU-{rv{W z6|$&bnu&a}0~6V{W3T$bdahZ&o^Ly^?hzCt{=udsd9&>r;4>gR6n(7>Y_het55Qm7 zC0{+2ibSX%3Sifc^Hgl>;6QVX+C+<;Dv0;WOkxBa=L64s1P6*wOG}G`o&6o@Qtj?( zDwt>|x*tw`mspY8u*XaE8VGnfB_*X-POL6J&7XnlXWX)7Dl~Cf2zo>VkZyKRDLioE z2+soP<(P3x#xc-b?oBRO&`5}iRn}RMRmKvJXwz;b7<@{8SqiW~KAmmR!;5sz7wWQ@ zohpBF(CV5s)Q$StJXBggyB;6a3IJe6Qz4G&;0F%F(^EV`1epDYoG(C z^-h#iCA=Py%Cy>b=4obT zrYEadEIQ>rJSkCbNEi^>8bNGkV+Xqfhv16!#MNLh$A1LA21&dB!rqXz_J_oS$B!Fu zAUFU1yIIHL5-bqkJD7Ax61(^3pYP^Fvxe?aez0N54%RH)+)1H?8$%X+Fw=3hc_rO< ziPfuDKbfpv>&>HcRzP(*g+lEHZYq1W&uhY_)pND$(uvlq9pI8T!Df-nBodl`y?S{E zZifHtzu$y0W@bZ2sZDfT@QeE4f9{-s>=+Ln#l}s{m3-g-f2NQBO9qyf-wM&W5v8Xr zRH6X%vhs`Lba_zwA*fp0z|TX8DJyDQnN_ZCnil~&&j8@y;Kf&eX59Sz3cb=H=zaq= zVQ#c?1c&6Yj18_3c9foR$kihiN|FAB5AupJy822VIB~+cT3DCiXr~bLwR{!5B-MFg zO4ayN@(DD&f0$xS2|`*FUzk*^3>Hzv5&1}58UWmgamXUO-x$Du5`psC(JM_yVW5&AD$624 zd6S8R&(osN_m1x>D)JEh;F{wSYyNg7per>2e%rQzp#2-nq|T;=xyz zB@eR}Ld`y)Dctlk5W+CK>GJO3;lrk;qxD=HD3m{xKl4-WySW*?d$5uCT!?5k+>&WD z^y&4$$Cr0$GGw`wv0N}=G(kOU01F!oOb=ve-yh+}r~Bb|8$bB9p2XhVK_Si(lUBjU zI|QoQBCtfQsu_8!VR9-={P#GXY_n(-itUA-!2(g`Vlm;ItFa#I3dKJy|2LYZICoO^ z?Ag<%3G0<>&m}HOadGj$V}bSyh=s3kJAez2p%OX*LREIQFg}!4Z9(_FQlO(A*@aK9 zf(c5pPz!KT3{qLnYhJ8^QL+Xl=$Mf&L2OW_524?xng;4H0K77ZM`|o&=G;b+4-t(4 zVtH@mg)|5juA`vfjO6Z|bOF?nl!GH53;$afHBkiAipi2h92Qs0SHku!Y)>D!SK{^t95{GPM zlK9sxXi&VvBjo~P5ndx)SeHU7rwx54U?5ROZHECpYXLo5|Bek4hATkIQv-2H18_E2 z8c5iUheM-HSW&bKr&e=zj$3|=$IH{ize}f!4MC8lUyUZSFKn#2932L_tgM&2@eoF@ zH7JuXE&yk3Pg(%gHU2%hm0k`@H(zBzmkgGh`N$PlIA(@!(yaQa@Et{?)y(=kxLdhW zZ91G(v5v~cauked1Qt5_BQWzlUagJLD-06Tm8 ze{B`r1uBG@$*xD-IW(LNicCs{kSkG(adb4BNjgT45{;9>EMyTLco1upytRBqAxVok zb>`v{P~D)4_Vn~bV0}TcTx1q732GT2A6#3`vaB5ht(Mc2a_7o9}wKz2KZ+IOjgm~+z3T~No1POs4v=K-6`^kFlK?JsMNk#R(L0?dj4Bo*C<(l!I?l9}&OLmx@yc_GKRheLZ8TM)7el$*ylGR{ z_}up|MVeI`Wj&D#2njRyEzs0zVa|FBm&PS{7Zhs-sE z42YuvcqHr7tf{XF`G2oUdC zIIEQS;tV%e9UUFwzw2Gvr2!KLv136c2P-nXDTsJGK(PE+;AF&Iy;rkf=tKkC5Gl8V zxCmf0^`5LYzQTX=(~}_{kT68k_RE0XsQ<@UxBK~{R|+Yb`Hr7w1yLaLD)D`;JJh%+ zTpC#y2+M@Tkzv}A2&P%8mPnKi6VyGNoU)L%Yz#!qI$dF9VGJ$?B?+3)ie$`7k9(GN zLT8I1cmt7-zTPTB6)6CGrp&Y;sms+8OYvwGkWWt$R|Kg6#6NlVGydG*KK>lpS{Yn` z?JzD{k4>kFohJqWcpiw}&LHtK8ARF!l+^PH>Y3-?7$P=nS<5w7Y=UL#GUPUO20m{S5>F7_>evELm{%VO2Zv&OL9Vm28aBVefGx>cH59Y@Ow_%)mgYl;x8h35SmE& z7qdQ4Gd1W4Q4K|;YC%d8`AI+(#`Y)th_8G|EoIM-MiEO4ED(xRh+XFqa588_pRqS2 zsH@70j{PZ8j#49;3Mc?!fiSrSSmzvzo`>wj6UXH={;hJ*vzFY#8`M3O%vBPU;{)YQ zE_M&S?5wPcHnTAv@8aA}DfrQ~j@UR#yx5u$H5yuo#lXN=;F;v#$~9O1grXIVZ6!u4 zJfrfC+UAm3?G3Co8PqeittVco9Ns>Y1n z+zUK_ETD*J^kKIi`g9S8Mgb|X9*XcWN`{Y@r6rhF@Or!Q7E1C*uU;X3cjr{?{%w?Yvw}_4=bBBxT>#CHihYLH!;o!6_f}p5S&tk zu0_fJ_HBSHsW=vFo-m@W(9@{VrBDDMWnnht54WxAKyblD6xJ(M$JxrYZE>c~3{353U6*KM6y-a8U=y zr3SQjGh0a>qQlN`=l^(>qFcIKiX3fn5yHtM?>B-3YE@^!kywc%Ax*LfNhd2;t%}3h zh*e9Cq-PO)0U9QY#)l8_RrAt)2UH^{h-B2QhcE937`O}yjVQ_pXY+N4M_1jHiZg!z zWH!MB5J#jEoSut0R=%Z)SQUeZ*A3V!uObOi~3|2$2@ zY0Y+A3MaE3upk{m2Hq`$F zJP?bReH!dM#If0j04K3o-fdz%+^h@&mMGDRFE5j?EU|EN4YloBBc%YU1}wFCu7{L8&_>Igm_@EY4G7sBgNW{QMvvnij>IE-fyQd7<2CbdbbbvScuXZTT71kFbm{B;e=nUAVPg+76@5yZ|Ba zpLP&PgXorExd6FvOkcvpPNt5?KoH`i>z|^%bD1-l_m~~O-VlB96kI^WM~^3L$TZbP z8mRn-HCX3LC2STktCKzh?K!4Nh%jd3hr)SfjqiF_sy7;MEOb@db*#)K&%Mh!73IZz zhVnr~NWYiH&*G~$(H#N#Ho}G5@4S80og#=C0UJO3>U&}GX^QLzWa)I5C1)Tp(y5?* z7~w*_EZoFt!&ZnLiU!;w8aNurNu0ia&{~3i4<1tC=SZ-pQ2FO<<&Q)*u{Ej1X!O}PgJanHn`v*REsMO({<=^TgC zn~3Kf1x5z46*U|hNuQ6ZRt;#eHjSON|B0-lqhx7wZls{k-h+JU=={C&#J&6X55kH= z4F_Z@2e?L@)d8M=P2|POaK70@_Z=$LUs!=*z08V2Xnr{~lqc6!_xCQlax%lDEf!_A z?2B16KsRZz{;HA$V!^W;3mJ(Z7--F$Iv!Y^c=XAA$oh)t4_h^N69BK5-BOtQbG)1! zZwx6VK*#NaMSvh2qClb}`xjf`Kq*+5R(FD`NDNx33HVA72VP28&Vb}Nrd*<&a9uAmppGJEqEnMIADr<3_Lw}77N0F-YC zEiepN+BuQ4`LE0z$Y-z{+d0CE%X5}n(3yQozWOV$3u{p^lhD}x%|p~64Jt#&cl!Qj zRauA_08MJ{f8ugGukQSl_L}~!38&@84*)mEFz;~e=BEo7Z}^BuZNMzgU#CpS_w(|s z8#TL$PLE$cVJ8y=D7d7^B4Z=)5Fx+nC+Gzw*tL2mfCoN6Q|(z=L11XG8V9BL-MbIa zOCu_aicZzk)R@GQLKeVjx%v}RSZ|2K`S$kqstlr}57d|TXu0C>TAU*duJ6_76edXE zNeTFRlV}8EVKW{SkYHqF6MoOS+E-{5XaLHAyZ^(<)z=kED^dSO&i}_6kmd4k<#t!Q z;!gQ>S}1}jr^FoyVVd+o&*a5pK&jJcoLEXF{T50VrYlM9BYt(2M2#2-52Q;Y9_7CY zan=#8Ld|@f5WikBXM-s#ay*fqa$*kRBK5e4Ee*ne3>9|6fE%IU6waJEBNVEgZLzmu z5E(_%AVX}0;~^an`H@?Y5FlWx zMP2x9J<|(ZT7(VySC;%1Tr8ZW1(F>)TBLPt80M_YU;&^y<^3vJPN9S(liUdoznCcx zr~h)U?Q67LVW{&o8auvX{%rK*GP;pIFGL@M9!lOqSTDNCOtD6!QxG?;!B;U)a0hlQ0ER zl?rj=!OxHcPR#&w9zb;J zxwZ2-N%JEeThFw^`tbV_+33c4TekK?*6qC~oVep$R2T*vvK{iWLPxJpRS%qSN~)i8 zdc32F>Dj?<_1i_CtVYOKH#~*?@ZKTe`2-D<5nco=P{g8b-TEE;vY_z`La#5wX}0Kk zw}w!-ZP&Bz8P8CP%>`Mwsvq-=HFvFtMnQbC;zV$P!51ob#_1?2W8jO6a70?+56P(R z;bY-jI3KyZ=G1sCy7)fj$F}k=?OWah? zF^G_b$gNz)fbr)OHjPT7tv4QvkfZl~UvOz_;w9FlYid6qT_58XIs6EREt|F?GiCV9 zA22SEaag3D{@Q%3l;5ehSY8I^mJvGda7?qt0TKZR1)(%Y!|6hH2~MPEf90lQ8T78G zK22!)ra-e3>#9A9?G$WFhxqvF+amS`LbU%i_VF=o=W9+pl-c|7U(faHIfqIzROyg0 zKKU3|(;?$0ANnt&ZJqy-t9QsKAuPf0rmGOINy-x8zR)OwFCzn}7p;QaElNJ0>_VzsW#H8qkkAKcNHNI{a44?sI${;q30hvzJ2Efnz+q6p{NTZ1j0_v|K&E@%QjJSZS*BK~hw zElYS%xbJ(c3^2Wf54=zqo5Y0KMNofMSUvWVAb1Dv3`*K?4Fbg_(@>Vl*9k$^lI z%-&g&-erIL-9}1X7Ex@l!DOnLu*Dcqj0V*x?EKUA&Vm<<&?}4$MFZ56Q$!d-LUW^6 zn8_aZPX9lam6@GUZ3Qj`=R?JZ9Yw*B&%EraCmf=m9U1C<<-}HRy}JrDj;8OK*2*@t zTA$gY9DZ+nRDiKf!X2Q)@b4TXZf+uLp_CY+6NJ`8m^3&j8cvsxnJko#M6_rFaB(RE z){p^E7^4rQ>+Lzip3X^VX~dNQtdhjo2SOnn!gnx0!b}UIdoLj+^K?33G20K*8#w)1((=;M=DW}!kVsqn zIot5+%(|W8j)FD$x77B9yW}4Yb)JjC3l08oD|)KivC2Fzs{v|(6>*DKwiyC{)YiM0_91;Rf2O~crZ! z=oZM4hFHvl@Te1g6`f*RiJ@Y*Vdi#5}kMZz2PG53P* zlN#bMl6`t!GhSuLA%($*?AIks~`Y4y$6Co_I-#ri73uBL|>a z`mu&HubaJ9p)Qj-4~d`O@3uS5XktJ`4c##eXiBf@K3&aA-l4vvYNld7AF^IYmg*p| zX(03hO_@;q=w||nFr-_s`^>{=s1H@WXawtlnhBj0jYo>n)QgSLF36wg05_t9=Yetj zL}ieWBFe;hvw&4j!4Gg?_>e!ek@(%G?JhJude=HU-K`b%`XM5Lv|wn18sJ={4$Z?i zOVeQ4xOHnJdEE)IPhc$iNpnPG0G>)@X#t~?aj0VGP8!ezVb)51uW;MlT&+(VN$|mn zN{j+yi*Lbp+{`U_*M(r;`>6u}9<^Hr+vEq)L5(aDyzB`eCOf7kk*TtJmh20HK|H`L z{JhUmtZ(pi5GDZnF(%N2y6w_bC;njYOsmhAe{I08JI4kJLpVjndH%J%;LmV~j|gd( z&PJck&MSyB4k2xZar>*PD+>84%FAUS8CYvIFzG`P08&u6Q%5|*T1%t(^XKuSXHil5 zu?+#u9y~D7|4JlK5l$d)7DSnol-b$YxjC^a4+IfB2<@kP2Ty43GZ6qQ0EcZXYJiQ{ z@ZBt}uhpU2nDXKZU4V>%_nkDK&SX>Q8kA9}yL3Y1hX{sW^I@fRnCmWK3Ii$;H5)9$ zS6IXO!cMNpeY4WoFZ2&J@%f>n#4HJlU2l5mvknwq18Axh$QzhiM1tx_Gj3`8yae%- z19V&@XdH|Qi|N5dObmjKnD!nCxVO0md6-y4p(ij~&P^KhcB3j)iDz;@0w-EcG7^iR zS>aG~dO5kIBrjTPs}jy|e>iUZ5ug4*B!Lh=KJ$?w%@r#?nFME%rnD56n|^o_bDLPd zPIVz)=%E&pe`l%N@otmPC?XSOjkwo9z=P+AujfGa0iZPkurHQ9Wm|fgkh86`;|j6& zH^?|8CeMxG7&apRO9l-gKst8xj+!9Do3!T|Kn%ZW(OYE<_r;f#4ek#gT6mhzr!Zlj zeHINyCG4Ok*di0K=ceSZv1+Y6k4iC{n1yB?`QK|6^G6lPQ5CpZIh+wWFbAw3rk1(y zp*x~&QnkG)0FldRk=v%D|iak;^FY)buE%&RI4H6s^R}C6x-}?iL zl#^OLT;7FuEbzh^!G|eJ4v6_=bW{%*V5Z>5=0@m2j4UiS$rvfBz1=`eR0T?Fa1v@n zRs)oN5B5|7|B}Q$AiNJ7o4CN)&!n@My@jY6a+s(j_DPr&j)~ZeSZxmj!G=LjxYsQe z!zDM803kkGce9}S6hVuxlCN5xpvMs@$#PO7L!7^?vvzjRVG8vJ;TV9d-M?7fswr)# zra`+^iT{gm0dvER$pecbSOw8$`pXjAn4l=FQ zW>vk^G^>6Eg6_ymNiMu_C9eTOGu%4}j|(_V1^oMpmv0bC6M7mEMF}E=68QJbm~(Cp znbITUV1U8oB}q_|sqwwjrwT#0lVM~Zydw(lP8oc9jAGRzdT_O(v{vdi#u!UK}`Q2_iJAsbP{f%#;p zn8Qv)t1c3nbm{d;z@A@@9f;WEy$At3I`_|dFn!^jMy!yLP4a3bSm!T*^2A|DKuq31 zP9U$#A&?ILDH!z}FG-{%(-NG-yTNqNjP(3;PN+Y z&3aAGD%w|TiVlkqvN(V*!TQG`l~(=Ul5V65et@*@0DMv8Jqy#k%YK-yr({W;KK-Ww z#uj;s{ZXQxgDRlqYUMlH)d9u!T1x4Sb-m|uLK41q){~{bmLJ6e$7G0C6ZboMNggsx z1=_D+N7hZ7t^t{P-&p!{VEbPHE3KRfQmI+LBDorDeL5aIc!LclyP-7(Ct<#$MUodU z#X45ZqzI$o(VL%=MH(3>rSFBX)*g_2vqi~^qQKrh3(`ZsN5+fFSqm`CbOvLj$d1Ge z%pQXhHx?O;cOKwnNwK67p{>j@@4i3r9WM>g2jO%87-uk~w---F>m>#c|giFz*odXDmmf$n$L>p1rZ;fsqHt~tlnKnxvt zWtpv)RsW`rcVreAlcNgQ2=Yb|Oteb^w9_W0TwN)su-v8UIqXW+3FO^EPoDe^gXx=y z1@bB>s9Ym_G%n({0h%Ttb^ys23DiQhZh2t>EY*d)UCY$q*#U9y1C#m&NRKdYD4=yE z(&Iq@XyUd?!~N#XehYN>B=0UE)b$~i_zOUy@ZjGh;0ZO;W_mla4Dn20G=QKRB4wbS zL<3<6)!3WNlpRXC0m0$mrQ{dCUf2^Vt|@YBh*-p_VjZxNDM92?#+U^LUoHZe6=|-L zq+|g@(_JbiW;d+YLGW3GvSue|fxOj%&}x7^gP6x_LeH{=nK|I=C3GvbkPjjNkjSfg z>TqwwZ|WxwbWU7c-d#_@NZnn2af8P=DbX=Pv Nb>{r(#FJO<{4aMG^p*es diff --git a/plt-graph/exp6.png b/plt-graph/exp6.png index 538963b7c5732a80bbc0464f9a854748c076dde0..415dedf75d390082becb7cbd85a1488045e57f3a 100644 GIT binary patch literal 21103 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%0AY_Vm4fQmikAxt(m- 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 V{F`-H9lo1Fy(oJj<=pjO{}&(T|6Bk7 literal 20942 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 diff --git a/plt-graph/exp8.png b/plt-graph/exp8.png index 3c65580facbb9392ba5420a4c37faa297a664aaf..3b6c21ad34897b37a1a8572e07862148697fb400 100644 GIT binary patch literal 20715 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 Nb>{r(#FJO<{4aMG^p*es literal 20552 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 Uuth Date: Mon, 24 Mar 2025 22:04:41 -0700 Subject: [PATCH 20/45] in parse_scenario_womd: modified womd preprocessing syntax to more accurately distinguish individual words; implemented context word count calculation; categorized scenario ID size based on byte count. in llm_qa_direct: removed faithfulness scores and represented only correctness scores; displayed context word count; updated plt graph to represent correctness scores solely. --- llm_qa_direct_only.py | 21 ++++++++++----------- parse_scenario_womd.py | 26 +++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index 6b07a8e..4fdc049 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -191,15 +191,11 @@ def prepare_grading_prompt(context, question, answer, model_output): Grade this answer on the following aspects: 1. The correctness of the AI answer with respect to the ground truth answer. Give it a score between 1 to 10. Explain why this score was given by you in detail. - 2. The faithfulness of the reasoning. Are the conclusions drawn in the answer given by the AI consistent with its reasoning? Here, give it a score between 1 to 10. - Explain why this score was given by you in detail. Format the answer in a python dictionary format like this. : "Correctness score": "", - "Correctness explanation": "", - "Faithfulness score": "", - "Faithfulness explanation": "", + "Correctness explanation": "" Don't write anything else. Nothing else, nothing else, nothing else. @@ -218,6 +214,7 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, context = scenario_domain_and_problem_data[scenario_id]["Context"] question = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["problem_data"] answer = scenario_domain_and_problem_data[scenario_id]["Interactions"][interaction_id]["answer_data"] + context_word_count = scenario_domain_and_problem_data[scenario_id]["Word Count"] generated_prompt = generate_qa_prompt(context, question, answer, prompt_type) @@ -232,8 +229,9 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, existing_grades[scenario_id][interaction_id].setdefault( model_family+"_"+model_name+"_modelname", grading_output ) - avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 - existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + avg_score = int(grading_output["Correctness score"]) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Correctness Scores", (str(avg_score))) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Word Count", (str(context_word_count))) model_dictionary[model_family][model_name].append(avg_score) elif model_family=="deepinfra_models": for model_name in model_dictionary[model_family]: @@ -243,8 +241,9 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, existing_grades[scenario_id][interaction_id].setdefault( model_family+"_"+model_name+"_modelname", grading_output ) - avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 - existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + avg_score = int(grading_output["Correctness score"]) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Correctness Scores", (str(avg_score))) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Word Count", (str(context_word_count))) model_dictionary[model_family][model_name].append(avg_score) @@ -276,8 +275,8 @@ def main(): for model_provider in model_dictionary.keys(): for model in model_dictionary[model_provider].keys(): plt.bar([i for i in range(len(model_dictionary[model_provider][model]))], model_dictionary[model_provider][model]) - plt.title("Prob. Avg. for Multiple Interactions in All Scenarios of Current Experiment") + plt.title("Correctness Scores for All Scenarios of Current Exp.") plt.xlabel("Interactions") - plt.ylabel("Problem Average Score") + plt.ylabel("Correctness Scores") plt.show() main() \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index 642319a..d64bffa 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -31,16 +31,20 @@ def process_womd_datapoint_for_mcq_gen(womd_datapoint): environment_facts += womd_datapoint['env_q'][index] environment_facts += " " environment_facts += womd_datapoint['env_a'][index] + environment_facts += " " for index in range(len(womd_datapoint['ego_q'])): ego_facts += womd_datapoint['ego_q'][index] ego_facts += " " ego_facts += womd_datapoint['ego_a'][index] + ego_facts += " " for index in range(len(womd_datapoint['sur_q'])): surr_facts += womd_datapoint['sur_q'][index] surr_facts += " " surr_facts += womd_datapoint['sur_a'][index] + if index != (len(womd_datapoint['sur_q']) - 1): + surr_facts += " " facts = { "Facts about the static environment": environment_facts, @@ -75,7 +79,26 @@ def obtain_and_write_mcq_data(start, end): facts, mcq_info = process_womd_datapoint_for_mcq_gen(womd_datapoint=womd_datapoint) reference_context = facts["Facts about the static environment"]+facts["Facts about the ego vehicle in this environment"]+facts["Facts about the agents surrounding the ego vehicle in this environment"] preprocessed_data = {} + preprocessed_data["Size"] = os.path.getsize('../training/'+filename) preprocessed_data["Context"] = reference_context + + context_word_count = len(reference_context.split(" ")) + #print(reference_context.split(" ")) + preprocessed_data["Word Count"] = context_word_count + #total_word_count_sentence = 0 + # for sentence_index in range(len(context_sentence_list)): + # total_word_count_sentence += len(context_sentence_list[sentence_index].split(" ")) + + # average_word_count_sentence = total_word_count_sentence / len(context_sentence_list) + #print(average_word_count_sentence) + #print(context_word_count) + if preprocessed_data['Size'] > 10000: + preprocessed_data['Scenario Category'] = "C" + elif 6000 <= preprocessed_data['Size'] < 9999: + preprocessed_data['Scenario Category'] = "B" + elif preprocessed_data['Size'] < 6000: + preprocessed_data['Scenario Category'] = "A" + preprocessed_data["Interactions"] = {} for i in range(len(mcq_info)): #Iterate over the mcqs generated original_qa_data = {} @@ -91,4 +114,5 @@ def obtain_and_write_mcq_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) -obtain_and_write_mcq_data(110,120) +obtain_and_write_mcq_data(7,8) + From 8ab5c32de7e7d3405277ca1aa76e8de9dea90ceb Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Tue, 25 Mar 2025 14:13:55 -0700 Subject: [PATCH 21/45] modified parse scenario script to omit first file in script. index (52,53) was returning two files rather than one (being 53) after previously committing changes. moved old batch of experiments run to a different file for organization, after modifying procedure and experiment goals. --- {grades/direct => exp_prior_3-25-25}/deepseek_grades.json | 0 .../deepseek_grades_direct_2shot_exp10.json | 0 .../deepseek_grades_direct_2shot_exp14.json | 0 .../deepseek_grades_direct_2shot_exp18.json | 0 .../deepseek_grades_direct_2shot_exp2.json | 0 .../deepseek_grades_direct_2shot_exp23.json | 0 .../deepseek_grades_direct_2shot_exp27.json | 0 .../deepseek_grades_direct_4shot_exp11.json | 0 .../deepseek_grades_direct_4shot_exp15.json | 0 .../deepseek_grades_direct_4shot_exp19.json | 0 .../deepseek_grades_direct_4shot_exp21.json | 0 .../deepseek_grades_direct_4shot_exp24.json | 0 .../deepseek_grades_direct_4shot_exp28.json | 0 .../deepseek_grades_direct_4shot_exp3.json | 0 .../deepseek_grades_direct_6shot_exp12.json | 0 .../deepseek_grades_direct_6shot_exp16.json | 0 .../deepseek_grades_direct_6shot_exp20.json | 0 .../deepseek_grades_direct_6shot_exp25.json | 0 .../deepseek_grades_direct_6shot_exp29.json | 0 .../deepseek_grades_direct_6shot_exp4.json | 0 .../deepseek_grades_direct_direct_exp1.json | 0 .../deepseek_grades_direct_direct_exp13.json | 0 .../deepseek_grades_direct_direct_exp17.json | 0 .../deepseek_grades_direct_direct_exp22.json | 0 .../deepseek_grades_direct_direct_exp26.json | 0 .../deepseek_grades_direct_direct_exp5.json | 0 .../deepseek_grades_direct_direct_exp6.json | 0 .../deepseek_grades_direct_direct_exp7.json | 0 .../deepseek_grades_direct_direct_exp8.json | 0 .../deepseek_grades_direct_direct_exp9.json | 0 parse_scenario_womd.py | 4 ++-- 31 files changed, 2 insertions(+), 2 deletions(-) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_2shot_exp10.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_2shot_exp14.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_2shot_exp18.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_2shot_exp2.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_2shot_exp23.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_2shot_exp27.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp11.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp15.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp19.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp21.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp24.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp28.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_4shot_exp3.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_6shot_exp12.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_6shot_exp16.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_6shot_exp20.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_6shot_exp25.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_6shot_exp29.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_6shot_exp4.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp1.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp13.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp17.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp22.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp26.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp5.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp6.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp7.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp8.json (100%) rename {grades/direct => exp_prior_3-25-25}/deepseek_grades_direct_direct_exp9.json (100%) diff --git a/grades/direct/deepseek_grades.json b/exp_prior_3-25-25/deepseek_grades.json similarity index 100% rename from grades/direct/deepseek_grades.json rename to exp_prior_3-25-25/deepseek_grades.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp10.json b/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp10.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp10.json rename to exp_prior_3-25-25/deepseek_grades_direct_2shot_exp10.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp14.json b/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp14.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp14.json rename to exp_prior_3-25-25/deepseek_grades_direct_2shot_exp14.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp18.json b/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp18.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp18.json rename to exp_prior_3-25-25/deepseek_grades_direct_2shot_exp18.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp2.json b/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp2.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp2.json rename to exp_prior_3-25-25/deepseek_grades_direct_2shot_exp2.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp23.json b/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp23.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp23.json rename to exp_prior_3-25-25/deepseek_grades_direct_2shot_exp23.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp27.json b/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp27.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp27.json rename to exp_prior_3-25-25/deepseek_grades_direct_2shot_exp27.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp11.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp11.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp11.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp11.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp15.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp15.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp15.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp15.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp19.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp19.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp19.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp19.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp21.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp21.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp21.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp21.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp24.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp24.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp24.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp24.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp28.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp28.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp28.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp28.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp3.json b/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp3.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp3.json rename to exp_prior_3-25-25/deepseek_grades_direct_4shot_exp3.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp12.json b/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp12.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp12.json rename to exp_prior_3-25-25/deepseek_grades_direct_6shot_exp12.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp16.json b/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp16.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp16.json rename to exp_prior_3-25-25/deepseek_grades_direct_6shot_exp16.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp20.json b/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp20.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp20.json rename to exp_prior_3-25-25/deepseek_grades_direct_6shot_exp20.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp25.json b/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp25.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp25.json rename to exp_prior_3-25-25/deepseek_grades_direct_6shot_exp25.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp29.json b/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp29.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp29.json rename to exp_prior_3-25-25/deepseek_grades_direct_6shot_exp29.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp4.json b/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp4.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp4.json rename to exp_prior_3-25-25/deepseek_grades_direct_6shot_exp4.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp1.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp1.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp1.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp1.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp13.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp13.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp13.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp13.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp17.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp17.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp17.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp17.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp22.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp22.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp22.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp22.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp26.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp26.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp26.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp26.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp5.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp5.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp5.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp5.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp6.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp6.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp6.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp6.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp7.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp7.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp7.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp7.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp8.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp8.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp8.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp8.json diff --git a/grades/direct/deepseek_grades_direct_direct_exp9.json b/exp_prior_3-25-25/deepseek_grades_direct_direct_exp9.json similarity index 100% rename from grades/direct/deepseek_grades_direct_direct_exp9.json rename to exp_prior_3-25-25/deepseek_grades_direct_direct_exp9.json diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index d64bffa..5c03e46 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -79,7 +79,7 @@ def obtain_and_write_mcq_data(start, end): facts, mcq_info = process_womd_datapoint_for_mcq_gen(womd_datapoint=womd_datapoint) reference_context = facts["Facts about the static environment"]+facts["Facts about the ego vehicle in this environment"]+facts["Facts about the agents surrounding the ego vehicle in this environment"] preprocessed_data = {} - preprocessed_data["Size"] = os.path.getsize('../training/'+filename) + preprocessed_data["Size"] = os.path.getsize('../training/'+filename[:end]) preprocessed_data["Context"] = reference_context context_word_count = len(reference_context.split(" ")) @@ -114,5 +114,5 @@ def obtain_and_write_mcq_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) -obtain_and_write_mcq_data(7,8) +obtain_and_write_mcq_data(52,53) From 5e5df634286c06b30a632d9840136b17108ad6de Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Wed, 26 Mar 2025 10:40:13 -0700 Subject: [PATCH 22/45] latest --- .../generated_pddls_deepseek/planner_test.py | 8 +- client_model_setup.py | 10 +- llm_qa.py | 181 ++++++---- llm_qa_direct_only.py | 48 +-- parse_scenario_womd.py | 55 +++- pddl_gen.py | 276 ++++++++++++++++ planner.py | 308 +++--------------- run_experiments.py | 14 +- run_llm_qa.py | 5 + run_parser.py | 5 + run_planner.py | 10 + search_plan.py | 5 + test.py | 37 +++ test.xodr | 269 +++++++++++++++ 14 files changed, 867 insertions(+), 364 deletions(-) create mode 100644 pddl_gen.py create mode 100644 run_llm_qa.py create mode 100644 run_parser.py create mode 100644 run_planner.py create mode 100644 search_plan.py create mode 100644 test.py create mode 100644 test.xodr diff --git a/apla-planner/generated_pddls_deepseek/planner_test.py b/apla-planner/generated_pddls_deepseek/planner_test.py index 2ca08db..574f4ad 100644 --- a/apla-planner/generated_pddls_deepseek/planner_test.py +++ b/apla-planner/generated_pddls_deepseek/planner_test.py @@ -22,11 +22,12 @@ # We will traverse the problem list since there will be only one domain per scenario - plans_for_one_scenario = {} problem_coverage_scores = [] problem_initial_state_sizes = [] print("Scenario ID is {}".format(scenario_folder)) for problem_file_name in problems_within_scenario: + print(f"Considering problem file {problem_file_name}") + plans_for_one_scenario = {} problem_full_path = "dataset/problems/"+scenario_folder+"/"+problem_file_name domain_full_path = "dataset/domains/"+scenario_folder+"/"+domains_within_scenario[0] print("Planner is now running for the problem {}".format(problem_file_name)) @@ -39,6 +40,5 @@ except: continue - - with open("dataset/problems/"+scenario_folder+"/plan_set.json", 'w') as file: - json.dump(plans_for_one_scenario, file) + with open("dataset/problems/"+scenario_folder+"/"+problem_file_name+"_"+"plan_set.json", 'w') as file: + json.dump(plans_for_one_scenario, file) diff --git a/client_model_setup.py b/client_model_setup.py index 6010dd6..afdd8f3 100644 --- a/client_model_setup.py +++ b/client_model_setup.py @@ -18,6 +18,7 @@ def __init__(self): # The following are model names for Large DeepInfra provided models self.ds_v3 = "deepseek-ai/DeepSeek-V3" self.ds_r1 = "deepseek-ai/DeepSeek-R1" # This model thinks. Cannot use for json output + self.ds_r1_turbo = "deepseek-ai/DeepSeek-R1-Turbo" self.llama_33_70b = "meta-llama/Llama-3.3-70B-Instruct-Turbo" self.llama_31_405b = "meta-llama/Meta-Llama-3.1-405B-Instruct" self.qw_25_72b = "Qwen/Qwen2.5-72B-Instruct" @@ -32,6 +33,7 @@ def __init__(self): # The following are the small model names for models provided via the OpenAI API service self.gpt_4o_mini = "gpt-4o-mini" self.o3_mini = "o3-mini" + self.gpt_45 = "gpt-4.5-preview" self.model_dictionary = { "openai_models": [self.gpt_4o_mini, self.o3_mini], @@ -53,7 +55,11 @@ def non_thinking_llm_call(self, client, model, prompt): # DS api reasoner doesn't send think tags so no need for this function. # Deepinfra thinking models send these tags so this function is needed. def thinking_llm_call(self, client, model, prompt): - output = self.llm_call(client=client, model=model, prompt=prompt) + output_content = client.chat.completions.create(model=model, + messages=[{"role": "user", "content": prompt}], + stream=False + ) + output = output_content.choices[0].message.content separated_string = re.split(r"()", output) separated_string_thoughts = re.split(r"()", separated_string[0]) separated_string_output = separated_string[2] @@ -63,7 +69,7 @@ def thinking_llm_call(self, client, model, prompt): def llm_call(self, client, model, prompt): output = "" thoughts = "" - if (model==self.ds_r1) or (model==self.ds_distil_llama_70b): + if (model==self.ds_r1) or (model==self.ds_distil_llama_70b) or (model==self.ds_r1_turbo): output, thoughts = self.thinking_llm_call(client, model, prompt) else: output = self.non_thinking_llm_call(client, model, prompt) diff --git a/llm_qa.py b/llm_qa.py index 1c2192a..98f6d01 100644 --- a/llm_qa.py +++ b/llm_qa.py @@ -7,31 +7,9 @@ import planner # Comment out any function calls within this. from openai import OpenAI -########### ============ Global initializations ====================== ########## -domain_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/domains') -problem_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/problems') -client_oai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) -client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") -client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") -scenario_domain_and_problem_data = planner.retrieve_womdr_domain_problem_data() - -model_dictionary = { - "openai_models": ["gpt-4o-mini", "o3-mini"], - "deepinfra_models": ["meta-llama/Meta-Llama-3.1-8B-Instruct", - "microsoft/phi-4", - "Qwen/Qwen2.5-7B-Instruct" - ] -} - -# Generate two lists - domain file list and problem file list for a single scenario -# Reuse code in terms of classes and functions and - -model_outputs = {} -existing_grades = {} -exp_run_qa_scores = [] - ######## ================= LLM API calls ====================== ########### def openai_call(model_name, prompt): + client_oai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) output = client_oai.chat.completions.create(model=model_name, messages=[{"role": "user", "content": prompt}], stream=False @@ -40,6 +18,7 @@ def openai_call(model_name, prompt): return output_content def deepinfra_call(model_name, prompt): + client_deepinfra = OpenAI(api_key=os.environ["DEEPINFRA_API_KEY"], base_url="https://api.deepinfra.com/v1/openai") output = client_deepinfra.chat.completions.create(model=model_name, messages=[{"role": "user", "content": prompt}], stream=False @@ -48,6 +27,7 @@ def deepinfra_call(model_name, prompt): return output_content def deepseek_call(model_name, prompt): + client_deepseek = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com") output = client_deepseek.chat.completions.create(model=model_name, messages=[{"role": "user", "content": prompt}], stream=False @@ -96,7 +76,8 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, problem_path, current_plan, scenario_id, - interaction_id): + interaction_id, + scenario_domain_and_problem_data): #### Step 1: Generate the PDDL prompts ======================= ######### context = scenario_domain_and_problem_data[scenario_id]["Context"] @@ -110,64 +91,97 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, pddl_problem = file_problem.readlines() direct_prompt = f""" - Here is some information about an autonomous vehicle scenario: + I want you to think step by step carefully and answer questions about autonomous vehicle test scenarios. Each question + has a descriptive answer. + + Here is some contextual information about one specific scenario: {context} - Answer the following question: + Now, given all of this information, think step by step and answer the following question: {question} - Think step by step. Show your reasoning and answer the question. - + Write a short answer only. Think step by step carefully and show your reasoning and how you reached a solution. """ pddl_prompt = f""" - Here is some context about the test scenario: + I want you to think step by step carefully and answer questions about autonomous vehicle test scenarios. Each question + has a descriptive answer. + + Here is some contextual information about one specific scenario: {context} - Here is some PDDL domain data: + Here is some generated PDDL (Planning Domain Definition Language) domain data corresponding to this contextual information. This information + is to give you a more specific, explicit sense of the logic behind some of the car driving behaviors + in this scenario: {pddl_domain} - Here is the PDDL problem statement: + Each scenario consists of interactions between vehicles and intentionality regarding driving behavior intent of vehicles. + Regarding one such interaction, here is a PDDL problem statement generated. Connect it carefully with the + domain information given above. + + Here is the PDDL problem data: {pddl_problem} - I ran this through a planner and got the following result: + Since this data is in the PDDL format, I ran this through a planner which carried out + breadth first search to try and answer the PDDL problem data above in light of the PDDL domain + data and got the following result: {current_plan} - Think step by step and answer the following question: + Now, given all of this information, think step by step and answer the following question: {question} - Write a short 2 sentence answer only. Show your reasoning. + Write a short answer only. Think step by step carefully and show your reasoning and how you reached a solution. """ #### Step 2: Generate the model grades and add them to the dictionary for model_family in model_dictionary.keys(): if model_family=="openai_models": - for model_name in model_dictionary[model_family]: + for model_name in model_dictionary[model_family].keys(): + print("Model name is {}".format(model_name)) grading_prompt = prepare_grading_prompt(context=context, question=question, answer=answer, model_output=openai_call(model_name=model_name, prompt=pddl_prompt)) - grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) + grading_output = eval(deepseek_call(model_name="deepseek-chat", prompt=grading_prompt)) + print(grading_output) existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_with_plan", grading_output + model_family+"_"+model_name+"_modelname", grading_output ) - existing_grades[scenario_id][interaction_id].setdefault("problem_score_avg", ((grading_output["Correctness score"] + grading_output["Faithfulness score"])/2)) + avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 + + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + model_dictionary[model_family][model_name].append((str(avg_score))) elif model_family=="deepinfra_models": - for model_name in model_dictionary[model_family]: + for model_name in model_dictionary[model_family].keys(): + print("Model name is {}".format(model_name)) grading_prompt = prepare_grading_prompt(context=context, question=question, answer=answer, model_output=deepinfra_call(model_name=model_name, prompt=pddl_prompt)) - grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) + grading_output = eval(deepseek_call(model_name="deepseek-chat", prompt=grading_prompt)) + print(grading_output) existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_with_plan", grading_output + model_family+"_"+model_name+"_modelname", grading_output ) - existing_grades[scenario_id][interaction_id].setdefault("problem_score_avg", ((grading_output["Correctness score"] + grading_output["Faithfulness score"])/2)) - + avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + model_dictionary[model_family][model_name].append((str(avg_score))) + return existing_grades -def pddl_response_and_answer_questions(domain_path, problem_path, current_plan, eval_folder): + +def pddl_response_and_answer_questions(domain_path, + problem_path, + current_plan, + eval_folder, + scenario_domain_and_problem_data, + existing_grades, + model_dictionary): # Parse through the preprocessed json data contained in parsed_womdr_data/ + print(f"Data is {scenario_domain_and_problem_data}") for scenario_id in scenario_domain_and_problem_data.keys(): existing_grades.setdefault(scenario_id, {}) for interaction_id in scenario_domain_and_problem_data[scenario_id]["Interactions"].keys(): + print(f"Interaction considered is {interaction_id}") + print(f"Domain path is {domain_path}") + print(f"Problem path is {problem_path}") existing_grades[scenario_id].setdefault(interaction_id, {}) if (scenario_id in domain_path) and (interaction_id in problem_path): print("Scenario ID that matches is {}".format(scenario_id)) @@ -176,29 +190,52 @@ def pddl_response_and_answer_questions(domain_path, problem_path, current_plan, print("Evaluation file is {}".format(eval_complete_path)) ##### ===================== Automatic model evaluation with LLM grades on outputs ============== ######### - grade_openai_deepinfra_models_one_interaction(model_dictionary=model_dictionary, + existing_grades = grade_openai_deepinfra_models_one_interaction(model_dictionary=model_dictionary, existing_grades=existing_grades, domain_path=domain_path, problem_path=problem_path, current_plan=current_plan, scenario_id=scenario_id, - interaction_id=interaction_id) + interaction_id=interaction_id, + scenario_domain_and_problem_data=scenario_domain_and_problem_data) #Ensure that this json file by the name grades/deepseek_grades.json exists first. - with open("grades/deepseek_grades.json", 'w') as grade_file: - with open(eval_complete_path, 'r') as eval_file: - data = json.load(eval_file) - existing_grades[scenario_id][interaction_id].setdefault("LLM_eval_problem_grade", data["Problem coverage"]["Grade"]) - existing_grades[scenario_id][interaction_id].setdefault("LLM_eval_context_word_count", data["average_context_sentence_word_count"]) - qa_interaction_score = existing_grades[scenario_id][interaction_id]["problem_score_avg"]*existing_grades[scenario_id][interaction_id]["LLM_eval_problem_grade"] - existing_grades[scenario_id][interaction_id].setdefault("qa_interaction_score", qa_interaction_score) - exp_run_qa_scores.append(qa_interaction_score) - print("Existing grades is given by {}".format(existing_grades)) - json.dump(existing_grades, grade_file, indent=4) - grade_file.close() - -def main(): + + with open(eval_complete_path, 'r') as eval_file: + data = json.load(eval_file) + existing_grades[scenario_id][interaction_id].setdefault("LLM_eval_problem_grade", data["Problem coverage"]["Grade"]) + existing_grades[scenario_id][interaction_id].setdefault("LLM_eval_context_word_count", data["average_context_sentence_word_count"]) + + with open("grades/deepseek_grades.json", 'w') as grade_file: + print("Writing now!!") + json.dump(existing_grades, grade_file, indent=4) + grade_file.close() + + return existing_grades + + +def exp_run(): # Recover the PDDL domain file, PDDL problem file for a particular scenario and plan file. + domain_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/domains') + problem_folder_list = os.listdir('apla-planner/generated_pddls_deepseek/dataset/problems') + scenario_domain_and_problem_data = planner.retrieve_womdr_domain_problem_data() + + model_dictionary = { + "openai_models": { + "o3-mini": [] + }, + "deepinfra_models": { + "meta-llama/Meta-Llama-3.1-8B-Instruct": [] + } + } + + # Generate two lists - domain file list and problem file list for a single scenario + # Reuse code in terms of classes and functions and + + model_outputs = {} + existing_grades = {} + + for scenario_folder in domain_folder_list: #Scores for multiple problems (where each problem corresponds to one interaction) within one scenario #These grades add up to help us evaluate across all scenarios @@ -219,8 +256,8 @@ def main(): for problem_file_name in problems_within_scenario: # If PDDL problem file has been found, then open the plan file and find out the evaluations. # There should a plan file by the name of plan_set.json in each problem folder. - # Run this after the PDDL problem generation and the plan generation has been done. - if ".pddl" in problem_file_name: + # Run this after the PDDL problem generation and the plan generation has been done. + if ".pdd"==problem_file_name[-5:-1]: pddlproblem_file_name = problem_file_name print("PDDL problem file name is {}".format(pddlproblem_file_name)) print("problem file name is {}".format(pddlproblem_file_name)) @@ -229,7 +266,7 @@ def main(): problem_full_path = "apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_folder+"/"+pddlproblem_file_name domain_full_path = "apla-planner/generated_pddls_deepseek/dataset/domains/"+scenario_folder+"/"+domains_within_scenario[0] - planfile_full_path = "apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_folder+"/"+plan_file_name + planfile_full_path = "apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_folder+"/"+pddlproblem_file_name+"_"+plan_file_name eval_folder = "apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_folder+"/" with open(planfile_full_path, 'r') as plan_file: @@ -237,15 +274,23 @@ def main(): try: current_problem_plan = plan_data[pddlproblem_file_name] print("Current problem plan is {}".format(current_problem_plan)) - pddl_response_and_answer_questions(domain_path=domain_full_path, + existing_grades = pddl_response_and_answer_questions(domain_path=domain_full_path, problem_path=problem_full_path, - current_plan=current_problem_plan, eval_folder=eval_folder) + current_plan=current_problem_plan, + eval_folder=eval_folder, + scenario_domain_and_problem_data=scenario_domain_and_problem_data, + model_dictionary=model_dictionary, + existing_grades=existing_grades) except: continue else: pddlproblem_file_name = "" - print("For this exp run, the final qa scores are {}".format(exp_run_qa_scores)) - - plt.bar([i for i in range(len(exp_run_qa_scores))], exp_run_qa_scores) - plt.show() + # After everything is done, plot a single bar chart per model output + for model_provider in model_dictionary.keys(): + for model in model_dictionary[model_provider].keys(): + plt.bar([i for i in range(len(model_dictionary[model_provider][model]))], [float(model_dictionary[model_provider][model][i]) for i in range(len(model_dictionary[model_provider][model]))]) + plt.title(f"{model}") + plt.xlabel("Interaction number (across all scenarios)") + plt.ylabel("Average correctness/faithfulness scores") + plt.show() \ No newline at end of file diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index 7756356..9fd52da 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -31,14 +31,12 @@ # "o3-mini" model_dictionary = { - "openai_models": { - "gpt-4o-mini": [] - }, - "deepinfra_models":{ - - } -} - + "openai_models": { + "o3-mini": [] + }, + "deepinfra_models": { + } + } # Generate two lists - domain file list and problem file list for a single scenario # Reuse code in terms of classes and functions and @@ -165,25 +163,29 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, for model_family in model_dictionary.keys(): if model_family=="openai_models": for model_name in model_dictionary[model_family]: + predicted_answer = openai_call(model_name=model_name, prompt=generated_prompt) grading_prompt = prepare_grading_prompt(context=context, question=question, - answer=answer, model_output=openai_call(model_name=model_name, prompt=generated_prompt)) - grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) - existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_modelname", grading_output - ) - avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 - existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + answer=answer, model_output=predicted_answer) + grading_output = eval(deepseek_call(model_name="deepseek-chat", prompt=grading_prompt)) + model_dictionary_key = model_family+"_"+model_name+"_modelname" + existing_grades[scenario_id][interaction_id].setdefault(model_dictionary_key, grading_output) + existing_grades[scenario_id][interaction_id][model_dictionary_key].setdefault("Predicted Answer", predicted_answer) + existing_grades[scenario_id][interaction_id][model_dictionary_key].setdefault("Reference Answer", answer) + avg_score = int(((int(grading_output["Correctness score"])) + int(grading_output["Faithfulness score"]))/2) + existing_grades[scenario_id][interaction_id][model_dictionary_key].setdefault("problem_score_avg", (str(avg_score))) model_dictionary[model_family][model_name].append(avg_score) elif model_family=="deepinfra_models": for model_name in model_dictionary[model_family]: + predicted_answer = deepinfra_call(model_name=model_name, prompt=generated_prompt) grading_prompt = prepare_grading_prompt(context=context, question=question, - answer=answer, model_output=deepinfra_call(model_name=model_name, prompt=generated_prompt)) - grading_output = eval(deepinfra_call(model_name="deepseek-ai/DeepSeek-V3", prompt=grading_prompt)) - existing_grades[scenario_id][interaction_id].setdefault( - model_family+"_"+model_name+"_modelname", grading_output - ) - avg_score = (int(grading_output["Correctness score"]) + int(grading_output["Faithfulness score"]))/2 - existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("problem_score_avg", (str(avg_score))) + answer=answer, model_output=predicted_answer) + grading_output = eval(deepseek_call(model_name="deepseek-chat", prompt=grading_prompt)) + model_dictionary_key = model_family+"_"+model_name+"_modelname" + existing_grades[scenario_id][interaction_id].setdefault(model_dictionary_key, grading_output) + existing_grades[scenario_id][interaction_id][model_dictionary_key].setdefault("Predicted Answer", predicted_answer) + existing_grades[scenario_id][interaction_id][model_dictionary_key].setdefault("Reference Answer", answer) + avg_score = int(((int(grading_output["Correctness score"])) + int(grading_output["Faithfulness score"]))/2) + existing_grades[scenario_id][interaction_id][model_dictionary_key].setdefault("problem_score_avg", (str(avg_score))) model_dictionary[model_family][model_name].append(avg_score) @@ -215,5 +217,7 @@ def main(): for model_provider in model_dictionary.keys(): for model in model_dictionary[model_provider].keys(): plt.bar([i for i in range(len(model_dictionary[model_provider][model]))], model_dictionary[model_provider][model]) + plt.title(f"Graph of avg scores for the model {model}") + plt.xlabel("Avg of correctness/faithfulness") plt.show() main() \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index a84a838..f6b2c7d 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -4,11 +4,12 @@ import os from rouge import Rouge -scenario_files = os.listdir("../car_beh_gen/datasets/training.tar/training/training/") -scenario_blocklist = ['3e9622a454291617'] +scenario_files = os.listdir("../car_beh_gen/datasets/training.tar/training_2/training/") +scenario_blocklist = [] def generate_womd_reasoning_datapoint(filename): - with open('../car_beh_gen/datasets/training.tar/training/training/'+filename, 'r') as file: + print("File size is {}".format(os.path.getsize('../car_beh_gen/datasets/training.tar/training_2/training/'+filename))) + with open('../car_beh_gen/datasets/training.tar/training_2/training/'+filename, 'r') as file: data = json.loads(file.read()) new_data_no_interactions = { 'environment questions': data['env_q'], @@ -61,7 +62,47 @@ def process_womd_datapoint_for_mcq_gen(womd_datapoint): return facts, mcq_qa_information -def obtain_and_write_mcq_data(start, end): +def obtain_and_write_data_smallest(start, end): + filesize = 100000 + smallest_filename = "" + for filename in scenario_files[start:end]: + file_size = os.path.getsize('../car_beh_gen/datasets/training.tar/training_2/training/'+filename) + if file_size < filesize: + filesize = file_size + smallest_filename = filename + #for filename in scenario_files[start:end]: + blocklist_match = False + final_preprocessed_data = {} + womd_datapoint = generate_womd_reasoning_datapoint(filename=smallest_filename) + id = womd_datapoint['sid'] + + # Add bad scenarios to the blocklist + for blocklist_id in scenario_blocklist: + if blocklist_id==id: + blocklist_match = True + if blocklist_match==True: + return #skip this iteration + + facts, mcq_info = process_womd_datapoint_for_mcq_gen(womd_datapoint=womd_datapoint) + reference_context = facts["Facts about the static environment"]+facts["Facts about the ego vehicle in this environment"]+facts["Facts about the agents surrounding the ego vehicle in this environment"] + preprocessed_data = {} + preprocessed_data["Context"] = reference_context + preprocessed_data["Interactions"] = {} + for i in range(len(mcq_info)): #Iterate over the mcqs generated + original_qa_data = {} + reference_question = womd_datapoint['int_q'][i] + reference_answer = womd_datapoint['int_a'][i] + + original_qa_data["reference_question"] = reference_question + original_qa_data["reference_answer"] = reference_answer + preprocessed_data["Interactions"]["Interactions_"+str(i)] = original_qa_data + + final_preprocessed_data[str(id)] = preprocessed_data + + with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: + json.dump(final_preprocessed_data, file, indent=4) + +def obtain_and_write_data(start, end): for filename in scenario_files[start:end]: blocklist_match = False final_preprocessed_data = {} @@ -78,13 +119,14 @@ def obtain_and_write_mcq_data(start, end): facts, mcq_info = process_womd_datapoint_for_mcq_gen(womd_datapoint=womd_datapoint) reference_context = facts["Facts about the static environment"]+facts["Facts about the ego vehicle in this environment"]+facts["Facts about the agents surrounding the ego vehicle in this environment"] preprocessed_data = {} + preprocessed_data["Size"] = os.path.getsize('../car_beh_gen/datasets/training.tar/training_2/training/'+filename) preprocessed_data["Context"] = reference_context preprocessed_data["Interactions"] = {} for i in range(len(mcq_info)): #Iterate over the mcqs generated original_qa_data = {} reference_question = womd_datapoint['int_q'][i] reference_answer = womd_datapoint['int_a'][i] - + original_qa_data["reference_question"] = reference_question original_qa_data["reference_answer"] = reference_answer preprocessed_data["Interactions"]["Interactions_"+str(i)] = original_qa_data @@ -92,5 +134,4 @@ def obtain_and_write_mcq_data(start, end): final_preprocessed_data[str(id)] = preprocessed_data with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: - json.dump(final_preprocessed_data, file, indent=4) - + json.dump(final_preprocessed_data, file, indent=4) \ No newline at end of file diff --git a/pddl_gen.py b/pddl_gen.py new file mode 100644 index 0000000..f187cd6 --- /dev/null +++ b/pddl_gen.py @@ -0,0 +1,276 @@ +# Script to define functions that return pddl prompts +from client_model_setup import ProvidedLLM +from pathlib import Path +import pddlpy +import json + +class PDDLGen(): + def __init__(self, client, model): + self.provided_llm = ProvidedLLM() + self.pddl_domain = "" + self.pddl_problem = "" + self.client = client + self.model = model + + def llm_call(self, prompt, dictionary_mode=False, output_thoughts=False): + output_, thoughts = self.provided_llm.llm_call(client=self.client, model=self.model, prompt=prompt) + if output_thoughts==True: + return thoughts + else: + if dictionary_mode==True: # Asked LLM to generate dictionary output in the prompt. + output = eval(output_) + return output + return output_ + + def write_pddls(self, write_domain=False, write_problem=False, + scenario_id="", interaction_id="", + domain_info="", + problem_info=""): + attempted_overwrite = False + dir_path_text = "apla-planner/generated_pddls_deepseek/dataset/domains/"+scenario_id + if write_domain==True: + pddl_domain_path = dir_path_text+"/domain_deepseek_chat_"+scenario_id+".pddl" + try: + dir_path = Path(dir_path_text) + dir_path.mkdir() + with open(pddl_domain_path, "w", encoding='utf-8') as file: + file.write(domain_info) # We want to read the article as a single string, so that we can feed it to gpt. + file.close() + except FileExistsError: + print(f""" + Attempted domain file overwrite for scenario id {scenario_id}. + This is to reduce repitition in PDDL generation. If you want to regenerate domain files for this scenario, + please delete the domains folder for this scenario first. + + Skipping PDDL gen for scenario id {scenario_id} + """) + attempted_overwrite=True + return attempted_overwrite + elif write_problem==True: + dir_path_text_problem = "apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_id + pddl_problem_path = dir_path_text_problem+"/problem_deepseek_chat_"+interaction_id+".pddl" + print("PDDL problem path is {}".format(pddl_problem_path)) + try: + # Try creating folder if it doesn't exist. Create only file if it does. + dir_path_problem = Path(dir_path_text_problem) + dir_path_problem.mkdir() + with open(pddl_problem_path, "w", encoding='utf-8') as file: + file.write(problem_info) # We want to read the article as a single string, so that we can feed it to gpt. + file.close() + except FileExistsError: + with open(pddl_problem_path, "w", encoding='utf-8') as file: + file.write(problem_info) # We want to read the article as a single string, so that we can feed it to gpt. + file.close() + return attempted_overwrite + + def generate_action_prompt(self, scenario_domain_problem_data_context): + action_prompt = f""" + Based on the information detailed in {scenario_domain_problem_data_context}, + * Write down a list of actions that map between states in natural language. + * Each action has some causal states (predicates) and some effect states that will be true or false. + * Each action has a strong logical connection between any number of causal states and any number of effect states. + * States in an action description must not contradict each other. + * Action names must be descriptive and the action can be understood just by looking at the name. + * The state names within each action are also descriptive. The cause and effect statements and the state names must have the same information. + * There must be separate states regarding the environment, ego and the respective surrounding agents. + * In each action and state, the ego agent or the surrounding agent must be identified as or or as needed. + * For distances, positions and speeds do not use specific numbers but words instead such as front, left, right, near, far, fast, slow, medium (or combinations such as front-left and so on) or other similar descriptive words. + * The action itself will only become true when the causal states and the effect states are in the specific states that this description details. + * Write them in the following format: + + "": + + "": + "statement": " + "value": , + "state_type": + , + "": + "statement": " + "value": , + "state_type": + + , + ... + + + No json tags to be used. Just the dictionary in the output. Nothing else, nothing else, nothing else. + """ + return action_prompt + + + def generate_domain_prompt(self, scenario_domain_problem_data_context, generated_actions): + domain_prompt = f""" + I have an autonomous vehicle test scenario described here: {scenario_domain_problem_data_context}. I want you to formalize the + information to more explicitly write the logic regarding the various driving behaviors in this information. Regarding this information, I first generated + action descriptions here: {generated_actions} + + Now for these action descriptions, please generate a PDDL (Planning Domain Definition Language) domain file. I only want the contents that would be in + such a file, no other information in your writing. Keep in mind that this content will be entered into a file with a .pddl extension and saved. + Please ensure that all the generated states and actions are absolutely correct with respect to the given information. + + Please ensure that everything is very clear and correct. Please make use of good names that are readable. Please check and double check your work before writing. + No pddl, lisp or any other tags to be used. Just the pddl lines in the output. Please do not write anything else other than precisely what has been asked. + """ + return domain_prompt + + def generate_pddl_domain(self, scenario_domain_problem_data_context, scenario_id): + action_prompt = self.generate_action_prompt(scenario_domain_problem_data_context=scenario_domain_problem_data_context) + action_json = self.llm_call(action_prompt) + print("Action json is {}".format(action_json)) + domain_prompt = self.generate_domain_prompt(scenario_domain_problem_data_context=scenario_domain_problem_data_context, generated_actions=action_json) + self.pddl_domain = self.llm_call(domain_prompt) + print("PDDL domain is {}".format(self.pddl_domain)) + attempted_overwrite = self.write_pddls(write_domain=True, domain_info=self.pddl_domain, scenario_id=scenario_id) + return self.pddl_domain, attempted_overwrite, action_json + + def generate_initial_problem_prompt(self, scenario_domain_problem_data_context, + generated_actions, + scenario_domain_problem_data_problem_data, domain): + problem_initial_prompt = f""" + I have an autonomous vehicle test scenario described here: {scenario_domain_problem_data_context}. + + I wanted you to formalize the information to more explicitly and write the logic regarding driving behaviors contained in this information. + Regarding this information, I first generated action descriptions here: + {generated_actions}. + + From all of this information, I generated the following PDDL (Planning Domain Definition Language) Domain model here: + {domain}. + + In addition to everything else above, I have some more pertinent information here regarding the PDDL problem corresponding to the PDDL domain above: + {scenario_domain_problem_data_problem_data} + + First, please repeat the types, states (predicates) and actions in this file in your mind. + Then think step by step about a PDDL problem for this PDDL domain. Please think about whether this problem does indeed have a solution. In other words, whether a plan exists for this problem. + Now, please generate a PDDL (Planning Domain Definition Language) problem file. I only want the contents that would be in + such a file, no other information in your writing. Keep in mind that this content will be entered into a file with a .pddl extension and saved so no extra information should be contained. + + No pddl, lisp or any other tags to be used. Just the pddl lines in the output. No tags. No tags. No tags. + """ + return problem_initial_prompt + + def generate_final_problem_prompt(self, + scenario_domain_problem_data_context, + generated_actions, + domain, + scenario_domain_problem_data_problem_data, + initial_problem): + final_problem_prompt = f""" + I have an autonomous vehicle test scenario described here: {scenario_domain_problem_data_context}. + + I want you to formalize the information to more explicitly write the logic regarding the various driving behaviors in this information. Regarding this information, I first generated + action descriptions here: {generated_actions}. Then I generated the following PDDL (Planning Domain Definition Language) Domain model here: {domain}. + + In addition to everything else above, regarding the PDDL problem file, I have some pertinent information here: {scenario_domain_problem_data_problem_data} + + From all of this information, I generated the PDDL problem file. Carefully read this PDDL problem file: + {initial_problem}. + + Please consider all the information above and generate a refined, correct and better quality PDDL problem file. Thank you! + + Again, I only want the contents that would be in such a file, no other information in your writing. Keep in mind that this content will be entered into a file with a .pddl extension and saved so no extra information should be contained. + + No pddl, lisp or any other tags to be used. Just the pddl lines in the output. No tags. No tags. No tags. + """ + return final_problem_prompt + + def generate_pddl_problem(self, scenario_domain_problem_data_context, generated_actions, domain, scenario_problem_data, scenario_id, interaction_id): + initial_problem_prompt = self.generate_initial_problem_prompt(scenario_domain_problem_data_context=scenario_domain_problem_data_context, + generated_actions=generated_actions, + scenario_domain_problem_data_problem_data=scenario_problem_data, + domain=domain) + initial_pddl_problem = self.llm_call(initial_problem_prompt) + final_problem_prompt = self.generate_final_problem_prompt(scenario_domain_problem_data_context, + generated_actions, + domain, + scenario_domain_problem_data_problem_data=scenario_problem_data, + initial_problem=initial_pddl_problem) + self.pddl_problem = self.llm_call(final_problem_prompt) + print("PDDL problem is {}".format(self.pddl_problem)) + self.write_pddls(write_problem=True, scenario_id=scenario_id, problem_info=self.pddl_problem, interaction_id=interaction_id) + return self.pddl_problem + + + def generate_llm_pddl_judge_prompt(self, + scenario_domain_problem_data_context, + domain, + scenario_domain_problem_data_problem_data, + problem_final): + llm_pddl_judge_prompt = f""" + First, read the context information for the given scenario: + {scenario_domain_problem_data_context} + + Now, carefully read the generated domain file: + {domain} + + Now, carefully review the problem data in the scenario: + {scenario_domain_problem_data_problem_data} + + Carefully read this PDDL problem file: + {problem_final}. + + Now score the generated domain and problem PDDL files according to the given rubric: + + 1. Consistency: Are the facts in the context information above consistently and correctly presented in the domain and problem files? Rate this output on a scale of 1 to 10. Explain your rating. + 2. Domain coverage: Does the generated domain PDDL domain file adequately cover the information in the context above? Rate this output on a scale of 1 to 10. Explain your rating. + 3. Problem coverage: Does the generated problem PDDL file adequately cover the given problem data as presented above? The problem data asks specific questions with respect to the context. + Therefore, you must rate the coverage with respect to this specific question only. Rate this output on a scale of 1 to 10. Explain your rating. + + Format your output exactly in the following manner: + + "Consistency": + + "Score explanation": "", + "Grade": "" + , + "Domain coverage": + + "Score explanation": "", + "Grade": "" + , + "Problem coverage": + + "Problem data provided": "" + "Score explanation": "", + "Grade": "" + + + + No tags. Just the dictionary in the output. Nothing else, nothing else. + """ + return llm_pddl_judge_prompt + + def generate_llm_eval(self, scenario_domain_problem_data_context="", + domain="", + scenario_domain_problem_data_problem_data="", + problem_final="", + scenario_id="", + interaction_id=""): + + llm_pddl_judge_prompt = self.generate_llm_pddl_judge_prompt(scenario_domain_problem_data_context=scenario_domain_problem_data_context, + domain=self.pddl_domain, + scenario_domain_problem_data_problem_data=scenario_domain_problem_data_problem_data, + problem_final=self.pddl_problem) + llm_eval = self.llm_call(llm_pddl_judge_prompt, dictionary_mode=True) + # Each sentence in the scenario context pertains to a fact. + # We can split the context by sentence and count the word count per sentence to get a sense of how difficult the facts are. + # Longer individual sentences would mean more complex facts. + context_sentence_list = scenario_domain_problem_data_context.split(". ") + total_word_count_sentence = 0 + for sentence_index in range(len(context_sentence_list)): + total_word_count_sentence += len(context_sentence_list[sentence_index].split()) + + average_word_count_sentence = int(total_word_count_sentence / len(context_sentence_list)) + llm_eval.setdefault("average_context_sentence_word_count", average_word_count_sentence) + llm_eval.setdefault("total_word_count", total_word_count_sentence) + + domain_problem_files = pddlpy.DomainProblem("apla-planner/generated_pddls_deepseek/dataset/domains/"+scenario_id+"/domain_deepseek_chat_"+scenario_id+".pddl", + "apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_id+"/problem_deepseek_chat_"+interaction_id+".pddl") + llm_eval.setdefault("domain_action_count", len(list(domain_problem_files.operators()))) # List of actions written in the domain. + llm_eval.setdefault("initial_state_size", len(domain_problem_files.initialstate())) # Initial state in the problem file. + + with open("apla-planner/generated_pddls_deepseek/dataset/problems/"+scenario_id+"/LLM_eval_"+interaction_id+".json", "w", encoding='utf-8') as file_eval: + json.dump(llm_eval, file_eval, indent=4) # We want to read the article as a single string, so that we can feed it to gpt. + file_eval.close() + return llm_eval + diff --git a/planner.py b/planner.py index d82817e..615bb90 100644 --- a/planner.py +++ b/planner.py @@ -6,10 +6,12 @@ from pathlib import Path import pddlpy from openai import OpenAI -from client_model_setup import ProvidedLLM from tqdm import tqdm +from pddl_gen import PDDLGen +from client_model_setup import ProvidedLLM +import shutil -provided_llm = ProvidedLLM() #Object contains all the client setup and the model names for that client. +provided_llm = ProvidedLLM() def retrieve_womdr_domain_problem_data(): @@ -36,200 +38,50 @@ def retrieve_womdr_domain_problem_data(): return scenario_domain_problem_data -def resolve_client_and_model(api_type, model_name): - # API_type parameter must be from the following names: - # 1. ds_api - # 2. deepinfra_api - # 3. oai_api - - # For ds models, model names should be from the following: - # 1. ds_v3_dsapi - # 2. ds_r1_dsapi - - # For deepinfra models, model names should be from the following: - # 1. ds_v3, - # 2. llama_33_70b - # 3. llama_31_405b - # 4. qw_25_72b - # 5. ds_distil_llama_70b - # 6. gemma_2 - # 7. llama_31_8b - # 8. qw_25_7b - # 9. phi_4 - - # For OpenAI models, model names should be from the following: - # 1. gpt_4o_mini - # 2. o3_mini - - if api_type=="ds_api": - client = provided_llm.client_dsapi - if model_name=="ds_v3_dsapi": - selected_model = provided_llm.ds_v3_dsapi - elif model_name=="ds_r1_dsapi": - selected_model = provided_llm.ds_r1_dsapi - else: - print("Model name is incompatible with DS api or invalid") - elif api_type=="deepinfra_api": - client = provided_llm.client_deepinfra - if model_name=="ds_v3": - selected_model = provided_llm.ds_v3 - elif model_name=="llama_33_70b": - selected_model = provided_llm.llama_33_70b - elif model_name=="ds_distil_llama_70b": - selected_model = provided_llm.ds_distil_llama_70b - else: - print("model name either incompatible with DeepInfra API or invalid.") - elif api_type=="oai_api": - client = provided_llm.client_oai - selected_model = provided_llm.gpt_4o_mini - else: - print("API type invalid") - - return client, selected_model - -def generate_pddl_with_syntax_check(api_type, model_name): - client, selected_model = resolve_client_and_model(api_type=api_type, model_name=model_name) +# Client and model type are resolved in the function call itself and remain fixed throughout +def generate_pddl_with_syntax_check(client, model): scenario_domain_problem_data = retrieve_womdr_domain_problem_data() for id in tqdm(scenario_domain_problem_data.keys()): - print("\nDomain generation, generating action suggestions....\n") - response_action_json = client.chat.completions.create( - model=selected_model, - messages=[ - {"role": "user", "content": f""" - - Based on the information detailed in {scenario_domain_problem_data[id]["Context"]}, - * Write down a list of actions that map between states in natural language. - * Each action has some causal states (predicates) and some effect states that will be true or false. - * Each action is a cause and effect mapping between any number of causal states and any number of effect states. - * Actions and states must not contradict each other. - * Action names must be descriptive and the action can be understood just by looking at the name. - * The state names within each action are also descriptive. The cause and effect statements and the state names must have the same information. - * There must be separate states regarding the environment, ego and the respective surrounding agents. - * In each action and state, the ego agent or the surrounding agent must be identified as or or as needed. - * For distances, positions and speeds do not use specific numbers but words instead such as front, left, right, near, far, fast, slow, medium (or combinations such as front-left and so on) or other similar descriptive words. - * The action itself will only become true when the causal states and the effect states are in the specific states that this description details. - * Write them in the following format: - - "": - - "": - "statement": " - "value": , - "state_type": - , - "": - "statement": " - "value": , - "state_type": - - , - ... - - - No json tags to be used. Just the dictionary in the output. Nothing else, nothing else, nothing else. - """}, - ], - stream=False - ) + val_error_detected = False + blocklist_ids = [] + with open("apla-planner/generated_pddls_deepseek/dataset/blocklist.json", 'r') as block_file: + blocklist_ids = json.load(block_file) + if blocklist_ids.count(id)>0: continue # Scenario ID detected in blocklist, continue + + # Client and model fixed for all PDDL generation. + pddl_gen = PDDLGen(client=client, model=model) print(f"\nDomain generation, generating domain file for scenario id {id}....\n") - response_domain_initial = client.chat.completions.create( - model=selected_model, - messages=[ - {"role": "user", "content": f""" - We need you to write specific driving behaviors to accomplish certain goals. A behavior is defined as actions taken in response to certain conditions. Conditions are provided as an environment state. - Think about some states by yourself that you believe is necessary. - Vehicles navigate in the action space and the state space provided to them. - - Now generate a PDDL domain file for the scenario: {response_action_json.choices[0].message.content}. Domain file only only only for now. - Think about the STRIPS PDDL for different popular domains such as gripper and sokoban. - Verify whether all the suggested states and actions makes sense and are correct. - If it feels correct, write it down as a PDDL domain file. I only only want the PDDL domain file contents. - - Please keep things really clear. Do not repeat names. Do not repeat names. Do not redefine anything. Ensure that everything is very very clear and correct. Check and double check correctness. - Do not write anything else other than what is asked. Only Only Only write what has been asked. No tags of any sort. Only pure PDDL. Only write what has been asked. Only write what has been asked. - Nothing other than pure PDDL as asked. Nothing other than pure PDDL as asked. Please make sure it is correct. - Do not write ```pddl or ``` or the corresponding closing tags since I'm going to parse these outputs. - - I repeat, do not write ```pddl or ``` or ```lisp or the corresponding closing tags since I'm going to parse these outputs. - I repeat again, do not write ```pddl or ``` or ```lisp or the corresponding closing tags since I'm going to parse these outputs. - """}, - ], - stream=False - ) - - dir_path_text = "apla-planner/generated_pddls_deepseek/dataset/domains/"+id - try: - dir_path = Path(dir_path_text) - dir_path.mkdir() - with open(dir_path_text+"/domain_deepseek_chat_"+id+".pddl", "w", encoding='utf-8') as file: - file.write(response_domain_initial.choices[0].message.content) # We want to read the article as a single string, so that we can feed it to gpt. - file.close() - except FileExistsError: - with open(dir_path_text+"/domain_deepseek_chat_"+id+".pddl", "w", encoding='utf-8') as file: - file.write(response_domain_initial.choices[0].message.content) # We want to read the article as a single string, so that we can feed it to gpt. - file.close() + scenario_domain_problem_data_context = scenario_domain_problem_data[id]["Context"] + domain, attempted_overwrite, generated_actions = pddl_gen.generate_pddl_domain(scenario_domain_problem_data_context=scenario_domain_problem_data_context, + scenario_id=id) + print(domain) + print(generated_actions) + if attempted_overwrite==True: continue # Attempted PDDL domain overwrite, move on to the next scenario. # Given one domain file based on a context, generate multiple problem files. for interaction_id in tqdm(scenario_domain_problem_data[id]["Interactions"].keys()): + if val_error_detected: break print(f"\nProblem generation, generating problem file for interaction {interaction_id}....\n") - response_problem_initial = client.chat.completions.create( - model=selected_model, - messages=[ - {"role": "user", "content": f""" - Now carefully write the PDDL problem file for the corresponding domain file provided: - {response_domain_initial.choices[0].message.content}. - - Consider in addition some problem specific data: {scenario_domain_problem_data[id]["Interactions"][interaction_id]["problem_data"]} - First repeat the types, states (predicates) and actions in this file as a list in natural language. - Then think step by step about a problem for this domain. Think about whether this problem does indeed have a solution plan. - Double check that everything is clear and it does in fact have a solution. Then write the PDDL problem file contents. I only want the problem file contents. - Do not repeat names. Do not repeat names. Only the problem file contents nothing more. Only the problem file contents nothing more. I'm pasting this in a pddl problem file just letting you know. - Do not write anything else other than what is asked. Only Only Only write what has been asked. Only write pure PDDL as asked. - Only write pure PDDL as asked. Only write pure PDDL as asked. - - Do not write ```pddl or ``` or ```lisp or the corresponding closing tags since I'm going to parse these outputs. - """}, - ], - stream=False - ) - - print("\nProblem generation, reviewing and updating problem file....\n") - response_problem_final = client.chat.completions.create( - model=selected_model, - messages=[ - {"role": "user", "content": f""" - Carefully read this PDDL problem file: - {response_problem_initial.choices[0].message.content}. - - It is really important that the ```pddl or ``` or ```lisp opening tags - or the corresponding closing tags do not exist. Do these tags exist in the given PDDL problem file? - Do not write your answer in the output. But if the answer is yes, can you remove the lines with these tags - and rewrite the rest of the PDDL file exactly as it is? The lines with the tags should definitely not be there in the final output. - If the answer is no however, please rewrite the file exactly as it is. Thank you! - - Again, remember that the final output should only have lines of PDDL as instructed above, nothing else, nothing else, nothing else. - """}, - ], - stream=False - ) - - dir_path_text_problem = "apla-planner/generated_pddls_deepseek/dataset/problems/"+id - try: - # Try creating folder if it doesn't exist. Create only file if it does. - dir_path_problem = Path(dir_path_text_problem) - dir_path_problem.mkdir() - with open(dir_path_text_problem+"/problem_deepseek_chat_"+interaction_id+".pddl", "w", encoding='utf-8') as file: - file.write(response_problem_final.choices[0].message.content) # We want to read the article as a single string, so that we can feed it to gpt. - file.close() - except FileExistsError: - with open(dir_path_text_problem+"/problem_deepseek_chat_"+interaction_id+".pddl", "w", encoding='utf-8') as file: - file.write(response_problem_final.choices[0].message.content) # We want to read the article as a single string, so that we can feed it to gpt. - file.close() - - + scenario_domain_problem_problem_data = scenario_domain_problem_data[id]["Interactions"][interaction_id]["problem_data"] + problem = pddl_gen.generate_pddl_problem(domain=domain, + scenario_domain_problem_data_context=scenario_domain_problem_data_context, + generated_actions=generated_actions, + scenario_problem_data=scenario_domain_problem_problem_data, + scenario_id=id, + interaction_id=interaction_id) + print(problem) # Take each domain and problem file pair and run val through it, write it to the corresponding text file. output_val_deepseek_chat = subprocess.run(["Parser", "apla-planner/generated_pddls_deepseek/dataset/domains/"+id+"/domain_deepseek_chat_"+id+".pddl", "apla-planner/generated_pddls_deepseek/dataset/problems/"+id+"/problem_deepseek_chat_"+interaction_id+".pddl"], stdout=subprocess.PIPE).stdout string_output_round2 = str(output_val_deepseek_chat, encoding='utf-8') + if string_output_round2.find("Errors: 0,")==-1: + val_error_detected = True + print("\nOh no val error detected!\n") + blocklist_ids.append(id) + with open("apla-planner/generated_pddls_deepseek/dataset/blocklist.json", 'w') as block_file: + json.dump(blocklist_ids, block_file, indent=4) + block_file.close() + print("\nAdding scenario to blocklist\n") + break #Exit the for loop for this set of interactions. with open("apla-planner/generated_pddls_deepseek/dataset/problems/"+id+"/val_output_"+interaction_id+".txt", "w", encoding='utf-8') as file: file.write(string_output_round2) # We want to read the article as a single string, so that we can feed it to gpt. file.close() @@ -309,78 +161,22 @@ def generate_pddl_with_syntax_check(api_type, model_name): # file.close() print("\nLLM grading for PDDL file generation....\n") - response_LLM_judgement = client.chat.completions.create( - model=selected_model, - messages=[ - {"role": "user", "content": f""" - First, read the context information for the given scenario: - {scenario_domain_problem_data[id]["Context"]} - - Now, carefully read the generated domain file: - {response_domain_initial.choices[0].message.content} - - Now, carefully review the problem data in the scenario: - {scenario_domain_problem_data[id]["Interactions"][interaction_id]["problem_data"]} - - Carefully read this PDDL problem file: - {response_problem_final.choices[0].message.content}. - - Now score the generated domain and problem PDDL files according to the given rubric: - - 1. Consistency: Are the facts in the context information above consistently and correctly presented in the domain and problem files? Rate this output on a scale of 1 to 10. Explain your rating. - 2. Domain coverage: Does the generated domain PDDL domain file adequately cover the information in the context above? Rate this output on a scale of 1 to 10. Explain your rating. - 3. Problem coverage: Does the generated problem PDDL file adequately cover the given problem data as presented above? The problem data asks specific questions with respect to the context. - Therefore, you must rate the coverage with respect to this specific question only. Rate this output on a scale of 1 to 10. Explain your rating. - - Format your output exactly in the following manner: - - "Context": "", - "Consistency": - - "Score explanation": "", - "Grade": "" - , - "Domain coverage": - - "Score explanation": "", - "Grade": "" - , - "Problem coverage": - - "Problem data provided": "" - "Score explanation": "", - "Grade": "" - - - - No tags. Just the dictionary in the output. Nothing else, nothing else. - """}, - ], - stream=False - ) - - LLM_eval_dictionary = eval(response_LLM_judgement.choices[0].message.content) - # Each sentence in the scenario context pertains to a fact. - # We can split the context by sentence and count the word count per sentence to get a sense of how difficult the facts are. - # Longer individual sentences would mean more complex facts. - context_sentence_list = scenario_domain_problem_data[id]["Context"].split(". ") - total_word_count_sentence = 0 - for sentence_index in range(len(context_sentence_list)): - total_word_count_sentence += len(context_sentence_list[sentence_index].split()) - - average_word_count_sentence = total_word_count_sentence / len(context_sentence_list) + llm_eval = pddl_gen.generate_llm_eval(scenario_domain_problem_data_problem_data=scenario_domain_problem_problem_data, + domain=domain, + problem_final=problem, + scenario_id=id, + interaction_id = interaction_id, + scenario_domain_problem_data_context=scenario_domain_problem_data_context) - LLM_eval_dictionary.setdefault("average_context_sentence_word_count", average_word_count_sentence) - - domain_problem_files = pddlpy.DomainProblem("apla-planner/generated_pddls_deepseek/dataset/domains/"+id+"/domain_deepseek_chat_"+id+".pddl", - "apla-planner/generated_pddls_deepseek/dataset/problems/"+id+"/problem_deepseek_chat_"+interaction_id+".pddl") - LLM_eval_dictionary.setdefault("domain_action_count", len(list(domain_problem_files.operators()))) # List of actions written in the domain. - LLM_eval_dictionary.setdefault("initial_state_size", len(domain_problem_files.initialstate())) # Initial state in the problem file. - - with open(dir_path_text_problem+"/LLM_eval_"+interaction_id+".json", "w", encoding='utf-8') as file_eval: - json.dump(LLM_eval_dictionary, file_eval, indent=4) # We want to read the article as a single string, so that we can feed it to gpt. - file.close() print(f"\nPDDL problem generation complete for interaction with id {interaction_id}. Progress with interactions shown below\n") + + if val_error_detected==True: + #Delete the domain folder for this scenario id completely. + delete_path_domain = "apla-planner/generated_pddls_deepseek/dataset/domains/"+id + shutil.rmtree(delete_path_domain) + delete_path_problem = "apla-planner/generated_pddls_deepseek/dataset/problems/"+id + shutil.rmtree(delete_path_problem) + continue # Move on to the next scenario id print(f"\nPDDL generation complete for scenario with id {id}. Progress with scenarios shown below\n") def pddl_response_and_answer_questions(): diff --git a/run_experiments.py b/run_experiments.py index 2abb277..ab72b00 100644 --- a/run_experiments.py +++ b/run_experiments.py @@ -3,18 +3,22 @@ # the wsl home ~ folder as stated in this project's README. import subprocess +from client_model_setup import ProvidedLLM import parse_scenario_womd import planner import llm_qa + print("Running the data preprocessing .... \nThe data will be in the parsed_womdr_data dictionary.") -parse_scenario_womd.obtain_and_write_mcq_data(35, 36) # Take these two arguments via argparse or config +parse_scenario_womd.obtain_and_write_data(125, 126) # Take these two arguments via argparse or config print("Completed data preprocessing!\n") print("Running the PDDL file generation...\nThe domains and problem files will get saved in the apla-planner/generated_pddls_deepseek path within the domains and problems folder.......") -api_type = "ds_api" -model_name = "ds_v3_dsapi" # Take these two arguments via argparse -planner.generate_pddl_with_syntax_check(api_type, model_name) + +provided_llm = ProvidedLLM() +client = provided_llm.client_dsapi +model = provided_llm.ds_v3_dsapi +planner.generate_pddl_with_syntax_check(client, model) print("PDDL problem generation has been completed!\n") print("Running the planner within WSL... \n") @@ -22,6 +26,6 @@ print("Plan generation has been completed!\n") print("Running the LLM evaluations ... \nThe results will be in the grades folder.") -llm_qa.main() +llm_qa.exp_run() print("LLM evaluations have been completed!") diff --git a/run_llm_qa.py b/run_llm_qa.py new file mode 100644 index 0000000..979afe2 --- /dev/null +++ b/run_llm_qa.py @@ -0,0 +1,5 @@ +import llm_qa + +print("Running the LLM evaluations ... \nThe results will be in the grades folder.") +llm_qa.exp_run() +print("LLM evaluations have been completed!") \ No newline at end of file diff --git a/run_parser.py b/run_parser.py new file mode 100644 index 0000000..6432013 --- /dev/null +++ b/run_parser.py @@ -0,0 +1,5 @@ +import parse_scenario_womd + +# Ensure the parse folder and the respective PDDL folders have been deleted before starting this experiment run. +# Current experiment run plan - scenario indices (52, 53), (110, 120), (239, 244), (17, 22) and (84, 88) +parse_scenario_womd.obtain_and_write_data(84, 85) \ No newline at end of file diff --git a/run_planner.py b/run_planner.py new file mode 100644 index 0000000..c8bf05e --- /dev/null +++ b/run_planner.py @@ -0,0 +1,10 @@ +import planner +from client_model_setup import ProvidedLLM + +print("Running the PDDL file generation...\nThe domains and problem files will get saved in the apla-planner/generated_pddls_deepseek path within the domains and problems folder.......") + +provided_llm = ProvidedLLM() +client = provided_llm.client_oai +model = provided_llm.gpt_45 +planner.generate_pddl_with_syntax_check(client, model) +print("PDDL problem generation has been completed!\n") \ No newline at end of file diff --git a/search_plan.py b/search_plan.py new file mode 100644 index 0000000..2cf3218 --- /dev/null +++ b/search_plan.py @@ -0,0 +1,5 @@ +import subprocess + +print("Running the planner within WSL... \n") +subprocess.run(["wsl", "-e", "bash", "-ic", "cd apla-planner/generated_pddls_deepseek ; python planner_test.py"], stdout=subprocess.PIPE).stdout +print("Plan generation has been completed!\n") \ No newline at end of file diff --git a/test.py b/test.py new file mode 100644 index 0000000..f169c48 --- /dev/null +++ b/test.py @@ -0,0 +1,37 @@ +# Removal of think tags in output. Test on Deepseek R1 Distill Llama 70B +from client_model_setup import ProvidedLLM +import re + +llm = ProvidedLLM() + +# Setup the client and the model +client = llm.client_deepinfra +model = llm.ds_distil_llama_70b +model_r1_deepinfra = llm.ds_r1 + +client_ds = llm.client_dsapi +model_r1 = llm.ds_r1_dsapi + +prompt = """ +Hi do you have advice for grad school in computer science? Format your response in the following manner: + +"advice": + +"": "", +... +... + + +Your response needs to strictly be in this format. Please do not write anything else outside this format. +""" +output, thoughts = llm.thinking_llm_call(client=client, model=model_r1_deepinfra, prompt=prompt) + +# separated_string = re.split(r"()", output) +# separated_string_thoughts = re.split(r"()", separated_string[0]) +# separated_string_output = separated_string[1] +# separated_string_thoughts = separated_string_thoughts[1] + +print("\n The thoughts are\n") +print(thoughts) +print("\nThe actual output is\n") +print(output) diff --git a/test.xodr b/test.xodr new file mode 100644 index 0000000..e7a39ed --- /dev/null +++ b/test.xodr @@ -0,0 +1,269 @@ + + +

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+
+
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
+ + \ No newline at end of file From a28cb92159750687b6dbf542540ab59f34b32392 Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Wed, 26 Mar 2025 11:13:01 -0700 Subject: [PATCH 23/45] Removing planner import --- llm_qa_direct_only.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index cdd516a..a6e9f3c 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -3,8 +3,7 @@ import os import json -import matplotlib.pyplot as plt -import planner # Comment out any function calls within this. +import matplotlib.pyplot as plt from openai import OpenAI ########### ============ Global initializations ====================== ########## From 295ad3d22f79b0cb302037f049757dd23a411adf Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Thu, 27 Mar 2025 00:58:21 -0700 Subject: [PATCH 24/45] incorporated word count into planner.py, drafting automation for correctness averages in llm_qa_direct_only, and ran 60 experiments (grades and charts) for newly formatted experiment chart under old deepseek model v3 --- .../deepseek_grades.json | 0 .../deepseek_grades_direct_2shot_exp10.json | 0 .../deepseek_grades_direct_2shot_exp14.json | 0 .../deepseek_grades_direct_2shot_exp18.json | 0 .../deepseek_grades_direct_2shot_exp2.json | 0 .../deepseek_grades_direct_2shot_exp23.json | 0 .../deepseek_grades_direct_2shot_exp27.json | 0 .../deepseek_grades_direct_4shot_exp11.json | 0 .../deepseek_grades_direct_4shot_exp15.json | 0 .../deepseek_grades_direct_4shot_exp19.json | 0 .../deepseek_grades_direct_4shot_exp21.json | 0 .../deepseek_grades_direct_4shot_exp24.json | 0 .../deepseek_grades_direct_4shot_exp28.json | 0 .../deepseek_grades_direct_4shot_exp3.json | 0 .../deepseek_grades_direct_6shot_exp12.json | 0 .../deepseek_grades_direct_6shot_exp16.json | 0 .../deepseek_grades_direct_6shot_exp20.json | 0 .../deepseek_grades_direct_6shot_exp25.json | 0 .../deepseek_grades_direct_6shot_exp29.json | 0 .../deepseek_grades_direct_6shot_exp4.json | 0 .../deepseek_grades_direct_direct_exp1.json | 0 .../deepseek_grades_direct_direct_exp13.json | 0 .../deepseek_grades_direct_direct_exp17.json | 0 .../deepseek_grades_direct_direct_exp22.json | 0 .../deepseek_grades_direct_direct_exp26.json | 0 .../deepseek_grades_direct_direct_exp5.json | 0 .../deepseek_grades_direct_direct_exp6.json | 0 .../deepseek_grades_direct_direct_exp7.json | 0 .../deepseek_grades_direct_direct_exp8.json | 0 .../deepseek_grades_direct_direct_exp9.json | 0 .../deepseek_grades_direct_0shot_exp1.json | 25 ++++ .../deepseek_grades_direct_0shot_exp13.json | 39 ++++++ .../deepseek_grades_direct_0shot_exp17.json | 25 ++++ .../deepseek_grades_direct_0shot_exp21.json | 53 ++++++++ .../deepseek_grades_direct_0shot_exp25.json | 60 +++++++++ .../deepseek_grades_direct_0shot_exp29.json | 74 +++++++++++ .../deepseek_grades_direct_0shot_exp33.json | 53 ++++++++ .../deepseek_grades_direct_0shot_exp37.json | 81 ++++++++++++ .../deepseek_grades_direct_0shot_exp41.json | 123 ++++++++++++++++++ .../deepseek_grades_direct_0shot_exp45.json | 102 +++++++++++++++ .../deepseek_grades_direct_0shot_exp49.json | 74 +++++++++++ .../deepseek_grades_direct_0shot_exp5.json | 39 ++++++ .../deepseek_grades_direct_0shot_exp53.json | 88 +++++++++++++ .../deepseek_grades_direct_0shot_exp57.json | 81 ++++++++++++ .../deepseek_grades_direct_0shot_exp9.json | 18 +++ .../deepseek_grades_direct_2shot_exp10.json | 18 +++ .../deepseek_grades_direct_2shot_exp14.json | 39 ++++++ .../deepseek_grades_direct_2shot_exp18.json | 25 ++++ .../deepseek_grades_direct_2shot_exp2.json | 25 ++++ .../deepseek_grades_direct_2shot_exp22.json | 53 ++++++++ .../deepseek_grades_direct_2shot_exp26.json | 60 +++++++++ .../deepseek_grades_direct_2shot_exp30.json | 74 +++++++++++ .../deepseek_grades_direct_2shot_exp34.json | 53 ++++++++ .../deepseek_grades_direct_2shot_exp38.json | 81 ++++++++++++ .../deepseek_grades_direct_2shot_exp42.json | 123 ++++++++++++++++++ .../deepseek_grades_direct_2shot_exp46.json | 102 +++++++++++++++ .../deepseek_grades_direct_2shot_exp50.json | 74 +++++++++++ .../deepseek_grades_direct_2shot_exp54.json | 88 +++++++++++++ .../deepseek_grades_direct_2shot_exp58.json | 81 ++++++++++++ .../deepseek_grades_direct_2shot_exp6.json | 39 ++++++ .../deepseek_grades_direct_4shot_exp11.json | 18 +++ .../deepseek_grades_direct_4shot_exp15.json | 39 ++++++ .../deepseek_grades_direct_4shot_exp19.json | 25 ++++ .../deepseek_grades_direct_4shot_exp23.json | 53 ++++++++ .../deepseek_grades_direct_4shot_exp27.json | 60 +++++++++ .../deepseek_grades_direct_4shot_exp3.json | 25 ++++ .../deepseek_grades_direct_4shot_exp31.json | 74 +++++++++++ .../deepseek_grades_direct_4shot_exp35.json | 53 ++++++++ .../deepseek_grades_direct_4shot_exp39.json | 81 ++++++++++++ .../deepseek_grades_direct_4shot_exp43.json | 123 ++++++++++++++++++ .../deepseek_grades_direct_4shot_exp47.json | 102 +++++++++++++++ .../deepseek_grades_direct_4shot_exp51.json | 74 +++++++++++ .../deepseek_grades_direct_4shot_exp55.json | 88 +++++++++++++ .../deepseek_grades_direct_4shot_exp59.json | 81 ++++++++++++ .../deepseek_grades_direct_4shot_exp7.json | 39 ++++++ .../deepseek_grades_direct_6shot_exp12.json | 18 +++ .../deepseek_grades_direct_6shot_exp16.json | 39 ++++++ .../deepseek_grades_direct_6shot_exp20.json | 25 ++++ .../deepseek_grades_direct_6shot_exp24.json | 53 ++++++++ .../deepseek_grades_direct_6shot_exp28.json | 60 +++++++++ .../deepseek_grades_direct_6shot_exp32.json | 74 +++++++++++ .../deepseek_grades_direct_6shot_exp36.json | 53 ++++++++ .../deepseek_grades_direct_6shot_exp4.json | 25 ++++ .../deepseek_grades_direct_6shot_exp40.json | 81 ++++++++++++ .../deepseek_grades_direct_6shot_exp44.json | 123 ++++++++++++++++++ .../deepseek_grades_direct_6shot_exp48.json | 102 +++++++++++++++ .../deepseek_grades_direct_6shot_exp52.json | 74 +++++++++++ .../deepseek_grades_direct_6shot_exp56.json | 88 +++++++++++++ .../deepseek_grades_direct_6shot_exp60.json | 81 ++++++++++++ .../deepseek_grades_direct_6shot_exp8.json | 39 ++++++ llm_qa_direct_only.py | 34 ++++- parse_scenario_womd.py | 4 +- planner.py | 1 + plt-graph-correct/exp1.png | Bin 0 -> 18461 bytes plt-graph-correct/exp10.png | Bin 0 -> 19069 bytes plt-graph-correct/exp11.png | Bin 0 -> 19594 bytes plt-graph-correct/exp12.png | Bin 0 -> 19069 bytes plt-graph-correct/exp13.png | Bin 0 -> 17818 bytes plt-graph-correct/exp14.png | Bin 0 -> 17767 bytes plt-graph-correct/exp15.png | Bin 0 -> 17825 bytes plt-graph-correct/exp16.png | Bin 0 -> 17803 bytes plt-graph-correct/exp17.png | Bin 0 -> 18409 bytes plt-graph-correct/exp18.png | Bin 0 -> 18408 bytes plt-graph-correct/exp19.png | Bin 0 -> 18403 bytes plt-graph-correct/exp2.png | Bin 0 -> 17977 bytes plt-graph-correct/exp20.png | Bin 0 -> 18416 bytes plt-graph-correct/exp21.png | Bin 0 -> 18240 bytes plt-graph-correct/exp22.png | Bin 0 -> 17803 bytes plt-graph-correct/exp23.png | Bin 0 -> 18234 bytes plt-graph-correct/exp24.png | Bin 0 -> 18238 bytes plt-graph-correct/exp25.png | Bin 0 -> 18905 bytes plt-graph-correct/exp26.png | Bin 0 -> 18932 bytes plt-graph-correct/exp27.png | Bin 0 -> 18937 bytes plt-graph-correct/exp28.png | Bin 0 -> 18461 bytes plt-graph-correct/exp29.png | Bin 0 -> 17987 bytes plt-graph-correct/exp3.png | Bin 0 -> 18364 bytes plt-graph-correct/exp30.png | Bin 0 -> 17991 bytes plt-graph-correct/exp31.png | Bin 0 -> 17970 bytes plt-graph-correct/exp32.png | Bin 0 -> 17975 bytes plt-graph-correct/exp33.png | Bin 0 -> 18261 bytes plt-graph-correct/exp34.png | Bin 0 -> 18252 bytes plt-graph-correct/exp35.png | Bin 0 -> 18255 bytes plt-graph-correct/exp36.png | Bin 0 -> 18248 bytes plt-graph-correct/exp37.png | Bin 0 -> 18356 bytes plt-graph-correct/exp38.png | Bin 0 -> 18322 bytes plt-graph-correct/exp39.png | Bin 0 -> 18306 bytes plt-graph-correct/exp4.png | Bin 0 -> 18591 bytes plt-graph-correct/exp40.png | Bin 0 -> 18327 bytes plt-graph-correct/exp41.png | Bin 0 -> 19221 bytes plt-graph-correct/exp42.png | Bin 0 -> 19229 bytes plt-graph-correct/exp43.png | Bin 0 -> 19244 bytes plt-graph-correct/exp44.png | Bin 0 -> 19199 bytes plt-graph-correct/exp45.png | Bin 0 -> 18680 bytes plt-graph-correct/exp46.png | Bin 0 -> 18639 bytes plt-graph-correct/exp47.png | Bin 0 -> 18642 bytes plt-graph-correct/exp48.png | Bin 0 -> 18636 bytes plt-graph-correct/exp49.png | Bin 0 -> 17988 bytes plt-graph-correct/exp5.png | Bin 0 -> 17786 bytes plt-graph-correct/exp50.png | Bin 0 -> 18038 bytes plt-graph-correct/exp51.png | Bin 0 -> 18001 bytes plt-graph-correct/exp52.png | Bin 0 -> 18040 bytes plt-graph-correct/exp53.png | Bin 0 -> 18347 bytes plt-graph-correct/exp54.png | Bin 0 -> 18321 bytes plt-graph-correct/exp55.png | Bin 0 -> 18327 bytes plt-graph-correct/exp56.png | Bin 0 -> 18334 bytes plt-graph-correct/exp57.png | Bin 0 -> 18347 bytes plt-graph-correct/exp58.png | Bin 0 -> 18361 bytes plt-graph-correct/exp59.png | Bin 0 -> 18342 bytes plt-graph-correct/exp6.png | Bin 0 -> 17801 bytes plt-graph-correct/exp60.png | Bin 0 -> 18341 bytes plt-graph-correct/exp7.png | Bin 0 -> 17774 bytes plt-graph-correct/exp8.png | Bin 0 -> 17793 bytes plt-graph-correct/exp9.png | Bin 0 -> 19537 bytes 153 files changed, 3770 insertions(+), 9 deletions(-) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_2shot_exp10.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_2shot_exp14.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_2shot_exp18.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_2shot_exp2.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_2shot_exp23.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_2shot_exp27.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp11.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp15.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp19.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp21.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp24.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp28.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_4shot_exp3.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_6shot_exp12.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_6shot_exp16.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_6shot_exp20.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_6shot_exp25.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_6shot_exp29.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_6shot_exp4.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp1.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp13.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp17.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp22.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp26.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp5.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp6.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp7.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp8.json (100%) rename {exp_prior_3-25-25 => exp_using_old_deepseek_model}/deepseek_grades_direct_direct_exp9.json (100%) create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp1.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp13.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp17.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp21.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp25.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp29.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp33.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp37.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp41.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp45.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp49.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp5.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp53.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp57.json create mode 100644 grades/direct/deepseek_grades_direct_0shot_exp9.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp10.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp14.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp18.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp2.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp22.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp26.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp30.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp34.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp38.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp42.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp46.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp50.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp54.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp58.json create mode 100644 grades/direct/deepseek_grades_direct_2shot_exp6.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp11.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp15.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp19.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp23.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp27.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp3.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp31.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp35.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp39.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp43.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp47.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp51.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp55.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp59.json create mode 100644 grades/direct/deepseek_grades_direct_4shot_exp7.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp12.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp16.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp20.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp24.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp28.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp32.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp36.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp4.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp40.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp44.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp48.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp52.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp56.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp60.json create mode 100644 grades/direct/deepseek_grades_direct_6shot_exp8.json create mode 100644 plt-graph-correct/exp1.png create mode 100644 plt-graph-correct/exp10.png create mode 100644 plt-graph-correct/exp11.png create mode 100644 plt-graph-correct/exp12.png create mode 100644 plt-graph-correct/exp13.png create mode 100644 plt-graph-correct/exp14.png create mode 100644 plt-graph-correct/exp15.png create mode 100644 plt-graph-correct/exp16.png create mode 100644 plt-graph-correct/exp17.png create mode 100644 plt-graph-correct/exp18.png create mode 100644 plt-graph-correct/exp19.png create mode 100644 plt-graph-correct/exp2.png create mode 100644 plt-graph-correct/exp20.png create mode 100644 plt-graph-correct/exp21.png create mode 100644 plt-graph-correct/exp22.png create mode 100644 plt-graph-correct/exp23.png create mode 100644 plt-graph-correct/exp24.png create mode 100644 plt-graph-correct/exp25.png create mode 100644 plt-graph-correct/exp26.png create mode 100644 plt-graph-correct/exp27.png create mode 100644 plt-graph-correct/exp28.png create mode 100644 plt-graph-correct/exp29.png create mode 100644 plt-graph-correct/exp3.png create mode 100644 plt-graph-correct/exp30.png create mode 100644 plt-graph-correct/exp31.png create mode 100644 plt-graph-correct/exp32.png create mode 100644 plt-graph-correct/exp33.png create mode 100644 plt-graph-correct/exp34.png create mode 100644 plt-graph-correct/exp35.png create mode 100644 plt-graph-correct/exp36.png create mode 100644 plt-graph-correct/exp37.png create mode 100644 plt-graph-correct/exp38.png create mode 100644 plt-graph-correct/exp39.png create mode 100644 plt-graph-correct/exp4.png create mode 100644 plt-graph-correct/exp40.png create mode 100644 plt-graph-correct/exp41.png create mode 100644 plt-graph-correct/exp42.png create mode 100644 plt-graph-correct/exp43.png create mode 100644 plt-graph-correct/exp44.png create mode 100644 plt-graph-correct/exp45.png create mode 100644 plt-graph-correct/exp46.png create mode 100644 plt-graph-correct/exp47.png create mode 100644 plt-graph-correct/exp48.png create mode 100644 plt-graph-correct/exp49.png create mode 100644 plt-graph-correct/exp5.png create mode 100644 plt-graph-correct/exp50.png create mode 100644 plt-graph-correct/exp51.png create mode 100644 plt-graph-correct/exp52.png create mode 100644 plt-graph-correct/exp53.png create mode 100644 plt-graph-correct/exp54.png create mode 100644 plt-graph-correct/exp55.png create mode 100644 plt-graph-correct/exp56.png create mode 100644 plt-graph-correct/exp57.png create mode 100644 plt-graph-correct/exp58.png create mode 100644 plt-graph-correct/exp59.png create mode 100644 plt-graph-correct/exp6.png create mode 100644 plt-graph-correct/exp60.png create mode 100644 plt-graph-correct/exp7.png create mode 100644 plt-graph-correct/exp8.png create mode 100644 plt-graph-correct/exp9.png diff --git a/exp_prior_3-25-25/deepseek_grades.json b/exp_using_old_deepseek_model/deepseek_grades.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades.json rename to exp_using_old_deepseek_model/deepseek_grades.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp10.json b/exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp10.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_2shot_exp10.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp10.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp14.json b/exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp14.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_2shot_exp14.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp14.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp18.json b/exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp18.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_2shot_exp18.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp18.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp2.json b/exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp2.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_2shot_exp2.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp2.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp23.json b/exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp23.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_2shot_exp23.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp23.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_2shot_exp27.json b/exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp27.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_2shot_exp27.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp27.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp11.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp11.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp11.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp11.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp15.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp15.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp15.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp15.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp19.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp19.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp19.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp19.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp21.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp21.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp21.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp21.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp24.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp24.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp24.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp24.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp28.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp28.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp28.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp28.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_4shot_exp3.json b/exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp3.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_4shot_exp3.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp3.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp12.json b/exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp12.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_6shot_exp12.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp12.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp16.json b/exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp16.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_6shot_exp16.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp16.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp20.json b/exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp20.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_6shot_exp20.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp20.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp25.json b/exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp25.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_6shot_exp25.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp25.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp29.json b/exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp29.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_6shot_exp29.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp29.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_6shot_exp4.json b/exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp4.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_6shot_exp4.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp4.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp1.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp1.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp1.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp1.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp13.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp13.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp13.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp13.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp17.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp17.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp17.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp17.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp22.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp22.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp22.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp22.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp26.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp26.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp26.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp26.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp5.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp5.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp5.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp5.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp6.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp6.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp6.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp6.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp7.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp7.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp7.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp7.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp8.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp8.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp8.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp8.json diff --git a/exp_prior_3-25-25/deepseek_grades_direct_direct_exp9.json b/exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp9.json similarity index 100% rename from exp_prior_3-25-25/deepseek_grades_direct_direct_exp9.json rename to exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp9.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp1.json b/grades/direct/deepseek_grades_direct_0shot_exp1.json new file mode 100644 index 0000000..fc25348 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp1.json @@ -0,0 +1,25 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but overly complex and includes unnecessary details. While it correctly identifies that surrounding agent #0 will lead the ego agent due to its higher speed and constant motion, it deviates by discussing potential lane changes and collision risks, which are not directly relevant to the ground truth answer. The ground truth focuses solely on the fact that surrounding agent #0 will continue to lead the ego agent, which is correctly noted but diluted by the AI's additional, less pertinent analysis.", + "Word Count": "228" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth. It correctly identifies that surrounding agent #2 will maintain its position ahead of the ego agent due to the difference in speed (17 m/s vs 12 m/s) and the constant speed of surrounding agent #2 while the ego agent is decelerating. The analysis of the increasing distance and the absence of collision risk is also correct. The conclusion aligns perfectly with the ground truth, making the response fully accurate.", + "Word Count": "228" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but introduces unnecessary and incorrect assumptions about lane changes. The ground truth clearly states that the ego agent will maintain its lane and continue decelerating while following surrounding agent #0. The AI incorrectly suggests the possibility of a lane change, which is not supported by the context or the ground truth. Additionally, the AI's focus on overtaking scenarios and lane changes detracts from the primary action of deceleration and lane maintenance, as per the ground truth.", + "Word Count": "228" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp13.json b/grades/direct/deepseek_grades_direct_0shot_exp13.json new file mode 100644 index 0000000..11026f8 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp13.json @@ -0,0 +1,39 @@ +{ + "1d423045f0bd8642": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's analysis is partially correct but misses the key point that the ego agent is already in the intersection and has the right of way. While the AI correctly identifies the positions and potential interaction, it fails to explicitly state that surrounding agent #0 will yield to the ego agent, as per the ground truth. The AI discusses coordination and potential evasive action, but this is unnecessary given the ego agent's established position and right of way. The focus on potential conflict and timing is excessive and detracts from the straightforward answer provided in the ground truth.", + "Word Count": "640" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #2 because both are departing from the intersection and surrounding agent #2 is behind the ego agent. However, the AI incorrectly concludes that there is a potential conflict and risk of collision, which contradicts the ground truth.", + "Word Count": "640" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in concluding that there will be no interaction between the ego agent and surrounding agent #3, as both are departing from the intersection and are not on a collision course. However, the AI's explanation is unnecessarily detailed and verbose, and it introduces concepts like 'mild interaction' and 'safe and non-confrontational,' which are not present in the ground truth answer. The ground truth is more concise and directly states that there will be no interaction, without additional elaboration. Thus, while the AI's core conclusion is correct, its response deviates slightly from the simplicity and precision of the ground truth.", + "Word Count": "640" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer accurately reflects the ground truth. It correctly identifies that surrounding agent #4 will have no interaction with the ego agent due to their positions and movements. Both agents are departing the intersection, with surrounding agent #4 being behind the ego agent, and the analysis correctly concludes that they will not interfere with each other.", + "Word Count": "640" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer aligns closely with the ground truth, accurately identifying that the ego agent intends to complete its right turn and exit the intersection. It correctly notes the ego agent's deceleration, position, and lack of stop sign, which are key factors supporting this conclusion. However, the AI does not explicitly mention that there are no interactions requiring the ego agent to yield or change its course, which is a minor omission but does not significantly detract from the overall correctness.", + "Word Count": "640" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp17.json b/grades/direct/deepseek_grades_direct_0shot_exp17.json new file mode 100644 index 0000000..da76dcc --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp17.json @@ -0,0 +1,25 @@ +{ + "1236fae1e3214d13": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly anticipates a potential conflict between the ego agent and surrounding agent #0, suggesting that surrounding agent #0 might not stop at the stop sign. The ground truth answer, however, explicitly states that surrounding agent #0 will yield to the ego agent because it is approaching a stop sign and the ego agent is already in the intersection. The AI failed to accurately conclude that the stop sign would ensure surrounding agent #0 yields, leading to a significant deviation from the correct answer.", + "Word Count": "384" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, which aligns perfectly with the ground truth answer. The explanation provided by the AI is thorough, considering the positions, speeds, and statuses of both agents, and logically concludes that surrounding agent #2 being stationary and behind the ego agent's path means no interaction is expected. This reasoning is accurate and complete.", + "Word Count": "384" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is highly accurate and aligns perfectly with the ground truth. It correctly identifies that the ego agent is planning to continue exiting the intersection. The reasoning provided is thorough and logically sound, taking into account the ego agent's motion status, direction, and the behavior of surrounding agents. It correctly notes that surrounding agent #0 will stop at the stop sign, and there is no interaction with surrounding agent #2, which is stationary.", + "Word Count": "384" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp21.json b/grades/direct/deepseek_grades_direct_0shot_exp21.json new file mode 100644 index 0000000..366c2d1 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp21.json @@ -0,0 +1,53 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately interprets the dynamics of the scenario, noting that surrounding agent #0 is decelerating and likely yielding to the ego agent, which is already in the intersection and accelerating. The AI's detailed reasoning about the positions, speeds, and directions of both agents is consistent with the ground truth, making this response accurate and comprehensive.", + "Word Count": "789" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer provides a detailed analysis of the positions, directions, speeds, and potential interaction between the ego agent and surrounding agent #2. However, it does not explicitly state that surrounding agent #2 will yield to the ego agent, which is the key point in the ground truth answer. The AI focuses more on the ego agent's cautious maneuver rather than acknowledging that surrounding agent #2's stationary state inherently means it will yield.", + "Word Count": "789" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately assesses that there will be no interaction between the ego agent and surrounding agent #3 because the latter is stationary and positioned behind the ego agent. The reasoning is clear, detailed, and logically sound, leaving no room for misinterpretation.", + "Word Count": "789" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #4 will yield to the ego agent. The AI focuses on the ego agent's maneuver and potential collision avoidance rather than acknowledging the yielding behavior explicitly stated in the ground truth. While the AI correctly identifies that surrounding agent #4 is stationary and the ego agent is moving, it fails to conclude that the stationary agent will yield, which is the primary interaction described in the ground truth.", + "Word Count": "789" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but lacks precision. The ground truth clearly states that surrounding agent #5 will yield to the ego agent because it is stationary and positioned on the left of the intersection while the ego agent is exiting. The AI correctly identifies that surrounding agent #5 is stationary and acknowledges its proximity, but it overly emphasizes potential future movement and conflict, which is not the focus of the ground truth. The AI also fails to explicitly conclude that surrounding agent #5 will yield, instead framing the interaction as a 'potential interaction' rather than a definitive yielding scenario.", + "Word Count": "789" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #6 is stationary and located to the left of the ego agent. However, it fails to explicitly state that surrounding agent #6 will yield to the ego agent, which is the key point in the ground truth. The AI emphasizes the ego agent's need for caution but does not conclude that yielding is the expected interaction, hence the partial correctness.", + "Word Count": "789" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies the ego agent's intended course of action as completing the left turn and exiting the intersection, which aligns with the ground truth. However, the AI does not explicitly mention that the surrounding agents will yield to the ego agent, which is a key detail in the ground truth. The AI's analysis is thorough but lacks this specific observation, hence the score of 8.", + "Word Count": "789" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp25.json b/grades/direct/deepseek_grades_direct_0shot_exp25.json new file mode 100644 index 0000000..afbd653 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp25.json @@ -0,0 +1,60 @@ +{ + "11287ada0d41773a": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #1 is stationary and that the ego agent is accelerating towards the intersection. However, it fails to explicitly state that surrounding agent #1 will yield to the ego agent, which is the key point in the ground truth answer. The AI discusses potential interactions and outcomes but does not directly conclude that the stationary agent will yield, leading to a partially correct but incomplete answer.", + "Word Count": "720" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly predicts a potential collision between the ego agent and surrounding agent #2, whereas the ground truth states that surrounding agent #2 will yield to the ego agent. The AI fails to recognize that surrounding agent #2's stationary state implies it will yield, and the ego agent's acceleration does not necessarily lead to a collision if surrounding agent #2 remains stationary. The AI's conclusion is overly alarmist and does not align with the ground truth.", + "Word Count": "720" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly focuses on the ego agent's navigation past surrounding agent #3 rather than recognizing that surrounding agent #3, being stationary, will yield to the approaching ego agent. The AI fails to directly address the yielding behavior, which is the core of the ground truth answer. While it mentions the stationary nature of surrounding agent #3, it does not explicitly state the yielding interaction as described in the ground truth.", + "Word Count": "720" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer provides a detailed analysis of the interaction but fails to explicitly state the key point from the ground truth: that surrounding agent #4 will yield to the ego agent. While the AI mentions the ego agent's acceleration, its right of way, and the stationary status of agent #4, it does not clearly conclude that agent #4 is yielding, which is the core of the ground truth. The answer is partially correct but lacks precision in aligning with the specific interaction described in the ground truth.", + "Word Count": "720" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses the key point. The ground truth explicitly states that surrounding agent #5 will yield to the ego agent because it is stationary and the ego agent is approaching the intersection. The AI correctly identifies that surrounding agent #5 is stationary and the ego agent is accelerating, but it does not explicitly state that surrounding agent #5 will yield, which is the core of the ground truth. Instead, the AI focuses on passive observation and potential scenarios, which is not incorrect but fails to capture the essence of the interaction as described in the ground truth.", + "Word Count": "720" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks clarity on why surrounding agent #6 would yield to the ego agent. The AI focuses on the stationary state of surrounding agent #6 and the absence of a stop sign for the ego agent, which is accurate, but it does not explicitly state that surrounding agent #6 would yield due to the ego agent's movement and right-of-way. The ground truth emphasizes this interaction more clearly.", + "Word Count": "720" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer provides a detailed analysis of the scenario but misses the key point in the ground truth answer, which is that surrounding agent #7 will yield to the ego agent. The AI suggests the ego agent will pass or adjust its speed relative to surrounding agent #7, but it does not explicitly state that surrounding agent #7 will yield, which is the core interaction described in the ground truth. The AI's reasoning is logical but incomplete in capturing the specific interaction mentioned in the ground truth.", + "Word Count": "720" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct and aligns with the ground truth, as it correctly identifies that the ego agent will continue through the intersection due to acceleration and the absence of a stop sign. However, the AI's explanation is more detailed than necessary and includes minor extraneous information (e.g., potential pedestrian awareness at the crosswalk), which, while not incorrect, slightly diverts from the simplicity and precision of the ground truth. This reduces the score slightly.", + "Word Count": "720" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp29.json b/grades/direct/deepseek_grades_direct_0shot_exp29.json new file mode 100644 index 0000000..0d81ca8 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp29.json @@ -0,0 +1,74 @@ +{ + "12f96ecfb33ebfd6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly concludes that there is a potential conflict and that the ego agent might need to yield, whereas the ground truth states that surrounding agent #0 will yield to the ego agent. The AI fails to recognize that the ego agent is already exiting the intersection, which likely gives it priority. Additionally, the AI misinterprets the right-of-way dynamics in this specific scenario, leading to an incorrect conclusion about the nature of the interaction.", + "Word Count": "1078" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct as it accurately concludes that there will be no interaction between the ego agent and surrounding agent #1. Both agents are departing from the intersection in different directions, with the ego agent turning left and exiting the intersection while surrounding agent #1 is moving away from the intersection at a constant speed. The AI's analysis of their trajectories, speeds, and positions supports this conclusion, aligning perfectly with the ground truth answer.", + "Word Count": "1078" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is highly accurate and aligns perfectly with the ground truth. It correctly identifies that surrounding agent #2 will yield to the ego agent, as it is decelerating while heading towards the intersection, while the ego agent is exiting. The detailed analysis of both agents' movements, speeds, and positions supports this conclusion, and the reasoning is logical and well-structured.", + "Word Count": "1078" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer does not align well with the ground truth. The ground truth explicitly states that surrounding agent #3 will yield to the ego agent, which implies a clear and safe interaction. However, the AI's prediction focuses on the potential conflict and the possibility of a collision, which is incorrect. The AI failed to consider the yielding behavior of surrounding agent #3 and instead presented a scenario of uncertainty and potential danger. This discrepancy leads to a low correctness score.", + "Word Count": "1078" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #4 will yield to the ego agent. It accurately analyzes the ego agent's status, surrounding agent #4's status, and their relative positions. The AI concludes that surrounding agent #4 is decelerating and will likely yield as the ego agent exits the intersection, which aligns perfectly with the ground truth answer.", + "Word Count": "1078" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #6 is decelerating and approaching the intersection from the right, and that the ego agent is exiting. However, the AI concludes that the interaction will be minimal or none, whereas the ground truth explicitly states that surrounding agent #6 will yield to the ego agent. The AI's conclusion is not entirely incorrect but lacks the specificity and certainty provided in the ground truth. Thus, it partially aligns with the ground truth but does not fully capture the intended interaction.", + "Word Count": "1078" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately analyzes the positions and movements of the ego agent and surrounding agent #7, concluding that there will be no interaction. Surrounding agent #7 is stationary and on the same side of the intersection, ensuring no interference with the ego agent's left turn and exit.", + "Word Count": "1078" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in concluding that there will be no interaction between the ego agent and surrounding agent #8, as surrounding agent #8 is stationary and on the same side of the intersection. However, the AI's reasoning includes unnecessary details and hypothetical scenarios about the ego agent potentially navigating around surrounding agent #8, which are not relevant given the clear lack of interaction due to surrounding agent #8 being stationary. The ground truth answer succinctly states this absence of interaction without overcomplicating the explanation.", + "Word Count": "1078" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, as surrounding agent #9 is stationary and on the same side of the intersection. The explanation is thorough and logically sound, aligning well with the ground truth. However, the AI could have been more concise in stating the lack of interaction, which would have made the answer more precise and aligned perfectly with the ground truth.", + "Word Count": "1078" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to complete its left turn and exit the intersection while navigating the speed bump. However, it does not explicitly mention that the ego agent will not need to respond to surrounding agents #1, #7, #8, and #9, or that it will proceed before surrounding agents #0, #2, #3, #4, and #6 as they will yield. This additional information is present in the ground truth answer and is crucial for a complete understanding of the ego agent's intended course of action.", + "Word Count": "1078" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp33.json b/grades/direct/deepseek_grades_direct_0shot_exp33.json new file mode 100644 index 0000000..32df56d --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp33.json @@ -0,0 +1,53 @@ +{ + "1089b226cd801a4c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer correctly identifies that both the ego agent and surrounding agent #0 are facing a red traffic light and need to stop. However, it fails to accurately capture the expectation that surrounding agent #0 will yield to the ego agent when the light turns green, as the ego agent is slightly ahead and thus has the right of way. The AI only focuses on the current red light scenario without considering the future interaction when the light changes, which is a critical part of the ground truth answer.", + "Word Count": "1001" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that both the ego agent and surrounding agent #2 will stop due to the red traffic light. However, it fails to explicitly mention that the ego agent is slightly ahead of surrounding agent #2, which gives it the right of way when the light turns green. The AI discusses the stopping behavior and safety but does not emphasize the order in which the vehicles will proceed after the light changes, which is a key detail in the ground truth answer.", + "Word Count": "1001" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent and surrounding agent #3 are both stopped due to the red traffic light, with no immediate interaction. However, it unnecessarily elaborates on the red light's effect, crosswalks, and acceleration, which are not directly relevant to the interaction between the two agents. The ground truth answer succinctly captures the essence that there is no interaction because both are stationary due to the red light.", + "Word Count": "1001" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately analyzes the positions, states, and traffic light statuses of both the ego agent and surrounding agent #4, concluding that there will be no interaction between them due to both being required to stop at a red traffic light. The explanation is thorough and logically sound.", + "Word Count": "1001" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as both are stationary and heading in opposite directions. The explanation aligns perfectly with the ground truth, providing a thorough analysis of the agents' statuses, positioning, and the influence of traffic signals. The conclusion is accurate and well-supported by the provided context.", + "Word Count": "1001" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's conclusion that there will be no interaction between the ego agent and surrounding agent #6 aligns with the ground truth answer. However, the AI's analysis is overly detailed and includes unnecessary information about the ego agent's context, which is not directly relevant to the interaction with surrounding agent #6. The focus should have been more on the relative positions and the fact that both agents are stationary due to the red light, which the AI correctly identifies but with excessive elaboration.", + "Word Count": "1001" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct and aligns closely with the ground truth. It correctly identifies that the ego agent must stop at the red traffic light and considers the approaching crosswalk and speed bump. However, it does not explicitly mention the intention to proceed through the intersection after the light turns green or the possibility of yielding to other agents, which are key aspects of the ground truth. This minor omission slightly reduces the correctness score.", + "Word Count": "1001" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp37.json b/grades/direct/deepseek_grades_direct_0shot_exp37.json new file mode 100644 index 0000000..9c974d7 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp37.json @@ -0,0 +1,81 @@ +{ + "10c804aca6997102": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but overly complex and somewhat misleading. It correctly identifies that surrounding agent #0 is departing the intersection and that the ego agent is approaching it. However, the AI unnecessarily elaborates on potential interactions and cautionary measures, which are not supported by the ground truth. The ground truth clearly states that there will be no interaction between the two agents as they are not on a collision course, which the AI fails to explicitly conclude. The AI\u2019s emphasis on monitoring and potential adjustments is redundant and incorrect in this context.", + "Word Count": "1128" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but overly complex and somewhat misleading. While it correctly identifies that surrounding agent #2 is stationary and that the ego agent is moving towards the intersection, it unnecessarily complicates the scenario by discussing potential interactions, navigation, and collision avoidance that are irrelevant given the ground truth. The ground truth clearly states there will be no interaction because the agents are not in each other's path, which the AI fails to emphasize succinctly. The AI's answer could lead to confusion by implying a need for caution or navigation around the stationary agent, which is not required.", + "Word Count": "1128" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ground truth clearly states that no interaction is expected between the ego agent and surrounding agent #3, as the surrounding agent is stationary and not in close proximity to the ego agent. The AI incorrectly concluded that a potential collision avoidance scenario would occur, despite the surrounding agent being stationary and the ego agent decelerating. The analysis failed to recognize that the stationary nature of surrounding agent #3 minimizes the risk of interaction, especially given the distance between them.", + "Word Count": "1128" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests that the ego agent is likely to come close to or potentially collide with surrounding agent #4, which contradicts the ground truth stating that they will not interact. The AI missed the key detail that surrounding agent #4 is not in the path of the ego agent, as it is 8 meters to the left and thus outside the single lane the ego agent is traveling in. This critical oversight led to an incorrect prediction of interaction.", + "Word Count": "1128" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5. The explanation is thorough, considering the stationary nature of surrounding agent #5 and its position relative to the ego agent, which aligns perfectly with the ground truth answer.", + "Word Count": "1128" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #6 will not interact with the ego agent since it is stationary and not in the direct path. However, the explanation is somewhat overly detailed and slightly deviates by suggesting the ego agent might need to pass by surrounding agent #6, which is not strictly necessary given the context. The conclusion is correct but could be more concise.", + "Word Count": "1128" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is highly accurate and aligns closely with the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #7 since agent #7 is stationary and not in the ego agent's immediate path. The explanation is thorough, covering positions, speeds, motion statuses, and the type of intersection. The only minor oversight is that the AI assumes the ego agent might need to slow down further due to stationary vehicles, but the ground truth explicitly states there will be no interaction, making this assumption slightly unnecessary.", + "Word Count": "1128" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is largely incorrect as it contradicts the ground truth. The ground truth clearly states that surrounding agent #8 will not interact with the ego agent because it is not moving and is not in the ego agent's direct path. However, the AI incorrectly concludes that there is a potential for interaction, suggesting the ego agent may need to adjust its speed or trajectory, which is not supported by the context. The AI misinterprets the positioning and motion status of agent #8, leading to an incorrect prediction of interaction.", + "Word Count": "1128" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, which aligns with the ground truth. The explanation provided by the AI is detailed and accurate, noting that surrounding agent #9 is stationary and not in the ego agent's direct path, ensuring no conflict or interaction.", + "Word Count": "1128" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #10 is stationary and not a direct threat to the ego agent, which aligns with the ground truth. However, it overcomplicates the analysis by suggesting potential interactions like yielding or navigating around the stationary vehicle, which are unnecessary given that the ego agent is decelerating and the surrounding agent is not in its direct path. The ground truth simply states that no interaction is expected, which is accurate and sufficient.", + "Word Count": "1128" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly concludes that the ego agent intends to stop or yield at the intersection, while the ground truth clearly states that the ego agent intends to continue towards the intersection and increase its speed. The AI's analysis of deceleration and surrounding agents led to an incorrect inference, disregarding the explicit intention to accelerate as per the ground truth.", + "Word Count": "1128" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp41.json b/grades/direct/deepseek_grades_direct_0shot_exp41.json new file mode 100644 index 0000000..cfaca95 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp41.json @@ -0,0 +1,123 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer provides a detailed analysis of the potential interactions between the ego agent and surrounding agent #0, including the closing of the gap, overtaking considerations, and collision risk. However, it fails to align with the ground truth answer, which states that surrounding agent #0 will lead the ego agent as it is in front on the same lane and both are heading towards the intersection. The AI's conclusion about overtaking and collision risk is not entirely consistent with the ground truth, which focuses on the leading role of surrounding agent #0.", + "Word Count": "1571" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes that the ego agent and surrounding agent #1 will interact due to the speed difference, despite them being on different lanes. The ground truth clearly states that there will be no interaction as their paths do not cross. The AI's analysis of speed and acceleration is accurate, but it fails to recognize the critical factor of lane separation, leading to a misunderstanding of the interaction dynamics.", + "Word Count": "1571" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is significantly incorrect. It misinterprets the position and motion of surrounding agent #3, stating it is in front of the ego agent when it is actually behind. Additionally, the AI incorrectly concludes that the ego agent will pass by surrounding agent #3, whereas the ground truth indicates that surrounding agent #3 will follow the ego agent. The AI also fails to recognize that both agents are heading towards the intersection, which is a key detail in the ground truth.", + "Word Count": "1571" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's prediction of a collision is incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #4 as they are on different lanes and their paths do not cross. The AI misinterpreted the scenario by assuming the ego agent would reach surrounding agent #4's position, even though they are in adjacent lanes and not on a collision course.", + "Word Count": "1571" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The ground truth states that there will be no interaction between the ego agent and surrounding agent #5 as they are on different lanes and their paths do not cross. The AI's answer incorrectly concludes that the ego agent will likely overtake or closely approach surrounding agent #5, suggesting a potential interaction. This is inaccurate because the agents are on different lanes and there is no indication their paths will intersect. The AI's analysis of speed and distance does not override the fundamental fact that their paths do not align for an interaction.", + "Word Count": "1571" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that surrounding agent #6 is stationary and will not interact with the ego agent, which contradicts the ground truth answer. The ground truth specifies that surrounding agent #6 will follow the ego agent since it is behind on the same lane and both are heading towards the intersection. The AI failed to recognize that both agents are in motion and have a potential following interaction.", + "Word Count": "1571" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7 due to their positions and the stationary state of agent #7. However, the AI's analysis is slightly redundant and could have been more concise, aligning more closely with the ground truth answer's simplicity and clarity.", + "Word Count": "1571" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no direct interaction or conflict between the ego agent and surrounding agent #8, as they are moving in opposite directions and their paths do not cross. However, the AI's explanation is overly detailed and includes unnecessary analysis of maneuvers and cooperative scenarios, which detracts from the simplicity and clarity of the ground truth answer.", + "Word Count": "1571" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction or overtaking scenario between the ego agent and surrounding agent #9, contrary to the ground truth which states there will be no interaction because they are on different lanes and their paths do not cross. The AI misinterpreted the positioning and relative speeds, leading to an incorrect conclusion of a possible overtaking event.", + "Word Count": "1571" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #10 because the latter is stationary and positioned behind the ego agent, with no indication of their paths crossing. The AI provides a detailed analysis of the relative positions and dynamics, reinforcing the conclusion that the ego agent can proceed without concern for interference from surrounding agent #10.", + "Word Count": "1571" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #11. It accurately assesses the positions, trajectories, and speeds of both agents, concluding that their paths do not cross and that surrounding agent #11 is departing from the intersection. This aligns perfectly with the ground truth answer, which states that there will be no interaction due to different lanes and no indication of crossing paths.", + "Word Count": "1571" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly concludes that there will be no interaction between the ego agent and surrounding agent #12. The ground truth states that surrounding agent #12 will follow the ego agent since it is behind the ego agent on the same lane and they are both heading towards the intersection. The AI fails to consider that surrounding agent #12, while currently stationary, is positioned to move in the same direction as the ego agent, leading to a potential following interaction, which the ground truth acknowledges.", + "Word Count": "1571" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that surrounding agent #13 and the ego agent are heading in opposite directions, with no indication of their paths crossing. The detailed analysis of their positions, speeds, and directions supports the conclusion that there will be no interaction, which matches the ground truth perfectly.", + "Word Count": "1571" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction or conflict between the ego agent and surrounding agent #14, which contradicts the ground truth stating there will be no interaction. The AI misinterprets the directions of travel and trajectories, failing to recognize that the agents are moving in opposite directions with no indication of their paths crossing. The analysis overcomplicates the scenario and introduces unnecessary concerns about overtaking or crossing paths, which are not supported by the context.", + "Word Count": "1571" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly focuses on the ego agent catching up to surrounding agent #15, which contradicts the ground truth stating that surrounding agent #15 will lead the ego agent. The analysis incorrectly emphasizes the speed difference and potential collision, rather than recognizing that both agents are departing the intersection and surrounding agent #15 is ahead. This fundamental misunderstanding of the interaction leads to a low score.", + "Word Count": "1571" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's conclusion that surrounding agent #16 will have no significant interaction with the ego agent is correct, aligning with the ground truth. However, the explanation could be more concise and directly address the key point: the paths of the agents do not cross due to their opposite directions and sufficient distance. The AI's detailed analysis of speed and acceleration, while informative, slightly detracts from the main conclusion, which is straightforward.", + "Word Count": "1571" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to continue accelerating and proceed through the intersection. However, it misses specific details from the ground truth, such as the ego agent's intention to lead surrounding agent #6 and follow surrounding agents #0 and #15. The AI also does not explicitly mention the lack of interactions with other surrounding agents, which is a key part of the ground truth. Overall, the answer is partially correct but lacks some important specifics.", + "Word Count": "1571" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp45.json b/grades/direct/deepseek_grades_direct_0shot_exp45.json new file mode 100644 index 0000000..621b206 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp45.json @@ -0,0 +1,102 @@ +{ + "10082a6f50ec9695": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly suggests potential interactions (e.g., collision risk, yielding, passing behavior) between the ego agent and surrounding agent #0, contrary to the ground truth, which clearly states there will be no interaction as the agents are heading in opposite directions. While the AI provides a detailed analysis, it fundamentally misinterprets the key scenario dynamic, leading to an incorrect conclusion.", + "Word Count": "1566" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI answer is incorrect as it suggests that the ego agent will need to adjust its speed or trajectory to avoid a collision with surrounding agent #2. However, the ground truth clearly states that there will be no interaction because surrounding agent #2 is not moving and they are not on a collision course. The AI\u2019s conclusion that the ego agent must slow down or stop is based on a misinterpretation of the relative positions and motion statuses, leading to an incorrect assessment of the interaction.", + "Word Count": "1566" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer is partially correct but contains unnecessary speculation and incorrect assumptions. While it correctly identifies that surrounding agent #3 is stationary and that there is no collision, it incorrectly assumes potential interactions based on hypothetical maneuvers (e.g., left turn) that are not supported by the context. The ground truth explicitly states there will be no interaction, as they are not on a collision course. The AI's focus on potential interactions detracts from the correctness of the answer.", + "Word Count": "1566" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately analyzes the positions and movements of both the ego agent and surrounding agent #4, concluding that there will be no interaction between them. This aligns perfectly with the ground truth answer, which states that no interaction is expected because surrounding agent #4 is stationary and not on a collision course with the ego agent. The reasoning provided by the AI is thorough and logically sound.", + "Word Count": "1566" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is stationary and they are not on a collision course. The AI's reasoning is thorough and accurate, considering the positions, speeds, and behaviors of both agents, concluding with a non-confrontational interaction, which matches the ground truth.", + "Word Count": "1566" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly anticipates an interaction between the ego agent and surrounding agent #6, whereas the ground truth explicitly states there will be no interaction. The AI's analysis focuses on the need for avoidance, which is unnecessary since the surrounding agent is stationary and not on a collision course. The AI's reasoning is flawed as it misinterprets the spatial relationship and the situation's dynamics.", + "Word Count": "1566" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, as surrounding agent #7 is not moving and is positioned behind the ego agent, not obstructing its path. This aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's conclusion that the ego agent will need to navigate around surrounding agent #8 is incorrect based on the ground truth, which states there will be no interaction as they are not on a collision course. The AI incorrectly assumed potential path conflicts without sufficient evidence, leading to a misleading conclusion.", + "Word Count": "1566" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize that the ego agent and surrounding agent #9 will not interact. The AI incorrectly assumes the ego agent might need to maneuver around the stationary agent, but in reality, they are not on a collision course, and the ego agent is decelerating while the surrounding agent is stationary. The AI's conclusion about potential evasion or collision is unwarranted based on the given context.", + "Word Count": "1566" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately assesses the positions, speeds, and motion statuses of the ego agent and surrounding agent #10, concluding that there will be no interaction since agent #10 is stationary and not on a collision course with the ego agent. The explanation is clear, detailed, and logically sound.", + "Word Count": "1566" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests an interaction will occur between the ego agent and surrounding agent #11, while the ground truth clearly states there will be no interaction. The AI misinterpreted the spatial relationship and motion status, incorrectly assuming the ego agent would need to yield or stop due to surrounding agent #11. In reality, the agents are not on a collision course, and surrounding agent #11's stationary state does not pose a threat to the ego agent's path.", + "Word Count": "1566" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #12 because surrounding agent #12 is not moving and they are not on a collision course. However, the AI incorrectly concludes that the ego agent will pass by surrounding agent #12, implying an interaction that does not exist according to the ground truth.", + "Word Count": "1566" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is largely incorrect. The ground truth explicitly states that there will be no interaction between the ego agent and surrounding agent #13 because agent #13 is stationary and not on a collision course. However, the AI incorrectly concluded that the ego agent would need to slow down or yield to agent #13, suggesting a potential conflict where none exists. This misinterpretation of the scenario and the lack of alignment with the ground truth results in a low score.", + "Word Count": "1566" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct and aligns well with the ground truth. It accurately identifies that the ego agent intends to continue towards the intersection, recognizes the absence of a stop sign, and correctly assesses that there are no immediate threats from surrounding agents. However, the AI's conclusion that the ego agent will enter the intersection at a reduced speed is slightly speculative, as the ground truth does not explicitly mention the speed at which the ego agent will proceed. The AI's reasoning is logical but could be more precise in its final conclusion.", + "Word Count": "1566" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp49.json b/grades/direct/deepseek_grades_direct_0shot_exp49.json new file mode 100644 index 0000000..03eb2d8 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp49.json @@ -0,0 +1,74 @@ +{ + "1024bf7754aa2b98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately analyzes the positioning, motion, and orientation of both the ego agent and surrounding agent #0, concluding that there will be no interaction since surrounding agent #0 is departing the intersection and their paths do not conflict. The detailed breakdown of factors such as distance, velocity, and traffic light status supports this conclusion.", + "Word Count": "1792" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that both the ego agent and surrounding agent #1 will proceed through the intersection due to the green traffic light. However, the AI emphasizes the ego agent's higher speed as a factor in determining the interaction, which, while accurate, is less critical to the core interaction described in the ground truth. The ground truth focuses more on the shared right-of-way and their mutual movement through the intersection, which the AI acknowledges but does not fully prioritize in its explanation.", + "Word Count": "1792" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but includes unnecessary details and speculative scenarios that deviate from the ground truth. The ground truth states that surrounding agent #2 will follow the ego agent towards the intersection, which the AI acknowledges. However, the AI introduces additional considerations like 'right of way' and 'collision avoidance' that are not explicitly mentioned in the ground truth, making the response slightly verbose and less precise.", + "Word Count": "1792" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly predicts a potential collision or interaction between the ego agent and surrounding agent #4, despite the ground truth stating there will be no interaction. The AI misinterprets the spatial and directional dynamics, as surrounding agent #4 is already in the intersection and their paths do not conflict. The AI overemphasizes the proximity of the ego agent to the intersection and fails to acknowledge that surrounding agent #4 is moving away from the ego agent's path.", + "Word Count": "1792" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is already in the intersection and their paths do not conflict. The explanation provided by the AI is thorough and aligns perfectly with the ground truth answer, including details about the positions, movements, and traffic light status of both agents. The conclusion that the interaction is passive and non-conflicting is accurate and well-reasoned.", + "Word Count": "1792" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but overly detailed and slightly misses the key point. The ground truth emphasizes that both agents will follow the same direction with green lights, implying coordination rather than conflict. The AI correctly notes this but spends excessive time analyzing crosswalks and speeds, which are not the focus of the ground truth. The AI also incorrectly assumes the ego agent will cross the crosswalk first, which isn't necessarily the main interaction point. The answer could be more concise and aligned with the core idea of coordinated movement.", + "Word Count": "1792" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge that surrounding agent #7 is on the right of the intersection and will yield to the ego agent. The AI incorrectly assumes that the ego agent will pass by or around surrounding agent #7 without interruption, which contradicts the expected yielding behavior. The analysis of the ego agent's motion is accurate, but the interaction with surrounding agent #7 is misjudged.", + "Word Count": "1792" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's analysis is partially correct but misses the key point that surrounding agent #8 will yield to the ego agent due to its stationary state and position on the right of the intersection. The AI correctly identifies the positions, speeds, and presence of crosswalks but fails to explicitly state the yielding behavior, which is the core of the interaction as described in the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in describing that surrounding agent #9 will yield to the ego agent due to being stationary and positioned on the right side of the intersection. However, the AI incorrectly states that the ego agent is 'departing from the intersection,' whereas the context indicates the ego agent is heading towards the intersection. This slight misalignment affects the precision of the explanation.", + "Word Count": "1792" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is generally correct but misses some nuances. It correctly identifies that the ego agent will continue accelerating and proceed through the intersection due to the green light. However, it incorrectly mentions the red traffic light in one instance, which is a minor inconsistency. Additionally, the AI does not explicitly mention the departure from the intersection, which is a key part of the ground truth answer. The focus on the crosswalk is somewhat unnecessary as there is no indication of pedestrian activity affecting the ego agent's movement.", + "Word Count": "1792" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp5.json b/grades/direct/deepseek_grades_direct_0shot_exp5.json new file mode 100644 index 0000000..ce392b7 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp5.json @@ -0,0 +1,39 @@ +{ + "12b4792555da7196": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct but misses the key point from the ground truth, which explicitly states that surrounding agent #0 will yield to the ego agent. While the AI discusses deceleration and potential outcomes, it does not clearly conclude that surrounding agent #0 will yield, which is the definitive interaction described in the ground truth. The analysis of relative motion and deceleration is accurate, but the final conclusion lacks precision.", + "Word Count": "590" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2. It accurately analyzes the positions, directions, and statuses of both agents, concluding that surrounding agent #2 is stationary and not on a collision course with the ego agent. This aligns perfectly with the ground truth answer, which states that there will be no interaction.", + "Word Count": "590" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3 due to their stationary states and opposite directions. However, the AI unnecessarily complicates the explanation by discussing potential risks and non-competing scenarios, which are irrelevant given the ground truth. The ground truth is straightforward and concise, while the AI's response deviates from the simplicity and clarity of the correct answer.", + "Word Count": "590" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately describes that there will be no interaction between the ego agent and surrounding agent #4, as surrounding agent #4 is stationary and not on a collision course. The explanation includes detailed analysis of positioning, speed, direction, and distance to the intersection, supporting the conclusion effectively.", + "Word Count": "590" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct and aligns well with the ground truth, particularly in concluding that the ego agent plans to continue exiting the intersection. However, it misses explicitly stating that surrounding agent #0 will yield to the ego agent, a key detail in the ground truth. Additionally, the AI's explanation is more detailed than necessary, which could potentially introduce ambiguity or over-complicate the reasoning.", + "Word Count": "590" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp53.json b/grades/direct/deepseek_grades_direct_0shot_exp53.json new file mode 100644 index 0000000..c2d321b --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp53.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly predicts the nature of the interaction between the ego agent and surrounding agent #0. The ground truth explicitly states that surrounding agent #0 will continue to lead the ego agent as they both head towards and depart from the intersection, implying a non-conflictual, orderly interaction. However, the AI's response suggests potential conflict and the need for the ego agent to adjust its speed or trajectory, which contradicts the ground truth. The AI also incorrectly assumes that the ego agent will reach the intersection before surrounding agent #0, despite the small speed difference and distance, which is not supported by the context.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer provides a detailed analysis of the potential interactions between the ego agent and surrounding agent #1, including their speeds, positions, and possible actions at the intersection. However, it deviates from the ground truth by overcomplicating the scenario with assumptions about lane positions, possible turns, and interactions at the intersection that are not supported by the context. The ground truth answer simply states that surrounding agent #1 will follow the ego agent, which is a more straightforward and accurate conclusion based on the given context.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that the ego agent will overtake surrounding agent #3. The AI focuses on potential speed and trajectory adjustments, which is relevant but does not explicitly state the overtaking scenario as described in the ground truth. The analysis of positions, speeds, and directions is accurate but incomplete.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's analysis correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, as they are heading in opposite directions and one is departing from the intersection. However, the AI unnecessarily overcomplicates the explanation by discussing potential influence on path choices and the need for the ego agent to remain attentive, which is not directly relevant to the question of interaction. The ground truth answer is more concise and directly addresses the lack of interaction without additional details.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer does not directly address the ground truth, which states that surrounding agent #5 will follow the ego agent as they both head towards and then depart from the intersection. The AI's analysis focuses more on the speed and relative positions of the agents and potential interactions at the intersection, but it misses the key point that both agents are sequentially departing the intersection. The AI's conclusion about potential yielding or complex interaction is not aligned with the ground truth, which implies a more straightforward following behavior.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests that there could be potential interaction between the ego agent and surrounding agent #6, which contradicts the ground truth. The ground truth clearly states that there will be no interaction because they are heading in opposite directions and departing from the intersection. The AI's analysis focuses on the possibility of interaction due to acceleration and lane positioning, which is irrelevant given the opposite directions of travel.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but contains unnecessary speculation about potential interaction points and proximity risks, which are not supported by the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #7 because they are heading in opposite directions and departing from the intersection. The AI correctly notes the opposite directions but fails to conclude definitively that no interaction will occur, instead suggesting possible proximity concerns that are not relevant to the scenario.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, aligning with the ground truth. However, the explanation is slightly verbose and could be more concise. The AI correctly notes the opposite directions of travel and the fact that surrounding agent #8 is stationary, which are the key points. The score is reduced slightly due to the unnecessary elaboration and lack of direct focus on the main point of no interaction.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it suggests potential interactions between the ego agent and surrounding agent #9, such as yielding or collision risks, despite the ground truth stating there will be no interaction. The AI failed to recognize that both agents are heading in opposite directions and departing from the intersection, eliminating the possibility of interaction. The analysis is unnecessarily detailed and incorrect.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct. It accurately identifies that there will be no interaction between the ego agent and surrounding agent #10 because they are heading in opposite directions and surrounding agent #10 is stationary. The analysis of their positions, speeds, directions, and motion statuses aligns perfectly with the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect. The ground truth states that there will be no interaction between the ego agent and surrounding agent #11 because they are heading in opposite directions and departing from the intersection. However, the AI incorrectly suggests a potential interaction, collision risk, and need for maneuvering, which directly contradicts the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly aligned with the ground truth, correctly identifying that the ego agent intends to continue accelerating and navigate through the intersection. However, it missed the specific detail about overtaking surrounding agent #3 and being followed by surrounding agents #1 and #5. Additionally, the AI did not explicitly mention that the ego agent does not need to interact with other surrounding agents, which is a key part of the ground truth. The analysis of the intersection and surrounding agents is thorough but lacks some precision.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp57.json b/grades/direct/deepseek_grades_direct_0shot_exp57.json new file mode 100644 index 0000000..bbcbab4 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp57.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will lead the ego agent as it is in front and accelerating at a higher speed. The explanation aligns with the ground truth, emphasizing the increasing distance between the two agents and the safe departure from the intersection. The reasoning is clear, logical, and fully consistent with the provided context.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that both agents are moving in the same direction and that surrounding agent #1 is further ahead. However, the AI incorrectly concludes that the ego agent will close the distance, which contradicts the ground truth that surrounding agent #1 will continue to lead. The AI also overcomplicates the explanation with unnecessary details about lane separation and speed matching, which are not directly relevant to the ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": 7, + "Correctness explanation": "The AI's answer is partially correct but overly verbose and includes unnecessary speculation about the ego agent ignoring the red light, which is not mentioned in the ground truth answer. The ground truth focuses on the fact that surrounding agent #2 will cross paths with the ego agent due to its position and direction. The AI correctly identifies the potential interaction but deviates by introducing hypothetical scenarios (e.g., ego agent ignoring the red light) that are not part of the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be no physical interaction between the ego agent and surrounding agent #3, which aligns with the ground truth. However, the explanation includes unnecessary details and uncertainties (e.g., 'possibility that they might interact') that are not supported by the given context. The ego agent is clearly departing from the intersection, and surrounding agent #3 is heading in the opposite direction, making a collision impossible. The AI's explanation could be more concise and confident in stating the lack of interaction.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct but contains some unnecessary details and speculative scenarios (e.g., the ego agent failing to stop at the red light) that are not relevant to the ground truth. The ground truth simply states that there will be no interaction because surrounding agent #5 is stationary and on the right side of the ego agent, which the AI correctly acknowledges. However, the AI unnecessarily complicates the answer by introducing hypothetical situations that do not align with the straightforward nature of the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in its analysis of the interaction between the ego agent and surrounding agent #6. It correctly identifies that surrounding agent #6 is stationary and that the ego agent is moving away from the intersection, resulting in no interaction. However, the AI's conclusion slightly deviates from the ground truth by overcomplicating the scenario and suggesting a minimal interaction, which is unnecessary given the clear stationary state of surrounding agent #6. The ground truth is more concise and directly states that there will be no interaction.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but overcomplicates the scenario. The ground truth clearly states there will be no interaction because surrounding agent #7 is stationary and on the right side of the ego agent. However, the AI introduces unnecessary details about the ego agent's acceleration and potential hazards, which are irrelevant given the stationary nature of surrounding agent #7. This detracts from the clarity and correctness of the answer.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #8 due to the latter being stationary. However, it introduces unnecessary complexity by discussing the ego agent's potential violation of traffic rules and the need for caution, which is not relevant to the ground truth answer. The ground truth simply states that there will be no interaction, and the AI's answer deviates from this by adding speculative details.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct and aligns perfectly with the ground truth. It thoroughly analyzes the positions, speeds, and motion statuses of both the ego agent and surrounding agent #9, concluding that there will be no interaction because surrounding agent #9 is stationary and on the right side of the ego agent, while the ego agent is departing from the intersection. The reasoning is clear, logical, and fully supported by the provided context.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately analyzes the positions and statuses of both the ego agent and surrounding agent #10, concluding that there will be no interaction because agent #10 is stationary and behind the ego agent, which is moving away from the intersection. The reasoning is clear, logical, and matches the provided context.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly prioritizes the red traffic light over the ego agent's current action of departing the intersection, which is the key focus of the ground truth answer. The ground truth clearly states that the ego agent intends to continue departing from the intersection and does not need to stop, as it is already in the process of leaving. The AI's conclusion that the ego agent will stop due to the red light is inaccurate and ignores the context provided. However, the AI correctly identifies the influence of surrounding agents and their movement, which aligns with some aspects of the ground truth.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp9.json b/grades/direct/deepseek_grades_direct_0shot_exp9.json new file mode 100644 index 0000000..8772dd0 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_0shot_exp9.json @@ -0,0 +1,18 @@ +{ + "14d9a71cba4b4b26": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is mostly correct in identifying that the ego agent must yield to surrounding agent #0 due to being at a stop sign. However, the explanation is overly detailed and includes unnecessary analysis of potential collision risks and the speed of the surrounding agent, which are not the focus of the ground truth answer. The ground truth is simpler, focusing solely on the yielding behavior, and the AI's answer, while accurate, strays from this simplicity.", + "Word Count": "322" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct and comprehensively analyzes the scenario, including the ego agent's position, the presence of a stop sign, and the approach of surrounding agent #0. However, it does not explicitly state that the ego agent intends to yield to surrounding agent #0, which is a critical detail in the ground truth. The AI mentions making a decision based on safety but does not clearly emphasize yielding as a specific action. This omission reduces the score slightly, even though the overall analysis is thorough and accurate.", + "Word Count": "322" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp10.json b/grades/direct/deepseek_grades_direct_2shot_exp10.json new file mode 100644 index 0000000..1c36de2 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp10.json @@ -0,0 +1,18 @@ +{ + "14d9a71cba4b4b26": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct. It accurately describes the interaction between the ego agent and surrounding agent #0, emphasizing that the ego agent must yield due to the stop sign, while surrounding agent #0 has the right of way and does not need to stop. The explanation aligns perfectly with the ground truth answer, covering the positions, speeds, and right-of-way considerations.", + "Word Count": "322" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but lacks specific details provided in the ground truth. It correctly identifies that the ego agent will stop at the stop sign and assess the intersection. However, it does not explicitly mention yielding to surrounding agent #0, who does not have a stop sign, which is a key detail in the ground truth. Additionally, the AI does not clearly state that the ego agent intends to proceed through the intersection after ensuring safety, which is a crucial part of the ground truth answer.", + "Word Count": "322" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp14.json b/grades/direct/deepseek_grades_direct_2shot_exp14.json new file mode 100644 index 0000000..fd69639 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp14.json @@ -0,0 +1,39 @@ +{ + "1d423045f0bd8642": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth. While it correctly notes that surrounding agent #0 is approaching the intersection and decelerating, it fails to acknowledge that surrounding agent #0 will yield to the ego agent, which is already in the intersection. The AI focuses on the distance and minimal interaction but does not emphasize the right-of-way rule, which is central to the ground truth answer.", + "Word Count": "640" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #2. Both are departing from the intersection, and surrounding agent #2 is behind the ego agent, moving in the same general direction but faster. This aligns perfectly with the ground truth answer, which states that there will be no interaction. The AI's explanation is clear, accurate, and fully supports the ground truth.", + "Word Count": "640" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #3. Both agents are departing from the intersection, and their paths do not conflict. The answer accurately notes surrounding agent #3's position behind and to the left of the ego agent, which confirms they are not on a collision course. Additionally, the mention of surrounding agent #3's deceleration further supports the conclusion that no interaction will occur, aligning perfectly with the ground truth answer.", + "Word Count": "640" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately describes that the ego agent and surrounding agent #4 will not interact because the ego agent is exiting the intersection and is ahead of surrounding agent #4, which is also departing from the intersection. The AI correctly identifies the positioning and motion status of both agents, concluding that their paths do not conflict.", + "Word Count": "640" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately describes the ego agent's intention to complete its right turn and exit the intersection, mentions its deceleration, and correctly states that there are no interactions requiring the ego agent to yield or change its course. The AI also appropriately notes the absence of a stop sign on the ego agent's side and correctly assesses the behavior of surrounding agents, concluding that they do not obstruct the ego agent's path. The answer is comprehensive and precise, matching the ground truth in every aspect.", + "Word Count": "640" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp18.json b/grades/direct/deepseek_grades_direct_2shot_exp18.json new file mode 100644 index 0000000..56e389e --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp18.json @@ -0,0 +1,25 @@ +{ + "1236fae1e3214d13": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key details. The AI correctly identifies that surrounding agent #0 will likely stop at the stop sign and that the ego agent is exiting the intersection. However, the AI fails to explicitly state that surrounding agent #0 will yield to the ego agent, which is the critical point in the ground truth. Additionally, the AI's conclusion that there will be 'no immediate interactions' is misleading because it overlooks the fact that surrounding agent #0's yielding behavior is an interaction in itself. The answer could have been more precise and aligned with the ground truth.", + "Word Count": "384" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2, as the latter is stationary and not in the path of the ego agent. The explanation provided by the AI is clear and logically consistent with the given context.", + "Word Count": "384" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that the ego agent is planning to continue exiting the intersection, decelerating as it does so. It also correctly notes that surrounding agent #0, which is approaching a stop sign, does not pose a conflict, and that surrounding agent #2 is stationary and not in the ego agent's path. Therefore, the ego agent can proceed without altering its course, which matches the ground truth description.", + "Word Count": "384" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp2.json b/grades/direct/deepseek_grades_direct_2shot_exp2.json new file mode 100644 index 0000000..6d4e2dc --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp2.json @@ -0,0 +1,25 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent is decelerating and that surrounding agent #0 is moving at a constant speed, which aligns with the ground truth. However, the AI incorrectly concludes that the interaction will be minimal and that the ego agent will not interfere with surrounding agent #0's path. The ground truth emphasizes that surrounding agent #0 will continue to lead the ego agent, implying a more significant interaction than the AI suggests. The AI's answer underestimates the potential for interaction, hence the lower score.", + "Word Count": "228" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct and aligns with the ground truth. It accurately states that surrounding agent #2 will maintain its position ahead of the ego agent due to its constant speed and the ego agent's deceleration. The AI also correctly notes that no direct interaction is expected between them. However, the AI slightly deviates by mentioning that their paths do not conflict, which, while true, is not the primary focus of the ground truth answer. The ground truth emphasizes the relative motion and positioning of the agents, which the AI captures well.", + "Word Count": "228" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer captures the ego agent's deceleration and its focus on maintaining distance from surrounding vehicles, which aligns with the ground truth. However, the AI introduces speculative elements like potential lane changes and additional speed adjustments, which are not supported by the ground truth. The ground truth specifically states the ego agent will continue on its current path and lane, focusing on following surrounding agent #0 and acknowledging surrounding agent #2 without suggesting further actions. The AI's answer is partially correct but includes unnecessary assumptions.", + "Word Count": "228" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp22.json b/grades/direct/deepseek_grades_direct_2shot_exp22.json new file mode 100644 index 0000000..28425be --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp22.json @@ -0,0 +1,53 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point of the ground truth answer. While it correctly identifies that surrounding agent #0 is decelerating and heading towards the intersection from the opposite side, it incorrectly concludes that there will be no interaction. The ground truth emphasizes that surrounding agent #0 will yield to the ego agent due to its deceleration and the ego agent's acceleration. The AI's focus on the distance and the ego agent's exit maneuver overlooks the yielding behavior, leading to an incomplete understanding of the interaction.", + "Word Count": "789" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies the positions and movements of the ego agent and surrounding agent #2, and it acknowledges that the ego agent is exiting the intersection while surrounding agent #2 is stationary. However, the AI answer does not explicitly state that surrounding agent #2 will yield to the ego agent, which is a key point in the ground truth. Instead, it vaguely suggests that the interaction will involve careful positioning by the ego agent, which is partially correct but misses the specific dynamic of yielding.", + "Word Count": "789" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is not moving and is behind the ego agent. However, the AI slightly overcomplicates the explanation by mentioning the ego agent's left turn and exiting the intersection, which, while relevant, is not strictly necessary to conclude that there will be no interaction. The ground truth answer is simpler and more concise.", + "Word Count": "789" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no conflict or interaction between the ego agent and surrounding agent #4, which aligns with the ground truth. However, it does not explicitly mention that surrounding agent #4 will yield to the ego agent, as stated in the ground truth. The reasoning provided is accurate but could be more precise by explicitly stating the yielding behavior.", + "Word Count": "789" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is mostly correct but lacks precision. It correctly identifies that the interaction between the ego agent and surrounding agent #5 is non-intrusive because the latter is stationary. However, it fails to explicitly state that surrounding agent #5 will yield to the ego agent, which is a key part of the ground truth. The AI's explanation about the positions and lack of direct conflict is accurate, but it misses the specific outcome of yielding, which is crucial for full correctness.", + "Word Count": "789" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point about yielding. While it correctly notes that surrounding agent #6 is stationary and not likely to conflict with the ego agent, it fails to explicitly state that agent #6 will yield to the ego agent, which is the ground truth. This omission reduces the correctness of the answer.", + "Word Count": "789" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it accurately describes the ego agent's intended action to complete its left turn and exit the intersection. It also correctly notes that the surrounding agents are not moving and do not pose an immediate threat. However, it does not explicitly mention the ego agent's continued acceleration, which is a key part of the ground truth answer. Hence, the score is 9 instead of 10.", + "Word Count": "789" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp26.json b/grades/direct/deepseek_grades_direct_2shot_exp26.json new file mode 100644 index 0000000..5e57bce --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp26.json @@ -0,0 +1,60 @@ +{ + "11287ada0d41773a": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly states that there will be no immediate interaction between the ego agent and surrounding agent #1. The ground truth answer correctly identifies that surrounding agent #1 will yield to the ego agent, which implies an interaction. The AI fails to recognize that a yielding action is an interaction, even if surrounding agent #1 is stationary. This lack of acknowledgment of the yielding behavior reduces the correctness score significantly.", + "Word Count": "720" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 is stationary and that the ego agent is approaching while accelerating. It also correctly concludes that there will be no conflict since the ego agent can proceed past surrounding agent #2. However, the AI does not explicitly state that surrounding agent #2 will yield to the ego agent, which is a key point in the ground truth answer. The reasoning is mostly correct but slightly incomplete in aligning with the ground truth.", + "Word Count": "720" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #3 is stationary and poses no immediate threat, but it fails to recognize the broader context of the intersection dynamics. The ground truth emphasizes that surrounding agent #3 will yield to the ego agent due to the ego agent's approach to the intersection, which is a critical aspect of the interaction. The AI overlooks this yielding behavior, resulting in a lower correctness score.", + "Word Count": "720" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #4. According to the ground truth, surrounding agent #4 will yield to the ego agent, indicating interaction. The AI's reasoning about the distance and motion status is accurate, but it fails to acknowledge the yielding behavior, which is crucial in this scenario.", + "Word Count": "720" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect. It states that the interaction between the ego agent and surrounding agent #5 will be minimal to none, which contradicts the ground truth. The ground truth indicates that surrounding agent #5 will yield to the ego agent because it is not moving and the ego agent is approaching the intersection. The AI failed to recognize the potential yielding behavior of surrounding agent #5, which is a critical aspect of the interaction. Additionally, the AI incorrectly assumed both agents are stationary, while the ego agent is actually accelerating.", + "Word Count": "720" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to address the ground truth, which states that surrounding agent #6 should yield to the ego agent. The AI incorrectly concludes that there is no influence on the interaction due to the absence of a stop sign, which is irrelevant to the ground truth's focus on yielding behavior. The AI misunderstood the context and provided an answer that does not align with the expected behavior of the agents.", + "Word Count": "720" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #7 is stationary and that the ego agent is accelerating. However, the AI incorrectly states that the ego agent will pass behind surrounding agent #7, which is not explicitly supported by the context. The ground truth answer suggests that surrounding agent #7 will yield to the ego agent, implying that the ego agent will proceed first, not necessarily behind surrounding agent #7. The AI's answer lacks this specific inference and instead introduces an assumption about the ego agent's path, which is not directly indicated in the context.", + "Word Count": "720" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue accelerating and proceed through the intersection, which aligns with the ground truth. However, it overcomplicates the reasoning by mentioning unnecessary details like assessing surrounding agents and being cautious about the crosswalk, which are not part of the ground truth. The ground truth focuses on the ego agent's intent to continue through the intersection without yielding, given the absence of a stop sign and stationary surrounding agents.", + "Word Count": "720" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp30.json b/grades/direct/deepseek_grades_direct_2shot_exp30.json new file mode 100644 index 0000000..d8c9200 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp30.json @@ -0,0 +1,74 @@ +{ + "12f96ecfb33ebfd6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth. While it correctly identifies that Surrounding agent #0 is approaching from the right and the ego agent is exiting the intersection, it fails to recognize that Surrounding agent #0 will yield to the ego agent as per the ground truth. Instead, the AI suggests minimal or nonexistent interaction, which is incorrect. The nature of the interaction is not cooperative as the AI claims; instead, it involves yielding.", + "Word Count": "1078" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth by stating that there will be no interaction between the ego agent and surrounding agent #1. The AI correctly observes that both agents are departing from the intersection in different directions, ensuring their paths do not conflict. The reasoning provided by the AI is clear and aligns perfectly with the context, justifying the conclusion that both agents can proceed safely without altering their trajectories.", + "Word Count": "1078" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #2 will yield to the ego agent, which aligns with the ground truth answer. The AI accurately notes that surrounding agent #2 is decelerating and moving at a slower speed, making it likely to yield as the ego agent is exiting the intersection. The reasoning and conclusion are consistent with the provided context and ground truth.", + "Word Count": "1078" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially incorrect. While it correctly notes that the paths of the ego agent and surrounding agent #3 do not directly intersect, it fails to recognize the possibility of interaction due to their proximity and the fact that both are approaching the intersection from the same side. The ground truth indicates that surrounding agent #3 will yield to the ego agent, which the AI did not consider. The AI's conclusion that there will be no interaction is inaccurate given the context.", + "Word Count": "1078" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct and aligns well with the ground truth. It accurately describes the situation where surrounding agent #4 is decelerating and heading towards the intersection from the left, while the ego agent is exiting. The AI correctly infers that surrounding agent #4 will likely yield to the ego agent. However, it slightly overanalyzes by mentioning 'potential for close proximity but no direct conflict,' which is not explicitly stated or implied in the ground truth. This minor addition does not significantly detract from the correctness of the answer.", + "Word Count": "1078" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks the explicit conclusion that surrounding agent #6 will yield to the ego agent, which is a key part of the ground truth. The AI correctly identifies that surrounding agent #6 is decelerating and that the ego agent is exiting the intersection, but it does not directly state the yielding behavior as clearly as the ground truth does.", + "Word Count": "1078" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. It accurately notes that surrounding agent #7 is stationary and on the same side of the intersection, which aligns with the ground truth answer. The explanation provided by the AI is clear and supports the conclusion that the ego agent can proceed without any conflict or adjustment due to surrounding agent #7.", + "Word Count": "1078" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #8 because surrounding agent #8 is stationary and on the same side of the intersection. The explanation also includes relevant details about the ego agent's action and speed, reinforcing the correctness of the conclusion.", + "Word Count": "1078" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9. The explanation aligns with the ground truth, stating that surrounding agent #9 is not moving and is on the same side of the intersection, which eliminates the possibility of any interaction. The AI also correctly notes that the ego agent can continue its movement without adjusting for surrounding agent #9, which is consistent with the ground truth.", + "Word Count": "1078" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies the ego agent's intention to complete its left turn and exit the intersection, and mentions the acceleration and approach to the speed bump. However, it fails to explicitly state that the ego agent will not need to respond to specific surrounding agents (#1, #7, #8, #9) and that the ego agent will proceed before others (#0, #2, #3, #4, #6) as they will yield. These details are crucial for a complete and accurate answer.", + "Word Count": "1078" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp34.json b/grades/direct/deepseek_grades_direct_2shot_exp34.json new file mode 100644 index 0000000..845f8bf --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp34.json @@ -0,0 +1,53 @@ +{ + "1089b226cd801a4c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer correctly identifies that both the ego agent and surrounding agent #0 are subject to a red traffic light and that the ego agent will stop. However, it fails to address the key point in the ground truth answer, which is that surrounding agent #0 will yield to the ego agent due to the ego agent being slightly ahead, indicating it has the right of way when the light turns green. The AI's conclusion that there will be no interaction is incorrect, as there is an expectation of yielding behavior from surrounding agent #0 in the future, once the light changes.", + "Word Count": "1001" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that both the ego agent and surrounding agent #2 are stationary due to the red traffic light, but it fails to consider the dynamic aspect of the interaction when the light turns green. The ground truth specifies that surrounding agent #2 will yield to the ego agent as the ego agent is slightly ahead. The AI does not account for this future interaction, focusing only on the current state of motion rather than potential behavior after the light changes.", + "Word Count": "1001" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately describes the interaction between the ego agent and surrounding agent #3, noting that both are stationary due to red traffic lights and are not in conflict with each other. The AI also correctly identifies their relative positions and states that there is no immediate interaction or need for adjustment, which is consistent with the ground truth.", + "Word Count": "1001" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns with the ground truth. It accurately identifies that surrounding agent #4 is stationary and positioned behind the ego agent, both of which are facing a red traffic light. The AI correctly concludes that no interaction will occur between them due to their stationary states and the lack of conflicting positions.", + "Word Count": "1001" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as both are stationary and heading in opposite directions. The AI also correctly mentions the positions of both agents and the fact that the ego agent is approaching a red traffic light, which supports the conclusion that their paths do not intersect and they will not affect each other's movements.", + "Word Count": "1001" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately identifies the lack of interaction between the ego agent and surrounding agent #6 due to both being stationary and facing red traffic lights, which means neither is in motion or poses a potential conflict. The explanation is clear and logically sound, making it a perfect match with the provided ground truth.", + "Word Count": "1001" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identified that the ego agent must stop due to the red traffic light. However, it missed mentioning the agent's intention to wait for the light to turn green and proceed through the intersection, yield to other agents, and navigate the crosswalk and speed bump, which are key details in the ground truth answer.", + "Word Count": "1001" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp38.json b/grades/direct/deepseek_grades_direct_2shot_exp38.json new file mode 100644 index 0000000..19960fd --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp38.json @@ -0,0 +1,81 @@ +{ + "10c804aca6997102": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct as it accurately describes the lack of interaction between the ego agent and surrounding agent #0. Surrounding agent #0 is departing from the intersection and is not on a collision course with the ego agent, which aligns perfectly with the ground truth answer.", + "Word Count": "1128" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, as the latter is stationary and not in the path of the ego agent. The explanation is clear and consistent with the scenario details provided.", + "Word Count": "1128" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer acknowledges that surrounding agent #3 is stationary and that no physical interaction will occur, aligning with the ground truth. However, the AI overcomplicates the scenario by suggesting the ego agent 'may have enough room to maneuver around surrounding agent #3' and emphasizing the need for observation, which is unnecessary given the clear context of no interaction. This detracts from the simplicity and correctness of the ground truth.", + "Word Count": "1128" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4. It accurately notes that surrounding agent #4 is stationary and not in the path of the ego agent, which aligns with the ground truth answer. The explanation provided by the AI is thorough and logically consistent with the context provided, justifying the complete lack of interaction.", + "Word Count": "1128" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5. The explanation provided by the AI is thorough and accurate, noting that surrounding agent #5 is stationary, not in the path of the ego agent, and that the ego agent can proceed without altering its course. This aligns perfectly with the ground truth answer, which also states that there will be no interaction due to the same reasons.", + "Word Count": "1128" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no immediate interaction between the ego agent and surrounding agent #6. The reasoning is solid, emphasizing that surrounding agent #6 is not moving and is not in the direct path of the ego agent. However, the AI slightly overcomplicates the explanation by introducing unnecessary details about the distance and the ego agent's approach, which, while accurate, are not crucial to the conclusion. The ground truth answer is more concise and directly addresses the lack of interaction.", + "Word Count": "1128" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because the latter is stationary and not in the ego agent's immediate path. The explanation provided by the AI is detailed and logically sound, confirming that the ego agent can proceed without any need to alter its path or speed due to the presence of surrounding agent #7.", + "Word Count": "1128" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #8 will not interact with the ego agent. The explanation is thorough and accurate, noting that surrounding agent #8 is stationary and positioned to the left, and that the ego agent is decelerating, which aligns with the ground truth answer.", + "Word Count": "1128" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9. The reasoning provided by the AI is also correct, as it highlights that surrounding agent #9 is not moving and is positioned on the right of the intersection, which means it is not in the ego agent's direct path. The AI also correctly notes that there is sufficient distance between the two agents, and their paths do not conflict, which further supports the conclusion that no interaction is expected.", + "Word Count": "1128" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct and aligns with the ground truth. It accurately states that there will be no significant interaction between the ego agent and surrounding agent #10, as the latter is stationary and positioned to the right of the intersection, not conflicting with the ego agent's path. The reasoning provided is clear and consistent with the context.", + "Word Count": "1128" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct but significantly diverges from the ground truth. The ground truth states that the ego agent intends to increase its speed, while the AI suggests it will continue decelerating. Additionally, the AI incorrectly assumes the ego agent may stop or yield, which is not supported by the ground truth. The AI does correctly identify that there are no immediate interactions with surrounding agents, aligning with the ground truth. However, the core prediction about the ego agent's motion is inaccurate.", + "Word Count": "1128" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp42.json b/grades/direct/deepseek_grades_direct_2shot_exp42.json new file mode 100644 index 0000000..ce80cb1 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp42.json @@ -0,0 +1,123 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies the relative positions and speeds of the ego agent and surrounding agent #0, noting that the ego agent is likely to overtake surrounding agent #0 due to its acceleration. However, it incorrectly assumes that the interaction will be 'non-intrusive' and that the ego agent will 'smoothly pass by' without considering the ground truth, which states that surrounding agent #0 will lead the ego agent as it is departing the intersection. The AI fails to fully align with the ground truth's emphasis on the leading role of surrounding agent #0.", + "Word Count": "1571" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly assumes there will be interaction between the ego agent and surrounding agent #1. The ground truth correctly states that there will be no interaction because they are on different lanes and their paths do not cross. The AI's reasoning about the ego agent closing the gap and safely following is irrelevant and incorrect since no interaction is expected.", + "Word Count": "1571" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that surrounding agent #3, although stationary, is positioned in a way that could potentially lead to interaction if it starts moving, especially since it is departing from the intersection and located behind the ego agent. The ground truth states that surrounding agent #3 will follow the ego agent, which implies a potential interaction, contradicting the AI's conclusion that there will be no interaction.", + "Word Count": "1571" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is mostly correct in stating that there will be minimal interaction between the ego agent and surrounding agent #4. However, it unnecessarily speculates about potential scenarios (e.g., surrounding agent #4 initiating movement towards the ego agent's lane) that are not grounded in the provided context. The ground truth answer is more concise and directly states that there will be no interaction because the agents are on different lanes and their paths do not cross, which is more accurate and focused.", + "Word Count": "1571" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer suggests a potential conflict between the ego agent and surrounding agent #5, which contradicts the ground truth. The ground truth clearly states that there will be no interaction as they are on different lanes and their paths are not indicated to cross. The AI's focus on a potential conflict is incorrect and misleading in this context.", + "Word Count": "1571" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it states that surrounding agent #6 is stationary and does not affect the ego agent. However, the ground truth indicates that surrounding agent #6 is following the ego agent, which implies it is in motion and could influence the ego agent's behavior. The AI failed to correctly interpret the context or misunderstood the motion status of surrounding agent #6.", + "Word Count": "1571" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no immediate interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. However, the AI's explanation could have explicitly mentioned that they are on different lanes and their paths do not cross, which is a key detail in the ground truth.", + "Word Count": "1571" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly aligns with the ground truth. It accurately states that surrounding agent #8 will not interact with the ego agent because they are moving in opposite directions and their paths do not cross. The explanation about their positions, speeds, and directions supports the conclusion of no interaction, thus the answer is fully correct.", + "Word Count": "1571" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately describes that Surrounding agent #9 is on a different lane and there is no indication of their paths crossing. The AI also correctly notes the positions, velocities, and directions of both agents, concluding that no interaction will take place. This reasoning is consistent with the ground truth.", + "Word Count": "1571" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth. Both the AI and the ground truth agree that there will be no interaction between the ego agent and surrounding agent #10 due to the stationary state of surrounding agent #10 and the lack of any indication that their paths will cross. The AI's explanation is clear and aligns with the provided context.", + "Word Count": "1571" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction or conflict between the ego agent and surrounding agent #11, as they are on different lanes and their paths do not intersect. The AI also correctly highlights the positions, speeds, and directions of both agents, supporting the conclusion that the ego agent can proceed safely without altering its path. This aligns perfectly with the ground truth answer.", + "Word Count": "1571" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize that surrounding agent #12 is on the same lane and heading towards the intersection, which aligns with the ground truth. The AI incorrectly states that surrounding agent #12 is not moving, which contradicts the context provided. The minimal interaction claim is also inaccurate given the described scenario.", + "Word Count": "1571" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction between the ego agent and surrounding agent #13, which contradicts the ground truth. The ground truth explicitly states that there will be no interaction because the agents are heading in opposite directions without their paths crossing. The AI incorrectly focuses on proximity, lane positioning, and traffic signals, which are irrelevant in this scenario as the agents' paths do not intersect.", + "Word Count": "1571" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #14, as their paths do not conflict. The reasoning provided by the AI is consistent with the context, highlighting the spatial separation, their speeds, and the fact that surrounding agent #14 is departing from the intersection, which supports the conclusion of no interaction.", + "Word Count": "1571" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests that the ego agent will overtake surrounding agent #15, which contradicts the ground truth that agent #15 will lead the ego agent. The AI failed to consider the speed difference and acceleration dynamics properly. While the ego agent is faster, it does not necessarily imply overtaking, especially since agent #15 is already significantly ahead and both are departing from the intersection.", + "Word Count": "1571" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly concludes that there will be no interaction between the ego agent and surrounding agent #16, which aligns with the ground truth. However, the explanation is partially incorrect. The AI mentions that surrounding agent #16 is on the same lane, but the context states that surrounding agent #16 is 22 meters behind and 15 meters to the left, indicating they are not on the same lane. This inaccuracy in reasoning lowers the score.", + "Word Count": "1571" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to continue accelerating towards the intersection, which aligns with the ground truth. However, it fails to mention the specific interactions with surrounding agents #0, #6, and #15, which are crucial for understanding the full context of the ego agent's intended course of action. Additionally, the AI incorrectly assumes the presence of a green light, which is not mentioned in the context.", + "Word Count": "1571" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp46.json b/grades/direct/deepseek_grades_direct_2shot_exp46.json new file mode 100644 index 0000000..586769c --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp46.json @@ -0,0 +1,102 @@ +{ + "10082a6f50ec9695": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there is no direct conflict between the ego agent and surrounding agent #0, as they are moving in opposite directions. However, the AI's explanation is overly detailed and somewhat redundant, focusing on aspects like 'low possibility of direct conflicts' and 'adjusting speed slightly,' which are unnecessary and not part of the ground truth answer. The ground truth is more concise and directly states the key point: surrounding agent #0 is departing, and the ego agent is approaching, leading to no interaction. The AI's response, while accurate, lacks the simplicity and precision of the ground truth.", + "Word Count": "1566" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately describes that there will be no interaction between the ego agent and surrounding agent #2 because surrounding agent #2 is stationary, and there is no potential for a collision. The explanation is clear and detailed, covering the positions, motion statuses, and the lack of conflict between the two agents.", + "Word Count": "1566" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is stationary and not on a collision course with the ego agent. The explanation aligns perfectly with the ground truth answer, confirming that the paths of the two agents do not conflict and the ego agent can pass without any significant effect on surrounding agent #3.", + "Word Count": "1566" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately assesses that there will be no interaction between the ego agent and surrounding agent #4, as the latter is stationary, positioned behind and to the right of the ego agent, and their paths do not conflict. This aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in stating that there will be no significant interaction between the ego agent and surrounding agent #5, as the latter is stationary and not obstructing the ego agent's path. However, the AI unnecessarily speculates about the ego agent slowing down or continuing its path, which isn't directly relevant to the nature of the interaction. The ground truth simply states there will be no interaction, making the AI's additional details somewhat redundant.", + "Word Count": "1566" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, as surrounding agent #6 is stationary and not on a collision course. The explanation provided by the AI is clear and accurate, emphasizing the lack of impact on the ego agent's trajectory.", + "Word Count": "1566" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. It accurately states that the surrounding agent is stationary, not on a collision course, and will not require the ego agent to alter its path. This aligns perfectly with the ground truth answer, which also asserts that there will be no interaction.", + "Word Count": "1566" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be minimal to no interaction between the ego agent and surrounding agent #8, aligning with the ground truth. However, it slightly deviates by stating 'minimal interaction' instead of clearly stating 'no interaction,' which is the ground truth. The reasoning is accurate, but the wording could be more precise.", + "Word Count": "1566" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9 because the latter is stationary and not on a collision course. The explanation provided by the AI is thorough and logical, detailing why the ego agent will pass in front of surrounding agent #9 without conflict.", + "Word Count": "1566" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #10 because the surrounding agent is stationary and positioned behind the ego agent. The explanation clearly explains that their paths do not conflict, and the ego agent can proceed without altering its course, which aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #11, as surrounding agent #11 is stationary and not on a collision course. The AI also correctly describes the positions and motions of both agents, supporting the conclusion that no interaction is expected.", + "Word Count": "1566" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #12. It accurately notes that surrounding agent #12 is not moving and is positioned behind and to the left of the ego agent, indicating they are not on a collision course. This aligns perfectly with the ground truth answer, which also states that no interaction will occur for the same reasons.", + "Word Count": "1566" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely consistent with the ground truth. It correctly identifies that surrounding agent #13 is stationary, that the ego agent is not on a collision course with it, and that there will be no interaction between them. The explanation provided by the AI is clear, logical, and fully aligns with the facts presented in the context.", + "Word Count": "1566" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is mostly correct as it accurately describes the ego agent's intention to continue towards the intersection and acknowledges the absence of a stop sign and immediate conflicts with surrounding agents. However, the AI incorrectly mentions that the ego agent will 'prepare to enter the intersection without having to stop,' which is not explicitly stated in the ground truth. The ground truth only mentions that the ego agent will proceed without needing to respond to other agents or traffic controls, without specifying stopping. This minor deviation slightly reduces the correctness score.", + "Word Count": "1566" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp50.json b/grades/direct/deepseek_grades_direct_2shot_exp50.json new file mode 100644 index 0000000..42fe3e6 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp50.json @@ -0,0 +1,74 @@ +{ + "1024bf7754aa2b98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #0. It accurately notes that surrounding agent #0 is departing from the intersection and that their paths do not conflict, which aligns perfectly with the ground truth answer.", + "Word Count": "1792" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but includes unnecessary details and incorrect assumptions. The ground truth emphasizes that both agents will likely follow each other through the intersection due to their green lights and similar direction. The AI, however, introduces speculative elements like the crosswalk's influence on surrounding agent #1's speed, which is not supported by the context. This detracts from the simplicity and correctness of the ground truth explanation.", + "Word Count": "1792" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that both the ego agent and surrounding agent #2 are on the same lane, heading towards the intersection, and have a green light allowing them to proceed. However, the AI's conclusion that the ego agent will clear the intersection first and that surrounding agent #2 needs to decelerate slightly is not explicitly supported by the ground truth. The ground truth simply states that surrounding agent #2 will follow the ego agent, without mentioning speed adjustments or the ego agent clearing the intersection first. The AI's speculative addition reduces the correctness of the answer.", + "Word Count": "1792" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the interaction between the ego agent and surrounding agent #4 is minimal or non-existent, which aligns with the ground truth. However, the AI incorrectly states that there might be a conflicting path between the two agents, which is not supported by the provided context. The surrounding agent #4 is already in the intersection and their paths do not conflict, so the AI's assumption of a potential conflict is incorrect. This inaccuracy lowers the score.", + "Word Count": "1792" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer suggests a potential conflict between the ego agent and surrounding agent #5, which contradicts the ground truth that states there will be no interaction as their paths do not conflict. While the AI correctly identifies the positions and speeds of both agents, it incorrectly infers a possible interaction or conflict, which is not supported by the context provided.", + "Word Count": "1792" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer partially aligns with the ground truth but makes incorrect assumptions. The ground truth states that surrounding agent #6 will follow the ego agent towards the intersection, implying a coordinated movement. However, the AI incorrectly suggests that surrounding agent #6 will likely need to stop at the crosswalk, which contradicts the ground truth's assertion that both agents will proceed due to green traffic lights. Additionally, the AI introduces unnecessary complexity by focusing on crosswalk interactions, which is not mentioned in the ground truth and detracts from the core interaction described.", + "Word Count": "1792" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #7 does not pose an immediate obstruction due to its stationary state. However, it fails to recognize the critical aspect of the interaction, which is that surrounding agent #7 should yield to the ego agent, as per the ground truth. The AI's response lacks this key detail, leading to a lower score.", + "Word Count": "1792" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly assumes that there is no interaction between the ego agent and surrounding agent #8. The ground truth answer, however, explicitly states that surrounding agent #8 will yield to the ego agent because it is stationary and on the right of the intersection while the ego agent is departing. The AI's assessment of minimal interaction is incorrect and fails to consider the yielding behavior implied by the ground truth. The AI also incorrectly assumes the ego agent is on a different trajectory, which is not supported by the context.", + "Word Count": "1792" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct in stating that the interaction will be minimal to none, as surrounding agent #9 is stationary. However, it fails to acknowledge the ground truth that surrounding agent #9 will yield to the ego agent. The AI correctly identifies that the ego agent is not directly conflicting with surrounding agent #9, but it overlooks the context where yielding behavior is expected due to the stationary position of surrounding agent #9 and the ego agent's movement towards the intersection. The answer lacks the detail that surrounding agent #9 is on the right of the intersection, which is a key factor in the ground truth explanation.", + "Word Count": "1792" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to proceed through the intersection due to the green traffic light and is accelerating. However, it incorrectly emphasizes the need to be aware of surrounding agents and the crosswalk, which the ground truth explicitly states as not requiring attention since the ego agent has the right of way. The answer is somewhat verbose and less precise compared to the ground truth.", + "Word Count": "1792" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp54.json b/grades/direct/deepseek_grades_direct_2shot_exp54.json new file mode 100644 index 0000000..ed622c8 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp54.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the interaction between the ego agent and surrounding agent #0 is minimal and that both are heading towards the intersection without conflicting paths. However, the AI does not explicitly mention that surrounding agent #0 will continue to lead the ego agent as they both head towards and depart from the intersection, which is a key part of the ground truth. The AI's focus on the safe and conflict-free nature of the interaction is accurate but lacks the specific detail about the leading role of surrounding agent #0 during the departure from the intersection.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer aligns mostly with the ground truth, stating that surrounding agent #1 will follow the ego agent as they both approach and depart the intersection. However, the AI overcomplicates the explanation by discussing safe distances, yielding, and acceleration details, which are not directly relevant to the ground truth's simpler assertion. The core idea is correct, but the additional, somewhat unnecessary details reduce the precision of the answer.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges that the ego agent will catch up to surrounding agent #3 due to its higher speed, which aligns with the ground truth. However, the AI does not explicitly state that the ego agent will overtake surrounding agent #3, which is a key part of the ground truth. Additionally, the AI focuses on potential speed adjustments and maintaining course, which, while relevant, does not fully capture the overtaking interaction described in the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4. It accurately notes that the two agents are heading in opposite directions and that their paths do not conflict. The explanation aligns perfectly with the ground truth answer, which states that there will be no interaction between the two agents.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that both agents will eventually depart from the intersection, implying a following interaction. While the AI correctly notes that the ego agent is ahead and moving faster, it fails to acknowledge the ground truth's emphasis on the subsequent interaction where surrounding agent #5 follows the ego agent as they depart from the intersection. This oversight results in a low score.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth answer. It accurately identifies that there will be no interaction between the ego agent and surrounding agent #6 because they are heading in opposite directions and departing from the intersection. The explanation provided by the AI is clear, detailed, and supports the conclusion that no interaction is expected, which matches the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because they are heading in opposite directions and departing from the intersection. The explanation is clear, detailed, and fully supports the conclusion that there is no risk of collision or interference.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #8, as they are heading in opposite directions and surrounding agent #8 is not moving. The AI also correctly notes that surrounding agent #8 is behind the ego agent and decelerating, which means it does not pose a risk to the ego agent's trajectory. This aligns perfectly with the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9. Both agents are heading in opposite directions and departing from the intersection, which means their paths do not conflict. The explanation provided by the AI aligns perfectly with the ground truth answer, making it fully correct.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #10 is not moving, is heading in the opposite direction, and is located behind the ego agent, thus ensuring no interaction occurs. The explanation also correctly notes that the ego agent will continue towards the intersection while surrounding agent #10 remains stationary, posing no conflict.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly suggests that the ego agent and surrounding agent #11 are on a potential collision course and that the ego agent may need to yield or adjust its speed. However, the ground truth answer clearly states that there will be no interaction between the two agents as they are heading in opposite directions and departing from the intersection. The AI's interpretation of the scenario is flawed, as it misjudges the interaction dynamics and fails to recognize the lack of a collision risk due to their opposing trajectories.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key details. It correctly states that the ego agent will continue accelerating towards the intersection but fails to mention the intention to depart from the intersection, which is a critical part of the ground truth. Additionally, the AI incorrectly assumes the ego agent has the right of way and does not address overtaking surrounding agent #3 or the presence of following agents (#1 and #5). The AI also inaccurately downplays the need for interaction with other agents, which is explicitly mentioned in the ground truth.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp58.json b/grades/direct/deepseek_grades_direct_2shot_exp58.json new file mode 100644 index 0000000..854409b --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp58.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies the positions and speeds of both agents but incorrectly concludes that there will be no significant interaction. The ground truth indicates that surrounding agent #0 will lead the ego agent due to its higher speed and acceleration, suggesting an interaction where the ego agent will follow behind. The AI fails to recognize this dynamic interaction, resulting in an incomplete answer.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #1 is ahead of the ego agent and both are moving in the same direction, which aligns with the ground truth. However, the AI incorrectly emphasizes that the ego agent is expected to stop due to the red light, which is not mentioned in the ground truth. The ground truth simply states that surrounding agent #1 will continue to lead the ego agent, without implying a stop. This discrepancy reduces the score.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 is in the intersection and that there is a potential interaction. However, it deviates from the ground truth by focusing on the ego agent's need to stop or slow down due to the red light and the potential for conflict with surrounding agent #2. The ground truth emphasizes that surrounding agent #2 will cross paths with the ego agent, which is a more direct interaction scenario. The AI's answer introduces additional assumptions about the ego agent's response to the traffic light and surrounding agent #2's behavior, which are not explicitly supported by the context provided. Thus, while the AI captures some aspects of the interaction, it does not align fully with the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that there will be no direct interaction or collision between the ego agent and surrounding agent #3, which aligns with the ground truth. However, the AI's explanation includes unnecessary details about the ego agent stopping and the traffic light's impact, which are not relevant to the interaction between the two agents. The ground truth simply states that there will be no interaction due to their opposite directions and the ego agent's departure from the intersection, making the AI's response less concise and slightly off-topic.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the scenario described in the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #5 because surrounding agent #5 is stationary and positioned to the right and slightly behind the ego agent. Additionally, the AI considers the ego agent's obligation to stop due to the red traffic light, which further ensures no interaction. The explanation aligns perfectly with the ground truth, warranting a full score.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6 due to the stationary state of agent #6 and its position to the right of the ego agent. However, the AI's explanation is slightly more verbose and could be more concise, aligning more closely with the ground truth answer which plainly states the lack of interaction without additional details about the ego agent's trajectory or the need to adjust speed.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. However, the AI slightly overcomplicates the explanation by mentioning the red traffic light and the ego agent's motion, which, while relevant, are not necessary to conclude that there is no interaction since agent #7 is stationary and to the right of the ego agent.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct. It accurately identifies that there will be no interaction between the ego agent and surrounding agent #8 because the surrounding agent is stationary and positioned on the right side of the ego agent. Additionally, the AI correctly notes that the ego agent is departing the intersection and moving at a speed of 8 m/s, which further ensures there will be no conflict or interaction. This fully aligns with the ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9, as surrounding agent #9 is stationary and located on the right side of the ego agent, and the ego agent is moving away from the intersection. The explanation provided by the AI is clear and consistent with the scenario details.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth. It correctly identifies that surrounding agent #10 is stationary, positioned to the right and behind the ego agent, and that there will be no interaction between them as the ego agent is departing from the intersection. The reasoning is clear, accurate, and matches the context provided.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes the ego agent needs to stop due to the red traffic light, even though the ego agent is already departing from the intersection and continues to accelerate. The ground truth clearly states the ego agent intends to continue departing, and the red light does not require a stop in this scenario. Additionally, the AI fails to address the specific interactions with surrounding agents as detailed in the ground truth.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_2shot_exp6.json b/grades/direct/deepseek_grades_direct_2shot_exp6.json new file mode 100644 index 0000000..b7ebb5f --- /dev/null +++ b/grades/direct/deepseek_grades_direct_2shot_exp6.json @@ -0,0 +1,39 @@ +{ + "12b4792555da7196": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interactions between the ego agent and surrounding agent #0. However, according to the ground truth, surrounding agent #0 will yield to the ego agent because the ego agent is exiting the intersection while surrounding agent #0 is approaching. The AI's analysis fails to account for the yielding behavior that is expected in such a scenario, leading to an incorrect conclusion.", + "Word Count": "590" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct as it accurately states that there will be no interaction between the ego agent and surrounding agent #2. The explanation provided by the AI matches the ground truth, noting that surrounding agent #2 is stationary and not on a collision course with the ego agent, which is exiting the intersection.", + "Word Count": "590" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #3, which aligns with the ground truth. However, it misses the detail that they are on different sides of the intersection, which is a key point in the ground truth. The AI correctly notes that surrounding agent #3 is stationary and not a threat to the ego agent.", + "Word Count": "590" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct in stating that there will be no interaction between the ego agent and surrounding agent #4. It correctly identifies that surrounding agent #4 is not moving and that the two agents are not on a collision course. However, the AI's explanation includes unnecessary details about the right of way and traffic controls, which are not directly relevant to the absence of interaction. The ground truth answer is more concise and directly addresses the lack of interaction without these extraneous points.", + "Word Count": "590" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer accurately captures the ego agent's plan to exit the intersection and correctly identifies that surrounding agents #2, #3, and #4 are not moving and will not impede its path. However, the AI did not explicitly state that surrounding agent #0 will yield to the ego agent, which is a key detail in the ground truth answer. Despite this minor omission, the overall response is highly accurate and aligns well with the ground truth.", + "Word Count": "590" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp11.json b/grades/direct/deepseek_grades_direct_4shot_exp11.json new file mode 100644 index 0000000..7b06efc --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp11.json @@ -0,0 +1,18 @@ +{ + "14d9a71cba4b4b26": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect. The ego agent is at a stop sign and must yield to surrounding agent #0, which is not required to stop and is approaching from the right. The AI incorrectly states that surrounding agent #0 will yield to the ego agent, which contradicts the ground truth. Additionally, the AI incorrectly concludes that there is no conflict in their paths, which is inaccurate given the existence of the stop sign rule.", + "Word Count": "322" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is at a stop sign and plans to proceed through the intersection after stopping. However, it fails to explicitly mention the need to yield to surrounding agent #0, which is a critical detail in the ground truth answer. This omission slightly reduces the completeness and correctness of the response.", + "Word Count": "322" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp15.json b/grades/direct/deepseek_grades_direct_4shot_exp15.json new file mode 100644 index 0000000..666be51 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp15.json @@ -0,0 +1,39 @@ +{ + "1d423045f0bd8642": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly assumes that there will be no interaction between the ego agent and surrounding agent #0, while the ground truth explicitly states that surrounding agent #0 will yield to the ego agent. The AI fails to recognize the right-of-way dynamics at the intersection, where the ego agent, despite exiting, is still in a position that requires surrounding agent #0 to yield. Additionally, the AI's analysis of the spatial and motion dynamics does not align with the ground truth's assertion about yielding behavior.", + "Word Count": "640" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #2 is behind the ego agent and that they are both departing from the intersection, which aligns with the ground truth. However, the AI's statement that surrounding agent #2 will yield to the ego agent is unnecessary and incorrect, as there is no indication of a conflict or need for yielding based on the scenario. The AI should have simply stated that there will be no interaction, as per the ground truth.", + "Word Count": "640" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly suggests that there will be an interaction involving yielding between the ego agent and surrounding agent #3. However, the ground truth clearly states that there will be no interaction, as both agents are departing from the intersection and surrounding agent #3 is behind the ego agent. The AI's response misinterprets the scenario and introduces an unnecessary interaction that does not align with the context provided.", + "Word Count": "640" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth answer. It accurately identifies that surrounding agent #4 is behind the ego agent, their paths do not intersect, and both are departing from the intersection, leading to no interaction. The explanation is clear and matches the scenario details.", + "Word Count": "640" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to exit the intersection and is decelerating while turning right, which aligns with the ground truth. However, the AI's answer lacks the detail that there are no interactions requiring the ego agent to yield or change its course, which is a key part of the ground truth. This omission affects the completeness of the answer.", + "Word Count": "640" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp19.json b/grades/direct/deepseek_grades_direct_4shot_exp19.json new file mode 100644 index 0000000..42ae874 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp19.json @@ -0,0 +1,25 @@ +{ + "1236fae1e3214d13": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will yield to the ego agent because it is approaching a stop sign, and the ego agent is already in the intersection. The explanation aligns perfectly with the ground truth answer, providing a clear and accurate analysis of the interaction between the two agents.", + "Word Count": "384" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct and aligns perfectly with the ground truth. It accurately identifies that there will be no interaction between the ego agent and surrounding agent #2, as the latter is stationary and not in the path of the ego agent. The reasoning provided is clear and logically sound, making the response accurate and fully aligned with the ground truth.", + "Word Count": "384" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is exiting the intersection and will continue to do so shortly. However, it does not explicitly mention that the ego agent does not need to yield to surrounding agent #0, which is a key detail in the ground truth. Additionally, the AI answer does not address the lack of interaction with surrounding agent #2. These omissions slightly reduce the correctness score.", + "Word Count": "384" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp23.json b/grades/direct/deepseek_grades_direct_4shot_exp23.json new file mode 100644 index 0000000..b073637 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp23.json @@ -0,0 +1,53 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 is decelerating and heading in the opposite direction, which suggests it will yield to the ego agent. However, the AI incorrectly states that there will be no interaction, whereas the ground truth emphasizes that there is an interaction where surrounding agent #0 yields to the ego agent. The AI's conclusion about no interaction is partially correct but lacks precision in describing the nature of the interaction.", + "Word Count": "789" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that surrounding agent #2 will yield to the ego agent, as it is not moving and is already in the intersection, while the ego agent is exiting the intersection. The AI also accurately describes the positions and actions of both agents, emphasizing that there will be no conflict, which matches the ground truth.", + "Word Count": "789" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3 because surrounding agent #3 is stationary and positioned behind the ego agent. This aligns perfectly with the ground truth answer, which also indicates no interaction due to the same reasons.", + "Word Count": "789" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #4 will yield to the ego agent, which aligns with the ground truth. However, the AI incorrectly concludes that there will be no interaction, whereas the ground truth implies that yielding itself is a form of interaction. The AI's reasoning about the absence of conflict is partially correct but fails to fully capture the interaction as described in the ground truth.", + "Word Count": "789" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #5, whereas the ground truth indicates that surrounding agent #5 will yield to the ego agent. While the AI correctly identifies that surrounding agent #5 is stationary and positioned to the left, it fails to infer the yielding behavior, which is a key aspect of the interaction.", + "Word Count": "789" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #6 is not moving and is on the same side of the intersection, but it incorrectly concludes that there will be no interaction. The ground truth specifies that surrounding agent #6 will yield to the ego agent, implying an interaction. The AI missed this critical detail, leading to a lower score.", + "Word Count": "789" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth. It correctly identifies the ego agent's intention to complete its left turn and exit the intersection, and it also notes that the ego agent is accelerating while doing so. The explanation aligns perfectly with the context provided, making the answer fully correct.", + "Word Count": "789" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp27.json b/grades/direct/deepseek_grades_direct_4shot_exp27.json new file mode 100644 index 0000000..7ccf095 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp27.json @@ -0,0 +1,60 @@ +{ + "11287ada0d41773a": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #1 is stationary and does not pose an immediate obstruction to the ego agent. However, the AI fails to acknowledge the expectation that surrounding agent #1 will yield to the ego agent, which is a key aspect of the ground truth. This omission reduces the correctness of the answer. While the AI correctly notes that there is no conflict, it misses the nuanced interaction where yielding behavior is anticipated.", + "Word Count": "720" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #2 is not moving and that the ego agent is approaching the intersection. However, it incorrectly concludes that there will be no interaction between the two agents. The ground truth states that surrounding agent #2 will yield to the ego agent, implying an interaction where the stationary agent acknowledges the approaching ego agent. The AI's answer misses this critical aspect of the interaction, leading to a partially correct but incomplete response.", + "Word Count": "720" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI incorrectly concluded that the ego agent would need to yield to surrounding agent #3, whereas the ground truth specifies that surrounding agent #3 will yield to the ego agent. The AI misinterprets the dynamics of the interaction, likely due to misunderstanding the relative positions and motion statuses of the agents.", + "Word Count": "720" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #4 will yield to the ego agent, as stated in the ground truth. The AI correctly identifies that surrounding agent #4 is stationary and that the ego agent has the right of way, but it incorrectly concludes that there will be 'no interaction.' The ground truth explicitly states an interaction where surrounding agent #4 yields, which the AI fails to acknowledge.", + "Word Count": "720" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #5. However, the ground truth indicates that surrounding agent #5 will yield to the ego agent, implying some form of interaction. The AI's reasoning about the distance and stationary nature of surrounding agent #5 is correct, but it fails to acknowledge the potential for yielding behavior, which is the key aspect of the ground truth.", + "Word Count": "720" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it fails to acknowledge the scenario's dynamics correctly. The ground truth clearly states that the ego agent is accelerating towards the intersection, while surrounding agent #6 is stationary. The AI incorrectly assumes both agents are not in motion, which contradicts the context. Additionally, the AI misinterprets the interaction, stating there will be no immediate interaction, whereas the ground truth indicates that surrounding agent #6 will yield to the ego agent. The AI also incorrectly emphasizes the absence of a stop sign, which is irrelevant to the ground truth's focus on yielding behavior.", + "Word Count": "720" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #7 is stationary and that the ego agent is accelerating towards the intersection. However, the AI incorrectly concludes that there will be no interaction, while the ground truth clearly states that surrounding agent #7 will yield to the ego agent. The AI's failure to recognize the yielding behavior significantly reduces the correctness of the answer.", + "Word Count": "720" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is largely correct in stating that the ego agent will aim to continue accelerating towards the intersection, as there are no stop signs and surrounding agents are stationary. However, the AI unnecessarily introduces the consideration of pedestrian safety due to the crosswalk, which is not mentioned in the ground truth and is not directly relevant to the ego agent's immediate action of proceeding through the intersection.", + "Word Count": "720" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp3.json b/grades/direct/deepseek_grades_direct_4shot_exp3.json new file mode 100644 index 0000000..9dd4076 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp3.json @@ -0,0 +1,25 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer is partially correct in stating that surrounding agent #0 is moving at a constant speed and is positioned in front of the ego agent. However, it incorrectly concludes that there will be no interaction. The ground truth indicates that surrounding agent #0 will continue to lead the ego agent, which implies an interaction in terms of relative positioning and motion. The AI's conclusion about no interaction due to non-conflicting paths is inaccurate, as the scenario involves a relative motion dynamic that the AI failed to address.", + "Word Count": "228" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #2 is moving faster and is positioned ahead of the ego agent. However, it incorrectly frames the interaction as one of yielding and caution, which is not supported by the ground truth. The ground truth clearly states that surrounding agent #2 will maintain its position ahead of the ego agent due to its constant speed and the ego agent's deceleration. The AI's emphasis on yielding and potential conflict areas introduces unnecessary assumptions not present in the context or ground truth.", + "Word Count": "228" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but deviates from the ground truth in key areas. While it accurately states that the ego agent will continue decelerating, it incorrectly suggests that the ego agent is decelerating to create distance from surrounding agents #0 and #2. The ground truth clarifies that the ego agent intends to maintain its lane and follow behind surrounding agent #0 without any indication of yielding or avoiding conflict. The AI also misinterprets the ego agent's intent by implying preparation for yielding or slowing down further, which is not supported by the ground truth.", + "Word Count": "228" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp31.json b/grades/direct/deepseek_grades_direct_4shot_exp31.json new file mode 100644 index 0000000..8786c71 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp31.json @@ -0,0 +1,74 @@ +{ + "12f96ecfb33ebfd6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the interaction will involve surrounding agent #0 yielding to the ego agent, which aligns with the ground truth. However, the AI\u2019s explanation is overly verbose and includes unnecessary details about minimal interaction and benign coexistence, which dilute the core point. The ground truth is more concise and directly states the nature of the interaction without extraneous information.", + "Word Count": "1078" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer accurately states that there will be no interaction between the ego agent and surrounding agent #1. It correctly identifies that both vehicles are departing from the intersection in different directions, meaning their trajectories do not conflict. This matches the ground truth answer perfectly, making the answer fully correct.", + "Word Count": "1078" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that surrounding agent #2 will yield to the ego agent, citing the deceleration and heading of surrounding agent #2 towards the intersection, while the ego agent is turning left and exiting. The additional detail about the low speed of surrounding agent #2 further supports the claim that it poses no conflict, which is consistent with the context provided.", + "Word Count": "1078" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct in predicting that surrounding agent #3 will yield to the ego agent. However, it incorrectly states that surrounding agent #3 is moving in the opposite direction, which contradicts the ground truth. Despite this, the AI correctly identifies the yielding behavior and the reasoning behind it, which aligns with the ground truth.", + "Word Count": "1078" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #4 will yield to the ego agent. It accurately notes that surrounding agent #4 is decelerating and heading towards the intersection, while the ego agent is turning left and exiting. The AI's explanation aligns perfectly with the ground truth, indicating a clear understanding of the scenario.", + "Word Count": "1078" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #6 will yield to the ego agent. It accurately notes that agent #6 is decelerating, heading towards the intersection from the right, and is likely preparing to stop or slow down due to the speed bump. This aligns perfectly with the ground truth answer, which also states that agent #6 will yield to the ego agent as it is decelerating and heading towards the intersection while the ego agent is exiting.", + "Word Count": "1078" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately identifies that surrounding agent #7 is stationary and on the same side of the intersection as the ego agent. The AI also correctly concludes that there will be no interaction between the two agents because the ego agent is turning left and exiting the intersection, while surrounding agent #7 is not moving. The explanation aligns perfectly with the ground truth answer.", + "Word Count": "1078" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #8 because surrounding agent #8 is not moving and is on the same side of the intersection. This matches the ground truth exactly, and the explanation provided by the AI is consistent with the context and the ground truth.", + "Word Count": "1078" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9. It accurately states that surrounding agent #9 is not moving and is positioned on the same side of the intersection, which aligns with the ground truth answer. The explanation provided by the AI is clear and consistent with the given context.", + "Word Count": "1078" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies the ego agent's immediate action of continuing to turn left and exiting the intersection while accelerating. However, it fails to mention critical details from the ground truth, such as navigating over the speed bump, the lack of interaction with specific surrounding agents, and the expectation that certain agents will yield to the ego agent. These omissions reduce the correctness score.", + "Word Count": "1078" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp35.json b/grades/direct/deepseek_grades_direct_4shot_exp35.json new file mode 100644 index 0000000..9342d1c --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp35.json @@ -0,0 +1,53 @@ +{ + "1089b226cd801a4c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer correctly identifies that both the ego agent and surrounding agent #0 are facing a red traffic light and are required to stop. However, the AI fails to consider the future interaction when the light turns green, which is a critical part of the ground truth answer. The ground truth mentions that the ego agent is slightly ahead and would have the right of way when the light turns green, leading surrounding agent #0 to yield. The AI's conclusion that there will be no interaction overlooks this important dynamic, resulting in a lower score.", + "Word Count": "1001" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct in stating that both the ego agent and surrounding agent #2 are stationary due to the red traffic light, which means no immediate interaction occurs. However, it fails to address the critical aspect of the ground truth, which is the future interaction when the light turns green. The ground truth specifies that the ego agent will have the right of way as it is slightly ahead, and surrounding agent #2 will yield. The AI's answer does not consider this scenario, leading to a lower correctness score.", + "Word Count": "1001" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks the specificity of the ground truth. The AI correctly identifies that there will be minimal interaction due to both agents being stationary and facing a red light. However, the ground truth explicitly states that there will be 'no interaction,' which is a stronger and more precise conclusion. The AI's answer is slightly verbose and could have been more concise in aligning with the ground truth.", + "Word Count": "1001" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that surrounding agent #4 and the ego agent will have no interaction because both are stationary due to the red traffic light. The explanation about their paths not conflicting and neither influencing the other's movement is also accurate and consistent with the provided context.", + "Word Count": "1001" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. However, the explanation could be improved by explicitly mentioning that they are heading in opposite directions, as this is a key point in the ground truth. The AI focuses on the stationary nature and the red traffic light, which are relevant but not complete.", + "Word Count": "1001" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #6 because both are stationary and facing a red traffic light. The explanation aligns with the ground truth answer, emphasizing the lack of movement and conflicting paths due to the traffic light status.", + "Word Count": "1001" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent needs to stop at the red traffic light and mentions the presence of the crosswalk and speed bump. However, it does not address the ego agent's actions after the light turns green, such as proceeding through the intersection and yielding to other agents, which are crucial parts of the ground truth answer.", + "Word Count": "1001" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp39.json b/grades/direct/deepseek_grades_direct_4shot_exp39.json new file mode 100644 index 0000000..3fb2dd6 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp39.json @@ -0,0 +1,81 @@ +{ + "10c804aca6997102": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that there will be no conflict between the ego agent and surrounding agent #0, which aligns with the ground truth. However, the AI's assertion that surrounding agent #0 will yield to the ego agent is incorrect and unnecessary, as there is no indication of yielding behavior based on the provided context. The AI could have been more concise and direct in stating the lack of interaction without introducing the concept of yielding.", + "Word Count": "1128" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2 because the latter is stationary and not in the path of the ego agent. The explanation about the ego agent's deceleration and the positions of both agents relative to the intersection further supports the correctness of the answer.", + "Word Count": "1128" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that no interaction is expected between the ego agent and surrounding agent #3 because the latter is stationary and not in close proximity (10 meters away). The reasoning is clear, and the explanation about the ego agent's deceleration and non-conflicting paths is consistent with the context provided.", + "Word Count": "1128" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #4 is stationary and not in the direct path of the ego agent, which aligns with the ground truth. However, the AI's conclusion that the interaction is 'one of yielding' is misleading, as yielding implies some form of interaction or decision-making, which is not the case here since agent #4 is stationary and not obstructing the ego agent. The answer should have simply stated that there will be no interaction, as per the ground truth.", + "Word Count": "1128" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #5 because the surrounding agent is not moving and is positioned 18 meters to the right of the ego agent, which is not in the ego agent's path towards the intersection. This aligns perfectly with the ground truth answer.", + "Word Count": "1128" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #6 will not interact with the ego agent because it is not moving and is not in the direct path of the ego agent. The explanation provided by the AI is thorough and justifies the lack of interaction by referencing the stationary status of both agents and the ego agent's deceleration. This fully captures the essence of the ground truth answer.", + "Word Count": "1128" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because surrounding agent #7 is stationary and not in the ego agent's immediate path. This aligns perfectly with the ground truth answer, which also asserts that there will be no interaction due to the same reasons. The AI's explanation is clear, concise, and fully supported by the context provided.", + "Word Count": "1128" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #8 will not interact with the ego agent because it is not moving and is positioned in front of the ego agent on the same side of the intersection. The explanation further clarifies that the ego agent's deceleration and the stationary status of surrounding agent #8 ensure no path conflict, which is consistent with the provided context.", + "Word Count": "1128" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9 because agent #9 is stationary and not in the ego agent's direct path. The reasoning provided by the AI is clear and consistent with the context provided.", + "Word Count": "1128" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #10 because surrounding agent #10 is stationary and not in the path of the ego agent. The explanation is clear and directly addresses the scenario provided.", + "Word Count": "1128" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to continue towards the intersection, which aligns with the ground truth. However, the AI suggests the ego agent is decelerating and may need to assess the situation, which contradicts the ground truth that states the ego agent intends to increase its speed. The AI also fails to explicitly mention that there are no interactions with surrounding agents that would alter the ego agent's course, a key point in the ground truth.", + "Word Count": "1128" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp43.json b/grades/direct/deepseek_grades_direct_4shot_exp43.json new file mode 100644 index 0000000..1295ee6 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp43.json @@ -0,0 +1,123 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth. The AI correctly notes that the ego agent is approaching and may overtake surrounding agent #0 due to its higher speed. However, it fails to emphasize that surrounding agent #0 is leading the ego agent, as per the ground truth, which is a critical aspect of the interaction. Additionally, the AI introduces unnecessary speculation about overtaking and trajectory decisions, which are not part of the ground truth and deviate from the core interaction described.", + "Word Count": "1571" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction or collision between the ego agent and surrounding agent #1, as they are on different lanes and their paths do not cross. However, the explanation includes an unnecessary detail about surrounding agent #1 'yielding' to the ego agent, which is not relevant since there is no indication of their paths converging. This detail slightly detracts from the clarity and precision of the answer.", + "Word Count": "1571" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize that surrounding agent #3, despite being stationary, is still relevant to the ego agent's trajectory. Since it is behind the ego agent on the same lane and both are heading towards the intersection, there is a potential interaction, especially if agent #3 starts moving. The AI incorrectly dismisses the interaction based solely on the current stationary state of agent #3, ignoring the dynamic nature of the scenario.", + "Word Count": "1571" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it assumes a potential conflict and suggests that surrounding agent #4 will yield to the ego agent. However, the ground truth clearly states that there is no interaction between the ego agent and surrounding agent #4, as they are on different lanes with no indication of their paths crossing. The AI's reasoning about a potential conflict is unfounded and contradicts the provided context.", + "Word Count": "1571" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests a potential interaction between the ego agent and surrounding agent #5, despite the ground truth stating that there will be no interaction since they are on different lanes and their paths do not cross. The AI's reasoning about yielding and potential interaction is speculative and not supported by the provided context.", + "Word Count": "1571" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it misinterprets the motion status of surrounding agent #6. The ground truth states that agent #6 is heading towards the intersection, implying it is in motion and will follow the ego agent. The AI incorrectly assumes agent #6 is stationary, leading to a wrong conclusion about the interaction.", + "Word Count": "1571" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct because it accurately states that there is no interaction between the ego agent and surrounding agent #7. The reasoning provided by the AI aligns with the ground truth, noting that agent #7 is not moving and is located behind the ego agent. Additionally, the AI correctly identifies that the ego agent is accelerating and moving forward, which means their paths do not conflict. The AI's justification is consistent with the context provided, making the answer fully correct.", + "Word Count": "1571" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct. It accurately states that surrounding agent #8 will have no interaction with the ego agent. The explanation provided by the AI aligns with the ground truth, highlighting that both agents are moving in opposite directions (ego agent is moving forward while surrounding agent #8 is departing from the intersection), their paths do not conflict, and there is no need for the ego agent to take any action to avoid surrounding agent #8. The answer is precise and justified.", + "Word Count": "1571" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests an interaction between the ego agent and surrounding agent #9, while the ground truth clearly states there will be no interaction. The AI's reasoning about overtaking is flawed because the vehicles are on different lanes and their paths do not intersect, making overtaking irrelevant.", + "Word Count": "1571" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately states that surrounding agent #10 is stationary and positioned 16 meters behind the ego agent, which means there will be no interaction between them. This aligns perfectly with the ground truth answer, which also emphasizes the lack of interaction due to the stationary nature of surrounding agent #10 and the ego agent's forward movement. The explanation provided by the AI is clear and consistent with the context.", + "Word Count": "1571" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identified that the paths of the ego agent and surrounding agent #11 are not expected to conflict, which aligns with the ground truth answer. However, the AI incorrectly stated that surrounding agent #11 would yield to the ego agent, which is not explicitly supported by the context and does not align with the ground truth. The AI's reasoning about the paths not conflicting is correct, but the additional assumption about yielding lowers the score.", + "Word Count": "1571" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is mostly incorrect. While it correctly identifies that surrounding agent #12 is not moving and is behind the ego agent, it fails to recognize the potential interaction. The ground truth states that surrounding agent #12 will follow the ego agent, which implies a future interaction as both are heading towards the intersection. The AI dismisses any interaction, which conflicts with the ground truth.", + "Word Count": "1571" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it suggests that surrounding agent #13 will yield to the ego agent, but the ground truth clearly states that there will be no interaction between them as they are heading in opposite directions and their paths do not cross. The AI misinterpreted the scenario by assuming a conflict where none exists.", + "Word Count": "1571" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly suggests that surrounding agent #14 will yield to the ego agent, which is not supported by the context. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #14 because they are heading in opposite directions and their paths do not cross. The AI's interpretation of the situation is flawed, as it assumes a potential interaction that does not exist.", + "Word Count": "1571" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer fails to accurately reflect the ground truth. While it correctly identifies the positions and speeds of the ego agent and surrounding agent #15, it incorrectly concludes that no significant interaction is expected. The ground truth specifies that surrounding agent #15 will lead the ego agent, implying a leader-follower relationship, which the AI overlooked. The AI's focus on the ego agent's acceleration and the distance between the two vehicles misses the key interaction dynamics described in the ground truth.", + "Word Count": "1571" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly states that there will be no interaction between the ego agent and surrounding agent #16. Both the direction of travel (surrounding agent #16 is departing from the intersection while the ego agent's direction is not explicitly stated but implied to be different) and the distance (22 meters behind) support the conclusion that their paths do not conflict. This aligns perfectly with the ground truth answer.", + "Word Count": "1571" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue accelerating in its current lane and maintain its direction of travel. However, it fails to mention the specific interactions with surrounding agents #0, #6, and #15, as outlined in the ground truth. These details are crucial for a comprehensive understanding of the ego agent's intended course of action.", + "Word Count": "1571" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp47.json b/grades/direct/deepseek_grades_direct_4shot_exp47.json new file mode 100644 index 0000000..9d6439e --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp47.json @@ -0,0 +1,102 @@ +{ + "10082a6f50ec9695": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #0 will have no interaction with the ego agent because the surrounding agent is departing from the intersection while the ego agent is approaching it. The AI also correctly notes that their paths do not conflict, as they are heading in opposite directions. This explanation is clear, concise, and fully supported by the context provided.", + "Word Count": "1566" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2 because surrounding agent #2 is not moving and they are not on a collision course. The AI also provides additional context about their positions and the ego agent's deceleration, which further supports the conclusion that no interaction will occur.", + "Word Count": "1566" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that surrounding agent #3 is not moving and will not interact with the ego agent. However, it incorrectly states that surrounding agent #3 is in front of the ego agent, when in fact, it is level with the ego agent. This minor inaccuracy reduces the score.", + "Word Count": "1566" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4. It accurately states that surrounding agent #4 is not moving and their paths do not conflict, aligning perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is not moving and is positioned in a way that does not imply a collision course. This aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6 because the surrounding agent is not moving and they are not on a collision course. However, the AI could have been slightly more concise by directly stating the lack of interaction without elaborating too much on the positions and speeds, as it somewhat duplicates the information already provided in the context.", + "Word Count": "1566" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7. It accurately states that surrounding agent #7 is not moving and is positioned behind the ego agent, and their paths do not conflict. This aligns perfectly with the ground truth answer, which also asserts that there will be no interaction due to the same reasons.", + "Word Count": "1566" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #8 because surrounding agent #8 is not moving and is positioned in front of the ego agent on the same side of the intersection. The AI also correctly mentions that the ego agent is decelerating and still 42.0 meters from the intersection center, which further supports the conclusion that no conflict or interaction will occur.", + "Word Count": "1566" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, as surrounding agent #9 is not moving. It also correctly notes that the ego agent is decelerating and is 42 meters away from the intersection center. However, the AI answer could have been more concise and directly aligned with the ground truth by explicitly stating that they are not on a collision course, which is a key point in the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #10 because surrounding agent #10 is not moving and is positioned 19 meters behind the ego agent. This aligns perfectly with the ground truth answer, which also emphasizes the lack of interaction due to the same reasons. The AI's explanation is clear and concise, providing a correct assessment of the scenario.", + "Word Count": "1566" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #11. It accurately notes that surrounding agent #11 is not moving and is positioned in front of the ego agent, which aligns with the ground truth explanation. The AI also correctly states that both agents are on the same side of the intersection, reinforcing the conclusion that no interaction will occur. Therefore, the AI's answer is fully correct and matches the ground truth.", + "Word Count": "1566" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #12. It accurately identifies that surrounding agent #12 is not moving and is located behind the ego agent, which means they are not on a collision course. This aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #13, as the latter is not moving and is positioned 22 meters in front of the ego agent. The AI also correctly notes that the ego agent is decelerating and will pass by surrounding agent #13 without conflict, which is consistent with the provided context.", + "Word Count": "1566" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer captures the general intention of the ego agent to continue towards the intersection, which aligns with the ground truth. However, it introduces unnecessary speculation about the ego agent potentially slowing down or yielding to surrounding agents, which is not supported by the context. The ground truth clearly states that no interactions with surrounding agents are expected, and there is no indication that the ego agent needs to yield or stop. The AI's answer is partially correct but includes extraneous details that detract from the clarity and accuracy of the response.", + "Word Count": "1566" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp51.json b/grades/direct/deepseek_grades_direct_4shot_exp51.json new file mode 100644 index 0000000..0808405 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp51.json @@ -0,0 +1,74 @@ +{ + "1024bf7754aa2b98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #0 will have no interaction with the ego agent because it is departing from the intersection and their paths do not conflict. The AI also provides additional context, such as the distance between the agents and the green traffic light, which supports the conclusion that they will pass without impacting each other's movement. This explanation is thorough and accurate.", + "Word Count": "1792" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but introduces unnecessary details about yielding and navigating the crosswalk, which are not mentioned in the ground truth. The ground truth simply states that both agents will likely follow each other through the intersection with green lights, implying no need for yielding or significant adjustments. The AI's focus on the crosswalk and yielding behavior detracts from the simplicity and correctness of the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly suggests that surrounding agent #2 will yield to the ego agent, which is not supported by the ground truth. The ground truth indicates that both the ego agent and surrounding agent #2 will proceed towards the intersection since they are on the same lane and both have a green traffic light, implying that both will continue moving without necessitating yielding. The AI's misinterpretation of the interaction detracts from the correctness of the answer.", + "Word Count": "1792" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes a potential conflict between the ego agent and surrounding agent #4, despite the ground truth stating there is no interaction as their paths do not conflict. The AI misinterprets the situation by suggesting the need for evasive maneuvers, which is not supported by the context. The AI's analysis is overly cautious and speculative, failing to accurately reflect the scenario described.", + "Word Count": "1792" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that surrounding agent #5 will have no interaction with the ego agent because it is already in the intersection and their paths do not conflict. The AI also accurately notes that the ego agent is accelerating towards the intersection with a green light, while surrounding agent #5 is proceeding straight, further confirming the lack of conflict. The reasoning is precise and matches the provided context.", + "Word Count": "1792" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly suggests a yielding situation between the ego agent and surrounding agent #6. The ground truth clearly states that both agents will follow each other towards the intersection with green traffic lights, indicating no need for yielding. The AI's focus on yielding, especially due to the crosswalk, is misplaced as both agents are free to proceed under the green light.", + "Word Count": "1792" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #7, while the ground truth indicates that surrounding agent #7 will yield to the ego agent. The AI's assessment of conflicting paths being non-existent is also incorrect, as the context implies a potential interaction due to their positions relative to the intersection.", + "Word Count": "1792" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #8 is stationary and positioned 27 meters in front of the ego agent on the right side of the intersection. However, it fails to recognize that surrounding agent #8 is approaching a crosswalk, which could still potentially influence the ego agent's movement, especially if the ego agent is also approaching the same crosswalk. The AI's conclusion that there is 'no interaction' is partially correct but overlooks the potential for indirect interaction at the crosswalk.", + "Word Count": "1792" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #9 is stationary and does not pose an immediate conflict with the ego agent. However, it fails to address the key point from the ground truth answer, which is that surrounding agent #9 will yield to the ego agent due to its position on the right of the intersection while the ego agent is departing. The AI's focus on the distance and lack of immediate conflict is accurate, but it misses the specific interaction dynamic described in the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue proceeding through the intersection due to the green traffic light and its current acceleration. However, it misses the specific detail that the ego agent intends to 'depart from the intersection' as stated in the ground truth. Additionally, while the AI mentions the crosswalk, it does not explicitly state that the ego agent has the right of way and does not need to yield to surrounding agents, which is a key part of the ground truth answer.", + "Word Count": "1792" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp55.json b/grades/direct/deepseek_grades_direct_4shot_exp55.json new file mode 100644 index 0000000..6d72974 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp55.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly states that surrounding agent #0 will yield to the ego agent, which contradicts the ground truth that surrounding agent #0 will continue to lead the ego agent. The AI also misinterprets the relationship between their speeds and positions, as the ego agent is slightly faster but still behind, making it less likely for surrounding agent #0 to yield. The explanation about adjusting speed and trajectory is speculative and not supported by the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is generally correct but lacks the clarity and directness of the ground truth. It correctly identifies that both the ego agent and surrounding agent #1 are heading towards the intersection and will likely maintain a close distance. However, the AI's response includes unnecessary details and hypothetical scenarios (e.g., unexpected changes in speed or direction) that detract from the straightforward truth that surrounding agent #1 will follow the ego agent. The ground truth is more concise and directly answers the question without deviations.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but significantly deviates from the ground truth. While it correctly identifies that the ego agent is traveling faster than surrounding agent #3, it inaccurately assumes that surrounding agent #3 will yield to the ego agent. The ground truth states that the ego agent will overtake surrounding agent #3 as they both head towards and depart from the intersection, which implies a passing or overtaking interaction rather than a yielding one. The AI's focus on yielding and right-of-way is incorrect and misleading in this context.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #4 due to their opposite directions of travel. However, the ground truth emphasizes that they are both departing from the intersection, which the AI does not explicitly mention but indirectly implies. The AI's explanation is mostly accurate but slightly less precise than the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but incorrectly concludes that surrounding agent #5 will yield to the ego agent. The ground truth states that surrounding agent #5 will follow the ego agent as they both head towards and depart from the intersection, indicating a cooperative rather than yielding interaction. The AI's focus on yielding misrepresents the expected interaction dynamics.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth. It correctly identifies that surrounding agent #6 and the ego agent are heading in opposite directions and are departing from the intersection, meaning there will be no interaction between them. The explanation is clear and aligns perfectly with the provided context.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because they are heading in opposite directions and departing from the intersection. The explanation about their paths not conflicting and moving away from each other is also accurate and consistent with the provided context.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #8 because they are heading in opposite directions, and surrounding agent #8 is not moving. The explanation about their paths not conflicting due to the agent's position and motion status is also accurate.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identified that there will be no conflict between the ego agent and surrounding agent #9 due to their opposite directions and the fact that surrounding agent #9 is departing from the intersection. However, the AI incorrectly stated that surrounding agent #9 will yield to the ego agent, which is not supported by the context. The correct interpretation is that no interaction will occur, as mentioned in the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #10, as surrounding agent #10 is not moving and is positioned behind the ego agent. Furthermore, the AI correctly notes that surrounding agent #10 is departing from the intersection, which confirms that their paths do not conflict. This aligns perfectly with the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect as it suggests an interaction between the ego agent and surrounding agent #11, whereas the ground truth explicitly states there will be no interaction. The AI incorrectly assumes that the paths may intersect and that surrounding agent #11 might need to yield, which contradicts the ground truth indicating they are heading in opposite directions and departing from the intersection.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent intends to continue accelerating and proceed through the intersection, which aligns with the ground truth. However, it fails to mention the specific interactions with surrounding agents, such as overtaking surrounding agent #3 and being followed by surrounding agents #1 and #5. Additionally, it does not address the fact that the ego agent does not need to interact with other surrounding agents due to their positions or directions. This lack of detail reduces the correctness of the answer.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp59.json b/grades/direct/deepseek_grades_direct_4shot_exp59.json new file mode 100644 index 0000000..62ed73f --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp59.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly states that there will be no significant interaction between the ego agent and surrounding agent #0. The ground truth indicates that surrounding agent #0 will lead the ego agent due to its higher speed and acceleration, implying a significant interaction in terms of their relative motion. The AI failed to recognize the dynamic relationship between the two agents as they both accelerate away from the intersection.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #1 will not significantly interact with the ego agent as they both depart from the intersection. It accurately notes that surrounding agent #1 is further ahead (24 meters) and moving at a constant speed in the same direction, which ensures their paths do not conflict. The only minor discrepancy is that the AI does not explicitly state that surrounding agent #1 will continue to lead the ego agent, which is mentioned in the ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer is partially correct but misses the key point in the ground truth. While it acknowledges that surrounding agent #2 is in the intersection and moving, it incorrectly focuses on the ego agent's red light as the determining factor, which is not the main focus of the ground truth. The ground truth emphasizes that surrounding agent #2 will cross paths with the ego agent, which the AI fails to explicitly state. Additionally, the AI does not clearly explain the potential interaction trajectory, which is central to the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests that surrounding agent #3 will interact with the ego agent by yielding or slowing down. However, the ground truth clearly states that there will be no interaction because the agents are heading in opposite directions and the ego agent is departing from the intersection. The AI's reasoning, which includes unnecessary assumptions about yielding and stopping, deviates significantly from the true scenario described in the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #5 due to its stationary state. However, the AI's explanation is slightly less precise than the ground truth, as it does not explicitly mention that surrounding agent #5 is on the right side of the ego agent, which is a key detail in the ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identified that there will be no interaction between the ego agent and surrounding agent #6 due to the latter's stationary state. However, the AI's explanation includes an unnecessary detail about the ego agent moving into a space that surrounding agent #6 occupies, which is not relevant to the lack of interaction. The ground truth answer is more concise and directly addresses the absence of interaction based on the agents' positions and motion statuses.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that surrounding agent #7 is stationary and located to the right of the ego agent, which means there will be no interaction between the two. The explanation also correctly considers the ego agent's acceleration and the red traffic light, reinforcing the conclusion that no interaction is anticipated.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #8 because surrounding agent #8 is stationary and positioned 13 meters behind the ego agent. This aligns perfectly with the ground truth answer, which also emphasizes that surrounding agent #8 is not moving and is on the right side of the ego agent, eliminating the possibility of interaction.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9, citing the fact that surrounding agent #9 is stationary and positioned on the right side of the ego agent. Additionally, the explanation regarding the ego agent's acceleration and departure from the intersection further supports the conclusion that no interaction will occur. The reasoning is clear, concise, and fully consistent with the provided context.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It correctly states that there will be no interaction between the ego agent and surrounding agent #10 because the latter is stationary and on the same side of the intersection as the ego agent. The explanation also accurately describes the motion status of both agents and why their paths do not conflict, which matches the context provided.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly focuses on the ego agent stopping at the red traffic light, which contradicts the ground truth. The ground truth clearly states that the ego agent is departing from the intersection and intends to continue doing so, without stopping. The AI also fails to accurately address the intended interactions (or lack thereof) with surrounding agents, such as following surrounding agent #1 and being led by surrounding agent #0, as described in the ground truth.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_4shot_exp7.json b/grades/direct/deepseek_grades_direct_4shot_exp7.json new file mode 100644 index 0000000..9aed911 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_4shot_exp7.json @@ -0,0 +1,39 @@ +{ + "12b4792555da7196": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but lacks the specific detail from the ground truth that surrounding agent #0 is still approaching the intersection while the ego agent is exiting. The AI correctly states that surrounding agent #0 will yield to the ego agent, which aligns with the ground truth. However, it does not explicitly mention that surrounding agent #0 is approaching, which is a key detail in the ground truth explanation. The answer is still accurate in terms of expected behavior but misses a nuanced part of the reasoning.", + "Word Count": "590" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2 because surrounding agent #2 is stationary and not on a collision course. The explanation provided by the AI is clear, logical, and supported by the given context.", + "Word Count": "590" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3, as surrounding agent #3 is not moving and is positioned in a way that does not interfere with the ego agent's exit from the intersection. This aligns perfectly with the ground truth answer, which also emphasizes that there will be no interaction due to the stationary nature of surrounding agent #3 and their positions on different sides of the intersection.", + "Word Count": "590" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct and aligns perfectly with the ground truth. Both emphasize that there will be no interaction between the ego agent and surrounding agent #4 because surrounding agent #4 is not moving and they are not on a collision course. Additionally, the AI correctly notes that the ego agent is exiting the intersection, further supporting the absence of a conflict.", + "Word Count": "590" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent plans to continue exiting the intersection and acknowledges the absence of stop signs. However, it fails to mention the dynamic interaction with surrounding agent #0, which is decelerating and yielding, and also misses the fact that surrounding agents #2, #3, and #4 are stationary and not in its path. The answer, while partially correct, lacks completeness in addressing all relevant aspects of the scenario.", + "Word Count": "590" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp12.json b/grades/direct/deepseek_grades_direct_6shot_exp12.json new file mode 100644 index 0000000..97f8ea5 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp12.json @@ -0,0 +1,18 @@ +{ + "14d9a71cba4b4b26": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that the ego agent must yield to surrounding agent #0 because the ego agent is at a stop sign, while surrounding agent #0 is not required to stop and is approaching from the right. The explanation of the anticipated interaction, including the ego agent stopping and allowing surrounding agent #0 to pass before proceeding, is accurate and complete.", + "Word Count": "322" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will stop at the stop sign and assess the traffic situation. However, it does not explicitly mention that the ego agent will yield to surrounding agent #0, which is a critical part of the ground truth answer. The AI also does not clearly state that the ego agent will proceed through the intersection after yielding, which is another important aspect of the ground truth. The answer is partially correct but lacks some key details.", + "Word Count": "322" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp16.json b/grades/direct/deepseek_grades_direct_6shot_exp16.json new file mode 100644 index 0000000..0b585cd --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp16.json @@ -0,0 +1,39 @@ +{ + "1d423045f0bd8642": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct, as it accurately concludes that surrounding agent #0 will yield to the ego agent. However, the AI could have explicitly mentioned the right-of-way rules in more detail, specifically noting that the ego agent is already in the intersection and thus has priority. The explanation about the deceleration and distance of surrounding agent #0 is correct and supports the conclusion, but the answer could be slightly more precise in aligning with the ground truth.", + "Word Count": "640" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer acknowledges that surrounding agent #2 is behind the ego agent and that both are departing from the intersection, which aligns with the ground truth. However, it introduces unnecessary caution and speculation about potential interactions, failing to clearly state that there will be no interaction, as specified in the ground truth. This lack of clarity and precision reduces its correctness.", + "Word Count": "640" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly assumes that an interaction involving yielding will occur, which is not supported by the ground truth. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #3. While the AI correctly notes that surrounding agent #3 is behind the ego agent and not in a position to impede its movement, it introduces an unnecessary and incorrect assumption about yielding, which deviates from the ground truth.", + "Word Count": "640" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4. It accurately describes the positions and motions of both agents, noting that surrounding agent #4 is behind the ego agent, departing from the intersection, and poses no immediate threat or need for the ego agent to alter its course or speed. This aligns perfectly with the ground truth answer, making the AI's response entirely correct.", + "Word Count": "640" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct, as it accurately identifies the ego agent's intention to complete its right turn and exit the intersection. However, it slightly overstates the deceleration aspect by emphasizing that the ego agent will 'navigate the turn safely and exit the intersection now that there is no stop sign on its side,' which, while true, is not the primary focus of the ground truth answer. The AI also correctly notes the lack of interactions requiring the ego agent to yield or change its course.", + "Word Count": "640" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp20.json b/grades/direct/deepseek_grades_direct_6shot_exp20.json new file mode 100644 index 0000000..cf83d15 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp20.json @@ -0,0 +1,25 @@ +{ + "1236fae1e3214d13": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 will yield to the ego agent, which aligns with the ground truth. However, the AI's explanation includes unnecessary details about the distance to the stop sign and the paths not conflicting, which are not essential to the core understanding of the interaction. The ground truth focuses on the key point that surrounding agent #0 is approaching a stop sign and the ego agent is already in the intersection, which is accurately captured by the AI but slightly diluted by additional information.", + "Word Count": "384" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it correctly identifies that there will be no interaction between the ego agent and surrounding agent #2 due to the latter being stationary. However, the AI slightly overstates the situation by mentioning 'minimal' interaction, which could imply some form of interaction, even if negligible. The ground truth explicitly states there will be no interaction, which is more accurate.", + "Word Count": "384" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely aligned with the ground truth. It correctly identifies that the ego agent is planning to continue exiting the intersection, acknowledges that there are no stop signs affecting its movement, and properly assesses the behavior of surrounding agents #0 and #2, confirming that they will not interfere with the ego agent's path. The response is accurate and comprehensive.", + "Word Count": "384" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp24.json b/grades/direct/deepseek_grades_direct_6shot_exp24.json new file mode 100644 index 0000000..839cddf --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp24.json @@ -0,0 +1,53 @@ +{ + "10035ef410fb1318": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize the potential interaction between the ego agent and surrounding agent #0. While they are heading in opposite directions, the ground truth specifies that agent #0 will yield to the ego agent due to its decelerating motion and the ego agent's presence in the intersection. The AI incorrectly concludes there is no interaction, ignoring the yielding behavior described in the ground truth.", + "Word Count": "789" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately describes the scenario where surrounding agent #2 yields to the ego agent because it is stationary and already in the intersection, while the ego agent is exiting the intersection. The explanation provided by the AI is clear and logically sound, confirming that the ego agent has the right of way and can continue its maneuver without interference.", + "Word Count": "789" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #3 because the latter is not moving and is positioned behind the ego agent. The AI also correctly explains that since the ego agent is exiting the intersection and surrounding agent #3 is stationary, there is no immediate conflict, and the ego agent can continue its maneuver without any adjustments.", + "Word Count": "789" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key point that surrounding agent #4 is yielding to the ego agent. While it correctly notes that surrounding agent #4 is stationary and in the intersection, it incorrectly concludes that there will be no interaction. The ground truth explicitly states that surrounding agent #4 will yield to the ego agent, which the AI failed to acknowledge. This oversight reduces the correctness of the answer.", + "Word Count": "789" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is mostly correct in stating that the interaction will be minimal due to surrounding agent #5 being stationary. However, it fails to explicitly state that surrounding agent #5 will yield to the ego agent, which is a key aspect of the ground truth answer. The AI correctly identifies that surrounding agent #5 is immobile and does not pose a conflict, but it could have been more precise in describing the yielding behavior.", + "Word Count": "789" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the interaction between the ego agent and surrounding agent #6 is minimal or nonexistent, as surrounding agent #6 is not moving and is positioned behind and to the left of the ego agent. However, the AI does not explicitly mention that surrounding agent #6 will yield to the ego agent, which is a key part of the ground truth answer. The AI's conclusion that the ego agent can continue its maneuver without interference is accurate but lacks the specific detail about yielding.", + "Word Count": "789" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that the ego agent intends to complete its left turn and exit the intersection while accelerating. The AI also correctly identifies that surrounding agents are either decelerating, stationary, or positioned in a way that will not impede the ego agent's path, which matches the ground truth explanation.", + "Word Count": "789" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp28.json b/grades/direct/deepseek_grades_direct_6shot_exp28.json new file mode 100644 index 0000000..d3a7e7d --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp28.json @@ -0,0 +1,60 @@ +{ + "11287ada0d41773a": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #1. However, the ground truth indicates that surrounding agent #1 will yield to the ego agent, which implies an interaction. The AI's reasoning about the ego agent being able to continue moving without conflict is partially correct, but it fails to acknowledge the yielding behavior, which is a form of interaction.", + "Word Count": "720" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect because it fails to acknowledge the fundamental principle of yielding in traffic scenarios. While the AI correctly identifies that surrounding agent #2 is stationary and the ego agent is approaching, it incorrectly concludes that there will be no interaction. According to traffic rules, stationary vehicles at intersections typically yield to moving vehicles approaching the intersection. Therefore, surrounding agent #2 should yield to the ego agent, making the AI's conclusion inconsistent with the ground truth.", + "Word Count": "720" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI correctly identifies that surrounding agent #3 is not moving and is positioned 24 meters in front and 5 meters to the right of the ego agent, which is accurate. However, the AI incorrectly concludes that there will be no interaction, missing the key point that surrounding agent #3 will yield to the ego agent as it approaches the intersection. The answer partially addresses the scenario but fails to fully align with the ground truth.", + "Word Count": "720" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that there will be no interaction between the ego agent and surrounding agent #4. The ground truth specifies that surrounding agent #4 will yield to the ego agent, indicating an interaction. The AI's reasoning about their paths not conflicting is partially correct, but it misses the key point of yielding behavior, which is critical to the interaction.", + "Word Count": "720" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct in stating that surrounding agent #5 is not moving and is positioned ahead of the ego agent. However, it fails to acknowledge the potential interaction dynamics at the intersection, specifically that surrounding agent #5 may still yield to the ego agent despite its stationary state. The ground truth emphasizes this yielding behavior, which the AI missed. Therefore, the score reflects partial correctness but a significant oversight in understanding the interaction context.", + "Word Count": "720" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that there is no stop sign affecting the ego agent, which is accurate. However, it fails to fully align with the ground truth answer, which states that surrounding agent #6 will yield to the ego agent. The AI's reasoning that the ego agent can continue to accelerate without needing to stop or yield is partially correct, but it overlooks the implicit interaction where surrounding agent #6 remains stationary, effectively yielding to the ego agent. The AI's focus on the absence of a stop sign detracts from the broader dynamics of the interaction.", + "Word Count": "720" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #7 will yield to the ego agent. While it correctly states that the ego agent will continue towards the intersection and that surrounding agent #7 is stationary, it incorrectly concludes that there will be no interaction. The ground truth emphasizes that surrounding agent #7 will yield, implying an interaction involving yielding behavior, which the AI fails to acknowledge.", + "Word Count": "720" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is completely correct and aligns perfectly with the ground truth answer. It accurately describes the ego agent's intention to continue accelerating through the 5-way intersection, noting the absence of a stop sign and the stationary state of surrounding agents. The explanation also correctly highlights that the surrounding agents are not obstructing the ego agent's path, allowing it to proceed without altering its course or speed. This demonstrates a thorough understanding of the scenario and the ego agent's likely actions.", + "Word Count": "720" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp32.json b/grades/direct/deepseek_grades_direct_6shot_exp32.json new file mode 100644 index 0000000..0117d78 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp32.json @@ -0,0 +1,74 @@ +{ + "12f96ecfb33ebfd6": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct but slightly misrepresents the interaction. It correctly identifies that surrounding agent #0 will yield to the ego agent, which aligns with the ground truth. However, the AI emphasizes that the agents 'will not conflict' and focuses on the speed bump as a factor, which is not the primary reason for yielding. The ground truth highlights that surrounding agent #0 yields because the ego agent is already exiting the intersection, which is the key point. The AI's answer is accurate but could have been more focused on the main reason for yielding.", + "Word Count": "1078" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #1. However, the explanation is slightly misleading by suggesting they are moving in 'parallel paths,' which is not entirely accurate. The trajectories are different but not parallel, as the ego agent is turning left and exiting the intersection, while surrounding agent #1 is moving left of the ego agent and departing from the intersection. The correct emphasis should be on the fact that they are departing in different directions, as stated in the ground truth.", + "Word Count": "1078" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is accurate and aligns perfectly with the ground truth. It correctly identifies that surrounding agent #2 is decelerating and heading towards the intersection while the ego agent is exiting. The AI accurately concludes that surrounding agent #2 will yield to the ego agent, ensuring no conflict. The explanation is detailed and logical, making the answer correct.", + "Word Count": "1078" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth. While it correctly identifies that the ego agent is turning left and exiting the intersection, it fails to recognize that surrounding agent #3 is expected to yield to the ego agent. The AI's reasoning focuses on the ego agent's speed and acceleration, implying it will exit before surrounding agent #3 arrives, but it does not explicitly acknowledge the yielding behavior as described in the ground truth. This omission reduces the correctness score.", + "Word Count": "1078" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately identifies that surrounding agent #4 will yield to the ego agent due to its deceleration and the ego agent's exiting action. The explanation also correctly mentions the speeds and trajectories, reinforcing the reasoning behind the interaction.", + "Word Count": "1078" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #6 is decelerating and heading towards the intersection, indicating it may yield to the ego agent. The AI also notes that the ego agent is exiting the intersection, which aligns with the ground truth. However, the AI does not explicitly state that surrounding agent #6 will yield to the ego agent, which is the critical point in the ground truth. Instead, the AI suggests that there will be minimal interaction, which is somewhat correct but lacks the precision of the ground truth.", + "Word Count": "1078" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because surrounding agent #7 is stationary and on the same side of the intersection. Additionally, the explanation aligns perfectly with the ground truth, emphasizing that their paths do not conflict.", + "Word Count": "1078" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately identifies that there will be no interaction between the ego agent and surrounding agent #8, which is consistent with the ground truth answer. The explanation provided by the AI aligns with the context, as it correctly notes that surrounding agent #8 is stationary, on the same side of the intersection, and their paths do not conflict.", + "Word Count": "1078" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, as the latter is not moving and is on the same side of the intersection. However, the AI unnecessarily introduces the concept of 'right of way,' which is not mentioned in the ground truth and is irrelevant in this context, as no interaction is expected regardless of right of way.", + "Word Count": "1078" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies the ego agent's immediate action to complete its left turn and exit the intersection. However, it misses some key details from the ground truth, such as navigating over the speed bump, continuing to accelerate, and the specific interactions with surrounding agents #0, #2, #3, #4, and #6. Additionally, the AI incorrectly states that there are no conflicts with surrounding agents, which is partially addressed in the ground truth regarding yielding.", + "Word Count": "1078" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp36.json b/grades/direct/deepseek_grades_direct_6shot_exp36.json new file mode 100644 index 0000000..3c1057f --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp36.json @@ -0,0 +1,53 @@ +{ + "1089b226cd801a4c": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes that there will be no interaction between the ego agent and surrounding agent #0. While it correctly notes that both agents are under a red traffic light and that the ego agent is required to stop, it fails to account for the potential future interaction when the traffic light turns green. The ground truth answer correctly identifies that surrounding agent #0 will yield to the ego agent because the ego agent is slightly ahead, indicating it has the right of way when the light changes. The AI's answer overlooks this crucial aspect of the interaction.", + "Word Count": "1001" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that both agents will remain stationary due to the red light, without considering the future interaction when the light turns green. The ground truth correctly notes that the ego agent, being slightly ahead, will have the right of way when the light changes. The AI fails to address this critical aspect of the interaction.", + "Word Count": "1001" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3 because both are facing a red traffic light and are stationary. The explanation includes details about their positions and the traffic signal status, which align perfectly with the ground truth answer.", + "Word Count": "1001" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct and fully aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #4 because both are stationary due to the red traffic light, and their positions do not pose any risk of conflict.", + "Word Count": "1001" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it correctly identifies that there will be no interaction between the ego agent and surrounding agent #5. It mentions the stationary status of both agents and the lack of conflict in their paths. However, it does not explicitly mention that they are heading in opposite directions, which is a key detail in the ground truth answer.", + "Word Count": "1001" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. The explanation provided by the AI is also correct, highlighting that both agents are stationary, facing a red traffic light, and their paths do not conflict. The reasoning is clear and consistent with the context provided.", + "Word Count": "1001" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will stop at the red traffic light and wait for it to turn green. It also mentions the need to yield and ensure safety due to the crosswalk and speed bump. However, it does not explicitly state that the ego agent will proceed through the intersection after the light turns green or mention yielding to other agents with the right of way, which are key parts of the ground truth answer.", + "Word Count": "1001" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp4.json b/grades/direct/deepseek_grades_direct_6shot_exp4.json new file mode 100644 index 0000000..73f5611 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp4.json @@ -0,0 +1,25 @@ +{ + "1119ba6f1c1b2e01": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that the ego agent needs to decelerate to maintain a safe following distance. However, it misinterprets the dynamic between the ego agent and surrounding agent #0. The ground truth emphasizes that surrounding agent #0 will continue to lead as it is moving at a constant speed in front of the ego agent, which is decelerating. The AI does not clearly highlight this leading aspect and instead focuses more on the speed difference, which is not the primary focus of the ground truth.", + "Word Count": "228" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that the ego agent is decelerating and that surrounding agent #2 is moving at a constant speed, which aligns with the ground truth. However, the AI complicates the scenario by introducing unnecessary details about potential conflicts or adjustments, which are not indicated in the ground truth. The ground truth simply states that surrounding agent #2 will maintain its position ahead of the ego agent, which is a straightforward observation based on their speeds and trajectories. The AI's over-analysis detracts from the simplicity and accuracy of the ground truth.", + "Word Count": "228" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue decelerating, which aligns with the ground truth. However, it overcomplicates the scenario by suggesting the ego agent might stop or yield, which is not indicated in the ground truth. The ground truth explicitly states the ego agent will maintain its lane and follow behind surrounding agent #0, without mentioning stopping or yielding. The AI's focus on potential conflicts and speed adjustments is unnecessary based on the provided context.", + "Word Count": "228" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp40.json b/grades/direct/deepseek_grades_direct_6shot_exp40.json new file mode 100644 index 0000000..2519c1f --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp40.json @@ -0,0 +1,81 @@ +{ + "10c804aca6997102": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #0 is departing the intersection and that there is no collision risk with the ego agent. However, the AI unnecessarily mentions that the ego agent may need to decelerate slightly, which is not indicated in the ground truth or the context. This adds unnecessary detail and slightly deviates from the simplicity and precision of the ground truth.", + "Word Count": "1128" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #2, as the latter is stationary and they are not in each other's path. This aligns perfectly with the ground truth answer, which states the same conclusion. The reasoning provided by the AI is clear, accurate, and fully supports the assertion that no interaction will occur.", + "Word Count": "1128" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that no immediate interaction is expected between the ego agent and surrounding agent #3, which aligns with the ground truth. However, the AI's reasoning includes unnecessary speculation about the ego agent needing to stop or yield, which is not supported by the given context. The context clearly states that surrounding agent #3 is not moving and is not in close proximity to the ego agent, so the interaction is minimal, and the ego agent's deceleration is not directly influenced by surrounding agent #3. The AI's answer could have been more concise and accurate by focusing solely on the lack of interaction due to the stationary nature of surrounding agent #3 and its distance from the ego agent.", + "Word Count": "1128" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct and aligns perfectly with the ground truth. It accurately identifies that surrounding agent #4 is stationary and not in the path of the ego agent, thereby confirming that there will be no interaction between the two. The explanation provided by the AI is thorough and logically sound, reinforcing the correctness of the answer.", + "Word Count": "1128" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is fully aligned with the ground truth. Both state that there will be no interaction between the ego agent and surrounding agent #5. The AI correctly identifies that surrounding agent #5 is stationary, positioned to the right of the ego agent, and not in a conflicting path. The reasoning provided by the AI is thorough and accurately justifies why no interaction is expected.", + "Word Count": "1128" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #6 will not interact with the ego agent because it is stationary and not in the direct path of the ego agent. The explanation about the ego agent's ability to continue decelerating without altering its course is also consistent with the context provided.", + "Word Count": "1128" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer is entirely correct and fully aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because surrounding agent #7 is stationary and not in the ego agent's immediate path. The AI also provides additional relevant details, such as the ego agent's speed and deceleration, and the position of surrounding agent #7, which further support the conclusion.", + "Word Count": "1128" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that surrounding agent #8 will not interact with the ego agent because it is stationary and not in the ego agent's direct path. The explanation provided by the AI is clear, detailed, and consistent with the scenario described, including the ego agent's speed, deceleration, and the position of surrounding agent #8.", + "Word Count": "1128" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9 because surrounding agent #9 is not moving and is positioned on the right side of the intersection, well ahead of the ego agent. The AI also correctly notes that the ego agent is decelerating and not on a direct path to conflict with surrounding agent #9. This explanation fully matches the ground truth provided.", + "Word Count": "1128" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns with the ground truth answer. It accurately states that no interaction will occur between the ego agent and surrounding agent #10 because the latter is stationary and not in the path of the ego agent. The explanation is clear and consistent with the provided context.", + "Word Count": "1128" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent intends to continue decelerating and yield to surrounding agents, which contradicts the ground truth stating that the ego agent intends to increase its speed. The ground truth clearly indicates no interactions with surrounding agents would alter the ego agent's course, as all surrounding agents are either not moving or not in a conflicting path. The AI's interpretation of the scenario is flawed, as it assumes a need for yielding that is not supported by the context.", + "Word Count": "1128" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp44.json b/grades/direct/deepseek_grades_direct_6shot_exp44.json new file mode 100644 index 0000000..07c77e1 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp44.json @@ -0,0 +1,123 @@ +{ + "10308c69cdc96a4": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially addresses the scenario but misses key aspects. While it correctly notes that the ego agent is likely to catch up to surrounding agent #0 due to its higher speed, it incorrectly states that the interaction will be minimal and that the ego agent will overtake surrounding agent #0. The ground truth specifies that surrounding agent #0 will lead the ego agent as it is in front and both are moving towards the intersection, implying a continued interaction rather than a simple overtaking scenario. The AI also incorrectly states that surrounding agent #0 is departing from the intersection, which contradicts the ground truth that both are heading towards it. This misinterpretation of direction and the nature of the interaction reduces the correctness score.", + "Word Count": "1571" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly assumes a potential interaction between the ego agent and surrounding agent #1, even though the ground truth explicitly states there will be no interaction as they are on different lanes and their paths do not cross. The AI's explanation about yielding and motion status is irrelevant and incorrect in this context, as it introduces unnecessary complexity and misinterprets the scenario.", + "Word Count": "1571" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct. Surrounding agent #3 is stationary and positioned to the left and slightly behind the ego agent. Since the ego agent is accelerating and moving forward, it will pass by surrounding agent #3 without any interaction. The ground truth answer incorrectly states that surrounding agent #3 will follow the ego agent, which is not possible as it is not moving and is not on the same lane.", + "Word Count": "1571" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, as they are on different lanes and there is no indication of their paths crossing. The AI also accurately notes that surrounding agent #4 is stationary, ensuring no immediate threat or need for evasive action. The explanation provided by the AI is comprehensive and consistent with the context.", + "Word Count": "1571" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer correctly concludes that there will be no direct interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. However, the reasoning provided by the AI is partially incorrect and overly speculative. The AI mentions that surrounding agent #5 will likely yield to the ego agent, which is unnecessary and not supported by the context, as their paths do not cross. The AI also incorrectly suggests that the ego agent will take precedence, which is irrelevant since there is no conflict. The AI's explanation deviates from the simplicity and accuracy of the ground truth, which simply states there will be no interaction due to different lanes and no crossing paths.", + "Word Count": "1571" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize that surrounding agent #6 will follow the ego agent despite being stationary at the moment. The ground truth explicitly states that surrounding agent #6 is behind the ego agent on the same lane and will follow the ego agent as they both head towards the intersection. The AI's conclusion that there will be no interaction is flawed, as it does not account for the future movement dynamics implied by the scenario.", + "Word Count": "1571" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, which aligns with the ground truth. However, the AI's reasoning focuses on the fact that surrounding agent #7 is not moving and is behind the ego agent, while the ground truth emphasizes that they are on different lanes and their paths do not cross. The AI's explanation is partially correct but misses the key point about lane separation.", + "Word Count": "1571" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth. Both the ego agent and surrounding agent #8 are moving in opposite directions (ego agent is accelerating towards the intersection, while agent #8 is departing from the intersection). The AI correctly notes that their paths do not conflict, and there is no indication of any interaction. The explanation is thorough and aligns perfectly with the provided context and ground truth.", + "Word Count": "1571" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9 since they are on different lanes and their paths do not cross. The AI also correctly notes that both vehicles are moving in a manner that does not interfere with each other, supporting the conclusion that no adjustment is needed by the ego agent.", + "Word Count": "1571" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #10 is not moving and is located behind the ego agent. It accurately concludes that there will be no interaction between the ego agent and surrounding agent #10, as their paths do not cross and agent #10 is stationary. This aligns perfectly with the ground truth answer, which also states that there will be no interaction.", + "Word Count": "1571" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes that there will be an interaction where surrounding agent #11 yields to the ego agent, despite the ground truth stating that there will be no interaction as they are on different lanes and their paths do not cross. The AI's reasoning about the ego agent overtaking surrounding agent #11 is irrelevant since they are not on the same lane, making the interaction assumption incorrect.", + "Word Count": "1571" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially incorrect. While it correctly identifies that surrounding agent #12 is not moving and is behind the ego agent, it fails to acknowledge that both agents are heading towards the intersection. The ground truth mentions that surrounding agent #12 will follow the ego agent, implying a potential interaction in the future, which the AI overlooks by stating there will be no interaction. This omission significantly reduces the correctness score.", + "Word Count": "1571" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is incorrect as it suggests a potential interaction between the ego agent and surrounding agent #13, which contradicts the ground truth stating there will be no interaction. The AI misinterprets the scenario by assuming a crossing trajectory and yielding behavior, despite the agents heading in opposite directions with no indication of their paths crossing.", + "Word Count": "1571" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #14. The explanation accurately describes the relative positions and motion of both agents, emphasizing that they are heading in opposite directions and their paths do not conflict. This aligns perfectly with the ground truth answer, which also states that there will be no interaction.", + "Word Count": "1571" + } + }, + "Interactions_14": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct in identifying that surrounding agent #15 is ahead on the same lane and departing from the intersection. However, it incorrectly concludes that there will be no interaction. The ego agent is traveling at 9 m/s, which is faster than surrounding agent #15's 5 m/s. This means the ego agent will eventually catch up to and interact with surrounding agent #15, requiring attention to avoid a collision. The ground truth correctly identifies this potential interaction, making the AI's answer less accurate.", + "Word Count": "1571" + } + }, + "Interactions_15": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #16. Both the ground truth and the AI's response state that they are heading in opposite directions and their paths do not conflict. The explanation provided by the AI is thorough and aligns perfectly with the ground truth, justifying the lack of interaction based on distance and direction.", + "Word Count": "1571" + } + }, + "Interactions_16": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies the ego agent's intention to continue accelerating and navigate through the intersection. However, it fails to explicitly mention the specific interactions with surrounding agents #0, #6, and #15, which are crucial according to the ground truth. Additionally, the AI incorrectly includes surrounding agents #1, #3, #4, #5, #9, #11, and #16 as not obstructing, which is not fully aligned with the ground truth's focus on the ego agent's interactions with agents on the same lane.", + "Word Count": "1571" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp48.json b/grades/direct/deepseek_grades_direct_6shot_exp48.json new file mode 100644 index 0000000..710a3dd --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp48.json @@ -0,0 +1,102 @@ +{ + "10082a6f50ec9695": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #0. It accurately notes that surrounding agent #0 is departing from the intersection while the ego agent is approaching, and their trajectories do not conflict. This explanation aligns perfectly with the ground truth answer, which states that surrounding agent #0 will have no interaction with the ego agent as they are heading in opposite directions.", + "Word Count": "1566" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2 because agent #2 is not moving and they are not on a collision course. The AI also correctly considers the positions of both agents, the ego agent's deceleration, and their positions relative to the intersection, reinforcing the conclusion that no interaction will occur.", + "Word Count": "1566" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #3 because surrounding agent #3 is not moving and is positioned 6 meters to the left of the ego agent, which is a safe distance. Both agents are on the same side of the intersection, and the ego agent does not need to alter its course or speed due to surrounding agent #3. This aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #4 because surrounding agent #4 is stationary and positioned behind the ego agent. The ego agent is moving towards the intersection, and since surrounding agent #4 is not moving and not on a collision course, their paths do not conflict. The explanation provided by the AI is clear, concise, and fully supports the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is largely correct, as it accurately identifies that surrounding agent #5 is not moving and that there will be minimal interaction due to the ego agent's deceleration. However, the ground truth explicitly states there will be 'no interaction,' while the AI mentions 'minimal interaction,' which slightly deviates from the ground truth. The answer is still very close to the truth, hence the high score.", + "Word Count": "1566" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly states that there will be no interaction between the ego agent and surrounding agent #6, as surrounding agent #6 is not moving and they are not on a collision course. The explanation provided by the AI aligns perfectly with the ground truth answer, accurately describing the positions and motions of both agents.", + "Word Count": "1566" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because surrounding agent #7 is not moving and is positioned behind the ego agent. This aligns perfectly with the ground truth answer, which also concludes that there will be no interaction as the surrounding agent is not moving and they are not on a collision course. The AI's explanation is clear and precise, fully capturing the scenario described in the context.", + "Word Count": "1566" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #8 because surrounding agent #8 is stationary and not on a collision course. The explanation also correctly identifies that the ego agent's deceleration and distance from the intersection mean it does not need to alter its course or speed in response to surrounding agent #8. The reasoning is clear and consistent with the provided context.", + "Word Count": "1566" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, which aligns with the ground truth. However, the AI's reasoning about the ego agent passing behind surrounding agent #9 introduces unnecessary speculation that is not supported by the provided context. The focus should remain on the fact that surrounding agent #9 is not moving and no collision course exists, which the AI does acknowledge.", + "Word Count": "1566" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. It accurately notes that surrounding agent #10 is not moving and is positioned behind the ego agent, which means they are not on a collision course or influencing each other's motion. This aligns perfectly with the ground truth answer.", + "Word Count": "1566" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #11. It accurately states that surrounding agent #11 is not moving and is positioned in front of the ego agent, which aligns with the ground truth. Additionally, the AI correctly notes that the ego agent is decelerating and approaching the intersection, but it will pass by surrounding agent #11 without conflict, as there is no potential for interaction due to the stationary status of surrounding agent #11.", + "Word Count": "1566" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #12. It accurately notes that surrounding agent #12 is not moving and is positioned behind the ego agent, which aligns with the ground truth answer. The explanation is clear and consistent with the provided context, making it fully correct.", + "Word Count": "1566" + } + }, + "Interactions_12": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully aligned with the ground truth. Both state that there will be no interaction between the ego agent and surrounding agent #13, as surrounding agent #13 is not moving and poses no collision risk. The AI's reasoning about the ego agent's deceleration and the lack of need for course or speed adjustment further supports the correctness of the answer.", + "Word Count": "1566" + } + }, + "Interactions_13": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will continue towards the intersection and notes the absence of a stop sign. However, it overly emphasizes deceleration and cautiousness, which are not explicitly mentioned in the ground truth. The ground truth focuses on the agent proceeding without the need to respond to other agents or traffic controls, which is only partially reflected in the AI's response.", + "Word Count": "1566" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp52.json b/grades/direct/deepseek_grades_direct_6shot_exp52.json new file mode 100644 index 0000000..c888db3 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp52.json @@ -0,0 +1,74 @@ +{ + "1024bf7754aa2b98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately identifies that surrounding agent #0 is departing from the intersection and their paths do not conflict. The explanation provided by the AI is detailed and correctly states that the ego agent has a green light and is accelerating, with no hindrance from surrounding agent #0. The reasoning is clear and matches the context provided.", + "Word Count": "1792" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct but misses the key point from the ground truth, which is that surrounding agent #1 will likely follow the ego agent through the intersection. The AI focuses on the ego agent's right of way and its position ahead of the crosswalk, but it incorrectly emphasizes that surrounding agent #1 will yield, which is not supported by the context. The context suggests both agents are proceeding with green lights and heading in the same direction, implying coordination rather than yielding.", + "Word Count": "1792" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI correctly identifies that surrounding agent #2 will follow the ego agent towards the intersection, as both are on the same lane and have a green light. However, the AI adds unnecessary information about yielding and potential conflict, which is not mentioned in the ground truth. The ground truth simply states the expected behavior without implying any yielding or conflict, making the AI's answer partially correct but slightly over-complicated.", + "Word Count": "1792" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer is largely incorrect. The ground truth clearly states that there will be no interaction between the ego agent and surrounding agent #4 because their paths do not conflict. However, the AI incorrectly assumes that the ego agent needs to yield to surrounding agent #4, suggesting a potential conflict that does not exist. The AI also inaccurately states that surrounding agent #4 is in the same lane as the ego agent, which is not mentioned in the context. This misinterpretation leads to a conclusion that contradicts the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI answer incorrectly suggests that surrounding agent #5 will yield to the ego agent, which is not supported by the ground truth. The ground truth clearly states that there will be no interaction between the two agents as their paths do not conflict. The AI's assumption of a cooperative interaction and yielding behavior is speculative and not grounded in the given context.", + "Word Count": "1792" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but introduces inaccuracies. While it correctly notes that both the ego agent and surrounding agent #6 are heading towards the intersection with green traffic lights, it incorrectly assumes that surrounding agent #6 is slowing down due to the crosswalk, which is not mentioned in the context. Additionally, the AI suggests that the ego agent will clear the intersection before surrounding agent #6, which is speculative and not supported by the provided information. The ground truth simply states that both will proceed without implying a specific sequence of events or interaction dynamics.", + "Word Count": "1792" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "1", + "Correctness explanation": "The AI's answer is incorrect because it fails to recognize the interaction between the ego agent and surrounding agent #7. According to the ground truth, surrounding agent #7, being stationary and on the right of the intersection, is expected to yield to the ego agent. The AI incorrectly states that there will be no interaction, which contradicts the ground truth. The ego agent's green light and acceleration do not negate the requirement for surrounding agent #7 to yield, especially considering its stationary position and relative location to the intersection.", + "Word Count": "1792" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key aspect of the interaction. While it correctly identifies that surrounding agent #8 is stationary and positioned to the right of the intersection, it fails to recognize that surrounding agent #8 will yield to the ego agent. The AI also incorrectly states that the ego agent is departing from the intersection, which is not supported by the context provided. The ground truth emphasizes the yielding behavior of surrounding agent #8, which the AI did not address.", + "Word Count": "1792" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI correctly identifies that surrounding agent #9 is stationary and poses no immediate threat or obstruction to the ego agent. However, it fails to acknowledge the specific interaction where surrounding agent #9 would yield to the ego agent, as stated in the ground truth. The AI's answer is partially correct but lacks the nuanced understanding of the yielding interaction, which is a key aspect of the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct as it accurately describes the ego agent's intention to proceed through the intersection with a green light. However, it slightly misses the nuance that the ego agent intends to depart from the intersection, not just proceed through it, which is explicitly stated in the ground truth. The AI correctly notes the ego agent's acceleration, the green light, and the lack of obstruction from surrounding agents, aligning well with the ground truth.", + "Word Count": "1792" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp56.json b/grades/direct/deepseek_grades_direct_6shot_exp56.json new file mode 100644 index 0000000..28ea1d9 --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp56.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses the key detail that surrounding agent #0 will continue to lead the ego agent as they depart from the intersection. The AI focuses on the potential interaction at the intersection but does not clearly state that surrounding agent #0 will remain ahead of the ego agent, which is the essence of the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is mostly correct but includes unnecessary details about yielding and the specific speeds of the agents. The ground truth simply states that surrounding agent #1 will follow the ego agent, which is accurately reflected in the AI's conclusion. However, the AI's focus on yielding and speed comparison is not explicitly supported by the ground truth and could be seen as an overinterpretation.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misinterprets the interaction. While it correctly identifies that the ego agent is faster and will likely pass surrounding agent #3, it inaccurately states that surrounding agent #3 will yield to the ego agent. The ground truth specifies that surrounding agent #3 will be overtaken by the ego agent, which implies a passive interaction rather than an active yielding. The AI's focus on yielding is incorrect and diverges from the expected outcome described in the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #4 because they are heading in opposite directions and departing from the intersection. The explanation provided by the AI is detailed and corroborates the ground truth answer without any discrepancies.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key points. While it correctly notes that both agents are heading towards the intersection and that surrounding agent #5 is behind the ego agent, it incorrectly assumes that agent #5 will yield to the ego agent. The ground truth states that agent #5 will follow the ego agent, implying a passive following behavior rather than active yielding. The AI also fails to mention that both agents will depart from the intersection, which is a critical part of the interaction described in the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer accurately reflects the ground truth. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, as they are heading in opposite directions and departing from the intersection. The explanation provided by the AI is consistent with the scenario and aligns perfectly with the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identified that there will be no interaction between the ego agent and surrounding agent #7 due to their opposite directions of travel. However, the AI incorrectly stated that surrounding agent #7 is on the opposite side of the intersection, which is not accurate according to the context. Both agents are on the same side of the intersection but moving in opposite directions, which is correctly acknowledged in the AI's answer.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8. It accurately states that surrounding agent #8 is not moving and is departing from the intersection, while the ego agent is heading towards the intersection. The paths of the two agents do not conflict, aligning perfectly with the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly suggests that surrounding agent #9 is heading towards the intersection, whereas the ground truth states that it is departing from the intersection and heading in the opposite direction. The AI also incorrectly implies a potential interaction or yielding, which is not the case as per the ground truth. However, the AI does correctly note that there will be no significant interaction, which aligns partially with the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #10. This is because surrounding agent #10 is not moving, is positioned 27 meters behind the ego agent, and is heading in the opposite direction, which aligns perfectly with the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect in stating that the ego agent and surrounding agent #11 are heading towards the intersection, implying a potential interaction. The ground truth clearly states that there will be no interaction because they are heading in opposite directions and departing from the intersection. The AI also misinterpreted the positioning of surrounding agent #11, which is on the right of the intersection, not the left. The AI's suggestion that the ego agent needs to monitor surrounding agent #11 is unnecessary and misleading.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to continue accelerating and approach the intersection, but it fails to mention the ego agent's intention to depart from the intersection, which is a key part of the ground truth. Additionally, the AI does not explicitly state that the ego agent will overtake surrounding agent #3 or that it will be followed by surrounding agents #1 and #5. While the AI acknowledges the positions of surrounding agents, it does not clearly outline the ego agent's intended course of action in relation to them as described in the ground truth.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp60.json b/grades/direct/deepseek_grades_direct_6shot_exp60.json new file mode 100644 index 0000000..c71d89c --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp60.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is partially correct but misses a key detail. While it correctly identifies that the ego agent and surrounding agent #0 are both departing from the intersection and that their paths do not directly conflict, it fails to acknowledge that surrounding agent #0 is accelerating at a higher speed (9 m/s) compared to the ego agent (8 m/s). This means surrounding agent #0 will lead the ego agent, which is a significant interaction. The AI incorrectly states that the ego agent is expected to stop due to the red light, but the context indicates the ego agent is accelerating and departing the intersection, which contradicts this claim.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI incorrectly assumes that the ego agent will remain stationary due to the red traffic light, even though the context explicitly states that the ego agent is accelerating and departing the intersection. The ground truth correctly notes that Surrounding agent #1 will continue to lead the ego agent as they are both moving in the same direction, with Surrounding agent #1 being further ahead. The AI's answer misses this key interaction due to its incorrect interpretation of the ego agent's motion status.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer partially aligns with the ground truth. It correctly identifies that surrounding agent #2 is in the intersection and moving, but it incorrectly states that there will be no direct interaction between the ego agent and surrounding agent #2. The ground truth explicitly mentions that surrounding agent #2 will cross paths with the ego agent, indicating a potential interaction despite the ego agent's red light. The AI's conclusion about the interaction being non-conflicting is partially correct but overlooks the crossing path aspect, which is a critical detail in the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent should stop due to the red traffic light and acknowledges that there is no direct interaction with surrounding agent #3. However, it introduces an unnecessary focus on 'yielding' and prioritization of stopping, which is not directly relevant to the ground truth answer. The ground truth emphasizes the absence of interaction due to opposite directions and the ego agent departing the intersection, which the AI only partially addresses.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is stationary and positioned on the right side of the ego agent. The explanation is clear, detailed, and consistent with the context provided.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #6, as surrounding agent #6 is stationary and positioned to the right of the ego agent. The explanation also correctly notes that the ego agent is accelerating and departing from the intersection, and that the red traffic light does not necessitate any interaction with the stationary agent. This answer is comprehensive and fully consistent with the provided context.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct. It accurately states that there will be no interaction between the ego agent and surrounding agent #7 because surrounding agent #7 is stationary and positioned on the right side of the ego agent. The AI also correctly notes that the ego agent is accelerating and facing away from the intersection, further reinforcing the lack of interaction. This aligns perfectly with the ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #8, as surrounding agent #8 is stationary and positioned to the right and behind the ego agent. The explanation provided by the AI is clear and logically supports the conclusion.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #9 because surrounding agent #9 is stationary and on the same side of the intersection. The AI also correctly identifies that the ego agent is departing from the intersection and that surrounding agent #9 does not pose any conflict or require any maneuvering by the ego agent. This explanation is consistent with the provided context and ground truth.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #10, as the latter is stationary and positioned 14 meters to the right and 11 meters behind the ego agent. The AI also correctly notes that the ego agent is departing from the intersection with a red traffic light, further supporting the conclusion of no interaction.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "2", + "Correctness explanation": "The AI's answer incorrectly assumes the ego agent should stop at the red light, despite the ground truth stating the ego agent is departing from the intersection and does not need to stop. The AI also misinterprets the need to interact with surrounding agent #2, while the ground truth clarifies no specific interaction is expected. Additionally, the AI fails to acknowledge the ego agent's intention to follow surrounding agent #1 and be led by surrounding agent #0, as stated in the ground truth.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_6shot_exp8.json b/grades/direct/deepseek_grades_direct_6shot_exp8.json new file mode 100644 index 0000000..32b5e5c --- /dev/null +++ b/grades/direct/deepseek_grades_direct_6shot_exp8.json @@ -0,0 +1,39 @@ +{ + "12b4792555da7196": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially addresses the scenario but misses key details. While it correctly notes that surrounding agent #0 is decelerating and positioned behind the ego agent, it incorrectly concludes that there will be no interaction. The ground truth emphasizes that surrounding agent #0 will yield to the ego agent because the ego agent is exiting the intersection. The AI fails to recognize the yielding behavior, which is the core interaction described in the ground truth.", + "Word Count": "590" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #2 because the latter is stationary, not on a collision course, and facing the opposite direction. The reasoning provided by the AI is clear, logical, and fully supported by the context.", + "Word Count": "590" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer effectively captures the key points from the ground truth: surrounding agent #3 is stationary, on a different side of the intersection, and facing the opposite direction, ensuring no interaction. The only minor discrepancy is the use of the term 'negligible' instead of explicitly stating 'no interaction,' which aligns closely but not perfectly with the ground truth.", + "Word Count": "590" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #4, consistent with the ground truth. It accurately notes that surrounding agent #4 is not moving and is not on a collision course with the ego agent, which is exiting the intersection. The reasoning provided by the AI aligns perfectly with the context and the ground truth answer, justifying its correctness.", + "Word Count": "590" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent intends to exit the intersection and that there are no stop signs affecting its path. However, it inaccurately states that the ego agent is still in motion when its speed is actually 0 m/s, indicating it has stopped. Additionally, the AI does not explicitly mention that surrounding agent #0 will yield to the ego agent, which is a key detail in the ground truth answer. The answer is still largely correct but lacks precision in these areas.", + "Word Count": "590" + } + } + } +} \ No newline at end of file diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index 4fdc049..8eadc66 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -166,7 +166,7 @@ def generate_qa_prompt(context, question, answer, prompt_type="4shot"): if prompt_type=="4shot": return direct_cot_prompt_4shot - elif prompt_type=="direct": + elif prompt_type=="0shot": return direct_prompt elif prompt_type=="2shot": return direct_cot_prompt_2shot @@ -229,10 +229,12 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, existing_grades[scenario_id][interaction_id].setdefault( model_family+"_"+model_name+"_modelname", grading_output ) - avg_score = int(grading_output["Correctness score"]) - existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Correctness Scores", (str(avg_score))) + correctness = int(grading_output["Correctness score"]) + + #existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Correctness Average", (str(correctness))) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Word Count", (str(context_word_count))) - model_dictionary[model_family][model_name].append(avg_score) + model_dictionary[model_family][model_name].append(correctness) elif model_family=="deepinfra_models": for model_name in model_dictionary[model_family]: grading_prompt = prepare_grading_prompt(context=context, question=question, @@ -241,10 +243,12 @@ def grade_openai_deepinfra_models_one_interaction(model_dictionary, existing_grades[scenario_id][interaction_id].setdefault( model_family+"_"+model_name+"_modelname", grading_output ) - avg_score = int(grading_output["Correctness score"]) - existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Correctness Scores", (str(avg_score))) + correctness = int(grading_output["Correctness score"]) + + #existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Correctness Score", (str(total_correctness_average))) + existing_grades[scenario_id][interaction_id][model_family+"_"+model_name+"_modelname"].setdefault("Word Count", (str(context_word_count))) - model_dictionary[model_family][model_name].append(avg_score) + model_dictionary[model_family][model_name].append(correctness) def pddl_response_and_answer_questions(prompt_type="4shot"): @@ -279,4 +283,20 @@ def main(): plt.xlabel("Interactions") plt.ylabel("Correctness Scores") plt.show() + + #gathering the average correctness from grades json files with + #x axis representing 0, 2, 4, 6 shot and y axis representing + #correctness average score per experiment + # folder_path = '..grades/direct' + # allowed_files = ['deepseek_grades_direct_0shot_exp1.json', 'deepseek_grades_direct_2shot_exp2.json', + # 'deepseek_grades_direct_4shot_exp3.json', 'deepseek_grades_direct_6shot_exp4.json'] + # correctness_avg = [] + # prompting_label = [] + # for filename in os.listdir(folder_path): + # if filename in allowed_files: + # filepath = os.path.join(folder_path, filename) + # with open(filepath, 'r') as jsonfile: + # for line in jsonfile: + # if + main() \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index 5c03e46..face7f9 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -79,7 +79,7 @@ def obtain_and_write_mcq_data(start, end): facts, mcq_info = process_womd_datapoint_for_mcq_gen(womd_datapoint=womd_datapoint) reference_context = facts["Facts about the static environment"]+facts["Facts about the ego vehicle in this environment"]+facts["Facts about the agents surrounding the ego vehicle in this environment"] preprocessed_data = {} - preprocessed_data["Size"] = os.path.getsize('../training/'+filename[:end]) + preprocessed_data["Size"] = os.path.getsize('../training/'+filename) preprocessed_data["Context"] = reference_context context_word_count = len(reference_context.split(" ")) @@ -114,5 +114,5 @@ def obtain_and_write_mcq_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) -obtain_and_write_mcq_data(52,53) +obtain_and_write_mcq_data(600,601) diff --git a/planner.py b/planner.py index 2a885e7..6795e64 100644 --- a/planner.py +++ b/planner.py @@ -26,6 +26,7 @@ def retrieve_womdr_domain_problem_data(): "Context": "" }) scenario_domain_problem_data[i[:-5]]["Context"] = scenario_data[key]["Context"] + scenario_domain_problem_data[i[:-5]]["Word Count"] = scenario_data[key]["Word Count"] print(f"number of interactions in this scenario are {scenario_data[key]["Interactions"].keys()}") for interaction_key in scenario_data[key]["Interactions"].keys(): scenario_domain_problem_data[i[:-5]].setdefault("Interactions", {}) diff --git a/plt-graph-correct/exp1.png b/plt-graph-correct/exp1.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd94b3234ea1faa8dc23abdee2b0e03bb247761 GIT binary patch literal 18461 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
~ldq!+P0ub2-w3Hj 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 A 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 D?6^*6 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp11.png b/plt-graph-correct/exp11.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7c48b9c64b529a9578611a94b88256f52b706e GIT binary patch literal 19594 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp12.png b/plt-graph-correct/exp12.png new file mode 100644 index 0000000000000000000000000000000000000000..b41f9f3d071aed29e6579550f49fce56dddb038a GIT binary patch literal 19069 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 D?6^*6 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp13.png b/plt-graph-correct/exp13.png new file mode 100644 index 0000000000000000000000000000000000000000..b4a74312d709231bc642fc6368d287a6c4d6f457 GIT binary patch literal 17818 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 BqsjmP literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp15.png b/plt-graph-correct/exp15.png new file mode 100644 index 0000000000000000000000000000000000000000..39883681e9816682e454b86e3d1ae9a632e5622d GIT binary patch literal 17825 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 T&0E4}Q>4zxolQS;>H7Zy*J!m1 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp16.png b/plt-graph-correct/exp16.png new file mode 100644 index 0000000000000000000000000000000000000000..59a9121201a7b1308dca7b6fe8113e29f141c0c6 GIT binary patch literal 17803 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 A3jhEB literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp17.png b/plt-graph-correct/exp17.png new file mode 100644 index 0000000000000000000000000000000000000000..69aecce232de34b2b760c72bae3556ac0e5cc784 GIT binary patch literal 18409 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 WzJy@;Yq&N==G>*TDW|XA`F{YOQNh{( literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp18.png b/plt-graph-correct/exp18.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5ccf5f39297d4a6e158fbe18970974dde35964 GIT binary patch literal 18408 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 H|MR~9(x%5Y literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp19.png b/plt-graph-correct/exp19.png new file mode 100644 index 0000000000000000000000000000000000000000..984633c2e1c260f1c39560de1b3482739bf266e4 GIT binary patch literal 18403 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

N7`0__~519vP7I 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 A#Q*>R literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp2.png b/plt-graph-correct/exp2.png new file mode 100644 index 0000000000000000000000000000000000000000..faf51ea79fee4b143ff84dfee3adbfdf89cd7eb1 GIT binary patch literal 17977 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp22.png b/plt-graph-correct/exp22.png new file mode 100644 index 0000000000000000000000000000000000000000..32f22ed6aec1c3beb6486f62ff7bd6a16591da98 GIT binary patch literal 17803 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 R6W69lUc7uE?c9~${ujQ$xVr!V literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp23.png b/plt-graph-correct/exp23.png new file mode 100644 index 0000000000000000000000000000000000000000..7804f8cfbc1acead61265e51ba9af6846cf1da64 GIT binary patch literal 18234 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 G{eJ=e>yaJ+ literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp24.png b/plt-graph-correct/exp24.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3f1667dc18bcf1329e57b7c4ecfb671ee4f173 GIT binary patch literal 18238 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp25.png b/plt-graph-correct/exp25.png new file mode 100644 index 0000000000000000000000000000000000000000..7578f480ddc3333de8f5064b38a6368cf800e4e2 GIT binary patch literal 18905 zcmdsfcTm;Yy5&KoZ82~Sh@gnJfS>}BM3G>d5Cjp)8AWnZat6EGjG*Ko2NgVI4oZ@Y zq9{ou2}o2#l7Qq4vo_s*?|t>AUd>F+A2YA&c6r4U_HXYmtZ%Kgxqbee?0P14CJKeJ zUhd4v3lz!<9}0z`^XH%N6S11sulPg4;gqI>imi!*^F=#jisD6wD^|7+R_2#>IT_p8 zo7>um2nZb%ICx-}nS;X>dkH~7>wmsNz}C)GFvw2R4xh5-${8(t3WfP1`Hvx9CeEBf zkvk=K@>f-thl6dd4(q47mPQ)6%UCu(3;ahwt@iQrI?DCh&z$2@ero$irqf1iYqf;b z*_tQ0nz@hG%Ilo9>ig{i`xbtSyHB*wUP{>Iy0q9UI5lwS_6?rWu%51mN8TQA9y&&(9^{2~@ z`I18JlUAoro_yEQVIUAXaHqh3tfxA(qWi+gmp8!?5fRQPOVvdhtp z!260)W%&5yJm)4G){D39^7i&-*{`l3W>Np4gjpszHa1rG6O-k=9Y-z*gjV!#YmPX0 z@wa_yiCi)=GC8^e95P<>Pbv&7=StTlsi)Mwd$4E8aZcoNKD~Lp`{ehsy8IWp)0!NV zoUXy_4)u;gPqiF7W2uqXn-kSjBHl+GjpOv1{xxu~(#QUWBr)e9-6SLZfR(E^nAOKC zGp${#lA@iN>}TJ6jw+cDX_G6rSBYA`SxNG7gqUSNy=bv^a*e31&VC32kX%hkpk$}qj1QmP70*z1Z!v&^X;oTLXrblG>`3LV9A90^dK7uWy%2a1}cv*6VH>aES ze3D3?`>xm9`SSPDw{PEOnAN=6!h60r!=_E5qI;ieyy26W7^$v2=i&D?rq^q9(r z95Byy9<~Vx2*?ky{Foem`_`?4Yu2oxT`aj#+R@R`YF{ly=;*tI9C1%l{ZS!u~!?sASzv$)-R4_+uN=wQM6Nr>%B|*~Jwr zSKccsDl)H+f1s7?kkBZxfm8astG}>*-syYn;n;4gF7?P)(Ykua)mRl-5Q4QYW!Le zTK&B_eQ%vzs1C*G(j|pLkD1D{z`aXicZEumwbDz;5pUVAUiqTU#=gz5F`QxLPcHoF zo^wuhDLUdR&o9f7qfS&!xYX{_wVrM)++N`?J^OCm_CuAcRl(juFIGppL;FB#BxbMcLSm#-^pd7qb2$&K|igcEge&4vw!20vw1Waz55 zdrs+XW@9r)DDY`##P`)cz1y7Ym}KgeZc-)enI+)Cxzu-I>K^Nmk-&I$bp_Jr9#^`{ z$fde;QzexrC)XfoCmIc!hs5s*@f!JCXF`D7a-)O)7{?ie! zN<8}|u5hn~+3-_$w}xZWBLle4Mtt~ip3ZUNG#e8Fa5Im>!TsvVBx{f<#uXuAC}rZ& zUb6{W&oAF@E^yD*D)h)95vLd-DwJ+oeF)V@Sjuhu-FS&3(uJf*5U=v9{Mr5_6KtEw zDj6upG)pl zbPLCvzBekVq^%u6s@R&Je?EvG2#<`6e2a2!7a~hTB@~HMiavzor3m|N!%C}@b#rPx zra#{#$?&b|nGtf+bFSlNSD%m_f+_Ch8?p#`v<~GqEo@3t= zA+t0u(qg=M^Jc}z$FD1BYKDbNx<1!JlFoGg&Rp5%++ls;!UbQU()szZYMz4!Kd2^a z)>I;+Jg{t#b$ zE^OeC2*c^P2N&zu7BmDM(5h7k7k)$5Uy0{f$0^-f86md6#kwiSKF)QlO8g#|h|_n? zbhinMbmNMxM!rI5YL6dW{*+;E^sOq=)TEkf-Cv(zG(SIIDc<4Hr6pU+oXEtoFD#Dg zR{r|!+ep{3Z+hd7hf2e?+q`&5G6g+5^6A-7b~%%;?;eDQkr7MTp;Zp8deQkN! z8V@SUamx3&NNpJF4mF4%`81H4_nxe5uqE4FpKeNZEgjQO(J%P)y){RqVnXkI;mC!x zhRx57NiDdvRY2EFdSP6}esO-rYAQ1BT$FI8MZ@T)o`S{M0Ulo7cci}!^j<7=*DLb! z978XPq!-SXx7t`AeB_h2wl(CLgfQDVXHbZ*Jfa?s*?I#x5|w z?rB_Hq|@N1@F%D4x_MnIKO8vn{^+nvNX4}7jT<)zN{J*bhx+3RmFu zXq%Bj@IEyK6f==1lkXoM|Bli&`S6#4hNRGuiHU+<=IeK(R=hu4K8~kxSF~+RjY`nX zd2T8hli@kpY^s$?8W0|eY|EZ9E*>6}$T)){FWQ+0zcjxu3ag2c-40wG}?Y=#WUjvo$KXRgETGYpXc1#?9 zeS0%aHQ@qHIp#FgoJ}VF1~VtMtB0Hc(!-(myisL`%$ zfr19od&*EpRWdEqM9e-sQi%J!Pd(X;{D*_4TQxclq+~}R{ETNGx6ut`R305;um_Yg zs$43dVkgJ6hr0Y_4h4|fm0smO)OsY{d02l>*?>b2dWrYe;)g@xUeljf@8Od*UO4{N zk3(c}aWOp07ROaO=oCp>p9p`9M~Y7N(364ude0c4P<;xgOXoF(3X|*(U!=m!Xm>@> zQKOEr1`Pw(ZeG3IjGoX!-@&p_!DwX4m_lBwO0m{@z~*u7$!eJ;QG!Y)1{%e;AF?`# z*bzl9C~6dDi>}yin_n}q)I^nX_odV6uDy?M+6Ars*tyT}rq;7d*STEv82IGyMh(=@ zOsi&LdLO!h8tV9ST@4(}*MWfnwhmMsuf-Wtls(UYSdy_f5WIbWe6z?hE;(Q()v<3? zYDkre_N}26PyINKx+&iE^{sC&aF^;b@EExc1n`9Xv>RY51W+Ib&{sadq9KtR!6P;L zZcl`?XD&W8xNin0Pw#r`pM)wpi|RVj6Yc%&@IZRCbP^hKU%^y+U5vkUBCv+}=-0AD zl{i1tbUrx=&)JMkn>IO2wK*qUE(>T*wZsluAg^h6*AsMH7pG)7(chq7H~gY&1APP# zrLVUp=8m7=q?=-GT^)h%IE{078Fvg6(fh1>I94CpI}UgM=L20 z9bR&hB7+mK&0{gkkG)gzS+Y7>_8-cCt$VxwDT88qR zdl-*{=x@!jcN@%X+_G`w<3IjbB}b-;i2-_1|I5{!s@GO9KG$sw7ctGiX|y@DSntzJ zGo&pEn!bNn1IU%XlVBM7i0|E-0`rxe(jJ-x?o;Y!X7L^#9yqKdRQWRjS=KEfe6r{C zyAX!J6R{{W{Rwf@+OK7SnT`V=z4fxWPy)5R7bY}l6E|<%NW_`vOfGh3eb>)Ro{S_1 zmZ(8b)y}kVEojVccT3V02sJebdW^QA&zcQ*q5V`oc+`z9*oY3D38+uM*q-mIU$I3{ zUl%aoRR5q}C+Uv#>Zf91#1K(_0saTmJ;ohr3KAVsW~Q8Sx_^8=kI` zX82M;Mz_r-`~AZsUBP|RBVD6oV--PtK;=|Pq(?ngsFtY8_vZEMcz~!x&1X;ay%!v- zb1@sFVp&Q!&<1jj7oN%|02tlz_perN$D5K&tEmxa`j}Q@aY!>WGv>uU3<0r5Z~gc% z4H+1O?veGoJhy0ES#;iMxDGHRyibfx+~%RL5LL&hk}9PGc;<%YU!QjI1Q~CcC4cy! z&j-a=FPaV|k6ym4q@>jN%;>E^gw)Z!=N^988}0D~fSE+EgxCBFKTes{7MnapjKC@z z?9U?H>f@9+3+9IMK4GvxhffhPecyX~FZKTTRF6*Wsg4S)rxzds)ADiJ)MLFor+}co zP~R_a?z-R0YqOE7HSk{GmXlXf(uh1{Es7ylYUXR8HXzN%RJ{Sd0JaJ}-o5mz=ccy* z`s=UqXU?3*BrIyxbP%IGFBjLzJ*RzN^a?VE<{FgWKHDa)??*y~1}HNO(4j(`k~nzq zd})}sC;e$r$8d6c$yv2@6UBxUokq)e{Q@^yH@m3Wqg%Irjyht0+H-bX`Pi{zAp`qW zXbK^90zIB3!6nv)Rs!CO^T^nzXu|Oeb5l!}uJ4)>c1XG$tb4wC!;bTqm-1-+2@x;^hK)!QkoN5sqSB z^De+1N+_F+2uerHz*Yuzce_J^tS5nv63l9zuvSr{knsH|BieaR)-=a6wWtt|-=bl>njBIQ?2u;M~T|X6EKBdp|s0%3bs>w3OvnEfdFD=!%t8T-}{Mh7*)B*GhAl3z3JSb$_4xAb)9O1kmK z6rDIsunB)5XE-?vX5^T&^eo8Fhp_}l3EA$@wm_uwQe zgq2S3E;tXE*6`@pl?5~3A_HRAZ$ETdn`hUqW6H|PZrCoz$?sa$&Cj`8))g%+=Ap=o zC@LWa(1ujg41Z-usc7wNo2YKfQQLhQsmafcEBeuw0)$FM7BB(MeowDnPW%I! zKLQ%}FL=(1BSC=7>JUKrH$wH@iPn-y32=1%twZ~tRytn_OQ2peq(#{_U(RN-ZO;83ZZvZhKm#|Dh;>g zX%GgEKf5(xAm_gO;T10H&6?64Bi~{RJ?9e7MM?D6#rgm8%P$T%`URl%2w~$pq_N-# z5^>yaUmwVdUVOC*6q6Fp>{Gg_Kh<+m>-vow79Sq{y2Mw3Vd!amJa3!ZKnh_H%R~5+ zVr2a-0DV8DUHl!#wpp$gT|D#3=i_45pHwlttK4H3bC{pL%CDVq=J(ai>Oj7#&n}%p zpbsDrRRMC;fGMy4@rR4oyKg5kx=eu5Nkpw=KWONKGZn;CKG;!YfUrA{*6-M2olTmz zHin%~*|v0mvH?6iwWA)S8n>JqhRg2ZVS4Gk?fVZO)&#=8fc^UIx8GFh`UO@ZWYWXZ zvmKB?s z=+U*D-t&*|Z5Jmj<%d|gz@Uc@laadv2rV^y(Uxu7;(-UuQBRt8el8%>THhO1gL+JA zaU|DjWI5F=EE4tI`nbWm>I&xnc*RXunVpMo1e$5Uw0)q6{^`Y4qk_@${cb>B4RnK| z3OB!X0Hpbab3;elz_Ech4w+wA$aJ5wDFF2;VfXbG`Mm1qwuLh^ux#;!X8rxA^%sEG zGHpAg`StUgR8FH;IktI>Raw-=-o`W-la_Wc>hRU$N1cc2kq;SI=-KknktGvUFX7U7 z&1aXik9E_CU&ad%;mXUzCiqa+DPQszLN)u9ATly0}3A6QCwxb5(j zN78fOMM&I{)nh6~g;{<8t>-6C+*qfKp9+{qfz&1qnitG1AWWie&gdyyUw*lPMtZef zB;nLwU0*u@B%O;`X-L)*xwlQ|ICi2AV{Zc*E9uefGG6(OU7+ET2_8TTOA81L6ayPd z`1@zio>7fSxk7v`gX5LVl2_zfZcAQj?%w;(@%HW8JQ5P0f&>lPr)OruLEx*P!-#lH zU!f<-iwyNRmaG@whL|Tjl|9BtQ+Li{@A4OyMxTc2mkYl|U{?{c1B|~hnf=3sjTJB( zR02pAgq)R^7cOv{5H>Ck8fo1;FqAiZh!k4WaP+bWLSq>ibQ~C7IjyACR`>-C?Hh)L zLx9Voj7(b&l9>#+ObB#cJYh1u(znXe2Y(j{K0EpzR+w>^S_x zfZn-N!Xdtg>RhV3s8$R*8hu-6nd3n0@&NeI0Q+cYhWZ*;O*9MKG6{1GAVzf`T@Oaj zGQ2I%ITA-4j#aUf^8)o*2Z$|#F{N6#xqzzG-40IDye&6#&AN4>!1H3xZH}SM*|r9> z{knpa>;~VZeOOy;313C{DH^aa;SLEi0?=uiD{Ji3?%KmaXh-xo1#C}WYfgI4*5hn; zZY)2p+vVCSC@P96NzcR*YMN{TwwVVH(URnoUVgvLt1hg_HgK#`q}pZZY1q}ZkAS7a zPu$$#8dA4Z#M~*fAc7-)U0ND(|NcL!gZqx;FdI6Z@bJj*Q9lIU>CkHCo#SpErD|{O zd)|wcx^%2g^IlpcdqT!#G?Xw9TrUTnvC+fZY`=T+UuCm@c~u7@-44whyQdN2wy9Xz zN#}OgxQ44&ZclI6^>6x}N->e?N;V$DAOAA}uf$-*3^Q`qv9p+g@u#1@P1}Y*CfG1n`uB1@j>G(-8q8f`^Vxaz1 z=$Xf54wh$jvcPJQi2)T60g*5PHkHH+O)@q%#f=&JszProB^Tn z0l;_y&5k@nvoz14L+WK^Wz^k#e0@wjc+Phmeo`x@UvE}2LpSJ$4#JfHsp3m1iC>VfJEcu$v?d2 zM`THR2FVlJP=oLp4KiBW`Nx{g<3M+bAalq-aQyi3@!lAJ3*dTnS+Z9ue*8Yyu3aNl zyVRf4)^Q7td4Kt{j%A&A-+w1*S(ddJeK|)rRpEq!g72R@$tFyw!Lq&NW@#0+W~v|=p* z5?b~3s?{#?^5wyIpwi#B+_At>yq1WnZ~Zwnz_dKq;}H-zM~dZcQPJ^oMo9SYxVIE9 z4Wo0Zsj3Fygz%F85H;i_91mB7WPr8f*UMG4|5lmPYX|MtCVP(QDboMl_8kmCq7X-c zlH@VIWlO*cag1v3!JvSt9RQz&gM*)wbHl9_6d%jzuC<+n2myKl#Z=MHiwD*Cql?)! z)4c9<>9!;z{9RYbPiEOkAo}0LNwDmS@DuPUT9}L+Dq8Yl0rvyqQ5Cd7hS!2yk`ao* zS3b_9m73ik!^`yzb-(za>*IokjfNZJJWQgVN1ZcloVxI3 z;k9=cN>E>4A5rSXAhV#x=@6K*(`))7gf708x9DU0pkIk_adYdve2vr1DS5_t5EB6A zi?IlGkje-d!Irl`F)ZNjE%A!9?RZGQsew=fuaSr>D3};TUOqWVLgfak3i@S+NfrA& zj-%=X`r2442XqG1vs+oivwPzA=AQA+^Fxa2+IjRs`jp6 zVLXUpx!Jk;E8q_K&!K)?nMl`T7@wGE0D(_6pDn(&lJ2n$@7?~q&6&d82jJLPCEk$? zm@ZF{J275)^~V~w zxxws-@j9jbz;@I=K-31zUHl4YSBA`4`+Y!psuM*<(K)XT9*iKy+j#HyH%^QPB_(wM z+QVsrx-ZTnobpDmkxwmk(qNFmmfpF2y9V(3vTqHdTMRw=&6_uU;2ximMqaE|?ZlV{ z-crJQF`w!&Di9Om_1~iIZQEIxv-8jRsooh&(0?80_Pf3(LKrzNh9#C z96~wuT-H%W>?ZTT1KFK5s7Qnehil0b@xTst_{KUmJGlXZ#LzLMx-jKe55B-7YjEJx zO`|>40Ug}BgEh8n-@adtY0a7%@LdHq8=^L2y4f*-C-5`MThVKmBZ~E7GB^X~_&yh4 ztNzDar|(UV5w@szTCHxOQKa1>`Juc$cT8wX$2$1yyKW|>n5Lo4KaykmFY@Rv~K zMe<%L_sOp=QuxphzHA~HFfbG>Otzqs+=r+eyG(Y6y?AjL1~AtfA3l6o%HYSc)lmVy zgPMWuBiMWvq7xl67Cr^3ncL-eR5j-GdZY}v76-rx%< zClgj0lt@wYCs;21d1y!o4gZI*2}ks+k@cyd^9S1tbl^BD7|I_z_cS&ZS1Mzm36WhgYK*Sa8bm?S((xwD%uVTav`gZV5J`yqd2=>|zaj%_6 zos$1drm{mF43ci+@yMfLF>6pogrgoRoU`#9uaVu#jddazw-kqkZ6olMI#P0zISC9m z;Uh1os5HdLG8ceO*vbQ#leQW!#FQJ4&PpADAWp~OP3M#xNpx2ZyT`x~vyv-rdw6)ug zPfV=gx66o#$xD$dG$D>J40|uBxVhyL-I!1}sOmo|QH1l3pE$vhW+}=wz{00|*K||N#xfeA z0(wODh>~*u_-gri4D(h@6M#QAIT#R&3YuWqm$OQqO!6zU<`1Gqd# z%l2A8+m@c~-2)GWVzlRE_&>YDhix(A;|_AQ$bTS zWSRE{n}yklWl|Q?y<9+aG$%3h?ph51as`4dxaAa#z;PHk$lOAT@yHui$8VKvitq{b z-@=z^h_!Gq>>zaU$CM;g*)q^5A`3_sSj{R9{MF%)u9$}Xv>)0{APh~7`%GOqi^%9&|8vr%7#i0>)dVnkdc?Vc2K^lCG(o}roVv0vtBPiTmh-5F&4 zoH$(c33ym7@Cw4DgE5$Zuc;rL?N}}^7b=Bh0)$2-+oFZ6QeU>f)wfBV62RgDzJl&X zS4@D7YsryItl zG$!C@I!i`-Z~}H29(Xd0?2d9;SFc_?QIsL^%D83h_}mUb%f`X{AnR3>rkg+qfPX2{ zp0n{MZ*SVCLh~h>G_|6;{3?S2pq>xI$_yC%K#A^>^}l`ZUIRE)sVA3g+L<7(U{@m zL&2mZSqHf4V|g3N4wjzK2^N@x6P06bfMqTCHU)t6Yk_M;+Gt*5x5(KTj z0Su7@_zmIL2{E6AW=n*ewVOy8yo((KN<)7SG0zn`4I(jf7oN|j0E-=JdUgWHxI(l5 zyZ#B@l)sA_<3X@mXbI(_p3rWXe*QV_pYL(%ua`qrsRxSe56`miIY;c*Q4)^N53=D? zrSPeRsE~Nec_NGK+?fh{JW@*S&0W^U3c(^PM@hUai8?s+bkmkCv2c&@NlWYh)z^R7 zvxiXi%d;%0-;cO}_sHmv(jVM1_{TyOP4R9d?qKI5Av9`cj z)A+BVDr8h@23ehyp6;HWo^X8tp@OmZNB>ov(a6n^)Vafjb3ssotH)927ZBM0dPRrV zoFbm3TvSR*N)OwS{?ENQeez^408N?bLZFhgGO+UBwI`3s1)Mgq_G7*lheyp4rV3*5 z5j84Z=ZVGq3qlhPT@1#5&xr;Nz;PmF0fEs#01!dx@7MMJ+=-q(fpsOJULbnYB+#gR z_?!EGe&p}(Pjnz;ofZcpq9Myl4c!|%s|`l?-)0Ivh`v0 z;W}fQQnYkHtcHQ7Se;~O#hbp1_y%u`uEgx+h@wi-NpEnbz~U~5Sq8mQNnIAlk;bpX zLWUbm;n(W&@v5b3WT=q>gMA0p1GcslKh#*mvsrT+I+qrwWCmMvRA5a>JpcGOEy+jR zs>x9K?-BSr9KnBQALA8lVa{_Z;Fx)BtQ^rax%e=E0HSHAs;Z_Yb7EMrFvjvOq7e~5 zgXAJQ5W1^DZC6F`{y0{BmtS#m0bGzh^rDVBe}s4!f9uw*{9EX%%ivNHyd%5|i7>$= zV)zs;QOJOshV>T(%=64vk5_i;%8FjYYd8msyI%s>m2Q*<^$sS%a)2w-eyH zQ;=C04}_n!zQ}v2LfaH3TY%H20E`Ln$~Oyy{yV!%`XsumHmu>eP|;8P-eN?4$4Fnr zonnbjWB~~naT7xvT0^Zlc$Icm#oIS;;3!uPjp87WZJkcJ0Ae#Y6%y(uiv~mfS+;H+q`W`i32Jh*2t`S|$ZLT`f#3}#ycL?Ad&tyMMQ2x64CeVRCLY9n+Fpze zz%v#&(B}6YxHI(I@4wRxm)pp5MFuOlMA64nVL`eaF$HSDoD>caPmIfx{+mPD*IXe? z5SLNgm6G+uECG|m0aycp@A@!us3ORyUbE&&M))$!Ybunpp#mw${seOP_wEG?oeubF zm*W6($pZew8d(yLbNzsHL55a_>u5 zm*e96GP4Xk{ak{b(9)yNBz)Ai@@sz;lm3gchQ6!;9}vGhO6&cp9XgaHK9q<6*wmj{ zg~}-^5?S9=lAD{m+8)L5>!G*Q6@~YOPJ`F_NZ2pXi>7(He|i}tPe8|FQCNcyI?C%4 z0JSg z-FMzG$5D*(N**Y?)$T3=Q>p}V`QMtC`>GGyjFt=kS&+iJ@Qo_}$0FPRgO~pf=Tf|2 zobPXX76V}eIRar^GHDMv#Ul`8NYzI5cI&z)o=h6pl{dHyS1b=c=FXiv&m}N*6|;2r zu5d{JQGn}t{cK8da?cK;Di(KN9p~#jON!>BN4u*3!Om{s$c4>2dzvAC6&kSoxpR~2 zcuatrXBV1@tU2KY~xlCQ$2G z`&9>qd3bK>^Ih$$rvcKr<=~S9RT6P30iQ$kp-vczelhZ0PTW-9<6g*SjRiNCqi?F`Ch17J7{J9{GX;!iE0njHH+aKYpfmKbb#^gioP88v8H&pi~7 z{5XE8F36|>v6$8*%fhH`5=tK<8wI*2(gqI6zi)bfcEKt=N<%zLL?q89=Bw{uWl}Vq zZ9uH_YuW5zF|=niK~lu!Lj?xK3LN@sK@^@3@rO4ZwuBgAMdtPEs{(zUSVY_VS83eX zoK?4`h4)!hBYW1^rw5HKE*QQsD|8PA>OMtr5`h(;e$_~UX3hrFpqR@K!)h1I$Hd5l zslaqDEQzphAdZ5Af@0CdbvX7a9lp4oJ8Mk4#7ST0VOo?^+i4@;a}N&_0yHT`6XJLp z#zZh4-n1Cco6MZ=9aIng-ZB`{GB_Eb9((3N{++NMCRPEfq@}dbl7B7j%O8UoU56wl z-WmM#R)5u(o}M^DV@pf7Te?Bo01tXuc^@fZJy3`OM6pg{!9-VA12Pc9oQ5+}f*(8U z&$5hA&j;Ff`1)=mNE2;%9F{3*99;syk-BV!3Ni?G%6ASDbJ}12unuZ^Z@Iq3)%xly zCy9&O>1qO9Uo9UYv3I=tFV*9l;fJq2!EB|5O9~AMDzY6OWA_>!*tMZ8r@(2q5AI!1 z325Z$5*JeM-o2{=(++Wd5yvySE&=$-e!&9-C<2RAE1F;~kB3mF&9Pqz@>+s8} z%a*DA8{2KSYx`Xqc| z(j~9O9mr*rEHnS(cXG`Fw@r={pbSWhf8GnI6-UG~azmHb75>BH#9p#4QrtERI{=YC z3{3n1xM=vHvA_(|u%DiPX`qNbI2cFiS`fG9*& zq?oUXn4bFqJ?jA!3CBma3|t=BGPWajvCxR(makoZO?Z6bCZUh=c&bx%E1^(W$6Y;N*eav3%kX)8Ik-TtUDn-@YQX^Gz{}4 z^ofa~HXRs!$b}I^UJ{u$z!vDH%YJ!URDBHh=uX^a75qr}9t{2o@Z}NLU_*@^RVenL&UbkRUNi-UN=tB5$R-hlcpW4n!ha{lbZ$C4tMu|njg0qEk#Obe%D~>47hK>&CacT7?sP|3lkQ^Zf-c}HDLZu)Jmt3YYRz6 z-4S?>0lbmid?9x}fZCyF5Vk!KBQ+?+WWTVze~Bl9P0vdDd2{w1K76=Na4({x;F~~J zMcQAc2WF}9`whxhZu9zV`21(3b4jf){|6^09b6pZD70c*46cWoW0)iUS5%l3KZiHl zj4*##IQr_6o3+;M`C3pbsgFsx5H11}91K4?970O5G#WALGHuw9B_W>*{r@UWM;NAh zJ)-OJDz`^SI1<+EDd<5R4#v=1D#aUw|BHgEohpH=e*pV^Y#kuGHf`QaY_Pat(*Ejl z&R!m#)102;52Tmo?V*La`F;P1k&*DSUmS8wo6;_#%n+8H^arGaIUpx)IzK=_DH<9Y z(uQq*TD6Ms&5iZW5-`kOh4Wq+fTa;Pvq_HrsSkbXH_IWmWLTFTl=^Wb5nDc#fQBGG z6;V|Fq?qnp(E5r|5^BIRqa%;cHThkO$;aSEL#;2ZuC8u%>AJ@Qk756r92-oWxG%mN z&P;qNPtsuEW!kwY3&#vyOaX$`J(%aMn?baE*0sLq5F~~K~}s#9X3(iMR~V- z(S?)p7QZs!A!yC9%WW`yUI6Vidby2qU+3_OpF0z;RPblV!|LY-#bo(F`BYA$%Zyht zuU#9+MXo=g-chg0Y2(>&qcvs)BU3Nx62TY_7=x-kFjB(ZmV{~o^6mrZU04Q)czYf) z*67rf2F`i{V~A-vvC|VG1}zuA8UYh&$EmUTu`O4CGr*9hKFdI?OKH?c*W4LP8Um~nW^;e6RGh0=N93e&b?wXSGZ z6Chd;s0QOgI6LwiI#95rO0cDwMsGJjq$p0;g;BV%iySGD@d3$dp(T_0iOB26I2*v_ z?Y*S?DX}QK>v(CHLY+YCq^~Pm%OZXah&g)o@-JYqZBK@NVgb8JP6)Hl7`Tn58@S|& z2hXRqq1+H?hc5C|;Y6WF^Y9mHHTi`@I5&VY9SV9V>}*Lz-W{}=#! zKQJQ*rtL{ZdwrKJa%#p0jOLxQHxl*EML*o^t-Heb!!O+U8?@dCPOSn<|h( z;9UqEjCtS@ewhG%X@g!lF0B$R91Nu;ntO9<5};>NI}Ltb?Q_f zF3@~{w7q;wK;S;*%5Fc(inMzg`mU#71A!hy9-do{+-oE^1&Hd1IL?LfU>uwoxmn7p zrvWX{5tfYs7*>drpJ4cj!InnL@ZMgtdz>=*WPk%Rho|gxoUl=MT}(g~BiCz=tIK%K;UDUzbegputpLd~5?+q0y)#SiTP0`r!=M4RS ehjgf1T50Qdtf9eYpaY+cU#WENWa@Fl-~I$cTd=7@3q%jhr5>*q_%Hi+(MyHwo6|; zr$nJ_@TO2`K7PLmKM`u^?8E%VdHwA)?C_Q!u3gl$r%>pwkbgAsl5yq~inM|B zxt~>>!^XQ@9OM>y*QeSZ8J#;f#`aru^WI-S+U(Mbh5x+5;f?>;ahB#g3gz0qEe9wR@7I?pc#!G#hVLnq zkH>eP#_#Vur);25PHp=y^^uQ4MoqEuBP~gRuU@}aeRi5=50}ctlbzRY>N$U+WfpgB z9&rvFEB$37qmYIF&Rx4we5WIsh3(Fzr>7_C73FW(uwnP^-O-7vNr_SqSw3W%KWUko zeiJ5azx&4@fAaG3%F{_bIxoSak#?FVP`2zoy}E^kMS$U}SFf5gOfS{XMu@xh+2sj( zEX{i9dMYXTEzOO_RXsgg-P5CAc5jbzZHUm^yR&qh_`kr`S6WdQ9{5%FzZAKUeOMtZ zUgjxRWqti6ytm>ZYst`8OY4rHD{~_)7-(}zs@H9w1)+ite8IFJZz_+3+UC;}&Z8+g z%~X9!)dZ#U4<*-f6V<7y_Jei9cUV2&`Ex2~n$$AZhMue+2@32Z6Bc*P#6VRFoUD_2 zb+VrvxinI~-?q8($&tCQy$_SrQnZ#vsU?{n%TBf7qUv|=-o5AJlPO}7y43qnvN=kM zF3Yk_;mKinzm9RW{;H?cxArA7b)tUJQBn^r)>antmnRDBt=}&%Otx)5+4=0?`FmzV z@17?r#oY6I@+8Y~RLx_yLFz-6W#E~!XYI!qlczu4q)XH-a8j#yt9141i%r}1J=@Ic zez~EcVR~vx(ZIkUyO&yKZFsvSN!@aGsA1%NM%=yKoPNC(+$^8xhEI+b3da^jkg(Ju|HEEw8Ak80*O4mFmS1YranP%0J~&^@)s(WWE+8{*tK`B$@E~o?OtvzBcH{BT*r~- z%H7;r&ADAR$^}m2$L^P|tuEJ|r4u(oz?!;yc*tM7mX^0V-%_N0#4jG}L z&s|^N6Erk5CKbNShq<__zWeUGAiMsm;GfRkHu~@`E;csAG}5CrqnKUB|G2o@yx<)= z)_KMp_eHxV3{p8+gHIW!au*|`g-yZu3F?D|Xz3?%Mn=&;eE#{_ys*`BW}r3}8y0)<@xk(Or%I+(( z@x^bCjn49H4J*sad@A&v9{u(oM!NIQ`(i+Op*hi?y#QllUrX~ zt^HhfzZMBmuF{WP-pnk%?eX*jVAvhgDmn0V7 z9K%|Ubr*FYIlTJ1xEPF-5h83q5QLN;iX3dR^eNwK-E$Wcla-7=#}z%7{yij?1WfCg znhI{%l6b{RjJEVlnf0eEwm}_(tg7=9twk-&p>^oEpoQ8#Mh4- zn~_E1n}ru1aNDc#L5LZQxoa6 z7Chem=FK_f_{%?$+&~@+;MKPw*~-36_eQY4|8Bfba(yM^hi%&g_Z(Fd#PkI9-KTC1 zcNZ1J`J29NKNW~j>%3mUZ1Tsiv;#Bsk|(8nnfNA)79y_a>BL&LrJ781=9zqYbt@K$ zjAUp%_Ade2Hhk=|0fNeL3PLD4{4;~~CrR4GDXDW}cADrk?{@CpeyGxC|H-;!&5UxZ z_b?9@WmoA9X@rcJxtQ8`$11@IyR8Q0-Erh~WJmk@`m8E=^a|U*E-i(; zeS1;BW62@oYT1^ViGs-xo34D9Z=?8*mNpm>7lNV?5+fTJg1i`lK8@ub;OHShgNhE_QdZU!7|U#q`|D6(YpmzbPvVrro+X2(cz$SiVg;NsU`MMrM!w z{Fr8a?){>2%{`@IRwwbK`8|4G8*H|z#M02ACyyQ(prjct%?|gf_Pyk{={$9)(qXc@ z%YCYh-UPq-mNZZgO_t}!BicrX<09t^)h%0-`9yC_)Y!QMW>^dn2s-$|RmJOpcN=k!L?xXhZLL8|6(N1CnoeabCRS zv@uhq^YVC(crU+1;PdCtV`T$*NKg!{F7%v4G2_3rm44o+tmWzw1 zus1$zO+Yu)#U76ZRBhzEiQvGgj``{S>Y{R!l{B2q7j1M1(gdxnL`+2?_O%bQsFUCy zfBX?~)~LvB;Y4w9G5zZEYw2f88Qg-&a#9z^J9183)?h_|2O)Rx`7cJw3ZQmDoC#c};49_{fQ!(ROuq&P8c?_&)b~R9h|%RtPYT(FakN z=LisnoQ`mF>ID@Qe@>0GXTqKVtW5$yZXi^abIYROualS@vg-F;5=RGnDX539=yCuz6rJ`TJqRKC(P`o7r1je4EcWA^c5 zqt;~2C)V94u)$bPMrpk}qP+8r>lu^*hk~isbdvj|g}FxQMV!WhrWO|JGd;280ya4v zo%Z$O5iShEzu5gSel0L*M@M7om_&BC9Vw{E|EPMMAVSirJ?)R($28t`-sthrGekTQ zWZ$-)4xF)1UtfO)sB(aVKKT#L(j6Ig{W8+iA{&+b7zNFqS+pdYV_EcO?(gMJBxx}( zxh`C^x~;8EpvZnuVRdDuK7XOxja_=MK60V+Lyj#K>o$VXJ!a$9%Djkwm$NKdc-(YR zoJ1T)`hcpmzI*nIFRNtgL|4IRM!iH6NyNR$^ED4gq5&x45nD((0c^vw z!%Z?5FTT^g(G}yzE^AVdjD#Gonxq!2aAFA9SRqm(MaZ(%xwZs|tteKVs+R&_&Ltx9 zVN^)^(j|2uyiA)ek#G^ms*E~Rk+$}9!z`z9t#HvBJQbrWmr7Qq@9$tb^^8T_l|#RH zy<>Jax+a2bT2pnC@Vvg@a+y)sN&||Uw3nBJ>-<;(BEn=zM<38C1|v0VOVte#H1~6z z8;K!3NQ=6@>bY~j0gtjtcjVZ%A?y-2vpAndq`kG%G_4D3z%h121Cwa*$FIR_B|vKz zP%!3Pjsw5}p!=;uSe{avxk*qeonPW*f z&aP-VvTjW3b$Kq2bEzi!GoG-D|N8YSQ$M$EekR!{vTtaX5m=AVP;A=4#34-%b7N!U z+MJ`XUEjs*N&WIw`l<YAsgXs?dLO02jAS?wS*?K<=M|0pB~dxLQm2*)muTfzpCHPrRs`J z!sX|`F3pc80g6hAI*q+UI5-T{Fo>^x?e$w*bC=B@a&zf>`(wDIm)@=;3N^D5nYKN8 ze*CL`ir5pXc}@qnH0fU1r17N|9oZ=Zb>T@zBAm}4&9q^WCprBXdU^bxw4I9Uc<}7m z0d_XFc$`#53HRKC2M_Mvx$^}&8@<`UJF;Co{cn)4c%_`Ex@t3C>#H}cKV)(?xiRnC z$6*M3-`3bOc|&dTQw%7A095Hg$0Wt53$fR???0h}c&`f+jw<$8<~nfTKz099PUXYZ zE`c+}pQ=9bA3qT&>E($WB7+Rnh+b=ur@w(9cK=dvv4sn5qIOTL^O12#=GZ;F+Xm2IMv zTzLjiYw_;c&s^AJgzjN!LWPjcMu8koq82y4eSD}T-B8N9r?@L4kUb9RB^I@o^zb6? zU(*mku`7!+>!YJeSXpK<=i^N)K=973i)Y>!UBcQoKRDSP)Nk+4qx(U?>D6yPgdD%} zE6H4lRI~Q9D|pAXZ0c~Coov+!w_^82l}xjS`zG}S$~i2}ntPxK1PA;ijlQiZ-LT?i zA@9jf$2Q%2_wP5M8na19i09I~@sb>kL68`}clU0kot(4tSN8s|05_S}doRdGO6USe zM=TPEGtY-Sz-wHfm|-Gc8zHV;z7P8)O)^{%pJCtRB=ySc+pD9~>zqmBN(wq7*@{aA z2F8x#Z^!P*ecNGKe-6Uy6rowxlo+sU<)c1e5>^U5X{(0fC3N-8_l{%jih#qqvDYL zQg}qAkW(Cxk}Q!qf;|gra*cPV#>aD{=;SrpUp#emy|duDFpf+7At_%DZf@>sF@{^S zXMlCpQR?SF)LisKr}M~M?(}Kz7cXASHY;Bm9($kh;ia)`HiIX^G$t<2G$b-0AQliP z9yyhiq?Ogx7WCX6D^nHp;)R`wsz+1M&nSQ8uL%=YCaER6+1RWx`YxE27b)5~Cd(3w zi;KptIw+JaC0<@x=1qsI+xmJ`z%LnB2ehE`vJUidT`Yvr2@dQUauWoLJ|@N$xazX`yA0a zw7fXKbrtymj8o0DM{YCgGlsH5z3U3M0X%2?0%k4+W^`T4(;-Jr&tpz?52sS!i^$*$ z4;U+ZdL)~s7bbfq7pq?P=lWYm%`VWsT6eiJkMcOwSNSAxZiRjXEw<ck`~rjbcf1{YQ&Dl0herW{m-)H3cMo{Kg2`fFg6n`idh2lu6J1H5pGF5lZR_TA z-inhw7qn=;i1uBr#B)_8$3}Nu2SW1)BivL zY0c4Yy8`QH8CUOpu#fMRaxUqOyBwP2E!xwb-`>7I7Laxr8M*CO+O4x#S+3*9FC*le z2P3^wQGd+ENLTBD7RU9|E&7**rK3Q~T+zsEKr~v&3N6exI-e`W$dFR`uKdCN zxe8V6kA~Ov(weQqv1EY6)`*BQDJ_ug--h= z^yQ8S;Uv@%tWg{A+#E{KDAKDd1}<*cgEkfjTOmk%tL|3j{5xM^PH?+SA=!Psn76BT#Sl^~|FiC{s1|U=eb17)o z_qMvqgR|qp@FdkmY^Fwlk?-nnAt!B9vF9VeOzUmy%EEkR?+$n@4aZruCI^$zqbo*+ z`8I)khXhbOiP%iNMt-!KoWqm#iVhB$;0#p(MeghE)Annn>PPmAs8aQGF`d>wZfS;Ac-r`t7&#dYW>_9I6u``$k0y8O)h zs-dB{p-Ej>0vOiOt{XiqXd1nwNAHSVeLsBUts`ja!vMMdy!zdQrt$Wspv*A~Aa7GM zWCT(NRlzIuj*eOqmIlpyu@!aW*Gmkha_H0VYYw!dm&?Nn$|Wep5V{I@$jAKs%a~w( z<9ltn$X0~R0jgxE7fPSVALW@rSh$tfga}ouq-eE(EHH6lF7>J!ncf4?D!^Mb>z9BO z#ff2a;uMm$)TQsSRE;mQs1IK`Au~E%M^j?KQxL8aq*UlYZK#{>X3`wQqBW028$_DT zCntMDG~U0@cT8dsafnY)r$!L2mo(sbNC=evNl+|$0lkxjGYSNg5{j@Ykk=NdJa|~d z8z7$_XOz6D87aSsAz3s0uG@1E4}|$6tteTMssL_F5r?6V3|=_!sF$p}7#PgA(DPU! zmk^4%27$aj_bQv-ZGtc^*zJ%Fv|EC(!cBPT%y>?Z>w`T1t*tv41&8$OKeC*#3K|T# zQLeM5SqdC4#K*_?t&g_^t_(wbrX#YlLvS2-6La+u$Nt zZ1yWFE7$J2Bz6Vanb4Ew-GzD5a&k5E$37 zo}Z1lzO>#(vl8buaJ)RIy~Zm-S_J%5~Cu_EIPZHlvS>L0TMw2Gfe1 zcg2xO=V0;1{~*zQ`qyzH-lc8+pUHY(0#C2qoSk)GK6UN%FTeaEycQY*0Z^-aU-+r( zXTUa81=a^IzvA#-{{tX&H&}VcZO{Z6{QUe>Qgwur3^jh;@RikQrKk+YVGoZ^`)5In z>xhz)5}sY6dYxRA4ly?xsL+{#Ci=*0gVqdmHM>P09))B8;(TI7i6-Ib2 zncuo|hX`l@Vc|F^QJ70o6r{>N&Wbhek7y$-tNb}b_zZ6Y$rcBzDwq(sH@Z<3)VSdqRX~)6L$V#q!xmi{TopUGOITPF?YAmm^HYE>R6vEUf*bYo zeAlmEhtf8?N6uw@>;Cy$EkE*fL=1{*Fw;=Ht3S7kd)p7xG$4&o0o5;~k$mUFAOI$q z*Bn!OFLC(93AM_~$_Q;GrN%vS*oa4>Oa+_2OjWS9p%OGh0+Ck2&`DEQR#wI-A|g^< z0jfW*YvL%wF6>L2uoK-!uvAZZBNs-%WJFe%B04N13>PR)C`BlXVMr9z-+%v}z%AGQ zr|QkfaDOf5-cnT9kzmsZMZg;e^xn6A`)vq(Qp4{*9!mDb>>tHpDK~E1D1?kHA9VbW z5e}@Ly1!w`w}@2vKi=&B2X$s&9&glS5Cg$BNM&kL8!42x0#IGk8UZN$0|Ewu*8qW= zW99dExeSKyjfGJDRvRAzwLKd`7zR}|=R`qzaSm(bQr|%Pu;oqyb`KzIP#0m5Wyt?k-&T}nRo5qpVZf9RL{-HIlSdC#QnF-V>JGm2p7T=fR`y6 zI)z?2r^Dlx5;;QK=P5EFC#*vN%3^jfx3?hTQayZm36V&C{30r>Y)^CGt=UD-@CTLLq+pgwa<`b4ez7nQ*IQzH|)Q>i{JoBs{eLGlw<2qJDNNe zy5dl?lh9iwg4hGXv2{F#$He*#9VtmnqE2%1A%coPpXhiGqJYW}wj7<+RYzn@Jk`G8 zl;?^wWG7O_B3uw%t+a@m+%rsW-#eoTf_fh@fr?H(3f$PBZCm8n@IT}pZf_8Ijp%C} zNhb+XU<8ab(axbsm@Eh7=AHrucd-Fqrhc4{LODHg&5B0u(xq>b{Po`Q1ch)BS0EC= zdOCB!<^Me4Xj5+9ys28`>PU3~f7}E*}}ni zN&&*xL-L)H>jB}wrB|2>1e652PAdqZTgqakPC>INkNuJHBi$e?D-~#qlZ#6RJw|TX zFupm}GkaP2+GaYI+1;g(d3A1dIR=7@OhP>ovTA?#*#Xa}OLmOY9Mj5-M*(G%zE97q zHrkrPE?vGaCMHIc0rM~2Yn8M4OLm7%llVes6gVqAXlCR9vvKnADPr?qo`O@Sw58sO z_6s3VH8g_oD$=&ZUw(eZZ%sn56QaodCLA-JRSeq0!(*=9@S$;tq}jV?M_G}jOK)2( zFrSuo1xQ3qJITq$b`C`KQ#NGmpJ9p!{#Nram!sb3WLqEobawZiJuzVR+!R(gKpGsD z3o@`ig{kaM)1?VR``Ya~$}K+EtXvf-Sz_v0GGns!2?o%9b9~E3KsQx1ymB*L zHaUndI15ORHbRq- zKpnOv){bJ>v80IcEe2G*A_r)?;!|&SiFhn!5<&ebx3(G)tB{3F{(LZH%SWWlZ~ZU8 zzw6NRJG1EIxWvVE(T%(mVf?oLBck3C5)vaFIaDQOWp-(hXwO#25+2mvb6T48rlfyQ zGQbG~*>q~apM-Prp!^{# z6>P6w<4eFU*edwzu~UooqCAK{)e6Keff1mD^gI`h%gW1T{7|1jo^Vj_pB?<|;X^vN zReV7&j%B_M4_W{Xs4cBPA8gXVsDW9@Ah9?Qw>CN2AXb}mulG81Ikp*#O8ke4S?#Ka znH<36VTI=Q4Qlk3TR3| zY*Ij9T=$>_u|WIkw#OC6->S0*7k8*hc|UkR!S)DZzXf79c)$z2J}Jq*fxB>A5U0A( zTU2nk=gR24Y`=q0_;}n9-Re{5{(0=|?7DWI7+w;F2M+t8MPsyd>>{WD!vNFGgDQw7 zG}Z~2rI9Fl!6Y>IdMELC0gjCW#E8i?T@C3&g2}L-KStef7`LXvdK|7JQM~o5js~(>QQ4cgpA}Mfh1Ikm;FE2~1~&;j*l57yyrUqh|87@*8Ku6(^-KMSIPy5F|2L15f2&p#x@;^)6c zW(5gvZJ}hH6DcOrefq9K*s14`m|Q17?-Zba5sbPl&%1y&^5+Dt|?=zC{z0ttp{M0yc^w7~C?Z>K_g9j}Uj7 z-9&3S8b;E61lIF39_ZWgpBOojib$6MqCvcgB!9vgfkzz0_wPOYS1OZYaXAN(E|3j_ zkOl9p3^+1}repN(k%+Xv%h5H+y9D{L4Wk=XgVAIb4jT(N6P9M1E~RWot7WheUx!i` z7bok71&IY%l=Z`c%pp5z{aO6fDWfe(ap3+(;FnN7bLQ8<4eyXF)zBt$E8rd1<}y%r z00uyJKSL~zCd5U6>3hm1O_myaYIPl};hhwjvbH;n?fiucuHm#{pUUXx4D$DnhO+GzTe8092IBJ~%q#w27H*M-Z|n~ws0g=-22j!L((oK8fjIkChCrDy z3Yhr(Rql^^ORmm7fqr~IdI^pPf>p3VAM82z;Vn90sD2>*`*2PkaHXV@1IHUwV zDcVh&v>xG1lbF3~;AnYy)P~H+fmgkY^0AKS^4L~TB+`&HP-g`gs zuP>0S62XAPL&6fVAMhau|Il`blTi@7L4?57fB^MG0O1l>-Y1RY%rjvb1EK9p@WkWuS1 zFM&~-!I@>*bS>#`HL$Qq1b7f{f_-;=agltLp!VKUET<)KG7-;UdnuaO&v*5lZ=itN zycHqwF}mu8ub9~b7V#y&muvJ_UKi(Ht$!LiFV^!76MQ^KkS7L0Xkeo4fqaCASZo1S zVs}Ee-@M0r{}>uFu#3 zk;H&zbgRWt4I~i_T*0rrh(*d(L&@$&$EyVv7)O65GGN!feeuwMooly#|2>Infm)p6 z+yFeMmZ&041P{^;K)K9}b7KAq(a*9_ z9q-I*`Wvt9gFXcY6(Ue!YwtWh z@=X%~Dulv zihx37Ixo4+jHD>`s$?D2LufOy2|r2x8zJ|Y+o@}esOkE$yWdo;W#Y|@0W1qc5EDyJeORF@yovV2U$7dnG@1k{s&NL=#h=!@>S3cTUAt)m6_v?LSQ&^-JX9Ky4>igl6^fm7puU5jvvEU1#aBK%$!0bcu|S}KmoH4BBIi; z?glU-385r|#4i%!KJ zl_S05RJ5VPBH0Td88_#qt zE~;6+k8C7{SRCEIja5QNQBiRVo*ciKmllFKU`cOr{DxT#jK(GRE zn9qTWxHvd2BBf{*I!}3N9mbk7w-5a53&ulM@)&QCUszZ&*lB{6g!Q_SIHCaeiAIY{ z1g%Ic99|gSkI1=4&_Ba^!BM@7_t#&4orRJ+^i*9h{Qzlvi`ru;Hl4YOK(p2JYsB0F z*R%TZAMq>k_py{UbSlvId2c>^_>lBwM}r77iNH&-%1Nkurf%!#i=cSB)9xb0;t9F} zU|-?}!QLNk^6*-n3%uaVlt8$tN2HeNS=loL#YK8*As4CQb_{V(kXt!umPzJ77x5f{ zM@SU43W97#Fbw#!wUX4SYGm{G?>}nj!v->7820D}T!>JC3GKczQU^F5WeR%&isTY< z70f7nC<@Bu`*bk|F3?Q>PRy^>Xpf(TDy9k*{@)~qpS8jUjQ#Y)Gn|e8$L?_Xa(hE1 zfrp?N_!DMaPRH>Ns>FfVl8)$^4l~?pfW83OD-#aIvI_VU7iWm6i?B<7lBtApJqE+J zr7Or(gug!+MJh^?rax}<9hd~gxTcJ>!3H7l>U&>lU><-sQxWv#_4Zhnz7rKJ8;T$C zT{wGtTLW6>XaE=^QJ#OB8zQvL%!c;J{Xo=m~Q$RP@aB|B+y4$5y@- z_m%u^1-*d%Wot2h`+i=YQM2{A%R;K;!xu=44+$0j5>vQdv?k|CCfJM=oNK1AWB3153x9 zs>hwQzY)`tSH3O!>r<|DA90&53-GLd77WbOprCm8oDy(H;9IMWjpXqrq9cmgr(hOb zO=5$Brv>djhhqv;@fRWH2YJL+B>Jbga(^W@ZKmM|L7S^Ujv?@e70LdWa zGHvv4@qmFfX`@Cz7!Iux&mxqt0ihBQXj)J-0v`UI3P7*<`GZ+M!qB9AX|U36=0i*& zi<7QYCBvvoLZo%;%t*PbiAkHIe^`2i%iN5RVP1KVm}W8aDWn!qV*u~Upe%|80+GhS zAXH8Nsr)*`E<%2B@oPx^^{_@b6p>f1B3GE%TW7RhyXuKfyE4Pq|NPmrXN4YqN&d)m zn*yu*g{*xl1$ocH^Lcw4!{=ZEq~QZoMUk{(wHK0+mR7{AC8EgZUb~Xi+xNqfc5`81HqzH{eQ$KBN!U;u|Au@2T}=1igm44&U&a_w6_(wiZ7DAj+Q z(E-V2J;yq4ck1t$Jk0WMc3gw`=%p3dzw#%GmsQ}u*>gV)BNsTyQ1()E(r-eFx%^c1hRaIEN!tQDx$;4}e;WxCxwh5OR8!$zqInDoc zd%qwKSA8L9sRZCv@XZ;=HM?=g3$C#Ua$V5TUyNArV8&Mh{d^hRV6yL%IKsu^eybv# z*ca~>MY|RxN5|LOPr`93O^A5-?^8eoVKv))7=>gIuaJvgv?xwD!|N~$gOT17DRmwb zc$t@QJ0r`mVh6g3q}~IY+cysVi)iUs?-pDIpf2Kcx1eq1mbujl0C{Y9(#|1;*rAaE z$g;tb`F7+~9?#*!7l_FbluU}RpDA>L=Z_x!3$-{2K1p&lx#h847i@_tR6TJb>JwOj zrHq0rt$IYmWdv_?g|D{--CkAXgUb}=&uC^;K&{|9;(pHFzS--nM8+1)08 z_%Ql~*Z681h@Hfk*=dslZXyakxCG#JwTdcLTzhLpib{PiKGoPGb$~eCU?CU+-PQ<# z7s`hrtb1=p%<`~Wx*=jNFH=j_T)8!0p2HpU25*{;g7yP)*!SRnOapN(ir0Q%T8;Y{ zHWXPB&S3cULG8ew7-ksoAzef!A|BVWard3j+{EK|&(~M&%$Zk0${U{e`3a)U!2JLf zT+~PtQHX$1YkH*s$ch|ua>IZ@z{KqBqo4L3uGWQ1fQZ&0R*py`hJ6W@k3A+zK+Y-M zZfC?1X>hT~Nl_nnrfq)r6Kr_T0p?6Ubld>bD(6Ofh4rDtQvBXy8qbI$RVU9*t)g<5 zr>7^h2|w&;9L^xx99g3HwWQnCV#giP9=4=ttE0UoH^l)I2^C+7jvGpdnpDj$+)Pdc zrGV|d;^?olhlwd{IPeJ~SJ(bXhjDws4Ju)#ah>qp2uJR@-KXz-nVC@r=Phn(Vf_1F ziSAalu@5nO5{`g)V?pkyN#$Sl;RAb?C2}E^T)I7B+no%hp&o>=E4eyE%01?$&CGWR zh9Tfp>n%HWWQ)k8e$#$r`C+)%1x=d9q1X*I<4?+!GRixGs74-mF0ni&0G<^dz)iHY zU@?0>JLH*Sk%5AgP(6r7fd-l|m1w@wTN>A7lTogEt2_MIH4&2^va~upG$-+m~Qw9C_yP!#>_y$E#AK3TUm_&e4%}Pb4|xwpyQ}2>cm~OPhW&S8GYtWV--kQQ z-S_5Uuc>U#mFdjfpEY84dk`>-FR$<;@Q zw;(?=J-mS=hy{Vrqa6`8o`Zn=Tx^p2^DWy+~Kq7R_!KT^$u;}4&N|B>oV z-kq=DWKh3F!2HHd+up%;_?!SmxnO=w!GCZKh63qEqyR2pgW!N@%qXF4+i|C(r%q`= z7b!7|@M8JK*x{N4G5Y0o*+3i6Mh`#VSpr@Msg{_E$-Or;Hef@zQ{Z0}Faa-4kT|(= zkSWI zibxI$+DDA`9|~PENFD(#s4G}6SptcW49P!oxMdtShXgBBCn?gHyZP}@ONj#>4 z#Z3_1i;x8n2NBmy%7Tm z@ZPtcs~%LEJZO``fGINV2MK70huf%;_zoBe_e&3;0Aec;-iIo!ID%2y^WC+U-+g>$Lw4-g(Td~ByA%Y@pWM0Bb6Y_m5OYPigohUHdHAzI%i(P@ zjFSs~fq`hl4$?yCa}*!f9X%{?UK2%%TvKuLfV0!#V=0Z0dE*;PPoOJu;|BMVQr+<9 zAdZ|x`VcZGr4X%xND|mqN4Wh>T~jC@m9BliuT-@+@`y>U4iD0S{wyB~1S9_H2olye z1Y!v_i3G8!4slcTk}V|CKaPECV~i}xpF{{one}7y@>+d}J;HJkvjQALEig+q<9-#4L?d;glPb7# zkcoRVWW2ZpU+bg^i%%mM?kuDxV2@D*3%O!QbZG_w7$nGjM+{C0jv$h=!E~#kM4Dy0 ztPK+zD58cq3&~kUyeR`P;i|+lB+w@uh|eIkS$pkY=j^q@N&++UzVB1+`)beJyLjQu)=kWtC=|+8*|R5= zD3mpx6bfDEkL&Rpkx#AN_?Ni-DGhsNYa{#Xmu(Fx@|W#xEUfJBtfn1>LVub3(8bBbno=mThO#G* zsW^p?v^m?$&2+7dH$1p{^5ihvA5nEXZ#Lh5{`r1^gr!LTowy7y6Z6D#4)uOJ>)+R` z)4kZNlp4MHoax2%INtkay!WDSb}ubN7F9F|-@C(+G9+v?+H{`{wrXZ*BS z#{5|h+Z>HN?W1(%%JX`~<+S~0d^tr$)#?+~)sG(aym|AcN`{&0RR5xu`&MOa)N6lLZU|Ml?2VS7*?15eeCS)JvCYy=5=w3wmCX#C8eL=-P^7j zuf#q#H&@nUJ1{%m#mM53Y`I$~Nh{+VZgjq3s`|lrq0#l0G-Cy7@B8}qC4-bw7VCnk zp!unxSZ>vX{_&E%>QjUD4x_C{mcG5E4-+)JuSU~LcAn_fWSQ{aLmv2ypBiq|tRcnH zA-vr2d$(+xQOASzPIlg+ z=N1>&l9raG-_xBX%6MOY!mXy=m3b<&XNr9R^i`CaNQ3B6{pr7>7P53;9>1 zo7UPo$-;`ml9yFt0 zHY3R2-7S*Yyf9W|%@#UVw6d&UqE}|wHBcKX@8aSTG}BW*H2>9$pIO#uX0+`Hvy5%` z+5KgUm`P{<4b#Wz^4HrBH-4I(oegnYnC>yTp`{hZB;%eRuM~ZMd}2a~{d|zHl*{BH zSy@@Vt}rocD=bmDpP3QEjAZrQ?ZINI#88;OdGkhYd2z1t`6(}N0T0Hk z3s1yD@!!l@EtXgkPYi! zn%evA%Uiv!AYN@Fa+CKN4jN%sUOIl_M5Sd`TW`iVRoK-3p0~F!9UWcF#b?K3&OPGh z5EY$%PP<-w+NCAa@`#H^re%v!uEUTK{$#kgxF~005;yQE@@|8RWqW>;{b*~`4lbp4 z*=<(JiE6w;Zu9oEo~!wHgp8|%Pu$reuy5bK;vQRP+jk`;k8u}auU;MP8XL1_7PGPl z;?o_>@P2!j-nBi_yCLOTS1|`xU&|sMFtk0ZxAL*;=n9^t!bhy#WN~Rp{@L-{a#%u@ z395tvv zw)X6N6%w*5fL~wQ?t6EcN97f70rSsE0xS}a!td`h2w7#d=v;4eFzS5uyPg3yp;hkn zF{^VyJf`G%u{kS;XhowU99;#A*xi*FQh6Jj7aO;15ys*dlv!C!YiPuR2&sA^@%W`- zIhj>%wImZ(_t`IUGL!t%%*L(PpM_hAiCQ#X61VT~)Qsrtyi{B0wjkH_@_UuUSV(E< z*)GRC`A^SJ$v33vR(?*_mYNZ>ZkMbz9(pq~9>M3(;`Bwd_xQ?UzT9Kc%Cmy{Zc~p2 z>Jx*x6rca`@appX5X~a%aq+Hz@NkPe+gQx7+E&-l#*G4NH*BkzboRe`<;sE%k_YstulYI=Dg8BO|%he z2G(cjr^qv|)C0V{m86RO@WT%w_{HPdS*HoCFEXWJgY}7zYhx958!Yotm|VSkt0Sz{ zQglqEXFJ!{MxLR!8*UW9-b^#96!fo%^piFV;?cZ<1#T827kXv=mR&ZV8YB#?HLzkU z^PMLuB0QEuM;hO~JEv|`uWyH?-?hzO(n4wIFZemfJWb2b|6A{ ze0baU&@3Zk8U5FWMNe5trSmV6wU(eCbUixNJ) z{Knb&`7rDRQbW>i%-K$i=8c6}wdFb&le_p~-MUb$xUf(m<1n(b`}d*14P>ne85D0JrAj&a z9D^NNPIb0dL9r&ot8fc3ywdbOBfk|U+gN(Oe}BM(2bX#)LJj682f9?dUkX~a9^PMO zKi1xMWBfg%5&qJfJCq`H?AS4*h3OG$!_Yu%#B{!TqB>1f;`(TXt#fdiWq#cnjZ6#8 z3Dk|pr@VHClI4xzkZu|2jaQD98)?oc$aJO^OowgUv`LUxJ9DzxHDp{*%;e*%8D z<#9u#oJbWNHQZC?v@nt-)g>q${OsAYnDfDWWKr}k&2)%8;#L*By_s?P>ihb8YfS9! zZetPj&v%d0sleQLv(?h{WoUC99xDY8uil~GI~p21-ZG8NkY8-H_##Oo^?3t57HPaz zMgkt?Ld;ulQchpLeoZ}bwZL^ow6L&{ap{>&>WNoOuAyW&X>%hjSz@Twx1+_wJp=#N=2<2RaH{%L2bqMTh{|u@l-ZfRpIleofieA{(+v zBl+#r{j1Fq&d;zwn6g@)n9@$Gs04Cpym)%VeKA|0cSW?SGE8KG`TAfTmvWMZKyAG8 z0ot6YscDQ_vR2HoTkEOLw>L2e-devkw|lD6Y1B_r4u}olC3J(!L`qF%6UBp1_pW`o?#W3``#nu z?_J&_h*~RjYXg0i{jQWN@9)Rprx)-4;OLyyYU{?RA@c`0y$q%Uq>;7SRZCHwnR?9Iavd0Td!wy(`{YcnaaviLF=l?;<|xF+SJhn}%&$D^ zZCM?x?>_J-(teFX!LG>zOEJ=&T7q55l zXnbr1y3sShdJ=23xz(_e3VgUrUtfO$7_yg>G3mADt8Hml-fxoqF1}XDpIO-Csabsj zpqruIgx5~q1XAa6lF%#58yXsf3heqWEG1XkCF~h8$&s7)A37E25gkMll$#rIQO3q_>u8&(O>QD09N3lT3+{!WDsLWil3A%Zi zXy23AdFI95OwGWBF@5GApZ@NZep%+B^o6=%0L`WxtzqnQw zElsx+#Hc50MFZ~xPB#yU$SNqP19_)gwTV9wcleN2g)Y+2m}-z=RLT5A;yPc+(4s=o z;&-oYdk#Nkm2%WxLpU~W7Jv^krcH*%jjOKOp z`GU)%ai=Cg4PiiXE>nZiST6(h>iViDPyX@CFTb$Kwq#j1VA&;XV0Ai*l~!u2X?HLq}@8jbS0ZIY5 zf0b>{wA7B-bHv%lF1IaCCEou&rWD&(NjXOD6M)N#Lz92H%aj?)uYPFIUS?)8-@VNX z!7VRcM_x8txnsf-6eI5d_Kr;Hb=a2kf`w5n74M+=J3VPt%C$E|Rr)YgP^g1SRgXTC zZ-p{G!>pX|bgeQ}=*(_Wi;G>wKB}nk@}Yw4Tws3`Ro>(zF}qK@SM`D zbMF^+6~K{^_5z7BU4DCx{KhquR&f0Iamg9u>_*MYEBRwH9Uj4KQqzqF->0Uga;JtG z6#ONl2T%zv0)*QJ9+5!DsF-|PKjJt9=%g2lg~KN!QzRFOc|hwS2tHB`rIQW zIXQ0tzBs_^!HfpI37$l3XP23_>lxR_^xE7PM!*pRnMEz)KqvO};7u5y!PR*KkHNxv z5D^ive%l^SS+bdHYHF6J9F73&XO8I?FEM@?b<6GYl@Ki8=qm9G7AUqe^+p5c1Xlw~ z%48NXi$Y-;SY8-wKo77@uUe^iqDu81Mm55xHJ(Z{?gPJ_pY8Iie|l`~BOXnq62H9- z<6R{VnEnrd<{vIw#b11ObAEaxk#I^0$Kj7y4)(njOj66UUH;3n>DC>3{(?*XikK6cX;urbEFfqRn=CGB){>drTlFOI0M+Suc@S?c_MOxz zL4(%Yw%?ii?DKx!u_FpixIRT!8^~WBixg8LY};Mxwfx;Cz9l+5yUwz!r*t%<+-w=7 zEk*vZsG$pO?b@}5-g6BzTJsA_RfAIbkO=CPpfcoJiI~-u3a4Ctd*}Y2e|`iusLQg} zU-!cgS99_O4L@8xGG^N@rgKDReR1#izG@muzbTqxbCJhNQP5p)pAVpwLOxP9ou0sv zUqr^PG^|l4sG1fj(6EwiGO7;dkHFq^`83=ViXuj8 z6ez!u)*ZIW$6^X4zAWY63tMe~HM#isF32oR2Cz9#cj^rn@MxvSk-;Lxh=YTpT;R)> zFTsIbu@UYy#Xh@50M1UGIpf+p)|w;KQUZ!y7&vkotyaW!+JeadQjHh;nTe#w)X?eb#7H|C#q?>=bYP4t{6Qm&%4OQ>75 zpndFRb{b!SY-X6#P;f0FBwT-{N#xu-fpAA?%A+d6-rZ1aoDCt?J^lJDQYU!$xb6%E8} zhV|WKG>gkUqEe}*?vMzujbL!{5Ho%&1TFR!%`t(4YKfo2ZtY4p6J`rTmax zuN(u9#-SFa;AgS{9He_eq6r&W=LXrlwY~1M&%6bw zbFmkm)LkN#&E&BcU-?cI=Le-KqzBsr7oIVN*OP~iic^TyPENRpI z$(an+0Dpf;*UJF?Nu*4*UGJ!zzEXz@r-Gh5+2tq0Ehs2hKJ!J%!_#PopZAIcQ~QmH z%JW)PGP+fcZ=ttg^SDgatE)zxedy(Ggu27#;jtoD-T~pF?;w3}mr|xrO$XzTD}A?{ zg8B7R0uCtXeV)*d1NWH6$gAc%jq`L2y?F8Byq=Mj#s0MId-u|^vkyywqTToNQ@?oe z!D!*aD35-LW}1=nQbc>+b+TQfA6pk5X|UTjL+1QroZ^0Ys-z}Zlrq3gJ+}I(lPCLI zbL{3Z$Rg01>f;nopvx+ugRJ&_?3fSO24t#@t68NcDugy|-CE!I`qqka5MZ^kqM~AM zPmp#Uggr9GsM_^FzUi0Wu6KhHYXi2&mlx4 zp!Q;-8$gf<$Uz}JzG>se@x=#~_W&LSZqZ9$1S}J=={zc8^6@ATF=|f{X6YH9Zf^f) zZR>gvW3nt9`ad4S#5bUVNfyPUa%lNaemp^6*3qFaA115_wE;aR3gfkI-MV=9rTHc! zClI~K-pAI1RM$~Oj0gh?E5PK?NLI&ZbX?&p?|xMH;?na--M&^{EFJ|C{U-!{C<=I9 zck@o3j~Ll_s4+f!jwk^IiTkM4@iKpX77MRRyzOy~F|8sX%h)^AEFyVQRxS_Y^E{x`><~dqI-Zh7U=Ys0$fF?ygkD6+oKYj<0FbaED z5oJ^j7tgTnkaoiYrV7qCo6`nj9$P7)`;tX;`}XYt^vLEMyV#w4I&qi>eWgP06*0j4 z0D;rche&0yTNJrH+zsRniOC#F>|k?7VoKhqIFo_!^-&!b8FwAa=JYbhIfzl8gsLSY zzr4LWgr=;HTO+qcWK^K9kEIXy^BpI27Qku{S}3t zcTbPqngp4IWNpMO>Ga~a{rgd2QXoW{LPTK}w~xbQI?0wNLDG&Yk~srm0}w_PtDev0 zvW2Wxk-J;akV=7z0|TFq#s+%UI*eB=1U2*S(uZU}fVoD3<_z3BK>hf~#_jp6*8%m~ zT!xZepg;zOhbKMUe(qfi5Y zxL%B)AOMsgb_OI6!5G8xAfpd~TzXyp{{C`f?FB%1hLR2MK(q5I00%~yR_Q$qg07*V z$2|^|6|Tf`^>B&nRYcHPrFOXORUs3*ag~h$&m1b=l?Fs=2fz~sXuk{c9AWtoL`NN1 zl9+^yLWuB$p1K=~hC;iy`4vNBtX!l1kI!QC3S45YmiZT#l$7k?)v6P=Zg0&8Q_=J- zny8YHAOHH^2iT2Ezc7EGDa|-$h~hX{R|ctq37-U!Az9A&g^>ft=xrczIk0OvGY>MQ=C zXTza9?Hf1p`;f9BM^)n7A5 z4>`sGAa33I^}Vy!K`;Q#nGEc|zT0^Fk3Tr|rHw~7M^ctIY}mHvBE->p0XTz(XJKA} zf+YD~-ngmL^CMNww%Wd7}OzXbMlpY?|#vh4=DB9Ic zvpzEMN(`^NrTE`<6N^*VeZ#tOnIDK{U}fd=@bDlYj9JLY8_$yL3zPOi?4E@zPcR7@ zVV|Ja1b)-YEI!44;o{^x3)wkcoRva3O1)-5r&HjPk!wHj94+juKeTCKNOZ&|+j#)4 zXsNcZ)DJh%qliGzTGa2RWsYAJ!tXFA#cN&OHzg|edC_<}#l*G6+%vg7sOj}1H}qjcf$5{bm> zHv8o+5Zx^ZOwWS#Tx5leDoUpXQd3jUUAQpairSNM=?bpb`lV6I6SJQU92Ku%SvD@6e?`^H?pI#B$g&U%cL&cvR)4KJXNxs2xY zsi0I6$WpS`qwXLr|9N|Xt2WD43guUYBbk&7;fEE85i>vh~_W!S>!2dnBaJN%CEPWh>Xb&VceE-3x65@Y!wS&x)}T_yp^bthMshOF#(E;d-BkHHLO zv^nEE_{`@A`%Vbon6*jP%~M;ue#?WFkz~52=pB134aR`;=l9(^AC)mL!{-VXNBG%v; z3D9v)-6PMprDW$TbV+j%b8% zW^r~r40YIe9^g+22ucAcVC7ixJjinGdk)T7Oq5#JeqO&s=+ai0u$%_6GxZ9(^KsH&z*tD{&cx45P zIbrgBFu|2FFXc&jX0NNMBwd60}BUNkMF{BLJw@1QTEZr3e-i7|AdEd*cw#B;0 z(m@i%ERl*2AOaTLU8(VR+r{1H)5(Alx=d^<5)AnJg~^*b(U7NJZ`d10+8wCGWM6~_ zx0IAFcGpX?oIEWX2PHgV@(;FT(Ug>x*=5YggE1Ec`v~>F*=^N@&EhBV$z^-AAC*g^uYZr+g z4mz01$%HFQHCoYkLROf3wU+*BSO-LW%eLJ5nBjbsfw2_J=JrcGkjlMe9oW9t!8zcG_MnVfB5;)yDs4ZU5zP} zTphlxtdbfa%b#J)v&lkH3eHFZQRf5>vC7gWN?7)_F8elz215yH5fN4NPwD`+M7fI| zp5!2gceK4g8+4@sa?hCRBBZc=Fom!wdrXdycSA#0MI37hte9ECF$r}k35I7J%DbjC zY^MvbOsah9OCP?ttgn;W_d(v3I(Er{w27ZHB{oJO%Yq3~jal_0;edp8^&tK-0Gz0f z>II*`+->}Qhas_gnxqk7Q7bDeqiQQD)v))WWV{H&9s-h!iETaM^e8Td)XK<0+|pbg4gFq+-9EjlU+qP;l(6@0#q zh{g3^N{JeRtH(o2F>6kbXB&Vdqj>Jz{UCmQYFE!NR(xCD^#+JD@gQ)6#k;NRAV8@g z29tjuRmVp4g)SXD`dq-EC@2TIkYWO%xsDdCxKE9B=tH+CAGbBCrarmLg}Y7B!)|~; z=gx|LKxhWVqD-`dPSRyE4%+sZh&9Aabi?4$+#x;!kN?_Wj4eAzaHinvow(zbi23I@xKGppklF<3NF-Wj9N|W|7m zR&o2YP?f0zkXnXN)gJj(cjy}ox8_Wo;{S?z=2_GfLxB{d0fI3jN5j?=Yj=t?Ztk(= z5)rAtx!NbLJYLfXLt|;oV?`OrNqVk(`;)`hjuQ*Lwa9J35eXBm5R$WGwXkCf!ELA| zYiE5%8jJ=v$$a+P7jEd>eam3&i3BMA^APYW%#nM-T6+W`A`-~orL7}bTTGRv*Y@0= z?AgnYQ9BSpPysZ1nNI@|RX+?2?BvxASDk%n*F?8LGto7aaim@xDFQO6eJ_9-B=p0*5h(M0_PMIg4u{g1?UjWh5;F@mRU&`B!!q4JN|Q`x&qYM zdeWar24~$<(n0`Qwf|{qhtY#98($oQu-HIEZ>&^Ve=^jlK#gC?XsF9*FL51~z3=Tk zDZcseTQB~?H~?tv2dJ{I^enPA9OB}VU6>jBYZl?Q*PsgY3=NrI7Q~xfv4ZpasIEkZ zm#sk=tBaA}O)4!JnGgX3p1-@jF5My?tq#*ITXSZwTNK1+6PWAN^RMwConP^=)lVc2 zz=j$aD}RMVnx;R=kg`ZRef(FaU$g7ypPzxM_LD6JX#fL!Kvo>a4-ta?J+csYr--JC zA2kSfaCmuTYcL6tckf^eJ&BpzXR;1WS z8>w)->xsmfYKF1weG0sZ?FM zEgLr~BIb)%M56<60t(Pee)AkHfXEwg+;*_LEP&Yl1lX8DY;t}8eAzjOp2#T+6=<+6 zFAKusQbaI;C=d_g0036BD9Xypur~%nFUZQyRaevFQqfH>DOMeYx-d8Dpu0jV9d+n{ z3~8Gmj{Rj09TzoA*SEOjFL@w1kO8;1Y4`N)`k(n)sC^O|EOeqk1hcr0cnHtrp|JP& zqXFbp_t^GiQ#jb!O_2@MdU^F8bhrnRCGU!h%}O8aBMoo|HkMv9iLz@{0Nvs_2-BbJ z4p3N*?Mc!v(j&$m>3xF_Jf{WhsKnh>sWe%GN_&sXax@b+OiCk#j&Y}~jJX7smQ zJo8fQnrwu(Rzm&-Z?j!ztP=O*AsfR+mUn)`=CnsDN^W9heu&?PNvQarb#>Tf(&UMx zvtaEaf(v#JjZkd%V4DjUJLxVSc?$}Bj5QX9vX+)s%v|vs3^Q1ZJJ|psUoZk~K7INtGFu007m?lIMhy3#_cZ3%858H1fJ)>PnpAB%-`s+Ke0b@3ze$j0YW8&MHfyTxKgUj%QNS=ubB2g;cj`O@hzCQ)&=& zVV5PU645NYYEc$+mQXLT$`X;M8iK<^!Ux9gz)(}bQvaqCs73LJbq#_Fs;&}_{rmS% zL0b9uD?CtWpjC6#E`r%&II8{`3sP*Y3+Fg$7m0KVGLrf$*q>)X<0wxju@>O7&4b+s z!qY%zjpTejp)E|oS#1~mg6uR#!DvL{#{F$GiDBuJh-CI$@vkH+7xOO)~? zh!Y8rSZHYn_w9Q$Cn^R!qnd9OZW@(}Y3Jy;$J(g^J!3E``={s8~P@q;MU z^Wi&Qm!gK-VtY11nX&MS!qE6zrTa)Hv@0L;CkpRl~gHhV4sRlwyQa;C8W(vk*L;6Gulez0G(Qk z>pQ<8082Dm%chs7h^3lpPy+2FIqY0`i^vYnr0dq!)&h4tHZ7#l#@JUvvtfmD;+O?ePl{;73@j|kz=uW>(*GHA zxPvq2aw#?Dw1S`!r>vG_xQ4EOKhnBy zDEbW`R-|qbaS}y&6Foio4I(4&R?;mDyn(6hxVSLK^<|D7bX#Cl1AGz*1ZYFEcozzi zE^e_fs%OhyX&vYx#L6b`NAMz9Cr8PPk-sXko6H|!#alo>6#*^y7RGV(A&(p(0kz|X zG!GUFIb_^JivwGdrLp&?Z-~jOB22@>U*He#@6SJfbVIE7h+aE{u}G{gPLMtHu+Kn- zTpqZ+pDmOr2SA(evbu1VZ|BE}oypSue*KTs^-_N&e7B%6hGK=ng*sV2y^L8SL4EZ@ zqyk6**Dr(rY3i-;-@4E% z{e+w^aU&;XPW$eO_hpgLdO+k4Jp%EueYL82#yMk)LckI}Kq>IOD@9bv5ZP=jR!6*8R z=z9{*aa3F4*pu2Bu=-ME-?p_T-l?m46FY1lLOSqb6$NfI8=hL8(2F9eYXYr;1@^Sk=j%wm4y;9*k-_MNzM)*t7`NTh9*Fm>~u zVSELGh+@0Ci**!ltWM$osFRwoln%&;MSc5b!@zm*C>T{eSgOJ5XiN6=uQ`lEGz7*f zNKFM2DVAg#(Q6RNj`+(p@Wwn7>ypHYkuZCTE*JyLfD?K>ERxKBdv&T+RH;N5Hs%N? z=uMywlfbm$TnOp)F)=PN0RaK*vRqtT&i(>YQ}$FIF`Dj&q00>pf#IptU<90`XjVza zMvl5?%9w^i)n)XBg3P_k0(x40H`v@s_%|y0BR<_`b9aOZ5TAO+vv)fqV=T_?7>6Ns z9CmAY)Q}08|ft+)wR7N&AI(oImA#xLf z|FAj$S`u`^>6Gee0rkkgNFFz&3>=oo6u&^Vc_V%fA9iOdKlAWqsgYdY;$1|1!k$n& zlj@BEitsTBa>}_bY}+dxZc4kfewF8qh|rJ>bY>8!CMJ&B%4Pn$|Gu^N8;49w9P9_F zMO%EOHomK_Rv>~m#EOPRPywR2JXgU^bFPNX%x((yIfzqu#J~a^GKHf=<_Mh3;IA5u zrS623)DQwk#JJzaDj5f?)sF)uDgdNOzCp3rKIo#M12)qc?=}u`rcxW2KTkA&{bS1h zjksQ-PH|b^Q53bq4-AUdqCZv!!3GlR12Ca_Rfw9^okb$?rMMau zPU;i+91 zu+7=AeLF^@`=@mukCDg|j2Yse)DRsQU4)yP`y6mZnz&X9L81r@MMFky8{~B6*thQ( z;wJ#LK3}`K9AJH9ShlDkdHE8rMN*hk=??+L;!q;#yRVe{_(u ziILs+fToBJW!IALoL2wPwhdUgE=qR$-2A*5Ng^XxLzH>#mHN1(B<-xKp@NFp$W0_( z^S}v{={` zz=q{uy|#%s+xJ{Sh9?Tbp$?K%56XL9if^;^l=9qm4M(Ri-g@8{Q(+z8q6pf4c&<{) z3*Fs+neR+P0yZdN3m7&f9Q#W04HyEZsC#x|LxxpbGe+46BotvuMQ~xFb?W9hYO-)O z@M^p`ii{G`KycRfTs%+*f@xVvzK>!_K|umd9|4S*#ik$EecZRaIH3?79UYGoEP4|- zE|3f{78oSw^{z-%_kNP`^I;YtmnO6UD6VY8F%c0BM8BwT!mJ#UbVzO)66cq&w(a~& zZa-YXLYar>L!4kFv`(0{W~U+*e8nMMhd3`}onny`6wVJGBxfVQXFh_7B>M&#V~x|0 z&`*R>p?2mqyUk?8O}pnF%Z^6gU&KTo4|Nn35uu)(Y{s)c$3zi%965ZV+LDvkP+uD4 zHp-nlR|C~A<7(M2sL!u3i6pHxF$U!y-qUH!=yMWU!P9Ak@LZ3MjZK6+NGx79GE&Vi z4ZR2_gv{OX)!w-agQ$pOQSf|{d~cqA#d`EEC$udHPZ6fp9Z<@IMi~BZlbr95)PfgI zVyV!4G+7QP;Ls%*d<+p4-u7xwpKdl+EBPQY)Ie*%8&#pF&CSl1mXw^qeb0BSEFajr zcQ2+wlSM!Q=O_PmRqoa++N#>v*u>~xK%a1|d}0xN8I4&h*FK&cK~IeA{6&$%^5(Bn zHx(ZLXrHvS9x~dQoD6)y0;dVwL%KHu0a=t7ZI*%i0>xk>^@F=|V$e*Qv8P~cN@an3 z4G^6IQX`(t+Toq#L!^eVGP!X0aF8=60Ws20zOr=K0;;e8pPzI#{~NdBH0~vb9Xh{l zqmw{EJyD0FoS>TuSTr?t@yaAJidilhG|3@aB?*WcLy>I5%&8#BN76jlhEy0N#4#bB zE|gpx2-^KG$k;>0SRF*2K>|Vi+Sfne#w0&FsBQ+=TkTA_2t2mX!aSy*etL?KtiE!` zz>VS55?uGdBYu4%8-B()p-2Ay&k+epjOMovGH+KkhryJSPH5MUxVp_v@PCWJSVD?meW zm8OvcqS(!X=Yx1sQHITtPGy2IS}$N*kJz~7&0DufsuS}rK|zXRKq$GCa7 zjEG`xL~v&r;!4z6>?LouiPbW{F8KGMzvxg09YNgx^)J16;DzcR4bfg3Ad>I?njc>Y zlJ6uy1F@5Ahd2a*$~mY{$?#EMY6)vC&Nd}&{DE@h-QKaaorj_11kh;KRGvJ9vmqH= zr1I>h*lu>E(CIK(70wxL-F4_F$sU50$G~zmf&EHdz=={e*{pV#L^LmBEq|gqp+=ER zY%Yc#VGolhIMZrZg!Tl%o=7OL5>24}o;!cOb}hZ+Q{XG|y%X5xE+ZKYf<5Fk5W~+u z?}ID=&H#UI<+<~+^N)uiiQ}w z>IWs~0%4!XgYJOThWy8OL48vSxMuc!9GN_UV+!+N*;8*e^PAxRk*^PCgLH7gUl{XD z+L6!_PKXV_HmLQaTbu4Mq*gH3`#4P6Etf>;Xoff~rKFo{{|VwsJ#<%6WuO|NO!$%4 z`s@-oP7E42G2PA;*cU{ezq{96*~!OsFg|v&(ZG)j8Vq&>aa*L=ML9T5gBr}^Fj0o{gpto)8ESzyWqJ2n%FcVf zzM{A#f#O}Y`ObEB$O}5R>4R=hKxcP}VGl(gboMcYi^_!E(Lf@))jw?5;3{QBY>cp2 zyp()Zz>M78KmG`brMhspjBEBV;V@3TYGP1>;Ob)w0IZ5Zst`h47;5+avV5H8qb_7w zG~s9}iU||Wx*~AR1iD((yTLR3E8M;mW}p_mS{!;6zcKsm)ZR4rB^QizmARijf{7r8 zeLsQQ2)^@cQjb;*5l8W3IDsnQy9 zwy0HWzsT4d2l{Q>rmx1~xGfHpKSemw3}JAyw%iOW96OYwF;H|iZKGS8ZMHb^ZVQmX zNWl1T$$O(tN@WU%Qghv$j(b_%QPeQZVTI zG-m=c+~;~2R|R5T{la0fYaKTxe2D3f*bM1aBx2*fG^Jj>gfh5k^X9yMcHNgB?4F^H zkmw`vwHg*tNk}eZB{NqK5xn|Xg}s$eB-GL6>$R;59Ay1Acy7M-<1SCjt2lX}!2#bL`M2zC^S(e4juJY2xTBLvXQcvAcJ$vLauO zYy@fS1fQaFB9r+H$@L5P{uGl;=j8#MGid;#R>j#ra)b>B2$V6jIB0Wg4{ZiObq51O z^oK_Whfuh+3UAD@GoGbn|AbQ0Sd0po1Q-vqC;<=eAEj-Ta|$#j2LO}EM&#RI$Y~8? z?|bnPjFLN&*(5T4HhXUsEq~NhC)r0xaB~N_yLjp|H z1PC!C@U)Xh<0+Pybji>YWE0S&FqrZX<&<$wKp0;pvqy%NvRr29EueN6wBpsH|8tD_ gzwsSK6Dt(adg*|xPJ>zaaEk1y3nx>KU%L6f0N9}^1^@s6 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp28.png b/plt-graph-correct/exp28.png new file mode 100644 index 0000000000000000000000000000000000000000..63bdc85de03a9dc74b083e86d2b952b18f800f1a GIT binary patch literal 18461 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�df+yH|U_u0>sR970W-+i{3>?;fygU;+oZTB*i{Tm+Biy}! zp~T{iwyZ#TYB;^&`I@o+nC9WY*y`RNQyFy$3&*LIqqyU!$t6_e`llkw{~9B}1Pif{ z9R-h?1hwI#&ej;Pzk$t6|Ds(}*q$2X;s}D}H;aYIq3-VYrk9_@9$V4(;{H0umvBH5 zCp58y3K&%GB)k-CI~hn10$T|0iUI`>N|F790NjIc=xmK1=UARhH2VLXOvXaWICz2K z>k~Cpu;zrLCp%mbz$XDFv+fkncx_>>BzYP;uyt5AH^){pt@^4^WEkmyH^2x z21Xyf4+-D+x~#^)E$X8|z4p|-Kx2mBA^_y39mV%C=#`sZPWcSG2s!yp9J5!hTw&t9 z_PfK+AwwGuFYCp5dkdR~m-Y&*ZVc@eD+^&qWYwRC;-@$4Mp65}KRfRx#eZ{1 z6&hs)1_=uVw0U0~B@7a_?z1QxhZ6#15=YrsOVY&He6RRYHOf}v+EtXy-wSEi72U)d zA22r`>PV!=ZMRa&4<8WrfABIOo#fMzeAPpfMf^%dValgYGmK%*@2ZE=kOF z-4@4!tM(hBu#)p6q!Yu_e37tANY#+qT^k+{0e=m%-3b`I2%}4^jg2ZKGLhuwfxV;AZVK}9{9vvS*Qbz>pgjW{64bha7t!oL!oY*` zBgD)^3?x`};smR-_k_U~$B+-XF3uAM2Llx5hwYQGwuON~4@*9f;tqFePPsz7GAB7Uhl6^srXHo1 z1NDT|P7O8bvIc;4VZ?DcFjI`=Ul!>~{aI z1A&~J!vLvt$abWK8Ua6Tl>IQyZwSCxw@b+Kj32j71F%;}wE33Jn+YS1GBV`ZUIl7l;oN4}qkR?YYh_4j;8OH1~-O1lfM=@Iy?S?xl)bYo; zZ72|ywT+O1uD4{}z#?0TLEBD*7|Dh@T{#2erM@rt zq`gd+#Tf&iLkb5faQ@KU_69j_3XftuwjvIFj~z@fITqPFfl=k&{rhbbzFhs?*>d1< z7+~5k$3G>Y=LE4KPWAOy@qDdq@Xih35FzpHLZTTU>R)2x$|8?rwCg%__N70;ddVV% z$gE84xd?Z5R@O5_Fto&R3dG-XL>;+u>V6sdYRG-bBnMEz)N$+=;&94%!cxp1l U**BgIxHd)dtjw9DQI~$To&81Y4;`yg|bCL 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 |1|?(Q|I( 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 aN~Xiv4WnAt1^94^#Kp@OlFw=X@jn0<-|x-< literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp30.png b/plt-graph-correct/exp30.png new file mode 100644 index 0000000000000000000000000000000000000000..9ddd210a7ab2f239b83ef9ac3a07c3dffdecd4b6 GIT binary patch literal 17991 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

k){7O*wJ+@Ff^nQzBi4j|cmo$HTt&DrrB+ zR8WjwU=Xd&3@Ts7maju2iUBim6A_Gj`0zW!Pe90=()ioIz~fA<$Z%u4FZo0$0pQbu z@fi6MVtMumqC(JP#YryY)H#fhbA>?{yee#ytIA-BxJ*iPGY?s57*={T(&@Z;Yg+cd zV+^e9spN90vumpno7IdDcE1}|wokHu+2s0y{efZ$UiE0FQ%BM!ZP-sA7X-#6e7 z|6sTM`r2G;;SjWSK14~B{(UHJn+eVZX2E|?TuTd=*&>VKAWC0Tp`-P--S|kSov66T zN`Icq1aRP)d(kPv2QdW(j_tzSll}-$AeNv=VLNn)T?#f6H1d+7;;uvVcwVP zlOkA}0^b^1j~PG+Jv$yfDT-xFf+~FvmvV;33_O4SvlNtLf-(8~Q2B`3@DI+}L`ypa zQfFFDhcfNuMfp4VPk6x)fPv;+GR6_CAVnNMmxS>j{gJ{Yq}sD%v^6~ntu%Qvi_>RosvO3UI4Nx_eBV01 zl`;ipa4u_W>s2&@_MBS0$#*k{ib|7Z4eQ>$v5+dLoG>jvA~|9pj%C4vjk=|h6G6*_ z7KAc73}2%P5QOyz4;Div7Blp$tWocd<8*nWI`*8EA|pisNCFY!?!r~A#3zihlz=%D zv9Mt4u$SKv3m!d0uL!g5K&5}h0QkzJLLWfx3RPmg9udBWi75rHh*+U*PUs<_IcZQC z&Fdn?xb(XU9j`$`=674L!K~i!Qvp`j`2Yn99!q}`fyRFXZw<-|19>``Co}33 zv<}QOj3%lEp+3b2#A(u(s%A`63d1SUUZBV(6W|LU&=ThL4gj+|7*3V_Lxa*ZGA{#- zk@SqvM`AQ+Sr^Ab-TfQ8pj8C~>{(n`08gEoQbhFsUDNiKVFyj&CKmQs$+H_pdu{yu z$KB>4XS;tA3+B#`U@&|4?@t0tOO_4gMJZ^+R|MenP3|N4_e1W|&g)?Rx5qmZzkW3# zX@@aB*6;H9&gK*%s(j|b+T#d4gMH(M127fEx1XMs#u`IX^2Ug#23Z+dSt24qk}^2= zou2doS)=U@gOx!6@Hf)LsDaEFf&Da}5L`9`oY|Re9*i+|VDBuJY=%zS9)c|_v&+9k zvx4DrWAU2a2@;*yx_|x#R+~Kdbo_f~aqh|LuW$bIR~9hAT=r#2MOTdpy^XeU>GI_y z%%kbqNi`F-y2Th0tmmPDhO3GxViV98xh;Y|y*xkBN_HL@3_SK>I0TDi`2%PgT6Gq% zE166px&wGF`{Az3EL^*07;h6x$@e&io`E<=UIdgZeAyO(Mu{}`Ho2ugt|wF)}>9C-2wEZI52 zXs&02GA(Jm;ZTBQp1ALTGecNP&7z>Z6Abl@QM}^titxw}lis-?43<;Q@XQN3#hK_6fz8Z#k(@ zuVQcmAR-roR}1MaC?n1m%e!9jT;?vC{DrvA-NCbvk;@%~{Z+y;d!PXiGhptZ|IT!= z5t=1#`Irwld>@?PBLP-9<STCtTN94j1kO#FLXkvfspsqiBWYBj2WTD7F zdp(FP(ov+~;s2jqaQj~fvj1y2_S&5Wy*%#EKmQECAfFgm0a!AGe*pH@v}cJ6XcrdJ*`#j z!JAjHRQZ_&6F1kCsO{sg*Qzzsc#g;ftt)&!b=v(~g)i$hTpXJl%k2R>cB!3uu>0sR zG4DdI3?IY<(z_mTIg<~9%KJl5{1N-$2pl&$*t`;KFgi}<+@{zrYAZ*lx_`uc&Gn7wHPU$9_~5rH?IHJIDyI=1V2>DL#I}B9sLg0NfnEY#Cr^x^K{))X6eT-5e-GG;E!o4aYOhL*j zC2l78&55A&9UH&r&EfKbg);{1ITp6EAxQ1t#ZEK;bj1(DCXVkg4TZ_WR6H(ccMeU* z!Mz=KEDyfkq4b)$ZPS^|F^w`L=WWA|2?_wle>|Lcem~?t2ppxHhp0agPYAF^OqSz#+h54lH>HCVsU$8)ySgUgJ`Q5gX+Bm9Sb4v5k@u{=IwmD&dtP z))_c3;(;`hqYXp<%cJHt4%=i)8(gy7!78o|PzaZ&*DrVP&Q2+}y)_O@WX|I0w@7O49%j zhEd$qBs1T_!z5r_%LEOfdH7iSFpw4DVNlh3pXt>Ce1jlFsVO{JsnpozQY~0*&hsWvLs-w-ObthPRd2l`AHe)jEFXVQ@ zr3Wdn_TZKXmX{oDPzcuZ3^U{~1Rl8!$Y=BUY%-hSGg#uE;RMy0-`GM!7XTZzVRW6X zm#k@2kg!yIIeNI#4TYd~87Uoy*Bs1l)wT11&GsGfct9`IdU9%{t7u0v@fX(PK8FZ9K~4-V4xb81P-_nQkYxj!ccmY`7_QEnT-6BLi{)D0qrsF_1#~*bH5u zdG_Nl%FrLJg!DS648Q6eXpK7a;SOS113hWjtswdWL70rQbioze6raE`GQ7b7jzDGc zivj!^dS+dsh?>VCZ}b?K$l#l6Fq9aAhZ{lH;UO_(BWU6Ht0?phd@pqDH+xuEtQ?rC z+Lk2lIQ;?{NEy>ig0-rg0LSdn3LhzHR53(jw4QM8?k19T&9^d|;h0TCxjJ!IC2 z5&tnrv}zTV#0KdH>auA&!*z!}GKv(jUt!72xAvCeGuj6Z(F!y99OgaPC@nGs1578A ze%rxnQwJuQ7i{b}jxi^^ zergq&+m|a#wc)RX$g2b{0PmZrL%0Q@RK(;?0+Um3`M}h!NeOM-!y6bF2plxgL!$^Q zy*>8%-ag%r5Z#E`F%Y*$h6URRko-~*?N4ZA#MntV_rKq@gIQPwW&($W3-6 zVj*M(Gax>$|HYYDv1Vo>k^Rkrl8Yd ze8xV_^%>+2&3`%+*BC_N3EO{tGUEa11p|CCz98dsA_$`&speQ{U{0k5!Iqeyn{Wwt zo3e45mgQZnNNjDPj|26Q5T51it^o!1SXWnEv`+OgI$o%=2^ZqXWj4rc7HG+`;N{goKPf%| zV-UQJF)%cd4&pE+nJ}JDW#NOx$Uh*!z#)qRH&4s$=V=h=szOkKuwwsYGLz~!-d&|-R$9{&gLNEaCb>5O+$M|!= zMv(k=1DGWU^HD-E&oZo{r;1AYFexJJ@N97?Cd9d-hg*+2R;HBalnpj)xFB?A!-fsB z7$usbZIY+IjE+7m1))MLyFaa5o(ld1u>9E9_Kq-N1x|(yQ za}))(2{!UH&-LY=Pq?lCZL!QFg-nK(47#SmadxcAgBkgx4PirV9@60FsYLVCc0ReeDm8ZSwGLv1Ae4<+jR zb+}>|RX>Q$QBrlo>C{_ngdiMOs zgoN4+M^Sv5!9Y@Y4L`)>54?Xm#bpKkp7af3ufq&E0dm(8g!u4AID#O7xm3v%!~|0> zW3H+Q7i9_NJHb;J?9oe*N{=1fY8&6XPaxl4G|s)rW+gRW+X?)^4FDq7K`wJaT_qp@HvqooM9o9=M~5;e z;fy<`^=QQ7d1p72Jr>;X<7d`Br1Uj3TeN$X=*v5#8o<#K5EI8?55mi~0Gq}`eZ!Rr zrCe<_bgH?p(Z0h_%~fy>4rui_em_gAVI*!yk~>WBClWyqer~GmH!BxstJBxZD5Pft z@siO_7Ve1?2ndO*c#Ikm9!|E0P*a#b0?BVW!L`QjZ+$eMjdtpLzZND!LIMrPSl-OAcx_W)99qcBT|XBL`b68wV>3xF z*8JSOC%8{=9=z({U~4bR!*l)Lui&<^Gv^7iyJUx}{A7DU+nz$9HzI#lB}ye&P$=i0 z$(}o{?h-lJ>h4iF*||L0V|tXI-#*+g{k)RN`=m(vd-lo7XDp71bkDFSFuZwlv^VyW z>g~r#-_@_sJy~;j-^}N5&O=>8od9rlUttf4J-nAgj zb+~u2ux+@}mscA1@yyqwk`7c!eD4e%eZ=_Hz^X@!_7yS8% zvYJA+jZD{yxnY|1Wc z9JM>Irx$tn@Zs#9mTjbQWg`(R;H@ zi=~BG>dS?=IM&JGcEep9>UY!9((deJe|)VzImvmrO-@ek<0I#&*lk=9pFNTeo)Ym3{Pd zbd|3iY+ctcyWmB92M!#d;SRe$J~$pmOQ6xhv7SBe^SBN2L%U`s`x`R#rk9PIpI?^_ zbnS_9wsUylIyjiqE)-aPYwP}u$mrnUU~}!K1_jri>c0%`@1LFPPxE8lv1d<+Nm==j z`LOg+rN|S}(a|*5@oqNi(gMx2ELgiz>$#Qoj$OM_+ziju&*Ww%js)Iw; zy(?bJi_>}^Zc=w|dbs~;dtt%o#DsuMz=4AJ+1i?#^1387#dmjh`5{i&4f1n)+X`OF z%E{S^8K4J#{a=={*js+qaDaBN8VQkh*}T~hbEJ%$2CMn)yY#l@)x1x*a& z<~RC3J-YeRmMsF3l9DuOzkS-fe=#Zb4{IxMkEn^4-_OItvxAY*>VWI_ZT4f|WixMd zO0%%nvWSW{F_>7iDpwg!ZyVyQoq;@3C7`vn99 zBpDRsg-KBhi|zQHfBkjc=JIDo#R?ZL{E^;hHN`kOI!bo0q`keJEYI9ze+1%1gp)-? zq;YAlsntvJlbM+rt8tn0=S}BY$nC}ydd%9{V*~dY8XBrSyL{Rn+Y_M}A%wSe?x~*| zY_4Dl5I5emhucanm~%F#c_==_fG@BdL8zEx-Kv1Mm-7@Y1X>h|ae1#uX#`Q0Y2lKoj&TvYsXH&=Op)Y6X=!%f+iD~pk&8t;q6VApyY>DnD; z&bL@o)F@OL>J+QnYBTU9y*SIVp>oOV*PAyLkq-P7ArEre+{(^LOYdW5X5PWTa8=Z? z@569bL4JCAFYU*JRK zsB|i_@a1J^XE#GKuyJyhySTcB-M#xW9;rh?N;$CHd)1n9Y>EP&#uo*VZ2EDnr&(3^ zNB1sHrr+o+v1)IBvintND1%96V>v1ZV@d4e$K<7r*_I)^-OFCwSh}mX=$Nkk`s=R> zD6)#3C4LqDOk&n~bSIhDjW7>k3u&i*Sxqx2aLZW;H;;BLxxlw(1D$~7=TzSG^mLlb z=r=Y2fjXnoyDGOx2&QUhmY4YLS3Gm(*ToQ1ESy57Sw*=Fv*(r1PxUS7m?f=*tiD_( zTM#Slr+_w~ooVLRTOBJyGkl7;cNm%89=EvVrEDs<^ng zFU}b}`6ItJ=DTK+KZ_w3Na{>Y2|YNjCA2(SMJ>;B>@Ux~(dk=Z#=nD2;aS>IF0P6! z>(-{3+1W6Z>(H4Q7k-;IakXT1b~O}t``(%(Cgm~f4tD-goncy5zQ@qRsExYpS&Lp} z-(9}f#FzKaJv^vsnN^aOkW;CJ~ubehc_5fTQBgb(G++igl&Y}rv`XS7{-_8 zhxg0UG*UFp8Z%7EI@cv@l)1RON2C?beJu3#HB?7M7G#n3J%KzYuMuvoEMZW4bY>k% zl&6M8)?_VM!$vzx&BKS4HeW8OPSAX!6DDZ+IW#CJ$f`#lJ3Bfy#&_@DJu`%sS@Er{ z-K0V2=Q*TTWtvwV*zxnvmyW1K4^McCNbN>VSSuT*H~cFzX&G=o<4)JxTR1#b0{?G?{&Xs#R4 zoZ627KXLxg-GbSc4MOt4oV-8%^wUaE4K_DCdT(m_F^F9{u(v5YW#xlNh0}L#HC?@W zbvfGhU~~WPdkmgYHOaDVpg&M<=jxncli#}f62fP^oWClxK1C}cKyvQAUXhnX^J4eA zKldp5?Gt32a>XJh|Fm)AiHZne=aX)squLEmbQ?IeGv0bkHJZ~bYH204wY3Wi<5eXL zCV_!}#TP5t-KOb#!t-I}GkVI=;udI~-6Of9=Eo!?TC=V41L?4Zfs zpz#fu?Cr8dcM;a_9vs^5_hNDN%=i1sX5qpw7tItDd_SOF&|3D+M^{PCmmiY3c=7I{ zl;_^zqquRBCz4JH3Er7*JX8nd+j`S@s;@K+Z}Y{R~Gcz05$2B zOT1>g_H=f2nF2xf>V90;)4_51&&J#vv8*C`tJr1Hdc0|SGp9%M=#ayJo`PA|}5an5l*7Hc4SZGIdjDGAZi2RwB)dY|C6#48^H=f3^P!zv4)eHTD2+O>Oc0YI6k z!;g!!$@(X{TIN;J8VyhNvw-&CwpsU)@|OcZe^8~# z(QJx^fHbuLv$L-^3+d;(R4+yMRK*aqXi*l-1&GnaRn${72Q2QeFmuCkxJ`d{Y_a`m z0)Utsu9XFZf{XXk8g1A*zXhPH%Fd1V!~&0s+I_!3i|H3L&1~Gce}BqZA36&pQeR_c z0*U}l%fR*gwr$(wE?l_FI@n%hD7Czh8SU1`-c=PNRc5OH!tQ*3Lt4XGdWpEz>o#4P zn?{`Oy55-a?yDe^n3ID`^o`L^ep2HfK78nF&PhX`?&|Gj2PA#KrK=g3Wz$}$AYyI0 zzrD{Z)?;>T)0QoDe{5qRcTwOzy)>9{#A3X=A`fdz>+-pED;bbaWNNl6Yv8%Q=6nU& zEi7xYO6;v-^F=fxjBAb4=l6yST6WvskVhoS1s(f3qTQZ^sIfo<(*>Zfh?J{g)_eEv zodueHvSCpn>Tv9rFJCxAP$z|bQcAFxDQKR}RO^oLW8TZQXoqUQtX}6p#)9x=G{wM- z!lvV_tZyYHiYuOOn(xnQ_nKD>oEWAq>mms00#Lr?0}BKe(dIbx^Cq}VE0yqmzD2vq z(a~xoFC$-+gu7;2TU!`kl(=h6bOQRZPL6dH?)K5DHR}`cEeG(Pf#;;gd`6!0@Y9@j zFI^db#%jRR$J>v{C1UUH1Oybt=bt`(nrsu94=o$GkFc`7Z*JB_+YM%o60w)Iu&|)M z)JN-nFxV5qyC~i0skA)TP{eorK8ECv3?@Z_(m+9vA3qjA5~0C)a;V1r5$!Q1i@O>N zZW}kWH-B)H#of&<4?WMmcA!y&x|A=uFmjf}Jz}?^G1J^}YCv0J;?vm-pmMuVwU1ak zuf@6ECpm33zpUA?bI+axz``FddZO=7^i<` zo2zf6rLk{vwrXo4(NS+b^t{qWL7t zs*&%=(W5CB?j0T*8JTGwR7I>uoxE|lb_QT+aCnvk0bp@W!E{?hmnfk3z&JKnjo-Yo z4oEoL_}wNyMiEtHYom2-L|1Uo^(mw!`-u}Hw8qR#mr-LR4E7}gS0>6Y);v7O6rt+&NruN zznYkJ$5Y&8%(Sj#G&^bg?K!TgP*_;#Hb0n?=}{4tU)r*piRnq}OJ^*I&OVIsO*uAc zFNgAu*Lr9#`iy-4a9=z4QZAi8CGQvP&j*HBOv?S}3}G}w5H5(T_AaNc^b^bJledaXmKi{rnZ*f z52&K|)h}x}EqEq~LWJ-#nw%Fv4mR#rRNgKLSWCWV6 zz|FB>?Bj7zN+XI?GXM|C*||A0ouzb>(g8!)+#NZYHbG1Ir)Lap$_tH(*X!rne)a!M zjm6B--xEXCtbTkxb0M|(%^Pd?Fp>0tawQLsd}Cwdi8q^hj!8-ytXj3oZ6Ligqs1Q& z=rkkjiLQ>7mc=GjjOx7?VO-^~2Duf3sEs9D8{(s{AuWbv{9u!yC-{JHG3Ternop7e z@Dd3VhnX7#Cnxx)l`R8edyHG<5D-vDn_P^^z|-x&R!j3c;L@>b@<;Vq%)>R{fsmS# zgJ06m5+KNG@$KzxodUOPgkma^ECq#4)O{-TbEQqjh^2Q8KxD|`4XbF-$1-2ETyl1!W7sB363IHlR;4w5H(W;qx>5*`o%UMj6cl`Z7 zW1Ol3v_c_LI)7(pHR2{sS!z)oq-WXK`ZQtkOlB3~@rjAYq9i?aNF!1Q1w@);(+m3q zP-V^)Vf-?n90>deq^8L|;P}wqZio(1i(;4|@y4AWj7x2nMeW2)XFv+*q`umO097?L zLC-k{(ouN|CTgzpsLhQhHef!iPctmyEJ|y7czR92!dRJG|C1a6+m2UaIx@E~ne>Bh ztu_geprPcx$MX2lGk*pvLsLsovOwfdxf)Uz9UXssI*l@r29_e3EGx#AIm}IirW5sA zh8h?u(R^4)p8y{xirz?fKs*us{ThCg^MI$bz2f~n7E@o9dxy_wVOMpR!p}HaI~Jv1 ztLLbQme7q7b*#a}cf`aum|H&?Q)x2LNh5a=0O&q3r&Q^H15b{|c&K7P$Dp4eVDx4! zAeUivb+vQQywenlpy4|Dw5xAFuP%Cs=e+B1K*WDB$sAP1g%>xAx<@} zT!}+%ah&*}@w7WUHGG7M8b>B}lWm-+em>gmSsBH9>q1E1TpM|Zg=tH$5i zw2LDSMfk_pn_CI{{CT`eDlLrPTr{6sL`0ijV&bmb^w5)_pq=Ms zWR8PZ#nJ|OMg#vQYNZ*F>O6^#(e`=%9QTc;uA}d7fGTF=-~jwmE5Y!;UrI_!Ez?Yq z-@4_bPl_D>P>%)%eliK5c9})He7kKmykcQN0L>qL!q3q&7jB*}mh|DiASb2q(|SuKPR{^C2&p>J`HUZsgK`emPud ziSRT-EA_>IAYoG?k)Dz1JZ!-4F=MOt(&@TdzRQiy-d>B-`r-^3M|V{E(GmFn2@sg$ZkabjnEz^>q}x+ z-rp@M_|^UU`+HOFZF}u|v{u;wxNl)N@rp1SJK0s=y12NkFg(a7F}-(TMnK~<6jQc? z2VZ$97d|@cBU)}hGh(!|)*vQUb_+ZwimDA_@=DCnmxEy%L%{OkkQMe(sZ_#A9`Kw{ zv7h)+t)P|LX0^Y4K+;>d*=7MbO#?~HNW?byEExQK62b7)OyD~qILo7eFOfG_)R zZ-4S>FxPWj_;56a!Gv*m&B?2u4z6q}XkLW)mBRTUF`ouAt4!*g-(u_SiqQT3&CuOi zeg!3V24YaH53^SyA=WDWZ#KVm{*N+UsCbty#)WAdbe;x;iI=sdRyD|RsPEeT*w1CflbpA0IhDbqZ_{tZ^^`=J~zZ(v(> zMC)XeWtypoCp5lrUXxn}?t_A8ev06H)Dg~(;Pb?lAot$Q5szXzn1gm8jTZmGE}U1I zpjd#aiIHM@`M@^MY5jHU)>!~Dpid|pNUx(%-m6)=uN^T17o2+ks4_a1<`gf8assd* zJAIsTgyMl>5m~$js~l5uJ%G|yj%IO07K0XDC;mr9<>zUC-o9N89m`Iz+3$_CSGak9 z-maqjy2{3F9nv$i>nT0y-?zQmA{0^a^#w0m?H4~tGV!R2^DJm?IV|L1Ps$%y1x79| zPAXvS`VAYJOYh&m&(E|g{~oA*ur78I%oNHg>kM3GWW@FXr?x7J&Qv;v6OKcNPNU&C z8}mW(ZRvR~L*dcOeFzZU6vHg(aS0Wb%y49)J#_ZgRea3@S>XuCV~M{LNQso{ep?46 z_(j$A%^jHe63~RA_PS-cr zH(y3uH}(DClviO!CJRBYg_-=#Sm2J;oU=@)@S@|f|7lGBzbjY&pOxM@bt!;6PxlzO zoc{Xt>)7OEJzr7(phK8ALJI|wvCeaG zvf*0u^C$Q3qk4SjE<3P_k=OV)RaI4VtRt>2F2}gI6p?tEAj~p76|Y@O26`K;s)`Z| z*`tDY*aewxz6?r&u*qCHSr-WHq@YlD_t4p$+qXYXOibi7+_7UvEX0)WH)^QS&+f&D ziv4=i(BPW0{P?1p{Tf?|<+{ZWQi8(PF{a9^q^4W!_lelWf%94s>!Dlk6Lm<$xRBvl zk*E?I6c}hsWj%7F%g7kX6lv7R;tjB^TIk`w*ic;DNz3^KS%-{Nww6ITc&`!6<;^7O z@CoCi28OHi=g$2A#%=K3%U=hiVgB#ekm>qMx(Uf1Oyb~)&UwyFR6`hwWJ2vdsHOd! zLgp-tAmJkRw9HuS%XjuNgSDs&mo@&c^=)t)QZNtn4rDc?I4@nS ziAlHx24(oW1MX+&b^NA>At514i^Ej&eaw7UF0}a|C~eiaCz(#k>R?dXCuEg~-o+$h zcP>!CzFUFIu(0LB2fVfAru?o~BKF-^p_`Krhv~zzXe1U$p6s!GF)ow)QwWDQi4EfO z;58|E4-rDr0QhjQt)Th#%0+x|5n%HaROGM{PY(}=(QoIEvLY^QrMNXHc>ROW&`=8x z)MG$%xwZ}DH)pvWca4BJPXNh6#y-B1t6+$A@?Fvq=Y-cYFD0wA85e*$k_4)DrM!bz z0|ze*C@e?hBBaQ-0T;5huT3{~puwz6qL>`|T3_ZY&2-YoCnThtyS=^AA9$rhQ?Fah z8~zD0IwOIP$bun_T_731I)vRjkgy$Ol&ot+g? z2=MiFP(>f3On=4Zq?aDJ&x#@Sy(CE7E57$C%rcivVO*lLh+yF`o;f+e>_o}wQC;`U zsxhO|AK!FL=_OO-YM@@HVhp(ko(4c8S?@*0din#Yn7Bm5_92FJZIe>G!CKoBPY}2( zG7XUt-==6$6BP#G>FgvHnjEr19I0*;b7;vj5s1rd2IDHZdT- zlN35JK-FNhj=GDCc(sUl=Y)r2`;Hy_en;8Z#9~M}g-56s zn&=Zubk{&AuTc>ua5XrqQORhleK4P1{QTgj-ZNJ0yK&gR)VulgskE=Q7xkZt^&%DnoZ$s zx1!B`3XgDbc4p=W#*6YXL0(?o@DoO7{7oq%RXc>n)XZgUN6O>} zBbg3qr5F6t@^!lmCC94qF`}g@hUe0=Qy2+VjEx@$^B6wGQ~sE2Fs!O}q$MQu!v7PO3|NlDQRW{^De#iE8gcRLGPoE>z4i@Qv+mA!8ZcDD-8L$zF+IF1s zf69OIo!N7b;|801p}++mB4J7399L%N8O!I9y3W8E;+7!$Lj60)ba@1QC3cjg)F;ykdT$Hx?@;9|#&U4uWAKl;}B3HIrbU z#QtuKt8=kJ2(+_-6X<`*@Z1n~w;Pfm6wog(zTysAev{vI%ETAk&k-=nXem&`V^RT z<->NA0S%088SR_Ul_<+%C|3ZM_c24oN!hHaO*fH|MW1}&fC>I@te`<*IeeJNi|BfC zfOpqg^RiicF~M-?WF_9OCFO7fE&~>@e!orrBXAwb;3Se^MPs!S{8G80vGD}~+{LphD%sg5JgnZ<`5K!H=Q@vGE8*)77oeDq_lelL6(A*qBM(Vp~ z_4+n;K!~r)bF^fVa8t+Jd95)c9v(13KocUWg3+z?$4f^7deD}jYp0?Z_Lqn81K4K= zNI`Pbfq7yF0ou9rD0DMOeL`y914&Zs0?*83e_D|!`z|c6`wf67_zC3X<;w)TVCtNm zpBFo{jV$~PEPRHkd_|;4?NW7Sx|)j0T}Q*1cinsA|WghD{{)p4Qk2~@sQ$MzCQkUCl7@4HU$D^5;(z1e-!(U zV7;f5Axsd49;3gbbUuiV9y)l7Vg z=Opr5Fg;4xo9HJO*NhmGh=+4}Rh504^ zOerWYiJ;}j#>VVIB~g%%9{D>JvArqq=8(Y~{vEnnE1~_wPknF$5=Y!)=2<2Su9Yhh zGDp|(_Vx})b@2+F#CnTw{=o*3CyajO*2_hEg&`C5{ns7a$-Xfo)Jhn9BBac}fC7h| z^4q@>=1Ach1_p*>5fy9^6*O?LCxc!A@InkZ4c6Py_zXUB`s?;}wiqJ#N(j43t_kPR zKrNWVT>#L;H+uUgd`628Dl<5DSydO8Ty*$@%E}>skaZ2#>k}h{OC6+Den0BcY!7Lo z|J)Z`DeBO$Xg5rJA;0zhoynUzAnOvauh5BbsCj*J!#_{CW#dL*6CXZ5W^tE`U>lV# z0I_v=VFR7u&p3N)OEs#p6|)#>II$C>hl&0>{ZE3!2P!0D2>Or~ZWfwI>f`f&_DL8*YUqITYZ(@ zv&+A9BQS`~1YYH-(f98!EP}vPQXu%4ge=s)G!9r`Xz=_xfUErv(CLpqHhNChYlW3S zEj2L_!!Tr zFnG*~1c1P>fH8(tk-t|3z@<)IQ@=?`o~U_-v4EFi+OdOD#M^x_qdrsxopT;K{Ur z$TTf4?1}z&ybPGY_6X@?ll@0!LE=f%EQBJsw3O%#5yI$BxosZfiXhP0OG9w+j%#{- zJ8j+E+@1%t%vlpCRrge1tQG1NRm=t?0RUOg2ySvF;YQfXBe}Y{^?_7I#V-92~{Y)}ajwDK79edShP;F`0Z&6>85m&1phn0{_zKuQ%)!$qOOJVDd z)#bNpFVqJjxep%`k`Yj^LR>p7b7>PELta5ZURPRBHx0HARkM?dhB2H1Q5odC`hm=Ci}O6lH}mi8kFgLtKZPOBHE z+lL3pxMW=%zv=QVNDf3&`)dvj*88?|1jhr&xe721+_hOmr~-)tC}4MHWpV);B^8y- zyr{WB7CNXk&;nxt>Q5e8!6`Rxug(R{m5t|b?tP+@T?1Wu{KQHpwY$A~2IfXn*X5!u zn2qOfFaP|8m^Lxzi#7MYbQ)B(wY5FKM#daNZWRjhCIyA67f%~T(=YVUhQNnOwqQpf zDS6Bxxm(LgG-6;+2EZl&j6*XOoq>jg@5K^o>F9(5l64M*lIMPXWYcB%o=Am+4aWlB zd%ltjfhZ9~pC+OsIBX>n=p6_29#iC02~NPy_X1ZCXzj~O_~Km*3_t!_#&@PzM!4*V z)A+BZ87!|ym@4o5|J8#;xh?Ih*W0>-KkpmZNay966qU(xaPvYWC3l+)1&{t;@gx&S zQxjujb<7z+ScEUZd5!yI?lCXLn!R@fg9r?<@5E*A=a}Kp!t{&0^hp>Y7gze%K`mEN zG4D)-ddb&WSo34y_PUA;hhH@PzA9GbyCgW(g%pIYtSV&X$VhZpLd9h-ePvUX}m)dh0QqWYipIk~m z1Al=!;Eavv@P8yrRphYyktU65uSyss<_9u~3upp8o?vbq4gksg}5h% zHE^4R7}o+$sG}+F$8=No*Jk>~Z|(qFK2fKp+)ECO0j&svM8%AM4HmQ&YVocmG`&~k z=vFeCt|f$Nx=xZGn8PwW{;e0Nsj9Nd0+*LP@a;_su`_+)+^5-o^o9NU7vsBE{tJHD zQ&`)z&&1Ajc6qIkNwqT-hFEk+xpt3nKcY=D$MBinAp+qdJpN$@{9X$#ilHYC@tCZp zcx;^$``_BP|T~EjWvj2Le`KPRx%3(~%~Lz^<4QtaKV`5y4Y% zu(QklzG;`86Jt*4RHd%faQ?fMFD)j%)sWS8ZQuTF;Fyw0KwM6U5;ypw$};$Kge{K3}eaOBrtn^!d`}`sZL&&R<`|kgbtSuah|4xBY=RkL&@e zh|ehbpV}L2#862FlH39`bRUkBU2Ayy1od1QO}rk)qxu{h!@qP2!C-Fh0EwwkSb&H? z)Q4duStmPLa(;jxfaP;zwH-Nh^f)$_KPpdp=(2kc*K_AKWAa7V?!IZ-ifYYK=C$EJ z&&Sp;pn`TCIPi2~cAVI(=K507BAGs1fA{t+F&?27Xx-j^1YCUr=W^shI|EcAbScCS z*2sDg__uzCviKw5|71`f#Ni81%Fw_i>t2j2ZeM@jv-7|KZdl`59UJt+Pu_S8h64rE z`nT0TXy3kl6S(sJXTQDt(krYcER{rd0F_Yb-yOVt`*wlLuP87mpU3#0=e4+EGleZg zR4iN5 zR!e&3fx7P+xN6JNvc5zS?@@*X6#z(K!c2HGoW+U*L_Nxuc?)-@597*3fO2@O1_n-A zlhHe`C)!=WeaZ^Rm>AAKp({r*m2nYACL(vM`L?kOXa>7>?u;YzisaOLmH@&G5ouz_ z{nt^pYd>w(FL2Xn&au(LnlqN@!a)nSh6wwEYyjK~fn>t`&N^fX<_w_`HB_|hh39lX zu9-?izR4f40m*1u$=aDTg3rxM?R3FYk^wOrOp`2;cP4>2h!ssqX}z;?Z_(OsPgm3d zaKNC8jKq%}yKq!F+Ci10|3t}(7V_oUBT#L9m8$+ke+lb%JK zPET}mt^sEv1FG*UOZE=9Sew87W1F0;tO{n$?_a+@!u(4n8H`enP6D~xaH2A^(Tc9h zk2kF3?)Z8-#zg$47nFyS)6N{60gA(9YKey;r7E-Y(iu!sBpbkyUI>K2EJ?zB>MA~d z=PSLR;ZcUkOBoh?RhWoD;R_;sK;9mMH>q*7gYB5NHH@Fe@YB9`$l?(Z5vf%<{XNw@ z##0ju_lbCMSE_}-Zd0M>OAr`v6>!a80xTae9k&PCME`6?vKvg_8&k7kekK%sq;YGD_l1&R}m%F z&{*A~3RYLZb?nLmb~S0DLc<3rXi~BT;#OH>b%%8BR^R;*I8BPmPlEw15v9(p>w#A8 z5n1jJLoXi;=a2j2l=i(GBhEzFNLtpjg`iK!k=c~k&QW)Wvl7R%EB(8ID`TY6AUyRU zuvF~qGT^MN%eK@aMnxlIfA`~lFJS{Dgnm{eURo3 zW#i3OLLikm8^&6mrj9Mlw=aK29!2fgNU`2V-OS+Kr3b4q=A#!G17MeuaYo}sh85*K zJL9Ug9oq@Dc>3o0UKla7fb!JgV#6o3NlM_vcOaNQ`VU~hV&rQuGmu~-wm|1r#}GD! z(1#HCniKHZ?@CJgUTmsA0pQ0}$<5&^-6`{m&QhR;^C)UqHg+kD2VAxcDcxn|nX%2VX^D28-ZHe0l zV(r-YxEeAE-6T`2rG|0}k93AKTTHXP7?J8>*%1J%i`h*+@cH#-Hd!|u;wCKZJPd`) zddlLXzpdZ8FAkDLpPz8sCv*@&1d5NTjEqb_o~aJ;iQ39TG)df`PR5nnMEk)IWdTze z`F0VwqP!YB!UPV=UB&5Qopj^hKZfv7@o8KJE$g?_u(LXJmybobBYvFJB$OhRrsMgX0$t5Fh(v z(G_YR#!Q9h<2Z7Gli9?7XS5eq38zq)$wg_@htMu0qksf?5q=LIj+{si(J!ji5NGVLe)fT_gVV;HAq zr?wC(5XVw+yiJN2Oo>R3?`40h3}*@cA#MuQwM`&*eriSSZ`5(dpX5y#5=pcMwP8XC4Ux@l1h1NQGV z;qz;qY2&Av=1(WYc;sA8kD-KVYVpX%!(IzOg+P*QzXZ|q<$h7yXiFmxuQ8d8bt0HsyX%Dt%$3A~l2)|T zWaI%26(aLkdx8E2FiqrG6Cvup7W?#92)E}yX;|~h@8r5I9n37TcZog;U`Nh1!2wc- z1L6RReK3D&;50co} zU>Rh@9BiBu1DRE35j|;;`b1#41;nr;NU6=WhYA1ULmwE3qONHPG&4fm!Lt7eDoz$6 zw3+)Z#g+x8!+;jzW<=uXOI|najWaH`M^@O#lD@ literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp5.png b/plt-graph-correct/exp5.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2781b6e6fabade748d4d6bd4708a32ee7e9071 GIT binary patch literal 17786 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp50.png b/plt-graph-correct/exp50.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdddd8a1a52fbb39c293d02761232dfb0ee3015 GIT binary patch literal 18038 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp51.png b/plt-graph-correct/exp51.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a104f956c63b149575c5f7a3c7a8a1495f9c71 GIT binary patch literal 18001 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 P6pHLA#gi$=FI@j0-<$E& literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp53.png b/plt-graph-correct/exp53.png new file mode 100644 index 0000000000000000000000000000000000000000..2ddb5cdd327af3b1f18eb949a97077f1321a27db GIT binary patch literal 18347 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp54.png b/plt-graph-correct/exp54.png new file mode 100644 index 0000000000000000000000000000000000000000..7eeefdaf7dc7f5a942722e39d77bdcee58ff1d40 GIT binary patch literal 18321 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 z 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp56.png b/plt-graph-correct/exp56.png new file mode 100644 index 0000000000000000000000000000000000000000..3cc4e13f56e460fe642a2926bad31ef8a592e521 GIT binary patch literal 18334 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 X#6GY$kK0K^VT!~>nF}fBbZ-0?n$id8 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp57.png b/plt-graph-correct/exp57.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a718f0f6eddeb9c7e585e698ca25bc7d4564a6 GIT binary patch literal 18347 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౞Yu3DjZ-_@JBm-v`ykLwcWLCUv0G;S}FttJryvGR! zkc*S^1fEX~h>2Hey+6exjMyQ8P%S$Oax2|{5DAfUTf_bOmoFC;G;rpSM|~;YjENtiXo(XJ*1aqV75@pKM=SI}vf7R6 z4h8UqSfN+J8FiOXcYtJxK1+0{`HgT@TR0c6nnOJxo$T7WZC_vuB{+;l6ua-7j-Uvk z$J}q3uY2*^>eN4ew^E}>2Z6)LwezbGxX#iH5C;ddAvw^BD}kfsBtCC2GJ!aS*?8HZ z0NgI2f>0PjIiVIA5>Sp^=JL%x2fl$!Fd{y5Pamwkt#JlpCec+GoOMYO(l+Fu=3e>=I5rB+X)|o`eE-6rhgE!NW*iB zdPr!$K-yiurI!b!cam0OVC5OeE|akO=ml|^Ux6NV$f;k=`RfPuKrIZ*L@>L2`SR8h zp9lZe0@1hlMtY3x$R->Ji-Xp|1trE*3XB{$z)UXf8mNBY8lU5oVya=j&gRXVb>!YY zL-Z#BIdI_+oO?3i=D{uDG_nTWR)bih&IVrklU6mvS0e&)xjPv5EPBzkuyOpqZo+?B%!)i!hH4FN&K{$n%ebI zl~t=&C7pY5)idGy_6?9|@Bobv0U943UrhujQdV(t4wYgLND3VQK24lM*viC|2qUBs z43awFnp6FIr*Mue0T&Y=xV) z)o&o5f>a5^rkr76hJ7xFaTfqzH8vI%|3C5D30f{SJWRC6 zz0XyQRX_b=g-xYnhEU}=W@`hm|IhaQL}}Ya-yuM0#prVjBc)ws`Z(;gIFj5JV!Gmp z%cnKFDB16xsPCB^?KCDP7Xal4I3)$HLcL}H28TdS>4|s8iPktD_}p{WfoPL31^(z2 z9ut=g$vMFGPxhC<{t)}^ww*hl;H(=r>ILC7!AcRgEu7m!;F7EF4y9&yXuw|q)VqzD zISFntL(y7e+2txYRRQ{sn6yawf%O(1*T;@?$h2QTsvy~j&j6KF4NN{c2G}PBGqV;( z$zWL@Z}J-sU|I$gZ{fAIpgf=~x8FlfCM{pFViG=b;<+W34>X>=3OFwm!dVEzu7tW7E5wUV&Zir?@4ibSHtxU(+^+|Z^h;@DtM}%M*AvZ|Q{KLWb9u$&@ z=Zro6`(`!_UR~1PJbJ^;pPQ63l8M0dZBVXlOtA-G-y~GGe%Ynj0Al1P-e@pD^%yS= zdsz@ZL`^@4GK4{faMw|L@v0(Vw>q4OOGMCIdincWR@0SZwL2+KxntA% z^}>5j`Mq(VSAB;&G6M5y9*+rJD0p*{b|ro#LitXUDo9FxoWfV8totU&aa9E~WFg`g z>!S3DVL{Szl zH35B)2&#VwdN(=W!e?Ccbzx=-^*{o@(gF3$qq4RSU7q|8luVzH5%hj&?bW7VKlZU> z=Ba|5&Ojm-%xV*E-DzoYdI--|@idjvWj3~1fRg>Kd5bWncI;W&d>Fa`p?gs;YFeS3 zJa-*6nw^~$?_0lNgA+)LleZ7qcO7va?Jz_K(EvLSGZ_`V_jDkPml*?ki?dQ`rf57a z!;Y%4A@nvdj21+#Ca00`aatK>%F59aBCX$-J>^)p%a^qjdMk)vJ`?Otw)fn?ekeiv zN_lnDQd}<+ofjuplF6^QfHX_|7et-!o4~vW>2NSF)Tx4}HWMf~8Qhl_JR^MF0Q91xJ+qO9&Oxxrx3x?gv{UnuP`c5MeNhyRy@B z{0+xG4Qb8^fzrN@~fyspnYG&~Q_vEeB4Ntk~2KIG_&P4dnJ1jZu!2dz{>%<>O?t#{l%RCX)bZ zD#2>6Zf+q56)L4b&qoNE-lD3;rr~@NyzgZ_U)!s`FK9!E5OEtjN7e>BRUIB0W)mTB zGE>)MU7^pO2LVk@0KES&)V6|_t!%h>w#@#5#_I>s%{|kRl%z`ZK(;pS~ T9w9FHY>L83l@n>l&RzW;`x%@hh{tIYYc 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 JoxXDGzX4s2`Q!iq literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp59.png b/plt-graph-correct/exp59.png new file mode 100644 index 0000000000000000000000000000000000000000..57498278fa191c521a8c5fb168c0e89a182645a5 GIT binary patch literal 18342 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

(;Mapo7`E!@u^nZ@bBO4dWMHB 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp60.png b/plt-graph-correct/exp60.png new file mode 100644 index 0000000000000000000000000000000000000000..41cfac97dd9c85e8fe2e962197e005febdc8c82b GIT binary patch literal 18341 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp8.png b/plt-graph-correct/exp8.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d69ebf485990de36b69334686fd29aa290442e GIT binary patch literal 17793 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 Date: Thu, 27 Mar 2025 15:46:34 -0700 Subject: [PATCH 25/45] renaming of folders for better organization between examples ran for deepseek-v3 vs v3-0324. halted v3-0324 due to inefficiencies in model. --- 4o-mini-comparison.py | 26 ------ llm_qa_direct_only.py | 15 --- parse_scenario_womd.py | 2 +- plt-graph-v3-0324/exp50.png | Bin 0 -> 18001 bytes plt-graph-v3-0324/exp51.png | Bin 0 -> 18006 bytes plt-graph-v3-0324/exp53.png | Bin 0 -> 18357 bytes plt-graph-v3-0324/exp54.png | Bin 0 -> 18330 bytes plt-graph-v3-0324/exp55.png | Bin 0 -> 18306 bytes plt-graph-v3-0324/exp56.png | Bin 0 -> 18335 bytes plt-graph-v3-0324/exp57.png | Bin 0 -> 18349 bytes plt-graph-v3-0324/exp58.png | Bin 0 -> 18332 bytes plt-graph-v3-0324/exp59.png | Bin 0 -> 18350 bytes plt-graph-v3-0324/exp60.png | Bin 0 -> 18349 bytes {plt-graph-correct => plt-graph-v3}/exp1.png | Bin {plt-graph-correct => plt-graph-v3}/exp10.png | Bin {plt-graph-correct => plt-graph-v3}/exp11.png | Bin {plt-graph-correct => plt-graph-v3}/exp12.png | Bin {plt-graph-correct => plt-graph-v3}/exp13.png | Bin {plt-graph-correct => plt-graph-v3}/exp14.png | Bin {plt-graph-correct => plt-graph-v3}/exp15.png | Bin {plt-graph-correct => plt-graph-v3}/exp16.png | Bin {plt-graph-correct => plt-graph-v3}/exp17.png | Bin {plt-graph-correct => plt-graph-v3}/exp18.png | Bin {plt-graph-correct => plt-graph-v3}/exp19.png | Bin {plt-graph-correct => plt-graph-v3}/exp2.png | Bin {plt-graph-correct => plt-graph-v3}/exp20.png | Bin {plt-graph-correct => plt-graph-v3}/exp21.png | Bin {plt-graph-correct => plt-graph-v3}/exp22.png | Bin {plt-graph-correct => plt-graph-v3}/exp23.png | Bin {plt-graph-correct => plt-graph-v3}/exp24.png | Bin {plt-graph-correct => plt-graph-v3}/exp25.png | Bin {plt-graph-correct => plt-graph-v3}/exp26.png | Bin {plt-graph-correct => plt-graph-v3}/exp27.png | Bin {plt-graph-correct => plt-graph-v3}/exp28.png | Bin {plt-graph-correct => plt-graph-v3}/exp29.png | Bin {plt-graph-correct => plt-graph-v3}/exp3.png | Bin {plt-graph-correct => plt-graph-v3}/exp30.png | Bin {plt-graph-correct => plt-graph-v3}/exp31.png | Bin {plt-graph-correct => plt-graph-v3}/exp32.png | Bin {plt-graph-correct => plt-graph-v3}/exp33.png | Bin {plt-graph-correct => plt-graph-v3}/exp34.png | Bin {plt-graph-correct => plt-graph-v3}/exp35.png | Bin {plt-graph-correct => plt-graph-v3}/exp36.png | Bin {plt-graph-correct => plt-graph-v3}/exp37.png | Bin {plt-graph-correct => plt-graph-v3}/exp38.png | Bin {plt-graph-correct => plt-graph-v3}/exp39.png | Bin {plt-graph-correct => plt-graph-v3}/exp4.png | Bin {plt-graph-correct => plt-graph-v3}/exp40.png | Bin {plt-graph-correct => plt-graph-v3}/exp41.png | Bin {plt-graph-correct => plt-graph-v3}/exp42.png | Bin {plt-graph-correct => plt-graph-v3}/exp43.png | Bin {plt-graph-correct => plt-graph-v3}/exp44.png | Bin {plt-graph-correct => plt-graph-v3}/exp45.png | Bin {plt-graph-correct => plt-graph-v3}/exp46.png | Bin {plt-graph-correct => plt-graph-v3}/exp47.png | Bin {plt-graph-correct => plt-graph-v3}/exp48.png | Bin {plt-graph-correct => plt-graph-v3}/exp49.png | Bin {plt-graph-correct => plt-graph-v3}/exp5.png | Bin {plt-graph-correct => plt-graph-v3}/exp50.png | Bin {plt-graph-correct => plt-graph-v3}/exp51.png | Bin {plt-graph-correct => plt-graph-v3}/exp52.png | Bin {plt-graph-correct => plt-graph-v3}/exp53.png | Bin {plt-graph-correct => plt-graph-v3}/exp54.png | Bin {plt-graph-correct => plt-graph-v3}/exp55.png | Bin {plt-graph-correct => plt-graph-v3}/exp56.png | Bin {plt-graph-correct => plt-graph-v3}/exp57.png | Bin {plt-graph-correct => plt-graph-v3}/exp58.png | Bin {plt-graph-correct => plt-graph-v3}/exp59.png | Bin {plt-graph-correct => plt-graph-v3}/exp6.png | Bin {plt-graph-correct => plt-graph-v3}/exp60.png | Bin {plt-graph-correct => plt-graph-v3}/exp7.png | Bin {plt-graph-correct => plt-graph-v3}/exp8.png | Bin {plt-graph-correct => plt-graph-v3}/exp9.png | Bin .../deepseek_grades_direct_0shot_exp53.json | 88 ++++++++++++++++++ .../deepseek_grades_direct_0shot_exp57.json | 81 ++++++++++++++++ .../deepseek_grades_direct_2shot_exp50.json | 74 +++++++++++++++ .../deepseek_grades_direct_2shot_exp54.json | 88 ++++++++++++++++++ .../deepseek_grades_direct_2shot_exp58.json | 81 ++++++++++++++++ .../deepseek_grades_direct_4shot_exp51.json | 74 +++++++++++++++ .../deepseek_grades_direct_4shot_exp55.json | 88 ++++++++++++++++++ .../deepseek_grades_direct_4shot_exp59.json | 81 ++++++++++++++++ .../deepseek_grades_direct_6shot_exp56.json | 88 ++++++++++++++++++ .../deepseek_grades_direct_6shot_exp60.json | 81 ++++++++++++++++ .../deepseek_grades_direct_0shot_exp1.json | 0 .../deepseek_grades_direct_0shot_exp13.json | 0 .../deepseek_grades_direct_0shot_exp17.json | 0 .../deepseek_grades_direct_0shot_exp21.json | 0 .../deepseek_grades_direct_0shot_exp25.json | 0 .../deepseek_grades_direct_0shot_exp29.json | 0 .../deepseek_grades_direct_0shot_exp33.json | 0 .../deepseek_grades_direct_0shot_exp37.json | 0 .../deepseek_grades_direct_0shot_exp41.json | 0 .../deepseek_grades_direct_0shot_exp45.json | 0 .../deepseek_grades_direct_0shot_exp49.json | 0 .../deepseek_grades_direct_0shot_exp5.json | 0 .../deepseek_grades_direct_0shot_exp53.json | 0 .../deepseek_grades_direct_0shot_exp57.json | 0 .../deepseek_grades_direct_0shot_exp9.json | 0 .../deepseek_grades_direct_2shot_exp10.json | 0 .../deepseek_grades_direct_2shot_exp14.json | 0 .../deepseek_grades_direct_2shot_exp18.json | 0 .../deepseek_grades_direct_2shot_exp2.json | 0 .../deepseek_grades_direct_2shot_exp22.json | 0 .../deepseek_grades_direct_2shot_exp26.json | 0 .../deepseek_grades_direct_2shot_exp30.json | 0 .../deepseek_grades_direct_2shot_exp34.json | 0 .../deepseek_grades_direct_2shot_exp38.json | 0 .../deepseek_grades_direct_2shot_exp42.json | 0 .../deepseek_grades_direct_2shot_exp46.json | 0 .../deepseek_grades_direct_2shot_exp50.json | 0 .../deepseek_grades_direct_2shot_exp54.json | 0 .../deepseek_grades_direct_2shot_exp58.json | 0 .../deepseek_grades_direct_2shot_exp6.json | 0 .../deepseek_grades_direct_4shot_exp11.json | 0 .../deepseek_grades_direct_4shot_exp15.json | 0 .../deepseek_grades_direct_4shot_exp19.json | 0 .../deepseek_grades_direct_4shot_exp23.json | 0 .../deepseek_grades_direct_4shot_exp27.json | 0 .../deepseek_grades_direct_4shot_exp3.json | 0 .../deepseek_grades_direct_4shot_exp31.json | 0 .../deepseek_grades_direct_4shot_exp35.json | 0 .../deepseek_grades_direct_4shot_exp39.json | 0 .../deepseek_grades_direct_4shot_exp43.json | 0 .../deepseek_grades_direct_4shot_exp47.json | 0 .../deepseek_grades_direct_4shot_exp51.json | 0 .../deepseek_grades_direct_4shot_exp55.json | 0 .../deepseek_grades_direct_4shot_exp59.json | 0 .../deepseek_grades_direct_4shot_exp7.json | 0 .../deepseek_grades_direct_6shot_exp12.json | 0 .../deepseek_grades_direct_6shot_exp16.json | 0 .../deepseek_grades_direct_6shot_exp20.json | 0 .../deepseek_grades_direct_6shot_exp24.json | 0 .../deepseek_grades_direct_6shot_exp28.json | 0 .../deepseek_grades_direct_6shot_exp32.json | 0 .../deepseek_grades_direct_6shot_exp36.json | 0 .../deepseek_grades_direct_6shot_exp4.json | 0 .../deepseek_grades_direct_6shot_exp40.json | 0 .../deepseek_grades_direct_6shot_exp44.json | 0 .../deepseek_grades_direct_6shot_exp48.json | 0 .../deepseek_grades_direct_6shot_exp52.json | 0 .../deepseek_grades_direct_6shot_exp56.json | 0 .../deepseek_grades_direct_6shot_exp60.json | 0 .../deepseek_grades_direct_6shot_exp8.json | 0 143 files changed, 825 insertions(+), 42 deletions(-) delete mode 100644 4o-mini-comparison.py create mode 100644 plt-graph-v3-0324/exp50.png create mode 100644 plt-graph-v3-0324/exp51.png create mode 100644 plt-graph-v3-0324/exp53.png create mode 100644 plt-graph-v3-0324/exp54.png create mode 100644 plt-graph-v3-0324/exp55.png create mode 100644 plt-graph-v3-0324/exp56.png create mode 100644 plt-graph-v3-0324/exp57.png create mode 100644 plt-graph-v3-0324/exp58.png create mode 100644 plt-graph-v3-0324/exp59.png create mode 100644 plt-graph-v3-0324/exp60.png rename {plt-graph-correct => plt-graph-v3}/exp1.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp10.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp11.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp12.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp13.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp14.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp15.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp16.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp17.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp18.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp19.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp2.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp20.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp21.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp22.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp23.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp24.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp25.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp26.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp27.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp28.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp29.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp3.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp30.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp31.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp32.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp33.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp34.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp35.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp36.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp37.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp38.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp39.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp4.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp40.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp41.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp42.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp43.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp44.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp45.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp46.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp47.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp48.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp49.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp5.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp50.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp51.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp52.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp53.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp54.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp55.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp56.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp57.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp58.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp59.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp6.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp60.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp7.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp8.png (100%) rename {plt-graph-correct => plt-graph-v3}/exp9.png (100%) create mode 100644 v3-0324-grades/deepseek_grades_direct_0shot_exp53.json create mode 100644 v3-0324-grades/deepseek_grades_direct_0shot_exp57.json create mode 100644 v3-0324-grades/deepseek_grades_direct_2shot_exp50.json create mode 100644 v3-0324-grades/deepseek_grades_direct_2shot_exp54.json create mode 100644 v3-0324-grades/deepseek_grades_direct_2shot_exp58.json create mode 100644 v3-0324-grades/deepseek_grades_direct_4shot_exp51.json create mode 100644 v3-0324-grades/deepseek_grades_direct_4shot_exp55.json create mode 100644 v3-0324-grades/deepseek_grades_direct_4shot_exp59.json create mode 100644 v3-0324-grades/deepseek_grades_direct_6shot_exp56.json create mode 100644 v3-0324-grades/deepseek_grades_direct_6shot_exp60.json rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp1.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp13.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp17.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp21.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp25.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp29.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp33.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp37.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp41.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp45.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp49.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp5.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp53.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp57.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_0shot_exp9.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp10.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp14.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp18.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp2.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp22.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp26.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp30.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp34.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp38.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp42.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp46.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp50.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp54.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp58.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_2shot_exp6.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp11.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp15.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp19.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp23.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp27.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp3.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp31.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp35.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp39.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp43.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp47.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp51.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp55.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp59.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_4shot_exp7.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp12.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp16.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp20.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp24.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp28.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp32.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp36.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp4.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp40.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp44.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp48.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp52.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp56.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp60.json (100%) rename {grades/direct => v3-grades}/deepseek_grades_direct_6shot_exp8.json (100%) diff --git a/4o-mini-comparison.py b/4o-mini-comparison.py deleted file mode 100644 index 81dd80a..0000000 --- a/4o-mini-comparison.py +++ /dev/null @@ -1,26 +0,0 @@ -import matplotlib.pyplot as plt -import numpy as np - -#correctness comparison for experiments using 1 scenario ID -shot_type = ["0", "2", "4", "6"] -#(52,53) has 17 interactions -range_52_53 = [14, 7, 8, 9] -#(6,7) has 7 interactions -range_6_7 = [0, 1, 3, 3] -x = np.arange(len(shot_type)) -width = 0.5 -plt.bar(x - width/2, range_52_53, width, label='(52,53)') -plt.bar(x + width/2, range_6_7, width, label='(6,7)') - -plt.xticks(x, shot_type) -plt.xlabel('Shot Type') -plt.ylabel('# of Correctness Scores <= 5') -plt.title('Comparison Between 1 ID Experiments') -plt.legend() -plt.grid(True, axis='y', linestyle='--', alpha=0.7) - -plt.show() - - -#NOTICE: BECAUSE THE DIFFERENT IDs HAVE DIFFERENT AMOUNTS OF CONTENT, BRING THEM DOWN TO THE SAME RATIO TO MAKE BETTER COMPARISONS -#RUN THIS PROGRAM TO BETTER UNDERSTAND \ No newline at end of file diff --git a/llm_qa_direct_only.py b/llm_qa_direct_only.py index 8eadc66..00ed39f 100644 --- a/llm_qa_direct_only.py +++ b/llm_qa_direct_only.py @@ -284,19 +284,4 @@ def main(): plt.ylabel("Correctness Scores") plt.show() - #gathering the average correctness from grades json files with - #x axis representing 0, 2, 4, 6 shot and y axis representing - #correctness average score per experiment - # folder_path = '..grades/direct' - # allowed_files = ['deepseek_grades_direct_0shot_exp1.json', 'deepseek_grades_direct_2shot_exp2.json', - # 'deepseek_grades_direct_4shot_exp3.json', 'deepseek_grades_direct_6shot_exp4.json'] - # correctness_avg = [] - # prompting_label = [] - # for filename in os.listdir(folder_path): - # if filename in allowed_files: - # filepath = os.path.join(folder_path, filename) - # with open(filepath, 'r') as jsonfile: - # for line in jsonfile: - # if - main() \ No newline at end of file diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index face7f9..1e64213 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -114,5 +114,5 @@ def obtain_and_write_mcq_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) -obtain_and_write_mcq_data(600,601) +obtain_and_write_mcq_data(13,14) diff --git a/plt-graph-v3-0324/exp50.png b/plt-graph-v3-0324/exp50.png new file mode 100644 index 0000000000000000000000000000000000000000..9a27e24e44d6e13a40c3ee9d68a9e272cfaf31c3 GIT binary patch literal 18001 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 F{{`Yx94`O> literal 0 HcmV?d00001 diff --git a/plt-graph-v3-0324/exp51.png b/plt-graph-v3-0324/exp51.png new file mode 100644 index 0000000000000000000000000000000000000000..5663f79c063875c121f0faeee6c18c337d3ea58b GIT binary patch literal 18006 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 literal 0 HcmV?d00001 diff --git a/plt-graph-v3-0324/exp54.png b/plt-graph-v3-0324/exp54.png new file mode 100644 index 0000000000000000000000000000000000000000..bea321d4d0a3ab29031869bc4b59a479ab4297f1 GIT binary patch literal 18330 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≈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 literal 0 HcmV?d00001 diff --git a/plt-graph-v3-0324/exp55.png b/plt-graph-v3-0324/exp55.png new file mode 100644 index 0000000000000000000000000000000000000000..36b6756dc0bede8ebc9decf4049e240cf633fc5e GIT binary patch literal 18306 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 literal 0 HcmV?d00001 diff --git a/plt-graph-v3-0324/exp56.png b/plt-graph-v3-0324/exp56.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea54e5beb3fdd110baf31379bce75710a2383da GIT binary patch literal 18335 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 literal 0 HcmV?d00001 diff --git a/plt-graph-v3-0324/exp60.png b/plt-graph-v3-0324/exp60.png new file mode 100644 index 0000000000000000000000000000000000000000..5b6e61e6609cad003e137a6671cfc739d460b21d GIT binary patch literal 18349 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�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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp1.png b/plt-graph-v3/exp1.png similarity index 100% rename from plt-graph-correct/exp1.png rename to plt-graph-v3/exp1.png diff --git a/plt-graph-correct/exp10.png b/plt-graph-v3/exp10.png similarity index 100% rename from plt-graph-correct/exp10.png rename to plt-graph-v3/exp10.png diff --git a/plt-graph-correct/exp11.png b/plt-graph-v3/exp11.png similarity index 100% rename from plt-graph-correct/exp11.png rename to plt-graph-v3/exp11.png diff --git a/plt-graph-correct/exp12.png b/plt-graph-v3/exp12.png similarity index 100% rename from plt-graph-correct/exp12.png rename to plt-graph-v3/exp12.png diff --git a/plt-graph-correct/exp13.png b/plt-graph-v3/exp13.png similarity index 100% rename from plt-graph-correct/exp13.png rename to plt-graph-v3/exp13.png diff --git a/plt-graph-correct/exp14.png b/plt-graph-v3/exp14.png similarity index 100% rename from plt-graph-correct/exp14.png rename to plt-graph-v3/exp14.png diff --git a/plt-graph-correct/exp15.png b/plt-graph-v3/exp15.png similarity index 100% rename from plt-graph-correct/exp15.png rename to plt-graph-v3/exp15.png diff --git a/plt-graph-correct/exp16.png b/plt-graph-v3/exp16.png similarity index 100% rename from plt-graph-correct/exp16.png rename to plt-graph-v3/exp16.png diff --git a/plt-graph-correct/exp17.png b/plt-graph-v3/exp17.png similarity index 100% rename from plt-graph-correct/exp17.png rename to plt-graph-v3/exp17.png diff --git a/plt-graph-correct/exp18.png b/plt-graph-v3/exp18.png similarity index 100% rename from plt-graph-correct/exp18.png rename to plt-graph-v3/exp18.png diff --git a/plt-graph-correct/exp19.png b/plt-graph-v3/exp19.png similarity index 100% rename from plt-graph-correct/exp19.png rename to plt-graph-v3/exp19.png diff --git a/plt-graph-correct/exp2.png b/plt-graph-v3/exp2.png similarity index 100% rename from plt-graph-correct/exp2.png rename to plt-graph-v3/exp2.png diff --git a/plt-graph-correct/exp20.png b/plt-graph-v3/exp20.png similarity index 100% rename from plt-graph-correct/exp20.png rename to plt-graph-v3/exp20.png diff --git a/plt-graph-correct/exp21.png b/plt-graph-v3/exp21.png similarity index 100% rename from plt-graph-correct/exp21.png rename to plt-graph-v3/exp21.png diff --git a/plt-graph-correct/exp22.png b/plt-graph-v3/exp22.png similarity index 100% rename from plt-graph-correct/exp22.png rename to plt-graph-v3/exp22.png diff --git a/plt-graph-correct/exp23.png b/plt-graph-v3/exp23.png similarity index 100% rename from plt-graph-correct/exp23.png rename to plt-graph-v3/exp23.png diff --git a/plt-graph-correct/exp24.png b/plt-graph-v3/exp24.png similarity index 100% rename from plt-graph-correct/exp24.png rename to plt-graph-v3/exp24.png diff --git a/plt-graph-correct/exp25.png b/plt-graph-v3/exp25.png similarity index 100% rename from plt-graph-correct/exp25.png rename to plt-graph-v3/exp25.png diff --git a/plt-graph-correct/exp26.png b/plt-graph-v3/exp26.png similarity index 100% rename from plt-graph-correct/exp26.png rename to plt-graph-v3/exp26.png diff --git a/plt-graph-correct/exp27.png b/plt-graph-v3/exp27.png similarity index 100% rename from plt-graph-correct/exp27.png rename to plt-graph-v3/exp27.png diff --git a/plt-graph-correct/exp28.png b/plt-graph-v3/exp28.png similarity index 100% rename from plt-graph-correct/exp28.png rename to plt-graph-v3/exp28.png diff --git a/plt-graph-correct/exp29.png b/plt-graph-v3/exp29.png similarity index 100% rename from plt-graph-correct/exp29.png rename to plt-graph-v3/exp29.png diff --git a/plt-graph-correct/exp3.png b/plt-graph-v3/exp3.png similarity index 100% rename from plt-graph-correct/exp3.png rename to plt-graph-v3/exp3.png diff --git a/plt-graph-correct/exp30.png b/plt-graph-v3/exp30.png similarity index 100% rename from plt-graph-correct/exp30.png rename to plt-graph-v3/exp30.png diff --git a/plt-graph-correct/exp31.png b/plt-graph-v3/exp31.png similarity index 100% rename from plt-graph-correct/exp31.png rename to plt-graph-v3/exp31.png diff --git a/plt-graph-correct/exp32.png b/plt-graph-v3/exp32.png similarity index 100% rename from plt-graph-correct/exp32.png rename to plt-graph-v3/exp32.png diff --git a/plt-graph-correct/exp33.png b/plt-graph-v3/exp33.png similarity index 100% rename from plt-graph-correct/exp33.png rename to plt-graph-v3/exp33.png diff --git a/plt-graph-correct/exp34.png b/plt-graph-v3/exp34.png similarity index 100% rename from plt-graph-correct/exp34.png rename to plt-graph-v3/exp34.png diff --git a/plt-graph-correct/exp35.png b/plt-graph-v3/exp35.png similarity index 100% rename from plt-graph-correct/exp35.png rename to plt-graph-v3/exp35.png diff --git a/plt-graph-correct/exp36.png b/plt-graph-v3/exp36.png similarity index 100% rename from plt-graph-correct/exp36.png rename to plt-graph-v3/exp36.png diff --git a/plt-graph-correct/exp37.png b/plt-graph-v3/exp37.png similarity index 100% rename from plt-graph-correct/exp37.png rename to plt-graph-v3/exp37.png diff --git a/plt-graph-correct/exp38.png b/plt-graph-v3/exp38.png similarity index 100% rename from plt-graph-correct/exp38.png rename to plt-graph-v3/exp38.png diff --git a/plt-graph-correct/exp39.png b/plt-graph-v3/exp39.png similarity index 100% rename from plt-graph-correct/exp39.png rename to plt-graph-v3/exp39.png diff --git a/plt-graph-correct/exp4.png b/plt-graph-v3/exp4.png similarity index 100% rename from plt-graph-correct/exp4.png rename to plt-graph-v3/exp4.png diff --git a/plt-graph-correct/exp40.png b/plt-graph-v3/exp40.png similarity index 100% rename from plt-graph-correct/exp40.png rename to plt-graph-v3/exp40.png diff --git a/plt-graph-correct/exp41.png b/plt-graph-v3/exp41.png similarity index 100% rename from plt-graph-correct/exp41.png rename to plt-graph-v3/exp41.png diff --git a/plt-graph-correct/exp42.png b/plt-graph-v3/exp42.png similarity index 100% rename from plt-graph-correct/exp42.png rename to plt-graph-v3/exp42.png diff --git a/plt-graph-correct/exp43.png b/plt-graph-v3/exp43.png similarity index 100% rename from plt-graph-correct/exp43.png rename to plt-graph-v3/exp43.png diff --git a/plt-graph-correct/exp44.png b/plt-graph-v3/exp44.png similarity index 100% rename from plt-graph-correct/exp44.png rename to plt-graph-v3/exp44.png diff --git a/plt-graph-correct/exp45.png b/plt-graph-v3/exp45.png similarity index 100% rename from plt-graph-correct/exp45.png rename to plt-graph-v3/exp45.png diff --git a/plt-graph-correct/exp46.png b/plt-graph-v3/exp46.png similarity index 100% rename from plt-graph-correct/exp46.png rename to plt-graph-v3/exp46.png diff --git a/plt-graph-correct/exp47.png b/plt-graph-v3/exp47.png similarity index 100% rename from plt-graph-correct/exp47.png rename to plt-graph-v3/exp47.png diff --git a/plt-graph-correct/exp48.png b/plt-graph-v3/exp48.png similarity index 100% rename from plt-graph-correct/exp48.png rename to plt-graph-v3/exp48.png diff --git a/plt-graph-correct/exp49.png b/plt-graph-v3/exp49.png similarity index 100% rename from plt-graph-correct/exp49.png rename to plt-graph-v3/exp49.png diff --git a/plt-graph-correct/exp5.png b/plt-graph-v3/exp5.png similarity index 100% rename from plt-graph-correct/exp5.png rename to plt-graph-v3/exp5.png diff --git a/plt-graph-correct/exp50.png b/plt-graph-v3/exp50.png similarity index 100% rename from plt-graph-correct/exp50.png rename to plt-graph-v3/exp50.png diff --git a/plt-graph-correct/exp51.png b/plt-graph-v3/exp51.png similarity index 100% rename from plt-graph-correct/exp51.png rename to plt-graph-v3/exp51.png diff --git a/plt-graph-correct/exp52.png b/plt-graph-v3/exp52.png similarity index 100% rename from plt-graph-correct/exp52.png rename to plt-graph-v3/exp52.png diff --git a/plt-graph-correct/exp53.png b/plt-graph-v3/exp53.png similarity index 100% rename from plt-graph-correct/exp53.png rename to plt-graph-v3/exp53.png diff --git a/plt-graph-correct/exp54.png b/plt-graph-v3/exp54.png similarity index 100% rename from plt-graph-correct/exp54.png rename to plt-graph-v3/exp54.png diff --git a/plt-graph-correct/exp55.png b/plt-graph-v3/exp55.png similarity index 100% rename from plt-graph-correct/exp55.png rename to plt-graph-v3/exp55.png diff --git a/plt-graph-correct/exp56.png b/plt-graph-v3/exp56.png similarity index 100% rename from plt-graph-correct/exp56.png rename to plt-graph-v3/exp56.png diff --git a/plt-graph-correct/exp57.png b/plt-graph-v3/exp57.png similarity index 100% rename from plt-graph-correct/exp57.png rename to plt-graph-v3/exp57.png diff --git a/plt-graph-correct/exp58.png b/plt-graph-v3/exp58.png similarity index 100% rename from plt-graph-correct/exp58.png rename to plt-graph-v3/exp58.png diff --git a/plt-graph-correct/exp59.png b/plt-graph-v3/exp59.png similarity index 100% rename from plt-graph-correct/exp59.png rename to plt-graph-v3/exp59.png diff --git a/plt-graph-correct/exp6.png b/plt-graph-v3/exp6.png similarity index 100% rename from plt-graph-correct/exp6.png rename to plt-graph-v3/exp6.png diff --git a/plt-graph-correct/exp60.png b/plt-graph-v3/exp60.png similarity index 100% rename from plt-graph-correct/exp60.png rename to plt-graph-v3/exp60.png diff --git a/plt-graph-correct/exp7.png b/plt-graph-v3/exp7.png similarity index 100% rename from plt-graph-correct/exp7.png rename to plt-graph-v3/exp7.png diff --git a/plt-graph-correct/exp8.png b/plt-graph-v3/exp8.png similarity index 100% rename from plt-graph-correct/exp8.png rename to plt-graph-v3/exp8.png diff --git a/plt-graph-correct/exp9.png b/plt-graph-v3/exp9.png similarity index 100% rename from plt-graph-correct/exp9.png rename to plt-graph-v3/exp9.png diff --git a/v3-0324-grades/deepseek_grades_direct_0shot_exp53.json b/v3-0324-grades/deepseek_grades_direct_0shot_exp53.json new file mode 100644 index 0000000..93d9fd5 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_0shot_exp53.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer provides a detailed analysis but deviates from the ground truth by focusing on potential conflicts and competitive interaction. The ground truth states that surrounding agent #0 will continue to lead the ego agent, implying a non-conflict scenario. The AI overlooks this cooperative aspect, leading to a partially correct but less accurate conclusion.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer provides a detailed and accurate analysis of the interaction between the ego agent and surrounding agent #1, closely aligning with the ground truth. It correctly identifies the relative positions, speeds, and motion statuses of both agents, and it logically concludes that surrounding agent #1 will follow the ego agent through the intersection. The only minor improvement could be a more direct statement confirming the ground truth explicitly, but the reasoning is sound and comprehensive.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly predicts that the ego agent and surrounding agent #3 will have a close encounter or potential conflict at the intersection, while the ground truth states that the ego agent will overtake surrounding agent #3. The AI's analysis focuses on potential conflict rather than overtaking, which is a significant deviation from the ground truth. However, some aspects, such as noting both agents are accelerating and heading towards the intersection, are correct but misapplied.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges that the two agents are moving in opposite directions, which aligns with the ground truth. However, it incorrectly suggests a potential conflict or near miss, which contradicts the ground truth that there will be no interaction. The AI's conclusion about 'interaction of caution' is unnecessary given the clear opposite directions of travel.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer provides a detailed analysis of the interaction but does not accurately reflect the ground truth. The ground truth states that surrounding agent #5 will follow the ego agent as they both head towards and then depart from the intersection, implying a non-conflict scenario. The AI, however, suggests a potential conflict or need for yielding, which is not in line with the ground truth. The AI's focus on collision risk and the need for yielding is incorrect given the context provided.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but overly complex for the ground truth. It correctly identifies that the ego agent and surrounding agent #6 are on different paths and won't collide, aligning with the ground truth's conclusion of no interaction. However, the AI's explanation includes unnecessary details about potential minimal interaction and proximity, which are not relevant to the ground truth. The ground truth simply states there will be no interaction due to opposite directions and departing status, making the AI's answer less precise and more convoluted than necessary.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly predicts a potential conflict and interaction between the ego agent and surrounding agent #7, despite the ground truth clearly stating there will be no interaction as they are heading in opposite directions and departing from the intersection. The AI's analysis overcomplicates the scenario by suggesting maneuvers and potential conflicts that are not supported by the given context.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8 due to their opposite directions and the stationary state of agent #8. However, the AI's conclusion includes unnecessary details about the crosswalk and pedestrian considerations, which are irrelevant to the specific question about interaction between the two agents. This detracts from the focus and accuracy of the answer, warranting a mid-range score.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but overly elaborate. It correctly identifies that there will be no direct interaction due to opposing directions and agent #9 departing the intersection. However, the AI unnecessarily speculates about minimal interaction and awareness, which is not mentioned in the ground truth. The answer should have been more concise and aligned with the ground truth's clarity.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. It accurately considers the fact that surrounding agent #10 is stationary and the ego agent is moving away from it, heading in opposite directions. The analysis aligns perfectly with the ground truth answer, providing a thorough explanation of why no interaction will occur.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it contradicts the ground truth answer, which states that there will be no interaction between the ego agent and surrounding agent #11 due to their opposite directions and departing from the intersection. The AI incorrectly suggests a potential conflict and interaction at the intersection, misinterpreting their movements and directions.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially matches the ground truth but misses key details. It correctly identifies the ego agent's intention to continue through the intersection and acknowledges surrounding agents. However, it incorrectly suggests a possible left turn, which is not mentioned in the ground truth. Additionally, it does not explicitly state the intention to overtake surrounding agent #3 or note the agents that will follow the ego agent (#1 and #5), as specified in the ground truth. The answer is somewhat correct but lacks precision and completeness.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_0shot_exp57.json b/v3-0324-grades/deepseek_grades_direct_0shot_exp57.json new file mode 100644 index 0000000..0477c4f --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_0shot_exp57.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but misses the key point that surrounding agent #0 will lead the ego agent due to its higher speed and acceleration. The AI focuses more on potential risks and conflicts, which are not emphasized in the ground truth. The ground truth simplifies the interaction to a straightforward lead-follow scenario, while the AI complicates it with unnecessary details about collision risks and traffic light implications, despite the ego agent already departing the intersection.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but includes unnecessary details and contradictions. The ground truth states that surrounding agent #1 will continue to lead the ego agent, which the AI acknowledges. However, the AI deviates by discussing hypothetical scenarios (e.g., the ego agent disregarding the traffic light) that are not part of the ground truth, leading to confusion. The score reflects this partial correctness and overcomplication.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies the potential conflict between the ego agent and surrounding agent #2, noting that the ego agent is accelerating despite the red light and that surrounding agent #2 is in the intersection. However, the ground truth answer simplifies the interaction by stating they will cross paths, while the AI's answer elaborates on the potential for a collision if the ego agent doesn't stop. The AI's answer is more detailed but could be seen as slightly over-complicating the straightforward ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer is partially correct but contains significant inaccuracies. It correctly identifies that the ego agent and surrounding agent #3 are heading in opposite directions, which reduces the likelihood of interaction. However, the AI erroneously suggests a potential collision scenario if the ego agent ignores the red light, which contradicts the ground truth stating there will be no interaction. The ground truth clearly states that the paths and directions of the agents prevent any interaction, making the AI's collision scenario incorrect. The AI's analysis of the traffic light's influence is also overly speculative and not aligned with the ground truth's straightforward conclusion.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is almost entirely correct, accurately identifying that there will be no significant interaction between the ego agent and surrounding agent #5 due to the latter being stationary and positioned to the right and behind the ego agent. However, the AI's conclusion slightly overstates the minimal interaction by suggesting the ego agent might pass by surrounding agent #5, whereas the ground truth specifies no interaction. The reasoning is otherwise sound and aligns closely with the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer fully aligns with the ground truth answer. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, as the ego agent is moving away from the intersection while surrounding agent #6 is stationary. The detailed analysis of positions, motion statuses, and relative movement supports this conclusion without any discrepancies.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially aligns with the ground truth but introduces unnecessary complexity and hypothetical scenarios. The ground truth clearly states there will be no interaction as surrounding agent #7 is stationary and on the right side of the ego agent. The AI answer, however, speculates about potential risks and collisions if the ego agent disregards the traffic light, which is not mentioned or implied in the ground truth. This overcomplicates the scenario and deviates from the simplicity and certainty of the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer aligns perfectly with the ground truth, stating there will be no interaction between the ego agent and surrounding agent #8 due to the latter being stationary and positioned on the right side. The analysis is thorough and correctly concludes no immediate interaction or conflict.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer accurately reflects the ground truth that there will be no interaction between the ego agent and surrounding agent #9. It correctly identifies that surrounding agent #9 is stationary and not moving, and the ego agent is departing the intersection, making any interaction unlikely. The reasoning is thorough and aligns perfectly with the given context.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct and aligns perfectly with the ground truth. It accurately analyzes the positions, speeds, and directions of both the ego agent and surrounding agent #10, concluding correctly that there will be no interaction between them due to the stationary state of agent #10 and the ego agent's departure from the intersection. The reasoning is thorough and logically sound.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly assumes the ego agent needs to stop or slow down due to the red light, despite the ground truth stating the ego agent intends to continue departing from the intersection. The AI also misinterprets the influence of stationary agents, which the ground truth explicitly states the ego agent will not need to respond to. The AI's conclusion contradicts the ground truth, leading to a low score.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_2shot_exp50.json b/v3-0324-grades/deepseek_grades_direct_2shot_exp50.json new file mode 100644 index 0000000..a770106 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_2shot_exp50.json @@ -0,0 +1,74 @@ +{ + "1024bf7754aa2b98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #0, as their paths do not conflict. It accurately describes the positions and movements of both agents, and correctly notes that the ego agent can proceed without altering its course. This aligns perfectly with the ground truth answer.", + "Word Count": "1792" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer is partially correct but misses the key point that surrounding agent #1 will likely follow the ego agent through the intersection, as stated in the ground truth. The AI focuses on the relative positions and speeds but does not explicitly state that surrounding agent #1 will follow the ego agent, which is the primary interaction described in the ground truth. The detailed analysis of paths and speeds is accurate but lacks the concise conclusion provided in the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that both the ego agent and surrounding agent #2 are on the same lane, have a green traffic light, and are heading towards the intersection. It accurately describes that they will proceed without conflict, with surrounding agent #2 following the ego agent. The only minor omission is explicitly stating that surrounding agent #2 will 'follow' the ego agent, which is more directly mentioned in the ground truth answer. However, the overall reasoning and conclusion are correct.", + "Word Count": "1792" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #4 is in the intersection and their paths do not conflict, aligning with the ground truth. However, the AI adds unnecessary cautionary advice about monitoring surrounding agent #4's movement, which slightly deviates from the ground truth's clear statement of no interaction. This minor addition reduces the score from a perfect 10.", + "Word Count": "1792" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #5, which aligns with the ground truth. However, it slightly misrepresents the scenario by stating that both are moving towards the intersection, whereas surrounding agent #5 is already in the intersection. This minor inaccuracy affects the precision of the answer, hence the score of 8.", + "Word Count": "1792" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is mostly correct and aligns with the ground truth in stating that both the ego agent and surrounding agent #6 are heading towards the intersection with green traffic lights and that the ego agent is ahead. However, the AI unnecessarily speculates about surrounding agent #6 potentially needing to yield or slow down at the crosswalk, which is not mentioned in the ground truth. The ground truth simply states that surrounding agent #6 will follow the ego agent, implying minimal interaction without complications. The AI's additional details about the crosswalk scenario slightly deviate from the simplicity of the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent will continue to accelerate and that there is no immediate conflict due to the stationary nature of surrounding agent #7. However, it misses the key point from the ground truth answer, which specifies that surrounding agent #7 is yielding to the ego agent due to its position on the right of the intersection. The AI focuses on the lack of immediate conflict but does not address the yielding behavior explicitly mentioned in the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially captures the scenario but misses the key detail from the ground truth that surrounding agent #8 is on the right of the intersection and stationary, implying a yield situation. It correctly identifies that there is no immediate conflict but does not explicitly acknowledge the yielding behavior or the positional dynamics as clearly as the ground truth. The explanation lacks depth in interpreting the rules of the road (e.g., yielding to agents on the right) which is central to the ground truth answer.", + "Word Count": "1792" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #9 is stationary and that the ego agent has the right of way due to the green traffic light. However, it incorrectly concludes that there will be no interaction between the two agents. The ground truth answer specifies that surrounding agent #9 will yield to the ego agent, implying an interaction where the stationary agent acknowledges the ego's right of way. The AI's conclusion that the paths do not conflict is partially correct but overlooks the explicit yielding behavior mentioned in the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies the ego agent's intention to continue accelerating and proceed through the intersection due to the green traffic light. It also mentions navigating safely and being mindful of surrounding agents, which aligns with the ground truth. However, the ground truth specifies that the ego agent will depart from the intersection, which the AI's answer does not explicitly state. The AI also over-emphasizes the need to be mindful of surrounding agents, as the ground truth indicates they are either following, departing, or stationary and do not require yielding.", + "Word Count": "1792" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_2shot_exp54.json b/v3-0324-grades/deepseek_grades_direct_2shot_exp54.json new file mode 100644 index 0000000..aff3bad --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_2shot_exp54.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key details. The ground truth states that surrounding agent #0 will continue to lead the ego agent, implying a sustained interaction where the ego agent follows #0 through the intersection. However, the AI suggests the ego agent will reach the intersection first, which contradicts the ground truth. The AI also incorrectly assumes the ego agent has the right of way without considering the actual positional and speed dynamics described in the context (e.g., #0 is ahead and moving slightly slower but accelerating). This misalignment results in a lower score.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer provides a detailed and mostly accurate description of the interaction between the ego agent and surrounding agent #1, aligning well with the ground truth that both agents will follow each other through the intersection. However, the ground truth simplifies the interaction to a follow scenario, while the AI answer adds unnecessary details about yielding and priority, which are not explicitly mentioned in the ground truth. This overcomplication slightly detracts from the correctness.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that the ego agent is catching up to surrounding agent #3 due to its higher speed. However, it misinterprets the interaction by suggesting potential conflict management at the intersection, which is not mentioned in the ground truth. The ground truth clearly states that the ego agent will overtake surrounding agent #3 as they both head towards and then depart from the intersection, implying a straightforward overtaking scenario rather than a complex conflict. The AI's focus on trajectory management and potential conflicts is an overcomplication of the scenario described in the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is mostly correct, accurately noting that there will be minimal interaction due to the opposite directions and the departing nature of surrounding agent #4. However, it slightly overstates the 'minimal interaction' aspect, as the ground truth clarifies there will be no interaction at all. The answer correctly identifies the positions and movement directions, but the difference in phrasing (minimal vs. no interaction) slightly detracts from full correctness.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer correctly identifies that there is no immediate conflict between the ego agent and surrounding agent #5, as they are both heading towards the intersection with the ego agent in front. However, it fails to fully align with the ground truth by not mentioning that surrounding agent #5 will follow the ego agent as they both depart from the intersection. The answer is partially correct but lacks completeness regarding the post-intersection interaction.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, as they are heading in opposite directions and agent #6 is departing from the intersection. This aligns perfectly with the ground truth answer, which states the same conclusion. The AI provides additional contextual details that support this conclusion, such as the relative positions and directions of the agents, reinforcing the correctness of the answer.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no direct conflict or interaction between the ego agent and surrounding agent #7 due to their opposite directions and movement away from the intersection. However, the answer could be more concise and direct in stating there will be no interaction, as the ground truth does. The mention of 'minimal' interaction slightly dilutes the clarity provided by the ground truth answer.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8, which aligns with the ground truth. However, it incorrectly states that surrounding agent #8 is decelerating, while the ground truth mentions it is not moving. This minor discrepancy affects the score slightly.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer perfectly aligns with the ground truth. It correctly identifies that the ego agent and surrounding agent #9 are heading in opposite directions and are departing from the intersection, thus confirming there will be no interaction. The explanation is clear, accurate, and fully supported by the context provided.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #10 due to the opposite directions of travel and the stationary state of surrounding agent #10. However, it slightly deviates by mentioning 'minimal' interaction, which is not entirely accurate as the ground truth states 'no interaction.' The answer is mostly correct but could be more precise.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misleading. It incorrectly states that the ego agent and surrounding agent #11 will interact due to proximity, while the ground truth clearly states there will be no interaction as they are heading in opposite directions and departing from the intersection. The AI's focus on right of way and arrival times is irrelevant to the ground truth, which emphasizes their divergent paths.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially matches the ground truth but misses key details. It correctly identifies that the ego agent is accelerating but incorrectly states it is heading towards the intersection, whereas the ground truth says it intends to depart. The AI also incorrectly assumes the ego agent needs to assess surrounding agents, while the ground truth clarifies no interaction is needed with most surrounding agents. The AI's focus on caution and assessment is not aligned with the ground truth's clear intention to overtake and depart.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_2shot_exp58.json b/v3-0324-grades/deepseek_grades_direct_2shot_exp58.json new file mode 100644 index 0000000..f5391ba --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_2shot_exp58.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 is leading the ego agent and that both are departing the intersection. It also accurately notes the speed difference and the need for safe separation. However, it underemphasizes the significance of the acceleration dynamics, which is a key part of the ground truth answer stating that surrounding agent #0 is accelerating and will lead. The AI's conclusion about minimal interaction is correct but lacks the precision of the ground truth regarding the acceleration aspect.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer is largely correct but includes unnecessary details about the traffic light, which distracts from the main point. The ground truth focuses solely on the directional and positional relationship between the ego agent and surrounding agent #1, stating that surrounding agent #1 will continue to lead. The AI correctly identifies this but also includes a cautionary note about the traffic light, which, while relevant to the ego agent's behavior, is not directly related to the interaction between the two agents as they depart the intersection.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent must yield to surrounding agent #2 due to the red traffic light and the latter's position in the intersection. However, it incorrectly states that surrounding agent #2 is in the same lane as the ego agent, which contradicts the context (surrounding agent #2 is 18 meters on the left and 2 meters behind the ego agent). The ground truth focuses on the crossing paths, while the AI emphasizes yielding, which is partially correct but not fully aligned with the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer perfectly aligns with the ground truth, accurately stating that there will be no interaction between the ego agent and surrounding agent #3 due to their opposite directions and the ego agent's departure from the intersection. The reasoning is clear and matches the scenario described.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #5 because the latter is stationary and not in motion. The explanation about the positioning and lack of motion of surrounding agent #5 allowing the ego agent to depart safely without course adjustment is also accurate and detailed, matching the context provided.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth by stating that there will be no interaction between the ego agent and surrounding agent #6. It correctly identifies the stationary status of surrounding agent #6 and the ego agent's movement away from the intersection, confirming that no conflict or adjustment is necessary. The detailed reasoning aligns perfectly with the provided context and ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct as it accurately describes that there will be no interaction between the ego agent and surrounding agent #7. The explanation aligns perfectly with the ground truth, noting that surrounding agent #7 is stationary and positioned to the right of the ego agent, thus not affecting the ego agent's behavior. The AI also correctly considers the red traffic light's impact on the ego agent, reinforcing the lack of interaction.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is fully correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #8, citing the stationary status of agent #8 and its position relative to the ego agent. The explanation is clear and covers all relevant details, confirming the lack of conflict or influence between the two agents.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer is partially correct in stating that there will be no interaction due to surrounding agent #9 being stationary. However, the AI incorrectly claims that the ego agent is stationary when it is actually accelerating at 8 m/s. This inaccuracy affects the overall correctness of the answer.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #10, emphasizing that the latter is stationary and positioned to the right and behind the ego agent, thus no conflict or need for adjustment arises. The explanation is thorough and matches the scenario details provided.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer partially aligns with the ground truth by acknowledging the ego agent's departure from the intersection. However, it incorrectly emphasizes the need to stop due to the red traffic light, which contradicts the ground truth that the ego agent intends to continue departing without stopping. The AI also fails to accurately address the interactions with surrounding agents as described in the ground truth.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_4shot_exp51.json b/v3-0324-grades/deepseek_grades_direct_4shot_exp51.json new file mode 100644 index 0000000..b2f8344 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_4shot_exp51.json @@ -0,0 +1,74 @@ +{ + "1024bf7754aa2b98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately describes the situation where surrounding agent #0 is departing the intersection and the ego agent's path does not conflict with it, allowing the ego agent to proceed without interaction. The explanation provided by the AI is clear, detailed, and matches the given context and ground truth answer.", + "Word Count": "1792" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer captures the general idea that both agents are permitted to proceed due to the green light, but it inaccurately states that surrounding agent #1 should yield to the ego agent. The ground truth specifies that agent #1 will follow the ego agent, implying coordination rather than yielding. The AI's focus on yielding and right-of-way introduces an unnecessary conflict scenario not supported by the context.", + "Word Count": "1792" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth but introduces unnecessary complexity regarding yielding, which is not mentioned in the ground truth. The ground truth simply states that both agents will follow each other towards the intersection, implying coordination without conflict. The AI's focus on yielding is not incorrect but it is an overcomplication of the scenario described in the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes that surrounding agent #4 will yield to the ego agent, despite the ground truth stating there is no interaction because their paths do not conflict. The answer also misinterprets the scenario by suggesting a need for clearance, which contradicts the given context.", + "Word Count": "1792" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly assumes a potential conflict between the ego agent and surrounding agent #5, despite the ground truth stating that their paths do not conflict. The AI's suggestion that the ego agent needs to yield is unfounded based on the provided context. The score reflects the significant deviation from the ground truth.", + "Word Count": "1792" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer partially aligns with the ground truth by acknowledging that both agents are heading towards the intersection with green traffic lights. However, the AI incorrectly states that surrounding agent #6 will yield to the ego agent, which is not explicitly supported by the context. The ground truth focuses on both agents following the same path without conflict, whereas the AI introduces unnecessary complexity about yielding or adjusting speed, which isn't mentioned in the ground truth. The score reflects this partial accuracy but also the misalignment in interpretation.", + "Word Count": "1792" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that surrounding agent #7 is stationary and does not pose an immediate obstruction to the ego agent, which aligns with the ground truth to some extent. However, it misses the detail from the ground truth that surrounding agent #7 is on the right of the intersection and will yield to the ego agent, implying a potential interaction based on right-of-way rules. The AI's conclusion of 'no interaction' is somewhat accurate but lacks the nuance of the expected yielding behavior.", + "Word Count": "1792" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer is incorrect as it fails to recognize the potential interaction between the ego agent and surrounding agent #8. While agent #8 is stationary, its position (27m ahead and 10m to the right) and orientation (on the right of the intersection) suggest it could yield to the ego agent. The answer incorrectly assumes no interaction, contradicting the ground truth, which clearly states agent #8 will yield to the ego agent.", + "Word Count": "1792" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #9 is stationary and on the right side of the intersection, which is consistent with the ground truth. However, it incorrectly concludes that there will be no interaction, while the ground truth states that surrounding agent #9 will yield to the ego agent. The AI's answer misses the implied yielding behavior, which is a key part of the interaction.", + "Word Count": "1792" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies the ego agent's intention to proceed through the intersection due to the green light and acceleration but misses explicitly stating the agent's intention to depart from the intersection, which is a key part of the ground truth. It also correctly notes the need to be mindful of the crosswalk, though it doesn't emphasize the clear right of way as strongly as the ground truth does.", + "Word Count": "1792" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_4shot_exp55.json b/v3-0324-grades/deepseek_grades_direct_4shot_exp55.json new file mode 100644 index 0000000..669c259 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_4shot_exp55.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer partially aligns with the ground truth by acknowledging that both agents are heading towards the intersection and may need coordination. However, it incorrectly suggests potential yielding and does not clearly state that surrounding agent #0 will continue to lead the ego agent beyond the intersection, which is a key part of the ground truth. The AI's focus on traffic control and yielding introduces inaccuracies not present in the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer provides a detailed and plausible interaction scenario between the ego agent and surrounding agent #1, but it deviates slightly from the ground truth by suggesting a yielding interaction and potential speed adjustments. The ground truth simply states that surrounding agent #1 will follow the ego agent without conflict. The AI's answer is more elaborate but not entirely aligned with the simpler ground truth.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer partially aligns with the ground truth but misses key details. While it correctly identifies that the ego agent is accelerating and likely to enter the intersection first, it incorrectly states that surrounding agent #3 will yield. The ground truth specifies that the ego agent will overtake surrounding agent #3, implying a more direct interaction rather than yielding. The AI's explanation about speed adjustment is relevant but not fully accurate in describing the overtaking scenario.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is entirely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #4 due to their opposite directions and departure from the intersection. The explanation regarding their non-conflicting trajectories is also correct.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly assumes that surrounding agent #5 will yield to the ego agent and that there will be no significant interaction. The ground truth states that both agents will head towards and then depart from the intersection, implying a following interaction rather than yielding or no interaction. The AI's focus on speed and position without considering the future departure from the intersection is a key inaccuracy.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #6, as they are heading in opposite directions and departing from the intersection. This aligns perfectly with the ground truth answer, which states the same reasoning. The explanation provided by the AI is clear and accurate, confirming the absence of conflict or hindrance.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #7, as they are moving in opposite directions and departing from the intersection. This fully aligns with the ground truth answer, which states the same conclusion.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8 due to their opposite directions and the fact that surrounding agent #8 is not moving. However, the ground truth answer also specifies that surrounding agent #8 is decelerating, which the AI answer does not mention, slightly reducing its completeness.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #9 due to their opposite directions and the fact that agent #9 is departing from the intersection. However, the mention of 'yield' is unnecessary and slightly misleading since no actual yielding is required when agents are moving in opposite directions and not on a collision course. The core conclusion aligns with the ground truth, but the additional detail slightly detracts from the clarity.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10, as they are moving in opposite directions and surrounding agent #10 is stationary. The explanation aligns perfectly with the ground truth answer, covering all critical points: the opposite directions, the distance, and the lack of movement by surrounding agent #10.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI answer incorrectly states that both agents are heading towards the intersection, while the ground truth clarifies that they are heading in opposite directions. The AI also fails to note that surrounding agent #11 is on the right of the intersection, not the left as implied. The answer overcomplicates the scenario by suggesting potential monitoring needs, whereas the ground truth clearly states there will be no interaction.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer correctly identifies that the ego agent is accelerating and heading towards the intersection. However, it misses the crucial detail from the ground truth that the ego agent intends to depart from the intersection, not just proceed through it. Additionally, the AI fails to mention the interaction with specific surrounding agents (overtaking #3, being followed by #1 and #5) and the non-interaction with others, which are key aspects of the ground truth.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_4shot_exp59.json b/v3-0324-grades/deepseek_grades_direct_4shot_exp59.json new file mode 100644 index 0000000..62713e6 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_4shot_exp59.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI's answer correctly notes that the ego agent and surrounding agent #0 are both departing from the intersection and that their paths do not conflict, which aligns with the ground truth. However, it overlooks the dynamic aspect where surrounding agent #0 is leading and accelerating, while the ego agent is also accelerating but at a lower speed, a key detail in the ground truth. The focus on the red traffic light causing the ego agent to stop is somewhat misplaced, as the context states the ego agent is already departing and accelerating despite the red light, suggesting the interaction is more about relative motion than compliance with the traffic signal.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that there is no immediate conflict between the ego agent and surrounding agent #1 due to their separation and direction. However, it understates the interaction by suggesting 'no interaction' when the ground truth acknowledges a lead-follow dynamic ('will continue to lead'). The AI's answer is mostly correct but misses the nuanced interaction described in the ground truth.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI's answer acknowledges the intersection and the movements of both agents, but it incorrectly assumes that surrounding agent #2 will yield to the ego agent. The ground truth clearly states that surrounding agent #2 will cross paths with the ego agent, not yield. The AI does correctly note the ego agent's red light and the need for caution, but the core interaction prediction is off.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer is partially correct but contains inaccuracies. It correctly identifies that there will be no direct conflict between the ego agent and surrounding agent #3 due to their opposite directions and the ego agent's red light. However, it incorrectly suggests that the ego agent will remain stationary, which is not explicitly stated in the context (the ego agent is accelerating). The ground truth answer clearly states there will be no interaction, which aligns with the AI's conclusion but not its reasoning about the ego agent's behavior.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, as surrounding agent #5 is stationary and not moving. Additionally, the AI notes that the ego agent is departing from the intersection and their paths do not conflict, which aligns perfectly with the ground truth answer. The explanation is clear and accurate, warranting a full score.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #6, which aligns with the ground truth. However, the AI's explanation includes unnecessary details about the ego agent's motion and the distance between the agents, which, while not incorrect, slightly deviate from the simplicity and directness of the ground truth answer. The score reflects this minor over-elaboration.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #7 is stationary and that there will be no interaction with the ego agent. However, it inaccurately describes the position of surrounding agent #7 as 'in front of the ego agent,' when the context states it is 14 meters on the right and 5 meters in front. The ground truth answer more precisely notes the right-side positioning. The AI's answer is mostly correct but lacks precision in describing the spatial relationship.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #8. It accurately notes that surrounding agent #8 is stationary and positioned behind the ego agent, which aligns with the ground truth answer. The explanation provided by the AI is clear and comprehensive, covering all relevant details from the context.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #9, which aligns with the ground truth. However, the AI states that surrounding agent #9 is located in front of the ego agent, which is partially correct but not entirely accurate based on the context (it is 15 meters on the right and 8 meters in front). The ground truth specifies the right side positioning, which the AI missed. The overall conclusion is correct, but the positional detail is slightly off.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. It accurately notes that surrounding agent #10 is stationary and not moving, and that the ego agent's movement is not affected by this stationary agent. The explanation aligns perfectly with the ground truth answer, which also states that there will be no interaction due to the stationary state and position of surrounding agent #10.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent will aim to stop in response to the red light, which contradicts the ground truth answer where the ego agent intends to continue departing from the intersection. The ground truth also specifies interactions with surrounding agents, which the AI's answer completely misses. The AI's answer fails to account for the context that the ego agent is already departing and does not need to stop, leading to a low score.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_6shot_exp56.json b/v3-0324-grades/deepseek_grades_direct_6shot_exp56.json new file mode 100644 index 0000000..5427488 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_6shot_exp56.json @@ -0,0 +1,88 @@ +{ + "105d3ae13e18e01f": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 is ahead of the ego agent and both are accelerating towards the intersection. However, it misses the key detail from the ground truth that surrounding agent #0 will continue to lead the ego agent as they both depart from the intersection. The AI's focus on potential conflict assessment is reasonable but lacks the specificity about the leading role of surrounding agent #0 post-intersection.", + "Word Count": "1511" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer mostly aligns with the ground truth but includes additional speculative details (e.g., right of way, speed adjustments) that are not explicitly stated in the ground truth. The core assertion\u2014that surrounding agent #1 will follow the ego agent\u2014is correct, but the AI overcomplicates the interaction with assumptions not confirmed by the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer is partially correct in identifying that the ego agent will likely reach the intersection first due to its higher speed. However, it incorrectly states that surrounding agent #3 will yield to the ego agent, which is not in the ground truth answer. The ground truth specifies that surrounding agent #3 will be overtaken by the ego agent, implying a passive interaction rather than an active yielding scenario. The AI's explanation about the right of way is also speculative and not supported by the ground truth.", + "Word Count": "1511" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer is completely correct and aligns perfectly with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #4 due to their opposite directions and the fact that surrounding agent #4 is departing from the intersection. The explanation also correctly notes the relative positions and lack of path conflict, which supports the conclusion that the ego agent can proceed without concern.", + "Word Count": "1511" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer incorrectly describes a yield scenario, which is not aligned with the ground truth that states surrounding agent #5 will follow the ego agent. The AI misinterprets the interaction dynamics, suggesting a yield when the ground truth indicates a following behavior. The speed difference is noted, but the conclusion about yielding is incorrect in this context.", + "Word Count": "1511" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer perfectly aligns with the ground truth answer, stating that there will be no interaction between the ego agent and surrounding agent #6 due to their opposite directions and departure from the intersection. The explanation is clear and accurate, matching the provided context.", + "Word Count": "1511" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer perfectly aligns with the ground truth answer. It correctly identifies that there will be no interaction between the ego agent and surrounding agent #7 due to their opposite directions and their positions relative to the intersection. The explanation provided by the AI is clear and accurate, matching the ground truth in all aspects.", + "Word Count": "1511" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI's answer correctly identifies that there will be no significant interaction between the ego agent and surrounding agent #8, aligning with the ground truth. However, the AI mentions that surrounding agent #8 is decelerating, while the ground truth states it is not moving. This minor discrepancy affects the accuracy of the answer.", + "Word Count": "1511" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer correctly identifies that there will be no conflict between the ego agent and surrounding agent #9 due to their opposite directions and the fact that agent #9 is departing from the intersection. However, the AI incorrectly states that agent #9 will yield to the ego agent, which is not necessary as their paths do not intersect. The ground truth answer clearly states no interaction will occur, making the AI's assertion about yielding inaccurate.", + "Word Count": "1511" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10. It accurately notes that surrounding agent #10 is not moving, is positioned behind the ego agent, and is heading in the opposite direction, which aligns perfectly with the ground truth answer. The reasoning is clear and complete, leaving no room for misinterpretation.", + "Word Count": "1511" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "4", + "Correctness explanation": "The AI's answer is partially correct but misses the key detail that the agents are heading in opposite directions, which significantly reduces the likelihood of interaction. The ground truth explicitly states there will be no interaction due to opposite directions, but the AI suggests monitoring and potential yielding, which is not necessary based on the context.", + "Word Count": "1511" + } + }, + "Interactions_11": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "7", + "Correctness explanation": "The AI answer correctly identifies that the ego agent will continue accelerating and navigate the intersection without significant adjustments, aligning with the ground truth. However, it misses the specific detail about the ego agent intending to depart from the intersection, not just proceeding straight, and the overtaking of surrounding agent #3. It also doesn't mention the follow-up by surrounding agents #1 and #5, which are part of the ground truth answer. The answer is generally correct but lacks some precision.", + "Word Count": "1511" + } + } + } +} \ No newline at end of file diff --git a/v3-0324-grades/deepseek_grades_direct_6shot_exp60.json b/v3-0324-grades/deepseek_grades_direct_6shot_exp60.json new file mode 100644 index 0000000..15e2111 --- /dev/null +++ b/v3-0324-grades/deepseek_grades_direct_6shot_exp60.json @@ -0,0 +1,81 @@ +{ + "12ddceb399274f98": { + "Interactions_0": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "6", + "Correctness explanation": "The AI answer correctly identifies that surrounding agent #0 is in front and accelerating, and the ego agent is also accelerating but at a lower speed. However, the AI incorrectly downplays the interaction by stating it is minimal and that the ego agent is expected to stop or reduce speed, which contradicts the ground truth answer's emphasis on the lead relationship between the two agents. The ground truth answer highlights the dynamic of surrounding agent #0 leading the ego agent, which the AI does not fully capture.", + "Word Count": "1491" + } + }, + "Interactions_1": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "5", + "Correctness explanation": "The AI answer incorrectly states that there will be no significant interaction, while the ground truth indicates that surrounding agent #1 will continue to lead the ego agent, implying an ongoing interaction. The AI acknowledges the positions and directions but fails to recognize the leading role of surrounding agent #1, which is a key aspect of the interaction.", + "Word Count": "1491" + } + }, + "Interactions_2": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly minimizes the interaction between the ego agent and surrounding agent #2. The ground truth clearly states that surrounding agent #2 will cross paths with the ego agent as it is in the intersection and heading right of the ego agent. The AI's focus on the ego agent stopping due to the red light and the assumption of minimal interaction disregards the positional and directional details that indicate a potential crossing scenario.", + "Word Count": "1491" + } + }, + "Interactions_3": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer is mostly correct but includes unnecessary details about the traffic light's influence on the ego agent, which is not directly relevant to the interaction with surrounding agent #3. The ground truth answer succinctly states that there will be no interaction due to opposite directions and the ego agent departing, which the AI answer also concludes but with more elaboration.", + "Word Count": "1491" + } + }, + "Interactions_4": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #5, aligning perfectly with the ground truth answer. It accurately notes that surrounding agent #5 is stationary and positioned to the right and slightly behind the ego agent, which means the ego agent's accelerating departure from the intersection does not necessitate any interaction or course alteration.", + "Word Count": "1491" + } + }, + "Interactions_5": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI answer correctly identifies that there will be no direct interaction between the ego agent and surrounding agent #6, aligning with the ground truth. However, it unnecessarily elaborates on the ego agent's need to stop due to the red traffic light, which is not directly relevant to the interaction with surrounding agent #6. The core correctness is maintained, but the additional details slightly deviate from the simplicity of the ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_6": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer perfectly aligns with the ground truth. It accurately states that there will be no interaction between the ego agent and surrounding agent #7, as the latter is stationary and positioned on the right side of the ego agent. The explanation covers all relevant details from the context, including the ego agent's departure from the intersection, the red traffic light, and the stationary state of surrounding agent #7, ensuring no immediate conflict.", + "Word Count": "1491" + } + }, + "Interactions_7": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "9", + "Correctness explanation": "The AI's answer is almost entirely correct, accurately stating that there will be no significant interaction due to surrounding agent #8 being stationary and behind the ego agent. However, the ground truth answer is more concise, explicitly mentioning the lack of interaction without additional details, which makes it slightly clearer. The AI answer could be improved by being more succinct, but it is factually accurate.", + "Word Count": "1491" + } + }, + "Interactions_8": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "10", + "Correctness explanation": "The AI's answer accurately reflects the ground truth, stating that there will be no interaction between the ego agent and surrounding agent #9. It correctly identifies that surrounding agent #9 is stationary and positioned to the right of the ego agent, ensuring no conflict. The explanation aligns perfectly with the provided context and ground truth answer.", + "Word Count": "1491" + } + }, + "Interactions_9": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "8", + "Correctness explanation": "The AI's answer correctly identifies that there will be no interaction between the ego agent and surrounding agent #10, which aligns with the ground truth. However, it slightly misrepresents the positional relationship by stating that surrounding agent #10 is 'positioned behind the ego agent,' when in reality, it is 14 meters on the right and 11 meters behind the ego agent. This minor inaccuracy affects the precision of the answer.", + "Word Count": "1491" + } + }, + "Interactions_10": { + "openai_models_gpt-4o-mini_modelname": { + "Correctness score": "3", + "Correctness explanation": "The AI's answer incorrectly states that the ego agent will stop due to the red light, despite the context clearly indicating the ego agent is already departing from the intersection and the traffic light's status does not require stopping at this stage. The ground truth specifies the ego agent intends to continue departing and only needs to be aware of certain surrounding agents, with no mention of stopping. The AI's focus on the red light and stopping contradicts the provided scenario's details.", + "Word Count": "1491" + } + } + } +} \ No newline at end of file diff --git a/grades/direct/deepseek_grades_direct_0shot_exp1.json b/v3-grades/deepseek_grades_direct_0shot_exp1.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp1.json rename to v3-grades/deepseek_grades_direct_0shot_exp1.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp13.json b/v3-grades/deepseek_grades_direct_0shot_exp13.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp13.json rename to v3-grades/deepseek_grades_direct_0shot_exp13.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp17.json b/v3-grades/deepseek_grades_direct_0shot_exp17.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp17.json rename to v3-grades/deepseek_grades_direct_0shot_exp17.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp21.json b/v3-grades/deepseek_grades_direct_0shot_exp21.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp21.json rename to v3-grades/deepseek_grades_direct_0shot_exp21.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp25.json b/v3-grades/deepseek_grades_direct_0shot_exp25.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp25.json rename to v3-grades/deepseek_grades_direct_0shot_exp25.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp29.json b/v3-grades/deepseek_grades_direct_0shot_exp29.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp29.json rename to v3-grades/deepseek_grades_direct_0shot_exp29.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp33.json b/v3-grades/deepseek_grades_direct_0shot_exp33.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp33.json rename to v3-grades/deepseek_grades_direct_0shot_exp33.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp37.json b/v3-grades/deepseek_grades_direct_0shot_exp37.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp37.json rename to v3-grades/deepseek_grades_direct_0shot_exp37.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp41.json b/v3-grades/deepseek_grades_direct_0shot_exp41.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp41.json rename to v3-grades/deepseek_grades_direct_0shot_exp41.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp45.json b/v3-grades/deepseek_grades_direct_0shot_exp45.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp45.json rename to v3-grades/deepseek_grades_direct_0shot_exp45.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp49.json b/v3-grades/deepseek_grades_direct_0shot_exp49.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp49.json rename to v3-grades/deepseek_grades_direct_0shot_exp49.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp5.json b/v3-grades/deepseek_grades_direct_0shot_exp5.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp5.json rename to v3-grades/deepseek_grades_direct_0shot_exp5.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp53.json b/v3-grades/deepseek_grades_direct_0shot_exp53.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp53.json rename to v3-grades/deepseek_grades_direct_0shot_exp53.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp57.json b/v3-grades/deepseek_grades_direct_0shot_exp57.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp57.json rename to v3-grades/deepseek_grades_direct_0shot_exp57.json diff --git a/grades/direct/deepseek_grades_direct_0shot_exp9.json b/v3-grades/deepseek_grades_direct_0shot_exp9.json similarity index 100% rename from grades/direct/deepseek_grades_direct_0shot_exp9.json rename to v3-grades/deepseek_grades_direct_0shot_exp9.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp10.json b/v3-grades/deepseek_grades_direct_2shot_exp10.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp10.json rename to v3-grades/deepseek_grades_direct_2shot_exp10.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp14.json b/v3-grades/deepseek_grades_direct_2shot_exp14.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp14.json rename to v3-grades/deepseek_grades_direct_2shot_exp14.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp18.json b/v3-grades/deepseek_grades_direct_2shot_exp18.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp18.json rename to v3-grades/deepseek_grades_direct_2shot_exp18.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp2.json b/v3-grades/deepseek_grades_direct_2shot_exp2.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp2.json rename to v3-grades/deepseek_grades_direct_2shot_exp2.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp22.json b/v3-grades/deepseek_grades_direct_2shot_exp22.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp22.json rename to v3-grades/deepseek_grades_direct_2shot_exp22.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp26.json b/v3-grades/deepseek_grades_direct_2shot_exp26.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp26.json rename to v3-grades/deepseek_grades_direct_2shot_exp26.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp30.json b/v3-grades/deepseek_grades_direct_2shot_exp30.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp30.json rename to v3-grades/deepseek_grades_direct_2shot_exp30.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp34.json b/v3-grades/deepseek_grades_direct_2shot_exp34.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp34.json rename to v3-grades/deepseek_grades_direct_2shot_exp34.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp38.json b/v3-grades/deepseek_grades_direct_2shot_exp38.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp38.json rename to v3-grades/deepseek_grades_direct_2shot_exp38.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp42.json b/v3-grades/deepseek_grades_direct_2shot_exp42.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp42.json rename to v3-grades/deepseek_grades_direct_2shot_exp42.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp46.json b/v3-grades/deepseek_grades_direct_2shot_exp46.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp46.json rename to v3-grades/deepseek_grades_direct_2shot_exp46.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp50.json b/v3-grades/deepseek_grades_direct_2shot_exp50.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp50.json rename to v3-grades/deepseek_grades_direct_2shot_exp50.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp54.json b/v3-grades/deepseek_grades_direct_2shot_exp54.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp54.json rename to v3-grades/deepseek_grades_direct_2shot_exp54.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp58.json b/v3-grades/deepseek_grades_direct_2shot_exp58.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp58.json rename to v3-grades/deepseek_grades_direct_2shot_exp58.json diff --git a/grades/direct/deepseek_grades_direct_2shot_exp6.json b/v3-grades/deepseek_grades_direct_2shot_exp6.json similarity index 100% rename from grades/direct/deepseek_grades_direct_2shot_exp6.json rename to v3-grades/deepseek_grades_direct_2shot_exp6.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp11.json b/v3-grades/deepseek_grades_direct_4shot_exp11.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp11.json rename to v3-grades/deepseek_grades_direct_4shot_exp11.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp15.json b/v3-grades/deepseek_grades_direct_4shot_exp15.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp15.json rename to v3-grades/deepseek_grades_direct_4shot_exp15.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp19.json b/v3-grades/deepseek_grades_direct_4shot_exp19.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp19.json rename to v3-grades/deepseek_grades_direct_4shot_exp19.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp23.json b/v3-grades/deepseek_grades_direct_4shot_exp23.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp23.json rename to v3-grades/deepseek_grades_direct_4shot_exp23.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp27.json b/v3-grades/deepseek_grades_direct_4shot_exp27.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp27.json rename to v3-grades/deepseek_grades_direct_4shot_exp27.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp3.json b/v3-grades/deepseek_grades_direct_4shot_exp3.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp3.json rename to v3-grades/deepseek_grades_direct_4shot_exp3.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp31.json b/v3-grades/deepseek_grades_direct_4shot_exp31.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp31.json rename to v3-grades/deepseek_grades_direct_4shot_exp31.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp35.json b/v3-grades/deepseek_grades_direct_4shot_exp35.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp35.json rename to v3-grades/deepseek_grades_direct_4shot_exp35.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp39.json b/v3-grades/deepseek_grades_direct_4shot_exp39.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp39.json rename to v3-grades/deepseek_grades_direct_4shot_exp39.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp43.json b/v3-grades/deepseek_grades_direct_4shot_exp43.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp43.json rename to v3-grades/deepseek_grades_direct_4shot_exp43.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp47.json b/v3-grades/deepseek_grades_direct_4shot_exp47.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp47.json rename to v3-grades/deepseek_grades_direct_4shot_exp47.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp51.json b/v3-grades/deepseek_grades_direct_4shot_exp51.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp51.json rename to v3-grades/deepseek_grades_direct_4shot_exp51.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp55.json b/v3-grades/deepseek_grades_direct_4shot_exp55.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp55.json rename to v3-grades/deepseek_grades_direct_4shot_exp55.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp59.json b/v3-grades/deepseek_grades_direct_4shot_exp59.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp59.json rename to v3-grades/deepseek_grades_direct_4shot_exp59.json diff --git a/grades/direct/deepseek_grades_direct_4shot_exp7.json b/v3-grades/deepseek_grades_direct_4shot_exp7.json similarity index 100% rename from grades/direct/deepseek_grades_direct_4shot_exp7.json rename to v3-grades/deepseek_grades_direct_4shot_exp7.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp12.json b/v3-grades/deepseek_grades_direct_6shot_exp12.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp12.json rename to v3-grades/deepseek_grades_direct_6shot_exp12.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp16.json b/v3-grades/deepseek_grades_direct_6shot_exp16.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp16.json rename to v3-grades/deepseek_grades_direct_6shot_exp16.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp20.json b/v3-grades/deepseek_grades_direct_6shot_exp20.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp20.json rename to v3-grades/deepseek_grades_direct_6shot_exp20.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp24.json b/v3-grades/deepseek_grades_direct_6shot_exp24.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp24.json rename to v3-grades/deepseek_grades_direct_6shot_exp24.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp28.json b/v3-grades/deepseek_grades_direct_6shot_exp28.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp28.json rename to v3-grades/deepseek_grades_direct_6shot_exp28.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp32.json b/v3-grades/deepseek_grades_direct_6shot_exp32.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp32.json rename to v3-grades/deepseek_grades_direct_6shot_exp32.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp36.json b/v3-grades/deepseek_grades_direct_6shot_exp36.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp36.json rename to v3-grades/deepseek_grades_direct_6shot_exp36.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp4.json b/v3-grades/deepseek_grades_direct_6shot_exp4.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp4.json rename to v3-grades/deepseek_grades_direct_6shot_exp4.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp40.json b/v3-grades/deepseek_grades_direct_6shot_exp40.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp40.json rename to v3-grades/deepseek_grades_direct_6shot_exp40.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp44.json b/v3-grades/deepseek_grades_direct_6shot_exp44.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp44.json rename to v3-grades/deepseek_grades_direct_6shot_exp44.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp48.json b/v3-grades/deepseek_grades_direct_6shot_exp48.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp48.json rename to v3-grades/deepseek_grades_direct_6shot_exp48.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp52.json b/v3-grades/deepseek_grades_direct_6shot_exp52.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp52.json rename to v3-grades/deepseek_grades_direct_6shot_exp52.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp56.json b/v3-grades/deepseek_grades_direct_6shot_exp56.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp56.json rename to v3-grades/deepseek_grades_direct_6shot_exp56.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp60.json b/v3-grades/deepseek_grades_direct_6shot_exp60.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp60.json rename to v3-grades/deepseek_grades_direct_6shot_exp60.json diff --git a/grades/direct/deepseek_grades_direct_6shot_exp8.json b/v3-grades/deepseek_grades_direct_6shot_exp8.json similarity index 100% rename from grades/direct/deepseek_grades_direct_6shot_exp8.json rename to v3-grades/deepseek_grades_direct_6shot_exp8.json From 19717bc9219722848d66f5e1f398c48dc6cf7041 Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Tue, 8 Apr 2025 16:43:03 -0700 Subject: [PATCH 26/45] add grades folder to gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8be4fec..6b2ded2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ parsed_womdr_data/* pddl-examples/* *.pddl __pycache__/* +grades/ +grades/* From 4e1e3ac290362b00a6fdd1e3f039012fe400dc19 Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Tue, 8 Apr 2025 16:49:19 -0700 Subject: [PATCH 27/45] merge conflict resolution --- 4o-mini-comparison.py | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 4o-mini-comparison.py diff --git a/4o-mini-comparison.py b/4o-mini-comparison.py deleted file mode 100644 index 81dd80a..0000000 --- a/4o-mini-comparison.py +++ /dev/null @@ -1,26 +0,0 @@ -import matplotlib.pyplot as plt -import numpy as np - -#correctness comparison for experiments using 1 scenario ID -shot_type = ["0", "2", "4", "6"] -#(52,53) has 17 interactions -range_52_53 = [14, 7, 8, 9] -#(6,7) has 7 interactions -range_6_7 = [0, 1, 3, 3] -x = np.arange(len(shot_type)) -width = 0.5 -plt.bar(x - width/2, range_52_53, width, label='(52,53)') -plt.bar(x + width/2, range_6_7, width, label='(6,7)') - -plt.xticks(x, shot_type) -plt.xlabel('Shot Type') -plt.ylabel('# of Correctness Scores <= 5') -plt.title('Comparison Between 1 ID Experiments') -plt.legend() -plt.grid(True, axis='y', linestyle='--', alpha=0.7) - -plt.show() - - -#NOTICE: BECAUSE THE DIFFERENT IDs HAVE DIFFERENT AMOUNTS OF CONTENT, BRING THEM DOWN TO THE SAME RATIO TO MAKE BETTER COMPARISONS -#RUN THIS PROGRAM TO BETTER UNDERSTAND \ No newline at end of file From 9abc262c90e3f905f8853481d67bb8d7b95d21c3 Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Tue, 8 Apr 2025 19:16:25 -0700 Subject: [PATCH 28/45] Calculate the most similar scenarios to a given index --- parse_scenario_womd.py | 75 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index e1dd742..19581e9 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -1,6 +1,7 @@ import json from openai import OpenAI import os +import re scenario_files = os.listdir("../car_beh_gen/datasets/training.tar/training_2/training/") scenario_blocklist = [] @@ -104,6 +105,78 @@ def obtain_and_write_data_smallest(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) +def transform_datapoint_to_qa_list(wmo_reasoning_datapoint): + combined_qa_list = [] # A list that will combine all the QA lists in one datapoint. This + # will result in one large list of strings. + + datapoint_qa_keys = ["env_q", "env_a", "ego_q", "ego_a", "sur_q", "sur_a", "int_q", "int_a"] + for qa_key in datapoint_qa_keys: combined_qa_list += wmo_reasoning_datapoint[qa_key] + + return combined_qa_list + + +# Find scenarios similar to the given scenario +def find_similar_data(start, end, search_range_start, search_range_end): + # Ensure that only one scenario is used as the reference for comparison. + if end-start>1: return + + highest_similarity_score = 0 + highest_similarity_index = 0 + for filename in scenario_files[start:end]: + datapoint_reference = generate_womd_reasoning_datapoint(filename=filename) + combined_qa_list_reference = transform_datapoint_to_qa_list(datapoint_reference) + + # Within the datapoint above, we have keys about the following concepts: + # scene id, ego id, start time, end time, main dataset ids for surrounding agents, current dataset ids for + # surrounding agents. env_q, env_a for environment questions. ego_q, ego_a for ego questions. + # sur_q, sur_a for surrounding agent questions. int_q and int_a for interaction related questions. + # It is observed that the questions and answers are NOT consistent across all datapoints. + + # Using the search_range_start and search_range_end indices, we will search all these scenario file indices to find + # the most similar scenario. Firstly, the questions under each category need to be similar and then the corresponding answers need to be similar. + # We will compute a match score based on the following factors: + # number of elements in the current dataset ids list mentioned above. If it's within +-2, we add one point. + # QA similarity for each of the 3 question categories. Add one point for each question being matched and each answer being matched. + + number_of_surrounding_reference = len(datapoint_reference["rel_qa_id"]) + scenario_similarity_score_collection = {} # IDs mapped to similarity scores. + scenario_similarity_score_search_candidate = 0 + + for i in range(len(scenario_files[search_range_start: search_range_end])): + datapoint_search_candidate = generate_womd_reasoning_datapoint(filename=scenario_files[search_range_start+i]) + number_of_surrounding_search_candidate = len(datapoint_search_candidate["rel_qa_id"]) + + # Check if the number of surrounding agents in the search candidate are close enough to the reference scenario. + if abs((number_of_surrounding_reference - number_of_surrounding_search_candidate)) <= 2: scenario_similarity_score_search_candidate += 1 + + combined_qa_list = transform_datapoint_to_qa_list(datapoint_search_candidate) + + # Turn the search candidate into one string where we can search for similarities. + combined_qa_search_candidate = "" + combined_qa_search_candidate.join(combined_qa_list) + + # Using the regex library to search for matching patterns. + # Iterate through each question and answer in the reference and add a point each time there is a string match in the candidate. + for search_term in combined_qa_list_reference: + if re.search(search_term, combined_qa_search_candidate) is not None: scenario_similarity_score_search_candidate += 1 + + # Modifying the highest score value + if scenario_similarity_score_search_candidate > highest_similarity_score: + highest_similarity_score = scenario_similarity_score_search_candidate + highest_similarity_index = search_range_start + i + + scenario_similarity_score_collection.setdefault("Index_number_"+str(search_range_start+i), [datapoint_search_candidate["sid"], str(scenario_similarity_score_search_candidate)]) + + with open("scenario_similarity_ref_"+str(start)+"_"+str(end)+"_search_"+str(search_range_start)+"_"+str(search_range_end)+".json", 'w') as file: + json.dump(scenario_similarity_score_collection, file, indent=4) + + print("\n The highest similarity index is {}".format(highest_similarity_index)) + print("\n The highest similarity score for this index is {}".format(highest_similarity_score)) + + return scenario_similarity_score_collection + + + def obtain_and_write_data(start, end): for filename in scenario_files[start:end]: blocklist_match = False @@ -156,5 +229,5 @@ def obtain_and_write_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) -obtain_and_write_data(13,14) +obtain_and_write_data(482, 483) From 7096db401a5207da0b8fb03e3e82e883d4bb4072 Mon Sep 17 00:00:00 2001 From: Ishaan Paranjape Date: Tue, 8 Apr 2025 20:26:01 -0700 Subject: [PATCH 29/45] Search similar scenarios to a specific index and with respect to a given range --- parse_scenario_womd.py | 44 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/parse_scenario_womd.py b/parse_scenario_womd.py index 19581e9..891328a 100644 --- a/parse_scenario_womd.py +++ b/parse_scenario_womd.py @@ -116,13 +116,16 @@ def transform_datapoint_to_qa_list(wmo_reasoning_datapoint): # Find scenarios similar to the given scenario -def find_similar_data(start, end, search_range_start, search_range_end): +def find_similar_data(scenario_index, search_range_start, search_range_end): # Ensure that only one scenario is used as the reference for comparison. - if end-start>1: return highest_similarity_score = 0 + second_highest_similarity_score = 0 + highest_similarity_index = 0 - for filename in scenario_files[start:end]: + second_highest_similarity_index = 0 + + for filename in scenario_files[scenario_index: scenario_index+1]: datapoint_reference = generate_womd_reasoning_datapoint(filename=filename) combined_qa_list_reference = transform_datapoint_to_qa_list(datapoint_reference) @@ -143,6 +146,7 @@ def find_similar_data(start, end, search_range_start, search_range_end): scenario_similarity_score_search_candidate = 0 for i in range(len(scenario_files[search_range_start: search_range_end])): + if i==scenario_index: continue datapoint_search_candidate = generate_womd_reasoning_datapoint(filename=scenario_files[search_range_start+i]) number_of_surrounding_search_candidate = len(datapoint_search_candidate["rel_qa_id"]) @@ -153,26 +157,42 @@ def find_similar_data(start, end, search_range_start, search_range_end): # Turn the search candidate into one string where we can search for similarities. combined_qa_search_candidate = "" - combined_qa_search_candidate.join(combined_qa_list) + combined_qa_search_candidate = combined_qa_search_candidate.join(combined_qa_list) # Using the regex library to search for matching patterns. # Iterate through each question and answer in the reference and add a point each time there is a string match in the candidate. for search_term in combined_qa_list_reference: - if re.search(search_term, combined_qa_search_candidate) is not None: scenario_similarity_score_search_candidate += 1 + matches = re.search(search_term, combined_qa_search_candidate) + + if (matches is not None): + scenario_similarity_score_search_candidate += 1 # Modifying the highest score value if scenario_similarity_score_search_candidate > highest_similarity_score: + second_highest_similarity_score = highest_similarity_score + second_highest_similarity_index = highest_similarity_index + highest_similarity_score = scenario_similarity_score_search_candidate - highest_similarity_index = search_range_start + i + highest_similarity_index = search_range_start+i scenario_similarity_score_collection.setdefault("Index_number_"+str(search_range_start+i), [datapoint_search_candidate["sid"], str(scenario_similarity_score_search_candidate)]) + scenario_similarity_score_search_candidate = 0 - with open("scenario_similarity_ref_"+str(start)+"_"+str(end)+"_search_"+str(search_range_start)+"_"+str(search_range_end)+".json", 'w') as file: + with open("scenario_similarity_ref_"+str(scenario_index)+"_search_"+str(search_range_start)+"_"+str(search_range_end)+".json", 'w') as file: json.dump(scenario_similarity_score_collection, file, indent=4) print("\n The highest similarity index is {}".format(highest_similarity_index)) print("\n The highest similarity score for this index is {}".format(highest_similarity_score)) + print("\n The second highest similarity index is {}".format(second_highest_similarity_index)) + print("\n The second highest similarity score for this index is {}".format(second_highest_similarity_score)) + + obtain_and_write_data_single_scenario(highest_similarity_index) + print("\n This index has been parsed and is in the parsed/... folder") + + obtain_and_write_data_single_scenario(second_highest_similarity_index) + print("\n This index has also been parsed and is in the parsed/... folder") + return scenario_similarity_score_collection @@ -229,5 +249,13 @@ def obtain_and_write_data(start, end): with open("parsed_womdr_data/"+str(id)+".json", 'w') as file: json.dump(final_preprocessed_data, file, indent=4) -obtain_and_write_data(482, 483) +# In case you're working with one scenario index at a time. +def obtain_and_write_data_single_scenario(scenario_index): + obtain_and_write_data(scenario_index, scenario_index+1) + +# Comment out lines as necessary + +find_similar_data(254, 0, 5000) # This includes the obtain function below btw +# obtain_and_write_data_single_scenario(414) + From 857da201406ec5809353c779e74426687a77490c Mon Sep 17 00:00:00 2001 From: Denise Ataei Date: Thu, 10 Apr 2025 09:34:31 -0700 Subject: [PATCH 30/45] reorganizing files and adding boxplots + creation script. fixed sizing parameters in parse scenario womd. --- .vscode/settings.json | 3 + abc_bar_graph.py | 34 + cot_file_size_graphs/grouped_large.png | Bin 0 -> 50632 bytes cot_file_size_graphs/grouped_medium.png | Bin 0 -> 45474 bytes cot_file_size_graphs/grouped_small.png | Bin 0 -> 42548 bytes cot_file_size_graphs/large_0.png | Bin 0 -> 38713 bytes cot_file_size_graphs/large_2.png | Bin 0 -> 41469 bytes cot_file_size_graphs/large_4.png | Bin 0 -> 38436 bytes cot_file_size_graphs/large_6.png | Bin 0 -> 39014 bytes cot_file_size_graphs/med_0.png | Bin 0 -> 39852 bytes cot_file_size_graphs/med_2.png | Bin 0 -> 38712 bytes cot_file_size_graphs/med_4.png | Bin 0 -> 39352 bytes cot_file_size_graphs/med_6.png | Bin 0 -> 39386 bytes cot_file_size_graphs/small_0.png | Bin 0 -> 39884 bytes cot_file_size_graphs/small_2.png | Bin 0 -> 38698 bytes cot_file_size_graphs/small_4.png | Bin 0 -> 39170 bytes cot_file_size_graphs/small_6.png | Bin 0 -> 38910 bytes .../deepseek_grades.json | 76 -- .../deepseek_grades_direct_2shot_exp10.json | 571 ------------- .../deepseek_grades_direct_2shot_exp14.json | 255 ------ .../deepseek_grades_direct_2shot_exp18.json | 273 ------ .../deepseek_grades_direct_2shot_exp2.json | 157 ---- .../deepseek_grades_direct_2shot_exp23.json | 67 -- .../deepseek_grades_direct_2shot_exp27.json | 562 ------------- .../deepseek_grades_direct_4shot_exp11.json | 571 ------------- .../deepseek_grades_direct_4shot_exp15.json | 255 ------ .../deepseek_grades_direct_4shot_exp19.json | 273 ------ .../deepseek_grades_direct_4shot_exp21.json | 787 ------------------ .../deepseek_grades_direct_4shot_exp24.json | 67 -- .../deepseek_grades_direct_4shot_exp28.json | 562 ------------- .../deepseek_grades_direct_4shot_exp3.json | 157 ---- .../deepseek_grades_direct_6shot_exp12.json | 571 ------------- .../deepseek_grades_direct_6shot_exp16.json | 255 ------ .../deepseek_grades_direct_6shot_exp20.json | 273 ------ .../deepseek_grades_direct_6shot_exp25.json | 67 -- .../deepseek_grades_direct_6shot_exp29.json | 562 ------------- .../deepseek_grades_direct_6shot_exp4.json | 157 ---- .../deepseek_grades_direct_direct_exp1.json | 157 ---- .../deepseek_grades_direct_direct_exp13.json | 255 ------ .../deepseek_grades_direct_direct_exp17.json | 273 ------ .../deepseek_grades_direct_direct_exp22.json | 67 -- .../deepseek_grades_direct_direct_exp26.json | 562 ------------- .../deepseek_grades_direct_direct_exp5.json | 157 ---- .../deepseek_grades_direct_direct_exp6.json | 157 ---- .../deepseek_grades_direct_direct_exp7.json | 157 ---- .../deepseek_grades_direct_direct_exp8.json | 157 ---- .../deepseek_grades_direct_direct_exp9.json | 571 ------------- parse_scenario_womd.py | 4 +- plt-graph-v3-0324/exp50.png | Bin 18001 -> 0 bytes plt-graph-v3-0324/exp51.png | Bin 18006 -> 0 bytes plt-graph-v3-0324/exp53.png | Bin 18357 -> 0 bytes plt-graph-v3-0324/exp54.png | Bin 18330 -> 0 bytes plt-graph-v3-0324/exp55.png | Bin 18306 -> 0 bytes plt-graph-v3-0324/exp56.png | Bin 18335 -> 0 bytes plt-graph-v3-0324/exp57.png | Bin 18349 -> 0 bytes plt-graph-v3-0324/exp58.png | Bin 18332 -> 0 bytes plt-graph-v3-0324/exp59.png | Bin 18350 -> 0 bytes plt-graph-v3-0324/exp60.png | Bin 18349 -> 0 bytes plt-graph/exp1.png | Bin 8201 -> 0 bytes plt-graph/exp10.png | Bin 20942 -> 0 bytes plt-graph/exp11.png | Bin 20552 -> 0 bytes plt-graph/exp12.png | Bin 20576 -> 0 bytes plt-graph/exp13.png | Bin 20087 -> 0 bytes plt-graph/exp14.png | Bin 20057 -> 0 bytes plt-graph/exp15.png | Bin 21226 -> 0 bytes plt-graph/exp16.png | Bin 20105 -> 0 bytes plt-graph/exp17.png | Bin 20076 -> 0 bytes plt-graph/exp18.png | Bin 20086 -> 0 bytes plt-graph/exp19.png | Bin 20092 -> 0 bytes plt-graph/exp2.png | Bin 21129 -> 0 bytes plt-graph/exp20.png | Bin 20085 -> 0 bytes plt-graph/exp21.png | Bin 19940 -> 0 bytes plt-graph/exp22.png | Bin 20130 -> 0 bytes plt-graph/exp23.png | Bin 20118 -> 0 bytes plt-graph/exp24.png | Bin 20142 -> 0 bytes plt-graph/exp25.png | Bin 20135 -> 0 bytes plt-graph/exp26.png | Bin 20540 -> 0 bytes plt-graph/exp27.png | Bin 20499 -> 0 bytes plt-graph/exp28.png | Bin 20484 -> 0 bytes plt-graph/exp29.png | Bin 20510 -> 0 bytes plt-graph/exp3.png | Bin 21128 -> 0 bytes plt-graph/exp4.png | Bin 21136 -> 0 bytes plt-graph/exp5.png | Bin 21295 -> 0 bytes plt-graph/exp6.png | Bin 21103 -> 0 bytes plt-graph/exp7.png | Bin 20660 -> 0 bytes plt-graph/exp8.png | Bin 20715 -> 0 bytes plt-graph/exp9.png | Bin 20574 -> 0 bytes .../deepseek_grades_direct_0shot_exp53.json | 88 -- .../deepseek_grades_direct_0shot_exp57.json | 81 -- .../deepseek_grades_direct_2shot_exp50.json | 74 -- .../deepseek_grades_direct_2shot_exp54.json | 88 -- .../deepseek_grades_direct_2shot_exp58.json | 81 -- .../deepseek_grades_direct_4shot_exp51.json | 74 -- .../deepseek_grades_direct_4shot_exp55.json | 88 -- .../deepseek_grades_direct_4shot_exp59.json | 81 -- .../deepseek_grades_direct_6shot_exp56.json | 88 -- .../deepseek_grades_direct_6shot_exp60.json | 81 -- 97 files changed, 39 insertions(+), 9857 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 abc_bar_graph.py create mode 100644 cot_file_size_graphs/grouped_large.png create mode 100644 cot_file_size_graphs/grouped_medium.png create mode 100644 cot_file_size_graphs/grouped_small.png create mode 100644 cot_file_size_graphs/large_0.png create mode 100644 cot_file_size_graphs/large_2.png create mode 100644 cot_file_size_graphs/large_4.png create mode 100644 cot_file_size_graphs/large_6.png create mode 100644 cot_file_size_graphs/med_0.png create mode 100644 cot_file_size_graphs/med_2.png create mode 100644 cot_file_size_graphs/med_4.png create mode 100644 cot_file_size_graphs/med_6.png create mode 100644 cot_file_size_graphs/small_0.png create mode 100644 cot_file_size_graphs/small_2.png create mode 100644 cot_file_size_graphs/small_4.png create mode 100644 cot_file_size_graphs/small_6.png delete mode 100644 exp_using_old_deepseek_model/deepseek_grades.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp10.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp14.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp18.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp2.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp23.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_2shot_exp27.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp11.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp15.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp19.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp21.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp24.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp28.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_4shot_exp3.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp12.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp16.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp20.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp25.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp29.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_6shot_exp4.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp1.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp13.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp17.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp22.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp26.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp5.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp6.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp7.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp8.json delete mode 100644 exp_using_old_deepseek_model/deepseek_grades_direct_direct_exp9.json delete mode 100644 plt-graph-v3-0324/exp50.png delete mode 100644 plt-graph-v3-0324/exp51.png delete mode 100644 plt-graph-v3-0324/exp53.png delete mode 100644 plt-graph-v3-0324/exp54.png delete mode 100644 plt-graph-v3-0324/exp55.png delete mode 100644 plt-graph-v3-0324/exp56.png delete mode 100644 plt-graph-v3-0324/exp57.png delete mode 100644 plt-graph-v3-0324/exp58.png delete mode 100644 plt-graph-v3-0324/exp59.png delete mode 100644 plt-graph-v3-0324/exp60.png delete mode 100644 plt-graph/exp1.png delete mode 100644 plt-graph/exp10.png delete mode 100644 plt-graph/exp11.png delete mode 100644 plt-graph/exp12.png delete mode 100644 plt-graph/exp13.png delete mode 100644 plt-graph/exp14.png delete mode 100644 plt-graph/exp15.png delete mode 100644 plt-graph/exp16.png delete mode 100644 plt-graph/exp17.png delete mode 100644 plt-graph/exp18.png delete mode 100644 plt-graph/exp19.png delete mode 100644 plt-graph/exp2.png delete mode 100644 plt-graph/exp20.png delete mode 100644 plt-graph/exp21.png delete mode 100644 plt-graph/exp22.png delete mode 100644 plt-graph/exp23.png delete mode 100644 plt-graph/exp24.png delete mode 100644 plt-graph/exp25.png delete mode 100644 plt-graph/exp26.png delete mode 100644 plt-graph/exp27.png delete mode 100644 plt-graph/exp28.png delete mode 100644 plt-graph/exp29.png delete mode 100644 plt-graph/exp3.png delete mode 100644 plt-graph/exp4.png delete mode 100644 plt-graph/exp5.png delete mode 100644 plt-graph/exp6.png delete mode 100644 plt-graph/exp7.png delete mode 100644 plt-graph/exp8.png delete mode 100644 plt-graph/exp9.png delete mode 100644 v3-0324-grades/deepseek_grades_direct_0shot_exp53.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_0shot_exp57.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_2shot_exp50.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_2shot_exp54.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_2shot_exp58.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_4shot_exp51.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_4shot_exp55.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_4shot_exp59.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_6shot_exp56.json delete mode 100644 v3-0324-grades/deepseek_grades_direct_6shot_exp60.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..04ebd33 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.wordWrap": "on" +} \ No newline at end of file diff --git a/abc_bar_graph.py b/abc_bar_graph.py new file mode 100644 index 0000000..f92885f --- /dev/null +++ b/abc_bar_graph.py @@ -0,0 +1,34 @@ +import seaborn as sns +import matplotlib.pyplot as plt +import pandas as pd +import numpy as np + +#manually changed indices and scores for each graph +exp_and_scores = { + 'Zero-Shot': [6, 3, 2, 1, 3, 2, 8, 8, 2, 10, 10, 3, 10, 2, 2, 8, 7, 4, 2, 5, 10, 10, 4, 10, 3, 3, 10, 2, 1, 2, 9, 10, 8, 8, 3, 10, 6, 3, 6, 8, 8, 2, 6, 6, 8, 3, 2, 5, 8, 2, 10, 1, 8, 10, 6, 7, 7, 8, 8, 5, 6, 10, 10, 4], + 'Two-Shot': [6, 4, 1, 7, 2, 1, 8, 10, 10, 10, 10, 2, 2, 10, 3, 6, 7, 7, 10, 10, 10, 8, 10, 10, 9, 10, 10, 10, 10, 10, 8, 10, 6, 7, 6, 3, 4, 3, 4, 4, 7, 8, 8, 6, 10, 3, 10, 10, 10, 10, 10, 3, 4, 5, 7, 6, 7, 10, 8, 9, 10, 10, 10, 3], + 'Four-Shot': [5, 8, 1, 2, 3, 2, 10, 10, 2, 10, 6, 2, 1, 2, 4, 10, 7, 10, 10, 8, 10, 10, 9, 10, 10, 8, 10, 10, 10, 10, 7, 10, 6, 4, 3, 10, 4, 3, 7, 4, 7, 2, 8, 4, 8, 4, 10, 10, 10, 6, 10, 1, 6, 4, 9, 4, 3, 7, 8, 10, 10, 10, 10, 3], + 'Six-Shot': [4, 2, 10, 10, 4, 2, 8, 10, 10, 10, 3, 3, 2, 10, 3, 10, 6, 10, 10, 10, 10, 9, 10, 10, 10, 8, 10, 10, 10, 10, 7, 10, 6, 7, 2, 3, 3, 1, 4, 6, 9, 5, 8, 4, 10, 5, 10, 8, 10, 3, 10, 3, 6, 3, 4, 6, 5, 10, 10, 10, 10, 10, 10, 2] +} + +data = [] +for experiment, scores in exp_and_scores.items(): + score_array = np.array(scores) + sorted_array = np.sort(score_array) + for individual_score in sorted_array: + data.append({'CoT Prompting Style': experiment, 'Correctness Scores': individual_score}) + +df = pd.DataFrame(data) +sns.set_theme(style="whitegrid") +plt.figure(figsize=(10, 6)) +#creates the box plots +ax = sns.boxplot(x='CoT Prompting Style', y='Correctness Scores', data=df, width=0.5, fliersize=0) +#inserting data points +sns.stripplot(x='CoT Prompting Style', y='Correctness Scores', data=df, jitter=0.23, color='black', size=6, alpha=0.7) +for i, (experiment, scores) in enumerate(exp_and_scores.items()): + q1_label = np.percentile(scores, 25) + ax.text(i, q1_label, f'Q1: {q1_label:.2f}', ha = 'center', va = 'bottom', color = 'white', fontsize = 12) + +plt.ylim(0, 11) +plt.title('Zero, Two, Four, and Six-Shot CoT Prompting Score Distribution for Scenarios of Large Files') +plt.show() \ No newline at end of file diff --git a/cot_file_size_graphs/grouped_large.png b/cot_file_size_graphs/grouped_large.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc7aa752757b62a8943d7b674847ce79f5c6cbb GIT binary patch literal 50632 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

ZDD++DQ-Z?{X>mR1#IHs1gIAed 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 MRro#i^yQoX3(t@adjJ3c literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp31.png b/plt-graph-correct/exp31.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7bf680b4aed7810ebf6d63d7140d978d99b8aa GIT binary patch literal 17970 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 -MxflrB;Lo^~3s2)_k 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp33.png b/plt-graph-correct/exp33.png new file mode 100644 index 0000000000000000000000000000000000000000..f85a8f10c8d32616c7e769f9be1e12088a39077f GIT binary patch literal 18261 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 waFjAoRz4t_&PX27_=_|MX7xcAc{r~^~ literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp35.png b/plt-graph-correct/exp35.png new file mode 100644 index 0000000000000000000000000000000000000000..09e3b2f729362310d629c4ae8f28e39719ca58b5 GIT binary patch literal 18255 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp37.png b/plt-graph-correct/exp37.png new file mode 100644 index 0000000000000000000000000000000000000000..48c51d74ac9f1c8e3a9f9a77a4ccbd7997a82d69 GIT binary patch literal 18356 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp38.png b/plt-graph-correct/exp38.png new file mode 100644 index 0000000000000000000000000000000000000000..f079d343bbbef2d2aeccfd571a70e1b0917f6dce GIT binary patch literal 18322 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 Op`KPem3-pzAO8zjBf_l! literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp4.png b/plt-graph-correct/exp4.png new file mode 100644 index 0000000000000000000000000000000000000000..5e31dc2c9c5c7d9a992e78f6b9fffcd63afa692d GIT binary patch literal 18591 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 C-w(DCp_Z zApQ~*BK6@+6;Px7aj+1XpJIIGs-R|?D5TIm19NusYODd#U-NI*>mVp4>GHl`HwQ∬EcSG1mzWg~R%oxGz;F$*x9|j<6 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp40.png b/plt-graph-correct/exp40.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf59d0571dfd751aa4110871cdd18e2fdd11348 GIT binary patch literal 18327 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp43.png b/plt-graph-correct/exp43.png new file mode 100644 index 0000000000000000000000000000000000000000..d6623eb9b0a0260d97a6eb7c238690efddc2c601 GIT binary patch literal 19244 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp45.png b/plt-graph-correct/exp45.png new file mode 100644 index 0000000000000000000000000000000000000000..57be59297affa8dcf29fbb83b62b4d27efdfa7a8 GIT binary patch literal 18680 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 literal 0 HcmV?d00001 diff --git a/plt-graph-correct/exp46.png b/plt-graph-correct/exp46.png new file mode 100644 index 0000000000000000000000000000000000000000..33f2a7197a0741bf05cbc1af17ec13ba277be8da GIT binary patch literal 18639 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